From fba055ce5aa0955e22bac2413c33493b10ae6532 Mon Sep 17 00:00:00 2001
From: hardythe1
Date: Tue, 5 May 2015 14:21:39 +0530
Subject: add books

---
 Antenna_and_Wave_Propagation/chapter1.ipynb        |  961 +++++++
 Antenna_and_Wave_Propagation/chapter2.ipynb        | 1129 ++++++++
 Antenna_and_Wave_Propagation/chapter3.ipynb        |    1 +
 Antenna_and_Wave_Propagation/chapter4.ipynb        |    1 +
 Antenna_and_Wave_Propagation/chapter6.ipynb        |  941 +++++++
 Antenna_and_Wave_Propagation/chapter7.ipynb        |    1 +
 Antenna_and_Wave_Propagation/chapter9.ipynb        |    1 +
 .../screenshots/chapter1.png                       |  Bin 0 -> 161867 bytes
 .../screenshots/chapter4.png                       |  Bin 0 -> 149474 bytes
 .../screenshots/chapter6.png                       |  Bin 0 -> 151221 bytes
 Applied_Physics-II/chapter1.ipynb                  | 1353 ++++++++++
 Applied_Physics-II/chapter2.ipynb                  | 1480 +++++++++++
 Applied_Physics-II/chapter3.ipynb                  |  836 ++++++
 Applied_Physics-II/chapter4.ipynb                  |  163 ++
 Applied_Physics-II/chapter5.ipynb                  | 1166 ++++++++
 Applied_Physics-II/chapter6.ipynb                  | 1183 ++++++++
 Applied_Physics-II/screenshots/Ex2_2.png           |  Bin 0 -> 28955 bytes
 Applied_Physics-II/screenshots/Ex2_2_1.png         |  Bin 0 -> 28955 bytes
 Applied_Physics-II/screenshots/Ex2_2_2.png         |  Bin 0 -> 28955 bytes
 Applied_Physics/Chapter1.ipynb                     |  248 ++
 Applied_Physics/Chapter10.ipynb                    |  316 +++
 Applied_Physics/Chapter12.ipynb                    |  365 +++
 Applied_Physics/Chapter2.ipynb                     |  291 ++
 Applied_Physics/Chapter3.ipynb                     |  144 +
 Applied_Physics/Chapter4.ipynb                     |  494 ++++
 Applied_Physics/Chapter5.ipynb                     | 1258 +++++++++
 Applied_Physics/Chapter6.ipynb                     |  561 ++++
 Applied_Physics/Chapter7.ipynb                     |  488 ++++
 Applied_Physics/Chapter8.ipynb                     |  323 +++
 Applied_Physics/Chapter9.ipynb                     |  782 ++++++
 .../Chapter_01_Bonding_in_Solids_.ipynb            |  248 ++
 .../Chapter_01_Bonding_in_Solids__1.ipynb          |  248 ++
 Applied_Physics/Chapter_02_Crystal_Structure.ipynb |  291 ++
 .../Chapter_02_Crystal_Structure_1.ipynb           |  291 ++
 .../Chapter_03_Planes_in_Crystals.ipynb            |  144 +
 .../Chapter_03_Planes_in_Crystals_1.ipynb          |  144 +
 .../Chapter_04_Crystal_Diffraction.ipynb           |  494 ++++
 .../Chapter_04_Crystal_Diffraction_1.ipynb         |  503 ++++
 ...hapter_05_Principles_of_Quantum_Mechanics.ipynb | 1258 +++++++++
 ...pter_05_Principles_of_Quantum_Mechanics_1.ipynb | 1258 +++++++++
 ...Electron_Theory_and_Band_Theory_of_Metals.ipynb |  561 ++++
 ...ectron_Theory_and_Band_Theory_of_Metals_1.ipynb |  561 ++++
 .../Chapter_07_Dielectric_Properties.ipynb         |  488 ++++
 .../Chapter_07_Dielectric_Properties_1.ipynb       |  488 ++++
 .../Chapter_08_Magnetic_Properties.ipynb           |  323 +++
 .../Chapter_08_Magnetic_Properties_1.ipynb         |  323 +++
 Applied_Physics/Chapter_09_Semiconductors.ipynb    |  782 ++++++
 Applied_Physics/Chapter_09_Semiconductors_1.ipynb  |  782 ++++++
 Applied_Physics/Chapter_10_Superconductivity.ipynb |  316 +++
 .../Chapter_10_Superconductivity_1.ipynb           |  316 +++
 Applied_Physics/Chapter_12Fibre_Optics.ipynb       |  365 +++
 Applied_Physics/Chapter_12_Fibre_Optics.ipynb      |  365 +++
 Applied_Physics/screenshots/1.png                  |  Bin 0 -> 140005 bytes
 Applied_Physics/screenshots/2.png                  |  Bin 0 -> 141934 bytes
 Applied_Physics/screenshots/6.png                  |  Bin 0 -> 149135 bytes
 .../Calculation_of__mean_free_path_of_electron.png |  Bin 0 -> 140005 bytes
 ...alculation_of__mean_free_path_of_electron_1.png |  Bin 0 -> 140005 bytes
 .../Calculation_of__potential_energy.png           |  Bin 0 -> 149135 bytes
 .../Calculation_of__potential_energy_1.png         |  Bin 0 -> 149135 bytes
 .../Calculation_of_lattice_constant.png            |  Bin 0 -> 141934 bytes
 .../Calculation_of_lattice_constant_1.png          |  Bin 0 -> 141934 bytes
 .../chapter10.ipynb                                |  600 +++++
 .../chapter11.ipynb                                |  373 +++
 .../chapter12.ipynb                                |  417 +++
 .../chapter13.ipynb                                |  125 +
 .../chapter15.ipynb                                |  384 +++
 Computer_Concepts_and_C_Programming/chapter5.ipynb |   50 +
 Computer_Concepts_and_C_Programming/chapter6.ipynb |  161 ++
 Computer_Concepts_and_C_Programming/chapter7.ipynb |   85 +
 Computer_Concepts_and_C_Programming/chapter8.ipynb |  139 +
 Computer_Concepts_and_C_Programming/chapter9.ipynb |  593 +++++
 .../screenshots/chapter10.png                      |  Bin 0 -> 47748 bytes
 .../screenshots/chapter12.png                      |  Bin 0 -> 49415 bytes
 .../screenshots/chapter9.png                       |  Bin 0 -> 43372 bytes
 .../screenshots/chapter11_1.png                    |  Bin 0 -> 169980 bytes
 .../screenshots/chapter2_1.png                     |  Bin 0 -> 147743 bytes
 .../screenshots/chapter3_1.png                     |  Bin 0 -> 154011 bytes
 Electrical_Machines_II/chapter_1.ipynb             |   73 +-
 Electrical_Machines_II/chapter_1_1.ipynb           | 1297 ---------
 Electrical_Machines_II/chapter_2.ipynb             |   52 +-
 Electrical_Machines_II/chapter_2_1.ipynb           | 2810 --------------------
 Electrical_Machines_II/chapter_3.ipynb             |   10 +-
 Electrical_Machines_II/chapter_3_1.ipynb           |   68 -
 Electrical_Machines_II/chapter_4_1.ipynb           |  183 --
 Electrical_Machines_II/extra-chapter1.ipynb        |  961 +++++++
 Electrical_Machines_II/extra_chapter2.ipynb        |  869 ++++++
 .../screenshots/capacitance_3_2.png                |  Bin 0 -> 53826 bytes
 .../screenshots/flux_per_pole_2.png                |  Bin 0 -> 68471 bytes
 .../screenshots/rotor_current_2_2.png              |  Bin 0 -> 43696 bytes
 Electronic_Devices_and_Circuits/README.txt         |   10 +
 .../Chapter10.ipynb                                |   94 +
 .../Chapter11.ipynb                                |  105 +
 .../Chapter12.ipynb                                |   56 +
 .../Chapter2.ipynb                                 | 1549 +++++++++++
 .../Chapter3.ipynb                                 |  734 +++++
 .../Chapter4.ipynb                                 |  424 +++
 .../Chapter5.ipynb                                 |  171 ++
 .../Chapter6.ipynb                                 |  123 +
 .../Chapter7.ipynb                                 |  470 ++++
 .../Chapter8.ipynb                                 |  637 +++++
 .../Chapter9.ipynb                                 |  460 ++++
 .../Screenshot_from_2015-04-28_15:15:59.png        |  Bin 0 -> 450406 bytes
 .../Screenshot_from_2015-04-28_15:15:59_1.png      |  Bin 0 -> 450406 bytes
 .../Screenshot_from_2015-04-28_15:15:59_2.png      |  Bin 0 -> 450406 bytes
 Elements_of_Electric_drives/Chapter1.ipynb         | 2766 +++++++++++++++++++
 Elements_of_Electric_drives/Chapter3.ipynb         | 1133 ++++++++
 Elements_of_Electric_drives/screenshots/chap1.png  |  Bin 0 -> 60414 bytes
 Elements_of_Electric_drives/screenshots/chap12.png |  Bin 0 -> 56300 bytes
 Elements_of_Electric_drives/screenshots/chap3.png  |  Bin 0 -> 81262 bytes
 Elements_of_Power_system/README.txt                |   10 +
 Elements_of_discrete_mathematics/Chapter1.ipynb    |  498 ++++
 Elements_of_discrete_mathematics/Chapter10.ipynb   |  353 +++
 Elements_of_discrete_mathematics/Chapter2.ipynb    | 1360 ++++++++++
 Elements_of_discrete_mathematics/Chapter3.ipynb    | 1585 +++++++++++
 Elements_of_discrete_mathematics/Chapter4.ipynb    |  117 +
 Elements_of_discrete_mathematics/Chapter5.ipynb    | 2242 ++++++++++++++++
 Elements_of_discrete_mathematics/Chapter8.ipynb    |   62 +
 Elements_of_discrete_mathematics/Chapter9.ipynb    |  285 ++
 .../screenshots/Chapter10.png                      |  Bin 0 -> 113738 bytes
 .../screenshots/Chapter2.png                       |  Bin 0 -> 128979 bytes
 .../screenshots/Chapter5.png                       |  Bin 0 -> 135244 bytes
 .../Chapter1.ipynb                                 |  579 ++++
 .../Chapter2.ipynb                                 |  545 ++++
 .../Chapter3.ipynb                                 |  456 ++++
 .../Chapter4.ipynb                                 | 1324 +++++++++
 .../screenshots/Screenshot1.png                    |  Bin 0 -> 208740 bytes
 .../screenshots/Screenshot2.png                    |  Bin 0 -> 208693 bytes
 .../screenshots/Screenshot3.png                    |  Bin 0 -> 209714 bytes
 Engineering_Physics/Chapter1.ipynb                 |  463 ++++
 Engineering_Physics/Chapter10.ipynb                |  493 ++++
 Engineering_Physics/Chapter11.ipynb                |  620 +++++
 Engineering_Physics/Chapter13.ipynb                |  386 +++
 Engineering_Physics/Chapter2.ipynb                 |  431 +++
 Engineering_Physics/Chapter4.ipynb                 |  553 ++++
 Engineering_Physics/Chapter5.ipynb                 |  469 ++++
 Engineering_Physics/Chapter6.ipynb                 |  437 +++
 Engineering_Physics/Chapter7.ipynb                 |  582 ++++
 Engineering_Physics/Chapter8.ipynb                 |  360 +++
 Engineering_Physics/Chapter9.ipynb                 |  576 ++++
 Engineering_Physics/README.txt                     |    8 +-
 Engineering_Physics/chapter1.ipynb                 |  862 ++++++
 Engineering_Physics/chapter10.ipynb                |  293 ++
 Engineering_Physics/chapter11.ipynb                |   60 +
 Engineering_Physics/chapter12.ipynb                |  550 ++++
 Engineering_Physics/chapter13.ipynb                |  101 +
 Engineering_Physics/chapter2.ipynb                 | 1113 ++++++++
 Engineering_Physics/chapter3.ipynb                 | 1365 ++++++++++
 Engineering_Physics/chapter4.ipynb                 |  541 ++++
 Engineering_Physics/chapter5.ipynb                 |  177 ++
 Engineering_Physics/chapter6.ipynb                 |  230 ++
 Engineering_Physics/chapter7.ipynb                 |  912 +++++++
 Engineering_Physics/chapter8.ipynb                 |  620 +++++
 Engineering_Physics/chapter9.ipynb                 |  130 +
 Engineering_Physics/screenshots/U3.png             |  Bin 0 -> 23536 bytes
 Engineering_Physics/screenshots/Untitled.png       |  Bin 0 -> 17991 bytes
 Engineering_Physics/screenshots/Untitled2.png      |  Bin 0 -> 30560 bytes
 .../screenshots/area_of_the_spot_on_the_moon.png   |  Bin 0 -> 106444 bytes
 Engineering_Physics/screenshots/electric_flux.png  |  Bin 0 -> 195247 bytes
 .../screenshots/velocity_of_rocket.png             |  Bin 0 -> 125602 bytes
 Examples_in_Thermodynamics_Problems/Chapter1.ipynb |  562 ++++
 Examples_in_Thermodynamics_Problems/Chapter2.ipynb |  150 ++
 Examples_in_Thermodynamics_Problems/Chapter3.ipynb |  469 ++++
 Examples_in_Thermodynamics_Problems/Chapter4.ipynb |  514 ++++
 Examples_in_Thermodynamics_Problems/Chapter5.ipynb |  542 ++++
 Examples_in_Thermodynamics_Problems/Chapter6.ipynb |  792 ++++++
 Examples_in_Thermodynamics_Problems/Chapter7.ipynb |  539 ++++
 Examples_in_Thermodynamics_Problems/Chapter8.ipynb |  502 ++++
 Examples_in_Thermodynamics_Problems/Chapter9.ipynb |  227 ++
 Examples_in_Thermodynamics_Problems/README.txt     |   10 +
 .../screenshots/Heat_supplied.png                  |  Bin 0 -> 74751 bytes
 .../screenshots/Ideal_efficiency.png               |  Bin 0 -> 67751 bytes
 .../screenshots/Thermal_capacity.png               |  Bin 0 -> 64520 bytes
 .../Chapter10_2.ipynb                              |  470 ++++
 Fundamentals_of_Electrical_Drives/Chapter2_2.ipynb |  190 ++
 Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb |  348 +++
 Fundamentals_of_Electrical_Drives/Chapter5_2.ipynb | 1915 +++++++++++++
 Fundamentals_of_Electrical_Drives/Chapter6_2.ipynb | 1817 +++++++++++++
 Fundamentals_of_Electrical_Drives/Chapter7_2.ipynb |  416 +++
 Fundamentals_of_Electrical_Drives/README.txt       |   10 +
 .../screenshots/braking_resistance_1.png           |  Bin 0 -> 16443 bytes
 .../screenshots/dc_motor_speed.png                 |  Bin 0 -> 17263 bytes
 .../screenshots/torque_vs_frequency_1.png          |  Bin 0 -> 15126 bytes
 Materials_Science/Chapter02.ipynb                  |  328 +++
 Materials_Science/Chapter02_1.ipynb                |  330 +++
 Materials_Science/Chapter03.ipynb                  | 1338 ++++++++++
 Materials_Science/Chapter03_1.ipynb                | 1338 ++++++++++
 Materials_Science/Chapter05.ipynb                  |  666 +++++
 Materials_Science/Chapter05_1.ipynb                |  666 +++++
 Materials_Science/Chapter07.ipynb                  |  724 +++++
 Materials_Science/Chapter07_1.ipynb                |  724 +++++
 Materials_Science/Chapter08.ipynb                  |  179 ++
 Materials_Science/Chapter08_1.ipynb                |  179 ++
 Materials_Science/Chapter09.ipynb                  |  200 ++
 Materials_Science/Chapter09_1.ipynb                |  200 ++
 Materials_Science/Chapter15.ipynb                  |   61 +
 Materials_Science/Chapter15_1.ipynb                |   61 +
 Materials_Science/Chapter16.ipynb                  |  275 ++
 Materials_Science/Chapter16_1.ipynb                |  275 ++
 Materials_Science/Chapter17.ipynb                  |   60 +
 Materials_Science/Chapter17_1.ipynb                |   60 +
 Materials_Science/Chapter18.ipynb                  |  251 ++
 Materials_Science/Chapter18_1.ipynb                |  251 ++
 Materials_Science/screenshots/chp3.png             |  Bin 0 -> 18758 bytes
 Materials_Science/screenshots/chp3_1.png           |  Bin 0 -> 18758 bytes
 Materials_Science/screenshots/chp5.png             |  Bin 0 -> 14435 bytes
 Materials_Science/screenshots/chp5_1.png           |  Bin 0 -> 19735 bytes
 Materials_Science/screenshots/chp9.png             |  Bin 0 -> 29086 bytes
 Materials_Science/screenshots/chp9_1.png           |  Bin 0 -> 29086 bytes
 Mechanical_Metallurgy/Chapter_1.ipynb              |   73 +
 Mechanical_Metallurgy/Chapter_11.ipynb             |  165 ++
 Mechanical_Metallurgy/Chapter_11_1.ipynb           |  165 ++
 Mechanical_Metallurgy/Chapter_12.ipynb             |  346 +++
 Mechanical_Metallurgy/Chapter_12_1.ipynb           |  346 +++
 Mechanical_Metallurgy/Chapter_13.ipynb             |  181 ++
 Mechanical_Metallurgy/Chapter_13_1.ipynb           |  181 ++
 Mechanical_Metallurgy/Chapter_14.ipynb             |   90 +
 Mechanical_Metallurgy/Chapter_14_1.ipynb           |   90 +
 Mechanical_Metallurgy/Chapter_15.ipynb             |  294 ++
 Mechanical_Metallurgy/Chapter_15_1.ipynb           |  294 ++
 Mechanical_Metallurgy/Chapter_16.ipynb             |  131 +
 Mechanical_Metallurgy/Chapter_16_1.ipynb           |  131 +
 Mechanical_Metallurgy/Chapter_17.ipynb             |  239 ++
 Mechanical_Metallurgy/Chapter_17_1.ipynb           |  239 ++
 Mechanical_Metallurgy/Chapter_18.ipynb             |   94 +
 Mechanical_Metallurgy/Chapter_18_1.ipynb           |   94 +
 Mechanical_Metallurgy/Chapter_19.ipynb             |  145 +
 Mechanical_Metallurgy/Chapter_19_1.ipynb           |  145 +
 Mechanical_Metallurgy/Chapter_1_1.ipynb            |   73 +
 Mechanical_Metallurgy/Chapter_2.ipynb              |  251 ++
 Mechanical_Metallurgy/Chapter_20.ipynb             |  109 +
 Mechanical_Metallurgy/Chapter_20_1.ipynb           |  109 +
 Mechanical_Metallurgy/Chapter_21.ipynb             |  252 ++
 Mechanical_Metallurgy/Chapter_21_1.ipynb           |  252 ++
 Mechanical_Metallurgy/Chapter_2_1.ipynb            |  251 ++
 Mechanical_Metallurgy/Chapter_3.ipynb              |  212 ++
 Mechanical_Metallurgy/Chapter_3_1.ipynb            |  212 ++
 Mechanical_Metallurgy/Chapter_4.ipynb              |   82 +
 Mechanical_Metallurgy/Chapter_4_1.ipynb            |   82 +
 Mechanical_Metallurgy/Chapter_5.ipynb              |   74 +
 Mechanical_Metallurgy/Chapter_5_1.ipynb            |   74 +
 Mechanical_Metallurgy/Chapter_6.ipynb              |  223 ++
 Mechanical_Metallurgy/Chapter_6_1.ipynb            |  223 ++
 Mechanical_Metallurgy/Chapter_7.ipynb              |  113 +
 Mechanical_Metallurgy/Chapter_7_1.ipynb            |  113 +
 Mechanical_Metallurgy/Chapter_8.ipynb              |  255 ++
 Mechanical_Metallurgy/Chapter_8_1.ipynb            |  255 ++
 .../screenshots/IMG_20150404_102341663.png         |  Bin 0 -> 3391127 bytes
 .../screenshots/IMG_20150404_102419517.png         |  Bin 0 -> 2777145 bytes
 .../screenshots/IMG_20150404_102430251.png         |  Bin 0 -> 2542452 bytes
 Mechanical_Metallurgy/screenshots/Ques_12.6.png    |  Bin 0 -> 3391127 bytes
 Mechanical_Metallurgy/screenshots/Ques_21.2_1.png  |  Bin 0 -> 2777145 bytes
 Mechanical_Metallurgy/screenshots/Ques_21.2_2.png  |  Bin 0 -> 2542452 bytes
 .../ch10.ipynb                                     |  321 +++
 .../ch11.ipynb                                     |  238 ++
 .../ch12.ipynb                                     |  712 +++++
 .../ch13.ipynb                                     |  432 +++
 .../ch14.ipynb                                     |  190 ++
 .../ch15.ipynb                                     |  156 ++
 .../ch16.ipynb                                     |  336 +++
 .../ch2.ipynb                                      |  505 ++++
 .../ch3.ipynb                                      |  553 ++++
 .../ch4.ipynb                                      |  368 +++
 .../ch5.ipynb                                      |  447 ++++
 .../ch6.ipynb                                      |  315 +++
 .../ch7.ipynb                                      |  378 +++
 .../ch8.ipynb                                      |  158 ++
 .../ch9.ipynb                                      |  285 ++
 .../screenshots/neutprotdecay.png                  |  Bin 0 -> 81529 bytes
 .../screenshots/nonrelativistic.png                |  Bin 0 -> 56174 bytes
 .../screenshots/probability_part.png               |  Bin 0 -> 78649 bytes
 .../Chapter_1.ipynb                                | 1301 +++++++++
 .../Chapter_10.ipynb                               |  186 ++
 .../Chapter_11.ipynb                               |  494 ++++
 .../Chapter_12.ipynb                               |  799 ++++++
 .../Chapter_2.ipynb                                |  229 ++
 .../Chapter_3.ipynb                                |  525 ++++
 .../Chapter_4.ipynb                                | 1729 ++++++++++++
 .../Chapter_5.ipynb                                | 1070 ++++++++
 .../Chapter_6.ipynb                                |  117 +
 .../Chapter_7.ipynb                                | 1326 +++++++++
 .../Chapter_8.ipynb                                |  455 ++++
 .../Chapter_9.ipynb                                |   49 +
 .../screenshots/ex_3_14.png                        |  Bin 0 -> 86752 bytes
 .../screenshots/ex_3_33.png                        |  Bin 0 -> 71504 bytes
 .../screenshots/ex_7_26.png                        |  Bin 0 -> 59256 bytes
 Physical_Chemistry/Chapter1.ipynb                  |  208 ++
 Physical_Chemistry/Chapter10.ipynb                 |  202 ++
 Physical_Chemistry/Chapter11.ipynb                 |   95 +
 Physical_Chemistry/Chapter12.ipynb                 |  348 +++
 Physical_Chemistry/Chapter13.ipynb                 |  401 +++
 Physical_Chemistry/Chapter14.ipynb                 |  603 +++++
 Physical_Chemistry/Chapter15.ipynb                 |  322 +++
 Physical_Chemistry/Chapter16.ipynb                 |  129 +
 Physical_Chemistry/Chapter17.ipynb                 |  183 ++
 Physical_Chemistry/Chapter18.ipynb                 |  102 +
 Physical_Chemistry/Chapter19.ipynb                 |  356 +++
 Physical_Chemistry/Chapter2.ipynb                  |  172 ++
 Physical_Chemistry/Chapter3.ipynb                  |   57 +
 Physical_Chemistry/Chapter4.ipynb                  |  171 ++
 Physical_Chemistry/Chapter6.ipynb                  |  232 ++
 Physical_Chemistry/Chapter7.ipynb                  |  301 +++
 Physical_Chemistry/Chapter8.ipynb                  |  218 ++
 Physical_Chemistry/Chapter9.ipynb                  |  103 +
 Physical_Chemistry/Chapter_1.ipynb                 |  533 ++++
 Physical_Chemistry/Chapter_10.ipynb                |  635 +++++
 Physical_Chemistry/Chapter_2.ipynb                 |  437 +++
 Physical_Chemistry/Chapter_3.ipynb                 |  878 ++++++
 Physical_Chemistry/Chapter_4.ipynb                 | 1022 +++++++
 Physical_Chemistry/Chapter_5.ipynb                 |  767 ++++++
 Physical_Chemistry/Chapter_6.ipynb                 |  711 +++++
 Physical_Chemistry/Chapter_7.ipynb                 | 1029 +++++++
 Physical_Chemistry/Chapter_8.ipynb                 |  440 +++
 Physical_Chemistry/Chapter_9.ipynb                 |  101 +
 Physical_Chemistry/README.txt                      |   10 +
 Physical_Chemistry/screenshots/chap11.png          |  Bin 0 -> 57676 bytes
 Physical_Chemistry/screenshots/chap12.png          |  Bin 0 -> 56243 bytes
 Physical_Chemistry/screenshots/chap13.png          |  Bin 0 -> 65878 bytes
 Physical_Chemistry/screenshots/chap3.png           |  Bin 0 -> 62750 bytes
 Physical_Chemistry/screenshots/chap3_1.png         |  Bin 0 -> 62750 bytes
 Physical_Chemistry/screenshots/chap4.png           |  Bin 0 -> 67939 bytes
 Physical_Chemistry/screenshots/chap4_1.png         |  Bin 0 -> 67939 bytes
 Physical_Chemistry/screenshots/chap5.png           |  Bin 0 -> 56537 bytes
 Physical_Chemistry/screenshots/chap5_1.png         |  Bin 0 -> 56537 bytes
 Physical_Chemsitry/Chapter1.ipynb                  |  208 --
 Physical_Chemsitry/Chapter10.ipynb                 |  202 --
 Physical_Chemsitry/Chapter11.ipynb                 |   95 -
 Physical_Chemsitry/Chapter12.ipynb                 |  348 ---
 Physical_Chemsitry/Chapter13.ipynb                 |  401 ---
 Physical_Chemsitry/Chapter14.ipynb                 |  603 -----
 Physical_Chemsitry/Chapter15.ipynb                 |  322 ---
 Physical_Chemsitry/Chapter16.ipynb                 |  129 -
 Physical_Chemsitry/Chapter17.ipynb                 |  183 --
 Physical_Chemsitry/Chapter18.ipynb                 |  102 -
 Physical_Chemsitry/Chapter19.ipynb                 |  356 ---
 Physical_Chemsitry/Chapter2.ipynb                  |  172 --
 Physical_Chemsitry/Chapter3.ipynb                  |   57 -
 Physical_Chemsitry/Chapter4.ipynb                  |  171 --
 Physical_Chemsitry/Chapter6.ipynb                  |  232 --
 Physical_Chemsitry/Chapter7.ipynb                  |  301 ---
 Physical_Chemsitry/Chapter8.ipynb                  |  218 --
 Physical_Chemsitry/Chapter9.ipynb                  |  103 -
 Physical_Chemsitry/Chapter_1.ipynb                 |  533 ----
 Physical_Chemsitry/Chapter_10.ipynb                |  635 -----
 Physical_Chemsitry/Chapter_2.ipynb                 |  437 ---
 Physical_Chemsitry/Chapter_3.ipynb                 |  878 ------
 Physical_Chemsitry/Chapter_4.ipynb                 | 1022 -------
 Physical_Chemsitry/Chapter_5.ipynb                 |  767 ------
 Physical_Chemsitry/Chapter_6.ipynb                 |  711 -----
 Physical_Chemsitry/Chapter_7.ipynb                 | 1029 -------
 Physical_Chemsitry/Chapter_8.ipynb                 |  440 ---
 Physical_Chemsitry/Chapter_9.ipynb                 |  101 -
 Physical_Chemsitry/screenshots/chap11.png          |  Bin 57676 -> 0 bytes
 Physical_Chemsitry/screenshots/chap12.png          |  Bin 56243 -> 0 bytes
 Physical_Chemsitry/screenshots/chap13.png          |  Bin 65878 -> 0 bytes
 Physical_Chemsitry/screenshots/chap3.png           |  Bin 62750 -> 0 bytes
 Physical_Chemsitry/screenshots/chap4.png           |  Bin 67939 -> 0 bytes
 Physical_Chemsitry/screenshots/chap5.png           |  Bin 56537 -> 0 bytes
 Power_Electronics/Chapter10_4.ipynb                |  228 ++
 Power_Electronics/Chapter11_4.ipynb                |  299 +++
 Power_Electronics/Chapter12_4.ipynb                | 1997 ++++++++++++++
 Power_Electronics/Chapter13_4.ipynb                |  342 +++
 Power_Electronics/Chapter14_4.ipynb                |   93 +
 Power_Electronics/Chapter2_4.ipynb                 |  233 ++
 Power_Electronics/Chapter3_4.ipynb                 | 1001 +++++++
 Power_Electronics/Chapter4_4.ipynb                 |  946 +++++++
 Power_Electronics/Chapter5_4.ipynb                 |  511 ++++
 Power_Electronics/Chapter6_4.ipynb                 | 1761 ++++++++++++
 Power_Electronics/Chapter7_4.ipynb                 | 1036 ++++++++
 Power_Electronics/Chapter8_4.ipynb                 |  984 +++++++
 Power_Electronics/Chapter9_4.ipynb                 |  388 +++
 Power_Electronics/Power_electronics_ch_10_1.ipynb  |  283 ++
 Power_Electronics/Power_electronics_ch_10_2.ipynb  |  283 ++
 Power_Electronics/Power_electronics_ch_10_3.ipynb  |  283 ++
 Power_Electronics/Power_electronics_ch_12_1.ipynb  | 1030 +++++++
 Power_Electronics/Power_electronics_ch_12_2.ipynb  | 1030 +++++++
 Power_Electronics/Power_electronics_ch_12_3.ipynb  | 1030 +++++++
 Power_Electronics/Power_electronics_ch_13_1.ipynb  |  965 +++++++
 Power_Electronics/Power_electronics_ch_13_2.ipynb  |  965 +++++++
 Power_Electronics/Power_electronics_ch_13_3.ipynb  |  965 +++++++
 Power_Electronics/Power_electronics_ch_1_1.ipynb   |  449 ++++
 Power_Electronics/Power_electronics_ch_1_2.ipynb   |  449 ++++
 Power_Electronics/Power_electronics_ch_1_3.ipynb   |  449 ++++
 Power_Electronics/Power_electronics_ch_2_1.ipynb   | 2357 ++++++++++++++++
 Power_Electronics/Power_electronics_ch_2_2.ipynb   | 2357 ++++++++++++++++
 Power_Electronics/Power_electronics_ch_2_3.ipynb   | 2357 ++++++++++++++++
 Power_Electronics/Power_electronics_ch_3_1.ipynb   | 2276 ++++++++++++++++
 Power_Electronics/Power_electronics_ch_3_2.ipynb   | 2276 ++++++++++++++++
 Power_Electronics/Power_electronics_ch_3_3.ipynb   | 2276 ++++++++++++++++
 Power_Electronics/Power_electronics_ch_4_1.ipynb   |  983 +++++++
 Power_Electronics/Power_electronics_ch_4_2.ipynb   |  983 +++++++
 Power_Electronics/Power_electronics_ch_4_3.ipynb   |  983 +++++++
 Power_Electronics/Power_electronics_ch_5_1.ipynb   | 1095 ++++++++
 Power_Electronics/Power_electronics_ch_5_2.ipynb   | 1095 ++++++++
 Power_Electronics/Power_electronics_ch_5_3.ipynb   | 1095 ++++++++
 Power_Electronics/Power_electronics_ch_6_1.ipynb   |  852 ++++++
 Power_Electronics/Power_electronics_ch_6_2.ipynb   |  852 ++++++
 Power_Electronics/Power_electronics_ch_6_3.ipynb   |  852 ++++++
 Power_Electronics/Power_electronics_ch_7_1.ipynb   |  204 ++
 Power_Electronics/Power_electronics_ch_7_2.ipynb   |  204 ++
 Power_Electronics/Power_electronics_ch_7_3.ipynb   |  204 ++
 Power_Electronics/Power_electronics_ch_8_1.ipynb   |  576 ++++
 Power_Electronics/Power_electronics_ch_8_2.ipynb   |  576 ++++
 Power_Electronics/Power_electronics_ch_8_3.ipynb   |  576 ++++
 Power_Electronics/Power_electronics_ch_9_1.ipynb   | 1256 +++++++++
 Power_Electronics/Power_electronics_ch_9_2.ipynb   | 1256 +++++++++
 Power_Electronics/Power_electronics_ch_9_3.ipynb   | 1255 +++++++++
 Power_Electronics/README.txt                       |   10 +
 Power_Electronics/screenshots/Chapter2_4.png       |  Bin 0 -> 226408 bytes
 Power_Electronics/screenshots/Chapter3_4.png       |  Bin 0 -> 230367 bytes
 Power_Electronics/screenshots/Chapter4_4.png       |  Bin 0 -> 222170 bytes
 Power_Electronics/screenshots/ex1_2.PNG            |  Bin 0 -> 127466 bytes
 Power_Electronics/screenshots/ex1_2_1.PNG          |  Bin 0 -> 127466 bytes
 Power_Electronics/screenshots/ex1_9.PNG            |  Bin 0 -> 21973 bytes
 Power_Electronics/screenshots/ex1_9_1.PNG          |  Bin 0 -> 21973 bytes
 Power_Electronics/screenshots/ex9_6.PNG            |  Bin 0 -> 53508 bytes
 Power_Electronics/screenshots/ex9_6_1.PNG          |  Bin 0 -> 53508 bytes
 .../chapter1.ipynb                                 |  249 ++
 .../chapter10.ipynb                                |  101 +
 .../chapter11.ipynb                                |  143 +
 .../chapter12.ipynb                                |  101 +
 .../chapter13.ipynb                                |  339 +++
 .../chapter14.ipynb                                |  229 ++
 .../chapter16.ipynb                                |  216 ++
 .../chapter17.ipynb                                |  142 +
 .../chapter19.ipynb                                |  128 +
 .../chapter22.ipynb                                |   94 +
 .../chapter3.ipynb                                 |  331 +++
 .../chapter4.ipynb                                 |  123 +
 .../chapter5.ipynb                                 |  253 ++
 .../chapter6.ipynb                                 |  148 ++
 .../chapter7.ipynb                                 |  221 ++
 .../chapter8.ipynb                                 |  185 ++
 .../chapter9.ipynb                                 |  274 ++
 .../chapter_2.ipynb                                | 1143 ++++++++
 .../screenshots/image_1.png                        |  Bin 0 -> 29057 bytes
 .../screenshots/image_2.png                        |  Bin 0 -> 45775 bytes
 .../screenshots/image_3.png                        |  Bin 0 -> 34289 bytes
 .../Chapter01_1.ipynb                              |  249 ++
 .../Chapter01_2.ipynb                              |  249 ++
 .../Chapter02_1.ipynb                              |   95 +
 .../Chapter02_2.ipynb                              |   95 +
 .../Chapter03_1.ipynb                              |  412 +++
 .../Chapter03_2.ipynb                              |  412 +++
 .../Chapter04_1.ipynb                              |  373 +++
 .../Chapter04_2.ipynb                              |  373 +++
 .../Chapter05_1.ipynb                              |  550 ++++
 .../Chapter05_2.ipynb                              |  550 ++++
 .../Chapter06_1.ipynb                              |  351 +++
 .../Chapter06_2.ipynb                              |  351 +++
 .../Chapter07_1.ipynb                              |  358 +++
 .../Chapter07_2.ipynb                              |  358 +++
 .../Chapter08_1.ipynb                              |  527 ++++
 .../Chapter08_2.ipynb                              |  527 ++++
 .../Chapter09_1.ipynb                              |  512 ++++
 .../Chapter09_2.ipynb                              |  520 ++++
 .../Chapter10_1.ipynb                              |  211 ++
 .../Chapter10_2.ipynb                              |  211 ++
 .../Chapter11_1.ipynb                              |  650 +++++
 .../Chapter11_2.ipynb                              |  650 +++++
 .../Chapter12_1.ipynb                              |  443 +++
 .../Chapter12_2.ipynb                              |  443 +++
 .../Chapter13_1.ipynb                              |  176 ++
 .../Chapter13_2.ipynb                              |  176 ++
 .../Chapter14_1.ipynb                              |  152 ++
 .../Chapter14_2.ipynb                              |  152 ++
 .../screenshots/ex1.2_1.png                        |  Bin 0 -> 69150 bytes
 .../screenshots/ex1.2_2.png                        |  Bin 0 -> 69150 bytes
 .../screenshots/ex13.1_1.png                       |  Bin 0 -> 52414 bytes
 .../screenshots/ex13.1_2.png                       |  Bin 0 -> 52414 bytes
 .../screenshots/ex14.2_1.png                       |  Bin 0 -> 57139 bytes
 .../screenshots/ex14.2_2.png                       |  Bin 0 -> 57139 bytes
 The_Spirit_of_C/Chapter1.ipynb                     |  198 ++
 The_Spirit_of_C/Chapter10.ipynb                    | 1020 +++++++
 The_Spirit_of_C/Chapter11.ipynb                    |  383 +++
 The_Spirit_of_C/Chapter12.ipynb                    |  455 ++++
 The_Spirit_of_C/Chapter13.ipynb                    |  346 +++
 The_Spirit_of_C/Chapter14.ipynb                    |  298 +++
 The_Spirit_of_C/chapter2.ipynb                     |  119 +
 The_Spirit_of_C/chapter3.ipynb                     |  241 ++
 The_Spirit_of_C/chapter4.ipynb                     |  148 ++
 The_Spirit_of_C/chapter5.ipynb                     |  218 ++
 The_Spirit_of_C/chapter6.ipynb                     |  494 ++++
 The_Spirit_of_C/chapter7.ipynb                     |  690 +++++
 The_Spirit_of_C/chapter8.ipynb                     |  567 ++++
 The_Spirit_of_C/chapter9.ipynb                     |  590 ++++
 The_Spirit_of_C/screenshots/Screenshot_1.png       |  Bin 0 -> 414085 bytes
 The_Spirit_of_C/screenshots/Screenshot_2.png       |  Bin 0 -> 319968 bytes
 The_Spirit_of_C/screenshots/Screenshot_3.png       |  Bin 0 -> 211398 bytes
 .../Chapter01_3.ipynb                              |  165 ++
 .../Chapter02_3.ipynb                              |  422 +++
 .../Chapter03_3.ipynb                              |  239 ++
 .../Chapter04_3.ipynb                              |  206 ++
 .../Chapter05_3.ipynb                              |  426 +++
 .../Chapter06_3.ipynb                              |  713 +++++
 .../Chapter07_3.ipynb                              |   72 +
 .../Chapter08_3.ipynb                              |  167 ++
 .../Chapter09_3.ipynb                              |  555 ++++
 .../Chapter10_3.ipynb                              |   62 +
 .../Chapter11_3.ipynb                              |  310 +++
 .../Chapter12_3.ipynb                              |  494 ++++
 .../Chapter13_3.ipynb                              |  280 ++
 .../Chapter14_3.ipynb                              |  505 ++++
 .../Chapter15_3.ipynb                              |  216 ++
 .../Chapter16_3.ipynb                              |  284 ++
 .../Chapter17_3.ipynb                              |  506 ++++
 .../Chapter18_3.ipynb                              |  406 +++
 .../Chapter19_3.ipynb                              |  342 +++
 .../README.txt                                     |   10 +
 .../screenshots/Chapter_03_3.png                   |  Bin 0 -> 152397 bytes
 .../screenshots/Chapter_09_3.png                   |  Bin 0 -> 155898 bytes
 .../screenshots/Chapter_18_3.png                   |  Bin 0 -> 140916 bytes
 .../Chapter10.ipynb                                |  173 --
 .../Chapter10_1.ipynb                              |  173 --
 .../Chapter10_2.ipynb                              |  173 --
 ...0_Availbility,exergy_and_irreversibilitiy.ipynb |  173 --
 .../Chapter11.ipynb                                |  468 ----
 .../Chapter11_.ipynb                               |  468 ----
 .../Chapter11__1.ipynb                             |  468 ----
 .../Chapter11_power_and_refrigeration_cycles.ipynb |  468 ----
 .../Chapter13-.ipynb                               |  217 --
 .../Chapter13-_thermodynamic_relations.ipynb       |  217 --
 .../Chapter13.ipynb                                |  217 --
 .../Chapter13_1.ipynb                              |  217 --
 .../Chapter14.ipynb                                |  313 ---
 .../Chapter14_1.ipynb                              |  313 ---
 .../Chapter14_2.ipynb                              |  313 ---
 ..._Equations_of_state_and_generlized_charts.ipynb |  313 ---
 .../Chapter15-.ipynb                               |  101 -
 .../Chapter15-multicomponet_systems.ipynb          |  101 -
 .../Chapter15.ipynb                                |  101 -
 .../Chapter15_1.ipynb                              |  101 -
 .../Chapter16-.ipynb                               |  109 -
 .../Chapter16-Equlibrium.ipynb                     |  109 -
 .../Chapter16.ipynb                                |  109 -
 .../Chapter16_1.ipynb                              |  109 -
 .../Chapter17-.ipynb                               |  250 --
 .../Chapter17-Ideal_solutions.ipynb                |  250 --
 .../Chapter17.ipynb                                |  250 --
 .../Chapter17_1.ipynb                              |  250 --
 .../Chapter18-.ipynb                               |  208 --
 .../Chapter18-Non-ideal_solutions.ipynb            |  208 --
 .../Chapter18.ipynb                                |  208 --
 .../Chapter18_1.ipynb                              |  208 --
 .../Chapter19-Chemical_reactions.ipynb             |  472 ----
 .../Chapter19.ipynb                                |  472 ----
 .../Chapter19_1.ipynb                              |  472 ----
 .../Chapter5-the_ideal_gas.ipynb                   |  166 --
 .../Chapter5.ipynb                                 |  166 --
 .../Chapter5_1.ipynb                               |  166 --
 .../Chapter5_2.ipynb                               |  166 --
 .../Chapter6-Control_volume.ipynb                  |  308 ---
 .../Chapter6.ipynb                                 |  308 ---
 .../Chapter6_1.ipynb                               |  308 ---
 .../Chapter6_2.ipynb                               |  308 ---
 ...ines_and_the_second_law_of_thermodynamics.ipynb |  123 -
 .../Chapter7.ipynb                                 |  123 -
 .../Chapter7_1.ipynb                               |  123 -
 .../Chapter7_2.ipynb                               |  123 -
 .../Chapter8-Entropy.ipynb                         |  309 ---
 .../Chapter8.ipynb                                 |  309 ---
 .../Chapter8_1.ipynb                               |  309 ---
 .../Chapter8_2.ipynb                               |  309 ---
 ...tions_of_the_second_law_of_thermodynamics.ipynb |  473 ----
 .../Chapter9.ipynb                                 |  473 ----
 .../Chapter9_1.ipynb                               |  473 ----
 .../Chapter9_2.ipynb                               |  473 ----
 .../Chapter_2.ipynb                                |   69 -
 .../Chapter_2_-Basic_concepts_.ipynb               |   69 -
 .../Chapter_2_-Basic_concepts__1.ipynb             |   69 -
 .../Chapter_2_-Basic_concepts__2.ipynb             |   69 -
 .../Chapter_2_-Basic_concepts__3.ipynb             |   69 -
 .../Chapter_2_1.ipynb                              |   69 -
 .../Chapter_2_2.ipynb                              |   69 -
 ...ergy_and_heat_first_law_of_thermodynamics.ipynb |  220 --
 ...gy_and_heat_first_law_of_thermodynamics_1.ipynb |  220 --
 ...gy_and_heat_first_law_of_thermodynamics_2.ipynb |  220 --
 ...gy_and_heat_first_law_of_thermodynamics_3.ipynb |  220 --
 .../Chapter_3.ipynb                                |  220 --
 .../Chapter_3_1.ipynb                              |  220 --
 .../Chapter_3_2.ipynb                              |  220 --
 .../Chapter_4.ipynb                                |  466 ----
 .../Chapter_4_-Simple_systems.ipynb                |  466 ----
 .../Chapter_4_.ipynb                               |  466 ----
 .../Chapter_4__1.ipynb                             |  466 ----
 .../Chapter_4__2.ipynb                             |  228 +-
 .../chapter12.ipynb                                |  314 ---
 .../chapter12_1.ipynb                              |  314 ---
 .../chapter12_2.ipynb                              |  314 ---
 ...hapter12_ideal_gas_mixtures_and_humid_air.ipynb |  314 ---
 .../Chapter_11_Inheritance_1.ipynb                 | 2636 ++++++++++++++++++
 .../Chapter_11_Inheritance_2.ipynb                 | 2661 ++++++++++++++++++
 .../Chapter_11_Inheritance_3.ipynb                 | 2669 +++++++++++++++++++
 sample_notebooks/Abu BakkerSiddik/Functions_.ipynb | 1441 ++++++++++
 sample_notebooks/AkshayShende/chapter2.ipynb       |   65 +
 .../Chapter_6_Objects_and_Classes_1.ipynb          |  934 +++++++
 sample_notebooks/ApurvaBhushan/Chapter_3_1.ipynb   |  212 ++
 sample_notebooks/ChaitanyaPotti/Chapter2.ipynb     |  286 ++
 sample_notebooks/Dileep KumarShakya/chapter1.ipynb |    1 +
 .../Dileep KumarShakya/chapter1_1.ipynb            |    1 +
 sample_notebooks/HeminChheda/chapter1.ipynb        |  281 ++
 ...nciples_of_electronic_Instrumentation_Ch1.ipynb |  406 +++
 .../MohdAsif/Chapter2_-_Measurement_Errors.ipynb   | 1549 +++++++++++
 ..._BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_10.ipynb |  462 ++++
 ..._BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_11.ipynb |  462 ++++
 ..._BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_12.ipynb |  462 ++++
 ...N_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_5.ipynb |  462 ++++
 ...N_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_6.ipynb |  462 ++++
 ...N_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_7.ipynb |  462 ++++
 ...N_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_8.ipynb |  462 ++++
 ...N_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_9.ipynb |  462 ++++
 sample_notebooks/NirenNegandhi/ch2_1.ipynb         |  505 ++++
 .../NitamoniDas/Chapter_8_Data_Abstraction.ipynb   |  809 ++++++
 ...rough_Classes_and_User-Defined_Data_Types.ipynb |  809 ++++++
 ...rough_Classes_and_User_Defined_Data_Types.ipynb |  809 ++++++
 ...ugh_Classes_and_User_Defined_Data_Types_1.ipynb |  809 ++++++
 ...ugh_Classes_and_User_Defined_Data_Types_2.ipynb |  809 ++++++
 ...ugh_Classes_and_User_Defined_Data_Types_3.ipynb |  809 ++++++
 ...ugh_Classes_and_User_Defined_Data_Types_4.ipynb |  809 ++++++
 ...ugh_Classes_and_User_Defined_Data_Types_5.ipynb |  809 ++++++
 ...ugh_Classes_and_User_Defined_Data_Types_6.ipynb |  809 ++++++
 ...hapter_8_Data_Abstraction_through_Classes.ipynb |  809 ++++++
 ...h_Classes_and_User-Defined_Data_Types_(1).ipynb |  809 ++++++
 ...gh_Classes_and_User-Defined_Data_Types_10.ipynb |  809 ++++++
 ...ugh_Classes_and_User-Defined_Data_Types_2.ipynb |  809 ++++++
 ...ugh_Classes_and_User-Defined_Data_Types_3.ipynb |  809 ++++++
 ...ugh_Classes_and_User-Defined_Data_Types_4.ipynb |  809 ++++++
 ...ugh_Classes_and_User-Defined_Data_Types_5.ipynb |  809 ++++++
 ...ugh_Classes_and_User-Defined_Data_Types_6.ipynb |  809 ++++++
 ...ugh_Classes_and_User-Defined_Data_Types_7.ipynb |  809 ++++++
 ...ugh_Classes_and_User-Defined_Data_Types_8.ipynb |  809 ++++++
 ...ugh_Classes_and_User-Defined_Data_Types_9.ipynb |  809 ++++++
 .../Prashanth Kumar Immady/Chapter_1.ipynb         |  307 +++
 .../Prashanth Kumar Immady/Chapter_1_1.ipynb       |  307 +++
 .../Prashanth Kumar Immady/Chapter_1_2.ipynb       |  307 +++
 sample_notebooks/SPANDANAARROJU/Chapter4.ipynb     |  553 ++++
 sample_notebooks/SUMITRATHI/chapterno1.ipynb       |  126 +
 ..._11-_Object_Initialization_and_Clean-Up_2.ipynb | 1779 +++++++++++++
 sample_notebooks/Tarun KumarDas/Chapter9_1.ipynb   |  227 ++
 sample_notebooks/Tarun KumarDas/Chapter9_2.ipynb   |  227 ++
 sample_notebooks/Tarun KumarDas/Chapter9_3.ipynb   |  227 ++
 sample_notebooks/Tarun KumarDas/Chapter9_4.ipynb   |  227 ++
 sample_notebooks/Tarun KumarDas/Chapter9_5.ipynb   |  227 ++
 sample_notebooks/VidyaSri/Chapter_1.ipynb          |  389 +++
 sample_notebooks/VikasPrasad/Chapter_01.ipynb      |  170 ++
 sample_notebooks/VikasPrasad/Chapter_01_1.ipynb    |  170 ++
 sample_notebooks/VikasPrasad/Chapter_01_2.ipynb    |  170 ++
 sample_notebooks/VikasPrasad/chapter1_2.ipynb      |  165 ++
 sample_notebooks/VikasPrasad/chapter1_3.ipynb      |  165 ++
 sample_notebooks/VikasPrasad/chapter1_4.ipynb      |  165 ++
 sample_notebooks/VikasPrasad/chapter1_5.ipynb      |  165 ++
 sample_notebooks/VikasPrasad/chapter1_6.ipynb      |  165 ++
 sample_notebooks/VikasPrasad/chapter1_7.ipynb      |  165 ++
 sample_notebooks/VikasPrasad/chapter1_8.ipynb      |  170 ++
 sample_notebooks/VikasPrasad/chapter1_9.ipynb      |  170 ++
 sample_notebooks/Vishwajith VRao/Chapter2.ipynb    |  350 +++
 sample_notebooks/Vishwajith VRao/Chapter2_1.ipynb  |  348 +++
 sample_notebooks/YogeshPatil/Chapter_11_1.ipynb    |  494 ++++
 sample_notebooks/abhishekchauhan/chapter13.ipynb   |  109 +
 sample_notebooks/nitinkumar/Chapter4.ipynb         |  613 +++++
 sample_notebooks/sriragap/CHAPTER_2.ipynb          |  294 ++
 sample_notebooks/sriragap/CHAPTER_2_1.ipynb        |  294 ++
 661 files changed, 225464 insertions(+), 34720 deletions(-)
 create mode 100755 Antenna_and_Wave_Propagation/chapter1.ipynb
 create mode 100755 Antenna_and_Wave_Propagation/chapter2.ipynb
 create mode 100755 Antenna_and_Wave_Propagation/chapter3.ipynb
 create mode 100755 Antenna_and_Wave_Propagation/chapter4.ipynb
 create mode 100755 Antenna_and_Wave_Propagation/chapter6.ipynb
 create mode 100755 Antenna_and_Wave_Propagation/chapter7.ipynb
 create mode 100755 Antenna_and_Wave_Propagation/chapter9.ipynb
 create mode 100755 Antenna_and_Wave_Propagation/screenshots/chapter1.png
 create mode 100755 Antenna_and_Wave_Propagation/screenshots/chapter4.png
 create mode 100755 Antenna_and_Wave_Propagation/screenshots/chapter6.png
 create mode 100755 Applied_Physics-II/chapter1.ipynb
 create mode 100755 Applied_Physics-II/chapter2.ipynb
 create mode 100755 Applied_Physics-II/chapter3.ipynb
 create mode 100755 Applied_Physics-II/chapter4.ipynb
 create mode 100755 Applied_Physics-II/chapter5.ipynb
 create mode 100755 Applied_Physics-II/chapter6.ipynb
 create mode 100755 Applied_Physics-II/screenshots/Ex2_2.png
 create mode 100755 Applied_Physics-II/screenshots/Ex2_2_1.png
 create mode 100755 Applied_Physics-II/screenshots/Ex2_2_2.png
 create mode 100755 Applied_Physics/Chapter1.ipynb
 create mode 100755 Applied_Physics/Chapter10.ipynb
 create mode 100755 Applied_Physics/Chapter12.ipynb
 create mode 100755 Applied_Physics/Chapter2.ipynb
 create mode 100755 Applied_Physics/Chapter3.ipynb
 create mode 100755 Applied_Physics/Chapter4.ipynb
 create mode 100755 Applied_Physics/Chapter5.ipynb
 create mode 100755 Applied_Physics/Chapter6.ipynb
 create mode 100755 Applied_Physics/Chapter7.ipynb
 create mode 100755 Applied_Physics/Chapter8.ipynb
 create mode 100755 Applied_Physics/Chapter9.ipynb
 create mode 100755 Applied_Physics/Chapter_01_Bonding_in_Solids_.ipynb
 create mode 100755 Applied_Physics/Chapter_01_Bonding_in_Solids__1.ipynb
 create mode 100755 Applied_Physics/Chapter_02_Crystal_Structure.ipynb
 create mode 100755 Applied_Physics/Chapter_02_Crystal_Structure_1.ipynb
 create mode 100755 Applied_Physics/Chapter_03_Planes_in_Crystals.ipynb
 create mode 100755 Applied_Physics/Chapter_03_Planes_in_Crystals_1.ipynb
 create mode 100755 Applied_Physics/Chapter_04_Crystal_Diffraction.ipynb
 create mode 100755 Applied_Physics/Chapter_04_Crystal_Diffraction_1.ipynb
 create mode 100755 Applied_Physics/Chapter_05_Principles_of_Quantum_Mechanics.ipynb
 create mode 100755 Applied_Physics/Chapter_05_Principles_of_Quantum_Mechanics_1.ipynb
 create mode 100755 Applied_Physics/Chapter_06_Electron_Theory_and_Band_Theory_of_Metals.ipynb
 create mode 100755 Applied_Physics/Chapter_06_Electron_Theory_and_Band_Theory_of_Metals_1.ipynb
 create mode 100755 Applied_Physics/Chapter_07_Dielectric_Properties.ipynb
 create mode 100755 Applied_Physics/Chapter_07_Dielectric_Properties_1.ipynb
 create mode 100755 Applied_Physics/Chapter_08_Magnetic_Properties.ipynb
 create mode 100755 Applied_Physics/Chapter_08_Magnetic_Properties_1.ipynb
 create mode 100755 Applied_Physics/Chapter_09_Semiconductors.ipynb
 create mode 100755 Applied_Physics/Chapter_09_Semiconductors_1.ipynb
 create mode 100755 Applied_Physics/Chapter_10_Superconductivity.ipynb
 create mode 100755 Applied_Physics/Chapter_10_Superconductivity_1.ipynb
 create mode 100755 Applied_Physics/Chapter_12Fibre_Optics.ipynb
 create mode 100755 Applied_Physics/Chapter_12_Fibre_Optics.ipynb
 create mode 100755 Applied_Physics/screenshots/1.png
 create mode 100755 Applied_Physics/screenshots/2.png
 create mode 100755 Applied_Physics/screenshots/6.png
 create mode 100755 Applied_Physics/screenshots/Calculation_of__mean_free_path_of_electron.png
 create mode 100755 Applied_Physics/screenshots/Calculation_of__mean_free_path_of_electron_1.png
 create mode 100755 Applied_Physics/screenshots/Calculation_of__potential_energy.png
 create mode 100755 Applied_Physics/screenshots/Calculation_of__potential_energy_1.png
 create mode 100755 Applied_Physics/screenshots/Calculation_of_lattice_constant.png
 create mode 100755 Applied_Physics/screenshots/Calculation_of_lattice_constant_1.png
 create mode 100755 Computer_Concepts_and_C_Programming/chapter10.ipynb
 create mode 100755 Computer_Concepts_and_C_Programming/chapter11.ipynb
 create mode 100755 Computer_Concepts_and_C_Programming/chapter12.ipynb
 create mode 100755 Computer_Concepts_and_C_Programming/chapter13.ipynb
 create mode 100755 Computer_Concepts_and_C_Programming/chapter15.ipynb
 create mode 100755 Computer_Concepts_and_C_Programming/chapter5.ipynb
 create mode 100755 Computer_Concepts_and_C_Programming/chapter6.ipynb
 create mode 100755 Computer_Concepts_and_C_Programming/chapter7.ipynb
 create mode 100755 Computer_Concepts_and_C_Programming/chapter8.ipynb
 create mode 100755 Computer_Concepts_and_C_Programming/chapter9.ipynb
 create mode 100755 Computer_Concepts_and_C_Programming/screenshots/chapter10.png
 create mode 100755 Computer_Concepts_and_C_Programming/screenshots/chapter12.png
 create mode 100755 Computer_Concepts_and_C_Programming/screenshots/chapter9.png
 create mode 100755 Computer_Programming,_Theory_and_Practice/screenshots/chapter11_1.png
 create mode 100755 Computer_Programming,_Theory_and_Practice/screenshots/chapter2_1.png
 create mode 100755 Computer_Programming,_Theory_and_Practice/screenshots/chapter3_1.png
 delete mode 100755 Electrical_Machines_II/chapter_1_1.ipynb
 delete mode 100755 Electrical_Machines_II/chapter_2_1.ipynb
 delete mode 100755 Electrical_Machines_II/chapter_3_1.ipynb
 delete mode 100755 Electrical_Machines_II/chapter_4_1.ipynb
 create mode 100755 Electrical_Machines_II/extra-chapter1.ipynb
 create mode 100755 Electrical_Machines_II/extra_chapter2.ipynb
 create mode 100755 Electrical_Machines_II/screenshots/capacitance_3_2.png
 create mode 100755 Electrical_Machines_II/screenshots/flux_per_pole_2.png
 create mode 100755 Electrical_Machines_II/screenshots/rotor_current_2_2.png
 create mode 100755 Electronic_Devices_and_Circuits/README.txt
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter10.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter11.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter12.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter2.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter3.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter4.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter5.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter6.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter7.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter8.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/Chapter9.ipynb
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59.png
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59_1.png
 create mode 100755 Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59_2.png
 create mode 100755 Elements_of_Electric_drives/Chapter1.ipynb
 create mode 100755 Elements_of_Electric_drives/Chapter3.ipynb
 create mode 100755 Elements_of_Electric_drives/screenshots/chap1.png
 create mode 100755 Elements_of_Electric_drives/screenshots/chap12.png
 create mode 100755 Elements_of_Electric_drives/screenshots/chap3.png
 create mode 100755 Elements_of_Power_system/README.txt
 create mode 100755 Elements_of_discrete_mathematics/Chapter1.ipynb
 create mode 100755 Elements_of_discrete_mathematics/Chapter10.ipynb
 create mode 100755 Elements_of_discrete_mathematics/Chapter2.ipynb
 create mode 100755 Elements_of_discrete_mathematics/Chapter3.ipynb
 create mode 100755 Elements_of_discrete_mathematics/Chapter4.ipynb
 create mode 100755 Elements_of_discrete_mathematics/Chapter5.ipynb
 create mode 100755 Elements_of_discrete_mathematics/Chapter8.ipynb
 create mode 100755 Elements_of_discrete_mathematics/Chapter9.ipynb
 create mode 100755 Elements_of_discrete_mathematics/screenshots/Chapter10.png
 create mode 100755 Elements_of_discrete_mathematics/screenshots/Chapter2.png
 create mode 100755 Elements_of_discrete_mathematics/screenshots/Chapter5.png
 create mode 100755 Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter1.ipynb
 create mode 100755 Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter2.ipynb
 create mode 100755 Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter3.ipynb
 create mode 100755 Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter4.ipynb
 create mode 100755 Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot1.png
 create mode 100755 Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot2.png
 create mode 100755 Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot3.png
 create mode 100755 Engineering_Physics/Chapter1.ipynb
 create mode 100755 Engineering_Physics/Chapter10.ipynb
 create mode 100755 Engineering_Physics/Chapter11.ipynb
 create mode 100755 Engineering_Physics/Chapter13.ipynb
 create mode 100755 Engineering_Physics/Chapter2.ipynb
 create mode 100755 Engineering_Physics/Chapter4.ipynb
 create mode 100755 Engineering_Physics/Chapter5.ipynb
 create mode 100755 Engineering_Physics/Chapter6.ipynb
 create mode 100755 Engineering_Physics/Chapter7.ipynb
 create mode 100755 Engineering_Physics/Chapter8.ipynb
 create mode 100755 Engineering_Physics/Chapter9.ipynb
 create mode 100755 Engineering_Physics/chapter1.ipynb
 create mode 100755 Engineering_Physics/chapter10.ipynb
 create mode 100755 Engineering_Physics/chapter11.ipynb
 create mode 100755 Engineering_Physics/chapter12.ipynb
 create mode 100755 Engineering_Physics/chapter13.ipynb
 create mode 100755 Engineering_Physics/chapter2.ipynb
 create mode 100755 Engineering_Physics/chapter3.ipynb
 create mode 100755 Engineering_Physics/chapter4.ipynb
 create mode 100755 Engineering_Physics/chapter5.ipynb
 create mode 100755 Engineering_Physics/chapter6.ipynb
 create mode 100755 Engineering_Physics/chapter7.ipynb
 create mode 100755 Engineering_Physics/chapter8.ipynb
 create mode 100755 Engineering_Physics/chapter9.ipynb
 create mode 100755 Engineering_Physics/screenshots/U3.png
 create mode 100755 Engineering_Physics/screenshots/Untitled.png
 create mode 100755 Engineering_Physics/screenshots/Untitled2.png
 create mode 100755 Engineering_Physics/screenshots/area_of_the_spot_on_the_moon.png
 create mode 100755 Engineering_Physics/screenshots/electric_flux.png
 create mode 100755 Engineering_Physics/screenshots/velocity_of_rocket.png
 create mode 100755 Examples_in_Thermodynamics_Problems/Chapter1.ipynb
 create mode 100755 Examples_in_Thermodynamics_Problems/Chapter2.ipynb
 create mode 100755 Examples_in_Thermodynamics_Problems/Chapter3.ipynb
 create mode 100755 Examples_in_Thermodynamics_Problems/Chapter4.ipynb
 create mode 100755 Examples_in_Thermodynamics_Problems/Chapter5.ipynb
 create mode 100755 Examples_in_Thermodynamics_Problems/Chapter6.ipynb
 create mode 100755 Examples_in_Thermodynamics_Problems/Chapter7.ipynb
 create mode 100755 Examples_in_Thermodynamics_Problems/Chapter8.ipynb
 create mode 100755 Examples_in_Thermodynamics_Problems/Chapter9.ipynb
 create mode 100755 Examples_in_Thermodynamics_Problems/README.txt
 create mode 100755 Examples_in_Thermodynamics_Problems/screenshots/Heat_supplied.png
 create mode 100755 Examples_in_Thermodynamics_Problems/screenshots/Ideal_efficiency.png
 create mode 100755 Examples_in_Thermodynamics_Problems/screenshots/Thermal_capacity.png
 create mode 100755 Fundamentals_of_Electrical_Drives/Chapter10_2.ipynb
 create mode 100755 Fundamentals_of_Electrical_Drives/Chapter2_2.ipynb
 create mode 100755 Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb
 create mode 100755 Fundamentals_of_Electrical_Drives/Chapter5_2.ipynb
 create mode 100755 Fundamentals_of_Electrical_Drives/Chapter6_2.ipynb
 create mode 100755 Fundamentals_of_Electrical_Drives/Chapter7_2.ipynb
 create mode 100755 Fundamentals_of_Electrical_Drives/README.txt
 create mode 100755 Fundamentals_of_Electrical_Drives/screenshots/braking_resistance_1.png
 create mode 100755 Fundamentals_of_Electrical_Drives/screenshots/dc_motor_speed.png
 create mode 100755 Fundamentals_of_Electrical_Drives/screenshots/torque_vs_frequency_1.png
 create mode 100755 Materials_Science/Chapter02.ipynb
 create mode 100755 Materials_Science/Chapter02_1.ipynb
 create mode 100755 Materials_Science/Chapter03.ipynb
 create mode 100755 Materials_Science/Chapter03_1.ipynb
 create mode 100755 Materials_Science/Chapter05.ipynb
 create mode 100755 Materials_Science/Chapter05_1.ipynb
 create mode 100755 Materials_Science/Chapter07.ipynb
 create mode 100755 Materials_Science/Chapter07_1.ipynb
 create mode 100755 Materials_Science/Chapter08.ipynb
 create mode 100755 Materials_Science/Chapter08_1.ipynb
 create mode 100755 Materials_Science/Chapter09.ipynb
 create mode 100755 Materials_Science/Chapter09_1.ipynb
 create mode 100755 Materials_Science/Chapter15.ipynb
 create mode 100755 Materials_Science/Chapter15_1.ipynb
 create mode 100755 Materials_Science/Chapter16.ipynb
 create mode 100755 Materials_Science/Chapter16_1.ipynb
 create mode 100755 Materials_Science/Chapter17.ipynb
 create mode 100755 Materials_Science/Chapter17_1.ipynb
 create mode 100755 Materials_Science/Chapter18.ipynb
 create mode 100755 Materials_Science/Chapter18_1.ipynb
 create mode 100755 Materials_Science/screenshots/chp3.png
 create mode 100755 Materials_Science/screenshots/chp3_1.png
 create mode 100755 Materials_Science/screenshots/chp5.png
 create mode 100755 Materials_Science/screenshots/chp5_1.png
 create mode 100755 Materials_Science/screenshots/chp9.png
 create mode 100755 Materials_Science/screenshots/chp9_1.png
 create mode 100755 Mechanical_Metallurgy/Chapter_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_11.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_11_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_12.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_12_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_13.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_13_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_14.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_14_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_15.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_15_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_16.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_16_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_17.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_17_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_18.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_18_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_19.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_19_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_1_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_2.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_20.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_20_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_21.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_21_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_2_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_3.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_3_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_4.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_4_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_5.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_5_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_6.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_6_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_7.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_7_1.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_8.ipynb
 create mode 100755 Mechanical_Metallurgy/Chapter_8_1.ipynb
 create mode 100755 Mechanical_Metallurgy/screenshots/IMG_20150404_102341663.png
 create mode 100755 Mechanical_Metallurgy/screenshots/IMG_20150404_102419517.png
 create mode 100755 Mechanical_Metallurgy/screenshots/IMG_20150404_102430251.png
 create mode 100755 Mechanical_Metallurgy/screenshots/Ques_12.6.png
 create mode 100755 Mechanical_Metallurgy/screenshots/Ques_21.2_1.png
 create mode 100755 Mechanical_Metallurgy/screenshots/Ques_21.2_2.png
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch10.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch11.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch12.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch13.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch14.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch15.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch16.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch2.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch3.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch4.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch5.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch6.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch7.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch8.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/ch9.ipynb
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/screenshots/neutprotdecay.png
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/screenshots/nonrelativistic.png
 create mode 100755 Modern_Physics_for_Scientists_and_Engineers/screenshots/probability_part.png
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_1.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_10.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_11.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_12.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_2.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_3.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_4.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_5.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_6.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_7.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_8.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/Chapter_9.ipynb
 create mode 100755 Op-amp_and_linear_integrated_circuits_/screenshots/ex_3_14.png
 create mode 100755 Op-amp_and_linear_integrated_circuits_/screenshots/ex_3_33.png
 create mode 100755 Op-amp_and_linear_integrated_circuits_/screenshots/ex_7_26.png
 create mode 100755 Physical_Chemistry/Chapter1.ipynb
 create mode 100755 Physical_Chemistry/Chapter10.ipynb
 create mode 100755 Physical_Chemistry/Chapter11.ipynb
 create mode 100755 Physical_Chemistry/Chapter12.ipynb
 create mode 100755 Physical_Chemistry/Chapter13.ipynb
 create mode 100755 Physical_Chemistry/Chapter14.ipynb
 create mode 100755 Physical_Chemistry/Chapter15.ipynb
 create mode 100755 Physical_Chemistry/Chapter16.ipynb
 create mode 100755 Physical_Chemistry/Chapter17.ipynb
 create mode 100755 Physical_Chemistry/Chapter18.ipynb
 create mode 100755 Physical_Chemistry/Chapter19.ipynb
 create mode 100755 Physical_Chemistry/Chapter2.ipynb
 create mode 100755 Physical_Chemistry/Chapter3.ipynb
 create mode 100755 Physical_Chemistry/Chapter4.ipynb
 create mode 100755 Physical_Chemistry/Chapter6.ipynb
 create mode 100755 Physical_Chemistry/Chapter7.ipynb
 create mode 100755 Physical_Chemistry/Chapter8.ipynb
 create mode 100755 Physical_Chemistry/Chapter9.ipynb
 create mode 100755 Physical_Chemistry/Chapter_1.ipynb
 create mode 100755 Physical_Chemistry/Chapter_10.ipynb
 create mode 100755 Physical_Chemistry/Chapter_2.ipynb
 create mode 100755 Physical_Chemistry/Chapter_3.ipynb
 create mode 100755 Physical_Chemistry/Chapter_4.ipynb
 create mode 100755 Physical_Chemistry/Chapter_5.ipynb
 create mode 100755 Physical_Chemistry/Chapter_6.ipynb
 create mode 100755 Physical_Chemistry/Chapter_7.ipynb
 create mode 100755 Physical_Chemistry/Chapter_8.ipynb
 create mode 100755 Physical_Chemistry/Chapter_9.ipynb
 create mode 100755 Physical_Chemistry/README.txt
 create mode 100755 Physical_Chemistry/screenshots/chap11.png
 create mode 100755 Physical_Chemistry/screenshots/chap12.png
 create mode 100755 Physical_Chemistry/screenshots/chap13.png
 create mode 100755 Physical_Chemistry/screenshots/chap3.png
 create mode 100755 Physical_Chemistry/screenshots/chap3_1.png
 create mode 100755 Physical_Chemistry/screenshots/chap4.png
 create mode 100755 Physical_Chemistry/screenshots/chap4_1.png
 create mode 100755 Physical_Chemistry/screenshots/chap5.png
 create mode 100755 Physical_Chemistry/screenshots/chap5_1.png
 delete mode 100755 Physical_Chemsitry/Chapter1.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter10.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter11.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter12.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter13.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter14.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter15.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter16.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter17.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter18.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter19.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter2.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter3.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter4.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter6.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter7.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter8.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter9.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter_1.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter_10.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter_2.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter_3.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter_4.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter_5.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter_6.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter_7.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter_8.ipynb
 delete mode 100755 Physical_Chemsitry/Chapter_9.ipynb
 delete mode 100755 Physical_Chemsitry/screenshots/chap11.png
 delete mode 100755 Physical_Chemsitry/screenshots/chap12.png
 delete mode 100755 Physical_Chemsitry/screenshots/chap13.png
 delete mode 100755 Physical_Chemsitry/screenshots/chap3.png
 delete mode 100755 Physical_Chemsitry/screenshots/chap4.png
 delete mode 100755 Physical_Chemsitry/screenshots/chap5.png
 create mode 100755 Power_Electronics/Chapter10_4.ipynb
 create mode 100755 Power_Electronics/Chapter11_4.ipynb
 create mode 100755 Power_Electronics/Chapter12_4.ipynb
 create mode 100755 Power_Electronics/Chapter13_4.ipynb
 create mode 100755 Power_Electronics/Chapter14_4.ipynb
 create mode 100755 Power_Electronics/Chapter2_4.ipynb
 create mode 100755 Power_Electronics/Chapter3_4.ipynb
 create mode 100755 Power_Electronics/Chapter4_4.ipynb
 create mode 100755 Power_Electronics/Chapter5_4.ipynb
 create mode 100755 Power_Electronics/Chapter6_4.ipynb
 create mode 100755 Power_Electronics/Chapter7_4.ipynb
 create mode 100755 Power_Electronics/Chapter8_4.ipynb
 create mode 100755 Power_Electronics/Chapter9_4.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_10_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_10_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_10_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_12_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_12_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_12_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_13_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_13_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_13_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_1_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_1_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_1_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_2_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_2_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_2_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_3_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_3_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_3_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_4_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_4_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_4_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_5_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_5_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_5_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_6_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_6_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_6_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_7_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_7_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_7_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_8_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_8_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_8_3.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_9_1.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_9_2.ipynb
 create mode 100755 Power_Electronics/Power_electronics_ch_9_3.ipynb
 create mode 100755 Power_Electronics/README.txt
 create mode 100755 Power_Electronics/screenshots/Chapter2_4.png
 create mode 100755 Power_Electronics/screenshots/Chapter3_4.png
 create mode 100755 Power_Electronics/screenshots/Chapter4_4.png
 create mode 100755 Power_Electronics/screenshots/ex1_2.PNG
 create mode 100755 Power_Electronics/screenshots/ex1_2_1.PNG
 create mode 100755 Power_Electronics/screenshots/ex1_9.PNG
 create mode 100755 Power_Electronics/screenshots/ex1_9_1.PNG
 create mode 100755 Power_Electronics/screenshots/ex9_6.PNG
 create mode 100755 Power_Electronics/screenshots/ex9_6_1.PNG
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter1.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter10.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter11.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter12.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter13.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter14.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter16.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter17.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter19.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter22.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter3.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter4.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter5.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter6.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter7.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter8.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter9.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/chapter_2.ipynb
 create mode 100755 Principles_Of_Electronic_Communication_Systems/screenshots/image_1.png
 create mode 100755 Principles_Of_Electronic_Communication_Systems/screenshots/image_2.png
 create mode 100755 Principles_Of_Electronic_Communication_Systems/screenshots/image_3.png
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter01_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter01_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter02_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter02_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter03_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter03_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter04_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter04_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter05_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter05_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter06_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter06_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter07_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter07_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter08_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter08_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter09_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter09_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter10_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter10_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter11_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter11_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter12_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter12_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter13_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter13_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter14_1.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/Chapter14_2.ipynb
 create mode 100755 Principles_Of_Foundation_Engineering/screenshots/ex1.2_1.png
 create mode 100755 Principles_Of_Foundation_Engineering/screenshots/ex1.2_2.png
 create mode 100755 Principles_Of_Foundation_Engineering/screenshots/ex13.1_1.png
 create mode 100755 Principles_Of_Foundation_Engineering/screenshots/ex13.1_2.png
 create mode 100755 Principles_Of_Foundation_Engineering/screenshots/ex14.2_1.png
 create mode 100755 Principles_Of_Foundation_Engineering/screenshots/ex14.2_2.png
 create mode 100755 The_Spirit_of_C/Chapter1.ipynb
 create mode 100755 The_Spirit_of_C/Chapter10.ipynb
 create mode 100755 The_Spirit_of_C/Chapter11.ipynb
 create mode 100755 The_Spirit_of_C/Chapter12.ipynb
 create mode 100755 The_Spirit_of_C/Chapter13.ipynb
 create mode 100755 The_Spirit_of_C/Chapter14.ipynb
 create mode 100755 The_Spirit_of_C/chapter2.ipynb
 create mode 100755 The_Spirit_of_C/chapter3.ipynb
 create mode 100755 The_Spirit_of_C/chapter4.ipynb
 create mode 100755 The_Spirit_of_C/chapter5.ipynb
 create mode 100755 The_Spirit_of_C/chapter6.ipynb
 create mode 100755 The_Spirit_of_C/chapter7.ipynb
 create mode 100755 The_Spirit_of_C/chapter8.ipynb
 create mode 100755 The_Spirit_of_C/chapter9.ipynb
 create mode 100755 The_Spirit_of_C/screenshots/Screenshot_1.png
 create mode 100755 The_Spirit_of_C/screenshots/Screenshot_2.png
 create mode 100755 The_Spirit_of_C/screenshots/Screenshot_3.png
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter01_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter02_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter03_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter04_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter05_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter06_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter07_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter08_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter09_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter10_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter11_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter12_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter13_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter14_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter15_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter16_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter17_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter18_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter19_3.ipynb
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/README.txt
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_03_3.png
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_09_3.png
 create mode 100755 Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_18_3.png
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter10.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter10_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter10_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter10_Availbility,exergy_and_irreversibilitiy.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter11.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter11_.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter11__1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter11_power_and_refrigeration_cycles.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter13-.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter13-_thermodynamic_relations.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter13.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter13_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter14.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter14_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter14_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter14_Equations_of_state_and_generlized_charts.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter15-.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter15-multicomponet_systems.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter15.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter15_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter16-.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter16-Equlibrium.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter16.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter16_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter17-.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter17-Ideal_solutions.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter17.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter17_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter18-.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter18-Non-ideal_solutions.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter18.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter18_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter19-Chemical_reactions.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter19.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter19_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter5-the_ideal_gas.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter5.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter5_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter5_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter6-Control_volume.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter6.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter6_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter6_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter7-Heat_engines_and_the_second_law_of_thermodynamics.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter7.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter7_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter7_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter8-Entropy.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter8.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter8_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter8_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter9-Applications_of_the_second_law_of_thermodynamics.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter9.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter9_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter9_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts_.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__3.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_2_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_2_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_3.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_3.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_3_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_3_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_4.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_4_-Simple_systems.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_4_.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/Chapter_4__1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/chapter12.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/chapter12_1.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/chapter12_2.ipynb
 delete mode 100755 Thermodynamics:_From_concepts_to_applications/chapter12_ideal_gas_mixtures_and_humid_air.ipynb
 create mode 100755 sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_1.ipynb
 create mode 100755 sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_2.ipynb
 create mode 100755 sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_3.ipynb
 create mode 100755 sample_notebooks/Abu BakkerSiddik/Functions_.ipynb
 create mode 100755 sample_notebooks/AkshayShende/chapter2.ipynb
 create mode 100755 sample_notebooks/Aman KumarJain/Chapter_6_Objects_and_Classes_1.ipynb
 create mode 100755 sample_notebooks/ApurvaBhushan/Chapter_3_1.ipynb
 create mode 100755 sample_notebooks/ChaitanyaPotti/Chapter2.ipynb
 create mode 100755 sample_notebooks/Dileep KumarShakya/chapter1.ipynb
 create mode 100755 sample_notebooks/Dileep KumarShakya/chapter1_1.ipynb
 create mode 100755 sample_notebooks/HeminChheda/chapter1.ipynb
 create mode 100755 sample_notebooks/LaxmanSole/Pinciples_of_electronic_Instrumentation_Ch1.ipynb
 create mode 100755 sample_notebooks/MohdAsif/Chapter2_-_Measurement_Errors.ipynb
 create mode 100755 sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_10.ipynb
 create mode 100755 sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_11.ipynb
 create mode 100755 sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_12.ipynb
 create mode 100755 sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_5.ipynb
 create mode 100755 sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_6.ipynb
 create mode 100755 sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_7.ipynb
 create mode 100755 sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_8.ipynb
 create mode 100755 sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_9.ipynb
 create mode 100755 sample_notebooks/NirenNegandhi/ch2_1.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_1.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_2.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_3.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_4.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_5.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_6.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_(1).ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_10.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_2.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_3.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_4.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_5.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_6.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_7.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_8.ipynb
 create mode 100755 sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_9.ipynb
 create mode 100755 sample_notebooks/Prashanth Kumar Immady/Chapter_1.ipynb
 create mode 100755 sample_notebooks/Prashanth Kumar Immady/Chapter_1_1.ipynb
 create mode 100755 sample_notebooks/Prashanth Kumar Immady/Chapter_1_2.ipynb
 create mode 100755 sample_notebooks/SPANDANAARROJU/Chapter4.ipynb
 create mode 100755 sample_notebooks/SUMITRATHI/chapterno1.ipynb
 create mode 100755 sample_notebooks/SrutiGoyal/Chapter_11-_Object_Initialization_and_Clean-Up_2.ipynb
 create mode 100755 sample_notebooks/Tarun KumarDas/Chapter9_1.ipynb
 create mode 100755 sample_notebooks/Tarun KumarDas/Chapter9_2.ipynb
 create mode 100755 sample_notebooks/Tarun KumarDas/Chapter9_3.ipynb
 create mode 100755 sample_notebooks/Tarun KumarDas/Chapter9_4.ipynb
 create mode 100755 sample_notebooks/Tarun KumarDas/Chapter9_5.ipynb
 create mode 100755 sample_notebooks/VidyaSri/Chapter_1.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/Chapter_01.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/Chapter_01_1.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/Chapter_01_2.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/chapter1_2.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/chapter1_3.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/chapter1_4.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/chapter1_5.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/chapter1_6.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/chapter1_7.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/chapter1_8.ipynb
 create mode 100755 sample_notebooks/VikasPrasad/chapter1_9.ipynb
 create mode 100755 sample_notebooks/Vishwajith VRao/Chapter2.ipynb
 create mode 100755 sample_notebooks/Vishwajith VRao/Chapter2_1.ipynb
 create mode 100755 sample_notebooks/YogeshPatil/Chapter_11_1.ipynb
 create mode 100755 sample_notebooks/abhishekchauhan/chapter13.ipynb
 create mode 100755 sample_notebooks/nitinkumar/Chapter4.ipynb
 create mode 100755 sample_notebooks/sriragap/CHAPTER_2.ipynb
 create mode 100755 sample_notebooks/sriragap/CHAPTER_2_1.ipynb

diff --git a/Antenna_and_Wave_Propagation/chapter1.ipynb b/Antenna_and_Wave_Propagation/chapter1.ipynb
new file mode 100755
index 00000000..04654cc5
--- /dev/null
+++ b/Antenna_and_Wave_Propagation/chapter1.ipynb
@@ -0,0 +1,961 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#  Chapter 1 : Mathematical Preliminaries"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.1,Page Number 45"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "magnitude of vector: 3.74\n",
+      "direction of vector [ 0.267  0.535  0.802]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#variable Declaration\n",
+    "A = np.array([1,2,3]) # A is a vector\n",
+    "\n",
+    "#calculations\n",
+    "l=np.linalg.norm(A)   # magnitude or length of vector A\n",
+    "a=A/l                 # direction of vector A\n",
+    "\n",
+    "#results\n",
+    "print \"magnitude of vector:\",round(l,2)\n",
+    "print \"direction of vector\",np.around(a,3)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "## Example 1.2,Page Number 45"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "summation of two vectors: [ 3  2 12]\n",
+      "subtraction of two vectors: [1 8 0]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#variable Declaration\n",
+    "A=np.array([2,5,6])  # vector A\n",
+    "B=np.array([1,-3,6]) # vector B\n",
+    "\n",
+    "#calculations\n",
+    "Sum = A+B  # summation of two vectors\n",
+    "Sub = A-B  # subtraction of two vectors\n",
+    "\n",
+    "#results\n",
+    "print \"summation of two vectors:\",Sum\n",
+    "print \"subtraction of two vectors:\",Sub\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.3,Page Number 45"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "dot product of vector A and B: 5\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#Variable Declaration\n",
+    "\n",
+    "A = np.array([1,1,2]) # vector A\n",
+    "B = np.array([2,1,1]) # vector B\n",
+    "\n",
+    "#Calculations\n",
+    "k = np.dot(A,B) # dot product of vector A and B\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "print \"dot product of vector A and B:\",k\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.4,Page Number 45"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "cross product of vector A and B: [-3  0  3]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#Variable Declaration\n",
+    "\n",
+    "A = np.array([2,1,2]) # vector A\n",
+    "B = np.array([1,2,1]) # vector B\n",
+    "\n",
+    "#Calculations\n",
+    "Cross = np.cross(A,B) # dot product of vector A and B\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "print \"cross product of vector A and B:\",Cross\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.5,Page Number 46"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "dot product of vector A and B: 9\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#Variable Declaration\n",
+    "\n",
+    "A = np.array([1,3,4]) # vector A\n",
+    "B = np.array([1,0,2]) # vector B\n",
+    "\n",
+    "#Calculations\n",
+    "k = np.dot(A,B) # dot product of vector A and B\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "print \"dot product of vector A and B:\",k\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.9,Page Number 46"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "radius of cylinder is: 2.24 m\n",
+      "azimuthal angle is: 63.43 degrees\n",
+      "z coordinate is: 3 m\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "p = [1,2,3] # coordinates of point p\n",
+    "x = 1       # x coordinate of P\n",
+    "y = 2       # y coordinate of P\n",
+    "z = 3       # z coordinate of P\n",
+    "\n",
+    "#Calculations\n",
+    "rho = math.sqrt(x**2+y**2) #radius of cylinder in m\n",
+    "phi = (math.atan(y/x))*(180/math.pi) # azimuthal angle in degrees\n",
+    "z = 3 # in m\n",
+    "\n",
+    "\n",
+    "#results\n",
+    "print \"radius of cylinder is:\",round(rho,2),\"m\"\n",
+    "print \"azimuthal angle is:\",round(phi,2),\"degrees\"\n",
+    "print \"z coordinate is:\",z,\"m\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.10,Page Number 47"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "cylindrical coordinates of vector A: [ 4.472  0.     1.   ]\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import cos,sin,pi,atan\n",
+    "import numpy as np\n",
+    "\n",
+    "#Variable Declaration\n",
+    "\n",
+    "A = np.array([4,2,1])  # vector A\n",
+    "A_x = 4  # x coordinate of P\n",
+    "A_y = 2  # y coordinate of P\n",
+    "A_z = 1  # z coordinate of P\n",
+    "\n",
+    "\n",
+    "#calculations\n",
+    "phi = atan(A_y/A_x)  # azimuthal in radians\n",
+    "A_rho = (A_x*cos((phi)))+(A_y*sin((phi)))   # x coordinate of cylinder\n",
+    "A_phi = (-A_x*sin(phi))+(A_y*cos(phi))      # y coordinate of cylinder\n",
+    "A_z = 1  # z coordinate of cylinder\n",
+    "A = [A_rho,A_phi,A_z]  # cylindrical coordinates if vector A\n",
+    "\n",
+    "#Result\n",
+    "print \"cylindrical coordinates of vector A:\",np.around(A,3)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.12,Page Number 47"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "radius of sphere is: 3.742 m\n",
+      "angle of elevation is: 0.641 radians\n",
+      "azimuthal angle is: 0.464 radians\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,acos,atan\n",
+    "import numpy as np\n",
+    "\n",
+    "#Variable Declaration\n",
+    "P = np.array([1,2,3])  # coordinates of point P in cartezian system\n",
+    "x = 1 # x coordinate of point P in cartezian system\n",
+    "y = 2 # y coordinate of point P in cartezian system\n",
+    "z = 3 # z coordinate of point P in cartezian system\n",
+    "\n",
+    "#calculations\n",
+    "r = sqrt(x**2+y**2+z**2)  # radius of sphere in m\n",
+    "theta = acos(z/r)  # angle of elevation in degrees\n",
+    "phi = atan(x/y)  # azimuthal angle in degrees\n",
+    "\n",
+    "#results\n",
+    "print \"radius of sphere is:\",round(r,3),\"m\"\n",
+    "print \"angle of elevation is:\",round(theta,3),\"radians\"\n",
+    "print \"azimuthal angle is:\",round(phi,3),\"radians\"\n",
+    "\n",
+    "\n",
+    "# note : answer in the book is incomplete they find only one coordinate but there are three\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.17,Page Number 48"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "power gain is: 13.424 dB\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "A_p=22  # power gain\n",
+    "\n",
+    "#calulation\n",
+    "A_p_dB=10*(np.log10(A_p)) # power gain in dB\n",
+    "\n",
+    "#result\n",
+    "print \"power gain is:\",round(A_p_dB,3),\"dB\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.18,Page Number 48"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "voltage gain is: 39.554 dB\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "A_v=95  # voltage gain\n",
+    "\n",
+    "#calculation\n",
+    "A_v_dB=20*(np.log10(A_v)) # voltage gain in dB\n",
+    "\n",
+    "#result\n",
+    "print \"voltage gain is:\",round(A_v_dB,3),\"dB\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.19,Page Number 48"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "power gain is: 1.386 Np\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "A_p = 16  # power gain\n",
+    "\n",
+    "#calculations\n",
+    "A_p_Np = np.log(sqrt(A_p)) # power gain in Np\n",
+    "\n",
+    "#results\n",
+    "print \"power gain is:\",round(A_p_Np,3),\"Np\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.20,Page Number 49"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "power gain is: 3.526 Np\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "A_i = 34  # current gain\n",
+    "\n",
+    "#calculations\n",
+    "A_i_Np = np.log(A_i) # current gain in Nepers\n",
+    "\n",
+    "#result\n",
+    "print \"power gain is:\",round(A_i_Np,3),\"Np\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.21,Page Number 49"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "magnitude of complex number A is: 4.472\n",
+      "phase of complex number A is: 63.435 degrees\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "import cmath \n",
+    "from math import sqrt,pi\n",
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "A=2+4j  # complex number A\n",
+    "\n",
+    "#calculations\n",
+    "magnitude = abs(A)  # magnitude of complex number A\n",
+    "phi = cmath.phase(A)*(180/pi)  # phase of complex number A in degrees\n",
+    "\n",
+    "#results\n",
+    "print \"magnitude of complex number A is:\",round(magnitude,3)\n",
+    "print \"phase of complex number A is:\",round(phi,3),\"degrees\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.22,Page Number 49"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "magnitude of complex number A is: 3.162\n",
+      "phase of complex number A in degrees: 71.565\n",
+      "conjugate of complex no. A: (1-3j)\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import pi\n",
+    "import cmath\n",
+    "\n",
+    "#variable declaration\n",
+    "A = 1+3j  # complex no. A\n",
+    "\n",
+    "#calculations\n",
+    "c = A.conjugate()  # conjugate of complex no. A\n",
+    "magnitude = abs(A)  # magnitude of complex number A\n",
+    "phi = cmath.phase(A)*(180/pi)  # phase of complex number A in degrees\n",
+    "\n",
+    "\n",
+    "#results\n",
+    "print \"magnitude of complex number A is:\",round(magnitude,3)\n",
+    "print \"phase of complex number A in degrees:\",round(phi,3)\n",
+    "print \"conjugate of complex no. A:\",c\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.23,Page Number 49"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 24,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "real part of complex number A: 3.536\n",
+      "imaginary part of complex number A: 3.536\n",
+      "complex number A: (3.536+3.536j)\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import cos,sin,radians\n",
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "rho = 5   # magnitude of the complex number A\n",
+    "phi = 45  # phase of a complex number A in Degrees\n",
+    "\n",
+    "#calculations\n",
+    "x = rho*cos(radians(phi))  # real part of complex number A\n",
+    "y = rho*sin(radians(phi))  # imaginary part of complex number A\n",
+    "A = complex(x,y)  # complex number A\n",
+    "\n",
+    "#results\n",
+    "print \"real part of complex number A:\",round(x,3)\n",
+    "print \"imaginary part of complex number A:\",round(y,3)\n",
+    "print \"complex number A:\",np.around(A,3)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.24,Page Number 49"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "sum of complex numbers A_1 and A_2 is: (6+8j)\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Variable Declaration\n",
+    "\n",
+    "A_1 = 2+3j # complex number A_1\n",
+    "A_2 = 4+5j # complex number A_2\n",
+    "\n",
+    "\n",
+    "#calculation\n",
+    "A = A_1 + A_2\n",
+    "\n",
+    "#Result\n",
+    "print \"sum of complex numbers A_1 and A_2 is:\",A\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.25,Page Number 49"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Difference of complex numbers A_1 and A_2 is: (-1+8j)\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Variable Declaration\n",
+    "\n",
+    "A_1 = 6j # complex number A_1\n",
+    "A_2 = 1-2j # complex number A_2\n",
+    "\n",
+    "\n",
+    "#calculation\n",
+    "A = A_1 - A_2\n",
+    "\n",
+    "#Result\n",
+    "print \"Difference of complex numbers A_1 and A_2 is:\",A\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.26,Page Number 49"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Product of complex numbers A and B is: (-14.2+11.2j)\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Variable Declaration\n",
+    "\n",
+    "A = 0.4 + 5j # complex number A\n",
+    "B = 2+3j     # complex number B\n",
+    "\n",
+    "\n",
+    "#calculation\n",
+    "P = A*B\n",
+    "\n",
+    "#Result\n",
+    "print \"Product of complex numbers A and B is:\",P\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.27,Page Number 50"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 25,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Division of complex numbers A and B is: (0.154+3.231j)\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#Variable Declaration\n",
+    "\n",
+    "A = 10+6j # complex number A\n",
+    "B = 2-3j  # complex number B \n",
+    "\n",
+    "#calculation\n",
+    "D = A/B\n",
+    "\n",
+    "#Result\n",
+    "print \"Division of complex numbers A and B is:\",np.around(D,3)\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.28,Page Number 50"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "The roots of the given quadratic equation are: [-1 - sqrt(3)*I, -1 + sqrt(3)*I]\n",
+      "Root 1 = -1.0 - 1.732*I\n",
+      "Root 2 = -1.0 + 1.732*I\n"
+     ]
+    }
+   ],
+   "source": [
+    "from sympy import Symbol,solve\n",
+    "\n",
+    "#variable Declaration\n",
+    "\n",
+    "x = Symbol('x')\n",
+    "p = (x)**2 + 2*x + 4\n",
+    "\n",
+    "#calculations\n",
+    "Roots = solve(p,x)\n",
+    "\n",
+    "\n",
+    "#result\n",
+    "print \"The roots of the given quadratic equation are:\",Roots\n",
+    "\n",
+    "for i in range(len(Roots)):\n",
+    "    print \"Root %i = %s\" % (i + 1, str(Roots[i].n(5)))\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example 1.29,Page Number 50"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "The minor of 8 is: [[1 3]\n",
+      " [4 6]]\n",
+      "the determinant of minor of 8 is: -6.0\n",
+      "The minor of 8 is: [[1 2]\n",
+      " [4 5]]\n",
+      "the determinant of minor of 9 is: -3.0\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#variable Declaration\n",
+    "a = np.array([[1,2,3],[4,5,6],[7,8,9]]) # Determinant\n",
+    "i = 2 # Third row of the determinant \n",
+    "j = 1 # second column of the determinant\n",
+    "\n",
+    "#Calculations\n",
+    "\n",
+    "b = np.delete(np.delete(a, i, axis=0), j, axis=1) # minor of 8\n",
+    "m = np.linalg.det(b) # determinant of minor of 8\n",
+    "\n",
+    "i = 2 # Third row of the determinant \n",
+    "j = 2 # Third column of the determinant\n",
+    "c = np.delete(np.delete(a, i, axis=0), j, axis=1) # minor of 9\n",
+    "n = np.linalg.det(c) # determinant of minor of 9\n",
+    "\n",
+    "\n",
+    "#Result\n",
+    "print \"The minor of 8 is:\",b\n",
+    "print \"the determinant of minor of 8 is:\",m\n",
+    "print \"The minor of 8 is:\",c\n",
+    "print \"the determinant of minor of 9 is:\",n\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example 1.30,Page Number 50-51"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "The cofactor of 6 is: [[-3 -2]\n",
+      " [-9 -8]]\n",
+      "The cofactor of 5 is: [[-1 -3]\n",
+      " [-7 -9]]\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration and Calculations\n",
+    "a = np.array([[1,3,2],[6,1,5],[7,9,8]]) # Determinant\n",
+    "i = 1 # second row of the determinant \n",
+    "j = 0 # first column of the determinant\n",
+    "b = np.delete(np.delete(a, i, axis=0), j, axis=1) # minor of 6\n",
+    "b_c = (-1)**(i+j) * b #cofactor of 6 \n",
+    "\n",
+    "\n",
+    "i = 1 # second row of the determinant \n",
+    "j = 2 # Third column of the determinant\n",
+    "c = np.delete(np.delete(a, i, axis=0), j, axis=1) # minor of 5\n",
+    "c_c = (-1)**(i+j) * c #cofactor of 5\n",
+    "\n",
+    "#Result\n",
+    "print \"The cofactor of 6 is:\",b_c\n",
+    "print \"The cofactor of 5 is:\",c_c\n",
+    "\n",
+    "\n",
+    "## note : the answer of cofactor of 5 is wrong in the book.The sign should be negative.   \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 1.31,Page Number 51"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "factorial of 4 is: 24\n",
+      "factorial of 6 is: 720\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import factorial\n",
+    "\n",
+    "f1 = factorial(4)   # factorial of 4\n",
+    "f2 = factorial(6)   # factorial of 6\n",
+    "print \"factorial of 4 is:\",f1\n",
+    "print \"factorial of 6 is:\",f2\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Antenna_and_Wave_Propagation/chapter2.ipynb b/Antenna_and_Wave_Propagation/chapter2.ipynb
new file mode 100755
index 00000000..fd9e78b2
--- /dev/null
+++ b/Antenna_and_Wave_Propagation/chapter2.ipynb
@@ -0,0 +1,1129 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 2 : Maxwell's Equations and Electromagnetic Waves"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.8,Page Number 112"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "magnetic field in region 2 in A/m: [ 2.4  1.5 -3. ]\n",
+      "magnitude of magnetic field in region 2 in A/m: 4.124\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "import numpy as np\n",
+    "from math import pi\n",
+    "\n",
+    "#variable delaration\n",
+    "mu_0 = 4*pi*10**(-7)  #  permeability in free space\n",
+    "mu_r1 = 3  #  region 1 relative permeability\n",
+    "mu_r2 = 5  #  region 2 relative permeability\n",
+    "mu_1 = mu_r1*mu_0  #  region 1 permeability\n",
+    "mu_2 = mu_r2*mu_0  #  region 2 permeability\n",
+    "\n",
+    "#calculations\n",
+    "H1  = np.array([4,1.5,-3])  #  magnetic field in region 1 in A/m\n",
+    "Ht1 = np.array([0,1.5,-3])  #  tangential component of magnetic field H1\n",
+    "Hn1 = np.array([4,0,0])     #  normal component of magnetic field H1\n",
+    "Ht2 = np.array([0,1.5,-3])  #  as tangential componenet of magnetic field H2 = tangential component of magnetic field H1\n",
+    "Hn2 = (mu_1/mu_2)*Hn1       #  normal component of magnetic field H2\n",
+    "H2  = Ht2+Hn2               #  magnetic field in region 2 in A/m\n",
+    "h2  = np.linalg.norm(H2)    #  magnitude of the magnetic field H2 in A/m\n",
+    "\n",
+    "#results\n",
+    "print \"magnetic field in region 2 in A/m:\",np.around(H2,2)\n",
+    "print \"magnitude of magnetic field in region 2 in A/m:\",round(h2,3) \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.9,Page Number 113"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 21,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "electric field in region 2 in V/m: [ 0.5  2.   3. ]\n",
+      "electric flux density in region 2 in C/m**2: [  8.85400000e-12   3.54160000e-11   5.31240000e-11]\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "import numpy as np\n",
+    "\n",
+    "#variable Declaration\n",
+    "epsilon_0 = 8.854*10**(-12) # permittivity in free space\n",
+    "sigma_1 = 0 #conductivity of medium 1\n",
+    "sigma_2 = 0 #conductivity of medium 2\n",
+    "epsilon_r1 = 1 # region 1 relative permittivity\n",
+    "epsilon_r2 = 2 # region 2 relative permittivity\n",
+    "\n",
+    "#calculations\n",
+    "epsilon_1 = epsilon_r1*epsilon_0 # region 1 permittivity\n",
+    "epsilon_2 = epsilon_r2*epsilon_0 # region 2 permittivity\n",
+    "E1  = np.array([1,2,3])  # Electric field in region 1 in V/m\n",
+    "Et1 = np.array([0,2,3])  # tangential component of electric field E1\n",
+    "En1 = np.array([1,0,0])  # normal component of electric field E1\n",
+    "Et2 = np.array([0,2,3])  # as tangential componenet of electric field E2 = tangential component of electric field E1\n",
+    "En2 = (epsilon_1/epsilon_2)*En1 # normal component of electric field E2\n",
+    "E2  = Et2+En2 # electric field in region 2 in V/m\n",
+    "Dt1 = epsilon_0*Et1  # tangential component of electric flux density D1\n",
+    "D2  = epsilon_2*E2   # electric flux density in region 2 in C/m**2\n",
+    "\n",
+    "\n",
+    "#Results\n",
+    "print \"electric field in region 2 in V/m:\",np.around(E2,2)\n",
+    "print \"electric flux density in region 2 in C/m**2:\",D2 \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.12,Page Number 116"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "eta_0 =  E/H  =  377*cos(10**8*t-Beta*z)/cos(10**8*t-Beta*z)  = > E/H = 377\n",
+      "intrinsic impedence in ohm: 377\n",
+      "frequency in MHz: 15.915\n",
+      "phase constant in rad/m: 0.333\n",
+      "wavelength in m: 18.85\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "import numpy as np\n",
+    "from math import pi\n",
+    "\n",
+    "#variable Declaration\n",
+    "\n",
+    "#  H = cos(10**8*t-Beta*z)ay       #  magnetic field in A/m\n",
+    "#  E = 377*cos(10**8*t-Beta*z)ax   #  electric field in V/m\n",
+    "omega = 10**8    #  angular frequency in Hz\n",
+    "v_0 = 3*10**8    #  speed of light in m/s\n",
+    "\n",
+    "\n",
+    "#calculations\n",
+    "f = omega/(2*pi) #  frequency in Hz\n",
+    "lamda = v_0/f    #  wavelength in m\n",
+    "Beta = (2*pi)/lamda #  phase constant in rad/m\n",
+    "print \"eta_0 =  E/H  =  377*cos(10**8*t-Beta*z)/cos(10**8*t-Beta*z)  = > E/H = 377\"\n",
+    "eta_0 = abs(377) #  intrinsic impedence in ohm\n",
+    "\n",
+    "\n",
+    "\n",
+    "#Results\n",
+    "print \"intrinsic impedence in ohm:\",eta_0\n",
+    "print \"frequency in MHz:\",round(f/(10**6),3)\n",
+    "print \"phase constant in rad/m:\",round(Beta,3)\n",
+    "print \"wavelength in m:\",round(lamda,3)\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.14,Page Number 116"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "propagation constant in m**-1: 2.094j\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import pi\n",
+    "import numpy as np\n",
+    "\n",
+    "#Variable Declaration\n",
+    "f = 100        #  frequency in MHz\n",
+    "f = 100*10**6  #  frequency in Hz\n",
+    "v_0=3*10**8    #  speed of light in m/s\n",
+    "\n",
+    "\n",
+    "#  formula : Gamma = omega(j)*sqrt(mu_0*epsilon_0)=omega(j)/v_0 =(2j*pi*f)/v_0\n",
+    "Gamma =(2j*pi*f)/(v_0)  # propagation constant\n",
+    "\n",
+    "\n",
+    "#result\n",
+    "print \"propagation constant in m**-1:\",np.around(Gamma,3)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.15,Page Number 116"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "amplitude of the magnetic field in A/m: 48\n",
+      "frequency in MHz: 15.915\n",
+      "phase constant in rad/m: 40.0\n",
+      "wavelength in m: 0.157\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import pi\n",
+    "\n",
+    "#Variable Declaration\n",
+    "\n",
+    "# H(z,t) =  48*cos(10**8*t+40*z)ay  #  equation of magnetic field \n",
+    "A = 48  #  amplitude of the magnetic field in A/m\n",
+    "omega = 10**8  #  angular frequency in radians/sec\n",
+    "Beta = 40  #  phase constant in rad/m\n",
+    "\n",
+    "#Calculations\n",
+    "f = omega/(2*pi)  #  frequency in Hz\n",
+    "lamda = (2*pi)/Beta  #  wavelength in m\n",
+    "\n",
+    "\n",
+    "#results\n",
+    "print \"amplitude of the magnetic field in A/m:\",A\n",
+    "print \"frequency in MHz:\",round(f/10**6,3)\n",
+    "print \"phase constant in rad/m:\",round(Beta,3)\n",
+    "print \"wavelength in m:\",round(lamda,3)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.16,Page Number 117"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "magnitude of electric field in V/m in free space: 753.982\n",
+      "magnitude of electric field in V/m: 376.734\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import pi,sqrt\n",
+    "\n",
+    "#Variable Declaration\n",
+    "\n",
+    "H = 2  #  ampliutude of magnetic field in A/m\n",
+    "sigma = 0  #  conductivity\n",
+    "mu_0 = 4*pi*10**-7  #  permeability in free space in H/m\n",
+    "epsilon_0 = 8.854*10**-12  #  permittivity in free space in F/m\n",
+    "\n",
+    "#calculations\n",
+    "mu = mu_0  #  permeability in F/m\n",
+    "epsilon = 4*epsilon_0  #  permittivity in F/m\n",
+    "Eta_0 = 120*pi  #  intrinsic impedence in free space in ohm\n",
+    "E_free = Eta_0*H  #  electric field in V/m\n",
+    "\n",
+    "\n",
+    "#results\n",
+    "print \"magnitude of electric field in V/m in free space:\",round(E_free,3)\n",
+    "Eta = sqrt(mu/epsilon)  #  intrinsic impedence in ohm\n",
+    "E = Eta*H  #  magnitude of electric field\n",
+    "print \"magnitude of electric field in V/m:\",round(E,3)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.17,Page Number 117"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 23,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "propagation constant im m**-1: 18.862j\n",
+      "intrinsic impedence in ohm: 125.578\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import pi,sqrt\n",
+    "import numpy as np\n",
+    "\n",
+    "\n",
+    "#variable Declaration\n",
+    "\n",
+    "sigma = 0  #  conductivity in mho/m\n",
+    "f = 0.3  #  frequency in GHz\n",
+    "f = 0.3*10**9  #  frequency in Hz\n",
+    "omega = 2*pi*f  #  angular frequency in rad/sec\n",
+    " #  formula : Gamma = sqrt(1j*omega*mu*(sigma+1j*omega*epsilon)) = 1j*omega*sqrt(mu*epsilon)\n",
+    "epsilon_0 = 8.854*10**-12  #  permittivity in free space in F/m\n",
+    "epsilon = 9*epsilon_0  #  permittivity in F/m\n",
+    "mu_0 = 4*pi*10**-7  #   permeability in free space in H/m\n",
+    "mu = mu_0  #  permeability in H/m\n",
+    "Gamma = 1j*omega*sqrt(mu*epsilon)  #  propagation constant im m**-1\n",
+    "\n",
+    "\n",
+    "#results\n",
+    "\n",
+    "print \"propagation constant im m**-1:\",np.around(Gamma,3)\n",
+    " #  formula : eta = sqrt((1j*omega*mu)/(sigma+omega*epsilon)) = sqrt(mu/epsilon)\n",
+    "eta = sqrt(mu_0/(9*epsilon_0))  #  intrinsic impedence in ohm\n",
+    "print \"intrinsic impedence in ohm:\",round(eta,3)\n",
+    "\n",
+    "\n",
+    "\n",
+    "# note : answer in the book is wrong.\n",
+    "\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.18,Page Number 118"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "frequecy in MHz: 600.0\n",
+      "relative permittivity: 4.0\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,pi\n",
+    "\n",
+    "#variable declaration\n",
+    "\n",
+    "lamda = 0.25    #  wavelength in m\n",
+    "v = 1.5*10**10  #  velocity of propagation of wave in cm/sec\n",
+    "v = 1.5*10**8   #  velocity of propagation of wave in m/sec\n",
+    "epsilon_0 = 8.854*10**-12  #  permittivity in free space in F/m\n",
+    "mu_0 = 4*pi*10**-7         #   permeability in free space in H/m\n",
+    "mu = mu_0      #  permeability in H/m\n",
+    "v_0 = 3*10**8  #  speed of light in m/s\n",
+    "f = v/lamda     #  frequency in Hz\n",
+    " #  formula : v = 1/(mu*epsilon) = 1/(mu_0*epsilon_0*epsilon_r) = v_0/sqrt(epsilon_r)\n",
+    "epsilon_r = (v_0/v)**2  #  relative permittivity\n",
+    "\n",
+    "\n",
+    "#results\n",
+    "print \"frequecy in MHz:\",round(f/10**6,3)\n",
+    "print \"relative permittivity:\",epsilon_r\n",
+    "\n",
+    "\n",
+    " # note : answer in the book is wrong.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.19,Page Number 118"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "frequency in MHz: 15.915\n",
+      "phase constant in rad/m: 4.0\n",
+      "wavelength in m: 18.85\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,pi\n",
+    "\n",
+    "#variable declaration and calculations\n",
+    "\n",
+    "#E = 5*sin(10**8*t+4*x)az  #  equation of electric field \n",
+    "\n",
+    "A = 5  #  amplitude of the electric field\n",
+    "omega = 10**8  #  angular frequency in radians/sec\n",
+    "f = omega/(2*pi)  #  frequency in Hz\n",
+    "Beta = 4  #  phase constant in rad/m\n",
+    "v_0 = 3*10**8  #  speed of light in m/s\n",
+    "lamda = v_0/f  #  wavelength in m\n",
+    "\n",
+    "\n",
+    "#results\n",
+    "print \"frequency in MHz:\",round(f/10**6,3)\n",
+    "print \"phase constant in rad/m:\",round(Beta,3)\n",
+    "print \"wavelength in m:\",round(lamda,3)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.20,Page Number 119"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "When frequency = 50Hz:\n",
+      "K1 is equal to 360000.0\n",
+      "since k1>>1 hence it behaves like a good conductor:\n",
+      "When frequency = 1kHz:\n",
+      "K2 is equal to 18000.0\n",
+      "since k2>>1 hence it behaves like a good conductor:\n",
+      "When frequency = 1MHz:\n",
+      "K3 is equal to 18.0\n",
+      "since k3 = 18 hence it behaves like a moderate conductor:\n",
+      "When frequency = 100MHz:\n",
+      "K4 is equal to 0.18\n",
+      "since k4 = 0.18 hence it behaves like a quasi-dielectric:\n",
+      "When frequency = 10GHz:\n",
+      "K5 is equal to 0.0018\n",
+      "since k5<<1 hence it behaves like a good dielectric:\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import pi\n",
+    "\n",
+    "sigma = 10**-2  #  conductivity of earth in mho/m\n",
+    "epsilon_r = 10  #  relative permittivity\n",
+    "mu_r = 2  #  relative permeability\n",
+    "epsilon_0 = (1/(36*pi))*10**-9  #  permittivity in free space\n",
+    "epsilon = epsilon_r*epsilon_0  #  permittivity\n",
+    "f1 = 50  #  frequency in Hz\n",
+    "omega1 = 2*pi*f1  #  angular frequency in rad/sec\n",
+    "print \"When frequency = 50Hz:\"\n",
+    "k1 = sigma/(omega1*epsilon)\n",
+    "print \"K1 is equal to\",k1\n",
+    "print \"since k1>>1 hence it behaves like a good conductor:\"\n",
+    "f2 = 1  #  frequency in kHz\n",
+    "f2 = 1*10**3  #  frequency in Hz\n",
+    "omega2 = 2*pi*f2  #  angular frequency in rad/sec\n",
+    "print \"When frequency = 1kHz:\"\n",
+    "k2 = sigma/(omega2*epsilon)\n",
+    "print \"K2 is equal to\",k2\n",
+    "print \"since k2>>1 hence it behaves like a good conductor:\"\n",
+    "f3 = 1  #  frequency in MHz\n",
+    "f3 = 1*10**6  #  frequency in Hz\n",
+    "omega3 = 2*pi*f3  #  angular frequency in rad/sec\n",
+    "print \"When frequency = 1MHz:\"\n",
+    "k3 = sigma/(omega3*epsilon)\n",
+    "print \"K3 is equal to\",k3\n",
+    "print \"since k3 = 18 hence it behaves like a moderate conductor:\"\n",
+    "f4 = 100  #  frequency in MHz\n",
+    "f4 = 100*10**6  #  frequency in Hz\n",
+    "omega4 = 2*pi*f4  #  angular frequency in rad/sec\n",
+    "print \"When frequency = 100MHz:\"\n",
+    "k4 = sigma/(omega4*epsilon)\n",
+    "print \"K4 is equal to\",k4\n",
+    "print \"since k4 = 0.18 hence it behaves like a quasi-dielectric:\"\n",
+    "f5 = 10  #  frequency in GHz\n",
+    "f5 = 10*10**9  #  frequency in Hz\n",
+    "omega5 = 2*pi*f5  #  angular frequency in rad/sec\n",
+    "print \"When frequency = 10GHz:\"\n",
+    "k5 = sigma/(omega5*epsilon)\n",
+    "print \"K5 is equal to\",k5\n",
+    "print \"since k5<<1 hence it behaves like a good dielectric:\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.21,Page Number 120"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "ratio k is equal to 1.73763020468e+16\n",
+      "since k>>1 therefore it is very good conductor:\n",
+      "attenuation constant in m**-1: 117.21\n",
+      "phase constant in m**-1: 117.21\n",
+      "propagation constant in m**-1: (117.21+117.21j)\n",
+      "intrinsic impedence in ohm: (2.0209e-06+2.0209e-06j)\n",
+      "wavelength in cm: 5.36\n",
+      "phase velocity of wave in m/s: 3.216\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,pi\n",
+    "import cmath\n",
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "f = 60  # frequency in Hz\n",
+    "omega = 2*pi*f  # angular frequency in rad/sec\n",
+    "sigma = 5.8*10**7  # conductivity in mho/m\n",
+    "epsilon_0 = 8.854*10**-12  # permittivity in free space in F/m\n",
+    "mu_0 = 4*pi*10**-7  #  permeability in free space in H/m\n",
+    "epsilon_r = 1  # relative permittivity\n",
+    "mu_r = 1  # relative permeability\n",
+    "\n",
+    "\n",
+    "#calculations\n",
+    "epsilon = epsilon_r*epsilon_0  # permittivity\n",
+    "mu = mu_0*mu_r  # permeability\n",
+    "k = sigma/(omega*epsilon)  # ratio\n",
+    "print \"ratio k is equal to\",k\n",
+    "print \"since k>>1 therefore it is very good conductor:\"\n",
+    "alpha = sqrt(omega*mu*sigma/2)  # attenuation constant in m**-1\n",
+    "Beta = sqrt(omega*mu*sigma/2)  # phase constant in m**-1\n",
+    "Gamma = alpha+(1j*Beta)  # propagation constant in m**-1\n",
+    "lamda = (2*pi)/Beta  # wavelength\n",
+    "eta = cmath.sqrt(((1j*omega*mu)/sigma))  # intrinsic impedence in ohm\n",
+    "v = lamda*f  # phase velocity of wave in m/s\n",
+    "\n",
+    "\n",
+    "#result\n",
+    "print \"attenuation constant in m**-1:\",round(alpha,2)\n",
+    "print \"phase constant in m**-1:\",round(Beta,2)\n",
+    "print \"propagation constant in m**-1:\",np.around(Gamma,2)\n",
+    "print \"intrinsic impedence in ohm:\",np.around(eta,10)\n",
+    "print \"wavelength in cm:\",round(lamda*100,2)\n",
+    "print \"phase velocity of wave in m/s:\",round(v,3)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.22,Page Number 120"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "At f = 60Hz\n",
+      "ratio k is equal to 1.73763020468e+16\n",
+      "since k>>1 therefore it is very good conductor at f = 60Hz:\n",
+      "depth of penetration delta1 in m: 0.00853160047351\n",
+      "At f = 100Hz\n",
+      "ratio k is equal to 10425781228.1\n",
+      "since k2>>1 therefore it is very good conductor at f = 100Hz:\n",
+      "depth of penetration delta2 in m: 6.60854931008e-06\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,pi\n",
+    "\n",
+    "\n",
+    "#variable Declaration\n",
+    "\n",
+    "f1 = 60  #  frequency in Hz\n",
+    "omega1 = 2*pi*f1  #  angular frequency in Hz\n",
+    "f2 = 100          #  frequency in MHz\n",
+    "f2 = 100*10**6    #  frequency in Hz\n",
+    "omega2 = 2*pi*f2  #  angular frequency in Hz\n",
+    "sigma = 5.8*10**7 #  conductivity in mho/m\n",
+    "epsilon_0 = 8.854*10**-12  #  permittivity in free space in F/m\n",
+    "mu_0 = 4*pi*10**-7         #  permeability in free space in H/m\n",
+    "epsilon_r = 1    #  relative permittivity\n",
+    "mu_r = 1         #  relative permeability\n",
+    "epsilon = epsilon_r*epsilon_0  #  permittivity\n",
+    "mu = mu_0*mu_r   #  permeability\n",
+    "\n",
+    "print \"At f = 60Hz\"\n",
+    "k1 = (sigma)/(omega1*epsilon)  #  ratio\n",
+    "print \"ratio k is equal to\",k1\n",
+    "print \"since k>>1 therefore it is very good conductor at f = 60Hz:\"\n",
+    "delta1 = (sqrt(2/(omega1*mu*sigma)))  #  depth of penetration in m\n",
+    "print \"depth of penetration delta1 in m:\",delta1\n",
+    "\n",
+    "print \"At f = 100Hz\"\n",
+    "k2 = sigma/(omega2*epsilon)  #  ratio\n",
+    "print \"ratio k is equal to\",k2\n",
+    "print \"since k2>>1 therefore it is very good conductor at f = 100Hz:\"\n",
+    "delta2 = (sqrt(2/(omega2*mu*sigma)))  #  depth of penetration in m\n",
+    "print \"depth of penetration delta2 in m:\",delta2\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.23,Page Number 121"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "when f = 1MHz\n",
+      "displacement current when f = 1MHz in A: 9.59160736375e-12\n",
+      "when f = 100MHz\n",
+      "displacement current when f = 100MHz in A: 9.59160736375e-10\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,pi\n",
+    "\n",
+    "\n",
+    "#variable Declaration\n",
+    "\n",
+    "Ic = 10  #  conduction current in ampere\n",
+    "epsilon_r = 1  #  relative permittivity\n",
+    "epsilon_0 = 8.854*10**-12  #  permittivity in free space\n",
+    "epsilon = epsilon_r*epsilon_0  #  permittivity\n",
+    "sigma = 5.8*10**7  #  conductivity in mho/m\n",
+    "\n",
+    "print \"when f = 1MHz\"\n",
+    "f = 1  #  frequency in MHz\n",
+    "f = 1*10**6  #  frequency in Hz\n",
+    "Id = (2*pi*f*epsilon*Ic)/sigma  #  printlacement current\n",
+    "print \"displacement current when f = 1MHz in A:\",Id\n",
+    "print \"when f = 100MHz\"\n",
+    "f = 100  #  frequency in MHz\n",
+    "f = 100*10**6  #  frequency in Hz\n",
+    "Id = (2*pi*f*epsilon*Ic)/sigma  #  printlacement current\n",
+    "print \"displacement current when f = 100MHz in A:\",Id\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.25,Page Number 122"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "ratio k is equal to:\n",
+      "ratio: 221.92\n",
+      "K is >>1 so sea water is a good conductor\n",
+      "depth in the sea that can be reached by the aeroplane in m: 1.41095\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,pi,sin,cos,radians,log\n",
+    "\n",
+    "#variable declaration\n",
+    "Em = 20          # minimum signal level required for vessel under sea water in microV/m\n",
+    "Em = 20*10**-6   # minimum signal level required for vessel under sea water in V/m\n",
+    "E = 100          # electric intensity of wave in V/m\n",
+    "v = 3*10**8      # speed of light in m/s\n",
+    "f = 4            # frequency in MHz\n",
+    "f = 4*10**6      # frequency in Hz\n",
+    "omega = 2*pi*f   # angular frequency in Hz\n",
+    "sigma = 4        # conductivity of sea water in mho/m\n",
+    "epsilon_r = 81   # relative permittivity\n",
+    "epsilon_0 = 8.854*10**-12     # permittivity in free space\n",
+    "epsilon = epsilon_r*epsilon_0 # permittivity\n",
+    "mu_r = 1             # relative permeability\n",
+    "mu_0 = 4*pi*10**(-7) # permeability in free space\n",
+    "mu = mu_r*mu_0    # permeability\n",
+    "k = (sigma)/(omega*epsilon)  #ratio\n",
+    "print \"ratio k is equal to:\"\n",
+    "print \"ratio:\",round(k,3)\n",
+    "print \"K is >>1 so sea water is a good conductor\"\n",
+    "eta_1 = 377   # intrinsic impedance in free space in ohm\n",
+    "alpha_1 = 0   # attenuation constant in free space in m**-1\n",
+    "\n",
+    "\n",
+    "#calculations\n",
+    "beta_1 = omega/v  # phase constant in m**-1\n",
+    "mageta_2 = sqrt((omega*mu)/sigma)   # magnitude of eta_2(intrinsic impedance of sea water in ohm) \n",
+    "argeta_2 = 45                     # argument of eta_2 in degrees\n",
+    "eta_2 = mageta_2*cos(radians(argeta_2))+(1j*mageta_2*sin(radians(argeta_2)))    #intrinsic impedance in complex form (r*cos(theta)+1j*r*sin(theta))\n",
+    "TC = 2*eta_2/(eta_1+eta_2)          # transmission cofficient\n",
+    "Et = abs(TC)*E                      # transmitted electric field in V/m\n",
+    "alpha_2 = sqrt((omega*mu*sigma)/2)  # attenuation constant for sea water in m**-1\n",
+    "# formula: Et*exp(-alpha_2*d) = Em\n",
+    "d = -(1/alpha_2)*(log(Em/Et))   # depth in the sea that can be reached by the aeroplane in m\n",
+    "\n",
+    "\n",
+    "#result\n",
+    "print \"depth in the sea that can be reached by the aeroplane in m:\",round(d,5)\n",
+    "\n",
+    "\n",
+    "# note 1: the value of alpha_2 in book is 7.905 but it is \"7.94\" exactly calculated by python.\n",
+    "#note 2 : The correct answer of the Depth(d) is \"1.41095\" the answer in the book is wrong.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.27,Page Number 124"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "E=sin(omega*t-beta*z)ax+2*sin(omega*t-beta*z+75)ay  #  electric field in V/m\n",
+      "power per unit area conveyed by the wave in free space in mW/m**2: 6.631\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "\n",
+    "eta_0=377  #  intrinsic impedance in free space in ohm\n",
+    "print \"E=sin(omega*t-beta*z)ax+2*sin(omega*t-beta*z+75)ay  #  electric field in V/m\"\n",
+    "Ex=1  #  magnitude of Ex\n",
+    "Ey=2  #  magnitude of Ey\n",
+    "\n",
+    "#calculations\n",
+    "E=sqrt(Ex**2+Ey**2)       #  resultant magnitude\n",
+    "Pav=((1/2)*E**2)/(eta_0)  #  power per unit area conveyed by the wave in free space\n",
+    "\n",
+    "#results\n",
+    "print \"power per unit area conveyed by the wave in free space in mW/m**2:\",round(Pav*1000,3)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.28,Page Number 125"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Average power in micro*w/m**2: 2354.59\n",
+      "maximum energy density of the wave in PJ/m*3: 31.416\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,pi\n",
+    "\n",
+    "#variable declaration\n",
+    "\n",
+    "epsilon_0 = 8.854*10**-12  # permittivity in free space in F/m\n",
+    "mu_0 = 4*pi*10**-7  #  permeability in free space in H/m\n",
+    "epsilon_r = 4  # relative permittivity\n",
+    "mu_r = 1  # relative permeability\n",
+    "epsilon = epsilon_r*epsilon_0  # permittivity\n",
+    "mu = mu_0*mu_r  # permeability\n",
+    "H = 5  # magnitude of magnetic field in mA/m\n",
+    "H = 5*10**-3  # magnitude of magnetic field in A/m\n",
+    "\n",
+    "#calculations\n",
+    "eta = sqrt(mu/epsilon) # intrinsic impedence in ohm\n",
+    "E = H*sqrt(mu/epsilon)  # magnitude of electric field\n",
+    "P_av = E**2/(2*eta)  # average power\n",
+    "W_E = epsilon*E**2  # maximum energy density of the wave\n",
+    "\n",
+    "\n",
+    "#results\n",
+    "print \"Average power in micro*w/m**2:\",round(P_av*10**6,2)\n",
+    "print \"maximum energy density of the wave in PJ/m*3:\",round(W_E*10**12,3)\n",
+    "\n",
+    "\n",
+    "#note: P_av is =  2353.75 in book but it is 2354.58 correctly calculated by python.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.29,Page Number 125"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 17,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "electric energy density of the wave in nJ/m**3: 139.078\n",
+      "magnetic energy density of wave in nJ/m**3: 139.078\n",
+      "Total energy density in nJ/m**3: 278.157\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,pi\n",
+    "\n",
+    "#variable declaration\n",
+    "\n",
+    "epsilon_0 = 8.854*10**-12 #  permittivity in free space in F/m\n",
+    "mu_0 = 4*pi*10**-7 #   permeability in free space in H/m\n",
+    "epsilon_r = 1 #  relative permittivity\n",
+    "mu_r = 1 #  relative permeability\n",
+    "epsilon = epsilon_r*epsilon_0 #  permittivity\n",
+    "mu = mu_0*mu_r #  permeability\n",
+    "E = 100*sqrt(pi) #  magnitude of electric field in V/m\n",
+    "\n",
+    "\n",
+    "#calculations\n",
+    "W_E = (1/2)*epsilon*E**2 #  electric energy density of the wave\n",
+    "W_H = W_E #  as the energy density is equal to that of magnetic field for a pla`ne travelling wave\n",
+    "W_T = W_E+W_H #  total energy density\n",
+    "\n",
+    "#results\n",
+    "print \"electric energy density of the wave in nJ/m**3:\",round(W_E*10**9,3)\n",
+    "print \"magnetic energy density of wave in nJ/m**3:\",round(W_H*10**9,3)\n",
+    "print \"Total energy density in nJ/m**3:\",round(W_T*10**9,3)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.30,Page Number 126"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 18,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "when frequency = 25kHz\n",
+      "transmitted distance in m: 3.274\n",
+      "when frequency = 25MHz\n",
+      "transmitted distance in m: 0.105\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,pi\n",
+    "\n",
+    "#variable Declaration\n",
+    "\n",
+    "sigma = 5 #  conductivity of sea water in mho/m\n",
+    "f1 = 25 #  frequency in kHz\n",
+    "f1 = 25*10**3 #  frequency in Hz\n",
+    "omega1 = 2*pi*f1 #  angular frequency in Hz\n",
+    "f2 = 25 #  frequency in MHz\n",
+    "f2 = 25*10**6 #  frequency in Hz\n",
+    "omega2 = 2*pi*f2 #  angular frequency in Hz\n",
+    "epsilon_r = 81 #  relative permittivity\n",
+    "epsilon_0 = 8.854*10**(-12) #  permittivity in free space\n",
+    "epsilon = epsilon_r*epsilon_0 #  permittivity\n",
+    "mu_r = 1 #  relative permeability\n",
+    "mu_0 = 4*pi*10**(-7) #  permeability in free space\n",
+    "mu = mu_r*mu_0 #  permeability\n",
+    "\n",
+    "#calculations and results\n",
+    "\n",
+    "print \"when frequency = 25kHz\"\n",
+    "alpha_1 = omega1*sqrt((mu*epsilon)/2*(sqrt(1+(sigma**2/(omega1**2*epsilon**2)))-1)) #  attenuation constant when f = 25kHz\n",
+    "# formula: exp(-alpha*x) = 0.1\n",
+    "x1 = 2.3/alpha_1 #  transmitted distance in m\n",
+    "print \"transmitted distance in m:\",round(x1,3)\n",
+    "print \"when frequency = 25MHz\"\n",
+    "alpha_2 = omega2*sqrt((mu*epsilon)/2*(sqrt(1+(sigma**2/(omega2**2*epsilon**2)))-1)) #  attenuation constant when f = 25MHz\n",
+    "x2 = 2.3/alpha_2 #  transmitted distance in m\n",
+    "print \"transmitted distance in m:\",round(x2,3)\n",
+    "\n",
+    "\n",
+    "# note: the values of epsilon_r = 81 and of mu_r = 1 for sea water which are not given in the book.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.31,Page Number 126"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 19,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "reflection cofficient of electric field in mV/m: 0.489\n",
+      "incident cofficient of magnetic field in micro*A/m: 7.739\n",
+      "reflection cofficient of magnetic field in micro*A/m: 3.786\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import sqrt,pi,radians,asin,cos,sin,degrees\n",
+    "\n",
+    "#variable Declaration\n",
+    "\n",
+    "E_i = 1  #  magnitude of incident electric field in mV/m\n",
+    "E_i = 1*10**-3  #  magnitude of incident electric field in V/m\n",
+    "epsilon_0 = 8.854*10**-12  #  permittivity in free space in F/m\n",
+    "mu_0 = 4*pi*10**-7  #   permeability in free space in H/m\n",
+    "theta_i = 15  #  incident angle in degrees\n",
+    "epsilon_r1 = 8.5  #  relative permittivity of medium 1\n",
+    "mu_r1 = 1  #  relative permeability of medium 1\n",
+    "epsilon1 = epsilon_r1*epsilon_0  #  permittivity\n",
+    "mu1 = mu_0*mu_r1  #  permeability\n",
+    "eta1 = sqrt(mu1/epsilon1)  #  intrinsic impedence of medium 1 in ohm\n",
+    "epsilon2 = epsilon_0  #  permittivity of medium 2\n",
+    "mu2 = mu_0  #  permeability of medium 2\n",
+    "eta2 = sqrt(mu2/epsilon2)  #  intrinsic impedence of medium 2 in ohm\n",
+    "\n",
+    "#calculations and result\n",
+    "\n",
+    "# formula : sin(theta_i)/sin(theta_t) = sqrt(epsilon2/epsilon1)\n",
+    "theta_t = asin(sin(radians(theta_i)))/(sqrt(epsilon2/epsilon1))  #  transmitted angle in degrees\n",
+    "E_r = (E_i*(((eta2*cos(radians(theta_i))))-(eta1*cos(radians((theta_i))))))/((eta2*cos(radians(theta_i)))+(eta1*cos(radians(theta_i))))  #  reflection cofficient of electric field\n",
+    "print \"reflection cofficient of electric field in mV/m:\",round(E_r*1000,3)\n",
+    "H_i = E_i/eta1  #  incident cofficient of magnetic field\n",
+    "print \"incident cofficient of magnetic field in micro*A/m:\",round(H_i*10**6,3)\n",
+    "H_r = E_r/eta1  #  reflection cofficient of electric field\n",
+    "print \"reflection cofficient of magnetic field in micro*A/m:\",round(H_r*10**6,3)\n",
+    "\n",
+    "\n",
+    "#note : minute difference in decimel in the value of H_i and H_r.\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example 2.32,Page Number 127"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "average power density absorbed by copper in mW/m**2: 3.83\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import pi,sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "\n",
+    "sigma = 5.8*10**7 #  conductivity in mho/m\n",
+    "f = 2 #  frequency in MHz\n",
+    "f = 2*10**6 #  frequency in Hz\n",
+    "omega = 2*pi*f #  angular frequency in rad/sec\n",
+    "E = 2 #  magnitude of electric field in mV/m\n",
+    "E = 2*10**-3 #  magnitude of electric field in V/m\n",
+    "epsilon_0 = 8.854*10**-12 #  permittivity in free space in F/m\n",
+    "mu_0 = 4*pi*10**-7 #   permeability in free space in H/m\n",
+    "epsilon_r = 1 #  relative permittivity\n",
+    "mu_r = 1 #  relative permeability\n",
+    "epsilon = epsilon_r*epsilon_0 #  permittivity\n",
+    "mu = mu_0*mu_r #  permeability\n",
+    "\n",
+    "# calculations\n",
+    "eta = sqrt(mu*omega/sigma) #  intrinsic impedence in ohm\n",
+    "P_av = (1/2)*E**2/eta #  average power density anbsorbed by copper\n",
+    "\n",
+    "#result\n",
+    "print \"average power density absorbed by copper in mW/m**2:\",round(P_av*1000,2)\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Antenna_and_Wave_Propagation/chapter3.ipynb b/Antenna_and_Wave_Propagation/chapter3.ipynb
new file mode 100755
index 00000000..c72b3bb7
--- /dev/null
+++ b/Antenna_and_Wave_Propagation/chapter3.ipynb
@@ -0,0 +1 @@
+{"nbformat_minor": 0, "cells": [{"source": "# Chapter 3 : Radiation and Antennas", "cell_type": "markdown", "metadata": {}}, {"source": "## Example 3.1,Page Number 158", "cell_type": "markdown", "metadata": {}}, {"execution_count": 1, "cell_type": "code", "source": "from __future__ import division\nfrom sympy import Symbol\nfrom math import pi\n\nLm = Symbol(\"Lm'\")# defining Lm as lambda\ndl = Lm/40 # dipole length\nRr = 80*(pi)**(2)*(dl/Lm)**2\nprint \"radiation resistance of dipole in ohm if dl = Lm/40 :\",round(Rr,3)\ndl = Lm/60 # dipole length\nRr = 80*(pi)**(2)*(dl/Lm)**2\nprint \"radiation resistance of dipole in ohm if dl = Lm/60 :\",round(Rr,3)\ndl = Lm/80 # dipole length\nRr = 80*(pi)**(2)*(dl/Lm)**2\nprint \"radiation resistance of dipole in ohm if dl = Lm/80 :\",round(Rr,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "radiation resistance of dipole in ohm if dl = Lm/40 : 0.493\nradiation resistance of dipole in ohm if dl = Lm/60 : 0.219\nradiation resistance of dipole in ohm if dl = Lm/80 : 0.123\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 3.3,Page Number 160", "cell_type": "markdown", "metadata": {}}, {"execution_count": 2, "cell_type": "code", "source": "from __future__ import division\nfrom sympy import Symbol\nfrom math import pi,sqrt\n\n#variable declaration\n\nPr = 1 #power in watt\nEta0 = 120*(pi) # constant\n\n#calculations\nI = sqrt(Pr/73) # current in A\nr = Symbol('r')\nE_max = 60*I/r\nRI = (r**2*E_max**2)/Eta0 # radiation intensity\nGd_max = (4*(pi)*(RI))/Pr\n\n\n#result\nprint \"Directivity of a half wave dipole is:\",round(Gd_max,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Directivity of a half wave dipole is: 1.644\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 3.4,Page Number 160", "cell_type": "markdown", "metadata": {}}, {"execution_count": 3, "cell_type": "code", "source": "#variable declaration\n\nRr=300 # radiation resistance in ohm\nI=3 # in A\n\n#calculations\n#formula: Pr=I**2*R\nPr=I**2*Rr # power radiated in watt\n\n#result\nprint \"power radiated by antenna in watts:\",Pr\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "power radiated by antenna in watts: 2700\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 3.5,Page Number 161", "cell_type": "markdown", "metadata": {}}, {"execution_count": 4, "cell_type": "code", "source": "from __future__ import division\nfrom math import pi\n\n#variable delaration\n\nf = 500 #frequency in mega hertz\nf = 500*10**6 #frequency in hertz\nc = 3*10**8 #speed of light in m/s\nGdmax = 1.644 # directivity of a half wave dipole\n\n\n#calculations\nlamda = c/f #wavelength in meter\nAe = ((lamda)**2*Gdmax)/(4*(pi)) # Effective area in m**2\n\n#result\nprint \"effective area of half wave dipole in m**2:\",round(Ae,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "effective area of half wave dipole in m**2: 0.047\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 3.6,Page Number 161", "cell_type": "markdown", "metadata": {}}, {"execution_count": 5, "cell_type": "code", "source": "from __future__ import division\nfrom math import pi\n\n#variable delaration\nf = 100 #frequency in Mhz\nf = 100*10**6 #frequency in hertz\nc = 3*10**8 #speed of light in m/s\nD = 1.5 # directivity \n\n#calculations\nlamda = c/f #wavelength in meter\nAe = (lamda**2*D)/(4*(pi)) # effective area in m**2\n\n\n#result\nprint \"Effective area of hertezian dipole in m**2:\",round(Ae,2)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Effective area of hertezian dipole in m**2: 1.07\n"}], "metadata": {"collapsed": false, "trusted": true}}], "nbformat": 4, "metadata": {"kernelspec": {"display_name": "Python 2", "name": "python2", "language": "python"}, "language_info": {"mimetype": "text/x-python", "nbconvert_exporter": "python", "version": "2.7.8", "name": "python", "file_extension": ".py", "pygments_lexer": "ipython2", "codemirror_mode": {"version": 2, "name": "ipython"}}}}
\ No newline at end of file
diff --git a/Antenna_and_Wave_Propagation/chapter4.ipynb b/Antenna_and_Wave_Propagation/chapter4.ipynb
new file mode 100755
index 00000000..7166fa05
--- /dev/null
+++ b/Antenna_and_Wave_Propagation/chapter4.ipynb
@@ -0,0 +1 @@
+{"nbformat_minor": 0, "cells": [{"source": "# Chapter 4 : Analysis of Linear Arrays", "cell_type": "markdown", "metadata": {}}, {"source": "## Example 4.1,Page Number 195", "cell_type": "markdown", "metadata": {}}, {"execution_count": 1, "cell_type": "code", "source": "from __future__ import division\nfrom sympy import Symbol\n\nL = Symbol('L') #Defining L as lambda\nl = 10*L \nN = 20 # number of elements\nd = l/N \nBW1 = (2*(L/d)*1/N) #bandwidth\nprint \"Null-to-null BW of broadside array in radians when l = 10*L,N = 20:\",round(BW1,2)\nl = 50*L\nN = 100 # number of elements\nd = l/N\nBW2 = (2*(L/d)*1/N) #bandwidth\nprint \"Null-to-null BW of broadside array in radians when l = 50*L,N = 100:\",round(BW2,2)\nl = 20*L\nN = 50 # number of elements\nd = l/N\nBW3 = (2*(L/d)*1/N) #bandwidth\nprint \"Null-to-null BW of broadside array in radians when l = 20*L,N = 50:\",round(BW3,2)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Null-to-null BW of broadside array in radians when l = 10*L,N = 20: 0.2\nNull-to-null BW of broadside array in radians when l = 50*L,N = 100: 0.04\nNull-to-null BW of broadside array in radians when l = 20*L,N = 50: 0.1\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 4.2,Page Number 196", "cell_type": "markdown", "metadata": {}}, {"execution_count": 2, "cell_type": "code", "source": "from __future__ import division\nfrom sympy import Symbol\nfrom math import sqrt\n\nL = Symbol('L') #Defining L as lambda\nl = 10*L \nN = 20 # number of elements\nd = l/N \nBW1 = 2*sqrt((2*(L/d)*1/N)) #bandwidth\nprint \"Null-to-null BW of end-fire array in radians when l = 10*L,N = 20:\",round(BW1,3)\nl = 50*L\nN = 100 # number of elements\nd = l/N\nBW2 = 2*sqrt((2*(L/d)*1/N)) #bandwidth\nprint \"Null-to-null BW of end-fire array in radians when l = 50*L,N = 100:\",round(BW2,3)\nl = 20*L\nN = 50 # number of elements\nd = l/N\nBW3 = 2*sqrt((2*(L/d)*1/N)) #bandwidth\nprint \"Null-to-null BW of end-fire array in radians when l = 20*L,N = 50:\",round(BW3,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Null-to-null BW of end-fire array in radians when l = 10*L,N = 20: 0.894\nNull-to-null BW of end-fire array in radians when l = 50*L,N = 100: 0.4\nNull-to-null BW of end-fire array in radians when l = 20*L,N = 50: 0.632\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 4.3,Page Number 196", "cell_type": "markdown", "metadata": {}}, {"execution_count": 3, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable declaration\n\nf = 6       #frequency in GHz\nf = 6*10**9 #frequency in Hz\nc = 3*10**8 #speed of light in m/s\nl = 10      # array length in meter\n\n#calculations\nlamda = c/f #wavelength in meter\n# formula : BWFN  =  2*lambda/l\nBWFN  =  2*(lamda/l) # band width in radians\nD = 2*(l/lamda) # directivity\n\n#result\nprint \"null-to-null Beamwidth of broad side array in radians:\",round(BWFN,2)\nprint \"Directivity:\",round(D,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "null-to-null Beamwidth of broad side array in radians: 0.01\nDirectivity: 400.0\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 4.4,Page Number 197", "cell_type": "markdown", "metadata": {}}, {"execution_count": 4, "cell_type": "code", "source": "from __future__ import division\nfrom math import pi\n\n#variable declaration\nf = 10       #frequency in Ghz\nf = 10*10**9 #frequency in hertz\nc = 3*10**8  #speed of light in m/s\nlamda = c/f  #wavelength in meter\nN = 50       # number of elements\n\n#calculations\nd = 0.5*lamda # element spacing in meter\nBeta = 2*(pi)/lamda # phase shift\nalpha = Beta*d # progressive phase shift in radians\nl = N*d # Array length in meter\n\n\n#result\nprint \"progressive phase shift in radians:\",round(alpha,3)\nprint \"Array length in meter\",round(l,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "progressive phase shift in radians: 3.142\nArray length in meter 0.75\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 4.5,Page Number 197", "cell_type": "markdown", "metadata": {}}, {"execution_count": 5, "cell_type": "code", "source": "from __future__ import division\nfrom math import pi\nfrom sympy import Symbol\n\n\n#variable declaration\nN = 100 # no. of elements\nLm = Symbol('Lm') # defining Lm as lambda\n\n#calculations\nd = 0.5*Lm\nl = N*d # array length\nBWFN  =  114.6 /(l/Lm) # beam width in degrees \nHPBW  =  BWFN/2 # half power beam width in degrees\nD1 = 2*(l/Lm) # directivity of broad side array\nD2 = 4*(l/Lm) # directivity of end fire array\n\n#result\nprint \"half power beamwidth in degrees:\",round(HPBW,3)\nprint \"null-to-null beamwidth in degrees:\",round(BWFN,3)\nprint \"directivity of broad side array:\",round(D1,1)\nprint \"directivity of end fire array:\",round(D2,1)\n\n# note : answer in the book is mis-printed,the HPBW is not 11.46 it should be 1.146 degrees. \n\n# note: misprint in second step of part a in book correct is l = N*d = 100*0.5*lamda = 50*lamda \n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "half power beamwidth in degrees: 1.146\nnull-to-null beamwidth in degrees: 2.292\ndirectivity of broad side array: 100.0\ndirectivity of end fire array: 200.0\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 4.9,Page Number 200", "cell_type": "markdown", "metadata": {}}, {"execution_count": 6, "cell_type": "code", "source": "from __future__ import division\nimport numpy  as np\nfrom math import factorial\n\n\n# formula :combination(n,r)=(factorial(n))/(factorial(r)*factorial(n-r))\nprint(\"when n=2\")\nn=2\na_0=factorial(1)/factorial(0)*factorial(1) #relative excitation level 1\na_1=factorial(1)/factorial(1)*factorial(0) #relative excitation level 2\nprint \"relative excitation levels of binomial array at n=2:\",np.array([a_0,a_1])\nprint(\"when n=3\")\nn=3\na_1=factorial(1)/factorial(1)*factorial(0) #relative excitation level 2\na_0=2*a_1 # relative excitation level 1\nprint \"relative excitation levels of binomial array at n=3:\",np.array([a_1,a_0,a_1])\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "when n=2\nrelative excitation levels of binomial array at n=2: [ 1.  1.]\nwhen n=3\nrelative excitation levels of binomial array at n=3: [ 1.  2.  1.]\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 4.10,Page Number 200", "cell_type": "markdown", "metadata": {}}, {"execution_count": 7, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10,pi\n\n\n#variable declaration\nd = 30       #separation distance in meter\nf = 10       #frequency in mega hertz\nf = 10*10**6 #frequency in hertz\nc = 3*10**8  #speed of light in m/s\nlamda = c/f  #wavelength in meter\nGt = 1.65   #transmitting gain in dB\nGr = 1.65   #receiving gain in dB\n\n#calculations\n\n# basic transmission loss :\n# formula : Lb = 10*log(((4*(pi)*d)**2/(lamda)**2))\nLb = 10*log10((4*(pi)*d)**2/(lamda)**2) # basic transmmision loss in dB\n# actual transmission loss :\nLa = Lb-Gt-Gr # actual transmisson loss in dB\n\n#result\nprint \"basic transmmision loss in dB:\",round(Lb,3)\nprint \"actual transmisson loss in dB:\",round(La,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "basic transmmision loss in dB: 21.984\nactual transmisson loss in dB: 18.684\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 4.11,Page Number 201", "cell_type": "markdown", "metadata": {}}, {"execution_count": 8, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10,pi\n\n\nf = 0.3 #frequency in Ghz\nf = 0.3*10**9 #frequency in hertz\nc = 3*10**8 #speed of light in m/s\nlamda = c/f #wavelength in meter\nd1 = 1.6 # in Km\nd1 = 1.6*10**3 # in meter\n# formula : Lb = 20*log10((4*(pi)*d)/(lamda))\nLb1 = 20*log10(4*pi*d1/lamda) # basic transmission loss in dB\nprint \"basic transmission loss in dB when d = 1.6Km,f = 0.3GHz:\",round(Lb1,3)\nd2 = 16 # in Km\nd2 = 16*10**3 # in meter\n# formula : Lb = 20*log10((4*(pi)*d)/(lamda))\nLb2 = 20*log10(4*pi*d2/lamda) # basic transmission loss in dB\nprint \"basic transmission loss in dB when d = 16Km,f = 0.3GHz:\",round(Lb2,3)\nd3 = 160 # in Km\nd3 = 160*10**3 # in meter\n# formula : Lb = 20*log10((4*(pi)*d)/(lamda))\nLb3 = 20*log10(4*pi*d3/lamda) # basic transmission loss in dB\nprint \"basic transmission loss in dB when d = 160Km,f = 0.3GHz:\",round(Lb3,3)\nd4 = 320 # in Km\nd4 = 320*10**3 # in meter\n# formula : Lb = 20*log10((4*(pi)*d)/(lamda))\nLb4 = 20*log10(4*pi*d4/lamda) # basic transmission loss in dB\nprint \"basic transmission loss in dB when d = 320Km,f = 0.3GHz:\",round(Lb4,3)\n# when frequency is 3Ghz\n# given :\nf = 3 #frequency in Ghz\nf = 3*10**9 #frequency in hertz\nc = 3*10**8 #speed of light in m/s\nlamda = c/f #wavelength in meter\nd1 = 1.6 # in Km\nd1 = 1.6*10**3 # in meter\n# formula : Lb = 20*log10((4*(pi)*d)/(lamda))\nLb1 = 20*log10(4*pi*d1/lamda) # basic transmission loss in dB\nprint \"basic transmission loss in dB when d = 1.6Km,f = 3GHz:\",round(Lb1,3)\nd2 = 16 # in Km\nd2 = 16*10**3 # in meter\n# formula : Lb = 20*log10((4*(pi)*d)/(lamda))\nLb2 = 20*log10(4*pi*d2/lamda) # basic transmission loss in dB\nprint \"basic transmission loss in dB when d = 16Km,f = 3GHz:\",round(Lb2,3)\nd3 = 160 # in Km\nd3 = 160*10**3 # in meter\n# formula : Lb = 20*log10((4*(pi)*d)/(lamda))\nLb3 = 20*log10(4*pi*d3/lamda) # basic transmission loss in dB\nprint \"basic transmission loss in dB when d = 160Km,f = 3GHz:\",round(Lb3,3)\nd4 = 320 # in Km\nd4 = 320*10**3 # in meter\n# formula : Lb = 20*log10((4*(pi)*d)/(lamda))\nLb4 = 20*log10(4*pi*d4/lamda) # basic transmission loss in dB\nprint \"basic transmission loss in dB when d = 320Km,f = 3GHz:\",round(Lb4,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "basic transmission loss in dB when d = 1.6Km,f = 0.3GHz: 86.067\nbasic transmission loss in dB when d = 16Km,f = 0.3GHz: 106.067\nbasic transmission loss in dB when d = 160Km,f = 0.3GHz: 126.067\nbasic transmission loss in dB when d = 320Km,f = 0.3GHz: 132.087\nbasic transmission loss in dB when d = 1.6Km,f = 3GHz: 106.067\nbasic transmission loss in dB when d = 16Km,f = 3GHz: 126.067\nbasic transmission loss in dB when d = 160Km,f = 3GHz: 146.067\nbasic transmission loss in dB when d = 320Km,f = 3GHz: 152.087\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 4.12,Page Number 202", "cell_type": "markdown", "metadata": {}}, {"execution_count": 9, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10,pi\n\nGt=10 # transmission gain in dB\nGr=10 # receiving gain in dB\n#when frequency=0.3GHz\n# given :\nf=0.3 #frequency in Ghz\nf=0.3*10**9 #frequency in hertz\nc=3*10**8 #speed of light in m/s\nlamda=c/f #wavelength in meter\nd1=1.6 # in Km\nd1=1.6*10**3 # in meter\n# formula : Lb=20*log10((4*(pi)*d)/(lamda))\nLb1=20*log10(4*pi*d1/lamda) # basic transmission loss in dB\nLa1=Lb1-Gt-Gr # Actual transmission loss in dB \nprint \"Actual transmission loss in dB when d=1.6Km,f=0.3GHz:\",round(La1,2)\nd2=16 # in Km\nd2=16*10**3 # in meter\n# formula : Lb=20*log10((4*(pi)*d)/(lamda))\nLb2=20*log10(4*pi*d2/lamda) # basic transmission loss in dB\nLa2=Lb2-Gt-Gr # Actual transmission loss in dB \nprint \"Actual transmission loss in dB when d=16Km,f=0.3GHz:\",round(La2,2)\nd3=160 # in Km\nd3=160*10**3 # in meter\n# formula : Lb=20*log10((4*(pi)*d)/(lamda))\nLb3=20*log10(4*pi*d3/lamda) # basic transmission loss in dB\nLa3=Lb3-Gt-Gr # Actual transmission loss in dB \nprint \"Actual transmission loss in dB when d=160Km,f=0.3GHz:\",round(La3,2)\nd4=320 # in Km\nd4=320*10**3 # in meter\n# formula : Lb=20*log10((4*(pi)*d)/(lamda))\nLb4=20*log10(4*pi*d4/lamda) # basic transmission loss in dB\nLa4=Lb4-Gt-Gr # Actual transmission loss in dB \nprint \"Actual transmission loss in dB when d=320Km,f=0.3GHz:\",round(La4,2)\n# when frequency is 3Ghz\n# given :\nf=3 #frequency in Ghz\nf=3*10**9 #frequency in hertz\nc=3*10**8 #speed of light in m/s\nlamda=c/f #wavelength in meter\nd1=1.6 # in Km\nd1=1.6*10**3 # in meter\n# formula : Lb=20*log10((4*(pi)*d)/(lamda))\nLb1=20*log10(4*pi*d1/lamda) # basic transmission loss in dB\nLa1=Lb1-Gt-Gr # Actual transmission loss in dB \nprint \"Actual transmission loss in dB when d=1.6Km,f=3GHz:\",round(La1,2)\nd2=16 # in Km\nd2=16*10**3 # in meter\n# formula : Lb=20*log10((4*(pi)*d)/(lamda))\nLb2=20*log10(4*pi*d2/lamda) # basic transmission loss in dB\nLa2=Lb2-Gt-Gr # Actual transmission loss in dB \nprint \"Actual transmission loss in dB when d=16Km,f=3GHz:\",round(La2,2)\nd3=160 # in Km\nd3=160*10**3 # in meter\n# formula : Lb=20*log10((4*(pi)*d)/(lamda))\nLb3=20*log10(4*pi*d3/lamda) # basic transmission loss in dB\nLa3=Lb3-Gt-Gr # Actual transmission loss in dB \nprint \"Actual transmission loss in dB when d=160Km,f=3GHz:\",round(La3,2)\nd4=320 # in Km\nd4=320*10**3 # in meter\n# formula : Lb=20*log10((4*(pi)*d)/(lamda))\nLb4=20*log10(4*pi*d4/lamda) # basic transmission loss in dB\nLa4=Lb4-Gt-Gr # Actual transmission loss in dB \nprint \"Actual transmission loss in dB when d=320Km,f=3GHz:\",round(La4,2)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Actual transmission loss in dB when d=1.6Km,f=0.3GHz: 66.07\nActual transmission loss in dB when d=16Km,f=0.3GHz: 86.07\nActual transmission loss in dB when d=160Km,f=0.3GHz: 106.07\nActual transmission loss in dB when d=320Km,f=0.3GHz: 112.09\nActual transmission loss in dB when d=1.6Km,f=3GHz: 86.07\nActual transmission loss in dB when d=16Km,f=3GHz: 106.07\nActual transmission loss in dB when d=160Km,f=3GHz: 126.07\nActual transmission loss in dB when d=320Km,f=3GHz: 132.09\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 4.13,Page Number 203", "cell_type": "markdown", "metadata": {}}, {"execution_count": 10, "cell_type": "code", "source": "from __future__ import division\nfrom math import pi\n\n#variable declaration\n\nWt = 15 # radaited power in watt\nf = 60 # in MHz\nf = 60*10**6 # in Hz\nd = 10 # in m\nc = 3*10**8 # in m/s\nlamda = c/f # in meter\nGt = 1.64 # transmitting gain in dB\nGr = 1.64 # receiving gain in dB\n\n\n#calculations\nWr = (Wt*Gt*Gr*(lamda)**2/(4*(pi)*d)**2) # receiving power in watt\n\n#result\nprint \"receiving power in mW:\",round(Wr*1000,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "receiving power in mW: 63.87\n"}], "metadata": {"collapsed": false, "trusted": true}}], "nbformat": 4, "metadata": {"kernelspec": {"display_name": "Python 2", "name": "python2", "language": "python"}, "language_info": {"mimetype": "text/x-python", "nbconvert_exporter": "python", "version": "2.7.8", "name": "python", "file_extension": ".py", "pygments_lexer": "ipython2", "codemirror_mode": {"version": 2, "name": "ipython"}}}}
\ No newline at end of file
diff --git a/Antenna_and_Wave_Propagation/chapter6.ipynb b/Antenna_and_Wave_Propagation/chapter6.ipynb
new file mode 100755
index 00000000..f7c9f58c
--- /dev/null
+++ b/Antenna_and_Wave_Propagation/chapter6.ipynb
@@ -0,0 +1,941 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 6 : HF,VHF and UHF Antennas "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.1,PAGE NUMBER 278 "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Rhombic height is: 5.0 meter\n",
+      "Tilt angle is: 60.0 degrees\n",
+      "length of wire is: 20.0 meter\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi,sin\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "f = 30        # frequency in MHz\n",
+    "f = 30*10**6  # frequency in Hz\n",
+    "c = 3*10**8   # speed of light in m/s\n",
+    "lamda = c/f   # wavelength in meter\n",
+    "Delta = 30    # angle of elevation in Degrees\n",
+    "\n",
+    "#calculation\n",
+    "\n",
+    "H = lamda/(4 * sin(Delta*pi/180))     # Rhombic height in m\n",
+    "l = lamda/(2 * sin(Delta*pi/180) **2) # wire length in m\n",
+    "phi = 90-Delta # tilt angle in Degrees\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "print \"Rhombic height is:\",round(H,2),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l,2),\"meter\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.2,PAGE NUMBER 278"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Rhombic height is: 21.595 meter\n",
+      "Tilt angle is: 80.0 degrees\n",
+      "length of wire is: 248.726 meter\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi,sin\n",
+    "\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "f = 20        # frequency in MHz\n",
+    "f = 20*10**6  # frequency in Hz\n",
+    "c = 3*10**8   # speed of light in m/s\n",
+    "lamda = c/f   # wavelength in meter\n",
+    "\n",
+    "#calculation\n",
+    "\n",
+    "Delta = 10    # angle of elevation in Degrees\n",
+    "H = lamda/(4 * sin(Delta*pi/180))     # Rhombic height in m\n",
+    "l = lamda/(2 * sin(Delta*pi/180) **2) # wire length in m\n",
+    "phi = 90-Delta # tilt angle in Degrees\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "print \"Rhombic height is:\",round(H,3),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l,3),\"meter\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.3,PAGE NUMBER 279-281"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "for Delta = 10 degrees\n",
+      "Rhombic height is: 14.397 meter\n",
+      "Tilt angle is: 80.0 degrees\n",
+      "length of wire is: 165.82 meter\n",
+      "for Delta = 15 degrees\n",
+      "Rhombic height is: 9.659 meter\n",
+      "Tilt angle is: 75.0 degrees\n",
+      "length of wire is: 74.64 meter\n",
+      "for Delta = 20 degrees\n",
+      "Rhombic height is: 7.31 meter\n",
+      "Tilt angle is: 70.0 degrees\n",
+      "length of wire is: 42.74 meter\n",
+      "for Delta = 25 degrees\n",
+      "Rhombic height is: 5.916 meter\n",
+      "Tilt angle is: 65.0 degrees\n",
+      "length of wire is: 27.99 meter\n",
+      "for Delta = 30 degrees\n",
+      "Rhombic height is: 5.0 meter\n",
+      "Tilt angle is: 60.0 degrees\n",
+      "length of wire is: 20.0 meter\n",
+      "for Delta = 35 degrees\n",
+      "Rhombic height is: 4.359 meter\n",
+      "Tilt angle is: 55.0 degrees\n",
+      "length of wire is: 15.2 meter\n",
+      "for Delta = 40 degrees\n",
+      "Rhombic height is: 3.889 meter\n",
+      "Tilt angle is: 50.0 degrees\n",
+      "length of wire is: 12.1 meter\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi,sin,cos\n",
+    "\n",
+    "\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "f = 30        # frequency in MHz\n",
+    "f = 30*10**6  # frequency in Hz\n",
+    "c = 3*10**8   # speed of light in m/s\n",
+    "lamda = c/f   # wavelength in meter\n",
+    "\n",
+    "#calculation and results:\n",
+    "\n",
+    "\n",
+    "\n",
+    "print \"for Delta = 10 degrees\"\n",
+    "\n",
+    "\n",
+    "Delta1 = 10    # angle of elevation in Degrees\n",
+    "H1 = lamda/(4 * sin(Delta1*pi/180))     # Rhombic height in m\n",
+    "l1 = lamda/(2 * sin(Delta1*pi/180) **2) # wire length in m\n",
+    "phi1 = 90-Delta1 # tilt angle in Degrees\n",
+    "print \"Rhombic height is:\",round(H1,3),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi1,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l1,2),\"meter\"\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n",
+    "print \"for Delta = 15 degrees\"\n",
+    "\n",
+    "\n",
+    "Delta2 = 15    # angle of elevation in Degrees\n",
+    "H2 = lamda/(4 * sin(Delta2*pi/180))     # Rhombic height in m\n",
+    "l2 = lamda/(2 * sin(Delta2*pi/180) **2) # wire length in m\n",
+    "phi2 = 90-Delta2 # tilt angle in Degrees\n",
+    "print \"Rhombic height is:\",round(H2,3),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi2,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l2,2),\"meter\"\n",
+    "\n",
+    "\n",
+    "\n",
+    "print \"for Delta = 20 degrees\"\n",
+    "\n",
+    "\n",
+    "Delta3 = 20    # angle of elevation in Degrees\n",
+    "H3 = lamda/(4 * sin(Delta3*pi/180))     # Rhombic height in m\n",
+    "l3 = lamda/(2 * sin(Delta3*pi/180) **2) # wire length in m\n",
+    "phi3 = 90-Delta3 # tilt angle in Degrees\n",
+    "print \"Rhombic height is:\",round(H3,3),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi3,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l3,2),\"meter\"\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n",
+    "print \"for Delta = 25 degrees\"\n",
+    "\n",
+    "\n",
+    "Delta4 = 25    # angle of elevation in Degrees\n",
+    "H4 = lamda/(4 * sin(Delta4*pi/180))     # Rhombic height in m\n",
+    "l4 = lamda/(2 * sin(Delta4*pi/180) **2) # wire length in m\n",
+    "phi4 = 90-Delta4 # tilt angle in Degrees\n",
+    "print \"Rhombic height is:\",round(H4,3),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi4,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l4,2),\"meter\"\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n",
+    "print \"for Delta = 30 degrees\"\n",
+    "\n",
+    "\n",
+    "Delta5 = 30    # angle of elevation in Degrees\n",
+    "H5 = lamda/(4 * sin(Delta5*pi/180))     # Rhombic height in m\n",
+    "l5 = lamda/(2 * sin(Delta5*pi/180) **2) # wire length in m\n",
+    "phi5 = 90-Delta5 # tilt angle in Degrees\n",
+    "print \"Rhombic height is:\",round(H5,3),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi5,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l5,2),\"meter\"\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n",
+    "print \"for Delta = 35 degrees\"\n",
+    "\n",
+    "\n",
+    "Delta6 = 35    # angle of elevation in Degrees\n",
+    "H6 = lamda/(4 * sin(Delta6*pi/180))     # Rhombic height in m\n",
+    "l6 = lamda/(2 * sin(Delta6*pi/180) **2) # wire length in m\n",
+    "phi6 = 90-Delta6 # tilt angle in Degrees\n",
+    "print \"Rhombic height is:\",round(H6,3),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi6,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l6,2),\"meter\"\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n",
+    "print \"for Delta = 40 degrees\"\n",
+    "\n",
+    "\n",
+    "Delta7 = 40    # angle of elevation in Degrees\n",
+    "H7 = lamda/(4 * sin(Delta7*pi/180))     # Rhombic height in m\n",
+    "l7 = lamda/(2 * sin(Delta7*pi/180) **2) # wire length in m\n",
+    "phi7 = 90-Delta7 # tilt angle in Degrees\n",
+    "print \"Rhombic height is:\",round(H7,3),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi7,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l7,2),\"meter\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.4,PAGE NUMBER 281"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Rhombic height is: 5.0 meter\n",
+      "Tilt angle is: 60.0 degrees\n",
+      "length of wire is: 14.8 meter\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi,sin,cos\n",
+    "\n",
+    "\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "f = 30        # frequency in MHz\n",
+    "f = 30*10**6  # frequency in Hz\n",
+    "c = 3*10**8   # speed of light in m/s\n",
+    "lamda = c/f   # wavelength in meter\n",
+    "Delta = 30    # angle of elevation in Degrees\n",
+    "\n",
+    "#calculation\n",
+    "\n",
+    "k = 0.74      # constant\n",
+    "H = lamda/(4 * sin(Delta*pi/180))     # Rhombic height in m\n",
+    "l = lamda/(2 * sin(Delta*pi/180) **2)*k # wire length in m\n",
+    "phi = 90-Delta # tilt angle in Degrees\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "print \"Rhombic height is:\",round(H,2),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l,2),\"meter\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.5,PAGE NUMBER 282"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Rhombic height is: 10.96 meter\n",
+      "Tilt angle is: 70.0 degrees\n",
+      "length of wire is: 47.44 meter\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi,sin\n",
+    "\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "f = 20        # frequency in MHz\n",
+    "f = 20*10**6  # frequency in Hz\n",
+    "c = 3*10**8   # speed of light in m/s\n",
+    "lamda = c/f   # wavelength in meter\n",
+    "Delta = 20    # angle of elevation in Degrees\n",
+    "k = 0.74      # constant\n",
+    "\n",
+    "#calculation\n",
+    "\n",
+    "H = lamda/(4 * sin(Delta*pi/180))     # Rhombic height in m\n",
+    "l = lamda/(2 * sin(Delta*pi/180) **2)*k # wire length in m\n",
+    "phi = 90-Delta # tilt angle in Degrees\n",
+    "\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "\n",
+    "print \"Rhombic height is:\",round(H,2),\"meter\"\n",
+    "print \"Tilt angle is:\",round(phi,2),\"degrees\"\n",
+    "print \"length of wire is:\",round(l,2),\"meter\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.6,PAGE NUMBER 282"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "length of driven element is: 2.78 feet\n",
+      "length of reflector is: 2.86 feet\n",
+      "length of director is: 2.683 feet\n",
+      "element spacing is: 0.826 feet\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "\n",
+    "\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "\n",
+    "f_MHz = 172        # frequency in MHz\n",
+    "c = 3*10**8        # speed of light in m/s\n",
+    "\n",
+    "#calculation\n",
+    "\n",
+    "lamda = c/f_MHz    # wavelength in m\n",
+    "La = 478/f_MHz     # length of driven element in feet\n",
+    "Lr = 492/f_MHz     # length of reflector in feet\n",
+    "Ld = 461.5/f_MHz   # length of director in feet\n",
+    "S = 142/f_MHz      # element spacing in feet\n",
+    "\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "\n",
+    "print \"length of driven element is:\", round(La,2),\"feet\"\n",
+    "print \"length of reflector is:\", round(Lr,2),\"feet\"\n",
+    "print \"length of director is:\", round(Ld,3),\"feet\"\n",
+    "print \"element spacing is:\",round(S,3),\"feet\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.7,PAGE NUMBER 283"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "length of driven element is: 0.69 m\n",
+      "length of reflector is: 0.7125 m\n",
+      "length of director1 is: 0.66 m\n",
+      "length of director2 is: 0.66 m\n",
+      "length of director3 is: 0.645 m\n",
+      "length of director4 is: 0.6 m\n",
+      "spacing between reflector and driver is: 0.375 m\n",
+      "spacing director and driving element is: 0.465 m\n",
+      "diameter of elements is: 0.015 m\n",
+      "length of array is: 2.25 m\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "\n",
+    "G = 12        # required gain in dB\n",
+    "f = 200       # frequency in MHz \n",
+    "f = 200*10**6  # frequency in Hz\n",
+    "c = 3*10**8    # speed of light in m/s\n",
+    "\n",
+    "#calculations\n",
+    "\n",
+    "\n",
+    "lamda = c/f   # wavelength in m\n",
+    "La = 0.46*lamda   # length of driven element in m    (note: in book La is given 0.416*lamda misprint)\n",
+    "Lr = 0.475*lamda  # length of reflector in m\n",
+    "Ld1 = 0.44*lamda  # length of director1 in m\n",
+    "Ld2 = 0.44*lamda  # length of director2 in m\n",
+    "Ld3 = 0.43*lamda  # length of director3 in m\n",
+    "Ld4 = 0.40*lamda  # length of director4 in m\n",
+    "SL = 0.25*lamda   # spacing between reflector and driver in m\n",
+    "Sd = 0.31*lamda   # spacing director and driving element in m\n",
+    "d = 0.01*lamda    # diameter of elements in m\n",
+    "l = 1.5*lamda     # length of array in m\n",
+    "\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "\n",
+    "print \"length of driven element is:\" ,round(La,2),\"m\"\n",
+    "print \"length of reflector is:\",round(Lr,4),\"m\"\n",
+    "print \"length of director1 is:\",round(Ld1,2),\"m\"\n",
+    "print \"length of director2 is:\",round(Ld2,2),\"m\"\n",
+    "print \"length of director3 is:\",round(Ld3,3),\"m\"\n",
+    "print \"length of director4 is:\",round(Ld4,2),\"m\"\n",
+    "print \"spacing between reflector and driver is:\",round(SL,3),\"m\"\n",
+    "print \"spacing director and driving element is:\",round(Sd,3),\"m\"\n",
+    "print \"diameter of elements is:\",round(d,3),\"m\"\n",
+    "print \"length of array is:\",round(l,2),\"m\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.8,PAGE NUMBER 283"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "designing of log-periodic antenna:\n",
+      "L1 is: 1.2 m\n",
+      "L2 is: 1.0332 m\n",
+      "L3 is: 0.8896 m\n",
+      "L4 is: 0.7659 m\n",
+      "L5 is: 0.6595 m\n",
+      "L6 is: 0.5678 m\n",
+      "L7 is: 0.4889 m\n",
+      "L8 is: 0.4209 m\n",
+      "L9 is: 0.3624 m\n",
+      "L10 is: 0.312 m\n",
+      "L11 is: 0.2687 m\n",
+      "elements spacing relation:\n",
+      "S1 is: 0.3888 m\n",
+      "S2 is: 0.3348 m\n",
+      "S3 is: 0.2882 m\n",
+      "S4 is: 0.2482 m\n",
+      "S5 is: 0.2137 m\n",
+      "S6 is: 0.184 m\n",
+      "S7 is: 0.1584 m\n",
+      "S8 is: 0.1364 m\n",
+      "S9 is: 0.1174 m\n",
+      "S10 is: 0.1011 m\n",
+      "S11 is: 0.087 m\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import atan\n",
+    "\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "\n",
+    "G = 9             # required gain in dB\n",
+    "f_l = 125         # lowest frequency in MHz\n",
+    "f_l = 125*10**6   # lowest frequency in Hz\n",
+    "f_h = 500         # highest frequency in MHz\n",
+    "f_h = 500*10**6   # lowest frequency in Hz\n",
+    "c = 3*10**8       # speed of light in m/s\n",
+    "tau = 0.861       # scaling factor\n",
+    "sigma = 0.162     # spacing factor\n",
+    "\n",
+    "\n",
+    "#calculation\n",
+    "\n",
+    "\n",
+    "lamda_l = c/f_l  # longest wavelength in m\n",
+    "lamda_s = c/f_h  # shortest wavelength in m\n",
+    "alpha = 2*atan((1-tau)/(4*sigma))  # wedge angle in Degrees\n",
+    "L1 =  lamda_l/2  # in m\n",
+    "L2 = tau*L1  # in m\n",
+    "L3 = tau*L2  # in m\n",
+    "L4 = tau*L3  # in m\n",
+    "L5 = tau*L4  # in m\n",
+    "L6 = tau*L5  # in m\n",
+    "L7 = tau*L6  # in m\n",
+    "L8 = tau*L7  # in m\n",
+    "L9 = tau*L8  # in m\n",
+    "L10 = tau*L9  # in m\n",
+    "L11 = tau*L10  # in m\n",
+    "\n",
+    "# element spacing relation\n",
+    "#formula : sn = 2*sigma*Ln\n",
+    "\n",
+    "\n",
+    "S1 = 2*sigma*L1  # in m\n",
+    "S2 = 2*sigma*L2  # in m\n",
+    "S3 = 2*sigma*L3  # in m\n",
+    "S4 = 2*sigma*L4  # in m\n",
+    "S5 = 2*sigma*L5  # in m\n",
+    "S6 = 2*sigma*L6  # in m\n",
+    "S7 = 2*sigma*L7  # in m\n",
+    "S8 = 2*sigma*L8  # in m\n",
+    "S9 = 2*sigma*L9  # in m\n",
+    "S10 = 2*sigma*L10  # in m\n",
+    "S11 = 2*sigma*L11  # in m\n",
+    "\n",
+    "\n",
+    "\n",
+    "#results\n",
+    "\n",
+    "\n",
+    "print(\"designing of log-periodic antenna:\")\n",
+    "\n",
+    "print \"L1 is:\",round(L1,4),\"m\"\n",
+    "print \"L2 is:\",round(L2,4),\"m\"\n",
+    "print \"L3 is:\",round(L3,4),\"m\"\n",
+    "print \"L4 is:\",round(L4,4),\"m\"\n",
+    "print \"L5 is:\",round(L5,4),\"m\"\n",
+    "print \"L6 is:\",round(L6,4),\"m\"\n",
+    "print \"L7 is:\",round(L7,4),\"m\"\n",
+    "print \"L8 is:\",round(L8,4),\"m\"\n",
+    "print \"L9 is:\",round(L9,4),\"m\"\n",
+    "print \"L10 is:\",round(L10,4),\"m\"\n",
+    "print \"L11 is:\",round(L11,4),\"m\"\n",
+    "\n",
+    "print \"elements spacing relation:\"\n",
+    "\n",
+    "print \"S1 is:\",round(S1,4),\"m\"\n",
+    "print \"S2 is:\",round(S2,4),\"m\"\n",
+    "print \"S3 is:\",round(S3,4),\"m\"\n",
+    "print \"S4 is:\",round(S4,4),\"m\"\n",
+    "print \"S5 is:\",round(S5,4),\"m\"\n",
+    "print \"S6 is:\",round(S6,4),\"m\"\n",
+    "print \"S7 is:\",round(S7,4),\"m\"\n",
+    "print \"S8 is:\",round(S8,4),\"m\"\n",
+    "print \"S9 is:\",round(S9,4),\"m\"\n",
+    "print \"S10 is:\",round(S10,4),\"m\"\n",
+    "print \"S11 is:\",round(S11,4),\"m\"\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.9,PAGE NUMBER 285"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "induced voltage is: 8.29 mV\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi,cos,sqrt\n",
+    "\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "E_rms = 10  # electric field in mV/m\n",
+    "E_rms = 10*10 **-3  # electric field in V/m\n",
+    "f = 2  # frequency in MHz\n",
+    "f = 2*10 **6  # frequency in Hz\n",
+    "N = 10  # number of turns\n",
+    "phi = 0  # angle between the plane of loop and direction of incident wave in Degrees\n",
+    "S = 1.4  # area of loop antenna in m **2\n",
+    "c = 3*10 **8  # speed of light in m/s\n",
+    "\n",
+    "#calculation\n",
+    "\n",
+    "lamda = c/f  # wavelength in m\n",
+    "E_max = sqrt(2)*E_rms  # electric field in V/m\n",
+    "V_rms = (2*pi*E_max*S*N/lamda)*cos(phi)  # induced voltage\n",
+    "\n",
+    "#Result\n",
+    "\n",
+    "print \"induced voltage is:\",round(V_rms*1000,2),\"mV\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.10,PAGE NUMBER 285"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "radiation resistance of loop antenna is: 3.1 ohm\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "\n",
+    "D = 0.5  # diameter of loop antenna in m\n",
+    "a = D/2  # radius of loop antenna in m\n",
+    "f = 1  # frequency in MHz\n",
+    "f = 1*10**6  # frequency in Hz\n",
+    "c = 3*10**8  # speed of light in m/s\n",
+    "\n",
+    "#calculation\n",
+    "\n",
+    "lamda = c/f  # wavelength in m\n",
+    "Rr = 3720*(a/lamda)  # radiation resistance of loop antenna in ohm\n",
+    "\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "print \"radiation resistance of loop antenna is:\",Rr,\"ohm\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.11,PAGE NUMBER 285-286"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "the value of k is: 0.01\n",
+      "since,k<1/3\n",
+      "So Directivity of loop antenna is D = 1.5\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import pi\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "a = 0.5  # radius of loop antenna in m\n",
+    "f = 0.9  # frequency in MHz\n",
+    "f = 0.9*10**6  # frequency in Hz\n",
+    "c = 3*10**8  # speed of light in m/s\n",
+    "\n",
+    "#calculation\n",
+    "\n",
+    "lamda = c/f  # wavelength in m\n",
+    "k = (2*pi*a)/lamda  # constant\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "print \"the value of k is:\",round(k,2)\n",
+    "print \"since,k<1/3\"\n",
+    "print \"So Directivity of loop antenna is D = 1.5\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.13,PAGE NUMBER 286"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "radiation resistance of the loop antenna is: 2790.0 ohm\n",
+      "Directivity of the loop antenna is: 3.1875\n"
+     ]
+    }
+   ],
+   "source": [
+    "from sympy import Symbol\n",
+    "\n",
+    "#variable declaration and calculation\n",
+    "\n",
+    "Lm = Symbol('Lm')  # defining Lm as lambda\n",
+    "d = 1.5*Lm  # diameter of antenna in m\n",
+    "a = d/2  # radius of antenna in m\n",
+    "Rr = 3720*(a/Lm)  # radiation resistance of loop antenna in ohm\n",
+    "D = 4.25*(a/Lm) # Directivity of the loop antenna\n",
+    "\n",
+    "#results\n",
+    "\n",
+    "print \"radiation resistance of the loop antenna is:\",round(Rr,0),\"ohm\"\n",
+    "print \"Directivity of the loop antenna is:\",round(D,4)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.14,PAGE NUMBER 287"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Number of elements in the array when spaced at lamda/2 are: 14\n",
+      "array length(where Lm is wavelength in m) is: 7*Lm m\n",
+      "null-to-null beam width is: 61.3 degrees\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt,pi\n",
+    "from sympy import Symbol\n",
+    "\n",
+    "#Variable declaration\n",
+    "\n",
+    "Gp = 28  # power gain\n",
+    "\n",
+    "#calculations\n",
+    "\n",
+    "Lm = Symbol('Lm')  # defining Lm as lamda\n",
+    "d = Lm/2           # length of dipole\n",
+    "\n",
+    "#formula : Gp = 4*(L/lamda)\n",
+    "\n",
+    "L = Gp*Lm/4  # array length\n",
+    "N = 7*2      # Number of elements in the array when spaced at lamda/2\n",
+    "\n",
+    "# formula : B.W = 2*sqrt((2*/N)*(lamda/d))\n",
+    "\n",
+    "BW = 2*sqrt(2*Lm/(N*d))  # null-to-null beam width in radians\n",
+    "BW_d = BW*180/pi         # null-to-null beam width in degrees\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "print \"Number of elements in the array when spaced at lamda/2 are:\",N\n",
+    "print \"array length(where Lm is wavelength in m) is:\",L,\"m\"\n",
+    "print \"null-to-null beam width is:\",round(BW_d,1),\"degrees\"\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## EXAMPLE 6.15,PAGE NUMBER 287"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "B.W.F.N., null-to-null beamwidth of main beam is: 60.1 degrees\n",
+      "H.P.B.W, half power beamwidth is: 27.2 degrees\n",
+      "Directivity is: 54.83\n"
+     ]
+    }
+   ],
+   "source": [
+    "from __future__ import division\n",
+    "from math import pi,sqrt\n",
+    "\n",
+    "\n",
+    "# Variable Declaration\n",
+    "\n",
+    "S = 0.05        # spacing in m\n",
+    "Dh = 0.1        # diameter of helical antenna in m\n",
+    "N = 20          # number of turns\n",
+    "f = 1000        # frequency in MHz\n",
+    "f = 1000*10**6  # frequency in MHz\n",
+    "c = 3*10**8     # speed of light in m/s\n",
+    "\n",
+    "\n",
+    "#calculation\n",
+    "\n",
+    "\n",
+    "lamda = c/f     # wavelength in m\n",
+    "C = pi*Dh       # circumfrence of helix in m\n",
+    "La = N*S        # axial legth in m\n",
+    "phi_not = (115*(lamda**(3/2))/(C*sqrt(La)))   # B.W.F.N., null-to-null beamwidth of main beam in Degreess\n",
+    "phi = (52*lamda**(3/2)/(C*sqrt(La)))          # H.P.B.W, half power beamwidth in Degreess\n",
+    "D = (15*N*C**2*S/(lamda)**3)                  # Directivity\n",
+    "\n",
+    "#Results\n",
+    "\n",
+    "print \"B.W.F.N., null-to-null beamwidth of main beam is:\",round(phi_not,1),\"degrees\"\n",
+    "print \"H.P.B.W, half power beamwidth is:\",round(phi,1),\"degrees\"\n",
+    "print \"Directivity is:\",round(D,2)\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Antenna_and_Wave_Propagation/chapter7.ipynb b/Antenna_and_Wave_Propagation/chapter7.ipynb
new file mode 100755
index 00000000..51c148f2
--- /dev/null
+++ b/Antenna_and_Wave_Propagation/chapter7.ipynb
@@ -0,0 +1 @@
+{"nbformat_minor": 0, "cells": [{"source": "# Chapter 7 : Microwave Antennas", "cell_type": "markdown", "metadata": {}}, {"source": "## Example 7.1,Page Number 337", "cell_type": "markdown", "metadata": {}}, {"execution_count": 1, "cell_type": "code", "source": "from __future__ import division\n\n\n#variable declaration\nD = 2 # Diameter of paraboloid reflector in m\nc = 3*10**8 # speed of light in m/s\nf = 5 # frequency in GHz\nf = 5*10**9 # frequency in Hz\n\n#calculations\nlamda = c/f # wavelength in m\nBWFN = 140*(lamda/D) # null-to-null beamwidth in degrees\nHPBW = 70*(lamda/D)  # half power beamwidth in degrees\n\n#result\nprint \"null-to-null beamwidth in degrees:\",round(BWFN,3)\nprint \"half power beamwidth in degrees:\",round(HPBW,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "null-to-null beamwidth in degrees: 4.2\nhalf power beamwidth in degrees: 2.1\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.2,Page Number 337", "cell_type": "markdown", "metadata": {}}, {"execution_count": 2, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\n\n#variable declaration\nD  = 2      # mouth diameter of paraboloid reflector in m\nc  = 3*10**8 # speed of light in m/s\nf  = 5      # frequency in GHz\nf  = 5*10**9 # frequency in Hz\n\n#calculations\nlamda  = c/f # wavelength in m\nG  = 6.4*(D/lamda)**2 # power gain of paraboloid\nG_p  = 10*log10(G) #power gain in dB\n\n#result\nprint \"power gain in dB:\",round(G_p,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "power gain in dB: 38.519\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.3,Page Number 337", "cell_type": "markdown", "metadata": {}}, {"execution_count": 3, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\n\n#variable declaration\n\nD_a = 0.15   # mouth Diameter of paraboloid in m\nc = 3*10**8  # speed of light in m/s\nf = 10       # frequency in GHz\nf = 10*10**9 # frequency in Hz\n\n#calculations\nlamda = c/f  # wavelength in m\nBWFN = 140*(lamda/D_a)   # null-to-null beamwidth in degrees\nHPBW = 70*(lamda/D_a)    # half power beamwidth in degrees\nG_p = 6.4*(D_a/lamda)**2 # power gain of paraboloid\nG_p = 10*log10(G_p)      # power gain in dB\n\n#result\nprint \"null-to-null beamwidth in degrees:\",round(BWFN,3)\nprint \"half power beamwidth in degrees:\",round(HPBW,3)\nprint \"power gain in dB:\",round(G_p,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "null-to-null beamwidth in degrees: 28.0\nhalf power beamwidth in degrees: 14.0\npower gain in dB: 22.041\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.4,Page Number 338", "cell_type": "markdown", "metadata": {}}, {"execution_count": 4, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\n\n#variable declaration\nD_a = 1.8 #mouth diameter of paraboloid reflector in m\nc = 3*10**8 # speed of light in m/s\nf = 2       # frequency in GHz\nf = 2*10**9 # frequency in Hz\n\n#calculations\nlamda = c/f              # wavelength in m\nG_p = 6.4*(D_a/lamda)**2 # power gain of paraboloid\nG_p = 10*log10(G_p)      # power gain in dB\n\n\n#result\nprint \"power gain in dB:\",round(G_p,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "power gain in dB: 29.645\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.5,Page Number 338", "cell_type": "markdown", "metadata": {}}, {"execution_count": 5, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\n\n#variable declaration\nc = 3*10**8 # speed of light in m/s\nf = 5 # frequency in GHz\nf = 5*10**9 # frequency in Hz\nlamda = c/f # wavelength in m\nBWFN = 10 # null-to-null beamwidth in degrees\n\n#calculations\n# formula: BWFN = 140*(lamda/D_a)\nD_a = 140*lamda/BWFN # mouth Diameter of paraboloid reflector in m\nHPBW = 70*(lamda/D_a) # half power beamwidth in degrees\nG_p = 6.4*(D_a/lamda)**2 # power gain of paraboloid\n\n#result\nprint \"half power beamwidth in degrees:\",round(HPBW,3)\nprint \"mouth Diameter of paraboloid reflector in m:\",round(D_a,3)\nprint \"power gain of paraboloid:\",round(G_p,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "half power beamwidth in degrees: 5.0\nmouth Diameter of paraboloid reflector in m: 0.84\npower gain of paraboloid: 1254.4\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.6,Page Number 339", "cell_type": "markdown", "metadata": {}}, {"execution_count": 6, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10,pi\n\n#variable declaration\nb = 0.65 # illumination efficiency\nD_a = 6 # mouth diameter of paraboloid reflector in m\nc = 3*10**8 # speed of light in m/s\nf = 10 # frequency in GHz\nf = 10*10**9 # frequency in Hz\n\n#calculations\nlamda = c/f # wavelength in m\nA = pi*(D_a)**2/4 # Actual area in m**2\nA_c = 0.65*A # capture area in m**2\nD = 6.4*(D_a/lamda)**2 # directivity\nD = 10*log10(D) # directivity in dB\nphi = 70*(lamda/D_a) # half power beam width in degrees\nphi_not = 2*phi # null-to-null main beam width in degrees\n\n#result\nprint \"directivity in dB:\",round(D,3)\nprint \"half power beam width in degrees:\",round(phi,3)\nprint \"null-to-null main beam width in degrees:\",round(phi_not,3)\nprint \"capture area in m**2:\",round(A_c,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "directivity in dB: 54.082\nhalf power beam width in degrees: 0.35\nnull-to-null main beam width in degrees: 0.7\ncapture area in m**2: 18.378\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.7,Page Number 339", "cell_type": "markdown", "metadata": {}}, {"execution_count": 7, "cell_type": "code", "source": "from __future__ import division\n\n#variable declaration\nD_a = 6     # Diameter of paraboloid reflector in m\nc = 3*10**8 # speed of light in m/s\nf = 4       # frequency in GHz\nf = 4*10**9 # frequency in Hz\n\n#calculations\nlamda = c/f # wavelength in m\nr = (2*D_a**2)/lamda # required minimum distance between two antennae in m\n\n\n#result\nprint \"required minimum distance between two antennae in m:\",round(r,3)  \n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "required minimum distance between two antennae in m: 960.0\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.8,Page Number 340", "cell_type": "markdown", "metadata": {}}, {"execution_count": 8, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable declaration\nG_p = 1000 # gain\nc = 3*10**8 # speed of light in m/s\nf = 3 # frequency in GHz\nf = 3*10**9 # frequency in Hz\nlamda = c/f # wavelength in m\n\n#calculations\n# formula : G_p = 6.4*(D_a/lambda)**2 # power gain\nD_a = lamda*(sqrt(G_p/6.4)) # mouth Diameter of paraboloid in m\nBWFN = 140*(lamda/D_a) # null-to-null beamwidth in degrees\nHPBW = 70*(lamda/D_a) # half power beamwidth in degrees\n\n#result\nprint \"mouth Diameter of paraboloid in m\",round(D_a,3)\nprint \"null-to-null beamwidth in degrees:\",round(BWFN,3)\nprint \"half power beamwidth in degrees:\",round(HPBW,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "mouth Diameter of paraboloid in m 1.25\nnull-to-null beamwidth in degrees: 11.2\nhalf power beamwidth in degrees: 5.6\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.9,Page Number 340", "cell_type": "markdown", "metadata": {}}, {"execution_count": 9, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt,pi\n\n#variable declaration\nc = 3*10**8 # speed of light in m/s\nf = 10 # frequency in GHz\nf = 10*10**9 # frequency in Hz\nlamda = c/f # wavelength in m\nG_p = 75 # power gain in dB\n\n#calculations\n\n# formula : G_p = 10*log10(G_p) # power gain in dB\nG = 10**(G_p/10) # simple power gain\n# formula : G = 6.4*(D_a/lamda)**2 # power gain\nD_a = lamda*(sqrt(G/6.4)) # mouth Diameter of paraboloid in m\nA = pi*(D_a)**2/4 # Actual area in m**2\nA_c = 0.65*A # capture area in m**2\nBWFN = 140*(lamda/D_a) # null-to-null beamwidth in degrees\nHPBW = 70*(lamda/D_a) # half power beamwidth in degrees\n\n\n#result\nprint \"null-to-null beamwidth in degrees:\",round(BWFN,3)\nprint \"half power beamwidth in degrees:\",round(HPBW,3)\nprint \"capture area in m**2:\",round(A_c,3)\n\n#answer of capture area is slightly more as compare to the book\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "null-to-null beamwidth in degrees: 0.063\nhalf power beamwidth in degrees: 0.031\ncapture area in m**2: 2270.209\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.10,Page Number 341", "cell_type": "markdown", "metadata": {}}, {"execution_count": 10, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10,pi\n\n#variable declaration\nD_a = 60 # mouth diameter of paraboloid reflector in m\nc = 3*10**8 # speed of light in m/s\nf = 2 # frequency in GHz\nf = 2*10**9 # frequency in Hz\n\n#calculations\nlamda = c/f # wavelength in m\nphi = 70*(lamda/D_a) # half power beam width in degrees\nphi_not = 140*(lamda/D_a) # null-to-null main beam width in degrees\nG_p = 6.4*(D_a/lamda)**2 # power gain of paraboloid\nG_p = 10*log10(G_p) #power gain in dB\n\n#result\nprint \"half power beam width in degrees:\",round(phi,3)\nprint \"null-to-null main beam width in degrees:\",round(phi_not,3)\nprint \"power gain in dB:\",round(G_p,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "half power beam width in degrees: 0.175\nnull-to-null main beam width in degrees: 0.35\npower gain in dB: 60.103\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.11,Page Number 342", "cell_type": "markdown", "metadata": {}}, {"execution_count": 11, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\n\n#variable declaration\nD = 22 # mouth diameter of paraboloid reflector in m\nc = 3*10**8 # speed of light in m/s\nf = 5 # frequency in GHz\nf = 5*10**9 # frequency in Hz\nlamda = c/f # wavelength in m\nb = 0.6 # illumination efficiency\n\n\n#calculations\nG_p = b*(D/lamda)**2 # power gain of paraboloid\nG_p = 10*log10(G_p) #power gain in dB\n\n#result\nprint \"power gain in dB:\",round(G_p,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "power gain in dB: 49.067\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.12,Page Number 342", "cell_type": "markdown", "metadata": {}}, {"execution_count": 12, "cell_type": "code", "source": "from __future__ import division\nfrom math import pi\n\n#variable declaration\nc = 3*10**8 # speed of light in m/s\nf = 2 # frequency in GHz\nf = 2*10**9 # frequency in Hz\nlamda = c/f # wavelength in m\nBWFN = 12 # null-to-null main beam width in degrees\n\n#calculalations\n# formula : BWFN = 140*(lamda/D_a)\nD_a = 140*lamda/BWFN # mouth diameter of paraboloid reflector in m\nA = pi*(D_a)**2/4 # Actual area in m**2\nA_c = 0.65*A # capture area in m**2\n\n#result\nprint \"mouth diameter of paraboloid reflector in m:\",round(D_a,3)\nprint \"capture area in m**2:\",round(A_c,4)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "mouth diameter of paraboloid reflector in m: 1.75\ncapture area in m**2: 1.5634\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.13,Page Number 343", "cell_type": "markdown", "metadata": {}}, {"execution_count": 13, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\n\n#variable declaration\nc=3*10**8   # speed of light in m/s\nf=2.5       # frequency in GHz\nf=2.5*10**9 # frequency in Hz\nlamda=c/f   # wavelength in m\nBWFN=3 # null-to-null main beam width in degrees\n\n#calculations\n# formula : BWFN=140*(lamda/D_a)\nD_a=140*lamda/BWFN # mouth diameter of paraboloid reflector in m\nG=6.4*(D_a/lamda)**2 # power gain of paraboloid\nG_p=10*log10(G) #power gain in dB\n\n#calculations\nprint \"power gain in dB:\",round(G_p,3)\nprint \"mouth diameter of paraboloid reflector in m:\",round(D_a,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "power gain in dB: 41.442\nmouth diameter of paraboloid reflector in m: 5.6\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.14,Page Number 343", "cell_type": "markdown", "metadata": {}}, {"execution_count": 14, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\nfrom sympy import Symbol\n\n#variable declaration\nphi = 5 # HPBW,half power beam width in Degrees\nphi_not = 2*phi # BWFN, null-to-null beam width in degrees\nLm = Symbol('Lm') # defining Lm as lambda\n\n#calculations\n# formula : phi = 70*(Lm/D_a) # where Lm is wavelength in m and D_a is mouth diameter in m\nD_a = (70*Lm)/phi\nG_p = 6.4*(D_a/Lm)**2\nG_p = 10*log10(G_p) # power gain in dB\n\n#result\nprint \"BWFN, null-to-null beam width in degrees:\",round(phi_not,3)\nprint \"power gain in dB:\",round(G_p,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "BWFN, null-to-null beam width in degrees: 10.0\npower gain in dB: 30.984\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.15,Page Number 344", "cell_type": "markdown", "metadata": {}}, {"execution_count": 15, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\nfrom sympy import Symbol\n\n#variable declaration\nLm = Symbol('Lm')# defining Lm as lambda\nD_a = 8*Lm # where D_a is mouth diameter in m and Lm is wavelength in m\n\n#calculations\n# formula : G_p = 6.4*(D/lambda)**2\nG_p = 6.4*(D_a/Lm)**2 #power gain\nG_p = 10*log10(G_p) # power gain in dB  \n\n#result\nprint \"power gain in dB:\",round(G_p,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "power gain in dB: 26.124\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.16,Page Number 344", "cell_type": "markdown", "metadata": {}}, {"execution_count": 16, "cell_type": "code", "source": "from __future__ import division\nfrom sympy import Symbol\n\n#variable declaration\nLm = Symbol('Lm') # defining Lm as lamda\nD_a = 6*Lm        # where D_a is mouth diameter in m and Lm is wavelength\n\n#calculations\n# formula : HPBW = phi = 70*(lamda/D_a)\nphi = 70*(Lm/D_a) # half power beam width in degrees\nphi_not = 2*phi   # null-to-null beam width in degrees\n# formula : D = 6.4*(D_a/lambda)**2\nD = 6.4*(D_a/Lm)**2\n\n#result\nprint \"Directivity:\",round(D,3)\nprint \"half power beam width in degrees:\",round(phi,3)\nprint \"null-to-null beam width in degrees:\",round(phi_not,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Directivity: 230.4\nhalf power beam width in degrees: 11.667\nnull-to-null beam width in degrees: 23.333\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.17,Page Number 344", "cell_type": "markdown", "metadata": {}}, {"execution_count": 17, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\n\n#variable declaration\nf = 6 # frequency in GHz\nf = 6*10**9 # frequency in Hz\nc = 3*10**8 # speed of light in m/s\nlamda = c/f # wavelength in m\nd = 12 # aperture length in cm\nd = 12*10**-2 # aperture length in m\nw = 6 # aperture width in cm\nw = 6*10**-2 # aperture width in m\n\n#calculations\nphi_E = 56*(lamda/d) # half power beam width for aperture length d in Degrees\nphi_H = 67*(lamda/w) # half power beam width for aperture width w in Degrees\nG_p = (4.5*w*d)/(lamda)**2 # power gain\nG_p = 10*log10(G_p) # power gain in dB\nD =(7.5*w*d)/(lamda)**2 # Directivity\n\n#result\nprint \"half power beam width for aperture length d in Degrees:\",round(phi_E,3)\nprint \"half power beam width for aperture width w in Degrees:\",round(phi_H,3)\nprint \"power gain in dB:\",round(G_p,2)\nprint \"Directivity:\",round(D,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "half power beam width for aperture length d in Degrees: 23.333\nhalf power beam width for aperture width w in Degrees: 55.833\npower gain in dB: 11.13\nDirectivity: 21.6\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.18,Page Number 345", "cell_type": "markdown", "metadata": {}}, {"execution_count": 18, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\nfrom sympy import Symbol\n\n#variable declaration\nLm = Symbol('Lm') # defining Lm as lambda\nd = 8*Lm # where d is aperture length and Lm is wavelength\nw = 8*Lm # where w is aperture width\n\n#calculations\n#formula : G_p = (4.5*w*d)/lambda**2\nG_p = (4.5*w*d)/Lm**2 # power gain \nG_p = 10*log10(G_p)   # power gain in dB\n\n#result\nprint \"power gain in dB:\",round(G_p,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "power gain in dB: 24.594\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.19,Page Number 345", "cell_type": "markdown", "metadata": {}}, {"execution_count": 19, "cell_type": "code", "source": "from __future__ import division\nfrom math import log10\n\n#variable declaration\nf = 6 # frequency in GHz\nf = 6*10**9 # frequency in Hz\nc = 3*10**8 # speed of light in m/s\nlamda = c/f # wavelength in m\nd = 10      # aperture length in cm\nd = 10*10**-2 # aperture length in m\nw = 5        # aperture width in cm\nw = 5*10**-2 # aperture width in m\n\n#calculations\nG_p = (4.5*w*d)/(lamda)**2 # power gain\nG_p = 10*log10(G_p)        # power gain in dB\nD = (7.5*w*d)/(lamda)**2   # Directivity\nD = 10*log10(D) # directivity in dB\n\n#result\nprint \"power gain in dB:\",round(G_p,3)\nprint \"Directivity in dB:\",round(D,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "power gain in dB: 9.542\nDirectivity in dB: 11.761\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 7.20,Page Number 345", "cell_type": "markdown", "metadata": {}}, {"execution_count": 21, "cell_type": "code", "source": "from __future__ import division\nimport numpy as np\n\neta_0 = 377 #intrinsic impedance in ohm\nprint \"when Zd = 73+42.5j\" \nZd = 73+42.5j # dipole impedance\n# formula : zs*zd = (eta_0)**2/4\nZs = eta_0**2/(4*Zd) # slot impedance in ohm\nprint \"complementary slot impedance in ohm:\",np.around(Zs,2)\n\nprint \"when Zd = 67+0j\"\nZd = 67+0j # dipole impedance\n# formula : zs*zd = (eta_0)**2/4\nZs = eta_0**2/(4*Zd) # slot impedance in ohm\nprint \"complementary slot impedance in ohm:\",np.around(Zs,2)\n\nprint \"when Zd = 710+0j\"\nZd = 710+0j # dipole impedance\n# formula : zs*zd = (eta_0)**2/4\nZs = eta_0**2/(4*Zd) # slot impedance in ohm\nprint \"complementary slot impedance in ohm:\",np.around(Zs,2)\n\n\nprint \"when Zd = 500+0j\"\nZd = 500+0j # dipole impedance\n# formula : zs*zd = (eta_0)**2/4\nZs = eta_0**2/(4*Zd) # slot impedance in ohm\nprint \"complementary slot impedance in ohm:\",np.around(Zs,2)\n\n\nprint \"when Zd = 50+20j\"\nZd = 50+20j # dipole impedance\n# formula : zs*zd = (eta_0)**2/4\nZs = eta_0**2/(4*Zd) # slot impedance in ohm\nprint \"complementary slot impedance in ohm:\",np.around(Zs,2)\n\n\nprint \"when Zd = 50-25j\"\nZd = 50-25j # dipole impedance\n# formula : zs*zd = (eta_0)**2/4\nZs = eta_0**2/(4*Zd) # slot impedance in ohm\nprint \"complementary slot impedance in ohm:\",np.around(Zs,2)\n\n\nprint \"when Zd = 300+0j\"\nZd = 300+0j # dipole impedance\n# formula : zs*zd = (eta_0)**2/4\nZs = eta_0**2/(4*Zd) # slot impedance in ohm\nprint \"complementary slot impedance in ohm:\",np.around(Zs,2)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "when Zd = 73+42.5j\ncomplementary slot impedance in ohm: (363.53-211.64j)\nwhen Zd = 67+0j\ncomplementary slot impedance in ohm: (530.33+0j)\nwhen Zd = 710+0j\ncomplementary slot impedance in ohm: (50.05+0j)\nwhen Zd = 500+0j\ncomplementary slot impedance in ohm: (71.06+0j)\nwhen Zd = 50+20j\ncomplementary slot impedance in ohm: (612.62-245.05j)\nwhen Zd = 50-25j\ncomplementary slot impedance in ohm: (568.52+284.26j)\nwhen Zd = 300+0j\ncomplementary slot impedance in ohm: (118.44+0j)\n"}], "metadata": {"collapsed": false, "trusted": true}}], "nbformat": 4, "metadata": {"kernelspec": {"display_name": "Python 2", "name": "python2", "language": "python"}, "language_info": {"mimetype": "text/x-python", "nbconvert_exporter": "python", "version": "2.7.8", "name": "python", "file_extension": ".py", "pygments_lexer": "ipython2", "codemirror_mode": {"version": 2, "name": "ipython"}}}}
\ No newline at end of file
diff --git a/Antenna_and_Wave_Propagation/chapter9.ipynb b/Antenna_and_Wave_Propagation/chapter9.ipynb
new file mode 100755
index 00000000..fe9a64b9
--- /dev/null
+++ b/Antenna_and_Wave_Propagation/chapter9.ipynb
@@ -0,0 +1 @@
+{"nbformat_minor": 0, "cells": [{"source": "# Chapter 9 : Wave Propagation", "cell_type": "markdown", "metadata": {}}, {"source": "## Example 9.1,Page Number 425", "cell_type": "markdown", "metadata": {}}, {"execution_count": 1, "cell_type": "code", "source": "from __future__ import division\nfrom math import atan,degrees,sqrt,cos,pi,sin,exp,radians\n\n#variable Declaration\n\nf = 1.7       #frequency in MHz\nf = 1.7*10**6 #frequency in Hz\nE = 0.5       #electric field in mV/m\nE = 0.5*10**(-3)   # electric field in V/m\nsigma = 5*10**-5   # conductivity in mho/cm\neta = 0.5          # efficiency\nepsilon_r = 10  # relative permittivity\nc = 3*10**8   # speed of light in m/s\nlamda = c/f   # wavelength in m\nd = 10        # distance in km\nd = 10*10**3  # distance in m\n\n#calculations\nDf = 1.8*10**12*(sigma/f)     # dissipation factor\nb = atan((epsilon_r+1)/Df)*180/pi   # phase constant in degrees\np = (pi/Df)*(d/lamda)*cos(radians(b)) # numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-((sin(radians(b))*(sqrt(p/2)*(exp((-5*p)/8))))) # factor of the ground losses\n# formula: E = (A*E_not)/d\n#E_not = 300*sqrt(P_kW) # E_not is in mV/m\n#E_not = 300*sqrt(P_kW)*10**(-3) # E_not is in V/m\nP_kW = ((E*d*10**-3)/(A*300*10**-3))**2 # Power in kW and d is in km\n# formula : P = Ptx*eta\nPtx = P_kW/eta #transmitter power required in kW\n\n\n#result\nprint \"transmitter power required in W:\",round(Ptx*1000,2)\n\n#note: answer in the book is wrong.python gives Ptx = 11.49W whereas answer in the book is Ptx = 12.6W\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "transmitter power required in W: 11.49\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.2,Page Number 426", "cell_type": "markdown", "metadata": {}}, {"execution_count": 21, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt,pi,radians,atan,cos,sin,exp\n\n#variable Declaration\n\nprint \"for frequency = 500kHz\"\nf1 = 500*10**3 # frequency in Hz\nc = 3*10**8 # speed of light in m/s\nlamda1 = c/f1 #   wavelength in m\nd = 100 # distance in km\nd = 100*10**3 # distance in m\nPt = 100 #  transmitter power in kW \neta = 50 #  efficiency in percentage\neta = 0.5 #  efficiency\nP_kW = Pt*eta #  radiated power in kW\nE_not = 300*1.28*sqrt(P_kW) #  field strength in mV/m without ground losses at 1km\n\n\n#calculations and result\n\n # for sea water earth\nepsilon_r = 81 #  permittivity\nsigma = 45*10**-3 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f1) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda1)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b))*(sqrt(p/2)*exp((-5*p)/8))) #  factor of the ground losses\nE1 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for sea water earth in mV/m when f = 500kHz:\",round(E1*1000,3)\n\n#  for good soil\nepsilon_r = 20 #  permittivity\nsigma = 10**-4 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f1) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda1)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b))*(sqrt(p/2)*exp((-5*p)/8))) #  factor of the ground losses\nE2 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for good soil in mV/m when f = 500kHz:\",round(E2*1000,3)\n\n#  for poor soil\nepsilon_r = 10 #  permittivity\nsigma = 0.2*10**-4 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f1) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda1)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b))*(sqrt(p/2)*exp((-5*p)/8))) #  factor of the ground losses\nE3 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for poor soil in mV/m when f = 500kHz:\",round(E3*1000,3)\n\n#  for cities,industrial areas\nepsilon_r = 5 #  permittivity\nsigma = 10**-5 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f1) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda1)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b))*(sqrt(p/2)*exp((-5*p)/8))) #  factor of the ground losses\nE4 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for cities,industrial areas in mV/m when f = 500kHz:\",round(E4*1000,3)\n\n#  for Rockey soil,flat sandy\nepsilon_r = 10 #  permittivity\nsigma = 2*10**-3 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f1) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda1)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b))*(sqrt(p/2)*exp((-5*p)/8))) #  factor of the ground losses\nE5 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for Rockey soil,flat sandy in mV/m when f = 500kHz:\",round(E5*1000,3)\n\n#  for medium hills,forestation\nepsilon_r = 13 #  permittivity\nsigma = 5*10**-5 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f1) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda1)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b))*(sqrt(p/2)*exp((-5*p)/8))) #  factor of the ground losses\nE6 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for medium hills,forestation in mV/m when f = 500kHz:\",round(E6*1000,3)\n\n\n\nprint(\"for frequency = 1500kHz\")\n\nf2 = 1500 #  in kHz\nf2 = 1500*10**(3) #  in Hz\nlamda2 = c/f2 #  in m\n #  for sea water earth\nepsilon_r = 81 #  permittivity\nsigma = 45*10**-3 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f2) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda2)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b)))*(sqrt(p/2)*exp((-5*p)/8)) #  factor of the ground losses\nE1 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for sea water earth in mV/m when f = 1500kHz:\",round(E1*1000,3)\n\n#  for good soil\nepsilon_r = 20 #  permittivity\nsigma = 10**-4 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f2) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda2)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b)))*(sqrt(p/2)*exp((-5*p)/8)) #  factor of the ground losses\nE2 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for good soil in mV/m when f = 1500kHz:\",round(E2*1000,3)\n\n#  for poor soil\nepsilon_r = 10 #  permittivity\nsigma = 0.2*10**-4 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f2) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda2)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b)))*(sqrt(p/2)*exp((-5*p)/8)) #  factor of the ground losses\nE3 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for poor soil in mV/m when f = 1500kHz:\",round(E3*1000,3)\n\n#  for cities,industrial areas\nepsilon_r = 5 #  permittivity\nsigma = 10**-5 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f2) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda2)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b)))*(sqrt(p/2)*exp((-5*p)/8)) #  factor of the ground losses\nE4 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for cities,industrial areas in mV/m when f = 1500kHz:\",round(E4*1000,3)\n\n#  for Rockey soil,flat sandy\nepsilon_r = 10 #  permittivity\nsigma = 2*10**-3 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f2) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda2)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b)))*(sqrt(p/2)*exp((-5*p)/8)) #  factor of the ground losses\nE5 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for Rockey soil,flat sandy in mV/m when f = 1500kHz:\",round(E5*1000,3)\n\n#  for medium hills,forestation\nepsilon_r = 13 #  permittivity\nsigma = 5*10**-5 #  conductivity in mho/cm\nDf = 1.8*10**12*(sigma/f2) #  dissipation factor\nb = atan(radians(epsilon_r+1)/Df) #  phase constant in degrees\np = (pi/Df)*(d/lamda2)*cos(radians(b)) #  numerical distance\nA = ((2+0.3*p)/(2+p+0.6*p**2))-(sin(radians(b))*(sqrt(p/2))*exp((-5*p)/8)) #  factor of the ground losses\nE6 = (A*E_not)/(d) #  in V/m\nprint \"electric field strength for medium hills,forestation in mV/m when f = 1500kHz:\",round(E6*1000,3)\n\n\n\n\n# note 1 : misprint value of sigma in part (e) when f = 500khz correct is sigma = 2*10**-3 for rockey soil\n# note 2:  The ans is rounded off at the F  =  1500 kHz in poor soil and Cities, industrial area.\n# note 3 : most of the answers in the book are upto one places of decimal.python calculated them upto 3 places of decimal.\n# note 4 : Several answers in the book are not correctly calculated after decimal.\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "for frequency = 500kHz\nelectric field strength for sea water earth in mV/m when f = 500kHz: 27.122\nelectric field strength for good soil in mV/m when f = 500kHz: 14.004\nelectric field strength for poor soil in mV/m when f = 500kHz: 2.769\nelectric field strength for cities,industrial areas in mV/m when f = 500kHz: 1.204\nelectric field strength for Rockey soil,flat sandy in mV/m when f = 500kHz: 26.446\nelectric field strength for medium hills,forestation in mV/m when f = 500kHz: 7.811\nfor frequency = 1500kHz\nelectric field strength for sea water earth in mV/m when f = 1500kHz: 26.874\nelectric field strength for good soil in mV/m when f = 1500kHz: 1.365\nelectric field strength for poor soil in mV/m when f = 1500kHz: 0.223\nelectric field strength for cities,industrial areas in mV/m when f = 1500kHz: 0.108\nelectric field strength for Rockey soil,flat sandy in mV/m when f = 1500kHz: 20.483\nelectric field strength for medium hills,forestation in mV/m when f = 1500kHz: 0.609\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.3,Page Number 432", "cell_type": "markdown", "metadata": {}}, {"execution_count": 3, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nHt=100 # height of transmittin antenna in feet\nHr=50  # height of receiving antenna in feet\n\n#calculation\nDmax = sqrt(2*Ht)+sqrt(2*Hr) # in miles\n\n#result\nprint \"maximum range of tropospheric transmission in miles:\",round(Dmax,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "maximum range of tropospheric transmission in miles: 24.142\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.4,Page Number 432", "cell_type": "markdown", "metadata": {}}, {"execution_count": 4, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nHt=80         # height of transmitting antenna in meter\n\n#calculation\nd=sqrt(17*Ht) # radio horizon distance of transmitting antenna\n\n#result\nprint \"radio horizon distance of transmitting antenna in Km\",round(d,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "radio horizon distance of transmitting antenna in Km 36.878\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.5,Page Number 433", "cell_type": "markdown", "metadata": {}}, {"execution_count": 5, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nHt=80 # height of transmittin antenna in meter\nHr=50  # height of receiving antenna in meter\n\n#calculation\ndmax = sqrt(17*Ht)+sqrt(17*Hr) # in miles\n\n#result\nprint \"maximum range of tropospheric transmission in Km:\",round(dmax,3)\n\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "maximum range of tropospheric transmission in Km: 66.033\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.6,Page Number 433", "cell_type": "markdown", "metadata": {}}, {"execution_count": 6, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nDmax = 80 #distance in Km\nHt = 100 # height of transmitting antenna in meter\n\n#calculations\n# formula : Dmax = sqrt(17*Ht)+sqrt(17*Hr)\nHr = ((Dmax-(sqrt(17*Ht)))**2)/17 # height of receiving antenna in m\n\n#result\nprint \"height of receiving antenna in m\",round(Hr,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "height of receiving antenna in m 88.414\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.7,Page Number 433", "cell_type": "markdown", "metadata": {}}, {"execution_count": 7, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nHt=300 # height of antenna in feet\nHr=100 # height of receiving antenna in feet\n\n#calculations\ndt=sqrt(2*Ht) # radio horizon distance for a transmitting antenna in miles\ndr=sqrt(2*Hr) # radio horizon distance for a transmitting antenna in miles\ndmax=dt+dr # maximum range of space wave propagation in miles\n\n\n#result\nprint \"radio horizon distance for a transmitting antenna in miles:\",round(dt,3)\nprint \"radio horizon distance for a receiving antenna in miles:\",round(dr,3)\nprint \"maximum range of space wave propagation in miles:\",round(dmax,3) \n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "radio horizon distance for a transmitting antenna in miles: 24.495\nradio horizon distance for a receiving antenna in miles: 14.142\nmaximum range of space wave propagation in miles: 38.637\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.8,Page Number 433", "cell_type": "markdown", "metadata": {}}, {"execution_count": 8, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt,pi\n\n#variable Declaration\nf = 60       # in MHz\nf = 60*10**6 # in Hertz\nc = 3*10**8  # speed of light in m/s\nlamda = c/f  # wavelength in meter\nPtx = 1 # transmitting power in kilo watt\nht = 50 # height of transmiting antenna in meter\nhr = 5  # height of receiving antenna in meter\nE = 80  # electric field in micro V/m\nE = 80*10**(-6) # electric field in V/m\n\n\n#calculations\nE0 = 3*137.6*sqrt(Ptx)*(8/5)*10**3          # field in mV/m at 1 meter where Ptx is in kW\nE0 = 3*137.6*sqrt(Ptx)*(8/5)*10**3*10**(-3) # field in V/m at 1 meter where Ptx is in kW\n# formula : E = (4*(pi)*ht*hr*E0)/(lambda*d**2)\nd = sqrt((4*pi*ht*hr*E0)/(lamda*E)) # range of space wave in meter\n\n#result\nprint \"range of space wave in Km:\",round(d/1000,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "range of space wave in Km: 72.024\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.9,Page Number 434", "cell_type": "markdown", "metadata": {}}, {"execution_count": 9, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nhd = 30      # height of duct in m\ndelta_M = 30 # unitless\n\n#calculations\nlamda_max = 2.5*hd*sqrt(delta_M*10**-6) # maximum wavelength at which duct propagation is possible\n\n#result\nprint \"maximum wavelength at which duct propagation is possible in m:\",round(lamda_max,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "maximum wavelength at which duct propagation is possible in m: 0.411\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.10,Page Number 434", "cell_type": "markdown", "metadata": {}}, {"execution_count": 10, "cell_type": "code", "source": "from __future__ import division\n\n#variable Declaration\nfc = 1.5 # critical frequency in MHz\nfc = 1.5*10**(6) # critical frequency in Hz\n\n#calculations\n# formula : fc = 9*sqrt(Nmax)\nNmax = (fc)**2/81 # electron density in electrons/m**3\n\n#result\nprint \"electron density in electrons/m**3:\",Nmax\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "electron density in electrons/m**3: 27777777777.8\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.11,Page Number 435", "cell_type": "markdown", "metadata": {}}, {"execution_count": 11, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nn = 0.92 # refrective index\nMUF = 10 # maximum usable frequency in MHz\nMUF = 10*10**6 # maximum usable frequency in Hz\nf = 10*10**6 # in Hz ordinary frequency and maximum usable frequency are same\nh = 400 # height of ray reflection point on the ionospheric layer in Km\nh = 400*10**3 # height of ray reflection point on the ionospheric layer in m\n\n#calcu;ations\n# formula :n = sqrt(1-(81*Nmax/f**2))\nNmax = (1-n**2)*f**2/81 # electron density in electrons/m**3\nfc = 9*sqrt(Nmax) # critical frequency in Hz\n# MUF = fc*sec(thetai)\n#sec(thetai) = MUF/fc\n# also, sec(thetai) = sqrt(h**2+(d**2/4))/h so on comparing,\nd = sqrt(((MUF*h/fc)**2-h**2)*4) # range in km\n\n#result\nprint \"Range in Km:\",round(d/1000,3)\n\n# note :answer in the book is 1876.59 where as in python is 1877.94 minute difference only\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Range in Km: 1877.942\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.12,Page Number 435", "cell_type": "markdown", "metadata": {}}, {"execution_count": 12, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nf=50 # in hz\nf=50*10**3 # in KHz\nN1=400 # electron density of D layer in electrons/cm**3 \nN2=5*10**5 # electron density of E layer in electrons/cm**3 \nN3=2*10**6 # electron density of F layer in electrons/cm**3 \n\n#calculations\n# formula :n=sqrt(epsilon_r)=sqrt(1-(81*N/f**2)) # WHERE f IS IN KhZ\n# for D layer\nepsilon_r1=1-(81*N1/f**2) # relative permittivity of D layer\n# for E layer\nepsilon_r2=1-(81*N2/f**2) # relative permittivity of E layer\n# for F layer\nepsilon_r3=1-(81*N3/f**2) # relative permittivity of F layer\n\n#result\nprint \"relative permittivity of D layer:\",round(epsilon_r1,3)\nprint \"relative permittivity of E layer:\",round(epsilon_r2,4)\nprint \"relative permittivity of F layer:\",round(epsilon_r3,4)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "relative permittivity of D layer: 1.0\nrelative permittivity of E layer: 0.9838\nrelative permittivity of F layer: 0.9352\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.13,Page Number 436", "cell_type": "markdown", "metadata": {}}, {"execution_count": 13, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt,radians,asin,sin,pi,degrees\n\n#variable Declaration\nf = 50 # in hz\nf = 50*10**3 # in KHz\ntheta_i = 30 # in degrees\nN = 400 # electron density of D layer in electrons/cm**3 \n\n#calculations\n# formula :n = sqrt(epsilon_r) = sqrt(1-(81*N/f**2)) # WHERE f IS IN KhZ\n# for D layer\nepsilon_r = 1-(81*N/f**2) # relative permittivity of D layer\nn = sqrt(epsilon_r) # refrective index\n# formula : nsin(theta_r) = sin(theta_i) # snell's law\ntheta_r = asin(sin(radians(theta_i/n)))*180/pi # angle of refraction in degrees\n\n#result\nprint \"angle of refraction in degrees:\",round(theta_r,3) \n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "angle of refraction in degrees: 30.0\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.14,Page Number 437", "cell_type": "markdown", "metadata": {}}, {"execution_count": 14, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nN1 = 400 # electron density of D layer in electrons/cm**3 \nN2 = 5*10**5 # electron density of E layer in electrons/cm**3 \nN3 = 2*10**6 # electron density of F layer in electrons/cm**3\n\n#calculations\n# formula : fc = 9*sqrt(N) \nfc1 = 9*sqrt(N1) # critical frequency in Khz of EM wave for D layer\nfc2 = 9*sqrt(N2) # critical frequency in MHz of EM wave for E layer\nfc3 = 9*sqrt(N3) # critical frequency in MHz of EM wave for F layer\n\n\n#result\nprint \"critical frequency of EM wave for D layer in kHz:\",round(fc1,3)\nprint \"critical frequency of EM wave for E layer in Mhz:\",round(fc2/10**3,3)\nprint \"critical frequency of EM wave for F layer in Mhz:\",round(fc3/10**3,3)\n\n\n\n#note: the value of fc3 in book is equal to 12.8MHz but the correct is 12.72MHz.\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "critical frequency of EM wave for D layer in kHz: 180.0\ncritical frequency of EM wave for E layer in Mhz: 6.364\ncritical frequency of EM wave for F layer in Mhz: 12.728\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.15,Page Number 437", "cell_type": "markdown", "metadata": {}}, {"execution_count": 15, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nNmax = 1.3*10**6 # maximum electron density in electrons/cm**3\n\n#calculations\n# formula : fc = 9*sqrt(Nmax)\nfc_khz = 9*sqrt(Nmax) # critical frequency in Khz\n\n#result\nprint \"critical frequency in Mhz:\",round(fc_khz/1000,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "critical frequency in Mhz: 10.262\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.16,Page Number 437", "cell_type": "markdown", "metadata": {}}, {"execution_count": 16, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nd = 2600 # distance between the points in Km\nd = 2600*10**3 # distance between the points in m\nfc = 4   # critical frequency in MHz\nfc = 4*10**6  # critical frequency in Hz\nh = 200       # height of ionospheric layer in km\nh = 200*10**3 # height of ionospheric layer in m\n\n\n#calculations\nMUF = fc*sqrt(1+(d/(2*h))**2) # maximum usable frequency   (this step is Misprinted in the book)\n\n#result\nprint \"maximum usable frequency in MHz:\",round(MUF/10**6,3)\n\n\n\n#note: Answer in the book is wrong.\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "maximum usable frequency in MHz: 26.306\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.17,Page Number 438", "cell_type": "markdown", "metadata": {}}, {"execution_count": 17, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nN = 400  # electron density in electrons/cm**3\nn  = 0.5 # refrective index\n\n#calculations\n# formula : n  = sqrt(1-(81*N/f**2)) \nf = sqrt(81*N/(1-n**2)) # frequency in kHz\n\n#result\nprint \"frequency of propagating wave in kHz:\",round(f,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "frequency of propagating wave in kHz: 207.846\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.18,Page Number 438", "cell_type": "markdown", "metadata": {}}, {"execution_count": 18, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt\n\n#variable Declaration\nHt  = 60 # height of transmitting antenna in meter\nHr  = 6  # height of receiving antenna in meter\n\n#calculations\nd= sqrt(17*Ht)+sqrt(17*Hr) # in Km\n\n#result\nprint \"range of line of sight in Km:\",round(d,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "range of line of sight in Km: 42.037\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "## Example 9.19,Page Number 438", "cell_type": "markdown", "metadata": {}}, {"execution_count": 19, "cell_type": "code", "source": "from __future__ import division\nfrom math import sqrt,asin,atan,pi\n\n#variable Declaration\nd=500 # distance between transmitter and receiver in km\nh=70  # height of D layer in km\n\n#calculations\ntheta_c = asin(h/(sqrt(h**2+(d**2/4))))*180/pi # critical angle in degrees\n\n#result\nprint \"critical angle of propagation in degrees:\",round(theta_c,3)\n\n\n\n#it can also be calculated from\ntheta_c = atan((2*h/d))*180/pi # critical angle in degrees\nprint \"critical angle of propagation in degrees by method 2:\",round(theta_c,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "critical angle of propagation in degrees: 15.642\ncritical angle of propagation in degrees by method 2: 15.642\n"}], "metadata": {"collapsed": false, "trusted": true}}], "nbformat": 4, "metadata": {"kernelspec": {"display_name": "Python 2", "name": "python2", "language": "python"}, "language_info": {"mimetype": "text/x-python", "nbconvert_exporter": "python", "version": "2.7.8", "name": "python", "file_extension": ".py", "pygments_lexer": "ipython2", "codemirror_mode": {"version": 2, "name": "ipython"}}}}
\ No newline at end of file
diff --git a/Antenna_and_Wave_Propagation/screenshots/chapter1.png b/Antenna_and_Wave_Propagation/screenshots/chapter1.png
new file mode 100755
index 00000000..f45cc37d
Binary files /dev/null and b/Antenna_and_Wave_Propagation/screenshots/chapter1.png differ
diff --git a/Antenna_and_Wave_Propagation/screenshots/chapter4.png b/Antenna_and_Wave_Propagation/screenshots/chapter4.png
new file mode 100755
index 00000000..06af66db
Binary files /dev/null and b/Antenna_and_Wave_Propagation/screenshots/chapter4.png differ
diff --git a/Antenna_and_Wave_Propagation/screenshots/chapter6.png b/Antenna_and_Wave_Propagation/screenshots/chapter6.png
new file mode 100755
index 00000000..7df8bb6a
Binary files /dev/null and b/Antenna_and_Wave_Propagation/screenshots/chapter6.png differ
diff --git a/Applied_Physics-II/chapter1.ipynb b/Applied_Physics-II/chapter1.ipynb
new file mode 100755
index 00000000..c4b1a860
--- /dev/null
+++ b/Applied_Physics-II/chapter1.ipynb
@@ -0,0 +1,1353 @@
+{
+ "metadata": {
+  "celltoolbar": "Raw Cell Format",
+  "name": "",
+  "signature": "sha256:fad8e22fb99cc3e157ab8315172e2ff6ddae35bb6f49be764a49d2d1d3f70fcc"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1: Interference"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.1, Page number 1-16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "i=45*math.pi/180         #angle of incidence\n",
+      "u=1.33                   #Refractive index of a soap film\n",
+      "lamda=5.896*10**-7       #wavelength of required yellow light\n",
+      "\n",
+      "#Calculations:\n",
+      "#u=sin i/sin r           #Snell's law   .So,\n",
+      "r=math.asin(math.sin(i)/u)     #angle of reflection\n",
+      "\n",
+      "#Now, condition for bright fringe is\n",
+      "#2ut*cos r=(2n-1)lamda/2\n",
+      "#Here n=1\n",
+      "t=lamda/(2*2*u*math.cos(r))      #minimum thickness of film at which light will appear bright yellow\n",
+      "print\"Minimum thickness of film at which light will appear bright yellow of required wavelength is =\",t,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum thickness of film at which light will appear bright yellow of required wavelength is = 1.30853030399e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.2, Page number 1-16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "theta=40./3600*math.pi/180     #angle of wedge in radians\n",
+      "B=0.12*10**-2                 #fringe spacing\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know, B=lam/(2*u*theta). Here u=1\n",
+      "lamda=2*B*theta               #wavelength of light used\n",
+      "print\"Wavelength of light used is =\",lamda,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Wavelength of light used is = 4.65421133865e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.3, Page number 1-17"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "i=30*math.pi/180        #angle of incidence\n",
+      "u=1.46                  #Refractive index of a oil\n",
+      "lamda=5.890*10**-7       #wavelength of required yellow light\n",
+      "n=8                     #eighth dark band\n",
+      "\n",
+      "#Calculations:\n",
+      "#u=sin i/sin r      #Snell's law   .So,\n",
+      "r=math.asin(math.sin(i)/u)     #angle of reflection\n",
+      "\n",
+      "#Now, condition for dark fringe is\n",
+      "#2ut*cos r=n*lamda\n",
+      "t=n*lamda/(2*u*math.cos(r))     #thickness of film\n",
+      "print\"Thickness of the film is =\",t,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thickness of the film is = 1.71755887917e-06 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.4, Page number 1-17"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "\n",
+      "B=0.1*10**-2               #fringe spacing\n",
+      "lamda=5.893*10**-7         #Wavelength of light\n",
+      "u=1.52                     #Refractive index of wedge\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know, B=lamda/(2*u*theta). Here u=1\n",
+      "theta1=lamda/(2*u*B)            #angle of wedge in radians\n",
+      "theta=theta1*3600*180/math.pi   #angle of wedge in seconds\n",
+      "print\"Angle of wedge is =\",theta,\"seconds of an arc\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Angle of wedge is = 39.9841612899 seconds of an arc\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.5, Page number 1-18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "t=0.2/(100)**2*10**-2     #thickness of film in meter\n",
+      "lamda=5.5*10**-7         #wavelength of light in meter\n",
+      "r=0                      #normal incidence\n",
+      "n=1                      #first band\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#Condition for dark fringe is\n",
+      "#2ut*cos r =n*lamda\n",
+      "u=n*lamda/(2*t*math.cos(r))   #Refractive index of a oil\n",
+      "print\"Refractive index of a oil is =\",u\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refractive index of a oil is = 1.375\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.6, Page number 1-18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda=5.893*10**-7    #Wavelength of light\n",
+      "u=1.42                #Refractive index of a soap film\n",
+      "r=0                   #normal incidence\n",
+      "n=1                   #first band\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#(i)\n",
+      "#Condition for dark fringe is\n",
+      "#2ut*cos r=n*lamda\n",
+      "t1=n*lamda/(2*u*cos(r))      #thickness of film for dark black fringe\n",
+      "print\"Thickness of the film for dark black fringe is =\",t1,\"m\"\n",
+      "\n",
+      "#(ii)\n",
+      "#Now, condition for bright fringe is\n",
+      "#2ut*cos r=(2n-1)lamda/2\n",
+      "t2=lamda/(2*2*u*math.cos(r))      #Thickness of film for bright fringe\n",
+      "print\"Thickness of film for bright fringe is =\",t2,\"m\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thickness of the film for dark black fringe is = 2.075e-07 m\n",
+        "Thickness of film for bright fringe is = 1.0375e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7, Page number 1-19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math \n",
+      "#Given Data:\n",
+      "i=30*math.pi/180         #angle of incidence\n",
+      "u=1.43               #Refractive index of a soap film\n",
+      "lamda=6*10**-7          #wavelength of light\n",
+      "n=1                  #For minimum thickness\n",
+      "\n",
+      "#Calculations:\n",
+      "#u=sin i/sin r      #Snell's law   .So,\n",
+      "r=(math.asin(math.sin(i)/u))    #angle of reflection\n",
+      "\n",
+      "#Now, condition of minima in transmitted system is\n",
+      "#2ut*cos(r)=(2n-1)lamda/2\n",
+      "t=lamda/(2*2*u*math.cos(r))      #minimum thickness of film\n",
+      "print\"Minimum thickness of film is \",t,\"m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum thickness of film is  1.11962124395e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 49
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.8, Page number 1-19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "\n",
+      "lamda = 5893*10**-10      #Wavelength of light\n",
+      "theta = 1               #assuming value of theta\n",
+      "\n",
+      "#We know, B=lamda/(2*u*theta). Here u=1\n",
+      "B = lamda/(2*theta)       #fringe spacing\n",
+      "n=20                  #interference fringes\n",
+      "\n",
+      "#Calculations:\n",
+      "#t=n*B*tan(theta)\n",
+      "t = 20*B*theta          #Thickness of wire\n",
+      "print\"Thickness of wire is =\",t,\"m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thickness of wire is = 5.893e-06 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9, Page number 1-20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u1=1.3                #Refractive index of oil\n",
+      "u2=1.5                #Refractive index of glass\n",
+      "lamda1=7*10**-7       #Wavelength of light\n",
+      "lamda2=5*10**-7       #Wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#for finding value of n, solve:\n",
+      "#(2n+1)*lamda1/2=(2(n+1)+1)*lamda2/2\n",
+      "#We get,n=2\n",
+      "n=2\n",
+      "\n",
+      "toil=(2*n+1)*lamda1/(2*u1*2)     #thickness of oil layer\n",
+      "print\"Thickness of oil layer is =\",toil,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thickness of oil layer is = 6.73076923077e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "Example 1.10, Page number 1-21"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u1=1.2               #Refractive index of drop of oil\n",
+      "u2=1.33              #Refractive index of water\n",
+      "lamda=4.8*10**-7     #wavelength of light\n",
+      "n=3                  #order\n",
+      "r=0                  #normal incidence,so r=0\n",
+      "\n",
+      "#Calculations:\n",
+      "t=n*lamda/(2*u1)      #Thickness of oil drop\n",
+      "print\"Thickness of oil drop is =\",t,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thickness of oil drop is = 6e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.11, Page number 1-22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "i=math.asin(4/5)          #angle of incidence\n",
+      "u=4/3                    #Refractive index of a soap film\n",
+      "lamda1=6.1*10**-7        #wavelength of light\n",
+      "lamda2=6*10**-7          #wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "#u=sin i/sin r      #Snell's law   .So,\n",
+      "r=math.asin(math.sin(i)/u)     #angle of reflection\n",
+      "\n",
+      "#Now, condition for dark band is\n",
+      "#2ut*cos r=n*lamda\n",
+      "#for consecutive bands, n=lamda2/(lamda1-lamda2). hence\n",
+      "\n",
+      "t=lamda2*lamda1/((lamda1-lamda2)*2*u*math.sqrt(1-(math.sin(i)/u)**2))     #thickness of film\n",
+      "print\"Thickness of the film is =\",t,\"m\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thickness of the film is = 1.83e-05 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 55
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.12, Page number 1-40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n=10                #10th dark ring\n",
+      "Dn=0.5*10**-2       #Diameter of ring\n",
+      "lamda=6*10**-7      #wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "#As Dn^2=4*n*R*lamda\n",
+      "R=Dn**2/(4*n*lamda)    #Radius of curvature of the lens\n",
+      "print\"Radius of curvature of the lens is =\",R,\"m\"\n",
+      "\n",
+      "t=Dn**2/(8*R)        #thickness of air  film\n",
+      "print\"Thickness of air  film is =\",t,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Radius of curvature of the lens is = 1.04166666667 m\n",
+        "Thickness of air  film is = 3e-06 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.13, Page number 1-41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "\n",
+      "B=0.25*10**-2             #fringe spacing\n",
+      "lamda=5.5*10**-7          #Wavelength of light\n",
+      "u=1.4                     #Refractive index of wedge\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know, B=lamda/(2*u*theta).\n",
+      "theta1=lamda/(2*u*B)            #angle of wedge in radians\n",
+      "theta=theta1*3600*180/math.pi   #angle of wedge in seconds\n",
+      "print\"Angle of wedge is =\",theta,\"seconds\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Angle of wedge is = 16.2065204908 seconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.14, Page number 1-41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n=4              #4th dark ring\n",
+      "m=12             #m=n+p\n",
+      "D4=0.4*10**-2    #Diameter of 4th ring\n",
+      "D12=0.7*10**-2   #Diameter of 12th ring\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#(Dn+p)^2-Dn^2=4*p*lamda*R\n",
+      "#Solving, (D12^2-D4^2)/(D20^2-D4^2)\n",
+      "#We get above value =1/2. Hence\n",
+      "D20=math.sqrt(2*D12**2-D4**2)      #Diameter of 20th ring\n",
+      "print\"Diameter of 20th ring is =\",D20,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Diameter of 20th ring is = 0.00905538513814 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.15, Page number 1-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n=6                  #6th bright ring\n",
+      "D6=0.31*10**-2       #Diameter of 6th ring\n",
+      "lamda=6*10**-7       #wavelength of light\n",
+      "R=1                  #Radius of curvature\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#Diameter of nth bright ring is \n",
+      "#Dn^2=2(2n-1)*lamda*R/u. Hence\n",
+      "u=2*(2*n-1)*lamda*R/(D6)**2    #Refractive index of liquid\n",
+      "print\"Refractive index of liquid is =\",u\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refractive index of liquid is = 1.37356919875\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.16, Page number 1-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda=6*10**-7         #wavelength of light\n",
+      "k=0.125*10**-4         #k=D(n+1)^2-Dn^2.\n",
+      "u=1                    #Refractive index of medium between lens and plate\n",
+      "#Calculations:\n",
+      "\n",
+      "#(i)\n",
+      "lamda1=4.5*10**-7      #new wavelength of light\n",
+      "#Difference between squres of diameters of successive rings is directly proportional to wavelength.So,\n",
+      "k1=lamda1/lamda*k      #new Difference between squres of diameters of successive rings after changing wavelength\n",
+      "print\"New Difference between squres of diameters of successive rings after changing wavelength is =\",k1,\"m^2\"\n",
+      "\n",
+      "#(ii)\n",
+      "u2=1.33          #Refractive index of liquid introduced between lens and plate\n",
+      "#Difference between squres of diameters of successive rings is inversely proportional to Refractive index.so,\n",
+      "k2=u/u2*k        #new Difference between squres of diameters of successive rings after changing refractive index\n",
+      "print\"New Difference between squres of diameters of successive rings after changing refrective index is =\",k2,\"m^2\"\n",
+      "\n",
+      "#(iii)\n",
+      "#Difference between squres of diameters of successive rings is directly proportional to Radius of curvature.So,\n",
+      "#after doubling radius of curvature,\n",
+      "k3=2*k           #new Difference between squres of diameters of successive rings after doubling radius of curvature\n",
+      "print\"New Difference between squres of diameters of successive rings after doubling radius of curvature is =\",k3,\"m^2\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "New Difference between squres of diameters of successive rings after changing wavelength is = 9.375e-06 m^2\n",
+        "New Difference between squres of diameters of successive rings after changing refrective index is = 9.3984962406e-06 m^2\n",
+        "New Difference between squres of diameters of successive rings after doubling radius of curvature is = 2.5e-05 m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.17, Page number 1-43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "Dn=0.225*10**-2         #Diameter of nth ring\n",
+      "Dm=0.45*10**-2          #Diameter of (n+9)th ring\n",
+      "lamda=6*10**-7          #wavelength of light\n",
+      "R=0.9                   #Radius of curvature\n",
+      "p=9\n",
+      "\n",
+      "#Calculations:\n",
+      "#(Dn+p)^2-Dn^2=4*p*lamda*R/u\n",
+      "u=4*p*lamda*R/((Dm)**2-Dn**2)     #Refractive index of liquid\n",
+      "print\"Refractive index of liquid is =\",u\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refractive index of liquid is = 1.28\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.18, Page number 1-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "D10=0.5*10**-2          #Diameter of 10th ring\n",
+      "lamda=5.5*10**-7        #wavelength of light\n",
+      "u=1.25                  #Refractive index of liquid\n",
+      "\n",
+      "\n",
+      "#Calculations:\n",
+      "#As Dn^2=4*n*R*lamda/u\n",
+      "#Dn^2 is inversely proportional to refractive index.\n",
+      "D10n=D10/math.sqrt(u)        #new diameter of 10th ring after changing medium between lens and plate\n",
+      "print\"new diameter of 10th ring after changing medium between lens and plate is =\",D10n,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "new diameter of 10th ring after changing medium between lens and plate is = 0.004472135955 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.19, Page number 1-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "D5=0.336*10**-2       #Diameter of 5th ring\n",
+      "D15=0.59*10**-2       #Diameter of 15th ring\n",
+      "lamda=5.89*10**-7       #wavelength of light\n",
+      "p=10                  #n=5,n+p=15\n",
+      "\n",
+      "#Calculations:\n",
+      "#(Dn+p)^2-Dn^2=4*p*lamdaR/u\n",
+      "R=((D15)**2-D5**2)/(4*p*lamda)      #Radius of curvature of the lens\n",
+      "print\"Radius of curvature of the lens is =\",R,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Radius of curvature of the lens is = 0.998319185059 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.20, Page number 1-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n=10               #10th dark ring\n",
+      "D10=0.6*10**-2     #Diameter of ring\n",
+      "lamda=6*10**-7     #wavelength of light\n",
+      "u=4./3              #Refractive index of water\n",
+      "\n",
+      "\n",
+      "#Calculations:\n",
+      "#As Dn^2=4*n*R*lamda/u\n",
+      "R=(D10**2)*u/(4*n*lamda)    #Radius of curvature of the lens\n",
+      "print\"Radius of curvature of the lens is =\",R,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Radius of curvature of the lens is = 2.0 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.20.1, Page number 1-52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "i=45*math.pi/180        #angle of incidence\n",
+      "u=1.2                   #Refractive index of a film\n",
+      "t=4*10**-7              #thickness of film\n",
+      "\n",
+      "#Calculations:\n",
+      "#u=sin i/sin r       #Snell's law   .So,\n",
+      "r=math.asin(math.sin(i)/u)     #angle of reflection\n",
+      "\n",
+      "#Now, condition for dark fringe is\n",
+      "#2ut*cos r=n*lamda\n",
+      "lamda1=2*u*t*math.cos(r)/1          #n=1\n",
+      "print\"For n=1 wavelength is =\",lamda1,\"m\"\n",
+      "print\"This is in the visible spectrum and it will remain absent.\" \n",
+      "\n",
+      "lamda2=2*u*t*math.cos(r)/2          #n=2\n",
+      "print\"For n=2 wavelength is =\",lamda2,\"m\"\n",
+      "print\"This is not in the visible spectrum\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For n=1 wavelength is = 7.75628777187e-07 m\n",
+        "This is in the visible spectrum and it will remain absent.\n",
+        "For n=2 wavelength is = 3.87814388593e-07 m\n",
+        "This is not in the visible spectrum\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.20.2, Page number 1-53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "r=45*math.pi/180        #angle of refraction\n",
+      "u=1.45                  #Refractive index of a medium\n",
+      "lamda=5.5*10**-7        #wavelength of required yellow light\n",
+      "n=1\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#Now, condition for dark fringe is\n",
+      "#2ut*cos r=n*lamda\n",
+      "t=n*lamda/(2*u*math.cos(r))      #thickness of thin medium\n",
+      "print\"Thickness of the thin medium is =\",t,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thickness of the thin medium is = 2.68212917002e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.21, Page number 1-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u=1.33                 #Refractive index of a soap film\n",
+      "r=0                    #normal incidence\n",
+      "t=5*10**-7             #thickness of film\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#Now, condition for maxima is\n",
+      "#2ut*cos r=(2n-1)lamda/2\n",
+      "lamda1=4*u*t*math.cos(r)/(2*1-1)          #n=1\n",
+      "print\"For n=1 wavelength is =\",lamda1,\"m\"\n",
+      "lamda2=4*u*t*math.cos(r)/(2*2-1)          #n=2\n",
+      "print\"For n=2 wavelength is =\",lamda2,\"m\"\n",
+      "lamda3=4*u*t*math.cos(r)/(2*3-1)          #n=3\n",
+      "print\"For n=3 wavelength is =\",lamda3,\"m\"\n",
+      "lamda4=4*u*t*math.cos(r)/(2*4-1)          #n=4\n",
+      "print\"For n=4 wavelength is =\",lamda4,\"m\"\n",
+      "\n",
+      "print\"Out of these wavelengths wavelength for n=3 lies in the visible spectrum.\"\n",
+      "print\"Hence, wavelength for n=3 is the most reflected wavelength.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For n=1 wavelength is = 2.66e-06 m\n",
+        "For n=2 wavelength is = 8.86666666667e-07 m\n",
+        "For n=3 wavelength is = 5.32e-07 m\n",
+        "For n=4 wavelength is = 3.8e-07 m\n",
+        "Out of these wavelengths wavelength for n=3 lies in the visible spectrum.\n",
+        "Hence, wavelength for n=3 is the most reflected wavelength.\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.22, Page number 1-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u=1.5                #Refractive index of a oil\n",
+      "lamda=5.88*10**-7    #wavelength of required yellow light\n",
+      "n=1                  #for smallest thickness\n",
+      "r=60*math.pi/180     #angle of reflection\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#Now, condition for dark fringe is\n",
+      "#2ut*cos r=n*lamda\n",
+      "t=n*lamda/(2*u*math.cos(r))      #thickness of film\n",
+      "print\"Thickness of the film is =\",t,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thickness of the film is = 3.92e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.23, Page number 1-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "theta=20./3600*math.pi/180     #angle of wedge in radians\n",
+      "B=0.25*10**-2                 #fringe spacing\n",
+      "u=1.4                         #Refractive index of film\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know, B=lamda/(2*u*theta).\n",
+      "lamda=2*B*theta*u             #wavelength of light\n",
+      "print\"Wavelength of light is =\",lamda,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Wavelength of light is = 6.78739153553e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.24, Page number 1-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "#Dn=2*D40\n",
+      "\n",
+      "#Calculations:\n",
+      "#As Dn^2 = 4*n*R*lamda/u  and   Dn^2 = 4*D40^2\n",
+      "#i.e. 4*n*R*lamda/u = 4*4*40*R*lamda/u .hence,\n",
+      "n=4*40          #order of the required ring\n",
+      "print\"Order of the dark ring which will have double the diameter of that of 40th ring is =\",n\n",
+      " \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Order of the dark ring which will have double the diameter of that of 40th ring is = 160\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.25, Page number 1-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda1=6*10**-7       #wavelength of light\n",
+      "lamda2=4.5*10**-7    #wavelength of light\n",
+      "R=0.9                 #Radius of curvature\n",
+      "\n",
+      "#Calculations:\n",
+      "#As Dn^2=4*n*R*lamda.\n",
+      "#Dn^2=D(n+1)^2 for different wavelengths.we get,\n",
+      "n=lamda2/(lamda1-lamda2)       #nth dark ring due to lam1 which coincides with (n+1)th dark ring due lamda2\n",
+      "D3=math.sqrt(4*n*R*lamda1)     #diameter of 3rd dark ring for lamda1\n",
+      "print\"Diameter of 3rd dark ring for lam1 is =\",D3,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Diameter of 3rd dark ring for lam1 is = 0.00254558441227 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.26, Page number 1-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "i=45*math.pi/180        #angle of incidence\n",
+      "u=4./3                  #Refractive index of soap film\n",
+      "lamda=5*10**-7          #wavelength of light\n",
+      "t=1.5*10**-6            #thickness of film\n",
+      "\n",
+      "#Calculations:\n",
+      "#u=sin i/sin r        #Snell's law   .So,\n",
+      "r=math.asin(math.sin(i)/u)     #angle of reflection\n",
+      "\n",
+      "#Now, condition for dark band is\n",
+      "#2ut*cos r=n*lamda\n",
+      "n=2*u*t*math.cos(r)/lamda    #order of band\n",
+      "print\"order of dark band is =\",n\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "order of dark band is = 6.78232998313\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.27, Page number 1-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "D5=0.336*10**-2         #Diameter of 5th ring\n",
+      "D15=0.59*10**-2         #Diameter of 15th ring\n",
+      "lamda=5.89*10**-7       #wavelength of light\n",
+      "p=10                    #n=5,n+p=15\n",
+      "\n",
+      "#Calculations:\n",
+      "#(Dn+p)^2-Dn^2=4*p*lamda*R/u\n",
+      "R=((D15)**2-D5**2)/(4*p*lamda)    #Radius of curvature of the lens\n",
+      "print\"Radius of curvature of the lens is =\",R,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Radius of curvature of the lens is = 0.998319185059 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.29, Page number 1-50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#As Dn^2=4*n*R*lamda.\n",
+      "#thus, Dn is directly proportional to sqaure root of n\n",
+      "D5=math.sqrt(5)     #D5 is directly proportional to sqaure root of 5\n",
+      "D4=math.sqrt(4)     #D4 is directly proportional to sqaure root of 4\n",
+      "k1=D5-D4\n",
+      "print\"Separation between D5 and D4 is directly proportional to =\",k1\n",
+      "\n",
+      "D80=math.sqrt(80)     #D80 is directly proportional to sqaure root of 80\n",
+      "D79=math.sqrt(79)     #D79 is directly proportional to sqaure root of 79\n",
+      "k2=D80-D79\n",
+      "print\"Separation between D80 and D79 is directly proportional to =\",k2\n",
+      "\n",
+      "print\"Thus, (D80-D79) < (D5-D4). Hence proved.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Separation between D5 and D4 is directly proportional to = 0.2360679775\n",
+        "Separation between D80 and D79 is directly proportional to = 0.0560774926836\n",
+        "Thus, (D80-D79) < (D5-D4). Hence proved.\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.30, Page number 1-51"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "D5=0.336*10**-2       #Diameter of 5th ring\n",
+      "D15=0.59*10**-2       #Diameter of 15th ring\n",
+      "p=10                  #n=5,n+p=15\n",
+      "R=1                   #Radius of curvature\n",
+      "\n",
+      "#Calculations:\n",
+      "#(Dn+p)^2-Dn^2=4*p*lamda*R/u\n",
+      "lamda=((D15)**2-D5**2)/(4*p*R)    #Wavelength of light\n",
+      "print\"Wavelength of light is =\",lamda,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Wavelength of light is = 5.8801e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.31, Page number 1-51"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "\n",
+      "#Condition for bright band is\n",
+      "#2ut*cos r = (2n-1)*lamda1\n",
+      "\n",
+      "#for consecutive bands, 2n=(lamda1+lamda2)/(lamda1-lamda).\n",
+      "#thus, 2ut*cos r = lamda2*lamda1/(lamda1-lamda2)\n",
+      "\n",
+      "#And, thicknessof film \n",
+      "#t= lamda2*lamda1/((2*u*cosr)(lamda1-lamda2))\n",
+      "print\"Hence expression for thickness of film is obtained.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Hence expression for thickness of film is obtained.\n"
+       ]
+      }
+     ],
+     "prompt_number": 56
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics-II/chapter2.ipynb b/Applied_Physics-II/chapter2.ipynb
new file mode 100755
index 00000000..6af9170f
--- /dev/null
+++ b/Applied_Physics-II/chapter2.ipynb
@@ -0,0 +1,1480 @@
+{
+ "metadata": {
+  "celltoolbar": "Raw Cell Format",
+  "name": "",
+  "signature": "sha256:1b2e4fb9c2f216cbf762800ac72003e90570cd62834a70860272dd5120eea60f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2: Diffraction of light"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.1,Page number 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=4       #order\n",
+      "N=1./5000*10**-2    #N=(a+b) grating element(cm)\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=m*lamda\n",
+      "#for longest wavelength, sin(theta)=1\n",
+      "lamda=(N/m)     #longest wavelength\n",
+      "print\"The longest wavelength is =\" ,lamda,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The longest wavelength is = 5e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.2,Page number 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1                #order\n",
+      "lamda=6.5*10**-7      #Wavelength of red light\n",
+      "theta=30*3.142/180   #angle of diffraction\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, a*sin(theta)=m*lamda\n",
+      "a=m*lamda/math.sin(theta)   #width of slit\n",
+      "print\"width of slit is = \",a,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "width of slit is =  1.29984715296e-06 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3,Page number 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1                #order\n",
+      "lamda=4*10**-7        #Wavelength of light\n",
+      "a=10**-6            #width of slit\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, a*sin(theta)=m*lamda\n",
+      "theta=math.asin(m*lamda/a)*180/3.142    #angular position in first minima\n",
+      "print\"angular position in first minima is =\",theta,\"degrees\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "angular position in first minima is = 23.5751216716 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.4,Page number 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1                 #order\n",
+      "lamda1=4*10**-7       #Wavelength of light\n",
+      "lamda2=7*10**-7       #Wavelength of light\n",
+      "n=1./6000*10**-2       #n=(a+b) grating element\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=m*lamda\n",
+      "theta1=math.asin(m*lamda1/n)*(180/3.142)   #angle of diffraction\n",
+      "theta2=math.asin(m*lamda2/n)*(180/3.142)   #angle of diffraction\n",
+      "d=theta2-theta1                  #angular breadth of first order visible spectrum\n",
+      "print\"angular breadth of first order visible spectrum is = \",d,\"degrees\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "angular breadth of first order visible spectrum is =  10.9466277612 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.5,Page number 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1                         #order\n",
+      "lamda=6.56*10**-7           #Wavelength of red light\n",
+      "theta=18.25*math.pi/180    #angle of diffraction\n",
+      "W=2*10**-2                 #width of grating\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=m*lamda\n",
+      "N=math.sin(theta)/(m*lamda)   #N-number of lines per m, N=1/(a+b)\n",
+      "Tn=N*W                     #Total number of lines on grating\n",
+      "print\"Total number of lines on grating is =\",Tn\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total number of lines on grating is = 9547.67702694\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7,Page number 2-33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "GE=2.54/15000*10**-2       #GE=(a+b) grating element\n",
+      "lamda1=4*10**-7            #Wavelength of light\n",
+      "lamda2=7*10**-7            #Wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=m*lamda\n",
+      "theta11=math.asin(1*lamda1/GE)*180/math.pi       #angular position of first minima for lamda1\n",
+      "theta12=math.asin(2*lamda1/GE)*180/math.pi       #angular position of second minima for lamda1\n",
+      "theta13=math.asin(3*lamda1/GE)*180/math.pi       #angular position of third minima for lamda1\n",
+      "\n",
+      "theta21=math.asin(1*lamda2/GE)*180/math.pi       #angular position of first minima for lamda2\n",
+      "theta22=math.asin(2*lamda2/GE)*180/math.pi       #angular position of second minima for lamda2\n",
+      "theta23=math.asin(1)*180/math.pi                 #angular position of third minima for lamda2\n",
+      "\n",
+      "print\"Thus the angular position for lamda1 and lamda2 are as follows:\"\n",
+      "print\"First order:\",theta11,\"degrees\"\n",
+      "print\"\",theta21,\"degrees --Isolated\"\n",
+      "\n",
+      "print\"Second order:\",theta12,\"degrees\"\n",
+      "print\"\",theta22,\"degrees --Overlap\"\n",
+      "\n",
+      "print\"Third order: \",theta13,\"degrees\"\n",
+      "print\"\",theta23,\" degrees --Overlap \"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thus the angular position for lamda1 and lamda2 are as follows:\n",
+        "First order: 13.6635763633 degrees\n",
+        " 24.4177053663 degrees --Isolated\n",
+        "Second order: 28.1928605617 degrees\n",
+        " 55.7685229906 degrees --Overlap\n",
+        "Third order:  45.1261086702 degrees\n",
+        " 90.0  degrees --Overlap \n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8,Page number 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda=5.893*10**-7        #Wavelength of light\n",
+      "d=0.01*10**-2             #width of slit (a=d)\n",
+      "f=1                      #distance between screen and slit\n",
+      "\n",
+      "#Calculations:\n",
+      "x=f*lamda/d              #separation between central maxima and first minima\n",
+      "print\"Separation between central maxima and first minima is = \",x,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Separation between central maxima and first minima is =  0.005893 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.9,Page number 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1                 #order\n",
+      "lamda=6*10**-7        #Wavelength of light\n",
+      "a=12*10**-7         #width of slit\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, a*sin(theta)=m*lamda\n",
+      "theta=math.asin(m*lamda/a)*180/math.pi    #angular position in first minima\n",
+      "print\"Half angular width of first maxima is =\",theta,\"Degrees\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Half angular width of first maxima is = 30.0 Degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.10,Page number 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda=6*10**-7          #Wavelength of light\n",
+      "a=0.02*10**-2           #width of slit (a=d)\n",
+      "f=2                    #distance between screen and slit\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, a*sin(theta)=m*lamda, here m=1\n",
+      "theta=math.asin(lamda/a)*180*60/math.pi      #angular position in first minima (1 degree=60 minutes)\n",
+      "print\"Total angular width is =\",2*theta,\"minutes\"\n",
+      "\n",
+      "x=f*lamda/a              #separation between central maxima and first minima\n",
+      "print\"Linear width is = \",2*x,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total angular width is = 20.6265115646 minutes\n",
+        "Linear width is =  0.012 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.11,Page number 2-35"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "a=0.14*10**-3         #width of slit\n",
+      "n=2                   #order\n",
+      "y=1.6*10**-2          #separation between second dark band and central bright band\n",
+      "D=2                   #distance between screen and slit\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "theta=y/D            #from diagram \n",
+      "\n",
+      "#We know, a*sin(theta)=n*lamda\n",
+      "#here sin(theta)=theta\n",
+      "lamda=a*theta/n       #wavelength of light\n",
+      "print\"wavelength of light is =\",lamda,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "wavelength of light is = 5.6e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.13,Page number 2-36"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda=6.328*10**-7        #Wavelength of light\n",
+      "N=1./6000*10**-2           #N=(a+b) grating element\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, N*sin(theta)=m*lamda\n",
+      "theta1=math.asin(1*lamda/N)*180/math.pi    #angular position in first order maxima,m=1\n",
+      "print\"Angular position in first order maxima is =\",theta1,\"Degrees\"\n",
+      "\n",
+      "theta2=math.asin(2*lamda/N)*180/math.pi    #angular position in second order maxima,m=2\n",
+      "print\"Angular position in second order maxima is = \",theta2,\"Degrees\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Angular position in first order maxima is = 22.3138625335 Degrees\n",
+        "Angular position in second order maxima is =  49.4078093436 Degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.14,Page number 2-37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda1=6*10**-7         #wavelength of yellow light\n",
+      "lamda2=4.8*10**-7       #wavelength of blue light\n",
+      "theta=(math.asin(3/4))    #angle of diffraction\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#for consecutive bands, n*lamda1=(n+1)*lamda2. thus,\n",
+      "n=lamda2/(lamda1-lamda2)   #order\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=m*lamda\n",
+      "N=n*lamda1/(3./4)    #N=(a+b) grating element\n",
+      "print\"Grating element (a+b) is =\",N,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Grating element (a+b) is = 3.2e-06 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.15.1,Page number 2-54"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "a=0.2*10**-3          #width of slit\n",
+      "n=1                   #order\n",
+      "y=0.5*10**-2          #separation between first minima and central bright band\n",
+      "D=2                   #distance between screen and slit\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "theta=y/D            #from diagram \n",
+      "\n",
+      "#We know, a*sin(theta)=n*lamda\n",
+      "#here sin(theta)=theta\n",
+      "lamda=a*theta/n       #wavelength of light\n",
+      "print\"wavelength of light is = \",lamda,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "wavelength of light is =  5e-07 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.15.2,Page number 2-55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda1=5.4*10**-7              #Wavelength of light\n",
+      "lamda2=4.05*10**-7             #Wavelength of light\n",
+      "theta=30*math.pi/180          #angle of diffraction\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know, (a+b)*sin(theta)=n*lamda\n",
+      "#n*lamda1=(n+1)*lamda2, we get \n",
+      "n=3\n",
+      "N=math.sin(theta)/(n*lamda1)*10**-2      #Number of lines per m= 1/(a+b)*10^-2\n",
+      "print\"Number of lines per cm is = \",N\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of lines per cm is =  3086.41975309\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.15.4,Page number 2-56"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "GE=1./6000*10**-2               #GE=(a+b) grating element\n",
+      "lamda1=5.893*10**-7             #Wavelength of light\n",
+      "lamda2=5.896*10**-7             #Wavelength of light\n",
+      "m=2                             #order\n",
+      "\n",
+      "#Calculations:\n",
+      "theta1=math.asin(m*lamda1/GE)*180/math.pi     #angular position in first minima\n",
+      "theta2=math.asin(m*lamda2/GE)*180/math.pi     #angular position in second minima\n",
+      "\n",
+      "a_s=(theta2-theta1)            #Angular separation in minutes\n",
+      "print\"Angular separation is =\",a_s,\"Degrees\"\n",
+      "\n",
+      "dlamda=lamda2-lamda1            #difference in wavelength\n",
+      "lamda=(lamda2+lamda1)/2         #Mean wavelength\n",
+      "\n",
+      "#We know that R.P.=lamda/dlamda=m*N\n",
+      "N=lamda/dlamda/m                 #Number of lines on grating for first order\n",
+      "print\"Number of lines on grating for first order is =\",N\n",
+      "print\"But, number of lines per cm on grating is 6000. \\n Which is greater than number of lines per cm needed for resolution.\"\n",
+      "print\"Hence, both lines will be well resolved in 2nd order.\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Angular separation is = 0.0291798772234 Degrees\n",
+        "Number of lines on grating for first order is = 982.416666667\n",
+        "But, number of lines per cm on grating is 6000. \n",
+        " Which is greater than number of lines per cm needed for resolution.\n",
+        "Hence, both lines will be well resolved in 2nd order.\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.17,Page number 2-39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "d=0.04*10**-2       #Separation between slits\n",
+      "D=1.7              #distance between screen and slit\n",
+      "B=0.25*10**-2       #Fringe spacing\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know,B=D*lamda/d\n",
+      "lamda=B*d/D         #Wavelength of light\n",
+      "print\"Wavelength of light is = \",lamda,\"m\"\n",
+      "\n",
+      "#The condition for missing order is,\n",
+      "#(a+b)/a = m/n\n",
+      "b=0.04*10**-2       #Separation in slits\n",
+      "a=0.08*10**-3       #Slit width\n",
+      "n=(a+b)/a          #missing orders for m=1,2,3\n",
+      "\n",
+      "n1=1*n\n",
+      "n2=2*n\n",
+      "n3=3*n\n",
+      "print\"Missing orders are =\",n1,\",\",n2,\",\",n3\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Wavelength of light is =  5.88235294118e-07 m\n",
+        "Missing orders are = 6.0 , 12.0 , 18.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.18,Page number 2-39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "N=2.54/2620*10**-2     #N=(a+b) grating element\n",
+      "lamda=5*10**-7           #Wavelength of red light\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=n*lamda\n",
+      "#maximum value of sin(theta)=1\n",
+      "n=N/lamda               #Maximum number of orders visible\n",
+      "print\"Maximum number of orders visible is =\",n\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum number of orders visible is = 19.3893129771\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.19,Page number 2-40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "N=1./4000*10**-2       #N=(a+b) grating element\n",
+      "lamda1=5*10**-7         #Wavelength of light\n",
+      "lamda2=7.5*10**-7       #Wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=n*lamda\n",
+      "#maximum value of sin(theta)=1\n",
+      "n1=N/lamda1               #Maximum number of orders visible\n",
+      "n2=N/lamda2               #Maximum number of orders visible\n",
+      "print\"The observed number of orders range between =\",n2,\"to\",n1\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The observed number of orders range between = 3.33333333333 to 5.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.20,Page number 2-40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n=5                #order\n",
+      "lamda=6*10**-7     #Wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know, a*sin(theta)=n*lamda\n",
+      "#n*lamda=n1*lamda1\n",
+      "lamda1=n*lamda/4        #for n1=4\n",
+      "print\"For n1=4 wavelength is =\",lamda1,\"m\"\n",
+      "\n",
+      "lamda2=n*lamda/5        #for n1=5\n",
+      "print\"For n1=5 wavelength is =\",lamda2,\"m\"\n",
+      "\n",
+      "lamda3=n*lamda/6        #for n1=6\n",
+      "print\"For n1=5 wavelength is =\",lamda3,\"m\"\n",
+      "\n",
+      "lamda4=n*lamda/7        #for n1=7\n",
+      "print\"For n1=5 wavelength is =\",lamda4,\"m\"\n",
+      "\n",
+      "lamda5=n*lamda/8        #for n1=8\n",
+      "print\"For n1=5 wavelength is =\",lamda5,\"m\"\n",
+      "\n",
+      "\n",
+      "print\"So,in the grating spectrum spectrum lines with wavelengths n1=6 and n1=7 will coincide with fifth order line of 6*10^-7 m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For n1=4 wavelength is = 7.5e-07 m\n",
+        "For n1=5 wavelength is = 6e-07 m\n",
+        "For n1=5 wavelength is = 5e-07 m\n",
+        "For n1=5 wavelength is = 4.28571428571e-07 m\n",
+        "For n1=5 wavelength is = 3.75e-07 m\n",
+        "So,in the grating spectrum spectrum lines with wavelengths n1=6 and n1=7 will coincide with fifth order line of 6*10^-7 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.21,Page number 2-41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "GE=18000*10**-10         #GE=(a+b) grating element\n",
+      "lamda=5*10**-7             #Wavelength of red light\n",
+      "\n",
+      "#Calculations:\n",
+      "DP1=1./sqrt(GE**2-lamda**2)*10**-10        #Dispersive power\n",
+      "print\"Dispersive power for first order is =\",DP1,\"rad/Angstrom\"\n",
+      "\n",
+      "m=3\n",
+      "DP2=1/sqrt((GE/m)**2-lamda**2)*10**-10    #Dispersive power\n",
+      "print\"Dispersive power for second order is =\",DP2,\"rad/Angstrom\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Dispersive power for first order is = 5.78314931966e-05 rad/Angstrom\n",
+        "Dispersive power for second order is = 0.000301511344578 rad/Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.22,Page number 2-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "N=2.54/15000*10**-2      #N=(a+b) grating element\n",
+      "lamda=5.9*10**-7         #Wavelength of light\n",
+      "m=2                      #order\n",
+      "f=25*10**-2              #focal length of lens\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=m*lamda\n",
+      "theta=math.asin(m*lamda/N)      #angular position in first minima\n",
+      "\n",
+      "Ad=m/N/cos(theta)              #angular dispersion\n",
+      "\n",
+      "ld=f*Ad*10**-8                 #linear dispersion (dx/dl) in cm/angstrom\n",
+      "print\"Linear dispersion in spectrograph is =\",ld,\"cm/angstrom\"\n",
+      "\n",
+      "dlamda=(5896-5890)               #difference in wavelength\n",
+      "dx=ld*dlamda*10**-2              #separation between spectral lines in meter\n",
+      "print\"Separation between spectral lines is =\",dx,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Linear dispersion in spectrograph is = 0.00411696586101 cm/angstrom\n",
+        "Separation between spectral lines is = 0.00024701795166 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.23,Page number 2-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1                              #order\n",
+      "lamda1=5.89*10**-7               #Wavelength of light\n",
+      "lamda2=5.896*10**-7              #Wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "dlamda=lamda2-lamda1                #difference in wavelength\n",
+      "lamda=(lamda2+lamda1)/2             #Mean wavelength\n",
+      "\n",
+      "#We know that R.P.=m*N=lamda/dlamda\n",
+      "N=lamda/dlamda/m                  #minimum number of lines which will just resolve\n",
+      "print\"Minimum number of lines which will just resolve is =\",N\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum number of lines which will just resolve is = 982.166666667\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.24,Page number 2-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "N=5*5000           #N=W/(a+b) Number of lines on grating\n",
+      "m=2               #order\n",
+      "lamda=6*10**-7    #Wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "#(i)\n",
+      "RP=m*N             #Resolving power\n",
+      "print\"(i)Resolving power is =\",RP\n",
+      "\n",
+      "#(ii)\n",
+      "#We know that R.P.=lamda/dlamda\n",
+      "dlamda=lamda/RP       #Smallest wavelength which can be resolved\n",
+      "print\"(ii)Smallest wavelength which can be resolved is =\",dlamda,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Resolving power is = 50000\n",
+        "(ii)Smallest wavelength which can be resolved is = 1.2e-11 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.25,Page number 2-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "GE=1./4000*10**-2         #GE=(a+b) grating element\n",
+      "lamda=5*10**-7             #Wavelength of red light\n",
+      "m=3                      #order\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=m*lamda\n",
+      "theta=math.asin(m*lamda/GE)    #ngular position in first minima\n",
+      "\n",
+      "DP=m/(GE*math.cos(theta))*10**-2     #Dispersive power\n",
+      "print\"Dispersive power is =\",DP\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Dispersive power is = 15000.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.26,Page number 2-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=2                  #order\n",
+      "lamda=6*10**-7       #Wavelength of light\n",
+      "dlamda=6*10**-10     #difference in wavelength\n",
+      "W=2*10**-2           #Width of surface\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know that R.P.=lamda/dlamda=m*N\n",
+      "N=lamda/dlamda/m     #Number of lines on grating\n",
+      "GE=W/N               #Grating element=(a+b)\n",
+      "print\"Grating element is =\",GE,\"cm\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Grating element is = 4e-05 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.27,Page number 2-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=2                           #order\n",
+      "lamda1=5.77*10**-7            #Wavelength of light\n",
+      "lamda2=5.791*10**-7           #Wavelength of light\n",
+      "GE=1./6000*10**-2             #GE=(a+b) grating element\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=m*lamda\n",
+      "theta1=math.asin(m*lamda1/GE)*180/math.pi      #angular position in first minima\n",
+      "theta2=math.asin(m*lamda2/GE)*180/math.pi      #angular position in second minima\n",
+      "\n",
+      "a_s=(theta2-theta1)*60         #Angular separation in minutes\n",
+      "print\"Angular separation is = \",a_s,\"minutes\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Angular separation is =  12.0270825521 minutes\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.28,Page number 2-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n=1                 #order\n",
+      "lam=5.89*10**-7     #Wavelength of light\n",
+      "a=0.3*10**-3        #width of slit\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, a*sin(theta)=n*lamda\n",
+      "theta1=math.asin(n*lamda/a)*180/math.pi*60    #angular position in first dark band in minutes\n",
+      "print\"Angular position in first dark band is = \",theta1,\"mimutes\"\n",
+      "\n",
+      "#We know,for bright band   a*sin(theta)=(2n+1)*lamda/2\n",
+      "theta2=math.asin(1.5*lamda/a)*180/math.pi*60    #angular position in first bright band in minutes\n",
+      "print\"Angular position in first bright band is =\",theta2,\"minutes\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Angular position in first dark band is =  6.87549812524 mimutes\n",
+        "Angular position in first bright band is = 10.3132557823 minutes\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.29,Page number 2-50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "GE=2.54/16000*10**-2      #GE=(a+b) grating element\n",
+      "lamda=6*10**-7             #Wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=m*lamda\n",
+      "#maximum value of sin(theta)=1\n",
+      "m=GE/lamda                 #Maximum order of spectra\n",
+      "print\"Maximum order of spectra is =\",m\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum order of spectra is = 2.64583333333\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.30,Page number 2-50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "GE=1./5000*10**-2        #GE=(a+b) grating element\n",
+      "lamda=5.89*10**-7         #Wavelength of light\n",
+      "N=3*5000               #N=W/(a+b) Number of lines on grating\n",
+      " \n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, (a+b)*sin(theta)=m*lamda\n",
+      "#maximum value of sin(theta)=1\n",
+      "m=GE/lamda               #Maximum order of spectra\n",
+      "print\"Maximum order of spectra is =\",m\n",
+      "\n",
+      "RP=3*N                 #Resolving power (round of m to 3)\n",
+      "print\"Resolving power is =\",RP\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum order of spectra is = 3.39558573854\n",
+        "Resolving power is = 45000\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.32,Page number 2-52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda1=5.89*10**-7               #Wavelength of light\n",
+      "lamda2=5.896*10**-7              #Wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "dlamda=lamda2-lamda1                #difference in wavelength\n",
+      "lamda=(lamda2+lamda1)/2             #Mean wavelength\n",
+      "\n",
+      "#(i)\n",
+      "m1=1               #first order\n",
+      "#We know that R.P.=lamda/dlamda=m*N\n",
+      "N1=lamda/dlamda/m1      #Number of lines on grating\n",
+      "print\"(i)Number of lines on grating for first order is =\",N1\n",
+      "\n",
+      "#(ii)\n",
+      "m2=2               #second order\n",
+      "#We know that R.P.=lamda/dlamda=m*N\n",
+      "N2=lamda/dlamda/m2    #Number of lines on grating\n",
+      "print\"(ii)Number of lines on grating for second order is =\",N2\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Number of lines on grating for first order is = 982.166666667\n",
+        "(ii)Number of lines on grating for second order is = 491.083333333\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.33,Page number 2-52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1                    #order\n",
+      "lamda=6.553*10**-7     #Wavelength of light\n",
+      "dlamda=1.8*10**-10     #difference in wavelength\n",
+      "\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know that R.P.=lam/dlam=m*N\n",
+      "N=lamda/dlamda/m        #Number of lines on grating\n",
+      "print\"Number of lines on grating is =\",N\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of lines on grating is = 3640.55555556\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.34,Page number 2-53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda1=5.14034*10**-7               #Wavelength of light\n",
+      "lamda2=5.14085*10**-7               #Wavelength of light\n",
+      "\n",
+      "#Calculations:\n",
+      "dlamda=lamda2-lamda1                #difference in wavelength\n",
+      "lamda=(lamda2+lamda1)/2             #Mean wavelength\n",
+      "\n",
+      "#We know that R.P.=lamda/dlamda=m*N\n",
+      "N=lamda/dlamda/1       #Number of lines on grating\n",
+      "print\"Number of lines on grating for first order is =\",N\n",
+      "\n",
+      "#Hence R.P. for second order should be\n",
+      "RP1=2*N\n",
+      "print\"Resolving power in second order should be is= \",RP1\n",
+      "\n",
+      "#But here,\n",
+      "\n",
+      "lamda3=8.03720*10**-7               #Wavelength of light\n",
+      "lamda4=8.03750*10**-7               #Wavelength of light\n",
+      "dlamda2=lamda4-lamda3               #difference in wavelength\n",
+      "lamda2=(lamda4+lamda3)/2            #Mean wavelength\n",
+      "\n",
+      "RP2=lamda2/dlamda2\n",
+      "print\"Resolving power in second order is= \",RP2\n",
+      "\n",
+      "print\"So, the grating will not be able to resolve 8.0372*10^-7 and 8.03750*10^-7 in second order.\"\n",
+      "print\"Because Resolving power is greter than actual Resolving power.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of lines on grating for first order is = 10079.5980392\n",
+        "Resolving power in second order should be is=  20159.1960784\n",
+        "Resolving power in second order is=  26791.1666667\n",
+        "So, the grating will not be able to resolve 8.0372*10^-7 and 8.03750*10^-7 in second order.\n",
+        "Because Resolving power is greter than actual Resolving power.\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.35,Page number 2-53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#For grating , Condition of maxima is (a+b)sin(theta)=n*lamda\n",
+      "#Given (a+b) < 2*lamda\n",
+      "#For maximum order, sin(90)=1\n",
+      "#So, n must be less than 2\n",
+      "#i.e. only first order possible if width of grating element is less than twice the wavelength\n",
+      "print\"Hence, Only first order possible if width of grating element is less than twice the wavelength.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Hence, Only first order possible if width of grating element is less than twice the wavelength.\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.36,Page number 2-54"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n=1                 #order\n",
+      "lamda=5.89*10**-7   #Wavelength of light\n",
+      "a=0.3*10**-3        #width of slit\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, a*sin(theta)=n*lamda\n",
+      "theta1=math.asin(n*lam/a)*180/math.pi    #angular position in first dark band\n",
+      "print\"Angular position in first dark band is =\",theta1,\"Degrees\"\n",
+      "\n",
+      "#We know,for bright band   a*sin(theta)=(2n+1)*lamda/2\n",
+      "theta2=math.asin(1.5*lamda/a)*180/math.pi    #angular position in first bright band\n",
+      "print\"Angular position in first bright band is =\",theta2,\"Degrees\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Angular position in first dark band is = 0.112490786047 Degrees\n",
+        "Angular position in first bright band is = 0.168736314576 Degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics-II/chapter3.ipynb b/Applied_Physics-II/chapter3.ipynb
new file mode 100755
index 00000000..714dfad3
--- /dev/null
+++ b/Applied_Physics-II/chapter3.ipynb
@@ -0,0 +1,836 @@
+{
+ "metadata": {
+  "celltoolbar": "Raw Cell Format",
+  "name": "",
+  "signature": "sha256:5f637d4fa0aa8bb3bc54a28134ac85a937c06f0d3a591f536de2719824a41f5c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3: Optical Fibre"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.1,Page number 3-19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n1=1.61                 #Core index\n",
+      "n2=1.55                 #Cladding index\n",
+      "\n",
+      "#Calculations:\n",
+      "NA=math.sqrt(n1**2-n2**2)      #Formula\n",
+      "\n",
+      "print\"Numerical Aperture of Fibre is = \",NA\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerical Aperture of Fibre is =  0.435430821142\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.2,Page number 3-19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n1=1.65                 #Core index\n",
+      "n2=1.53                 #Cladding index\n",
+      "\n",
+      "#Calculations:\n",
+      "NA=math.sqrt(n1**2-n2**2)      #Formula\n",
+      "\n",
+      "print\"Numerical Aperture of Fibre is =\",NA\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerical Aperture of Fibre is = 0.617737808459\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.3,Page number 3-19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n1=1.48                 #R.I. of Core\n",
+      "n2=1.39                 #R.I. of Cladding\n",
+      "\n",
+      "#Calculations:\n",
+      "NA=math.sqrt(n1**2-n2**2)      #Formula to find NA\n",
+      "phi=math.asin(NA)*180/(3.1472)    #Acceptance angle\n",
+      "\n",
+      "print\"Numerical Aperture of Fibre is =\",NA\n",
+      "print\"Acceptance angle of Fibre is =\",phi,\"degrees\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerical Aperture of Fibre is = 0.508232230383\n",
+        "Acceptance angle of Fibre is = 30.491727191 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.4,Page number 3-20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#given data:\n",
+      "u1=3.6        #Refractive Index of the Substance at 850 nm\n",
+      "u2=3.4        #Refractive Index of the Substance at 1300 nm\n",
+      "Vv=3*10**8     #Velocity of light in free space\n",
+      "\n",
+      "#Calculations:\n",
+      "# i)Finding wavelength at 850 nm\n",
+      "Vs1=Vv/u1             #Velocity of light in substance at 850 nm\n",
+      "print\"Velocity of light in substance at 850 nm =\" ,Vs1,\"m/sec\"\n",
+      "\n",
+      "lam1=850*10**-9/u1    #Wavelength of light in substance at 850nm\n",
+      "print\" Wavelength of light in substance at 850nm =\",lam1,\"m\"\n",
+      "\n",
+      "\n",
+      "#ii)Finding wavelength at 1300 nm\n",
+      "Vs2=Vv/u2            #Velocity of light in substance at 1300 nm\n",
+      "print\"Velocity of light in substance at 1300 nm =\",Vs2,\" m/sec\"\n",
+      "\n",
+      "lam2=1300*10**-9/u2   #Wavelength of light in substance at 1300nm\n",
+      "print\"Wavelength of light in substance at 1300nm =\" ,lam2,\"m \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Velocity of light in substance at 850 nm = 83333333.3333 m/sec\n",
+        " Wavelength of light in substance at 850nm = 2.36111111111e-07 m\n",
+        "Velocity of light in substance at 1300 nm = 88235294.1176  m/sec\n",
+        "Wavelength of light in substance at 1300nm = 3.82352941176e-07 m \n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.5,Page number 3-20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u1=1.5                  #R.I. of Core\n",
+      "u2=1.45                 #R.I.of Cladding\n",
+      "delta= (u1-u2)/u1          #Fractional Refractive index\n",
+      "\n",
+      "#Calculations:\n",
+      "NA=u1*sqrt(2*delta)             #Formula to find NA\n",
+      "theta0=math.asin(NA)*180/(3.1472)       #Acceptance angle\n",
+      "thetac=math.asin(u2/u1)*180/(3.1472)   #Critical angle\n",
+      "\n",
+      "print\"Numerical Aperture of Fibre is =\",NA\n",
+      "print\"Acceptance angle of Fibre is =\",theta0,\"degrees\" \n",
+      "print\" Critical angle of Fibre is =\",thetac,\"degrees\" \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerical Aperture of Fibre is = 0.387298334621\n",
+        "Acceptance angle of Fibre is = 22.7458994397 degrees\n",
+        " Critical angle of Fibre is = 75.0309676099 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.6,Page number 3-20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "NA=0.22              # Numerical Aperture of Fibre\n",
+      "delta=0.012          #Fractional index\n",
+      "\n",
+      "#Calculations:\n",
+      "#Delta=(u1-u2)/u1\n",
+      "u1=NA/math.sqrt(2*delta)  #Formula\n",
+      "u2=u1-(u1*delta)     #Formula\n",
+      "\n",
+      "print\"Refractive Index of core of fibre is =\",u1\n",
+      "print\"Refractive Index of cladding of fibre is =\",u2\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refractive Index of core of fibre is = 1.42009389361\n",
+        "Refractive Index of cladding of fibre is = 1.40305276689\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.7,Page number 3-21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u1=1.466                 #R.I. of Core\n",
+      "u2=1.46                  #R.I.of Cladding\n",
+      "V=2.4                    #Cut off parameter\n",
+      "lamda=0.8*10**-6            #wavelength in meter\n",
+      "\n",
+      "#Calculations:\n",
+      "NA=math.sqrt(u1**2-u2**2)       #Formula to find Numerical Aperture\n",
+      "print\"Numerical Aperture of Fibre is =\",NA\n",
+      "#(printing mistake in book)printed answer is 1.13 but correct answer is 0.13\n",
+      "print\"(printing mistake in book)\"\n",
+      "\n",
+      "# V = 2*3.142*a*NA / lamda\n",
+      "a=V*lamda/(2*3.142*NA)   #core radius\n",
+      "print\"Core radius of Fibre is (a) =\",a,\"m\"\n",
+      "\n",
+      "#w/a= 1.1\n",
+      "w=1.1*a                  #Spot size\n",
+      "print\"Spot size of Fibre is =\",w,\"m\"\n",
+      "\n",
+      "theta=2*lamda*180/3.142/(3.142*w)       #Divergence angle\n",
+      "print\"Divergence angle of Fibre is =\",theta,\"degrees\"\n",
+      "\n",
+      "w10=lamda*10/(3.142*w)     #Spot size at 10 m\n",
+      "print\"Spot size at 10 m of Fibre is =\",w10,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerical Aperture of Fibre is = 0.1324990566\n",
+        "(printing mistake in book)\n",
+        "Core radius of Fibre is (a) = 2.30596263706e-06 m\n",
+        "Spot size of Fibre is = 2.53655890076e-06 m\n",
+        "Divergence angle of Fibre is = 11.5009886523 degrees\n",
+        "Spot size at 10 m of Fibre is = 1.00378073182 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.8,Page number 3-21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "w=98                   #Spot size in meter\n",
+      "d=50*10**-6             #Core diameter in meter\n",
+      "a=d/2                  #core radius\n",
+      "u1=1.47                #R.I. of Core\n",
+      "u2=1.45                #R.I.of Cladding\n",
+      "lamda=0.85*10**-6         #Wavlength in meter\n",
+      "NA=math.sqrt(u1**2-u2**2)     #Formula to find NA\n",
+      "\n",
+      "#Calculations:\n",
+      "V=2*3.142*a*NA/lamda        #cut off parameter\n",
+      "N=(V**2)/2               #Number of modes\n",
+      "\n",
+      "print\"Cut off parameter of Fibre is =\",V\n",
+      "print\"Number of modes of Fibre is =\",N\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Cut off parameter of Fibre is = 44.6646240577\n",
+        "Number of modes of Fibre is = 997.464321107\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.9,Page number 3-21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u1=1.47                 #R.I. of Core\n",
+      "u2=1.46                 #R.I.of Cladding\n",
+      "lamda=1.3*10**-6           #wavelength in meter\n",
+      "\n",
+      "#Calculations:\n",
+      "NA=math.sqrt(u1**2-u2**2)      #Formula to find Numerical Aperture\n",
+      "\n",
+      "#The condition for single mode is V<2.405\n",
+      "#2*3.142*a*NA/lamda < 2.405\n",
+      "\n",
+      "a=2.405*lamda/(2*3.142*NA)   #Maximum radius of fibre\n",
+      "\n",
+      "print\"Maximum radius of Fibre is =\",a,\"meter\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum radius of Fibre is = 2.90662126448e-06 meter\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.10,Page number 3-22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u1=1.465                  #R.I. of Core\n",
+      "u2=1.46                   #R.I.of Cladding\n",
+      "lamda=1.25*10**-6            #operating wavelength\n",
+      "\n",
+      "#Calculations:\n",
+      "delta=(u1-u2)/u1            #Fractional Refractive index\n",
+      "print\"Fractional Refractive index of Fibre is =\",delta\n",
+      "\n",
+      "#For single mode propagation codition is \n",
+      "# a/lamda < 1.4/(3.142*sqrt(u1(u1-u2)))\n",
+      "\n",
+      "a=lamda*1.4/(3.142*u1*math.sqrt(delta))      #core radius\n",
+      "\n",
+      "u=u1-(math.sqrt(2*delta)/(2*3.142*(a/lamda)))     #effective refractive index\n",
+      "print\"Effective Refractive index for lowest mode propagation is =\",u\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Fractional Refractive index of Fibre is = 0.00341296928328\n",
+        "Effective Refractive index for lowest mode propagation is = 1.46247461864\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.11,Page number 3-22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u1=1.54                  #R.I. of Core\n",
+      "u2=1.5                   #R.I.of Cladding\n",
+      "lamda=1.3*10**-6            #wavelength in meter\n",
+      "a=25*10**-6               #core radius in meter\n",
+      "\n",
+      "#Calculations:\n",
+      "NA=math.sqrt(u1**2-u2**2)      #Formula to find Numerical Aperture\n",
+      "\n",
+      "V=2*3.142*a*NA/lamda         #cut off parameter\n",
+      "print\"Cut off parameter of Fibre is =\",V\n",
+      "\n",
+      "N=(V**2)/2                #Number of modes\n",
+      "print\" Number of modes of Fibre is =\",N\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Cut off parameter of Fibre is = 42.1404937865\n",
+        " Number of modes of Fibre is = 887.910608284\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.11.1,Page number 3-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u1=1.52                  #R.I. of Core\n",
+      "u2=1.5189                #R.I.of Cladding\n",
+      "lamda=1.3*10**-6            #wavelength in meter\n",
+      "d=29*10**-6               #core diameter in meter\n",
+      "a=d/2\n",
+      "\n",
+      "#Calculations:\n",
+      "NA=math.sqrt(u1**2-u2**2)     #Formula to find Numerical Aperture\n",
+      "V=2*3.142*a*NA/lamda        #Normalised frequency\n",
+      "Nm=(V**2)/2               #Number of modes\n",
+      "\n",
+      "print\"Normalised frequency of Fibre is (V)=\",V\n",
+      "print\"The Maximum Number of modes the Fibre will support is (Nm) =\",Nm\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Normalised frequency of Fibre is (V)= 4.05242861605\n",
+        "The Maximum Number of modes the Fibre will support is (Nm) = 8.2110888441\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.12,Page number 3-22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u1=1.5                  #R.I. of Core\n",
+      "d=10*10**-6              #diameter of core\n",
+      "a=d/2                   #core radius\n",
+      "lamda=1.3*10**-6           #wavelength\n",
+      "V=2.405                 #cut off parameter for single mode\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, V=2*3.142*a*NA/lamda\n",
+      "NA=V*lamda/(2*3.142*a)       #Numerical Aperture\n",
+      "\n",
+      "theta=math.asin(NA)*180/3.142   #Acceptance angle\n",
+      "print\"Acceptance angle of Fibre is =\",theta,\"Degrees\"\n",
+      "\n",
+      "#Also, NA=u1*sqrt(2*delta)\n",
+      "delta=(NA/u1)**2/2           #Fractional index\n",
+      "print\"Maximum Fractional Refractive index of Fibre is =\",delta\n",
+      "\n",
+      "#delta=(u1-u2)/u1\n",
+      "u2=u1*(1-delta)             #R.I.of cladding\n",
+      "print\"Refractive index of cladding of Fibre is =\",u2\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Acceptance angle of Fibre is = 5.71002346964 Degrees\n",
+        "Maximum Fractional Refractive index of Fibre is = 0.00220035113094\n",
+        "Refractive index of cladding of Fibre is = 1.4966994733\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.13,Page number 3-23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n1=1.5               #R.I. of core\n",
+      "delta=0.0005         #Fractional index difference\n",
+      "\n",
+      "#Calculations:\n",
+      "#(a):\n",
+      "#Delta=(u1-u2)/u1\n",
+      "n2=n1-(n1*delta)     #R.I. of cladding\n",
+      "print\"(a)Refractive Index of cladding of fibre is =\",n2\n",
+      "\n",
+      "#(b):\n",
+      "phi=math.asin(n2/n1)*180/3.142        #Critical internal reflection angle\n",
+      "print\"(b)Critical internal reflection angle of Fibre is =\",phi,\"degrees\"\n",
+      "\n",
+      "#(c):\n",
+      "theta0=math.asin(math.sqrt(n1**2-n2**2))*180/3.142    #External critical Acceptance angle\n",
+      "print\"(c)External critical Acceptance angle of Fibre is =\",theta0,\"degrees\"\n",
+      "\n",
+      "#(d):\n",
+      "NA=n1*math.sqrt(2*delta)          #Formula to find Numerical Aperture\n",
+      "print\"(d)Numerical Aperture of Fibre is =\",NA\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)Refractive Index of cladding of fibre is = 1.49925\n",
+        "(b)Critical internal reflection angle of Fibre is = 88.1766396681 degrees\n",
+        "(c)External critical Acceptance angle of Fibre is = 2.71810509125 degrees\n",
+        "(d)Numerical Aperture of Fibre is = 0.0474341649025\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.14,Page number 3-24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "NA1=0.20              #Numerical Aperture of Fibre\n",
+      "n2=1.59               #R.I. of cladding\n",
+      "\n",
+      "#Calculations:\n",
+      "#NA=sqrt(n1**2-n2**2)\n",
+      "#In air, n0=1\n",
+      "n1=math.sqrt(NA1**2+n2**2)     #R.I.of core\n",
+      "\n",
+      "#Now, in water \n",
+      "n0=1.33\n",
+      "NA2=math.sqrt(n1**2-n2**2)/n0      #Numerical Aperture in water\n",
+      "theta0=math.asin(NA2)*180/3.142    #Acceptance angle of fibre in water\n",
+      "print\"Acceptance angle of Fibre in water is =\",theta0,\"degrees\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Acceptance angle of Fibre in water is = 8.6475921767 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15,Page number 3-24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n1=1.45             #R.I.of core\n",
+      "n2=1.40             #R.I. of cladding\n",
+      "\n",
+      "#Calculations:\n",
+      "NA=math.sqrt(n1**2-n2**2)   #Numerical Aperture\n",
+      "print\"Numerical Aperture of Fibre is =\",NA\n",
+      "\n",
+      "theta0=math.asin(NA)*180/3.142    #Acceptance angle of fibre\n",
+      "print\"Acceptance angle of Fibre is =\",theta0,\"degrees\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerical Aperture of Fibre is = 0.377491721764\n",
+        "Acceptance angle of Fibre is = 22.1755250876 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.16,Page number 3-24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "NA=0.16             #Numerical Aperture of Fibre\n",
+      "n1=1.45             #R.I. of core\n",
+      "d=90*10**-6          #Core diameter\n",
+      "\n",
+      "#Calculations:\n",
+      "#NA=sqrt(n1**2-n2**2)\n",
+      "n2=math.sqrt(n1**2-NA**2)    #R.I.of cladding\n",
+      "print\"(a)Refractive Index of cladding of fibre is =\",n2\n",
+      "\n",
+      "theta0=math.asin(NA)*180/3.142    #Acceptance angle of fibre\n",
+      "print\"(b)Acceptance angle of Fibre is =\",theta0,\"degrees\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)Refractive Index of cladding of fibre is = 1.44114537782\n",
+        "(b)Acceptance angle of Fibre is = 9.20570258795 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.17,Page number 3-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "n1=1.48               #R.I. of core\n",
+      "delta=0.055           #Realtive R.I.\n",
+      "lamda=1*10**-6        #Wavelength of light\n",
+      "a=50*10**-6           #core radius\n",
+      "\n",
+      "#Calculations:\n",
+      "#Delta=(u1-u2)/u1\n",
+      "n2=n1-(n1*delta)      #R.I. of cladding\n",
+      "NA=n1*math.sqrt(2*delta)  #Formula to find Numerical Aperture\n",
+      "print\"Numerical Aperture of Fibre is =\",NA\n",
+      "\n",
+      "\n",
+      "theta0=math.asin(NA)*180/3.142     #Acceptance angle of fibre\n",
+      "print\"Acceptance angle of Fibre is =\",theta0,\"degrees\"\n",
+      "\n",
+      "V=2*3.142*a*NA/lamda            #V number\n",
+      "N=(V**2)/2                   #Number of guided modes\n",
+      "\n",
+      "#In book,instead of NA , value of delta is taken into calculation.\n",
+      "#Thus there is calculation mistake in values of V and N.\n",
+      "\n",
+      "print\"V number of Fibre is =\",V\n",
+      "print\"Number of guided mode of Fibre is =\",N\n",
+      "print\"(Calculation mistake in book)\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerical Aperture of Fibre is = 0.490860468973\n",
+        "Acceptance angle of Fibre is = 29.3933421943 degrees\n",
+        "V number of Fibre is = 154.228359351\n",
+        "Number of guided mode of Fibre is = 11893.1934141\n",
+        "(Calculation mistake in book)\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics-II/chapter4.ipynb b/Applied_Physics-II/chapter4.ipynb
new file mode 100755
index 00000000..11b66b2f
--- /dev/null
+++ b/Applied_Physics-II/chapter4.ipynb
@@ -0,0 +1,163 @@
+{
+ "metadata": {
+  "celltoolbar": "Raw Cell Format",
+  "name": "",
+  "signature": "sha256:e413b3bea25c7729b7ae1f595bf0f843336be8c682782f6b92de1c93aa46ed9d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4: Laser"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.1,Page number 4-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda=694.3*10**-9         #Wavelength in meter\n",
+      "T=300                   #Temperature in Kelvin\n",
+      "\n",
+      "h=6.63*10**-34           #Planck's Constant\n",
+      "c=3*10**8                #Velocity of light\n",
+      "K=1.38*10**-21           #Boltzmann Constant\n",
+      "\n",
+      "#Calculations:\n",
+      "delE= h*c/lamda           #Energy difference between two energy states N and N0\n",
+      "\n",
+      "#N=N0*e^-delE/(K*T)\n",
+      "R=math.e**(-delE/(K*T))      #R=Ratio of N and N0 i.e.(R=N/N0)\n",
+      "\n",
+      "#(Printing mistake in textbook)\n",
+      "#instead of e^-.692, it has taken e^-69.2\n",
+      "\n",
+      "print\"The ratio of population of two energy states is = \",R\n",
+      "print\" (calculation mistake in book)\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of population of two energy states is =  0.500588928485\n",
+        " (calculation mistake in book)\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.2,Page number 4-28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda=6328*10**-10        #Wavelength in meter\n",
+      "P=4.5*10**-3              #Power in watts\n",
+      "h=6.63*10**-34           #Planck's Constant\n",
+      "c=3*10**8                 #Velocity of light\n",
+      "\n",
+      "#Calculations:\n",
+      "delE= h*c/lamda           #Energy difference\n",
+      "#N*delE=P\n",
+      "N=P/delE                #number of photons emitted per second\n",
+      "\n",
+      "print\"Number of photons emitted per second is =\",N\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of photons emitted per second is = 1.43167420814e+16\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.3,Page number 4-29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "lamda=780*10**-9           #Wavelength of photon in meter\n",
+      "P=20*10**-3              #Power of each pulse in watts\n",
+      "t=10*10**-9              #Duration of each pulse\n",
+      "h=6.63*10**-34           #Planck's Constant\n",
+      "c=3*10**8                #Velocity of light\n",
+      "\n",
+      "#Calculations:\n",
+      "delE= h*c/lamda           #Energy of each photon\n",
+      "E=P*t                   #Energy of each pulse\n",
+      "\n",
+      "N=E/delE                #Number of photons in each pulse\n",
+      "print\"Number of photons in each pulse is =\",N\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of photons in each pulse is = 784313725.49\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics-II/chapter5.ipynb b/Applied_Physics-II/chapter5.ipynb
new file mode 100755
index 00000000..e9d81103
--- /dev/null
+++ b/Applied_Physics-II/chapter5.ipynb
@@ -0,0 +1,1166 @@
+{
+ "metadata": {
+  "celltoolbar": "Raw Cell Format",
+  "name": "",
+  "signature": "sha256:fec7a7bbab2881090f60069cf3d4c856415ca45a1545225541a225f28ce72b8e"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5: Foundations of Quantum Mechanics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.1,Page number 5-23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=6.68*10**-27       #mass of alpha particle\n",
+      "V=30*10**3           #potential difference\n",
+      "e=1.6*10**-19        #charge of an electron\n",
+      "q=2*e                #Charge of alpha particle\n",
+      "h=6.63*10**-34       #Planck's constant\n",
+      "\n",
+      "#Calculations:\n",
+      "lamda=h/math.sqrt(2*m*q*V)     #de Broglie wavelength\n",
+      "print\"de Broglie wavelength associated with alpha particle is =\" ,lamda,\"m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "de Broglie wavelength associated with alpha particle is = 5.85429607723e-14 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.2,Page number 5-23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1                  #mass of given particle in kg\n",
+      "h=6.63*10**-34       #Planck's constant\n",
+      "v=1*10**3            #velocity of particle\n",
+      "\n",
+      "#Calculations:\n",
+      "lamda=h/(m*v)         #de Broglie wavelength\n",
+      "print\"de Broglie wavelength associated with particle is =\",lamda,\"m\"\n",
+      "print\"This wavelength is too small for any practical significance.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "de Broglie wavelength associated with particle is = 6.63e-37 m\n",
+        "This wavelength is too small for any practical significance.\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.3,Page number 5-24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m1=40*10**-3         #mass of bullet in kg\n",
+      "m2=9.1*10**-31       #mass of electron in kg\n",
+      "h=6.63*10**-34       #Planck's constant\n",
+      "v=1100              #velocity of bullet and electron\n",
+      "\n",
+      "#Calculations:\n",
+      "lamda1=h/(m1*v)        #de Broglie wavelength\n",
+      "print\"de Broglie wavelength associated with bullet is =\",lamda1,\"m\"\n",
+      "\n",
+      "lamda2=h/(m2*v)        #de Broglie wavelength\n",
+      "print\"de Broglie wavelength associated with electron is =\",lamda2,\"m\"\n",
+      "\n",
+      "print\"Wavelength of bullet is too small.Hence it can not be measured with help of diffraction effect.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " de Broglie wavelength associated with bullet is = 1.50681818182e-35 m\n",
+        "de Broglie wavelength associated with electron is = 6.62337662338e-07 m\n",
+        "Wavelength of bullet is too small.Hence it can not be measured with help of diffraction effect.\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.4,Page number 5-24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "V=100            #potential difference\n",
+      "d=2.15*10**-10   #lattice spacing\n",
+      "\n",
+      "#Calculations:\n",
+      "lamda=12.26*10**-10/(math.sqrt(V))          #wavelength associated with electron in meter\n",
+      "\n",
+      "#using bragg's law for first order  lamda=2d sin(theta)\n",
+      "theta=math.degrees(math.asin(lamda/(2*d)))      #glancing angle in degrees\n",
+      "print\"Glancing angle at which first reflection occurs is =\",theta,\"Degrees\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Glancing angle at which first reflection occurs is = 16.5657992687 Degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.5,Page number 5-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "mn=1.674*10**-27     #mass of neutron\n",
+      "h=6.63*10**-34       #Planck's constant\n",
+      "lamda=1*10**-10      #wavelength of neutron\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#we know,  lamda=h/sqrt(2*m*E)     #de Broglie wavelength\n",
+      "E1=h**2/(2*mn*lamda**2)   #Energy of neutron in joules\n",
+      "E=E1/(1.6*10**-19)        #Energy of neutron in electron-Volts\n",
+      "\n",
+      "print\"Energy of neutron is =\",E,\"eV\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy of neutron is = 0.0820581317204 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.6,Page number 5-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "mn=1.67*10**-27      #mass of neutron\n",
+      "h=6.6*10**-34        #Planck's constant\n",
+      "lamda=3*10**-10        #wavelength of neutron\n",
+      "d=3.036*10**-10      #lattice spacing\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#we know,  lamda=h/sqrt(2*m*E)     #de Broglie wavelength\n",
+      "E1=h**2/(2*mn*lamda**2)  #Energy of neutron in joules\n",
+      "E=E1/(1.6*10**-19)    # Energy of neutron in electron-Volts\n",
+      "print\"Energy of neutron is =\",E,\"eV\"\n",
+      "\n",
+      "#using bragg's law for first order  lamda=2d sin(theta)\n",
+      "theta=math.degrees(math.asin(lamda/(2*d)))      #glancing angle in degrees\n",
+      "print\" Glancing angle at which first orde reflection occurs is =\",theta,\"Degrees\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy of neutron is = 0.00905688622754 eV\n",
+        " Glancing angle at which first orde reflection occurs is = 29.6085193042 Degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.7,Page number 5-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=9.108*10**-31       #mass of electron\n",
+      "h=6.625*10**-34       #Planck's constant\n",
+      "lamda=5*10**-7          #wavelength of electron\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#we know,  lamda=h/sqrt(2*m*E)     #de Broglie wavelength\n",
+      "E1=h**2/(2*m*lamda**2)     #Energy of electron in joules\n",
+      "E=E1/(1.6*10**-19)      #Energy of electron in electron-Volts\n",
+      "print\"Energy of electron is =\",E,\"eV\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy of electron is = 6.02363650088e-06 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.8,Page number 5-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "mn=1.676*10**-27        #mass of neutron\n",
+      "me=9.1*10**-31          #mass of electron\n",
+      "h=6.625*10**-34         #Planck's constant\n",
+      "\n",
+      "#Calculations:\n",
+      "#Part 1:\n",
+      "En1=0.025              #Energy in eV of neutron\n",
+      "En=En1*(1.6*10**-19)   #Energy in joules\n",
+      "\n",
+      "lamda1=h/math.sqrt(2*mn*En)     #wavelength of a beam of neutron\n",
+      "print\"wavelength of a beam of neutron is =\",lamda1,\"m\"\n",
+      "\n",
+      "#Part 2:\n",
+      "lamda2=2*10**-10            #wavelength of electron and photon\n",
+      "\n",
+      "#//we know,  lamda=h/sqrt(2*m*E)     #de Broglie wavelength\n",
+      "Ee1=h**2/(2*me*lamda2**2)     #Energy of electron in joules\n",
+      "Ee=Ee1/(1.6*10**-19)          #Energy of electron in electron-Volts\n",
+      "print\"Energy of electron is =\",Ee,\"eV\"\n",
+      "\n",
+      "p1=h/lamda2               #momentum of electron\n",
+      "print\" Momentum of electron is =\",p1,\"kg.m/s\"\n",
+      "\n",
+      "C=3*10**8                 #Velocity of light\n",
+      "Ep=h*C/lamda2             #Energy of photon in joules\n",
+      "print\"Energy of photon is =\",Ep,\"Joules\"\n",
+      "\n",
+      "p2=h/lamda2              #momentum of photon\n",
+      "print\"Momentum of photon is =\",p2,\"kg.m/s\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "wavelength of a beam of neutron is = 1.80927208246e-10 m\n",
+        "Energy of electron is = 37.6808250343 eV\n",
+        " Momentum of electron is = 3.3125e-24 kg.m/s\n",
+        "Energy of photon is = 9.9375e-16 Joules\n",
+        "Momentum of photon is = 3.3125e-24 kg.m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.9,Page number 5-28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given data:\n",
+      "#We have alpha particle,neutron,proton and electron.\n",
+      "\n",
+      "#To find: shortest wavelength\n",
+      "\n",
+      "print\"We know, lamda=h/sqrt(2*m*E)     #de Broglie wavelength\"\n",
+      "\n",
+      "#Wavelength is inversely proportional to mass of particle for constant energy\n",
+      "print\"i.e., Wavelength is inversely proportional to mass of particle for constant energy. \"\n",
+      "\n",
+      "print\"We have alpha particle,neutron,proton and electron.\"\n",
+      "\n",
+      "#AS,alpha particle has highest mass.Thus it will have shortest wavelength.\n",
+      "print\"Out of above, alpha particle has highest mass.\"\n",
+      "\n",
+      "print\"Hence it will have shortest wavelength.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "We know, lamda=h/sqrt(2*m*E)     #de Broglie wavelength\n",
+        "i.e., Wavelength is inversely proportional to mass of particle for constant energy. \n",
+        "We have alpha particle,neutron,proton and electron.\n",
+        "Out of above, alpha particle has highest mass.\n",
+        "Hence it will have shortest wavelength.\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.10,Page number 5-28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "me=9.108*10**-31        # mass of electron\n",
+      "mp=1.66*10**-27         # bmass of proton\n",
+      "h=6.625*10**-34         # Planck's constant\n",
+      "lamda=1*10**-10         # wavelength of electron and proton\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#we know,  lamda=h/sqrt(2*m*E)     #de Broglie wavelength\n",
+      "Ee1=h**2/(2*me*lamda**2)           #Energy of electron in joules\n",
+      "Ee=Ee1/(1.6*10**-19)               #Energy of electron in electron-Volts\n",
+      "print\"Energy of electron is =\",Ee,\"eV\"\n",
+      "\n",
+      "Ep1=h**2/(2*mp*lamda**2)      #Energy of photon in joules\n",
+      "Ep=Ep1/(1.6*10**-19)          #Energy of photon in electron-Volts\n",
+      "print\"Energy of photon is =\",Ep,\"eV\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy of electron is = 150.590912522 eV\n",
+        "Energy of photon is = 0.0826254235693 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.11,Page number 5-29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m1=50*10**-9         #mass of particle in kg\n",
+      "m2=9.1*10**-31       #mass of electron in kg\n",
+      "h=6.625*10**-34      #Planck's constant\n",
+      "v1=1                #velocity of particle\n",
+      "v2=3*10**6           #velocity of electron\n",
+      "\n",
+      "#Calculations:\n",
+      "lamda1=h/(m1*v1)*10**10        #de Broglie wavelength\n",
+      "print\"de Broglie wavelength associated with particle is =\",lamda1,\"Angstrom\"\n",
+      "\n",
+      "lamda2=h/(m2*v2)*10**10        #de Broglie wavelength\n",
+      "print\"de Broglie wavelength associated with electron is =\",lamda2,\"Angstrom\"\n",
+      "\n",
+      "print\"Wavelength of electron is measurable.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "de Broglie wavelength associated with particle is = 1.325e-16 Angstrom\n",
+        "de Broglie wavelength associated with electron is = 2.42673992674 Angstrom\n",
+        "Wavelength of electron is measurable.\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.12,Page number 5-29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "me=9.1*10**-31           #mass of electron in kg\n",
+      "h=6.63*10**-34          #Planck's constant\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "E1=2*10**3              #Energy in eV of electron\n",
+      "E=E1*(1.6*10**-19)      #Energy in joules\n",
+      " \n",
+      "lamda=h/math.sqrt(2*me*E)      #wavelength of electron\n",
+      "print\"Wavelength of electron is =\",lamda,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Wavelength of electron is = 2.7472794985e-11 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.13,Page number 5-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "me=9.1*10**-31            #mass of electron\n",
+      "h=6.63*10**-34            #Planck's constant\n",
+      "lamda=2*10**-10           #wavelength of electron and photon\n",
+      "\n",
+      "#Calculations:\n",
+      "p1=h/lamda                #momentum of electron\n",
+      "print\"Momentum of electron is =\",p1,\"kg.m/s\"\n",
+      "\n",
+      "Ee=p1**2/(2*me)          #Energy of electron in joules\n",
+      "print\"Energy of electron is =\",Ee,\"Joules\"\n",
+      "\n",
+      "p2=h/lamda                #momentum of photon\n",
+      "print\"Momentum of photon is =\",p2,\"kg.m/s\"\n",
+      "\n",
+      "c=3*10**8                #Velocity of light\n",
+      "Ep=h*c/lamda             #Energy of photon in joules\n",
+      "print\"Energy of photon is =\",Ep,\"Joules\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Momentum of electron is = 3.315e-24 kg.m/s\n",
+        "Energy of electron is = 6.03803571429e-18 Joules\n",
+        "Momentum of photon is = 3.315e-24 kg.m/s\n",
+        "Energy of photon is = 9.945e-16 Joules\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.14,Page number 5-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1.676*10**-27            #mass of neutron\n",
+      "h=6.625*10**-34            #Planck's constant\n",
+      "lamda=1*10**-10            #wavelength of neutron\n",
+      "\n",
+      "#Calculations:\n",
+      "C=3*10**8                 #Velocity of light\n",
+      "Ep1=h*C/lamda             #Energy of photon in joules\n",
+      "E1=Ep1/(1.6*10**-19)      #Energy of photon in electron-Volts\n",
+      "print\"Energy of photon is =\",E1,\"eV\"\n",
+      "\n",
+      "#we know,  lamda=h/sqrt(2*m*E)     #de Broglie wavelength\n",
+      "En1=h**2/(2*m*lamda**2)     #Energy of neutron in joules\n",
+      "E2=En1/(1.6*10**-19)     #Energy of neutron in electron-Volts\n",
+      "print\"Energy of neutron is =\",E2,\"eV\"\n",
+      "\n",
+      "R=E1/E2                 #Ratio of energies of proton to neutron\n",
+      "print\"Ratio of energies of proton to neutron is =\",R\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy of photon is = 12421.875 eV\n",
+        "Energy of neutron is = 0.0818366367094 eV\n",
+        "Ratio of energies of proton to neutron is = 151788.679245\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Example 5.14.1,Page number 5-36"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "v=900                  #velocity of electron in m/s\n",
+      "delv=v*0.001/100       #uncertainity in velocity\n",
+      "h=6.63*10**-34         #Planck's constant\n",
+      "m=9.1*10**-31           #mass of an electron\n",
+      "\n",
+      "#Calculations:\n",
+      "delp=m*delv            #uncertainity in the measured values of momentum\n",
+      "\n",
+      "#using heisenberg's uncertainity formula\n",
+      "delx=h/(2*3.142*delp)    #uncertainity in its position\n",
+      "print\"Uncertainity with which position of electron can be located is >=\",delx,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Uncertainity with which position of electron can be located is >= 0.0128823012337 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.14.2,Page number 5-37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1.6*10**-27        #mass of proton in kg\n",
+      "h=6.63*10**-34       #Planck's constant\n",
+      "v=3./20*10**8         #velocity of particle\n",
+      "\n",
+      "#Calculations:\n",
+      "lamda=h/(m*v)        #de Broglie wavelength\n",
+      "print\"de Broglie wavelength associated with proton is =\",lamda,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "de Broglie wavelength associated with proton is = 2.7625e-14 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.14.3,Page number 5-37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1.676*10**-27        #mass of neutron\n",
+      "h=6.634*10**-34        #Planck's constant\n",
+      "\n",
+      "#Calculations:\n",
+      "E1=0.025              #Energy in eV of neutron\n",
+      "E=E1*(1.6*10**-19)    #Energy in joules\n",
+      "#As E=m*v**2/2\n",
+      "v=math.sqrt(2*E/m)        #Velocity of neutron beam\n",
+      "\n",
+      "lamda=h/(m*v)          #wavelength of a beam of neutron\n",
+      "print\"wavelength of a beam of neutron is =\",lamda,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "wavelength of a beam of neutron is = 1.81172996152e-10 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.14.4,Page number 5-37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "delx=10*10**-9          #uncertainity in position of electron\n",
+      "h=6.63*10**-34          #Planck's constant\n",
+      "m=9.1*10**-31           #mass of an electron\n",
+      "E=10**3*1.6*10**-19      #Energy of electron in joules\n",
+      "\n",
+      "#Calculations:\n",
+      "p=math.sqrt(2*m*E)          #momentum of electron\n",
+      "#using heisenberg's uncertainity formula\n",
+      "delp=h/(2*math.pi*delx)    #uncertainity in the momentum\n",
+      "\n",
+      "P=delp/p*100           #percentage of uncertainity in momentum\n",
+      "print\"Percentage of uncertainity in momentum of electron is =\",P,\"percent\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Percentage of uncertainity in momentum of electron is = 0.0618355139385 percent\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.15,Page number 5-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1.676*10**-27          #mass of neutron\n",
+      "h=6.63*10**-34           #Planck's constant\n",
+      "lamda=2*10**-12            #wavelength of neutron\n",
+      "c=3*10**8                #Velocity of light\n",
+      "\n",
+      "#Calculations:\n",
+      "p=h/lamda                 #momentum of neutron\n",
+      "KE=p**2/(2*m)            #Kinetic Energy of neutron in joules\n",
+      "print\"Kinetic Energy of electron is =\",KE,\"Joules\"\n",
+      "\n",
+      "#velocity of particle is same as group velocity. Thus,\n",
+      "vg=p/m                  #group velocity\n",
+      "print\"group velocity of neutron is =\",vg,\"m/s\"\n",
+      "\n",
+      "#using, vg*vp=c**2\n",
+      "vp=c**2/vg               #phase velocity\n",
+      "print\" phase velocity of neutron is =\",vp,\"m/s\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Kinetic Energy of electron is = 3.27840841289e-17 Joules\n",
+        "group velocity of neutron is = 197792.362768 m/s\n",
+        " phase velocity of neutron is = 4.55022624434e+11 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.16,Page number 5-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "m=1.157*10**-30         #mass of particle in kg\n",
+      "h=6.63*10**-34          #Planck's constant\n",
+      "c=3*10**8               #Velocity of light\n",
+      "\n",
+      "#Calculations:\n",
+      "E1=80                  #Energy in eV of particle\n",
+      "E=E1*(1.6*10**-19)     #Energy in joules\n",
+      " \n",
+      "lamda=h/math.sqrt(2*m*E)     #wavelength of particle\n",
+      "print\"Wavelength of particle is =\",lamda,\"m\"\n",
+      "\n",
+      "#Now,\n",
+      "vg=h/(lamda*m)          #group velocity\n",
+      "print\"Group velocity of particle is =\",vg,\"m/s\"\n",
+      "\n",
+      "#using, vg*vp=c**2\n",
+      "vp=c**2/vg              #phase velocity\n",
+      "print\"Phase velocity of particle is =\",vp,\"m/s\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Wavelength of particle is = 1.21822320075e-10 m\n",
+        "Group velocity of particle is = 4703848.2563 m/s\n",
+        "Phase velocity of particle is = 19133270270.7 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.17,Page number 5-33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "v=400                #velocity of electron in m/s\n",
+      "delv=0.01/100       #uncertainity in velocity\n",
+      "h=6.63*10**-34       #Planck's constant\n",
+      "m=9.11*10**-31       #mass of an electron\n",
+      "\n",
+      "#Calculations:\n",
+      "p=m*v                #momentum of an electron\n",
+      "delp=p*delv          #uncertainity in the measured values of momentum\n",
+      "\n",
+      "#using heisenberg's uncertainity formula\n",
+      "delx=h/(2*math.pi*delp)    #accuracy in its position\n",
+      "print\"Accuracy in its position is >=\",delx,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Accuracy in its position is >= 0.00289571150576 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.18,Page number 5-33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#Given Data:\n",
+      "delx=10**-8             #maximum uncertainity in position of electron\n",
+      "h=6.63*10**-34          #Planck's constant\n",
+      "m=9.1*10**-31           #mass of an electron\n",
+      "\n",
+      "#Calculations:\n",
+      "#using heisenberg's uncertainity formula\n",
+      "delp=h/(2*math.pi*delx)    #minimum uncertainity in the measured values of momentum\n",
+      "\n",
+      "delv=delp/m            #minimum uncertainity in the velocity of an electron\n",
+      "print\"Minimum uncertainity in the velocity of an electron is =\",delv,\"m/s\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum uncertainity in the velocity of an electron is = 11595.5744253 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.19,Page number 5-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "delv=2*10**4            #uncertainity in velocity\n",
+      "h=6.63*10**-34          #Planck's constant\n",
+      "m=9.1*10**-31           #mass of an electron\n",
+      "\n",
+      "#Calculations:\n",
+      "delp=m*delv             #uncertainity in the measured values of momentum\n",
+      "\n",
+      "#using heisenberg's uncertainity formula\n",
+      "delx=h/(2*math.pi*delp)    #accuracy in its position\n",
+      "print\"Minimum space required by electron to be confined in an atom is >=\",delx,\"m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum space required by electron to be confined in an atom is >= 5.79778721263e-09 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.20,Page number 5-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "delt=1.4*10**-10        #uncertainity in time spent by nucleus in excited state\n",
+      "h=6.63*10**-34          #Planck's constant\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#using, delE*delt>= h/(2*math.pi)\n",
+      "delE1= h/(2*math.pi*delt)       #uncertaininty in its energy in excited state in joules\n",
+      "delE=delE1/(1.6*10**-19)     #uncertaininty in its energy in excited state in eV\n",
+      "print\"Uncertaininty in its energy in excited state is >=\",delE,\"eV\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Uncertaininty in its energy in excited state is >= 4.71070211026e-06 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.21,Page number 5-35"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "a=2*10**-10             #width of potential well in m\n",
+      "h=6.63*10**-34          #Planck's constant\n",
+      "m=9.1*10**-31           #mass of an electron\n",
+      "\n",
+      "#Calculations:\n",
+      "#we know equation for energy of an electron\n",
+      "n0=1\n",
+      "E01=n0**2*h**2/(8*m*a**2)   #Energy in ground state\n",
+      "E0=E01/(1.6*10**-19)      #Energy in eV\n",
+      "print\"Energy of an electron in ground state is=\",E0,\"eV\"\n",
+      "\n",
+      "n1=2\n",
+      "E11=n1**2*h**2/(8*m*a**2)  #Energy in first excited state\n",
+      "E1=E11/(1.6*10**-19)      #Energy in eV\n",
+      "print\" Energy of an electron in first excited state is=\",E1,\"eV\"\n",
+      "\n",
+      "\n",
+      "n2=3\n",
+      "E21=n2**2*h**2/(8*m*a**2)   #Energy in second excited state\n",
+      "E2=E21/(1.6*10**-19)      #Energy in eV\n",
+      "print\"Energy of an electron in second excited state is=\",E2,\"eV\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy of an electron in ground state is= 9.43443080357 eV\n",
+        " Energy of an electron in first excited state is= 37.7377232143 eV\n",
+        "Energy of an electron in second excited state is= 84.9098772321 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.22,Page number 5-36"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "a=25*10**-10               #width of well\n",
+      "delx=5*10**-10             #uncertainity in position of particle\n",
+      "n=1                        #ground state\n",
+      "\n",
+      "#calculation:\n",
+      "x1=a/2\n",
+      "psi1=math.sqrt(2/a)*math.sin(n*math.pi/a*x1)\n",
+      "P1=(psi1**2)*delx            #Probability of finding particle at distance of x1\n",
+      "print\"Probability of finding particle at a distance of x1 is =\",P1\n",
+      "\n",
+      "x2=a/3\n",
+      "psi2=math.sqrt(2/a)*math.sin(n*math.pi/a*x2)\n",
+      "P2=(psi2**2)*delx             #Probability of finding particle at distance of x2\n",
+      "print\"Probability of finding particle at a distance of x2 is =\",P2\n",
+      "print\"(There is print mistake in book).\"\n",
+      "\n",
+      "x3=a\n",
+      "psi3=math.sqrt(2/a)*math.sin(n*math.pi/a*x3)\n",
+      "P3=(psi3**2)*delx             #Probability of finding particle at distance of x3\n",
+      "print\"Probability of finding particle at a distance of x3 is =\",P3\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probability of finding particle at a distance of x1 is = 0.4\n",
+        "Probability of finding particle at a distance of x2 is = 0.3\n",
+        "(There is print mistake in book).\n",
+        "Probability of finding particle at a distance of x3 is = 5.99903913065e-33\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics-II/chapter6.ipynb b/Applied_Physics-II/chapter6.ipynb
new file mode 100755
index 00000000..dec8353e
--- /dev/null
+++ b/Applied_Physics-II/chapter6.ipynb
@@ -0,0 +1,1183 @@
+{
+ "metadata": {
+  "celltoolbar": "Raw Cell Format",
+  "name": "",
+  "signature": "sha256:bc506d3130781232c57938d478c5c5179ee56efb068c1be93d57258ec96fcd79"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6: Magnetic Materials and Circuits"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.1,Page number 2-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "H=198                  #Magnetizing Force in Ampere per meter\n",
+      "M=2300                 #Magnetization in Ampere per meter\n",
+      "u0=4*math.pi*10**-7    #Permeability in vacuum\n",
+      "\n",
+      "#Calculations:\n",
+      "#H=(B/u0)-M\n",
+      "B=u0*(H+M)             #Flux Density\n",
+      "ur=B/(u0*H)            #Relative Permeability\n",
+      "\n",
+      "print\"Corresponding Flux Density is =\",B,\"Wb/m^2\"\n",
+      "print\"Relative Permeability is =\",ur\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Corresponding Flux Density is = 0.00313907937947 Wb/m^2\n",
+        "Relative Permeability is = 12.6161616162\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.2,Page number 2-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "x=3.7*10**-3           #Susceptibility at T=300 K\n",
+      "T=300                  #Temperature in kelvin\n",
+      "T1=250                 #Temperature in kelvin\n",
+      "T2=600                 #Temperature in kelvin\n",
+      "\n",
+      "#Calculations:\n",
+      "C=x*T                  #Curie's law\n",
+      "ur1=C/T1               #Relative permeability at 250 K\n",
+      "ur2=C/T2               #Relative permeability at 600 K\n",
+      "\n",
+      "print\"Relative Permeability at 250 K is =\",ur1\n",
+      "print\"Relative Permeability at 600 K is =\",ur2\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Relative Permeability at 250 K is = 0.00444\n",
+        "Relative Permeability at 600 K is = 0.00185\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.3,Page number 2-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u=0.8*10**-23          #Magnetic dipole moment of an atom in paramagnetic gas in J/T\n",
+      "B=0.8                  #Magnetic field in tesla\n",
+      "K=1.38*10**-23         #Boltzmann constant\n",
+      "\n",
+      "#To find Temperature at which Average thermal energy is equal to Magnetic energy \n",
+      "#i.e. uB=3KT/2\n",
+      "T=2*u*B/(3*K)          #Required temperature\n",
+      "\n",
+      "print\"Required temperature is =\",T,\"Kelvin\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Required temperature is = 0.309178743961 Kelvin\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.4,Page number 2-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "T=27+273           #Temperature in kelvin\n",
+      "B=0.5              #Magnetic field in tesla\n",
+      "C=2*10**-3         #Curie's Constant\n",
+      "u0=4*math.pi*10**-7    #Permeability in vacuum\n",
+      "\n",
+      "#  C=u0*M*T/B (Curie's law)\n",
+      "M=C*B/(u0*T)      #Magnetization of material at 300 K\n",
+      "\n",
+      "print\"Magnetization of material at 300 K is =\",M,\"A/m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnetization of material at 300 K is = 2.65258238486 A/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.5,Page number 2-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "B=10.9*10**-5            #Horizontal component of B in wb/m^2\n",
+      "u0=4*math.pi*10**-7     #Permeability in free space\n",
+      "\n",
+      "H=B/u0                  #Horizontal component of magnetic field\n",
+      "print\"Horizontal component of magnetic field is =\",H,\"Ampere/meter\"\n",
+      "print\"(Print mistake in unit in book)\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Horizontal component of magnetic field is = 86.7394439851 Ampere/meter\n",
+        "(Print mistake in unit in book)\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.6,Page number 2-28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u0=4*math.pi*10**-7     #Permeability in vacuum\n",
+      "ur=900                  #Relative permeability of medium\n",
+      "l=2                      #length in meter\n",
+      "A=60*10**-4             #Crosss sectional area of ring in m^2\n",
+      "phi=5.9*10**-3          #flux in weber\n",
+      "n=700                   #Number of turns\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know, phi=B*A\n",
+      "B=phi/A            #Flux density\n",
+      "#But, B=u*H\n",
+      "H=B/(u0*ur)        #Magnetic field strength\n",
+      "\n",
+      "I=H*l/n            #Required current\n",
+      "print\"Current required to produce given flux is =\",I,\"Ampere\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Current required to produce given flux is = 2.48416445567 Ampere\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.7,Page number 2-28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "\n",
+      "u0=4*math.pi*10**-7    #Permeability in vacuum\n",
+      "ur=900                 #Relative permeability of medium\n",
+      "r=25*10**-2            #radius of ring\n",
+      "A=25*10**-4            #Crosss sectional area of ring in m^2\n",
+      "Ag=1*10**-3            #Air gap\n",
+      "phi=2.7*10**-3         #flux in weber\n",
+      "N=400                  #Number of turns\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know, phi=B*A\n",
+      "B=phi/A            #Flux density\n",
+      "#But, B=u*H\n",
+      "H=B/(u0*ur)        #Magnetic field strength\n",
+      "L=H*2*math.pi*r+(B*Ag/u0)   #Total amp turns required (iron+air)\n",
+      "I=L/N           #Required current\n",
+      "\n",
+      "print\"Current required to produce given flux is =\",I,\"Ampere\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Current required to produce given flux is = 5.89859173174 Ampere\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.8,Page number 2-29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "\n",
+      "u0=4*math.pi*10**-7     #Permeability in vacuum\n",
+      "A=0.2*10**-4            #Crosss sectional area of iron bar in m^2\n",
+      "H=1600                  #magnetising field in A/m\n",
+      "phi=2.4*10**-5          #Magnetic flux in weber\n",
+      "\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know, phi=B*A\n",
+      "B=phi/A            #Flux density\n",
+      "u=B/H              #magnetic permeability\n",
+      "ur=u/u0            #relative permeability\n",
+      "xm=ur-1            #susceptibility of the iron bar\n",
+      "\n",
+      "print\"magnetic permeability of iron bar is =\",u,\"N/(A^2)\"\n",
+      "print\"susceptibility of the iron bar is =\",xm\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "magnetic permeability of iron bar is = 0.00075 N/(A^2)\n",
+        "susceptibility of the iron bar is = 595.831036595\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.9,Page number 2-29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u0=4*math.pi*10**-7       #Permeability in vacuum\n",
+      "xm=948*10**-11            #susceptibility of the iron bar\n",
+      "\n",
+      "#Calculations:\n",
+      "ur=1+xm            #relative permeability\n",
+      "u=u0*ur            #permeability of medium\n",
+      "\n",
+      "print\"Relative Permeability of medium is =\",ur\n",
+      "print\"Permeability of medium is =\",u,\"H/m\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Relative Permeability of medium is = 1.00000000948\n",
+        "Permeability of medium is = 1.25663707335e-06 H/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.10,Page number 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "B=2.5                #Magnetic field in tesla\n",
+      "u0=4*math.pi*10**-7    #Permeability in free space\n",
+      "i0=0.7               #current in the core\n",
+      "ri=11*10**-2         #inner radii of core\n",
+      "ro=12*10**-2         #outer radii of core\n",
+      "\n",
+      "#Calculations:\n",
+      "r=(ri+ro)/2          #Average radii of core\n",
+      "n=3000/(2*math.pi*r)    #Number of turns\n",
+      "\n",
+      "#We know, B=u0*ur*n*i0 .Thus,\n",
+      "ur=B/(u0*n*i0)\n",
+      "\n",
+      "print\"Relative Permeability of medium is =\",ur\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Relative Permeability of medium is = 684.523809524\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.11,Page number 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "B=1.0                #Flux density in tesla\n",
+      "u0=4*math.pi*10**-7     #Permeability in free space\n",
+      "i=2.0                #current in the core\n",
+      "n=10*100             #n=N/l i.e. turns per meter\n",
+      "\n",
+      "#Calculations:\n",
+      "H=n*i               #Magnetising force produced in wire\n",
+      "print\"Magnetising force produced in wire is =\",H,\"Amp-turn/meter\"\n",
+      "\n",
+      "#We know that, B=u0(H+I).Thus,\n",
+      "I=B/u0-H            #Magnetisation of material\n",
+      "print\"Magnetisation of material is =\",I,\"Amp-turn/meter\"\n",
+      "\n",
+      "#u=B/H, i.e. ur*u0=B/H.\n",
+      "ur=B/(u0*H)        #Relative permeability of core\n",
+      "print\" Relative Permeability of core is =\",ur\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnetising force produced in wire is = 2000.0 Amp-turn/meter\n",
+        "Magnetisation of material is = 793774.715459 Amp-turn/meter\n",
+        " Relative Permeability of core is = 397.88735773\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.12,Page number 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "M=40             #Mass of an iron core\n",
+      "D=7.5*10**3      #Density of iron\n",
+      "f=100            #Frequency\n",
+      "A=3800*10**-1    #Loss due to Area of hysterisis loop in J/m^3\n",
+      "\n",
+      "#Calculations:\n",
+      "V=M/D            #Volume of iron core\n",
+      "L1=A*V           #Loss of energy in core per cycle\n",
+      "print\"Loss of energy in core per cycles is =\",L1,\"joules\"\n",
+      "\n",
+      "N=f*60           #Number of cycles per minute\n",
+      "L=L1*N           #Loss of energy per minute\n",
+      "\n",
+      "print\"Loss of energy per minute is =\",L,\"joules\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Loss of energy in core per cycles is = 2.02666666667 joules\n",
+        "Loss of energy per minute is = 12160.0 joules\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.13,Page number 2-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u0=4*math.pi*10**-7     #Permeability in vacuum\n",
+      "l=30*10**-2             #length in meter\n",
+      "A=1*10**-4          #Crosss sectional area of ring in m^2\n",
+      "phi=2*10**-6        #flux in weber\n",
+      "N=300               #Number of turns\n",
+      "I=0.032             #Current in winding\n",
+      "\n",
+      "#Calculations:\n",
+      "#(i):\n",
+      "B=phi/A             #Flux density\n",
+      "print\"(i)Flux Density in the ring is =\",B,\"Wb/m^2\"\n",
+      "\n",
+      "#(ii):\n",
+      "H=N*I/l            #Magnetic intensity\n",
+      "print\"(ii)Magnetic intensity is =\",H,\"Amp-turn/meter\"\n",
+      "\n",
+      "#(iii):\n",
+      "u=B/H              #Permeability of ring\n",
+      "print\"(iii)Permeability of ring is =\",u,\" Wb/A-m\"\n",
+      "ur=u/u0            #Relative permeability of ring\n",
+      "print\"Relative Permeability of ring is =\",ur\n",
+      "\n",
+      "#(iv):\n",
+      "xm=ur-1            #susceptibility of the ring\n",
+      "print\"(iv)Magnetic susceptibility of the ring is =\",xm\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Flux Density in the ring is = 0.02 Wb/m^2\n",
+        "(ii)Magnetic intensity is = 32.0 Amp-turn/meter\n",
+        "(iii)Permeability of ring is = 0.000625  Wb/A-m\n",
+        "Relative Permeability of ring is = 497.359197162\n",
+        "(iv)Magnetic susceptibility of the ring is = 496.359197162\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.14,Page number 2-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Dta:\n",
+      "M=12*10**3       #Mass of an iron core in grams\n",
+      "D=7.5            #Density of iron in gm/cc\n",
+      "f=50             #Frequency\n",
+      "A=3000           #loss due to Area of hysterisis loop in ergs/cm^3\n",
+      "\n",
+      "#Calculations:\n",
+      "V=M/D            #Volume of iron core\n",
+      "L1=A*V           #Loss of energy in core per cycle\n",
+      "\n",
+      "L=L1*f*3600      #Loss of energy per hour\n",
+      "\n",
+      "print\"Loss of energy per hour is =\",L,\"Erg\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Loss of energy per hour is = 8.64e+11 Erg\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.15,Page number 2-33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "A=0.5*10**3            #Area of B-H loop in Joules per m^3\n",
+      "V=10**-3               #Volume of specimen in m^3\n",
+      "n=50                   #Frequency of a.c.\n",
+      "\n",
+      "#Calculations:\n",
+      "H=n*V*A               #Hysteresis power loss\n",
+      "\n",
+      "print\"Hysteresis power loss is =\",H,\"Watt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Hysteresis power loss is = 25.0 Watt\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.16,Page number 2-33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u0=4*math.pi*10**-7     #Permeability in vacuum\n",
+      "ur=1000             #Relative permeability of medium\n",
+      "V=10**-4            #Volume of iron rod in m^3\n",
+      "n=500               #Number of turns per meter\n",
+      "i=0.5               #Current in windings of solenoid in Amperes\n",
+      "\n",
+      "#Calculations:\n",
+      "#We know I=(ur-1)H\n",
+      "#and H=ni , hence\n",
+      "I=(ur-1)*n*i       #Intensity of magnetisation\n",
+      "M=I*V              #Magnetic moment\n",
+      "\n",
+      "print\"Magnetic moment of the rod is =\",M,\"A-m^2\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnetic moment of the rod is = 24.975 A-m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.17,Page number 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u0=4*math.pi*10**-7     #Permeability in vacuum\n",
+      "ur=600             #Relative permeability of iron\n",
+      "d=12*10**-2        #mean diameter of ring in m\n",
+      "N=500              #Number of turns\n",
+      "i=0.3              #Current in windings of solenoid in Amperes\n",
+      "\n",
+      "#Calculations:\n",
+      "r=d/2              #Radius of ring\n",
+      "\n",
+      "B=u0*ur*N*i/(2*math.pi*r)     #Flux densityin the core\n",
+      "print\"Flux densityin the core is =\",B,\"Wb/m^2\"\n",
+      "\n",
+      "H=B/(u0*ur)         #Magnetic intensity\n",
+      "print\"Magnetic intensity is =\",H,\"Amp-turns/m\"\n",
+      "\n",
+      "#We know that, B=u0(H+I)\n",
+      "I1=(B-u0*H)/u0      #magnetisation\n",
+      "I2=u0*I1            #Electronic current loop\n",
+      "\n",
+      "I=I2/B*100          #Percentage flux density due to electroniuc loop currents\n",
+      "print\"Percentage flux density due to electroniuc loop currents is =\",I,\"percent\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Flux densityin the core is = 0.3 Wb/m^2\n",
+        "Magnetic intensity is = 397.88735773 Amp-turns/m\n",
+        "Percentage flux density due to electroniuc loop currents is = 99.8333333333 percent\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.18,Page number 2-35"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "\n",
+      "u0=4*math.pi*10**-7   #Permeability in vacuum\n",
+      "ur=900               #Relative permeability of iron ring\n",
+      "d=40*10**-2          #diameter of ring\n",
+      "l=5*10**-3           #air gap in the ring\n",
+      "A=5.8*10**-4         #Crosss sectional area of ring in m^2\n",
+      "phi=1.5*10**-4       #flux in weber\n",
+      "N=600                #Number of turns\n",
+      "\n",
+      "#Calculations:\n",
+      "r=d/2                #Radius of ring\n",
+      "\n",
+      "#We know, phi=B*A\n",
+      "B=phi/A              #Flux density\n",
+      "\n",
+      "#But, B=u*H\n",
+      "H=B/(u0*ur)          #Magnetic field strength\n",
+      "\n",
+      "m1=H*ur*l            #amp-turns in air gap\n",
+      "m2=H*2*math.pi*r     #amp-turns by ring\n",
+      "m=m1+m2              #total mmf(amp-turns) required\n",
+      "\n",
+      "I=m/N                #Required current\n",
+      "print\"Current required to produce given flux is =\",I,\"Amperes\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Current required to produce given flux is = 2.19395891742 Amperes\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.18.1,Page number 2-38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u0=4*math.pi*10**-7    #Permeability in vacuum\n",
+      "X=-0.5*10**-5          #Magnetic susceptibility of silicon\n",
+      "H=9.9*10**4            #Magnetic field intensity\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#As, X=I/H. thus,\n",
+      "I=X*H                  #intensity of magnetisation\n",
+      "print\"Intensity of magnetisation is =\",I\n",
+      "\n",
+      "B=u0*(H+I)             #Magnetic flux density\n",
+      "print\"Magnetic flux density is =\",B,\"Wb/ m^2\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Intensity of magnetisation is = -0.495\n",
+        "Magnetic flux density is = 0.124406447047 Wb/ m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.18.2,Page number 2-38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u0=4*math.pi*10**-7     #Permeability in vacuum\n",
+      "ur=380              #Relative permeability\n",
+      "d=20*10**-2         #diameter of solenoid in m\n",
+      "r=d/2               #radius of ring in m\n",
+      "A=5*10**-4           #Crosss sectional area of ring in m^2\n",
+      "phi=2*10**-3         #flux in weber\n",
+      "N=200                #Number of turns\n",
+      "\n",
+      "#Calculations:\n",
+      "l=math.pi*d          #air gap in the ring\n",
+      "S=(l/(u0*ur*A))      #Reluctance of iron ring\n",
+      "print\"Reluctance of iron ring is =\",S,\"Amp-turn/ Wb \"\n",
+      "\n",
+      "#ohm's law for magnetic circuit is  phi=N*I/S. thus,\n",
+      "I=S*phi/N            #required current\n",
+      "print\"Current required to obtain given magnetic flux is =\",I,\"Amperes\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Reluctance of iron ring is = 2631578.94737 Amp-turn/ Wb \n",
+        "Current required to obtain given magnetic flux is = 26.3157894737 Amperes\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.18.3,Page number 2-39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Values:\n",
+      "u0=4*math.pi*10**-7     #Permeability in vacuum\n",
+      "ur=1               #Relative permeability of air\n",
+      "r=15*10**-2        #radius of ring in m\n",
+      "A=6*10**-4         #Crosss sectional area of ring in m^2\n",
+      "I=4                #Coil current in amp\n",
+      "N=500              #Number of turns\n",
+      "\n",
+      "#Calculations:\n",
+      "m=N*I              #MMF of coil\n",
+      "print\"MMF of coil is =\",m,\"Ampere-turn\"\n",
+      "\n",
+      "l=2*math.pi*r      #air gap\n",
+      "R=(l/(u0*ur*A))    #Reluctance of iron ring\n",
+      "print\"Reluctance of iron ring is =\",R,\"Ampere-turn/Wb\"\n",
+      "\n",
+      "phi=m/R            #Magnetic flux\n",
+      "print\"Magnetic flux is =\",phi,\"Weber\"\n",
+      "\n",
+      "B=phi/A            #Magnetic Flux density\n",
+      "print\"Magnetic flux density is =\",B,\"Weber/m^2\"\n",
+      "\n",
+      "H=B/(u0*ur)        #Magnetic field intensity\n",
+      "print\"Magnetic field intensity is =\",H,\"Amperes/m\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "MMF of coil is = 2000 Ampere-turn\n",
+        "Reluctance of iron ring is = 1250000000.0 Ampere-turn/Wb\n",
+        "Magnetic flux is = 1.6e-06 Weber\n",
+        "Magnetic flux density is = 0.00266666666667 Weber/m^2\n",
+        "Magnetic field intensity is = 2122.06590789 Amperes/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.19,Page number 2-36"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "u0=4*math.pi*10**-7     #Permeability in vacuum\n",
+      "ur=6*10**-3         #Relative permeability of iron\n",
+      "r=0.5               #radius of ring in m\n",
+      "l=1*10**-2          #air gap in the ring\n",
+      "A=5*10**-4          #Crosss sectional area of ring in m^2\n",
+      "i=5                 #current in ampere\n",
+      "N=900               #Number of turns\n",
+      "\n",
+      "#Calculations:\n",
+      "S=(l/(u0*A))+((2*math.pi*r-l)/ur*A)     #Reluctance of iron\n",
+      "print\"Reluctance of iron is =\",S,\"Ampere-turn/Wb\"\n",
+      "\n",
+      "m=N*i              #mmf produced\n",
+      "print\"mmf produced is =\",m,\"Ampere-turn\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Reluctance of iron is = 15915494.5702 Ampere-turn/Wb\n",
+        "mmf produced is = 4500 Ampere-turn\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.20,Page number 2-36"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "H=5*10**3          #coercivity of bar magnet in amp/m\n",
+      "l=10*10**-2        #length of solenoid in m\n",
+      "N=50               #No of turns\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know that, H=NI/l ,hence\n",
+      "I=l*H/N            #current through solenoid\n",
+      "\n",
+      "print\"Current through solenoid is =\",I,\"Amperes\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Current through solenoid is = 10.0 Amperes\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.21,Page number 2-36"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "ur=1200            #Relative permeability of medium\n",
+      "V=10**-3           #volume of iron rod\n",
+      "N=5*10**2          #no of turns per m\n",
+      "i=0.5              #current through solenoid in amp\n",
+      "\n",
+      "#Calculations:\n",
+      "x=ur-1             #susceptibility of the ring\n",
+      "H=N*i             #Magnetisisng field\n",
+      "\n",
+      "#We know, x=I/H\n",
+      "I=x*H              #magnetisation\n",
+      "\n",
+      "#Also, I=M/V , thus\n",
+      "M=I*V              #magnetic moment\n",
+      "print\"Magnetic moment is =\",M,\"Ampere-turn-m^2\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnetic moment is = 299.75 Ampere-turn-m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.22,Page number 2-37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Dta:\n",
+      "ur=100            #Relative permeability of medium\n",
+      "l=0.2             #length of iron rod\n",
+      "d=10*10**-3       #diameter of solenoid in m\n",
+      "N=300             #no of turns per m\n",
+      "i=0.5             #current through solenoid in amp\n",
+      "r=d/2             #radius of solenoid\n",
+      "\n",
+      "#Calculations:\n",
+      "x=ur-1            #susceptibility of the ring\n",
+      "H=N*i             #Magnetisisng field\n",
+      "\n",
+      "#We know, x=I/H\n",
+      "I=x*H             #magnetisation\n",
+      "\n",
+      "V=math.pi*(r**2)*l     #volume of iron rod\n",
+      "\n",
+      "#Also, I=M/V , thus\n",
+      "M=I*V             #magnetic moment\n",
+      "print\"Magnetic moment is =\",M,\"Ampere-turn-m^2\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnetic moment is = 0.233263254529 Ampere-turn-m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.23,Page number 2-38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Given Data:\n",
+      "l=1.2              #length of circuit in meter\n",
+      "u=7.3*10**-3       #permeability of silicon sheet\n",
+      "A=100              #cross sectional area in cm^2\n",
+      "N=150              #No of turns\n",
+      "B=0.3              #magmetic field in Wb/m^2\n",
+      "\n",
+      "#Calculations:\n",
+      "\n",
+      "#We know, B=u*H\n",
+      "H=B/u              #Magnetic field strength\n",
+      "\n",
+      "m=H*l              #amp-turns in air gap\n",
+      "\n",
+      "I1=m/N             #Required current\n",
+      "print\"Current required to obtain given magnetic field is =\",I1,\"Amperes\"\n",
+      "\n",
+      "I=I1/A             #Required current per unit area\n",
+      "print\"Current required per unit area to obtain given magnetic field is =\",I,\"Amperes\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Current required to obtain given magnetic field is = 0.328767123288 Amperes\n",
+        "Current required per unit area to obtain given magnetic field is = 0.00328767123288 Amperes\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics-II/screenshots/Ex2_2.png b/Applied_Physics-II/screenshots/Ex2_2.png
new file mode 100755
index 00000000..1d450952
Binary files /dev/null and b/Applied_Physics-II/screenshots/Ex2_2.png differ
diff --git a/Applied_Physics-II/screenshots/Ex2_2_1.png b/Applied_Physics-II/screenshots/Ex2_2_1.png
new file mode 100755
index 00000000..1d450952
Binary files /dev/null and b/Applied_Physics-II/screenshots/Ex2_2_1.png differ
diff --git a/Applied_Physics-II/screenshots/Ex2_2_2.png b/Applied_Physics-II/screenshots/Ex2_2_2.png
new file mode 100755
index 00000000..1d450952
Binary files /dev/null and b/Applied_Physics-II/screenshots/Ex2_2_2.png differ
diff --git a/Applied_Physics/Chapter1.ipynb b/Applied_Physics/Chapter1.ipynb
new file mode 100755
index 00000000..e7e0fc16
--- /dev/null
+++ b/Applied_Physics/Chapter1.ipynb
@@ -0,0 +1,248 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:7b7dfd33b7ab2e69421d0f26bfbfaa20f35bc1084164b445bbbc400215113c08"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1:Bonding in Solids"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.3 , Page no:15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r=2; #in angstrom(distance)\n",
+      "e=1.6E-19; # in C (charge of electron)\n",
+      "E_o= 8.85E-12;# absolute premittivity\n",
+      "\n",
+      "#calculate\n",
+      "r=2*1*10**-10; # since r is in angstrom\n",
+      "V=-e**2/(4*3.14*E_o*r); # calculate potential\n",
+      "V1=V/e; # changing to eV\n",
+      "\n",
+      "#result\n",
+      "print \"\\nThe potential energy is  V = \",V,\"J\";\n",
+      "print \"In electron-Volt V = \",round(V1,3),\"eV\"; \n",
+      "print \"Note: the answer in the book is wrong due to calculation mistake\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "The potential energy is  V =  -1.15153477995e-18 J\n",
+        "In electron-Volt V =  -7.197 eV\n",
+        "Note: the answer in the book is wrong due to calculation mistake\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.4 , Page no:15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "#given\n",
+      "r0=0.236; #in nanometer(interionic distance)\n",
+      "e=1.6E-19; # in C (charge of electron)\n",
+      "E_o= 8.85E-12;# absolute premittivity\n",
+      "N=8; # Born constant\n",
+      "IE=5.14;# in eV (ionisation energy of sodium)\n",
+      "EA=3.65;# in eV (electron affinity of Chlorine)\n",
+      "pi=3.14; # value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r0=r0*1E-9; # since r is in nanometer\n",
+      "PE=(e**2/(4*pi*E_o*r0))*(1-1/N); # calculate potential energy\n",
+      "PE=PE/e; #changing unit from J to eV\n",
+      "NE=IE-EA;# calculation of Net energy\n",
+      "BE=PE-NE;# calculation of Bond Energy\n",
+      "\n",
+      "#result\n",
+      "print\"The potential energy is PE= \",round(PE,2),\"eV\";\n",
+      "print\"The net energy is NE= \",round(NE,2),\"eV\";\n",
+      "print\"The bond energy is BE= \",round(BE,2),\"eV\";\n",
+      "# Note: (1)-In order to make the answer prcatically feasible and avoid the unusual answer, I have used r_0=0.236 nm instead of 236 nm. because using this value will give very much irrelevant answer.\n",
+      "# Note: (2) There is slight variation in the answer due to round off."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The potential energy is PE=  5.34 eV\n",
+        "The net energy is NE=  1.49 eV\n",
+        "The bond energy is BE=  3.85 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.5 , Page no:16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r_0=.41; #in mm(lattice constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "E_o= 8.85E-12; #absolute premittivity\n",
+      "n=0.5; #repulsive exponent value\n",
+      "alpha=1.76; #Madelung constant\n",
+      "pi=3.14; # value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r=.41*1E-3; #since r is in mm\n",
+      "Beta=72*pi*E_o*r**4/(alpha*e**2*(n-1)); #calculation compressibility\n",
+      "\n",
+      "#result\n",
+      "print\"The compressibility  is\tBeta=\",round(Beta);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The compressibility  is\tBeta= -2.50967916144e+15\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.6 , Page no:16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r_0=3.56; #in Angstrom\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "IE=3.89; #in eV (ionisation energy of Cs)\n",
+      "EA=-3.61; #in eV (electron affinity of Cl)\n",
+      "n=10.5; #Born constant\n",
+      "E_o= 8.85E-12; #absolute premittivity\n",
+      "alpha=1.763; #Madelung constant\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r_0=r_0*1E-10; #since r is in nanometer\n",
+      "U=-alpha*(e**2/(4*pi*E_o*r_0))*(1-1/n); #calculate potential energy\n",
+      "U=U/e; #changing unit from J to eV\n",
+      "ACE=U+EA+IE; #calculation of atomic cohesive energy\n",
+      "\n",
+      "#result\n",
+      "print\"The ionic cohesive energy is \",round(U),\"eV\";\n",
+      "print\"The atomic cohesive energy is\",round(ACE),\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ionic cohesive energy is  -6.0 eV\n",
+        "The atomic cohesive energy is -6.0 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7 , Page no:17"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r_0=2.81; #in Angstrom\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "n=9; #Born constant\n",
+      "E_o= 8.85E-12; #absolute premittivity\n",
+      "alpha=1.748; #Madelung constant\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r_0=r_0*1E-10; #since r is in nanometer\n",
+      "V=-alpha*(e**2/(4*pi*E_o*r_0))*(1-1/n); #calculate potential energy\n",
+      "V=V/e; #changing unit from J to eV\n",
+      "V_1=V/2; #Since only half of the energy contribute per ion to the cohecive energy therfore\n",
+      "\n",
+      "#result\n",
+      "print\"The potential energy is V=\",round(V,2),\"eV\";\n",
+      "print\"The energy contributing per ions to the cohesive energy is \",round(V_1,2),\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The potential energy is V= -7.96 eV\n",
+        "The energy contributing per ions to the cohesive energy is  -3.98 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter10.ipynb b/Applied_Physics/Chapter10.ipynb
new file mode 100755
index 00000000..7b7470a8
--- /dev/null
+++ b/Applied_Physics/Chapter10.ipynb
@@ -0,0 +1,316 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:03ee5374207ea96e9a4f31e16f771d187a11f07daf287d94fc54e352b5db8bff"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10:Superconductivity"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.1 , Page no:313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Tc=7.2; #in K (critical temperature)\n",
+      "T=5; #in K (given temperature)\n",
+      "H0=6.5E3; #in A/m (critical magnetic field at 0K)\n",
+      "\n",
+      "#calculate\n",
+      "Hc=H0*(1-(T/Tc)**2); #calculation of magnitude of critical magnetic field\n",
+      "\n",
+      "#result\n",
+      "print\"The magnitude of critical magnetic field is Hc=\",round(Hc,2),\"A/m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnitude of critical magnetic field is Hc= 3365.35 A/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.2 , Page no:313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r=0.02; #in m (radius of ring)\n",
+      "Hc=2E3; #in A/m (critical magnetic field at 5K)\n",
+      "pi=3.14; #value of pi used in the solutiion\n",
+      "\n",
+      "#calculate\n",
+      "Ic=2*pi*r*Hc; #calculation of critical current value\n",
+      "\n",
+      "#result\n",
+      "print\"The critical current value is Ic=\",Ic,\"A\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The critical current value is Ic= 251.2 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.3 , Page no:313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "M1=199.5; #in amu (isotropic mass at 5K)\n",
+      "T1=5; #in K (first critical temperature)\n",
+      "T2=5.1; #in K (second critical temperature)\n",
+      "#calculate\n",
+      "#since Tc=C*(1/sqrt(M)\n",
+      "#therefore T1*sqrt(M1)=T2*sqrt(M2)\n",
+      "#therefore we have M2=(T1/T2)^2*M1\n",
+      "M2=(T1/T2)**2*M1; #calculation of isotropic mass at 5.1K\n",
+      "\n",
+      "#result\n",
+      "print\"The isotropic mass at 5.1K is M2=\",round(M2,3),\"a.m.u.\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The isotropic mass at 5.1K is M2= 191.753 a.m.u.\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.4 , Page no:314"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=6; #in K (given temperature)\n",
+      "Hc=5E3; #in A/m (critical magnetic field at 5K)\n",
+      "H0=2E4; #in A/m (critical magnetic field at 0K)\n",
+      "\n",
+      "#calculate\n",
+      "#since Hc=H0*(1-(T/Tc)^2)\n",
+      "#therefor we have Tc=T/sqrt(1-(Hc/H)^2)\n",
+      "Tc=T/math.sqrt(1-(Hc/H0)); #calculation of transition temperature\n",
+      "\n",
+      "#result\n",
+      "print\"The transition temperature is Tc=\",round(Tc,3),\"K\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The transition temperature is Tc= 6.928 K\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.5 , Page no:314"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=5; #in K (given temperature)\n",
+      "d=3; #in mm (diameter of the wire)\n",
+      "Tc=8; #in K (critical temperature for Pb)\n",
+      "H0=5E4; #in A/m (critical magnetic field at 0K)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "Hc=H0*(1-(T/Tc)**2); #calculation of critical magnetic field at 5K\n",
+      "r=(d*1E-3)/2; #calculation of radius in m\n",
+      "Ic=2*pi*r*Hc; #calculation of critical current at 5K\n",
+      "\n",
+      "#result\n",
+      "print\"The critical magnetic field at 5K is Hc=\",Hc,\"A/m\";\n",
+      "print\"The critical current at 5K is Ic=\",Ic,\"A\";\n",
+      "print \"   (roundoff error)\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The critical magnetic field at 5K is Hc= 30468.75 A/m\n",
+        "The critical current at 5K is Ic= 287.015625 A\n",
+        "   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.6 , Page no:314"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=8.50; #in micro V (voltage across Josephson junction )\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "h=6.626E-34; #in J/s (Planck\u2019s constant)\n",
+      "\n",
+      "#calculate\n",
+      "V=V*1E-6; #changing unit from V to microVolt\n",
+      "v1=2*e*V/h; #calculation of frequency of EM waves\n",
+      "\n",
+      "#result\n",
+      "print\"The frequency of EM waves is v=\",v1,\"Hz\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The frequency of EM waves is v= 4105040748.57 Hz\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.7 , Page no:315"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "M1=200.59; #in amu (average atomic mass  at 4.153K)\n",
+      "Tc1=4.153; #in K (first critical temperature)\n",
+      "M2=204; #in amu (average atomic mass of isotopes)\n",
+      "\n",
+      "#calculate\n",
+      "#since Tc=C*(1/sqrt(M)\n",
+      "#therefore T1*sqrt(M1)=T2*sqrt(M2)\n",
+      "#therefore we have Tc2=Tc1*sqrt(M1/M2)\n",
+      "Tc2=Tc1*math.sqrt(M1/M2); #calculation of transition temperature of the isotopes\n",
+      "\n",
+      "#result\n",
+      "print\"The transition temperature of the isotopes is  Tc2=\",round(Tc2,3),\"K\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The transition temperature of the isotopes is  Tc2= 4.118 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter12.ipynb b/Applied_Physics/Chapter12.ipynb
new file mode 100755
index 00000000..95067254
--- /dev/null
+++ b/Applied_Physics/Chapter12.ipynb
@@ -0,0 +1,365 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:13927a6aa5f4b8929243c9ca2c470f4da4ee5b45564e616337e68523dd18d625"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12:Fibre Optics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.1 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.563; #refractive index of core\n",
+      "u2=1.498; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "d=(u1-u2)/u1; #calculation of fractional index change\n",
+      "\n",
+      "#result\n",
+      "print\"The fractional index change for a given optical fibre is =\",round(d,4);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fractional index change for a given optical fibre is = 0.0416\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.2 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.55; #refractive index of core\n",
+      "u2=1.50; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "d=(u1-u2)/u1; #calculation of fractional index change\n",
+      "NA=u1*math.sqrt(2*d); #calculation of numerical aperture\n",
+      "theta=math.asin(NA); #calculation of acceptance angle\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,3);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.394\n",
+        "The acceptance angle of the optical fibre is = 23.2 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.3 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.563; #refractive index of core\n",
+      "u2=1.498; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "NA=math.sqrt(u1**2-u2**2); #calculation of numerical aperture\n",
+      "theta=math.asin(NA); #calculation of acceptance angle\n",
+      "theta1=theta*180/3.14;\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,4);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.4461\n",
+        "The acceptance angle of the optical fibre is = 26.5 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.4 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "NA=0.39; #numerical aperture of the optical fibre\n",
+      "d=0.05; #difference in the refractive index of the material of the core and cladding\n",
+      "\n",
+      "#calculate\n",
+      "#since NA=u1*sqrt(2*d)\n",
+      "#we have u1=NA/sqrt(2*d)\n",
+      "u1= NA/math.sqrt(2*d); #calculation of refractive index of  material of the core\n",
+      "\n",
+      "#result\n",
+      "print\"The refractive index of  material of the core is u1=\",round(u1,3);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refractive index of  material of the core is u1= 1.233\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.5 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.50; #refractive index of core\n",
+      "u2=1.45; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "d=(u1-u2)/u1; #calculation of fractional index change\n",
+      "NA=u1*math.sqrt(2*d); #calculation of numerical aperture\n",
+      "theta_0=math.asin(NA); #calculation of acceptance angle\n",
+      "theta_01=theta_0*180/3.14;\n",
+      "theta_c=math.asin(u2/u1); #calculation of critical angle\n",
+      "theta_c1=theta_c*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,3);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta_01,2),\"degree\";\n",
+      "print\"The critical angle of the optical fibre is =\",round(theta_c1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.387\n",
+        "The acceptance angle of the optical fibre is = 22.8 degree\n",
+        "The critical angle of the optical fibre is = 75.2 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.6 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "NA=0.33; #numerical aperture\n",
+      "d=0.02; #difference in the refractive index of the core and cladding of the material\n",
+      "\n",
+      "#calculate\n",
+      "#since NA=u1*sqrt(2*d)\n",
+      "#therefore we have\n",
+      "u1=NA/math.sqrt(2*d); #calculation of refractive index of the core\n",
+      "#since d=(u1-u2)/u2\n",
+      "#therefore we have\n",
+      "u2=(1-d)*u1; #calculation of refractive index of the cladding\n",
+      "\n",
+      "#result\n",
+      "print\"The refractive index of the core is u1=\",round(u1,2);\n",
+      "print\"The refractive index of the cladding is u2=\",round(u2,3);\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refractive index of the core is u1= 1.65\n",
+        "The refractive index of the cladding is u2= 1.617\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.7 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=3.5; #refractive index of core\n",
+      "u2=3.45; #refractive index of cladding\n",
+      "u0=1; #refractive index of the air\n",
+      "\n",
+      "#calculate\n",
+      "NA=math.sqrt(u1**2-u2**2); #calculation of numerical aperture\n",
+      "NA1=NA/u0;\n",
+      "alpha=math.asin(NA); #calculation of acceptance angle\n",
+      "alpha1=alpha*180/3.14;\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA1,2);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(alpha1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.59\n",
+        "The acceptance angle of the optical fibre is = 36.14 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.8 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.48; #refractive index of core\n",
+      "u2=1.45; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "NA=math.sqrt(u1**2-u2**2); #calculation of numerical aperture\n",
+      "theta=math.asin(NA); #calculation of acceptance angle\n",
+      "theta1=theta*180/3.14;\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,3);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta1,2),\"degree\";\n",
+      "print \"   (roundoff error)\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.296\n",
+        "The acceptance angle of the optical fibre is = 17.26 degree\n",
+        "   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter2.ipynb b/Applied_Physics/Chapter2.ipynb
new file mode 100755
index 00000000..2d0b7a14
--- /dev/null
+++ b/Applied_Physics/Chapter2.ipynb
@@ -0,0 +1,291 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:f14517ab3de72640bce8c38f7d46947caa54ae7067bb37477a81849b7b917982"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2:Crystal Structure"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.1 , Page no:40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "N=6.02*10**26; #in /Kg-molecule (Avogadro's number)\n",
+      "n=4; #number of molecules per unit cell ofr NaCl\n",
+      "M=58.5; #in Kg/Kg-molecule (molecular weight of NaCl)\n",
+      "p=2189; #in Kg/m^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow(((n*M)/(N*p)),0.3333333);\n",
+      "a1=a*10**10; #changing unit to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice constant is a=\",a,\"m\";\n",
+      "print\"\\t\\t\\ta=\",a1,\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice constant is a= 5.62072226997e-10 m\n",
+        "\t\t\ta= 5.62072226997 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.2 , Page no:41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02*10**23; #in /gram-atom (Avogadro's number)\n",
+      "n=4; #number of atom per unit cell for fcc structure\n",
+      "M=63.5; #in gram/gram-atom (atomic weight of Cu)\n",
+      "p=8.96; #in g/cm^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow((n*M/(N*p)),0.3333333);\n",
+      "a=a*1E8; #changing unit from cm to Angstrom\n",
+      "d=a/math.sqrt(2); #distance infcc lattice\n",
+      "\n",
+      "#result\n",
+      "print\"lattice constant is a=\",a,\"E-08 cm\";\n",
+      "print\"\\t\\t    a=\",round(a,4),\"Angstrom\";\n",
+      "print\"distance between two nearest Cu atoms is d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "lattice constant is a= 3.61113576149 E-08 cm\n",
+        "\t\t    a= 3.6111 Angstrom\n",
+        "distance between two nearest Cu atoms is d= 2.55 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3 , Page no:41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02E26; #in /Kg-atom (Avogadro's number)\n",
+      "n=2; #number of molecules per unit cell for bcc lattice\n",
+      "M=55.85; #in Kg/Kg-atom (atomic weight of Iron)\n",
+      "p=7860; #in Kg/m^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow((n*M/(N*p)),0.33333);\n",
+      "a1=a*1E10; #changing unit to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice constant is a=\",a,\"m\";\n",
+      "print\"\\t\\t\\ta=\",round(a1,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice constant is a= 2.86928355016e-10 m\n",
+        "\t\t\ta= 2.869 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.4 , Page no:42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02*10**26; #in /Kg-atom (Avogadro's number)\n",
+      "n=2; #number of molecules per unit cell for bcc lattice\n",
+      "M=6.94; #in Kg/Kg-atom (atomic weight of Iron)\n",
+      "p=530; #in Kg/m^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow((n*M/(N*p)),0.33333);\n",
+      "a1=a*1E10; #changing unit to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice constant is a=\",a,\"m\";\n",
+      "print\"\\t\\t\\ta=\",round(a1,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice constant is a= 3.51776567326e-10 m\n",
+        "\t\t\ta= 3.518 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.5 , Page no:42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02*10**23; #in /gram-molecule (Avogadro's number)\n",
+      "M=58.5; #in gram/gram-molecule (atomic weight of NaCl)\n",
+      "p=2.17; #in g/cm^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "#since V=M/p\n",
+      "#(1/d)^-3=2N/V=2Np/M\n",
+      "#therefore d= (M/2Np)^-3\n",
+      "d=pow((M/(2*N*p)),0.33333333);\n",
+      "d1=d*1*10**8; #changing unit from cm to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The distance between two adjacent atoms of NaCl is d=\",d,\"m\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t   d=\",round(d1,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The distance between two adjacent atoms of NaCl is d= 2.81853408124e-08 m\n",
+        "\t\t\t\t\t\t   d= 2.819 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6 , Page no:43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r_Na=0.98; #in Angstrom (radius of sodium ion)\n",
+      "r_Cl=1.81; #in Angstrom (radius of chloride ion)\n",
+      "M_Na=22.99; #in amu (atomic mass of sodium)\n",
+      "M_Cl=35.45; #in amu (atomic mass of chlorine)\n",
+      "\n",
+      "#calculate\n",
+      "a=2*(r_Na+r_Cl); #lattice parameter\n",
+      "#PF=volume of ions present in the unit cell/volume of unit cell\n",
+      "PF=((4*(4/3)*3.14)*r_Na**3+(4*(4/3)*3.14)*r_Cl**3)/a**3;\n",
+      "#Density=mass of unit cell/volume of unit cell\n",
+      "p=4*(M_Na+M_Cl)*1.66E-27/(a*1E-10)**3;\n",
+      "p1=p*1E-3; #changing unit to gm/cm^-3\n",
+      "\n",
+      "#result\n",
+      "print\"Lattice constant  is a=\",round(a,3),\"Angstrom\";\n",
+      "print\"Packing fraction is =\",round(PF,3); \n",
+      "print\"Density is p=\",round(p),\"Kg/m^3\";\n",
+      "print\"Density is p=\",round(p1,2),\"g/cm^3\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Lattice constant  is a= 5.58 Angstrom\n",
+        "Packing fraction is = 0.662\n",
+        "Density is p= 2233.0 Kg/m^3\n",
+        "Density is p= 2.23 g/cm^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter3.ipynb b/Applied_Physics/Chapter3.ipynb
new file mode 100755
index 00000000..763a53c2
--- /dev/null
+++ b/Applied_Physics/Chapter3.ipynb
@@ -0,0 +1,144 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1ec2372be7a9974010a31557c9658c85707025e7a87f82e6ef26be63dbcfb0e7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3:Planes in Crystals"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.11 , Page no:61"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=3;\n",
+      "k=2;\n",
+      "l=1; #miller indices\n",
+      "a=4.2E-8; #in cm (lattice constant)\n",
+      "\n",
+      "#calculate\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation for interplanar spacing\n",
+      "d=d*1E8; #changing unit from cm to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The interplanar spacing is d=\",round(d,2),\"cm\";\n",
+      "print\"\\t\\t\\t   d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The interplanar spacing is d= 1.12 cm\n",
+        "\t\t\t   d= 1.12 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.12 , Page no:61"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=1;l=1; #miller indices\n",
+      "a=2.5;b=2.5;c=1.8; #in Angstrom (lattice constants for tetragonal lattice )\n",
+      "\n",
+      "#calculate\n",
+      "d=1/math.sqrt((h/a)**2+(k/b)**2+(l/c)**2); #calculation for interplanar spacing\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice spacing is d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice spacing is d= 1.26 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15 , Page no:63"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=0;l=0; #miller indices\n",
+      "a=2.5; #in Angstrom (lattice constant)\n",
+      "\n",
+      "#calculate\n",
+      "a=a*1E-10; #hence a is in Angstrom\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation for interplanar spacing\n",
+      "p=d/a**3;\n",
+      "\n",
+      "#result\n",
+      "print\"The density is p=\",round(p),\"lattice points/m^2\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density is p= 1.6e+19 lattice points/m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter4.ipynb b/Applied_Physics/Chapter4.ipynb
new file mode 100755
index 00000000..6c9c83eb
--- /dev/null
+++ b/Applied_Physics/Chapter4.ipynb
@@ -0,0 +1,494 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:177e44357417b2cfb0b476ada5b36a934225ade51d50763b09586ba8679f08fc"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4:Crystal Diffraction"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.1 , Page no:75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=2.6; #in Angstrom (wavelength)\n",
+      "theta=20; #in Degree (angle)\n",
+      "n=2;\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=lambda1*1E-10; #since lambda is in Angstrom\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore d=n(lambda)/2sin(theta)\n",
+      "d=n*lambda1/(2*math.sin(math.radians(theta)));\n",
+      "\n",
+      "#result\n",
+      "print\"The spacing constant is d=\",d,\"m\";\n",
+      "print\"\\t\\t\\td=\",d*10**10,\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The spacing constant is d= 7.60189144042e-10 m\n",
+        "\t\t\td= 7.60189144042 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.2 , Page no:75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=1;l=0; #miller indices\n",
+      "a=0.26; #in nanometer (lattice constant)\n",
+      "lambda1=0.065; #in nanometer (wavelength)\n",
+      "n=2; #order\n",
+      "\n",
+      "#calculate\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation of interlattice spacing\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "theta=math.asin(n*lambda1/(2*d));\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The glancing angle is =\",round(theta1,2),\"degree\";\n",
+      "print \"Note: there is slight variation in the answer due to round off error\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The glancing angle is = 20.72 degree\n",
+        "Note: there is slight variation in the answer due to round off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.3 , Page no:75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "d=3.04E-10; #in mm (spacing constant)\n",
+      "lambda1=0.79; #in Angstrom (wavelength)\n",
+      "n=3; #order\n",
+      "\n",
+      "#calculate\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda2=lambda1*1E-10; #since lambda is in angstrom\n",
+      "theta=math.asin(n*lambda2/(2*d));\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The glancing angle is\",round(theta1,3),\"degree\";\n",
+      "print \"Note: In question the value of d=3.04E-9 cm but in solution is using d=3.04E-10 m. So I have used d=3.04E-10 cm as used in the solution\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The glancing angle is 22.954 degree\n",
+        "Note: In question the value of d=3.04E-9 cm but in solution is using d=3.04E-10 m. So I have used d=3.04E-10 cm as used in the solution\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.4 , Page no:76"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "d=0.282; #in nanometer (spacing constant)\n",
+      "n=1; #order\n",
+      "theta=8.35; #in degree (glancing angle)\n",
+      "\n",
+      "#calculate\n",
+      "d=d*1E-9; #since d is in nanometer\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda1=2*d*math.sin(math.radians(theta))/n; \n",
+      "lambda_1=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "theta_1=90; #in degree (for maximum order theta=90)\n",
+      "n_max=2*d*math.sin(math.radians(theta_1))/lambda1; #calculation of maximum order. \n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength  =\",lambda1,\"m\";\n",
+      "print\"\\t\\t=\" ,round(lambda_1,3),\"Angstrom\";\n",
+      "print\"The maximum order possible is n=\",round(n_max);\n",
+      "print \"Note: In question value of theta=8 degree and 35 minutes but solution uses theta=8.35 degree.So I am using theta=8.35 degree\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength  = 8.19038939236e-11 m\n",
+        "\t\t= 0.819 Angstrom\n",
+        "The maximum order possible is n= 7.0\n",
+        "Note: In question value of theta=8 degree and 35 minutes but solution uses theta=8.35 degree.So I am using theta=8.35 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.5 , Page no:76"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "theta=6; #in degree (glancing angle)\n",
+      "p=2170; #in Kg/m^3 (density)\n",
+      "M=58.46; #Molecular weight of NaCl\n",
+      "N=6.02E26; #in Kg-molecule (Avogadro's number)\n",
+      "n=1; #order\n",
+      "XU=1E-12; #since 1X.U.= 1E-12m\n",
+      "\n",
+      "#calculate\n",
+      "d=(M/(2*N*p))**(1/3); #calclation of lattice constant\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda1=2*d*math.sin(math.radians(theta))/n; #calculation of wavelength\n",
+      "lambda2=lambda1/XU;\n",
+      "\n",
+      "#result\n",
+      "print\"The spacing constant is d=\",d,\"m\";\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",lambda2,\"X.U\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The spacing constant is d= 2.81789104396e-10 m\n",
+        "The wavelength is = 5.89099640962e-11 m\n",
+        "\t\t  = 58.9099640962 X.U\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.6 , Page no:77"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=1;l=1; #miller indices\n",
+      "a=5.63; #in Angstrom  (lattice constant)\n",
+      "theta=27.5; #in degree (Glancing angle)\n",
+      "n=1; #order\n",
+      "H=6.625E-34; #in J-s (Plank's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "e=1.6E-19; #charge of electron\n",
+      "\n",
+      "#calculate\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation for interplanar spacing\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda1=2*d*math.sin(math.radians(theta))/n; #calculation for wavelength\n",
+      "E=H*c/(lambda1*1E-10); #calculation of Energy\n",
+      "E1=E/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice spacing is d=\",round(d,2),\"Angstrom\";\n",
+      "print\"The wavelength is =\",round(lambda1),\"Angstrom\";\n",
+      "print\"The energy of X-rays is E=\",E,\"J\";\n",
+      "print\"\\t\\t\\tE=\",E1,\"eV\";\n",
+      "print \"Note: c=3E8 m/s but in solution c=3E10 m/s \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice spacing is d= 3.25 Angstrom\n",
+        "The wavelength is = 3.0 Angstrom\n",
+        "The energy of X-rays is E= 6.62100284311e-16 J\n",
+        "\t\t\tE= 4138.12677695 eV\n",
+        "Note: c=3E8 m/s but in solution c=3E10 m/s \n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.7 , Page no:77"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=344; #in V (accelerating voltage)\n",
+      "theta=60; #in degree (glancing angle)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.625e-34; #in J-s (Plank's constant)\n",
+      "n=1; #order\n",
+      "e=1.6E-19; #charge on electron\n",
+      "\n",
+      "#calculate\n",
+      "#Since K=m*v^2/2=e*V\n",
+      "#therefore  v=sqrt(2*e*V/m)\n",
+      "#since lambda=h/(m*v)\n",
+      "#therefore we have lambda=h/sqrt(2*m*e*V)\n",
+      "lambda1=h/math.sqrt(2*m*e*V); #calculation of lambda\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "d=n*lambda2/(2*math.sin(math.radians(theta)));\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",round(lambda2,2),\"Angstrom\";\n",
+      "print\"The interplanar spacing  is  d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 6.61928340764e-11 m\n",
+        "\t\t  = 0.66 Angstrom\n",
+        "The interplanar spacing  is  d= 0.38 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.8 , Page no:78"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=0.02; #in eV (kinetic energy)\n",
+      "d=2.0; #in Angstrom (Bragg's spacing)\n",
+      "m=1.00898; #in amu (mass of neutron)\n",
+      "amu=1.66E-27; #in Kg (1amu=1.66E-27 Kg)\n",
+      "h=6.625e-34; #in J-s (Plank's constant)\n",
+      "n=1; #order\n",
+      "e=1.6E-19; #charge on electron\n",
+      "\n",
+      "#calculate\n",
+      "#Since K=m*v^2/2\n",
+      "#therefore  v=sqrt(2*K/m)\n",
+      "#since lambda=h/(m*v)\n",
+      "#therefore we have lambda=h/sqrt(2*m*K)\n",
+      "m=m*amu; #changing unit from amu to Kg\n",
+      "K=K*e; #changing unit to J from eV\n",
+      "lambda1=h/math.sqrt(2*m*K); #calculation of lambda\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "theta=math.asin(n*lambda2/(2*d)); #calculation of angle of first order diffraction maximum\n",
+      "theta1=theta*180/3.14;\n",
+      "#result\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t    \\t  =\",round(lambda2),\"Angstrom\";\n",
+      "print\"The angle of first order diffraction maximum is \",round(theta1),\"Degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 2.02348771817e-10 m\n",
+        "\t    \t  = 2.0 Angstrom\n",
+        "The angle of first order diffraction maximum is  30.0 Degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.9 , Page no:79"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "lambda1=0.586; #in Angstrom (wavelength of X-rays)\n",
+      "n1=1; n2=2; n3=3; #orders of diffraction\n",
+      "theta1=5+(58/60); #in degree (Glancing angle for first order of diffraction)\n",
+      "theta2=12+(01/60); #in degree (Glancing angle for second order of diffraction)\n",
+      "theta3=18+(12/60); #in degree (Glancing angle for third order of diffraction)\n",
+      "\n",
+      "#calculate\n",
+      "K1=math.sin(math.radians(theta1));\n",
+      "K2=math.sin(math.radians(theta2));\n",
+      "K3=math.sin(math.radians(theta3));\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "d1=n1*lambda1/(2*K1);\n",
+      "d2=n2*lambda1/(2*K2);\n",
+      "d3=n3*lambda1/(2*K3);\n",
+      "d1=d1*1E-10; #changing unit from Angstrom to m\n",
+      "d2=d2*1E-10; #changing unit from Angstrom to m\n",
+      "d3=d3*1E-10; #changing unit from Angstrom to m\n",
+      "d=(d1+d2+d3)/3;\n",
+      "\n",
+      "#result\n",
+      "print\"The value of sine of different angle of diffraction is \\nK1=\",K1;\n",
+      "print\"K2=\",K2;\n",
+      "print\"K3=\",K3;\n",
+      "#Taking the ratios of K1:K2:K3\n",
+      "#We get K1:K2:K3=1:2:3\n",
+      "#Therefore we have\n",
+      "print\"Or we have K1:K2:K3=1:2:3\";\n",
+      "print\"Hence these angles of incidence are for Ist, 2nd and 3rd order reflections respectively\";\n",
+      "print\"The spacing constants are \\nd1=\",d1;\n",
+      "print\"d2=\",d2;\n",
+      "print\"d3=\",d3;\n",
+      "print\"The mean value of crystal spacing is d=\",d,\"m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of sine of different angle of diffraction is \n",
+        "K1= 0.103949856225\n",
+        "K2= 0.208196213621\n",
+        "K3= 0.312334918512\n",
+        "Or we have K1:K2:K3=1:2:3\n",
+        "Hence these angles of incidence are for Ist, 2nd and 3rd order reflections respectively\n",
+        "The spacing constants are \n",
+        "d1= 2.81866671719e-10\n",
+        "d2= 2.81465253286e-10\n",
+        "d3= 2.81428667722e-10\n",
+        "The mean value of crystal spacing is d= 2.81586864243e-10 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter5.ipynb b/Applied_Physics/Chapter5.ipynb
new file mode 100755
index 00000000..cf16b683
--- /dev/null
+++ b/Applied_Physics/Chapter5.ipynb
@@ -0,0 +1,1258 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:17ded29a54411f524d1901cc530f956cb4706c517e993f5acba4014789eca0bd"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5:Principles of Quantum Mechanics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.1 , Page no:102"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=1; #in Angstrom (wavelength)\n",
+      "m=1.67E-27; #in Kg (mass of neutron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "lambda2=lambda1*1E-10; #since lambda is in Angstrom\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "v=h/(m*lambda2); #calculation of velocity\n",
+      "K=m*v**2/2; #calculation of kinetic energy\n",
+      "K1=K/e; #changing unit fro J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity is v=\",v,\"m/s\";\n",
+      "print\"The kinetic energy is K=\",K,\"J\";\n",
+      "print\"\\t\\t       =\",K1,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity is v= 3967.06586826 m/s\n",
+        "The kinetic energy is K= 1.31409056886e-20 J\n",
+        "\t\t       = 0.0821306605539 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.2 , Page no:103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=50; #in eV (Kinetic energy)\n",
+      "m0=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "K=K*e; #changing unit from eV to J\n",
+      "#Since K=m*v^2/2\n",
+      "#Therefore v=sqrt(2*K/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "lambda1=h/math.sqrt(2*m0*K); #calculation of wavelength\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",round(lambda2,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 1.73622176082e-10 m\n",
+        "\t\t  = 1.736 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.3 , Page no:104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E=2000; #in eV (Kinetic energy)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "#Since E=m*v^2/2\n",
+      "#Therefore v=sqrt(2*E/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "lambda1=h/math.sqrt(2*m*E); #calculation of wavelength\n",
+      "lambda2=lambda1*1E9; #changing unit from m to nanometer\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",round(lambda2,4),\"nm\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 2.74520764367e-11 m\n",
+        "\t\t  = 0.0275 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.4 , Page no:104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_n=1.676E-27; #in Kg (mass of neutron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "\n",
+      "#calculate\n",
+      "E_e=m_e*c**2; #rest mass energy of electron\n",
+      "E_n=2*E_e; #given (kinetic energy of neutron)\n",
+      "#Since K=m*v^2/2\n",
+      "#Therefore v=sqrt(2*K/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "lambda1=h/math.sqrt(2*m_n*E_n); #calculation of wavelength\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",lambda2,\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 2.82733278331e-14 m\n",
+        "\t\t  = 0.000282733278331 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.5 , Page no:104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=1600; #in V (Potential)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";\n",
+      "print \"Note : The answer in the book is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 0.307 Angstrom\n",
+        "Note : The answer in the book is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.6 , Page no:105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E=1000; #in eV (Kinetic energy of photon)\n",
+      "K=1000; #in eV (Kinetic energy of electron)\n",
+      "m0=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.6E-34; #in J-s (Planck's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "e=1.6E-19; #in C (charge on electron)\n",
+      "\n",
+      "#calculate\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "lambda_p=h*c/E; #For photon E=hc/lambda\n",
+      "lambda_p1=lambda_p*1E10; #changing unit from m to Angstrom\n",
+      "#Since K=m*v^2/2\n",
+      "#Therefore v=sqrt(2*K/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "K=K*e; #changing unit from eV to J\n",
+      "lambda_e=h/math.sqrt(2*m0*K); #calculation of wavelength\n",
+      "lambda_e1=lambda_e*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"For photon,the wavelength is =\",lambda_p,\"m\";\n",
+      "print\"\\t\\t\\t     =\",round(lambda_p1,1),\"Angstrom\";\n",
+      "print\"For electron,the wavelength is =\",lambda_e,\"m\";\n",
+      "print\"\\t\\t\\t       =\",round(lambda_e1,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For photon,the wavelength is = 1.2375e-09 m\n",
+        "\t\t\t     = 12.4 Angstrom\n",
+        "For electron,the wavelength is = 3.86765965524e-11 m\n",
+        "\t\t\t       = 0.39 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.7 , Page no:105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=1.66*10**-10; #in m (wavelength)\n",
+      "m=9.1*10**-31; #in Kg (mass of electron)\n",
+      "h=6.626*10**-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge on electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "v=h/(m*lambda1); #calculation of velocity\n",
+      "K=m*v**2/2; #calculation of kinetic energy\n",
+      "K1=K/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity of electron is v=\",v,\"m/s\";\n",
+      "print\"The kinetic energy is K=\",K,\"J\";\n",
+      "print\"\\t\\t       =\",round(K1,3),\"eV\";\n",
+      "print \"Note: The answer in the book for kinetic energy is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity of electron is v= 4386336.55501 m/s\n",
+        "The kinetic energy is K= 8.75417651009e-18 J\n",
+        "\t\t       = 54.714 eV\n",
+        "Note: The answer in the book for kinetic energy is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.8 , Page no:106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=400; #in K (temperature)\n",
+      "m=6.7E-27; #in Kg (mass of He-atom)\n",
+      "h=6.6E-34; #in J-s (Planck's constant)\n",
+      "k=1.376E-23; #in J/degree (Boltzmann constant)\n",
+      "\n",
+      "#calculate\n",
+      "#Since lambda=h/(m*v)\n",
+      "#E=mv^2/2;\n",
+      "#Therefore lambda=h/sqrt(2*m*E)\n",
+      "#E=kT\n",
+      "#Therefore lambda=h/sqrt(2*m*k*T)\n",
+      "lambda1=h/math.sqrt(2*m*k*T)\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The de-Broglie wavelength of He-atom is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t\\t\\t        =\",round(lambda2,4),\"Angstrom\";    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The de-Broglie wavelength of He-atom is = 7.6851495611e-11 m\n",
+        "\t\t\t\t        = 0.7685 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.9 , Page no:106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_p=1.6E-27; #in Kg (mass of proton)\n",
+      "h=6.626E-34; #in J-s (Planck's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "\n",
+      "#calculate\n",
+      "E=m_e*c**2; #in J (rest energy of electron)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#E=mv^2/2;\n",
+      "#herefore lambda=h/sqrt(2*m*E)\n",
+      "#Also E=m_e*c^2;\n",
+      "#therefore lambda=h/sqrt(2*m_p*m_e*c^2)\n",
+      "lambda1=h/math.sqrt(2*m_p*m_e*c**2); #calculation of wavelength\n",
+      "lambda2=lambda1*1*10**10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The de-Broglie wavelength of proton is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t\\t\\t       =\",lambda2,\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The de-Broglie wavelength of proton is = 4.0929316435e-14 m\n",
+        "\t\t\t\t       = 0.00040929316435 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.10 , Page no:106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=10000; #in V (Potential)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 0.123 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.11 , Page no:107"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=100; #in V (Potential)\n",
+      "n=1; #order of diffraction\n",
+      "d=2.15; #in Angstrom (lattice spacing)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "#Since 2*d*sind(theta)=n*lambda\n",
+      "#therefore we have\n",
+      "theta=math.asin(n*lambda1/(2*d)); #calculation of glancing angle\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";\n",
+      "print\"The glancing angle is =\",round(theta1,1),\"degree\";\n",
+      "print \"Note: In question V=100 eV but the solution is using V=100V \"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 1.227 Angstrom\n",
+        "The glancing angle is = 16.6 degree\n",
+        "Note: In question V=100 eV but the solution is using V=100V \n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.12 , Page no:107"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=344; #in V (Potential)\n",
+      "n=1; #order of diffraction\n",
+      "theta=60; #in degree (glancing angle)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "#Since 2*d*sind(theta)=n*lambda\n",
+      "#therefore we have\n",
+      "d=n*lambda1/(2*math.sin(math.radians(theta))); #calculation of spacing constant\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";\n",
+      "print\"The spacing of the crystal is =\",round(d,4),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 0.662 Angstrom\n",
+        "The spacing of the crystal is = 0.3819 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.13 , Page no:107"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r=0.53*10**-10; #in m (radius of first Bohr orbit)\n",
+      "h=6.6*10**-34; #in J-s (Planck's constant)\n",
+      "m=9.1*10**-31; #in Kg (mass of electron)\n",
+      "n=1; #First Bohr orbit\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "#Since 2*pi*r=n*lambda  and  lambda=h/(m*v)\n",
+      "#Threfore we have v=h*n/(2*pi*r*m)\n",
+      "v=h*n/(2*pi*r*m); #calculation of velocity\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity of electron is =\",v,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity of electron is = 2179049.16859 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.14 , Page no:108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dx=0.2; #in Angstrom (uncertainty in the position)\n",
+      "h=6.6E-34; #in J-s (Planck's constant)\n",
+      "m0=9.1E-31; #in Kg (mass of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "dx=dx*1E-10; #since dx is in Angstrom\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dp=h/(4*pi*dx); #calculation of uncertainty in the momentum\n",
+      "#since dp=m*dv\n",
+      "dv=dp/m0; #calculation of uncertainty in the velocity\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the momentum is dp=\",dp,\"Kg-m/\";\n",
+      "print\"The uncertainty in the velocity is dv=\",dv,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the momentum is dp= 2.62738853503e-24 Kg-m/\n",
+        "The uncertainty in the velocity is dv= 2887240.14839 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.15 , Page no:108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_p=1.67E-27; #in Kg (mass of proton)\n",
+      "dx_p=1; #in nanometer (uncertainty in position of electron)\n",
+      "dx_n=1; #in nanometer (uncertainty in position of proton)\n",
+      "\n",
+      "#calculate\n",
+      "#since dp=h/(4*pi*dx)\n",
+      "#since h/(4*pi) is constant and dx is same for electron and proton \n",
+      "#therefor both electron and proton have same uncertainty in the momentum\n",
+      "#since dv=dp/m  and  dp is same for both\n",
+      "#therefore dv_e/dv_p=m_p/m_e\n",
+      "#therefore\n",
+      "K=m_p/m_e; #ratio of uncertainty in the velocity of electron and proton\n",
+      "\n",
+      "#result\n",
+      "print\"The ratio of uncertainty in the velocity of electron to that of proton is =\",round(K);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of uncertainty in the velocity of electron to that of proton is = 1835.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.16 , Page no:108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dx=5*10**-15; #in m (radius of nucleus or uncertainty in the position)\n",
+      "h=6.6*10**-34; #in J-s (Planck's constant)\n",
+      "m=1.67E-27; #in Kg (mass of proton)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dp=h/(4*pi*dx); #calculation of uncertainty in the momentum\n",
+      "p=dp; #minimum value of momentum to calculate mimimum kinetic energy\n",
+      "K=(p**2)/(2*m); #calculation of minimum kinetic energy of proton\n",
+      "K1=K/e; #changing unit from J to eV\n",
+      "K2=K1/1E6; #changing unit from eV to MeV\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum uncertainty in the momentum of proton is dp =\",dp,\"Kg-m/s\";\n",
+      "print\"The minimum kinetic energy of proton is K=\",K,\"J\";\n",
+      "print\"\\t\\t\\t\\t \\t =\",K1,\"eV\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",K2,\"MeV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum uncertainty in the momentum of proton is dp = 1.05095541401e-20 Kg-m/s\n",
+        "The minimum kinetic energy of proton is K= 3.30690803067e-14 J\n",
+        "\t\t\t\t \t = 206681.751917 eV\n",
+        "\t\t\t\t\t = 0.206681751917 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.17 , Page no:109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=1; #in KeV (kinetic energy of electron)\n",
+      "dx=1; #in Angstrom (uncertainty in the position)\n",
+      "h=6.63E-34; #in J-s (Planck's constant)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "dx=dx*1E-10; #since dx is in Angstrom\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dp=h/(4*pi*dx); #calculation of uncertainty in the momentum\n",
+      "K=K*1E3*1.6E-19; #changing unit from KeV to J\n",
+      "p=math.sqrt(2*m*K); #calculation of momentum \n",
+      "poc=(dp/p)*100; #calculation of percentage of uncertainty\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the momentum of electron is dp=\",dp,\"Kg-m/s\";\n",
+      "print\"The momentum of electron is p=\",p,\"Kg-m/s\";\n",
+      "print\"The percentage of uncertainty in the momentum  is =\",round(poc,1);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the momentum of electron is dp= 5.27866242038e-25 Kg-m/s\n",
+        "The momentum of electron is p= 1.70645832062e-23 Kg-m/s\n",
+        "The percentage of uncertainty in the momentum  is = 3.1\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.18 , Page no:109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "v=6.6E4; #m/s (speed of electron)\n",
+      "poc=0.01; #percentage of uncertainty\n",
+      "h=6.63E-34; #in J-s (Planck's constant)\n",
+      "m=9E-31; #in Kg (mass of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "p=m*v; #calculation of momentum\n",
+      "dp=(poc/100)*p; #calculation of uncertainty in the momentum\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dx=h/(4*pi*dp); #calculation of uncertainty in the position\n",
+      "\n",
+      "#result\n",
+      "print\"The momentum of electron is p=\",p,\"Kg-m/s\";\n",
+      "print\"The uncertainty in the momentum of electron is dp=\",dp,\"Kg-m/s\";\n",
+      "print\"The uncertainty in the position of electron is dx=\",dx,\"Kg-m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The momentum of electron is p= 5.94e-26 Kg-m/s\n",
+        "The uncertainty in the momentum of electron is dp= 5.94e-30 Kg-m/s\n",
+        "The uncertainty in the position of electron is dx= 8.88663707135e-06 Kg-m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.19 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=1; #in Angstrom (wavelength)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "dlambda=1E-6; #uncertainty in wavelength\n",
+      "\n",
+      "#calculate\n",
+      "lambda2=lambda1*1E-10; #sinc lambda is in Angstrom\n",
+      "#By uncertainty principle, dx*dp>=h/(4*pi)  --(1)\n",
+      "#since p=h/lambda  -----(2)\n",
+      "#Or p*lambda=h \n",
+      "#diffrentiting this equation\n",
+      "#p*dlambda+lambda*dp=0\n",
+      "#dp=-p*dlambda/lambda     ----(3)\n",
+      "#from (2) and (3)  dp=-h*dlambda/lambda^2   ---(4)\n",
+      "#from (1) and(4)  dx*dlambda>=lambda^2/4*pi\n",
+      "#Or dx=lambda^2/(4*pi*dlambda)\n",
+      "dx=lambda2**2/(4*pi*dlambda); #calculation of uncertainty in the position\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the position of X-ray photon is dx=\",dx,\"m\";\n",
+      "print \"Note: wavelength accuracy is given as 1 in 1E8 but in book solution has used 1 in 1E6 \"\n",
+      "print \" ANSWEER IS WRONG IN THE TEXTBOOK\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the position of X-ray photon is dx= 7.96178343949e-16 m\n",
+        "Note: wavelength accuracy is given as 1 in 1E8 but in book solution has used 1 in 1E6 \n",
+        " ANSWEER IS WRONG IN THE TEXTBOOK\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.20 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dt=1*10**-8; #in sec (average life time)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "#Since dE*dt>=h/(4*pi)  (uncertainty relation for energy)\n",
+      "#and E=h*v      v is the frequency\n",
+      "#therefore we have dv>=1/(4*pi*dt)\n",
+      "dv=1/(4*pi*dt); #calculation of minimum uncertainty in the frequency\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum uncertainty in the frequency of the photon is dv=\",dv,\"sec^-1\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum uncertainty in the frequency of the photon is dv= 7961783.43949 sec^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.21 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dt=1E-12; #in sec (average life time)\n",
+      "h=6.63E-34; #in J-s (Planck'c constant)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since dE*dt>=h/(4*pi)  (uncertainty relation for energy)\n",
+      "dE=h/(4*pi*dt); #calculation of minimum uncertainty in the energy\n",
+      "dE1=dE/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the energy of the photon is dE=\",dE,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t         =\",dE1,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the energy of the photon is dE= 5.27866242038e-23 J\n",
+        "\t\t\t\t\t         = 0.000329916401274 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.22 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dT=2.5E-14; #in sec (average life time)\n",
+      "h=6.63E-34; #in J-s (Planck'c constant)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since dE*dt>=h/(4*pi)  (uncertainty relation for energy)\n",
+      "dE=h/(4*pi*dT); #calculation of minimum uncertainty in the energy\n",
+      "dE1=dE/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the energy of the photon is dE=\",dE,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t         =\",dE1,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the energy of the photon is dE= 2.11146496815e-21 J\n",
+        "\t\t\t\t\t         = 0.013196656051 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.23 , Page no:112"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "a=2; #in Angstrom (length of the box)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "n2=2; n4=4; #two quantum states\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "a=a*1E-10; #since a is in Angstrom \n",
+      "#Since  E_n=n^2*h^2/(8*m*a^2)   (Energy corresponding to nth quantum state)\n",
+      "E2=n2**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 2nd quantum state\n",
+      "E21=E2/e; #changing unit from J to eV\n",
+      "E4=n4**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 4nd quantum state\n",
+      "E41=E4/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The energy corresponding to the 2nd quantum state is E2=\",E2,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t       =\",E21,\"eV\";\n",
+      "print\"The energy corresponding to the 4nd quantum state is E4=\",E4,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t       =\",E41,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy corresponding to the 2nd quantum state is E2= 6.0307521978e-18 J\n",
+        "\t\t\t\t\t\t       = 37.6922012363 eV\n",
+        "The energy corresponding to the 4nd quantum state is E4= 2.41230087912e-17 J\n",
+        "\t\t\t\t\t\t       = 150.768804945 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.24 , Page no:113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "a=1E-10; #in m (width of the well)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "n1=1; n2=2; n3=3; #ground and first two excited states\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since  E_n=n^2*h^2/(8*m*a^2)   (Energy corresponding to nth quantum state)\n",
+      "E1=n1**2*h**2/(8*m*a**2); #calculation of energy corresponding to the Ground state\n",
+      "E11=E1/e; #changing unit from J to eV\n",
+      "E2=n2**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 1st excited state\n",
+      "E21=E2/e; #changing unit from J to eV\n",
+      "E3=n3**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 2nd excited state\n",
+      "E31=E3/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The energy corresponding to the ground state is E1=\",E1,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",E11,\"eV\";\n",
+      "print\"The energy corresponding to the 1st excited state is E2=\",E2,\"\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",E21,\"eV\";\n",
+      "print\"The energy corresponding to the 2nd excited state is E3=\",E3,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",E31,\"eV\";\n",
+      "print \" There is slight variation in the answer due to round off error\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy corresponding to the ground state is E1= 6.0307521978e-18 J\n",
+        "\t\t\t\t\t = 37.6922012363 eV\n",
+        "The energy corresponding to the 1st excited state is E2= 2.41230087912e-17 \n",
+        "\t\t\t\t\t = 150.768804945 eV\n",
+        "The energy corresponding to the 2nd excited state is E3= 5.42767697802e-17 J\n",
+        "\t\t\t\t\t = 339.229811126 eV\n",
+        " There is slight variation in the answer due to round off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.25 , Page no:113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dx=1E-8; #in m (length of box or uncertainty in the position)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#From uncertainty principle dx*dp=h and dp=m*dv\n",
+      "#therefore we have\n",
+      "dv=h/(m*dx); #calculation of minimum uncertainty in the velocity\n",
+      "dv1=dv*1E-3; #changing unit from m/s to Km/s\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum uncertainty in the velocity of electron i dv=\",dv,\"m/s\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t        =\",round(dv1,2),\"Km/s\";\n",
+      "print \"Note: There is slight variation in the answer due to round off error\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum uncertainty in the velocity of electron i dv= 72813.1868132 m/s\n",
+        "\t\t\t\t\t\t        = 72.81 Km/s\n",
+        "Note: There is slight variation in the answer due to round off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.26 , Page no:113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "a=4E-10; #in m (length of the box)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "n1=1; #ground state\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since  E_n=n^2*h^2/(8*m*a^2)   (Energy corresponding to nth quantum state)\n",
+      "E1=n1**2*h**2/(8*m*a**2); #calculation of energy corresponding to the ground state\n",
+      "E11=E1/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum energy of electron is E1=\",E1,\"J (Note: The answer in the book  is wrong due to printing error)\";\n",
+      "print\"\\t\\t\\t\\t    =\",round(E11,3),\"eV\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum energy of electron is E1= 3.76922012363e-19 J (Note: The answer in the book  is wrong due to printing error)\n",
+        "\t\t\t\t    = 2.356 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter6.ipynb b/Applied_Physics/Chapter6.ipynb
new file mode 100755
index 00000000..ff063bb6
--- /dev/null
+++ b/Applied_Physics/Chapter6.ipynb
@@ -0,0 +1,561 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:0c3d2d354976eaba7e5a0f2e0cf4b1fd72cd55b3826ca7e7cd6acde8afff2cdf"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6:Electron Theory and Band Theory of Metals"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.1 , Page no:146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=8.5E28; #in 1/m^3 (density of electron)\n",
+      "m_e=9.11E-31; #in Kg (mass of electron)\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "T=300; #in K (temperature)\n",
+      "p=1.69E-8; #in ohm-m (resistivity)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=math.sqrt(3*k*m_e*T)/(n*e**2*p); #calculation of mean free path\n",
+      "lambda2=lambda1*1E9; #changing unit from m to nanometer\n",
+      "\n",
+      "#result\n",
+      "print\"The mean free path of electron is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t\\t\\t  =\",round(lambda2,2),\"nm\";\n",
+      "#Note: answer in the book is wrong due to printing mistake"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mean free path of electron is = 2.89250681437e-09 m\n",
+        "\t\t\t\t  = 2.89 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.2 , Page no:146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "P_E=1; #in percentage (probability that a state with an energy 0.5 eV above Fermi energy will be occupied)\n",
+      "E=0.5; #in eV (energy above Fermi level)\n",
+      "\n",
+      "#calculate\n",
+      "P_E=1/100; #changing percentage into ratio\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "#P_E=1/(1+exp((E-E_F)/k*T))\n",
+      "#Rearranging this equation, we get\n",
+      "#T=(E-E_F)/k*log((1/P_E)-1)\n",
+      "#Since E-E_F has been denoted by E  therefore\n",
+      "T=E/(k*math.log((1/P_E)-1));\n",
+      "\n",
+      "#result\n",
+      "print\"The temperature is T=\",round(T),\"K\";\n",
+      "# Note: There is slight variation in the answer due to logarithm function"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The temperature is T= 1262.0 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.3 , Page no:147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=5.8E28; #in 1/m^3 (density of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "p=1.54E-8; #in ohm-m (resistivity)\n",
+      "\n",
+      "#calculate\n",
+      "t=m/(n*e**2*p); #calculation of relaxation time\n",
+      "\n",
+      "#result\n",
+      "print\"The relaxation time of conduction electrons is =\",t,\"sec\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relaxation time of conduction electrons is = 3.97972178683e-14 sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.4 , Page no:147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=8.5E28; #in 1/m^3 (density of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "sigma=6E7; #in 1/ohm-m (conductivity)\n",
+      "E_F=7; #in E=eV (Fermi energy of Copper)\n",
+      "\n",
+      "#calculate\n",
+      "E_F=E_F*e; #changing unit from eV to J\n",
+      "v_F=math.sqrt(2*E_F/m); #calculation of velocity of electrons\n",
+      "#Since sigma=n*e^2*lambda/(2*m*v_F)\n",
+      "#Therefore we have\n",
+      "lambda1=2*m*v_F*sigma/(n*e**2); #calculation of mean free path\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity of the electrons is v_F=\",v_F,\"m/s   (roundoff error)\";\n",
+      "print\"The mean free path traveled by the electrons is=\",round(lambda2),\"Angstrom\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity of the electrons is v_F= 1568929.08111 m/s   (roundoff error)\n",
+        "The mean free path traveled by the electrons is= 787.0 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.5 , Page no:147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=6.5E28; #in 1/m^3 (density of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "p=1.43E-8; #in ohm-m (resistivity)\n",
+      "\n",
+      "#calculate\n",
+      "t=m/(n*e**2*p); #calculation of relaxation time\n",
+      "\n",
+      "#result\n",
+      "print\"The relaxation time of conduction electrons is =\",t,\"sec\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relaxation time of conduction electrons is = 3.8243006993e-14 sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.6 , Page no:148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=30; #in Celcius (temperature)\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "m_p=1.67E-27; #in Kg (mass of proton)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "T=T+273; #changing temperature from Celcius to Kelvin\n",
+      "KE=(3/2)*k*T; #calculation of average kinetic energy\n",
+      "KE1=KE/e; #changing unit from J to eV\n",
+      "m=1.008*2*m_p; #calculating mass of hydrogen gas molecule\n",
+      "c=math.sqrt(3*k*T/m); #calculation of velocity\n",
+      "\n",
+      "#result\n",
+      "print\"The average kinetic energy of gas ,molecules is KE=\",KE,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t  =\",KE1,\"eV   (Answer is wrong in textbook)\";\n",
+      "print\"The velocity of molecules is c=\",round(c,2),\"m/s\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The average kinetic energy of gas ,molecules is KE= 6.2721e-21 J\n",
+        "\t\t\t\t\t\t  = 0.039200625 eV   (Answer is wrong in textbook)\n",
+        "The velocity of molecules is c= 1930.27 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.7 , Page no:148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E=10; #in eV (kinetic energy for each electron and proton)\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_p=1.67E-27; #in Kg (mass of proton)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "#since E=m*v^2/2\n",
+      "#therefore  v=sqrt(2E/m)\n",
+      "v_e=math.sqrt(2*E/m_e); #calculation of kinetic energy of electron\n",
+      "v_p=math.sqrt(2*E/m_p); #calculation of kinetic energy of proton\n",
+      "\n",
+      "#result\n",
+      "print\"The kinetic energy of electron is v_e=\",v_e,\"m/s\";\n",
+      "print\"The kinetic energy of proton is v_p=\",v_p,\"m/s\";\n",
+      "print \"Note: Answer is wrong in textbook\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The kinetic energy of electron is v_e= 1875228.92375 m/s\n",
+        "The kinetic energy of proton is v_p= 43774.0524132 m/s\n",
+        "Note: Answer is wrong in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.8 , Page no:149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "I=100; #in A (current in the wire)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "A=10; #in mm^2 (cross-sectional area)\n",
+      "n=8.5E28; #in 1/m^3 (density of electron)\n",
+      "\n",
+      "#calculate\n",
+      "A=A*1E-6; #changing unit from mm^2 to m^2\n",
+      "v_d=I/(n*A*e);\n",
+      "\n",
+      "#result\n",
+      "print\"The drift velocity of free electrons is v_d=\",v_d,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The drift velocity of free electrons is v_d= 0.000735294117647 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.9 , Page no:149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "I=4;#in A (current in the conductor)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "A=1E-6; #in m^2 (cross-sectional area)\n",
+      "N_A=6.02E23; #in atoms/gram-atom (Avogadro's number)\n",
+      "p=8.9; #in g/cm^3 (density)\n",
+      "M=63.6; #atomic mass of copper\n",
+      "\n",
+      "#calculate\n",
+      "n=N_A*p/M; #Calculation of density of electrons in g/cm^3\n",
+      "n1=n*1E6; #changing unit from g/cm^3 to g/m^3\n",
+      "v_d=I/(n1*A*e);\n",
+      "\n",
+      "#result\n",
+      "print\"The density of copper atoms is n=\",n,\"atoms/m^3\";\n",
+      "print\"\\t\\t\\t        =\",n1,\"atoms/m^3\";\n",
+      "print\"The average drift velocity of free electrons is v_d=\",v_d,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of copper atoms is n= 8.42421383648e+22 atoms/m^3\n",
+        "\t\t\t        = 8.42421383648e+28 atoms/m^3\n",
+        "The average drift velocity of free electrons is v_d= 0.000296763596999 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.10 , Page no:149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=9E28; #in 1/m^3 (density of valence electrons)\n",
+      "sigma=6E7; #in mho/m (conductivity of copper)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since sigma=n*e*mu  therefore\n",
+      "mu=sigma/(n*e); #calculation of mobility of electron\n",
+      "\n",
+      "#result\n",
+      "print\"The mobility of electrons is =\",mu,\"m^2/V-s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mobility of electrons is = 0.00416666666667 m^2/V-s\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.11 , Page no:150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E_F=5.51; #in eV (Fermi energy in Silver)\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#part-(a)\n",
+      "Eo=(3/5)*E_F; #calculation of average energy of free electron at 0K\n",
+      "#part-(b)\n",
+      "Eo1=Eo*e; #changing unit from eV to J\n",
+      "#Since for a classical particle E=(3/2)*k*T\n",
+      "#therefroe we have\n",
+      "T=(2/3)*Eo1/k; #calculation of temperature for a classical particle (an ideal gas)\n",
+      "\n",
+      "#result\n",
+      "print\"The average energy of free electron at 0K is Eo=\",Eo,\"eV\";\n",
+      "print\"The temperature at which a classical particle have this much energy is T=\",T,\"K\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The average energy of free electron at 0K is Eo= 3.306 eV\n",
+        "The temperature at which a classical particle have this much energy is T= 25553.6231884 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.12 , Page no:150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E_F_L=4.7; #in eV (Fermi energy in Lithium)\n",
+      "E_F_M=2.35; #in eV (Fermi energy in a metal)\n",
+      "n_L=4.6E28; #in 1/m^3 (density of electron in Lithium)\n",
+      "\n",
+      "#calculate\n",
+      "#Since n=((2*m/h)^3/2)*E_F^(3/2)*(8*pi/3) and all things except E_F are constant\n",
+      "# Therefore we have n=C*E_F^(3/2)   where C is proportionality constant\n",
+      "#n1/n2=(E_F_1/E_F_2)^(3/2)\n",
+      "#Therefore we have\n",
+      "n_M=n_L*(E_F_M/E_F_L); #calculation of electron density for a metal\n",
+      "\n",
+      "#result\n",
+      "print\"The lectron density for a metal is =\",n_M,\"1/m^3\";\n",
+      "print \"Note: Answer in the book is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lectron density for a metal is = 2.3e+28 1/m^3\n",
+        "Note: Answer in the book is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter7.ipynb b/Applied_Physics/Chapter7.ipynb
new file mode 100755
index 00000000..7280033d
--- /dev/null
+++ b/Applied_Physics/Chapter7.ipynb
@@ -0,0 +1,488 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:5117f9d565431f3f25738652845b14f8a6fa036b5c0992b0b2e5d69631937306"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7:Dielectric Properties"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.1 , Page no:187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "A=100; #in cm^2 (cross-sectional area)\n",
+      "d=1; #in cm (seperation between plates)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "V=100; #in V (potential difference)\n",
+      "\n",
+      "#calculate\n",
+      "A1=A*1E-4; #changing unit from cm^2 to m^2\n",
+      "d1=d*1E-2; #changing unit from cm to m\n",
+      "C=Eo*A1/d1; #calculation of capacitance\n",
+      "Q=C*V; #calculation of charge\n",
+      "C1=C*1E12; #changing unit of capacitance from F to pF\n",
+      "\n",
+      "#result\n",
+      "print\"The capacitance of capacitor is C=\",C,\"C\";\n",
+      "print\"\\t\\t\\t\\t =\",C1,\"C\";\n",
+      "print\"The charge on the plates is Q=\",Q,\"C\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The capacitance of capacitor is C= 8.85e-12 C\n",
+        "\t\t\t\t = 8.85 C\n",
+        "The charge on the plates is Q= 8.85e-10 C\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.2 , Page no:187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "A=650; #in mm^2 (cross-sectional area)\n",
+      "d=4; #in mm (seperation between plates)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "Er=3.5; #di-electric constant of the material\n",
+      "Q=2E-10; #in C (charge on plates)\n",
+      "\n",
+      "#calculate\n",
+      "A1=A*1E-6; #changing unit from mm^2 to m^2\n",
+      "d1=d*1E-3; #changing unit from mm to m\n",
+      "C=Er*Eo*A1/d1; #calculation of capacitance\n",
+      "V=Q/C; #calculation of charge\n",
+      "C1=C*1E12; #changing unit of capacitance from F to pF\n",
+      "\n",
+      "#result\n",
+      "print\"The capacitance of capacitor is C=\",C,\"C\",\n",
+      "print\"\\n\\t\\t\\t         =\",C1,\"pF\";\n",
+      "print\"The resultant voltage across the capacitor is V=\",round(V,3),\"V\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The capacitance of capacitor is C= 5.0334375e-12 C \n",
+        "\t\t\t         = 5.0334375 pF\n",
+        "The resultant voltage across the capacitor is V= 39.734 V\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.3 , Page no:188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=2.7E25; #in 1/m^3 (density of atoms)\n",
+      "E=1E6; #in V/m (electric field)\n",
+      "Z=2; #atomic number of Helium \n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "Er=1.0000684; #(dielectric constant of the material)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "#since  alpha=Eo*(Er-1)/N=4*pi*Eo*r_0^3 \n",
+      "#Therefore we have r_0^3=(Er-1)/(4*pi*N)\n",
+      "r_0=((Er-1)/(4*pi*N))**(1/3); #calculation of radius of electron cloud\n",
+      "x=4*pi*Eo*E*r_0/(Z*e); #calculation of dispalcement\n",
+      "\n",
+      "#result\n",
+      "print\"The radius of electron cloud is r_0=\",r_0,\"m\";\n",
+      "print\"The displacement is x=\",x,\"m\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radius of electron cloud is r_0= 5.86454377988e-11 m\n",
+        "The displacement is x= 20371.2258874 m\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.4 , Page no:188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=1.000134; #di-elecrtic constant of the neon gas at NTP\n",
+      "E=90000; #in V/m (electric field)\n",
+      "Eo=8.85E-12; #in C/N-m^2 (absolute premittivity)\n",
+      "N_A=6.023E26; #in atoms/Kg-mole (Avogadro's number)\n",
+      "V=22.4; #in m^3 (volume of gas at NTP\n",
+      "\n",
+      "#calculate\n",
+      "n=N_A/V; #calculaton of density of atoms\n",
+      "#Since P=n*p=(k-1)*Eo*E\n",
+      "#therefore we have\n",
+      "p=(K-1)*Eo*E/n; #calculation of dipole moment induced\n",
+      "alpha=p/E; #calculation of atomic polarisability\n",
+      "\n",
+      "#result\n",
+      "print\"The dipole moment induced in each atom is p=\",p,\"C-m\";\n",
+      "print\"The atomic polarisability of neon is =\",alpha,\"c-m^2/V\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The dipole moment induced in each atom is p= 3.96940793625e-36 C-m\n",
+        "The atomic polarisability of neon is = 4.4104532625e-41 c-m^2/V\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5 , Page no:189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Er=3.75; #di-elecrtic constant of sulphur at 27 degree Celcius\n",
+      "gama=1/3; #internal field constant\n",
+      "p=2050; #in Kg/m^3 (density)\n",
+      "M_A=32; #in amu (atomic weight of sulphur)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "N=6.022E23; #Avogadro's number\n",
+      "\n",
+      "#calculate\n",
+      "#Since ((Er-1)/(Er+2))*(M_A/p)=(N/(3*Eo))*alpha_e\n",
+      "#therefore we have\n",
+      "alpha_e=((Er-1)/(Er+2))*(M_A/p)*(3*Eo/N); #calculation of electronic polarisability of sulphur\n",
+      "\n",
+      "#result\n",
+      "print\"The electronic polarisability of sulphur is =\",alpha_e,\"Fm^2   (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electronic polarisability of sulphur is = 3.29143088985e-37 Fm^2   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.6 , Page no:189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Er=1.0000684; #di-elecrtic constant of Helium gas at NTP\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "N=2.7E25; #number of atomsper unit volume\n",
+      "\n",
+      "#calculate\n",
+      "#Since Er-1=(N/Eo)*alpha_e\n",
+      "#therefore we have\n",
+      "alpha_e=Eo*(Er-1)/N; #calculation of electronic polarisability of Helium\n",
+      "\n",
+      "#result\n",
+      "print\"The electronic polarisability of Helium gas is =\",alpha_e,\"Fm^2    (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electronic polarisability of Helium gas is = 2.242e-41 Fm^2    (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.7 , Page no:190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=3E28; #in atoms/m^3 (density of atoms)\n",
+      "alpha_e=1E-40; #in F-m^2 (electronic polarisability)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "\n",
+      "#calculate\n",
+      "#Since (Er-1)/(Er+2)=N*alpha_e/(3*Eo)\n",
+      "#therefore we have\n",
+      "Er=(2*(N*alpha_e/(3*Eo))+1)/(1-(N*alpha_e/(3*Eo)));\n",
+      "#calculation of dielectric constant of the material\n",
+      "\n",
+      "#result\n",
+      "print\"The dielectric constant of the material is Er=\",Er,\"F/m\",\n",
+      "print \"NOTE: The answer in the book is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The dielectric constant of the material is Er= 1.3821656051 F/m NOTE: The answer in the book is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.8 , Page no:190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Er=4; #relative permittivity of sulphur\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "NA=2.08E3; #in Kg/m^3 (density of atoms in sulphur)\n",
+      "\n",
+      "#calculate\n",
+      "#Since ((Er-1)/(Er+2))*(M_A/p)=(N/(3*Eo))*alpha_e\n",
+      "#therefore we have\n",
+      "alpha_e=((Er-1)/(Er+2))*(3*Eo/NA); #calculation of electronic polarisability of sulphur\n",
+      "\n",
+      "#result\n",
+      "print\"The electronic polarisability of sulphur is =\",alpha_e,\"Fm^2\";\n",
+      "print \"NOTE: The answer in the book is wrong and they used the wrong formula \" \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electronic polarisability of sulphur is = 6.38221153846e-15 Fm^2\n",
+        "NOTE: The answer in the book is wrong and they used the wrong formula \n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.9 , Page no:190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "alpha1=2.5E-39; #in C^2-m/N (dielectric constant at 300K)\n",
+      "alpha2=2.0E-39; #in C^2-m/N (dielectric constant at 400K)\n",
+      "T1=300; #in K(first temperature)\n",
+      "T2=400; #in K(second temperature)\n",
+      "\n",
+      "#calculate\n",
+      "#since alpha=alpha_d+alpha0 and alpha0=Beta/T\n",
+      "#therefore alpha=alpha_d+(Beta/T)\n",
+      "#since alpha1=alpha_d+(Beta/T1)  and alpha2=alpha_d+(Beta/T2)\n",
+      "#therefore alpha1-apha2=Beta*((1/T1)-(1/T2))\n",
+      "#or Beta= (alpha1-apha2)/ ((1/T1)-(1/T2))\n",
+      "Beta= (alpha1-alpha2)/ ((1/T1)-(1/T2)); #calculation of Beta\n",
+      "alpha_d=alpha1-(Beta/T1); #calculation of polarisability due to defromation\n",
+      "alpha0_1=Beta/T1; #calculation of polarisability due to permanent dipole moment at 300K\n",
+      "alpha0_2=Beta/T2;  #calculation of polarisability due to permanent dipole moment at 400K\n",
+      "\n",
+      "#result\n",
+      "print\"The polarisability due to permanent dipole moment at 300K is =\",alpha0_1,\"C^2-m/N\";\n",
+      "print\"The polarisability due to permanent dipole moment at 400K is =\",alpha0_2,\"C^2-m/N\";\n",
+      "print\"The polarisability due to deformation of the molecules is =\",alpha_d,\"C^2-m/N\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The polarisability due to permanent dipole moment at 300K is = 2e-39 C^2-m/N\n",
+        "The polarisability due to permanent dipole moment at 400K is = 1.5e-39 C^2-m/N\n",
+        "The polarisability due to deformation of the molecules is = 5e-40 C^2-m/N\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.10 , Page no:191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=1.5; #refractive index\n",
+      "Er=5.6; #dielectric constant\n",
+      "\n",
+      "#calculate\n",
+      "#since (Er-1)/(Er+2)=N*(alpha_e+alpha_i)/(3*E0)   Clausius-Mossotti equation\n",
+      "#and  (n^2-1)/(n^2+2)=N*alpha_e/(3*E0) \n",
+      "#from above two equations, we get  ((n^2-1)/(n^2+2))*((Er+2)/(Er-1))=alpha_e/(alpha_e+alpha_i)\n",
+      "#or alpha_i/ (alpha_e+alpha_i)= 1-((n^2-1)/(n^2+2))*((Er+2)/(Er-1))= (say P)\n",
+      "#where P is fractional ionisational polarisability\n",
+      "P=1-((n**2-1)/(n**2+2))*((Er+2)/(Er-1)); #calculation of fractional ionisational polarisability\n",
+      "P1=P*100; #calculation of percentage of  ionisational polarisability\n",
+      "\n",
+      "#result\n",
+      "print\"The percentage of  ionisational polarisability is =\",P1,\"percent\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The percentage of  ionisational polarisability is = 51.4066496164 percent\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter8.ipynb b/Applied_Physics/Chapter8.ipynb
new file mode 100755
index 00000000..353fc099
--- /dev/null
+++ b/Applied_Physics/Chapter8.ipynb
@@ -0,0 +1,323 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:aecad4e644a378cab0352aa29e9045a53c52646739e4f4bd6cdff80f1d0741e6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8:Magnetic Properties"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.1 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "X=-0.5E-5; #magnetic susceptibility of silicon\n",
+      "H=0.9E4; #in A/m (magnetic field intensity)\n",
+      "mu0=4*3.14*1E-7; #in H/m (absolute permeability)\n",
+      "\n",
+      "#calculate\n",
+      "I=X*H; #calculation of intensity of magnetism\n",
+      "B=mu0*H*(1+X); #calculation of magnetic flux density\n",
+      "\n",
+      "#result\n",
+      "print\"The intensity of magnetism is I=\",I,\"A/m\";\n",
+      "print\"The magnetic flux density is B=\",round(B,3),\"Wb/m^2\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intensity of magnetism is I= -0.045 A/m\n",
+        "The magnetic flux density is B= 0.011 Wb/m^2\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.2 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r=0.052; #in nm (radius of orbit)\n",
+      "B=1; #in Wb/m^2 (magnetic field of induction)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "\n",
+      "#calculate\n",
+      "r=0.052*1E-9; #changing unit from nm to m\n",
+      "d_mu=(e**2*r**2*B)/(4*m); #calculation of change in magnetic moment\n",
+      "\n",
+      "#result\n",
+      "print\"The change in magnetic moment is =\",d_mu,\"Am^2\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The change in magnetic moment is = 1.90171428571e-29 Am^2\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.3 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "H=220; #in A/m (magnetic field intensity)\n",
+      "I=3300; #in A/m (intensity of magnetisation)\n",
+      "\n",
+      "#calculate\n",
+      "mu_r=1+(I/H); #calculation of relative permeability\n",
+      "\n",
+      "#result\n",
+      "print\"The relative permeability of a ferromagentic material is =\",mu_r;"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relative permeability of a ferromagentic material is = 16.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.4 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "I=3000; #in A/m (intensity of magnetisation)\n",
+      "B=0.005; #in Wb/m^2 (magnetic flus intensity)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "mu0=4*pi*1E-7; #in H/m (absolute permeability)\n",
+      "\n",
+      "#calculate\n",
+      "H=(B/mu0)-I; #calculation of magnetic force\n",
+      "mu_r=(I/H)+1; #calculation of relative permeability\n",
+      "\n",
+      "#result\n",
+      "print\"The magnetic force is  H=\",H;\n",
+      "print\"The relative permeability is =\",mu_r;"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnetic force is  H= 980.891719745\n",
+        "The relative permeability is = 4.05844155844\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.5 , Page no:237"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "H=4E3; #in A/m (magnetic field intensity)\n",
+      "N=60; #number of turns\n",
+      "l=12; #in cm (length of solenoid)\n",
+      "\n",
+      "#calculate\n",
+      "n=N/(l*1E-2); #calculation of number of turns per unit metre\n",
+      "#Snice H=n*i;\n",
+      "i=H/n; #calculation of current through the solenoid\n",
+      "\n",
+      "#result\n",
+      "print\"The current through the solenoid is i=\",i,\"A\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The current through the solenoid is i= 8.0 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6 , Page no:237"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "l=30; #in cm (length of solenoid)\n",
+      "A=1; #in cm^2 (cross-sectional area)\n",
+      "N=300; #number of turns\n",
+      "i=0.032; #in A (current through the winding)\n",
+      "phi_B=2E-6; #in Wb (magnetic flux)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "mu0=4*pi*1E-7; #in H/m (absolute permeability)\n",
+      "\n",
+      "#calculate\n",
+      "l=l*1E-2; #changing unit from cm to m\n",
+      "A=A*1E-4; #changing unit from cm^2 to m^2\n",
+      "B=phi_B/A; #calculation of flux density\n",
+      "H=N*i/l; #calculation of magnetic intensity\n",
+      "mu=B/H; #calcluation of absolute permeability of iron\n",
+      "mu_r=mu/mu0; #calcluation of relative permeability of iron\n",
+      "\n",
+      "#result\n",
+      "print\"The flux density is B=\",B,\"Wb/m^2\";\n",
+      "print\"The magnetic intensity is H=\",H,\"A-turns/m\";\n",
+      "print\"The relative permeability of iron is =\",round(mu_r),\"    (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The flux density is B= 0.02 Wb/m^2\n",
+        "The magnetic intensity is H= 32.0 A-turns/m\n",
+        "The relative permeability of iron is = 498.0     (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.7 , Page no:238"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "A=100; #in m^2 (area of Hysteresis loop)\n",
+      "B=0.01; #in Wb/m^2 (unit space along vertical axis or magnetic flux density)\n",
+      "H=40; #in A/m (unit space along horizontal axis or magnetic fild ntensity)\n",
+      "\n",
+      "#calculate\n",
+      "H_L=A*B*H; #calculation of magnetic intensity\n",
+      "\n",
+      "#result\n",
+      "print\"The Hystersis loss per cycle is =\",round(H_L),\"J/m^2\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Hystersis loss per cycle is = 40.0 J/m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter9.ipynb b/Applied_Physics/Chapter9.ipynb
new file mode 100755
index 00000000..f3c26825
--- /dev/null
+++ b/Applied_Physics/Chapter9.ipynb
@@ -0,0 +1,782 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:eb4f284d8d12c103b674cc454947abe9c7a1a76e2d11836f2841ba55d4adeef7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9:Semiconductors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.2 , Page no:272"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Eg=0.67; #in eV (Energy band gap)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=298; #in K (room temperature)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "K=10; #ratio of number of electrons at different temperature\n",
+      "\n",
+      "#calculate\n",
+      "Eg=Eg*e; #changing unit from eV to Joule\n",
+      "#since ne=Ke*exp(-Eg/(2*k*T))\n",
+      "#and ne/ne1=exp(-Eg/(2*k*T))/exp(-Eg/(2*k*T1)) and ne/ne1=K=10\n",
+      "#therefore we have 10=exp(-Eg/(2*k*T))/exp(-Eg/(2*k*T1))\n",
+      "#re-arranging the equation for T, we get T2=1/((1/T1)-((2*k*log(10))/Eg))\n",
+      "T=1/((1/T1)-((2*k*math.log(10))/Eg)); #calculation of the temperature\n",
+      "\n",
+      "#result\n",
+      "print\"The temperature at which number of electrons in the conduction band of a semiconductor increases by a factor of 10 is T=\",round(T),\"K            (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The temperature at which number of electrons in the conduction band of a semiconductor increases by a factor of 10 is T= 362.0 K            (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.3 , Page no:272"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=2.5E13; #in /cm^3 (intrinsic carrier density)\n",
+      "ue=3900; #in cm^2/(V-s) (electron mobilities)\n",
+      "uh=1900; #in cm^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "l=1; #in cm (lenght of the box)\n",
+      "b=1;h=1; #in mm (dimensions of germanium rod )\n",
+      "\n",
+      "#calculate\n",
+      "ni=ni*1E6; #changing unit from 1/cm^3 to 1/m^3\n",
+      "ue=ue*1E-4; #changing unit from cm^2 to m^2\n",
+      "uh=uh*1E-4; #changing unit from cm^2 to m^2\n",
+      "sigma=ni*e*(ue+uh); #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "l=l*1E-2; #changing unit from mm to m for length\n",
+      "A=(b*1E-3)*(h*1E-3); #changing unit from mm to m for width and height and calculation of cross-sectional area\n",
+      "R=rho*l/A; #calculation of resistance\n",
+      "\n",
+      "#result\n",
+      "print\"The resistance of intrinsic germanium is R=\",R,\"ohm\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The resistance of intrinsic germanium is R= 4310.34482759 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.4 , Page no:273"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ne=2.5E19; #in /m^3 (electron  density)\n",
+      "nh=2.5E19; #in /m^3 (hole density)\n",
+      "ue=0.36; #in m^2/(V-s) (electron mobilities)\n",
+      "uh=0.17; #in m^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#since ne=nh=ni,  therefore we have \n",
+      "ni=nh;\n",
+      "sigma=ni*e*(ue+uh); #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "\n",
+      "#result\n",
+      "print\"The conductivity of germanium is =\",round(sigma,2),\"/ohm-m\";\n",
+      "print\"The resistivity of germanium is =\",round(rho,2),\"ohm-m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The conductivity of germanium is = 2.12 /ohm-m\n",
+        "The resistivity of germanium is = 0.47 ohm-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 , Page no:273"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=1.5E16; #in /m^3 (intrinsic carrier density)\n",
+      "ue=0.135; #in m^2/(V-s) (electron mobilities)\n",
+      "uh=0.048; #in m^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "ND=1E23; #in atom/m^3 (doping concentration)\n",
+      "\n",
+      "#calculate\n",
+      "sigma_i=ni*e*(ue+uh); #calculation of intrinsic conductivity\n",
+      "sigma=ND*ue*e; #calculation of conductivity after doping\n",
+      "rho=ni**2/ND; #calculation of equilibrium hole concentration\n",
+      "\n",
+      "#result\n",
+      "print\"The intrinsic conductivity for silicon is =\",sigma_i,\"S\";\n",
+      "print\"The conductivity after doping with phosphorus atoms is =\",sigma,\"S\";\n",
+      "print\"The equilibrium hole concentration is =\",rho,\"/m^3\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intrinsic conductivity for silicon is = 0.0004392 S\n",
+        "The conductivity after doping with phosphorus atoms is = 2160.0 S\n",
+        "The equilibrium hole concentration is = 2250000000.0 /m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.6 , Page no:274"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=1.5E16; #in /m^3 (intrinsic carrier density)\n",
+      "ue=0.13; #in m^2/(V-s) (electron mobilities)\n",
+      "uh=0.05; #in m^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "ne=5E20; #in /m^3 (concentration of donor type impurity)\n",
+      "nh=5E20; #in /m^3 (concentration of acceptor type impurity)\n",
+      "\n",
+      "#calculate\n",
+      "#part-i\n",
+      "sigma=ni*e*(ue+uh); #calculation of intrinsic conductivity\n",
+      "#part-ii\n",
+      "#since 1 donor atom is in 1E8 Si atoms, hence holes concentration can be neglected\n",
+      "sigma1=ne*e*ue; #calculation of conductivity after doping with donor type impurity\n",
+      "#part-iii\n",
+      "#since 1 acceptor atom is in 1E8 Si atoms, hence electron concentration can be neglected\n",
+      "sigma2=nh*e*uh; #calculation of conductivity after doping with acceptor type impurity\n",
+      "\n",
+      "#result\n",
+      "print\"The intrinsic conductivity for silicon is =\",sigma,\"(ohm-m)^-1\";\n",
+      "print\"The conductivity after doping with donor type impurity is =\",sigma1,\"(ohm-m)^-1\";\n",
+      "print\"The conductivity after doping with acceptor type impurity is =\",sigma2,\"(ohm-m)^-1\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intrinsic conductivity for silicon is = 0.000432 (ohm-m)^-1\n",
+        "The conductivity after doping with donor type impurity is = 10.4 (ohm-m)^-1\n",
+        "The conductivity after doping with acceptor type impurity is = 4.0 (ohm-m)^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.7 , Page no:274"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=1E20; #in /m^3 (intrinsic carrier density)\n",
+      "ND=1E21; #in /m^3 (donor impurity concentration)\n",
+      "\n",
+      "#calculate\n",
+      "nh=ni**2/ND; #calculation of density of hole carriers at room temperature\n",
+      "\n",
+      "#result\n",
+      "print\"The density of hole carriers at room temperature is nh=\",nh,\"/m^3\";\n",
+      "#Note: answer in the book is wrong due to printing mistake"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of hole carriers at room temperature is nh= 1e+19 /m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.8 , Page no:275"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "M=72.6; #atomic mass of germanium\n",
+      "P=5400; #in Kg/m^3 (density)\n",
+      "ue=0.4; #in m^2/V-s (mobility of electrons)\n",
+      "uh=0.2; #in m^2/V-s (mobility of holes)\n",
+      "Eg=0.7; #in eV (Band gap)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T=300; #in K (temperature)\n",
+      "h=6.63E-34; #in J/s (Planck\u2019s constant)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6E-19; #in C(charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "Eg=Eg*e; #changing unit from eV to J\n",
+      "ni=2*(2*pi*m*k*T/h**2)**(3/2)*math.exp(-Eg/(2*k*T));\n",
+      "sigma=ni*e*(ue+uh);\n",
+      "\n",
+      "#result\n",
+      "print\"The intrinsic carrier density for germanium at 300K is ni=\",ni,\"/m^3\";\n",
+      "print\"The conductivity of germanium is=\",round(sigma,3),\"(ohm-m)^-1\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intrinsic carrier density for germanium at 300K is ni= 3.33408559508e+19 /m^3\n",
+        "The conductivity of germanium is= 3.201 (ohm-m)^-1\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.9 , Page no:275"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "rho1=4.5; #in ohm-m (resistivity at 20 degree Celcius)\n",
+      "rho2=2.0; #in ohm-m (resistivity at 32 degree Celcius)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=20; T2=32; #in degree Celcius (two temperatures)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "T1=T1+273; #changing unit from degree Celius to K\n",
+      "T2=T2+273; #changing unit from degree Celius to K\n",
+      "#since sigma=e*u*C*T^(3/2)*exp(-Eg/(2*k*T))\n",
+      "#therefore sigma1/sigma2=(T1/T2)^3/2*exp((-Eg/(2*k)*((1/T1)-(1/T2))\n",
+      "#and sigma=1/rho \n",
+      "#therefore we have rho2/rho1=(T1/T2)^3/2*exp((-Eg/(2*k)*((1/T1)-(1/T2))\n",
+      "#re-arranging above equation for Eg, we get Eg=(2*k/((1/T1)-(1/T2)))*((3/2)*log(T1/T2)-log(rho2/rho1))\n",
+      "Eg=(2*k/((1/T1)-(1/T2)))*((3/2)*math.log(T1/T2)-math.log(rho2/rho1));\n",
+      "Eg1=Eg/e;#changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The energy band gap is Eg=\",Eg,\"J\";\n",
+      "print\"\\t\\t\\t =\",round(Eg1,3),\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy band gap is Eg= 1.54302914521e-19 J\n",
+        "\t\t\t = 0.964 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.10 , Page no:276"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "rho=2300; #in ohm-m (resistivity of pure silicon)\n",
+      "ue=0.135; #in m^2/V-s (mobility of electron)\n",
+      "uh=0.048; #in m^2/V-s (mobility of electron)\n",
+      "Nd=1E19; #in /m^3 (doping concentration)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#since sigma=ni*e*(ue+uh) and sigma=1/rho\n",
+      "#therefore ni=1/(rho*e*(ue+uh))\n",
+      "ni=1/(rho*e*(ue+uh)); #calculation of intrinsic concentration\n",
+      "ne=Nd; #calculation of electron concentration\n",
+      "nh=ni**2/Nd; #calculation of hole concentration\n",
+      "sigma=ne*ue*e+nh*uh*e; #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "\n",
+      "#result\n",
+      "print\"The electron concentration is ne=\",ne,\"/m^3\";\n",
+      "print\"The hole concentration is nh=\",nh,\"/m^3\";\n",
+      "print\"The resistivity of the specimen  is =\",round(rho,3),\"ohm-m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electron concentration is ne= 1e+19 /m^3\n",
+        "The hole concentration is nh= 2.20496745228e+13 /m^3\n",
+        "The resistivity of the specimen  is = 4.63 ohm-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.11 , Page no:276"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "uh=1900; #in cm^2/V-s (mobility of electron)\n",
+      "Na=2E17; #in /m^3 (acceptor doping concentration)\n",
+      "e=1.6E-19; #in C(charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "uh=uh*1E-4; #changing unit from cm^2/V-s to m^2/V-s\n",
+      "Na=Na*1E6; #changing unit from 1/cm^3 to 1/m^3\n",
+      "nh=Na; #hole concentration \n",
+      "#since sigma=ne*ue*e+nh*uh*e and nh>>ne\n",
+      "#therefore sigma=nh*uh*e\n",
+      "sigma=nh*uh*e; #calculation of conductivity\n",
+      "\n",
+      "#result\n",
+      "print\"The conductivity of p-type Ge crystal is =\",sigma,\"/ohm-m   (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The conductivity of p-type Ge crystal is = 6080.0 /ohm-m   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.12 , Page no:277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ue=0.19; #in m^2/V-s (mobility of electron)\n",
+      "T=300; #in K (temperature)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "e=1.6E-19; #in C(charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "Dn=ue*k*T/e; #calculation of diffusion co-efficient\n",
+      "\n",
+      "#result\n",
+      "print\"The diffusion co-efficient of electron in silicon is Dn=\",Dn,\"m^2/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The diffusion co-efficient of electron in silicon is Dn= 0.00491625 m^2/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.13 , Page no:277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Eg=0.4; #in eV (Band gap of semiconductor)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=0; #in degree Celcius (first temperature)\n",
+      "T2=50; #in degree Celcius (second temperature)\n",
+      "T3=100; #in degree Celcius (third temperature)\n",
+      "e=1.602E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "T1=T1+273; #changing temperature form Celcius to Kelvin\n",
+      "T2=T2+273; #changing temperature form Celcius to Kelvin\n",
+      "T3=T3+273; #changing temperature form Celcius to Kelvin\n",
+      "Eg=Eg*e; #changing unit from eV to Joule\n",
+      "#Using F_E=1/(1+exp(Eg/2*k*T))\n",
+      "F_E1=1/(1+math.exp(Eg/(2*k*T1))); #calculation of probability of occupation of lowest level at 0 degree Celcius\n",
+      "F_E2=1/(1+math.exp(Eg/(2*k*T2))); #calculation of probability of occupation of lowest level at 50 degree Celcius\n",
+      "F_E3=1/(1+math.exp(Eg/(2*k*T3))); #calculation of probability of occupation of lowest level at 100 degree Celcius\n",
+      "\n",
+      "#result\n",
+      "print\"The probability of occupation of lowest level in conduction band is\";\n",
+      "print\"\\t at 0 degree Celcius, F_E=\",F_E1,\"eV\";\n",
+      "print\"\\t at 50 degree Celcius, F_E=\",F_E2,\"eV\";\n",
+      "print\"\\t at 100 degree Celcius, F_E=\",F_E3,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The probability of occupation of lowest level in conduction band is\n",
+        "\t at 0 degree Celcius, F_E= 0.000202505914236 eV\n",
+        "\t at 50 degree Celcius, F_E= 0.000754992968827 eV\n",
+        "\t at 100 degree Celcius, F_E= 0.00197639649915 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.14 , Page no:278"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Eg=1.2; #in eV (Energy band gap)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=600; T2=300; #in K (two temperatures)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "Eg=Eg*e; #changing unit from eV to Joule\n",
+      "#since sigma is proportional to exp(-Eg/(2*k*T))\n",
+      "#therefore ratio=sigma1/sigma2=exp(-Eg/(2*k*((1/T1)-(1/T2))));\n",
+      "ratio= math.exp((-Eg/(2*k))*((1/T1)-(1/T2))); #calculation of ratio of conductivity at 600K and at 300K\n",
+      "\n",
+      "#result\n",
+      "print\"The ratio of conductivity at 600K and at 300K is =\",ratio;"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of conductivity at 600K and at 300K is = 108467.17792\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.15 , Page no:278"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ue=0.39; #in m^2/V-s (mobility of electron)\n",
+      "n=5E13; #number of donor atoms\n",
+      "ni=2.4E19; #in atoms/m^3 (intrinsic carrier density)\n",
+      "l=10; #in mm (length of rod)\n",
+      "a=1; #in mm (side of square cross-section)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "l=l*1E-3; #changing unit from mm to m\n",
+      "a=a*1E-3; #changing unit from mm to m\n",
+      "A=a**2; #calculation of cross-section area\n",
+      "Nd=n/(l*A); #calculation of donor concentration\n",
+      "ne=Nd; #calculation of electron density\n",
+      "nh=ni**2/Nd; #calculation of hole density\n",
+      "#since sigma=ne*e*ue+nh*e*ue and since ne>>nh\n",
+      "#therefore sigma=ne*e*ue\n",
+      "sigma=ne*e*ue; #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "R=rho*l/A; #calculation of resistance \n",
+      "\n",
+      "#result\n",
+      "print\"The electron density is ne=\",ne,\"/m^3\";\n",
+      "print\"The hole density is nh=\",nh,\"/m^3\";\n",
+      "print\"The conductivity is =\",sigma,\"/ohm-m\";\n",
+      "print\"The resistance is R=\",round(R),\"ohm\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electron density is ne= 5e+21 /m^3\n",
+        "The hole density is nh= 1.152e+17 /m^3\n",
+        "The conductivity is = 312.0 /ohm-m\n",
+        "The resistance is R= 32.0 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.16 , Page no:279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "RH=3.66E-4; #in m^3/C (Hall coefficient)\n",
+      "rho=8.93E-3; #in ohm-m (resistivity)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "u=RH/rho; #calculation of mobility\n",
+      "n=1/(RH*e); #calculation of density\n",
+      "\n",
+      "#result\n",
+      "print\"The mobility is u=\",u,\"m^2/(V-s)\";\n",
+      "print\"The density is n=\",n,\"/m^3\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mobility is u= 0.0409854423292 m^2/(V-s)\n",
+        "The density is n= 1.70765027322e+22 /m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17 , Page no:279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "RH=3.66E-4; #in m^3/C (Hall coefficient)\n",
+      "rho=8.93E-3; #in ohm-m (resistivity)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "nh=1/(RH*e); #calculation of density of charge carrier\n",
+      "uh=1/(rho*nh*e); #calculation of mobility of charge carrier\n",
+      "\n",
+      "#result\n",
+      "print\"The density of charge carrier is nh=\",nh,\"/m^3\";\n",
+      "print\"The mobility of charge carrier is uh=\",uh,\"m^2/(V-s)\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of charge carrier is nh= 1.70765027322e+22 /m^3\n",
+        "The mobility of charge carrier is uh= 0.0409854423292 m^2/(V-s)\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_01_Bonding_in_Solids_.ipynb b/Applied_Physics/Chapter_01_Bonding_in_Solids_.ipynb
new file mode 100755
index 00000000..e7e0fc16
--- /dev/null
+++ b/Applied_Physics/Chapter_01_Bonding_in_Solids_.ipynb
@@ -0,0 +1,248 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:7b7dfd33b7ab2e69421d0f26bfbfaa20f35bc1084164b445bbbc400215113c08"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1:Bonding in Solids"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.3 , Page no:15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r=2; #in angstrom(distance)\n",
+      "e=1.6E-19; # in C (charge of electron)\n",
+      "E_o= 8.85E-12;# absolute premittivity\n",
+      "\n",
+      "#calculate\n",
+      "r=2*1*10**-10; # since r is in angstrom\n",
+      "V=-e**2/(4*3.14*E_o*r); # calculate potential\n",
+      "V1=V/e; # changing to eV\n",
+      "\n",
+      "#result\n",
+      "print \"\\nThe potential energy is  V = \",V,\"J\";\n",
+      "print \"In electron-Volt V = \",round(V1,3),\"eV\"; \n",
+      "print \"Note: the answer in the book is wrong due to calculation mistake\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "The potential energy is  V =  -1.15153477995e-18 J\n",
+        "In electron-Volt V =  -7.197 eV\n",
+        "Note: the answer in the book is wrong due to calculation mistake\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.4 , Page no:15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "#given\n",
+      "r0=0.236; #in nanometer(interionic distance)\n",
+      "e=1.6E-19; # in C (charge of electron)\n",
+      "E_o= 8.85E-12;# absolute premittivity\n",
+      "N=8; # Born constant\n",
+      "IE=5.14;# in eV (ionisation energy of sodium)\n",
+      "EA=3.65;# in eV (electron affinity of Chlorine)\n",
+      "pi=3.14; # value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r0=r0*1E-9; # since r is in nanometer\n",
+      "PE=(e**2/(4*pi*E_o*r0))*(1-1/N); # calculate potential energy\n",
+      "PE=PE/e; #changing unit from J to eV\n",
+      "NE=IE-EA;# calculation of Net energy\n",
+      "BE=PE-NE;# calculation of Bond Energy\n",
+      "\n",
+      "#result\n",
+      "print\"The potential energy is PE= \",round(PE,2),\"eV\";\n",
+      "print\"The net energy is NE= \",round(NE,2),\"eV\";\n",
+      "print\"The bond energy is BE= \",round(BE,2),\"eV\";\n",
+      "# Note: (1)-In order to make the answer prcatically feasible and avoid the unusual answer, I have used r_0=0.236 nm instead of 236 nm. because using this value will give very much irrelevant answer.\n",
+      "# Note: (2) There is slight variation in the answer due to round off."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The potential energy is PE=  5.34 eV\n",
+        "The net energy is NE=  1.49 eV\n",
+        "The bond energy is BE=  3.85 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.5 , Page no:16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r_0=.41; #in mm(lattice constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "E_o= 8.85E-12; #absolute premittivity\n",
+      "n=0.5; #repulsive exponent value\n",
+      "alpha=1.76; #Madelung constant\n",
+      "pi=3.14; # value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r=.41*1E-3; #since r is in mm\n",
+      "Beta=72*pi*E_o*r**4/(alpha*e**2*(n-1)); #calculation compressibility\n",
+      "\n",
+      "#result\n",
+      "print\"The compressibility  is\tBeta=\",round(Beta);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The compressibility  is\tBeta= -2.50967916144e+15\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.6 , Page no:16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r_0=3.56; #in Angstrom\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "IE=3.89; #in eV (ionisation energy of Cs)\n",
+      "EA=-3.61; #in eV (electron affinity of Cl)\n",
+      "n=10.5; #Born constant\n",
+      "E_o= 8.85E-12; #absolute premittivity\n",
+      "alpha=1.763; #Madelung constant\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r_0=r_0*1E-10; #since r is in nanometer\n",
+      "U=-alpha*(e**2/(4*pi*E_o*r_0))*(1-1/n); #calculate potential energy\n",
+      "U=U/e; #changing unit from J to eV\n",
+      "ACE=U+EA+IE; #calculation of atomic cohesive energy\n",
+      "\n",
+      "#result\n",
+      "print\"The ionic cohesive energy is \",round(U),\"eV\";\n",
+      "print\"The atomic cohesive energy is\",round(ACE),\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ionic cohesive energy is  -6.0 eV\n",
+        "The atomic cohesive energy is -6.0 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7 , Page no:17"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r_0=2.81; #in Angstrom\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "n=9; #Born constant\n",
+      "E_o= 8.85E-12; #absolute premittivity\n",
+      "alpha=1.748; #Madelung constant\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r_0=r_0*1E-10; #since r is in nanometer\n",
+      "V=-alpha*(e**2/(4*pi*E_o*r_0))*(1-1/n); #calculate potential energy\n",
+      "V=V/e; #changing unit from J to eV\n",
+      "V_1=V/2; #Since only half of the energy contribute per ion to the cohecive energy therfore\n",
+      "\n",
+      "#result\n",
+      "print\"The potential energy is V=\",round(V,2),\"eV\";\n",
+      "print\"The energy contributing per ions to the cohesive energy is \",round(V_1,2),\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The potential energy is V= -7.96 eV\n",
+        "The energy contributing per ions to the cohesive energy is  -3.98 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_01_Bonding_in_Solids__1.ipynb b/Applied_Physics/Chapter_01_Bonding_in_Solids__1.ipynb
new file mode 100755
index 00000000..db06e802
--- /dev/null
+++ b/Applied_Physics/Chapter_01_Bonding_in_Solids__1.ipynb
@@ -0,0 +1,248 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:2ef3d4592a57ed325da4c5f5624afbf334fc1ea3982d155f4e16e40570d72ab9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1:Bonding in Solids"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.3 , Page no:15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r=2; #in angstrom(distance)\n",
+      "e=1.6E-19; # in C (charge of electron)\n",
+      "E_o= 8.85E-12;# absolute premittivity\n",
+      "\n",
+      "#calculate\n",
+      "r=2*1*10**-10; # since r is in angstrom\n",
+      "V=-e**2/(4*3.14*E_o*r); # calculate potential\n",
+      "V1=V/e; # changing to eV\n",
+      "\n",
+      "#result\n",
+      "print \"\\nThe potential energy is  V = \",'%.4E'%V,\"J\";\n",
+      "print \"In electron-Volt V = \",round(V1,3),\"eV\"; \n",
+      "print \"Note: the answer in the book is wrong due to calculation mistake\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "The potential energy is  V =  -1.1515E-18 J\n",
+        "In electron-Volt V =  -7.197 eV\n",
+        "Note: the answer in the book is wrong due to calculation mistake\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.4 , Page no:15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "#given\n",
+      "r0=0.236; #in nanometer(interionic distance)\n",
+      "e=1.6E-19; # in C (charge of electron)\n",
+      "E_o= 8.85E-12;# absolute premittivity\n",
+      "N=8; # Born constant\n",
+      "IE=5.14;# in eV (ionisation energy of sodium)\n",
+      "EA=3.65;# in eV (electron affinity of Chlorine)\n",
+      "pi=3.14; # value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r0=r0*1E-9; # since r is in nanometer\n",
+      "PE=(e**2/(4*pi*E_o*r0))*(1-1/N); # calculate potential energy\n",
+      "PE=PE/e; #changing unit from J to eV\n",
+      "NE=IE-EA;# calculation of Net energy\n",
+      "BE=PE-NE;# calculation of Bond Energy\n",
+      "\n",
+      "#result\n",
+      "print\"The potential energy is PE= \",round(PE,2),\"eV\";\n",
+      "print\"The net energy is NE= \",round(NE,2),\"eV\";\n",
+      "print\"The bond energy is BE= \",round(BE,2),\"eV\";\n",
+      "# Note: (1)-In order to make the answer prcatically feasible and avoid the unusual answer, I have used r_0=0.236 nm instead of 236 nm. because using this value will give very much irrelevant answer.\n",
+      "# Note: (2) There is slight variation in the answer due to round off."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The potential energy is PE=  5.34 eV\n",
+        "The net energy is NE=  1.49 eV\n",
+        "The bond energy is BE=  3.85 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.5 , Page no:16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r_0=.41; #in mm(lattice constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "E_o= 8.85E-12; #absolute premittivity\n",
+      "n=0.5; #repulsive exponent value\n",
+      "alpha=1.76; #Madelung constant\n",
+      "pi=3.14; # value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r=.41*1E-3; #since r is in mm\n",
+      "Beta=72*pi*E_o*r**4/(alpha*e**2*(n-1)); #calculation compressibility\n",
+      "\n",
+      "#result\n",
+      "print\"The compressibility  is\tBeta=\",'%.4E'%Beta;"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The compressibility  is\tBeta= -2.5097E+15\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.6 , Page no:16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r_0=3.56; #in Angstrom\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "IE=3.89; #in eV (ionisation energy of Cs)\n",
+      "EA=-3.61; #in eV (electron affinity of Cl)\n",
+      "n=10.5; #Born constant\n",
+      "E_o= 8.85E-12; #absolute premittivity\n",
+      "alpha=1.763; #Madelung constant\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r_0=r_0*1E-10; #since r is in nanometer\n",
+      "U=-alpha*(e**2/(4*pi*E_o*r_0))*(1-1/n); #calculate potential energy\n",
+      "U=U/e; #changing unit from J to eV\n",
+      "ACE=U+EA+IE; #calculation of atomic cohesive energy\n",
+      "\n",
+      "#result\n",
+      "print\"The ionic cohesive energy is \",round(U),\"eV\";\n",
+      "print\"The atomic cohesive energy is\",round(ACE),\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ionic cohesive energy is  -6.0 eV\n",
+        "The atomic cohesive energy is -6.0 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7 , Page no:17"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "r_0=2.81; #in Angstrom\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "n=9; #Born constant\n",
+      "E_o= 8.85E-12; #absolute premittivity\n",
+      "alpha=1.748; #Madelung constant\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "r_0=r_0*1E-10; #since r is in nanometer\n",
+      "V=-alpha*(e**2/(4*pi*E_o*r_0))*(1-1/n); #calculate potential energy\n",
+      "V=V/e; #changing unit from J to eV\n",
+      "V_1=V/2; #Since only half of the energy contribute per ion to the cohecive energy therfore\n",
+      "\n",
+      "#result\n",
+      "print\"The potential energy is V=\",round(V,2),\"eV\";\n",
+      "print\"The energy contributing per ions to the cohesive energy is \",round(V_1,2),\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The potential energy is V= -7.96 eV\n",
+        "The energy contributing per ions to the cohesive energy is  -3.98 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_02_Crystal_Structure.ipynb b/Applied_Physics/Chapter_02_Crystal_Structure.ipynb
new file mode 100755
index 00000000..2d0b7a14
--- /dev/null
+++ b/Applied_Physics/Chapter_02_Crystal_Structure.ipynb
@@ -0,0 +1,291 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:f14517ab3de72640bce8c38f7d46947caa54ae7067bb37477a81849b7b917982"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2:Crystal Structure"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.1 , Page no:40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "N=6.02*10**26; #in /Kg-molecule (Avogadro's number)\n",
+      "n=4; #number of molecules per unit cell ofr NaCl\n",
+      "M=58.5; #in Kg/Kg-molecule (molecular weight of NaCl)\n",
+      "p=2189; #in Kg/m^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow(((n*M)/(N*p)),0.3333333);\n",
+      "a1=a*10**10; #changing unit to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice constant is a=\",a,\"m\";\n",
+      "print\"\\t\\t\\ta=\",a1,\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice constant is a= 5.62072226997e-10 m\n",
+        "\t\t\ta= 5.62072226997 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.2 , Page no:41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02*10**23; #in /gram-atom (Avogadro's number)\n",
+      "n=4; #number of atom per unit cell for fcc structure\n",
+      "M=63.5; #in gram/gram-atom (atomic weight of Cu)\n",
+      "p=8.96; #in g/cm^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow((n*M/(N*p)),0.3333333);\n",
+      "a=a*1E8; #changing unit from cm to Angstrom\n",
+      "d=a/math.sqrt(2); #distance infcc lattice\n",
+      "\n",
+      "#result\n",
+      "print\"lattice constant is a=\",a,\"E-08 cm\";\n",
+      "print\"\\t\\t    a=\",round(a,4),\"Angstrom\";\n",
+      "print\"distance between two nearest Cu atoms is d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "lattice constant is a= 3.61113576149 E-08 cm\n",
+        "\t\t    a= 3.6111 Angstrom\n",
+        "distance between two nearest Cu atoms is d= 2.55 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3 , Page no:41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02E26; #in /Kg-atom (Avogadro's number)\n",
+      "n=2; #number of molecules per unit cell for bcc lattice\n",
+      "M=55.85; #in Kg/Kg-atom (atomic weight of Iron)\n",
+      "p=7860; #in Kg/m^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow((n*M/(N*p)),0.33333);\n",
+      "a1=a*1E10; #changing unit to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice constant is a=\",a,\"m\";\n",
+      "print\"\\t\\t\\ta=\",round(a1,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice constant is a= 2.86928355016e-10 m\n",
+        "\t\t\ta= 2.869 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.4 , Page no:42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02*10**26; #in /Kg-atom (Avogadro's number)\n",
+      "n=2; #number of molecules per unit cell for bcc lattice\n",
+      "M=6.94; #in Kg/Kg-atom (atomic weight of Iron)\n",
+      "p=530; #in Kg/m^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow((n*M/(N*p)),0.33333);\n",
+      "a1=a*1E10; #changing unit to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice constant is a=\",a,\"m\";\n",
+      "print\"\\t\\t\\ta=\",round(a1,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice constant is a= 3.51776567326e-10 m\n",
+        "\t\t\ta= 3.518 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.5 , Page no:42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02*10**23; #in /gram-molecule (Avogadro's number)\n",
+      "M=58.5; #in gram/gram-molecule (atomic weight of NaCl)\n",
+      "p=2.17; #in g/cm^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "#since V=M/p\n",
+      "#(1/d)^-3=2N/V=2Np/M\n",
+      "#therefore d= (M/2Np)^-3\n",
+      "d=pow((M/(2*N*p)),0.33333333);\n",
+      "d1=d*1*10**8; #changing unit from cm to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The distance between two adjacent atoms of NaCl is d=\",d,\"m\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t   d=\",round(d1,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The distance between two adjacent atoms of NaCl is d= 2.81853408124e-08 m\n",
+        "\t\t\t\t\t\t   d= 2.819 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6 , Page no:43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r_Na=0.98; #in Angstrom (radius of sodium ion)\n",
+      "r_Cl=1.81; #in Angstrom (radius of chloride ion)\n",
+      "M_Na=22.99; #in amu (atomic mass of sodium)\n",
+      "M_Cl=35.45; #in amu (atomic mass of chlorine)\n",
+      "\n",
+      "#calculate\n",
+      "a=2*(r_Na+r_Cl); #lattice parameter\n",
+      "#PF=volume of ions present in the unit cell/volume of unit cell\n",
+      "PF=((4*(4/3)*3.14)*r_Na**3+(4*(4/3)*3.14)*r_Cl**3)/a**3;\n",
+      "#Density=mass of unit cell/volume of unit cell\n",
+      "p=4*(M_Na+M_Cl)*1.66E-27/(a*1E-10)**3;\n",
+      "p1=p*1E-3; #changing unit to gm/cm^-3\n",
+      "\n",
+      "#result\n",
+      "print\"Lattice constant  is a=\",round(a,3),\"Angstrom\";\n",
+      "print\"Packing fraction is =\",round(PF,3); \n",
+      "print\"Density is p=\",round(p),\"Kg/m^3\";\n",
+      "print\"Density is p=\",round(p1,2),\"g/cm^3\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Lattice constant  is a= 5.58 Angstrom\n",
+        "Packing fraction is = 0.662\n",
+        "Density is p= 2233.0 Kg/m^3\n",
+        "Density is p= 2.23 g/cm^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_02_Crystal_Structure_1.ipynb b/Applied_Physics/Chapter_02_Crystal_Structure_1.ipynb
new file mode 100755
index 00000000..b6038072
--- /dev/null
+++ b/Applied_Physics/Chapter_02_Crystal_Structure_1.ipynb
@@ -0,0 +1,291 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:693d1c12519596ec538fd8d806511b7a1fdb44b316b98121270f6b11b5d8d004"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2:Crystal Structure"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.1 , Page no:40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "N=6.02*10**26; #in /Kg-molecule (Avogadro's number)\n",
+      "n=4; #number of molecules per unit cell ofr NaCl\n",
+      "M=58.5; #in Kg/Kg-molecule (molecular weight of NaCl)\n",
+      "p=2189; #in Kg/m^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow(((n*M)/(N*p)),0.3333333);\n",
+      "a1=a*10**10; #changing unit to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice constant is a=\",'%.2E'%a,\"m\";\n",
+      "print\"\\t\\t\\ta=\",round(a1,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice constant is a= 5.62E-10 m\n",
+        "\t\t\ta= 5.62 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.2 , Page no:41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02*10**23; #in /gram-atom (Avogadro's number)\n",
+      "n=4; #number of atom per unit cell for fcc structure\n",
+      "M=63.5; #in gram/gram-atom (atomic weight of Cu)\n",
+      "p=8.96; #in g/cm^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow((n*M/(N*p)),0.3333333);\n",
+      "a1=a*1E8; #changing unit from cm to Angstrom\n",
+      "d=a1/math.sqrt(2); #distance infcc lattice\n",
+      "\n",
+      "#result\n",
+      "print\"lattice constant is a=\",'%.2E'%a,\"cm\";\n",
+      "print\"\\t\\t    a=\",round(a1,2),\"Angstrom\";\n",
+      "print\"distance between two nearest Cu atoms is d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "lattice constant is a= 3.61E-08 cm\n",
+        "\t\t    a= 3.61 Angstrom\n",
+        "distance between two nearest Cu atoms is d= 2.55 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3 , Page no:41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02E26; #in /Kg-atom (Avogadro's number)\n",
+      "n=2; #number of molecules per unit cell for bcc lattice\n",
+      "M=55.85; #in Kg/Kg-atom (atomic weight of Iron)\n",
+      "p=7860; #in Kg/m^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow((n*M/(N*p)),0.33333);\n",
+      "a1=a*1E10; #changing unit to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice constant is a=\",'%.2E'%a,\"m\";\n",
+      "print\"\\t\\t\\ta=\",round(a1,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice constant is a= 2.87E-10 m\n",
+        "\t\t\ta= 2.87 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.4 , Page no:42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02*10**26; #in /Kg-atom (Avogadro's number)\n",
+      "n=2; #number of molecules per unit cell for bcc lattice\n",
+      "M=6.94; #in Kg/Kg-atom (atomic weight of Iron)\n",
+      "p=530; #in Kg/m^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "a=pow((n*M/(N*p)),0.33333);\n",
+      "a1=a*1E10; #changing unit to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice constant is a=\",'%.2E'%a,\"m\";\n",
+      "print\"\\t\\t\\ta=\",round(a1,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice constant is a= 3.52E-10 m\n",
+        "\t\t\ta= 3.52 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.5 , Page no:42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=6.02*10**23; #in /gram-molecule (Avogadro's number)\n",
+      "M=58.5; #in gram/gram-molecule (atomic weight of NaCl)\n",
+      "p=2.17; #in g/cm^3 (density)\n",
+      "\n",
+      "#calculate\n",
+      "#since V=M/p\n",
+      "#(1/d)^-3=2N/V=2Np/M\n",
+      "#therefore d= (M/2Np)^-3\n",
+      "d=pow((M/(2*N*p)),0.33333333);\n",
+      "d1=d*1*10**8; #changing unit from cm to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The distance between two adjacent atoms of NaCl is d=\",'%.2E'%d,\"m\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t   d=\",round(d1,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The distance between two adjacent atoms of NaCl is d= 2.82E-08 m\n",
+        "\t\t\t\t\t\t   d= 2.82 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6 , Page no:43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r_Na=0.98; #in Angstrom (radius of sodium ion)\n",
+      "r_Cl=1.81; #in Angstrom (radius of chloride ion)\n",
+      "M_Na=22.99; #in amu (atomic mass of sodium)\n",
+      "M_Cl=35.45; #in amu (atomic mass of chlorine)\n",
+      "\n",
+      "#calculate\n",
+      "a=2*(r_Na+r_Cl); #lattice parameter\n",
+      "#PF=volume of ions present in the unit cell/volume of unit cell\n",
+      "PF=((4*(4/3)*3.14)*r_Na**3+(4*(4/3)*3.14)*r_Cl**3)/a**3;\n",
+      "#Density=mass of unit cell/volume of unit cell\n",
+      "p=4*(M_Na+M_Cl)*1.66E-27/(a*1E-10)**3;\n",
+      "p1=p*1E-3; #changing unit to gm/cm^-3\n",
+      "\n",
+      "#result\n",
+      "print\"Lattice constant  is a=\",round(a,3),\"Angstrom\";\n",
+      "print\"Packing fraction is =\",round(PF,3); \n",
+      "print\"Density is p=\",round(p),\"Kg/m^3\";\n",
+      "print\"Density is p=\",round(p1,2),\"g/cm^3\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Lattice constant  is a= 5.58 Angstrom\n",
+        "Packing fraction is = 0.662\n",
+        "Density is p= 2233.0 Kg/m^3\n",
+        "Density is p= 2.23 g/cm^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_03_Planes_in_Crystals.ipynb b/Applied_Physics/Chapter_03_Planes_in_Crystals.ipynb
new file mode 100755
index 00000000..763a53c2
--- /dev/null
+++ b/Applied_Physics/Chapter_03_Planes_in_Crystals.ipynb
@@ -0,0 +1,144 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1ec2372be7a9974010a31557c9658c85707025e7a87f82e6ef26be63dbcfb0e7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3:Planes in Crystals"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.11 , Page no:61"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=3;\n",
+      "k=2;\n",
+      "l=1; #miller indices\n",
+      "a=4.2E-8; #in cm (lattice constant)\n",
+      "\n",
+      "#calculate\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation for interplanar spacing\n",
+      "d=d*1E8; #changing unit from cm to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The interplanar spacing is d=\",round(d,2),\"cm\";\n",
+      "print\"\\t\\t\\t   d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The interplanar spacing is d= 1.12 cm\n",
+        "\t\t\t   d= 1.12 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.12 , Page no:61"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=1;l=1; #miller indices\n",
+      "a=2.5;b=2.5;c=1.8; #in Angstrom (lattice constants for tetragonal lattice )\n",
+      "\n",
+      "#calculate\n",
+      "d=1/math.sqrt((h/a)**2+(k/b)**2+(l/c)**2); #calculation for interplanar spacing\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice spacing is d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice spacing is d= 1.26 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15 , Page no:63"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=0;l=0; #miller indices\n",
+      "a=2.5; #in Angstrom (lattice constant)\n",
+      "\n",
+      "#calculate\n",
+      "a=a*1E-10; #hence a is in Angstrom\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation for interplanar spacing\n",
+      "p=d/a**3;\n",
+      "\n",
+      "#result\n",
+      "print\"The density is p=\",round(p),\"lattice points/m^2\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density is p= 1.6e+19 lattice points/m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_03_Planes_in_Crystals_1.ipynb b/Applied_Physics/Chapter_03_Planes_in_Crystals_1.ipynb
new file mode 100755
index 00000000..92dba19b
--- /dev/null
+++ b/Applied_Physics/Chapter_03_Planes_in_Crystals_1.ipynb
@@ -0,0 +1,144 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:05935aae8ee517fae6abe7a89dceb1ca0d0cc367834bce08b5f427ec49852dcb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3:Planes in Crystals"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.11 , Page no:61"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=3;\n",
+      "k=2;\n",
+      "l=1; #miller indices\n",
+      "a=4.2E-8; #in cm (lattice constant)\n",
+      "\n",
+      "#calculate\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation for interplanar spacing\n",
+      "d=d*1E8; #changing unit from cm to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The interplanar spacing is d=\",round(d,2),\"cm\";\n",
+      "print\"\\t\\t\\t   d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The interplanar spacing is d= 1.12 cm\n",
+        "\t\t\t   d= 1.12 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.12 , Page no:61"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=1;l=1; #miller indices\n",
+      "a=2.5;b=2.5;c=1.8; #in Angstrom (lattice constants for tetragonal lattice )\n",
+      "\n",
+      "#calculate\n",
+      "d=1/math.sqrt((h/a)**2+(k/b)**2+(l/c)**2); #calculation for interplanar spacing\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice spacing is d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice spacing is d= 1.26 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15 , Page no:63"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=0;l=0; #miller indices\n",
+      "a=2.5; #in Angstrom (lattice constant)\n",
+      "\n",
+      "#calculate\n",
+      "a=a*1E-10; #hence a is in Angstrom\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation for interplanar spacing\n",
+      "p=d/a**3;\n",
+      "\n",
+      "#result\n",
+      "print\"The density is p=\",round(p),\"lattice points/m^2\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density is p= 1.6e+19 lattice points/m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_04_Crystal_Diffraction.ipynb b/Applied_Physics/Chapter_04_Crystal_Diffraction.ipynb
new file mode 100755
index 00000000..6c9c83eb
--- /dev/null
+++ b/Applied_Physics/Chapter_04_Crystal_Diffraction.ipynb
@@ -0,0 +1,494 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:177e44357417b2cfb0b476ada5b36a934225ade51d50763b09586ba8679f08fc"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4:Crystal Diffraction"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.1 , Page no:75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=2.6; #in Angstrom (wavelength)\n",
+      "theta=20; #in Degree (angle)\n",
+      "n=2;\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=lambda1*1E-10; #since lambda is in Angstrom\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore d=n(lambda)/2sin(theta)\n",
+      "d=n*lambda1/(2*math.sin(math.radians(theta)));\n",
+      "\n",
+      "#result\n",
+      "print\"The spacing constant is d=\",d,\"m\";\n",
+      "print\"\\t\\t\\td=\",d*10**10,\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The spacing constant is d= 7.60189144042e-10 m\n",
+        "\t\t\td= 7.60189144042 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.2 , Page no:75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=1;l=0; #miller indices\n",
+      "a=0.26; #in nanometer (lattice constant)\n",
+      "lambda1=0.065; #in nanometer (wavelength)\n",
+      "n=2; #order\n",
+      "\n",
+      "#calculate\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation of interlattice spacing\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "theta=math.asin(n*lambda1/(2*d));\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The glancing angle is =\",round(theta1,2),\"degree\";\n",
+      "print \"Note: there is slight variation in the answer due to round off error\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The glancing angle is = 20.72 degree\n",
+        "Note: there is slight variation in the answer due to round off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.3 , Page no:75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "d=3.04E-10; #in mm (spacing constant)\n",
+      "lambda1=0.79; #in Angstrom (wavelength)\n",
+      "n=3; #order\n",
+      "\n",
+      "#calculate\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda2=lambda1*1E-10; #since lambda is in angstrom\n",
+      "theta=math.asin(n*lambda2/(2*d));\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The glancing angle is\",round(theta1,3),\"degree\";\n",
+      "print \"Note: In question the value of d=3.04E-9 cm but in solution is using d=3.04E-10 m. So I have used d=3.04E-10 cm as used in the solution\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The glancing angle is 22.954 degree\n",
+        "Note: In question the value of d=3.04E-9 cm but in solution is using d=3.04E-10 m. So I have used d=3.04E-10 cm as used in the solution\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.4 , Page no:76"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "d=0.282; #in nanometer (spacing constant)\n",
+      "n=1; #order\n",
+      "theta=8.35; #in degree (glancing angle)\n",
+      "\n",
+      "#calculate\n",
+      "d=d*1E-9; #since d is in nanometer\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda1=2*d*math.sin(math.radians(theta))/n; \n",
+      "lambda_1=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "theta_1=90; #in degree (for maximum order theta=90)\n",
+      "n_max=2*d*math.sin(math.radians(theta_1))/lambda1; #calculation of maximum order. \n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength  =\",lambda1,\"m\";\n",
+      "print\"\\t\\t=\" ,round(lambda_1,3),\"Angstrom\";\n",
+      "print\"The maximum order possible is n=\",round(n_max);\n",
+      "print \"Note: In question value of theta=8 degree and 35 minutes but solution uses theta=8.35 degree.So I am using theta=8.35 degree\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength  = 8.19038939236e-11 m\n",
+        "\t\t= 0.819 Angstrom\n",
+        "The maximum order possible is n= 7.0\n",
+        "Note: In question value of theta=8 degree and 35 minutes but solution uses theta=8.35 degree.So I am using theta=8.35 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.5 , Page no:76"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "theta=6; #in degree (glancing angle)\n",
+      "p=2170; #in Kg/m^3 (density)\n",
+      "M=58.46; #Molecular weight of NaCl\n",
+      "N=6.02E26; #in Kg-molecule (Avogadro's number)\n",
+      "n=1; #order\n",
+      "XU=1E-12; #since 1X.U.= 1E-12m\n",
+      "\n",
+      "#calculate\n",
+      "d=(M/(2*N*p))**(1/3); #calclation of lattice constant\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda1=2*d*math.sin(math.radians(theta))/n; #calculation of wavelength\n",
+      "lambda2=lambda1/XU;\n",
+      "\n",
+      "#result\n",
+      "print\"The spacing constant is d=\",d,\"m\";\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",lambda2,\"X.U\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The spacing constant is d= 2.81789104396e-10 m\n",
+        "The wavelength is = 5.89099640962e-11 m\n",
+        "\t\t  = 58.9099640962 X.U\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.6 , Page no:77"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=1;l=1; #miller indices\n",
+      "a=5.63; #in Angstrom  (lattice constant)\n",
+      "theta=27.5; #in degree (Glancing angle)\n",
+      "n=1; #order\n",
+      "H=6.625E-34; #in J-s (Plank's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "e=1.6E-19; #charge of electron\n",
+      "\n",
+      "#calculate\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation for interplanar spacing\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda1=2*d*math.sin(math.radians(theta))/n; #calculation for wavelength\n",
+      "E=H*c/(lambda1*1E-10); #calculation of Energy\n",
+      "E1=E/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice spacing is d=\",round(d,2),\"Angstrom\";\n",
+      "print\"The wavelength is =\",round(lambda1),\"Angstrom\";\n",
+      "print\"The energy of X-rays is E=\",E,\"J\";\n",
+      "print\"\\t\\t\\tE=\",E1,\"eV\";\n",
+      "print \"Note: c=3E8 m/s but in solution c=3E10 m/s \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice spacing is d= 3.25 Angstrom\n",
+        "The wavelength is = 3.0 Angstrom\n",
+        "The energy of X-rays is E= 6.62100284311e-16 J\n",
+        "\t\t\tE= 4138.12677695 eV\n",
+        "Note: c=3E8 m/s but in solution c=3E10 m/s \n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.7 , Page no:77"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=344; #in V (accelerating voltage)\n",
+      "theta=60; #in degree (glancing angle)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.625e-34; #in J-s (Plank's constant)\n",
+      "n=1; #order\n",
+      "e=1.6E-19; #charge on electron\n",
+      "\n",
+      "#calculate\n",
+      "#Since K=m*v^2/2=e*V\n",
+      "#therefore  v=sqrt(2*e*V/m)\n",
+      "#since lambda=h/(m*v)\n",
+      "#therefore we have lambda=h/sqrt(2*m*e*V)\n",
+      "lambda1=h/math.sqrt(2*m*e*V); #calculation of lambda\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "d=n*lambda2/(2*math.sin(math.radians(theta)));\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",round(lambda2,2),\"Angstrom\";\n",
+      "print\"The interplanar spacing  is  d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 6.61928340764e-11 m\n",
+        "\t\t  = 0.66 Angstrom\n",
+        "The interplanar spacing  is  d= 0.38 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.8 , Page no:78"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=0.02; #in eV (kinetic energy)\n",
+      "d=2.0; #in Angstrom (Bragg's spacing)\n",
+      "m=1.00898; #in amu (mass of neutron)\n",
+      "amu=1.66E-27; #in Kg (1amu=1.66E-27 Kg)\n",
+      "h=6.625e-34; #in J-s (Plank's constant)\n",
+      "n=1; #order\n",
+      "e=1.6E-19; #charge on electron\n",
+      "\n",
+      "#calculate\n",
+      "#Since K=m*v^2/2\n",
+      "#therefore  v=sqrt(2*K/m)\n",
+      "#since lambda=h/(m*v)\n",
+      "#therefore we have lambda=h/sqrt(2*m*K)\n",
+      "m=m*amu; #changing unit from amu to Kg\n",
+      "K=K*e; #changing unit to J from eV\n",
+      "lambda1=h/math.sqrt(2*m*K); #calculation of lambda\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "theta=math.asin(n*lambda2/(2*d)); #calculation of angle of first order diffraction maximum\n",
+      "theta1=theta*180/3.14;\n",
+      "#result\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t    \\t  =\",round(lambda2),\"Angstrom\";\n",
+      "print\"The angle of first order diffraction maximum is \",round(theta1),\"Degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 2.02348771817e-10 m\n",
+        "\t    \t  = 2.0 Angstrom\n",
+        "The angle of first order diffraction maximum is  30.0 Degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.9 , Page no:79"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "lambda1=0.586; #in Angstrom (wavelength of X-rays)\n",
+      "n1=1; n2=2; n3=3; #orders of diffraction\n",
+      "theta1=5+(58/60); #in degree (Glancing angle for first order of diffraction)\n",
+      "theta2=12+(01/60); #in degree (Glancing angle for second order of diffraction)\n",
+      "theta3=18+(12/60); #in degree (Glancing angle for third order of diffraction)\n",
+      "\n",
+      "#calculate\n",
+      "K1=math.sin(math.radians(theta1));\n",
+      "K2=math.sin(math.radians(theta2));\n",
+      "K3=math.sin(math.radians(theta3));\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "d1=n1*lambda1/(2*K1);\n",
+      "d2=n2*lambda1/(2*K2);\n",
+      "d3=n3*lambda1/(2*K3);\n",
+      "d1=d1*1E-10; #changing unit from Angstrom to m\n",
+      "d2=d2*1E-10; #changing unit from Angstrom to m\n",
+      "d3=d3*1E-10; #changing unit from Angstrom to m\n",
+      "d=(d1+d2+d3)/3;\n",
+      "\n",
+      "#result\n",
+      "print\"The value of sine of different angle of diffraction is \\nK1=\",K1;\n",
+      "print\"K2=\",K2;\n",
+      "print\"K3=\",K3;\n",
+      "#Taking the ratios of K1:K2:K3\n",
+      "#We get K1:K2:K3=1:2:3\n",
+      "#Therefore we have\n",
+      "print\"Or we have K1:K2:K3=1:2:3\";\n",
+      "print\"Hence these angles of incidence are for Ist, 2nd and 3rd order reflections respectively\";\n",
+      "print\"The spacing constants are \\nd1=\",d1;\n",
+      "print\"d2=\",d2;\n",
+      "print\"d3=\",d3;\n",
+      "print\"The mean value of crystal spacing is d=\",d,\"m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of sine of different angle of diffraction is \n",
+        "K1= 0.103949856225\n",
+        "K2= 0.208196213621\n",
+        "K3= 0.312334918512\n",
+        "Or we have K1:K2:K3=1:2:3\n",
+        "Hence these angles of incidence are for Ist, 2nd and 3rd order reflections respectively\n",
+        "The spacing constants are \n",
+        "d1= 2.81866671719e-10\n",
+        "d2= 2.81465253286e-10\n",
+        "d3= 2.81428667722e-10\n",
+        "The mean value of crystal spacing is d= 2.81586864243e-10 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_04_Crystal_Diffraction_1.ipynb b/Applied_Physics/Chapter_04_Crystal_Diffraction_1.ipynb
new file mode 100755
index 00000000..fef74a69
--- /dev/null
+++ b/Applied_Physics/Chapter_04_Crystal_Diffraction_1.ipynb
@@ -0,0 +1,503 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:513926db1524f2764781365e8a81c6fa3119b7bc0f032a42233e49f5c3b6140a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4:Crystal Diffraction"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.1 , Page no:75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=2.6; #in Angstrom (wavelength)\n",
+      "theta=20; #in Degree (angle)\n",
+      "n=2;\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=lambda1*1E-10; #since lambda is in Angstrom\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore d=n(lambda)/2sin(theta)\n",
+      "d=n*lambda1/(2*math.sin(math.radians(theta)));\n",
+      "\n",
+      "#result\n",
+      "print\"The spacing constant is d=\",'%.2E'%d,\"m\";\n",
+      "print\"\\t\\t\\td=\",round(d*10**10,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The spacing constant is d= 7.60E-10 m\n",
+        "\t\t\td= 7.602 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.2 , Page no:75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=1;l=0; #miller indices\n",
+      "a=0.26; #in nanometer (lattice constant)\n",
+      "lambda1=0.065; #in nanometer (wavelength)\n",
+      "n=2; #order\n",
+      "\n",
+      "#calculate\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation of interlattice spacing\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "theta=math.asin(n*lambda1/(2*d));\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The glancing angle is =\",round(theta1,2),\"degree\";\n",
+      "print \"Note: there is slight variation in the answer due to round off error\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The glancing angle is = 20.72 degree\n",
+        "Note: there is slight variation in the answer due to round off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.3 , Page no:75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "d=3.04E-10; #in mm (spacing constant)\n",
+      "lambda1=0.79; #in Angstrom (wavelength)\n",
+      "n=3; #order\n",
+      "\n",
+      "#calculate\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda2=lambda1*1E-10; #since lambda is in angstrom\n",
+      "theta=math.asin(n*lambda2/(2*d));\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The glancing angle is\",round(theta1,3),\"degree\";\n",
+      "print \"Note: In question the value of d=3.04E-9 cm but in solution is using d=3.04E-10 m. So I have used d=3.04E-10 cm as used in the solution\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The glancing angle is 22.954 degree\n",
+        "Note: In question the value of d=3.04E-9 cm but in solution is using d=3.04E-10 m. So I have used d=3.04E-10 cm as used in the solution\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.4 , Page no:76"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "d=0.282; #in nanometer (spacing constant)\n",
+      "n=1; #order\n",
+      "theta=8.35; #in degree (glancing angle)\n",
+      "\n",
+      "#calculate\n",
+      "d=d*1E-9; #since d is in nanometer\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda1=2*d*math.sin(math.radians(theta))/n; \n",
+      "lambda_1=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "theta_1=90; #in degree (for maximum order theta=90)\n",
+      "n_max=2*d*math.sin(math.radians(theta_1))/lambda1; #calculation of maximum order. \n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength  =\",'%.2E'%lambda1,\"m\";\n",
+      "print\"\\t\\t=\" ,round(lambda_1,3),\"Angstrom\";\n",
+      "print\"The maximum order possible is n=\",round(n_max);\n",
+      "print \"Note: In question value of theta=8 degree and 35 minutes but solution uses theta=8.35 degree.So I am using theta=8.35 degree\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength  = 8.19E-11 m\n",
+        "\t\t= 0.819 Angstrom\n",
+        "The maximum order possible is n= 7.0\n",
+        "Note: In question value of theta=8 degree and 35 minutes but solution uses theta=8.35 degree.So I am using theta=8.35 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.5 , Page no:76"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "theta=6; #in degree (glancing angle)\n",
+      "p=2170; #in Kg/m^3 (density)\n",
+      "M=58.46; #Molecular weight of NaCl\n",
+      "N=6.02E26; #in Kg-molecule (Avogadro's number)\n",
+      "n=1; #order\n",
+      "XU=1E-12; #since 1X.U.= 1E-12m\n",
+      "\n",
+      "#calculate\n",
+      "d=(M/(2*N*p))**(1/3); #calclation of lattice constant\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda1=2*d*math.sin(math.radians(theta))/n; #calculation of wavelength\n",
+      "lambda2=lambda1/XU;\n",
+      "\n",
+      "#result\n",
+      "print\"The spacing constant is d=\",'%.2E'%d,\"m\";\n",
+      "print\"The wavelength is =\",'%.2E'%lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",round(lambda2,1),\"X.U\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The spacing constant is d= 2.82E-10 m\n",
+        "The wavelength is = 5.89E-11 m\n",
+        "\t\t  = 58.9 X.U\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.6 , Page no:77"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "h=1;k=1;l=1; #miller indices\n",
+      "a=5.63; #in Angstrom  (lattice constant)\n",
+      "theta=27.5; #in degree (Glancing angle)\n",
+      "n=1; #order\n",
+      "H=6.625E-34; #in J-s (Plank's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "e=1.6E-19; #charge of electron\n",
+      "\n",
+      "#calculate\n",
+      "d=a/math.sqrt(h**2+k**2+l**2); #calculation for interplanar spacing\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "lambda1=2*d*math.sin(math.radians(theta))/n; #calculation for wavelength\n",
+      "E=H*c/(lambda1*1E-10); #calculation of Energy\n",
+      "E1=E/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The lattice spacing is d=\",round(d,2),\"Angstrom\";\n",
+      "print\"The wavelength is =\",round(lambda1),\"Angstrom\";\n",
+      "print\"The energy of X-rays is E=\",'%.2E'%E,\"J\";\n",
+      "print\"\\t\\t\\tE=\",'%.3E'%E1,\"eV\";\n",
+      "print \"Note: c=3E8 m/s but in solution c=3E10 m/s \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice spacing is d= 3.25 Angstrom\n",
+        "The wavelength is = 3.0 Angstrom\n",
+        "The energy of X-rays is E= 6.62E-16 J\n",
+        "\t\t\tE= 4.138E+03 eV\n",
+        "Note: c=3E8 m/s but in solution c=3E10 m/s \n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.7 , Page no:77"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=344; #in V (accelerating voltage)\n",
+      "theta=60; #in degree (glancing angle)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.625e-34; #in J-s (Plank's constant)\n",
+      "n=1; #order\n",
+      "e=1.6E-19; #charge on electron\n",
+      "\n",
+      "#calculate\n",
+      "#Since K=m*v^2/2=e*V\n",
+      "#therefore  v=sqrt(2*e*V/m)\n",
+      "#since lambda=h/(m*v)\n",
+      "#therefore we have lambda=h/sqrt(2*m*e*V)\n",
+      "lambda1=h/math.sqrt(2*m*e*V); #calculation of lambda\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "d=n*lambda2/(2*math.sin(math.radians(theta)));\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",'%.2E'%lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",round(lambda2,2),\"Angstrom\";\n",
+      "print\"The interplanar spacing  is  d=\",round(d,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 6.62E-11 m\n",
+        "\t\t  = 0.66 Angstrom\n",
+        "The interplanar spacing  is  d= 0.38 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.8 , Page no:78"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=0.02; #in eV (kinetic energy)\n",
+      "d=2.0; #in Angstrom (Bragg's spacing)\n",
+      "m=1.00898; #in amu (mass of neutron)\n",
+      "amu=1.66E-27; #in Kg (1amu=1.66E-27 Kg)\n",
+      "h=6.625e-34; #in J-s (Plank's constant)\n",
+      "n=1; #order\n",
+      "e=1.6E-19; #charge on electron\n",
+      "\n",
+      "#calculate\n",
+      "#Since K=m*v^2/2\n",
+      "#therefore  v=sqrt(2*K/m)\n",
+      "#since lambda=h/(m*v)\n",
+      "#therefore we have lambda=h/sqrt(2*m*K)\n",
+      "m=m*amu; #changing unit from amu to Kg\n",
+      "K=K*e; #changing unit to J from eV\n",
+      "lambda1=h/math.sqrt(2*m*K); #calculation of lambda\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "theta=math.asin(n*lambda2/(2*d)); #calculation of angle of first order diffraction maximum\n",
+      "theta1=theta*180/3.14;\n",
+      "#result\n",
+      "print\"The wavelength is =\",'%.2E'%lambda1,\"m\";\n",
+      "print\"\\t    \\t  =\",round(lambda2),\"Angstrom\";\n",
+      "print\"The angle of first order diffraction maximum is \",round(theta1),\"Degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 2.02E-10 m\n",
+        "\t    \t  = 2.0 Angstrom\n",
+        "The angle of first order diffraction maximum is  30.0 Degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.9 , Page no:79"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "lambda1=0.586; #in Angstrom (wavelength of X-rays)\n",
+      "n1=1; n2=2; n3=3; #orders of diffraction\n",
+      "theta1=5+(58/60); #in degree (Glancing angle for first order of diffraction)\n",
+      "theta2=12+(01/60); #in degree (Glancing angle for second order of diffraction)\n",
+      "theta3=18+(12/60); #in degree (Glancing angle for third order of diffraction)\n",
+      "\n",
+      "#calculate\n",
+      "K1=math.sin(math.radians(theta1));\n",
+      "K2=math.sin(math.radians(theta2));\n",
+      "K3=math.sin(math.radians(theta3));\n",
+      "#Since 2dsin(theta)=n(lambda)\n",
+      "#therefore we have\n",
+      "d1=n1*lambda1/(2*K1);\n",
+      "d2=n2*lambda1/(2*K2);\n",
+      "d3=n3*lambda1/(2*K3);\n",
+      "d1=d1*1E-10; #changing unit from Angstrom to m\n",
+      "d2=d2*1E-10; #changing unit from Angstrom to m\n",
+      "d3=d3*1E-10; #changing unit from Angstrom to m\n",
+      "d=(d1+d2+d3)/3;\n",
+      "\n",
+      "#result\n",
+      "print\"The value of sine of different angle of diffraction is \\nK1=\",round(K1,4);\n",
+      "print\"K2=\",round(K2,4);\n",
+      "print\"K3=\",round(K3,4);\n",
+      "#Taking the ratios of K1:K2:K3\n",
+      "#We get K1:K2:K3=1:2:3\n",
+      "#Therefore we have\n",
+      "print\"Or we have K1:K2:K3=1:2:3\";\n",
+      "print\"Hence these angles of incidence are for Ist, 2nd and 3rd order reflections respectively\";\n",
+      "print\"The spacing constants are \\nd1=\",'%.2E'%d1;\n",
+      "print\"d2=\",'%.3E'%d2;\n",
+      "print\"d3=\",'%.3E'%d3;\n",
+      "print\"The mean value of crystal spacing is d=\",'%.3E'%d,\"m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of sine of different angle of diffraction is \n",
+        "K1= 0.1039\n",
+        "K2= 0.2082\n",
+        "K3= 0.3123\n",
+        "Or we have K1:K2:K3=1:2:3\n",
+        "Hence these angles of incidence are for Ist, 2nd and 3rd order reflections respectively\n",
+        "The spacing constants are \n",
+        "d1= 2.82E-10\n",
+        "d2= 2.815E-10\n",
+        "d3= 2.814E-10\n",
+        "The mean value of crystal spacing is d= 2.816E-10 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 9
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_05_Principles_of_Quantum_Mechanics.ipynb b/Applied_Physics/Chapter_05_Principles_of_Quantum_Mechanics.ipynb
new file mode 100755
index 00000000..cf16b683
--- /dev/null
+++ b/Applied_Physics/Chapter_05_Principles_of_Quantum_Mechanics.ipynb
@@ -0,0 +1,1258 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:17ded29a54411f524d1901cc530f956cb4706c517e993f5acba4014789eca0bd"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5:Principles of Quantum Mechanics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.1 , Page no:102"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=1; #in Angstrom (wavelength)\n",
+      "m=1.67E-27; #in Kg (mass of neutron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "lambda2=lambda1*1E-10; #since lambda is in Angstrom\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "v=h/(m*lambda2); #calculation of velocity\n",
+      "K=m*v**2/2; #calculation of kinetic energy\n",
+      "K1=K/e; #changing unit fro J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity is v=\",v,\"m/s\";\n",
+      "print\"The kinetic energy is K=\",K,\"J\";\n",
+      "print\"\\t\\t       =\",K1,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity is v= 3967.06586826 m/s\n",
+        "The kinetic energy is K= 1.31409056886e-20 J\n",
+        "\t\t       = 0.0821306605539 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.2 , Page no:103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=50; #in eV (Kinetic energy)\n",
+      "m0=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "K=K*e; #changing unit from eV to J\n",
+      "#Since K=m*v^2/2\n",
+      "#Therefore v=sqrt(2*K/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "lambda1=h/math.sqrt(2*m0*K); #calculation of wavelength\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",round(lambda2,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 1.73622176082e-10 m\n",
+        "\t\t  = 1.736 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.3 , Page no:104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E=2000; #in eV (Kinetic energy)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "#Since E=m*v^2/2\n",
+      "#Therefore v=sqrt(2*E/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "lambda1=h/math.sqrt(2*m*E); #calculation of wavelength\n",
+      "lambda2=lambda1*1E9; #changing unit from m to nanometer\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",round(lambda2,4),\"nm\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 2.74520764367e-11 m\n",
+        "\t\t  = 0.0275 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.4 , Page no:104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_n=1.676E-27; #in Kg (mass of neutron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "\n",
+      "#calculate\n",
+      "E_e=m_e*c**2; #rest mass energy of electron\n",
+      "E_n=2*E_e; #given (kinetic energy of neutron)\n",
+      "#Since K=m*v^2/2\n",
+      "#Therefore v=sqrt(2*K/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "lambda1=h/math.sqrt(2*m_n*E_n); #calculation of wavelength\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",lambda2,\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 2.82733278331e-14 m\n",
+        "\t\t  = 0.000282733278331 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.5 , Page no:104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=1600; #in V (Potential)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";\n",
+      "print \"Note : The answer in the book is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 0.307 Angstrom\n",
+        "Note : The answer in the book is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.6 , Page no:105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E=1000; #in eV (Kinetic energy of photon)\n",
+      "K=1000; #in eV (Kinetic energy of electron)\n",
+      "m0=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.6E-34; #in J-s (Planck's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "e=1.6E-19; #in C (charge on electron)\n",
+      "\n",
+      "#calculate\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "lambda_p=h*c/E; #For photon E=hc/lambda\n",
+      "lambda_p1=lambda_p*1E10; #changing unit from m to Angstrom\n",
+      "#Since K=m*v^2/2\n",
+      "#Therefore v=sqrt(2*K/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "K=K*e; #changing unit from eV to J\n",
+      "lambda_e=h/math.sqrt(2*m0*K); #calculation of wavelength\n",
+      "lambda_e1=lambda_e*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"For photon,the wavelength is =\",lambda_p,\"m\";\n",
+      "print\"\\t\\t\\t     =\",round(lambda_p1,1),\"Angstrom\";\n",
+      "print\"For electron,the wavelength is =\",lambda_e,\"m\";\n",
+      "print\"\\t\\t\\t       =\",round(lambda_e1,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For photon,the wavelength is = 1.2375e-09 m\n",
+        "\t\t\t     = 12.4 Angstrom\n",
+        "For electron,the wavelength is = 3.86765965524e-11 m\n",
+        "\t\t\t       = 0.39 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.7 , Page no:105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=1.66*10**-10; #in m (wavelength)\n",
+      "m=9.1*10**-31; #in Kg (mass of electron)\n",
+      "h=6.626*10**-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge on electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "v=h/(m*lambda1); #calculation of velocity\n",
+      "K=m*v**2/2; #calculation of kinetic energy\n",
+      "K1=K/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity of electron is v=\",v,\"m/s\";\n",
+      "print\"The kinetic energy is K=\",K,\"J\";\n",
+      "print\"\\t\\t       =\",round(K1,3),\"eV\";\n",
+      "print \"Note: The answer in the book for kinetic energy is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity of electron is v= 4386336.55501 m/s\n",
+        "The kinetic energy is K= 8.75417651009e-18 J\n",
+        "\t\t       = 54.714 eV\n",
+        "Note: The answer in the book for kinetic energy is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.8 , Page no:106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=400; #in K (temperature)\n",
+      "m=6.7E-27; #in Kg (mass of He-atom)\n",
+      "h=6.6E-34; #in J-s (Planck's constant)\n",
+      "k=1.376E-23; #in J/degree (Boltzmann constant)\n",
+      "\n",
+      "#calculate\n",
+      "#Since lambda=h/(m*v)\n",
+      "#E=mv^2/2;\n",
+      "#Therefore lambda=h/sqrt(2*m*E)\n",
+      "#E=kT\n",
+      "#Therefore lambda=h/sqrt(2*m*k*T)\n",
+      "lambda1=h/math.sqrt(2*m*k*T)\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The de-Broglie wavelength of He-atom is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t\\t\\t        =\",round(lambda2,4),\"Angstrom\";    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The de-Broglie wavelength of He-atom is = 7.6851495611e-11 m\n",
+        "\t\t\t\t        = 0.7685 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.9 , Page no:106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_p=1.6E-27; #in Kg (mass of proton)\n",
+      "h=6.626E-34; #in J-s (Planck's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "\n",
+      "#calculate\n",
+      "E=m_e*c**2; #in J (rest energy of electron)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#E=mv^2/2;\n",
+      "#herefore lambda=h/sqrt(2*m*E)\n",
+      "#Also E=m_e*c^2;\n",
+      "#therefore lambda=h/sqrt(2*m_p*m_e*c^2)\n",
+      "lambda1=h/math.sqrt(2*m_p*m_e*c**2); #calculation of wavelength\n",
+      "lambda2=lambda1*1*10**10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The de-Broglie wavelength of proton is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t\\t\\t       =\",lambda2,\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The de-Broglie wavelength of proton is = 4.0929316435e-14 m\n",
+        "\t\t\t\t       = 0.00040929316435 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.10 , Page no:106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=10000; #in V (Potential)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 0.123 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.11 , Page no:107"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=100; #in V (Potential)\n",
+      "n=1; #order of diffraction\n",
+      "d=2.15; #in Angstrom (lattice spacing)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "#Since 2*d*sind(theta)=n*lambda\n",
+      "#therefore we have\n",
+      "theta=math.asin(n*lambda1/(2*d)); #calculation of glancing angle\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";\n",
+      "print\"The glancing angle is =\",round(theta1,1),\"degree\";\n",
+      "print \"Note: In question V=100 eV but the solution is using V=100V \"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 1.227 Angstrom\n",
+        "The glancing angle is = 16.6 degree\n",
+        "Note: In question V=100 eV but the solution is using V=100V \n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.12 , Page no:107"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=344; #in V (Potential)\n",
+      "n=1; #order of diffraction\n",
+      "theta=60; #in degree (glancing angle)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "#Since 2*d*sind(theta)=n*lambda\n",
+      "#therefore we have\n",
+      "d=n*lambda1/(2*math.sin(math.radians(theta))); #calculation of spacing constant\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";\n",
+      "print\"The spacing of the crystal is =\",round(d,4),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 0.662 Angstrom\n",
+        "The spacing of the crystal is = 0.3819 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.13 , Page no:107"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r=0.53*10**-10; #in m (radius of first Bohr orbit)\n",
+      "h=6.6*10**-34; #in J-s (Planck's constant)\n",
+      "m=9.1*10**-31; #in Kg (mass of electron)\n",
+      "n=1; #First Bohr orbit\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "#Since 2*pi*r=n*lambda  and  lambda=h/(m*v)\n",
+      "#Threfore we have v=h*n/(2*pi*r*m)\n",
+      "v=h*n/(2*pi*r*m); #calculation of velocity\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity of electron is =\",v,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity of electron is = 2179049.16859 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.14 , Page no:108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dx=0.2; #in Angstrom (uncertainty in the position)\n",
+      "h=6.6E-34; #in J-s (Planck's constant)\n",
+      "m0=9.1E-31; #in Kg (mass of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "dx=dx*1E-10; #since dx is in Angstrom\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dp=h/(4*pi*dx); #calculation of uncertainty in the momentum\n",
+      "#since dp=m*dv\n",
+      "dv=dp/m0; #calculation of uncertainty in the velocity\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the momentum is dp=\",dp,\"Kg-m/\";\n",
+      "print\"The uncertainty in the velocity is dv=\",dv,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the momentum is dp= 2.62738853503e-24 Kg-m/\n",
+        "The uncertainty in the velocity is dv= 2887240.14839 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.15 , Page no:108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_p=1.67E-27; #in Kg (mass of proton)\n",
+      "dx_p=1; #in nanometer (uncertainty in position of electron)\n",
+      "dx_n=1; #in nanometer (uncertainty in position of proton)\n",
+      "\n",
+      "#calculate\n",
+      "#since dp=h/(4*pi*dx)\n",
+      "#since h/(4*pi) is constant and dx is same for electron and proton \n",
+      "#therefor both electron and proton have same uncertainty in the momentum\n",
+      "#since dv=dp/m  and  dp is same for both\n",
+      "#therefore dv_e/dv_p=m_p/m_e\n",
+      "#therefore\n",
+      "K=m_p/m_e; #ratio of uncertainty in the velocity of electron and proton\n",
+      "\n",
+      "#result\n",
+      "print\"The ratio of uncertainty in the velocity of electron to that of proton is =\",round(K);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of uncertainty in the velocity of electron to that of proton is = 1835.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.16 , Page no:108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dx=5*10**-15; #in m (radius of nucleus or uncertainty in the position)\n",
+      "h=6.6*10**-34; #in J-s (Planck's constant)\n",
+      "m=1.67E-27; #in Kg (mass of proton)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dp=h/(4*pi*dx); #calculation of uncertainty in the momentum\n",
+      "p=dp; #minimum value of momentum to calculate mimimum kinetic energy\n",
+      "K=(p**2)/(2*m); #calculation of minimum kinetic energy of proton\n",
+      "K1=K/e; #changing unit from J to eV\n",
+      "K2=K1/1E6; #changing unit from eV to MeV\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum uncertainty in the momentum of proton is dp =\",dp,\"Kg-m/s\";\n",
+      "print\"The minimum kinetic energy of proton is K=\",K,\"J\";\n",
+      "print\"\\t\\t\\t\\t \\t =\",K1,\"eV\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",K2,\"MeV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum uncertainty in the momentum of proton is dp = 1.05095541401e-20 Kg-m/s\n",
+        "The minimum kinetic energy of proton is K= 3.30690803067e-14 J\n",
+        "\t\t\t\t \t = 206681.751917 eV\n",
+        "\t\t\t\t\t = 0.206681751917 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.17 , Page no:109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=1; #in KeV (kinetic energy of electron)\n",
+      "dx=1; #in Angstrom (uncertainty in the position)\n",
+      "h=6.63E-34; #in J-s (Planck's constant)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "dx=dx*1E-10; #since dx is in Angstrom\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dp=h/(4*pi*dx); #calculation of uncertainty in the momentum\n",
+      "K=K*1E3*1.6E-19; #changing unit from KeV to J\n",
+      "p=math.sqrt(2*m*K); #calculation of momentum \n",
+      "poc=(dp/p)*100; #calculation of percentage of uncertainty\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the momentum of electron is dp=\",dp,\"Kg-m/s\";\n",
+      "print\"The momentum of electron is p=\",p,\"Kg-m/s\";\n",
+      "print\"The percentage of uncertainty in the momentum  is =\",round(poc,1);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the momentum of electron is dp= 5.27866242038e-25 Kg-m/s\n",
+        "The momentum of electron is p= 1.70645832062e-23 Kg-m/s\n",
+        "The percentage of uncertainty in the momentum  is = 3.1\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.18 , Page no:109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "v=6.6E4; #m/s (speed of electron)\n",
+      "poc=0.01; #percentage of uncertainty\n",
+      "h=6.63E-34; #in J-s (Planck's constant)\n",
+      "m=9E-31; #in Kg (mass of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "p=m*v; #calculation of momentum\n",
+      "dp=(poc/100)*p; #calculation of uncertainty in the momentum\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dx=h/(4*pi*dp); #calculation of uncertainty in the position\n",
+      "\n",
+      "#result\n",
+      "print\"The momentum of electron is p=\",p,\"Kg-m/s\";\n",
+      "print\"The uncertainty in the momentum of electron is dp=\",dp,\"Kg-m/s\";\n",
+      "print\"The uncertainty in the position of electron is dx=\",dx,\"Kg-m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The momentum of electron is p= 5.94e-26 Kg-m/s\n",
+        "The uncertainty in the momentum of electron is dp= 5.94e-30 Kg-m/s\n",
+        "The uncertainty in the position of electron is dx= 8.88663707135e-06 Kg-m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.19 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=1; #in Angstrom (wavelength)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "dlambda=1E-6; #uncertainty in wavelength\n",
+      "\n",
+      "#calculate\n",
+      "lambda2=lambda1*1E-10; #sinc lambda is in Angstrom\n",
+      "#By uncertainty principle, dx*dp>=h/(4*pi)  --(1)\n",
+      "#since p=h/lambda  -----(2)\n",
+      "#Or p*lambda=h \n",
+      "#diffrentiting this equation\n",
+      "#p*dlambda+lambda*dp=0\n",
+      "#dp=-p*dlambda/lambda     ----(3)\n",
+      "#from (2) and (3)  dp=-h*dlambda/lambda^2   ---(4)\n",
+      "#from (1) and(4)  dx*dlambda>=lambda^2/4*pi\n",
+      "#Or dx=lambda^2/(4*pi*dlambda)\n",
+      "dx=lambda2**2/(4*pi*dlambda); #calculation of uncertainty in the position\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the position of X-ray photon is dx=\",dx,\"m\";\n",
+      "print \"Note: wavelength accuracy is given as 1 in 1E8 but in book solution has used 1 in 1E6 \"\n",
+      "print \" ANSWEER IS WRONG IN THE TEXTBOOK\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the position of X-ray photon is dx= 7.96178343949e-16 m\n",
+        "Note: wavelength accuracy is given as 1 in 1E8 but in book solution has used 1 in 1E6 \n",
+        " ANSWEER IS WRONG IN THE TEXTBOOK\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.20 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dt=1*10**-8; #in sec (average life time)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "#Since dE*dt>=h/(4*pi)  (uncertainty relation for energy)\n",
+      "#and E=h*v      v is the frequency\n",
+      "#therefore we have dv>=1/(4*pi*dt)\n",
+      "dv=1/(4*pi*dt); #calculation of minimum uncertainty in the frequency\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum uncertainty in the frequency of the photon is dv=\",dv,\"sec^-1\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum uncertainty in the frequency of the photon is dv= 7961783.43949 sec^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.21 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dt=1E-12; #in sec (average life time)\n",
+      "h=6.63E-34; #in J-s (Planck'c constant)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since dE*dt>=h/(4*pi)  (uncertainty relation for energy)\n",
+      "dE=h/(4*pi*dt); #calculation of minimum uncertainty in the energy\n",
+      "dE1=dE/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the energy of the photon is dE=\",dE,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t         =\",dE1,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the energy of the photon is dE= 5.27866242038e-23 J\n",
+        "\t\t\t\t\t         = 0.000329916401274 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.22 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dT=2.5E-14; #in sec (average life time)\n",
+      "h=6.63E-34; #in J-s (Planck'c constant)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since dE*dt>=h/(4*pi)  (uncertainty relation for energy)\n",
+      "dE=h/(4*pi*dT); #calculation of minimum uncertainty in the energy\n",
+      "dE1=dE/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the energy of the photon is dE=\",dE,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t         =\",dE1,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the energy of the photon is dE= 2.11146496815e-21 J\n",
+        "\t\t\t\t\t         = 0.013196656051 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.23 , Page no:112"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "a=2; #in Angstrom (length of the box)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "n2=2; n4=4; #two quantum states\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "a=a*1E-10; #since a is in Angstrom \n",
+      "#Since  E_n=n^2*h^2/(8*m*a^2)   (Energy corresponding to nth quantum state)\n",
+      "E2=n2**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 2nd quantum state\n",
+      "E21=E2/e; #changing unit from J to eV\n",
+      "E4=n4**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 4nd quantum state\n",
+      "E41=E4/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The energy corresponding to the 2nd quantum state is E2=\",E2,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t       =\",E21,\"eV\";\n",
+      "print\"The energy corresponding to the 4nd quantum state is E4=\",E4,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t       =\",E41,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy corresponding to the 2nd quantum state is E2= 6.0307521978e-18 J\n",
+        "\t\t\t\t\t\t       = 37.6922012363 eV\n",
+        "The energy corresponding to the 4nd quantum state is E4= 2.41230087912e-17 J\n",
+        "\t\t\t\t\t\t       = 150.768804945 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.24 , Page no:113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "a=1E-10; #in m (width of the well)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "n1=1; n2=2; n3=3; #ground and first two excited states\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since  E_n=n^2*h^2/(8*m*a^2)   (Energy corresponding to nth quantum state)\n",
+      "E1=n1**2*h**2/(8*m*a**2); #calculation of energy corresponding to the Ground state\n",
+      "E11=E1/e; #changing unit from J to eV\n",
+      "E2=n2**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 1st excited state\n",
+      "E21=E2/e; #changing unit from J to eV\n",
+      "E3=n3**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 2nd excited state\n",
+      "E31=E3/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The energy corresponding to the ground state is E1=\",E1,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",E11,\"eV\";\n",
+      "print\"The energy corresponding to the 1st excited state is E2=\",E2,\"\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",E21,\"eV\";\n",
+      "print\"The energy corresponding to the 2nd excited state is E3=\",E3,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",E31,\"eV\";\n",
+      "print \" There is slight variation in the answer due to round off error\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy corresponding to the ground state is E1= 6.0307521978e-18 J\n",
+        "\t\t\t\t\t = 37.6922012363 eV\n",
+        "The energy corresponding to the 1st excited state is E2= 2.41230087912e-17 \n",
+        "\t\t\t\t\t = 150.768804945 eV\n",
+        "The energy corresponding to the 2nd excited state is E3= 5.42767697802e-17 J\n",
+        "\t\t\t\t\t = 339.229811126 eV\n",
+        " There is slight variation in the answer due to round off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.25 , Page no:113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dx=1E-8; #in m (length of box or uncertainty in the position)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#From uncertainty principle dx*dp=h and dp=m*dv\n",
+      "#therefore we have\n",
+      "dv=h/(m*dx); #calculation of minimum uncertainty in the velocity\n",
+      "dv1=dv*1E-3; #changing unit from m/s to Km/s\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum uncertainty in the velocity of electron i dv=\",dv,\"m/s\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t        =\",round(dv1,2),\"Km/s\";\n",
+      "print \"Note: There is slight variation in the answer due to round off error\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum uncertainty in the velocity of electron i dv= 72813.1868132 m/s\n",
+        "\t\t\t\t\t\t        = 72.81 Km/s\n",
+        "Note: There is slight variation in the answer due to round off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.26 , Page no:113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "a=4E-10; #in m (length of the box)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "n1=1; #ground state\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since  E_n=n^2*h^2/(8*m*a^2)   (Energy corresponding to nth quantum state)\n",
+      "E1=n1**2*h**2/(8*m*a**2); #calculation of energy corresponding to the ground state\n",
+      "E11=E1/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum energy of electron is E1=\",E1,\"J (Note: The answer in the book  is wrong due to printing error)\";\n",
+      "print\"\\t\\t\\t\\t    =\",round(E11,3),\"eV\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum energy of electron is E1= 3.76922012363e-19 J (Note: The answer in the book  is wrong due to printing error)\n",
+        "\t\t\t\t    = 2.356 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_05_Principles_of_Quantum_Mechanics_1.ipynb b/Applied_Physics/Chapter_05_Principles_of_Quantum_Mechanics_1.ipynb
new file mode 100755
index 00000000..66041c45
--- /dev/null
+++ b/Applied_Physics/Chapter_05_Principles_of_Quantum_Mechanics_1.ipynb
@@ -0,0 +1,1258 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:43369901ed597bc7502d54a31a362249abbf2812c557cb432bc86adf72bf30d7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5:Principles of Quantum Mechanics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.1 , Page no:102"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=1; #in Angstrom (wavelength)\n",
+      "m=1.67E-27; #in Kg (mass of neutron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "lambda2=lambda1*1E-10; #since lambda is in Angstrom\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "v=h/(m*lambda2); #calculation of velocity\n",
+      "K=m*v**2/2; #calculation of kinetic energy\n",
+      "K1=K/e; #changing unit fro J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity is v=\",round(v,3),\"m/s\";\n",
+      "print\"The kinetic energy is K=\",'%.3E'%K,\"J\";\n",
+      "print\"\\t\\t       =\",'%.3E'%K1,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity is v= 3967.066 m/s\n",
+        "The kinetic energy is K= 1.314E-20 J\n",
+        "\t\t       = 8.213E-02 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.2 , Page no:103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=50; #in eV (Kinetic energy)\n",
+      "m0=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "K=K*e; #changing unit from eV to J\n",
+      "#Since K=m*v^2/2\n",
+      "#Therefore v=sqrt(2*K/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "lambda1=h/math.sqrt(2*m0*K); #calculation of wavelength\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",'%.3E'%lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",round(lambda2,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 1.736E-10 m\n",
+        "\t\t  = 1.736 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.3 , Page no:104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E=2000; #in eV (Kinetic energy)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "#Since E=m*v^2/2\n",
+      "#Therefore v=sqrt(2*E/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "lambda1=h/math.sqrt(2*m*E); #calculation of wavelength\n",
+      "lambda2=lambda1*1E9; #changing unit from m to nanometer\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",'%.3E'%lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",round(lambda2,4),\"nm\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 2.745E-11 m\n",
+        "\t\t  = 0.0275 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.4 , Page no:104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_n=1.676E-27; #in Kg (mass of neutron)\n",
+      "h=6.625E-34; #in J-s (Planck's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "\n",
+      "#calculate\n",
+      "E_e=m_e*c**2; #rest mass energy of electron\n",
+      "E_n=2*E_e; #given (kinetic energy of neutron)\n",
+      "#Since K=m*v^2/2\n",
+      "#Therefore v=sqrt(2*K/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "lambda1=h/math.sqrt(2*m_n*E_n); #calculation of wavelength\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",'%.3E'%lambda1,\"m\";\n",
+      "print\"\\t\\t  =\",'%.3E'%lambda2,\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 2.827E-14 m\n",
+        "\t\t  = 2.827E-04 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.5 , Page no:104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=1600; #in V (Potential)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";\n",
+      "print \"Note : The answer in the book is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 0.307 Angstrom\n",
+        "Note : The answer in the book is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.6 , Page no:105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E=1000; #in eV (Kinetic energy of photon)\n",
+      "K=1000; #in eV (Kinetic energy of electron)\n",
+      "m0=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.6E-34; #in J-s (Planck's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "e=1.6E-19; #in C (charge on electron)\n",
+      "\n",
+      "#calculate\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "lambda_p=h*c/E; #For photon E=hc/lambda\n",
+      "lambda_p1=lambda_p*1E10; #changing unit from m to Angstrom\n",
+      "#Since K=m*v^2/2\n",
+      "#Therefore v=sqrt(2*K/m)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "K=K*e; #changing unit from eV to J\n",
+      "lambda_e=h/math.sqrt(2*m0*K); #calculation of wavelength\n",
+      "lambda_e1=lambda_e*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"For photon,the wavelength is =\",'%.3E'%lambda_p,\"m\";\n",
+      "print\"\\t\\t\\t     =\",round(lambda_p1,1),\"Angstrom\";\n",
+      "print\"For electron,the wavelength is =\",'%.3E'%lambda_e,\"m\";\n",
+      "print\"\\t\\t\\t       =\",round(lambda_e1,2),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For photon,the wavelength is = 1.238E-09 m\n",
+        "\t\t\t     = 12.4 Angstrom\n",
+        "For electron,the wavelength is = 3.868E-11 m\n",
+        "\t\t\t       = 0.39 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.7 , Page no:105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=1.66*10**-10; #in m (wavelength)\n",
+      "m=9.1*10**-31; #in Kg (mass of electron)\n",
+      "h=6.626*10**-34; #in J-s (Planck's constant)\n",
+      "e=1.6E-19; #in C (charge on electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since lambda=h/(m*v)\n",
+      "#Therefore we have\n",
+      "v=h/(m*lambda1); #calculation of velocity\n",
+      "K=m*v**2/2; #calculation of kinetic energy\n",
+      "K1=K/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity of electron is v=\",'%.2E'%v,\"m/s\";\n",
+      "print\"The kinetic energy is K=\",'%.2E'%K,\"J\";\n",
+      "print\"\\t\\t       =\",round(K1,3),\"eV\";\n",
+      "print \"Note: The answer in the book for kinetic energy is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity of electron is v= 4.39E+06 m/s\n",
+        "The kinetic energy is K= 8.75E-18 J\n",
+        "\t\t       = 54.714 eV\n",
+        "Note: The answer in the book for kinetic energy is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.8 , Page no:106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=400; #in K (temperature)\n",
+      "m=6.7E-27; #in Kg (mass of He-atom)\n",
+      "h=6.6E-34; #in J-s (Planck's constant)\n",
+      "k=1.376E-23; #in J/degree (Boltzmann constant)\n",
+      "\n",
+      "#calculate\n",
+      "#Since lambda=h/(m*v)\n",
+      "#E=mv^2/2;\n",
+      "#Therefore lambda=h/sqrt(2*m*E)\n",
+      "#E=kT\n",
+      "#Therefore lambda=h/sqrt(2*m*k*T)\n",
+      "lambda1=h/math.sqrt(2*m*k*T)\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The de-Broglie wavelength of He-atom is =\",'%.2E'%lambda1,\"m\";\n",
+      "print\"\\t\\t\\t\\t        =\",round(lambda2,4),\"Angstrom\";    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The de-Broglie wavelength of He-atom is = 7.69E-11 m\n",
+        "\t\t\t\t        = 0.7685 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.9 , Page no:106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_p=1.6E-27; #in Kg (mass of proton)\n",
+      "h=6.626E-34; #in J-s (Planck's constant)\n",
+      "c=3E8; #in m/s (velocity of light)\n",
+      "\n",
+      "#calculate\n",
+      "E=m_e*c**2; #in J (rest energy of electron)\n",
+      "#Since lambda=h/(m*v)\n",
+      "#E=mv^2/2;\n",
+      "#herefore lambda=h/sqrt(2*m*E)\n",
+      "#Also E=m_e*c^2;\n",
+      "#therefore lambda=h/sqrt(2*m_p*m_e*c^2)\n",
+      "lambda1=h/math.sqrt(2*m_p*m_e*c**2); #calculation of wavelength\n",
+      "lambda2=lambda1*1*10**10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The de-Broglie wavelength of proton is =\",'%.2E'%lambda1,\"m\";\n",
+      "print\"\\t\\t\\t\\t       =\",'%.2E'%lambda2,\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The de-Broglie wavelength of proton is = 4.09E-14 m\n",
+        "\t\t\t\t       = 4.09E-04 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.10 , Page no:106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=10000; #in V (Potential)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 0.123 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.11 , Page no:107"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=100; #in V (Potential)\n",
+      "n=1; #order of diffraction\n",
+      "d=2.15; #in Angstrom (lattice spacing)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "#Since 2*d*sind(theta)=n*lambda\n",
+      "#therefore we have\n",
+      "theta=math.asin(n*lambda1/(2*d)); #calculation of glancing angle\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";\n",
+      "print\"The glancing angle is =\",round(theta1,1),\"degree\";\n",
+      "print \"Note: In question V=100 eV but the solution is using V=100V \"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 1.227 Angstrom\n",
+        "The glancing angle is = 16.6 degree\n",
+        "Note: In question V=100 eV but the solution is using V=100V \n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.12 , Page no:107"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=344; #in V (Potential)\n",
+      "n=1; #order of diffraction\n",
+      "theta=60; #in degree (glancing angle)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=12.27/math.sqrt(V); #calculation of wavelength in Angstrom\n",
+      "#Since 2*d*sind(theta)=n*lambda\n",
+      "#therefore we have\n",
+      "d=n*lambda1/(2*math.sin(math.radians(theta))); #calculation of spacing constant\n",
+      "\n",
+      "#result\n",
+      "print\"The wavelength is =\",round(lambda1,3),\"Angstrom\";\n",
+      "print\"The spacing of the crystal is =\",round(d,4),\"Angstrom\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength is = 0.662 Angstrom\n",
+        "The spacing of the crystal is = 0.3819 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.13 , Page no:107"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r=0.53*10**-10; #in m (radius of first Bohr orbit)\n",
+      "h=6.6*10**-34; #in J-s (Planck's constant)\n",
+      "m=9.1*10**-31; #in Kg (mass of electron)\n",
+      "n=1; #First Bohr orbit\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "#Since 2*pi*r=n*lambda  and  lambda=h/(m*v)\n",
+      "#Threfore we have v=h*n/(2*pi*r*m)\n",
+      "v=h*n/(2*pi*r*m); #calculation of velocity\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity of electron is =\",'%.3E'%v,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity of electron is = 2.179E+06 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.14 , Page no:108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dx=0.2; #in Angstrom (uncertainty in the position)\n",
+      "h=6.6E-34; #in J-s (Planck's constant)\n",
+      "m0=9.1E-31; #in Kg (mass of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "dx=dx*1E-10; #since dx is in Angstrom\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dp=h/(4*pi*dx); #calculation of uncertainty in the momentum\n",
+      "#since dp=m*dv\n",
+      "dv=dp/m0; #calculation of uncertainty in the velocity\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the momentum is dp=\",'%.3E'%dp,\"Kg-m/\";\n",
+      "print\"The uncertainty in the velocity is dv=\",'%.3E'%dv,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the momentum is dp= 2.627E-24 Kg-m/\n",
+        "The uncertainty in the velocity is dv= 2.887E+06 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.15 , Page no:108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_p=1.67E-27; #in Kg (mass of proton)\n",
+      "dx_p=1; #in nanometer (uncertainty in position of electron)\n",
+      "dx_n=1; #in nanometer (uncertainty in position of proton)\n",
+      "\n",
+      "#calculate\n",
+      "#since dp=h/(4*pi*dx)\n",
+      "#since h/(4*pi) is constant and dx is same for electron and proton \n",
+      "#therefor both electron and proton have same uncertainty in the momentum\n",
+      "#since dv=dp/m  and  dp is same for both\n",
+      "#therefore dv_e/dv_p=m_p/m_e\n",
+      "#therefore\n",
+      "K=m_p/m_e; #ratio of uncertainty in the velocity of electron and proton\n",
+      "\n",
+      "#result\n",
+      "print\"The ratio of uncertainty in the velocity of electron to that of proton is =\",round(K);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of uncertainty in the velocity of electron to that of proton is = 1835.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.16 , Page no:108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dx=5*10**-15; #in m (radius of nucleus or uncertainty in the position)\n",
+      "h=6.6*10**-34; #in J-s (Planck's constant)\n",
+      "m=1.67E-27; #in Kg (mass of proton)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dp=h/(4*pi*dx); #calculation of uncertainty in the momentum\n",
+      "p=dp; #minimum value of momentum to calculate mimimum kinetic energy\n",
+      "K=(p**2)/(2*m); #calculation of minimum kinetic energy of proton\n",
+      "K1=K/e; #changing unit from J to eV\n",
+      "K2=K1/1E6; #changing unit from eV to MeV\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum uncertainty in the momentum of proton is dp =\",'%.3E'%dp,\"Kg-m/s\";\n",
+      "print\"The minimum kinetic energy of proton is K=\",'%.3E'%K,\"J\";\n",
+      "print\"\\t\\t\\t\\t \\t =\",'%.3E'%K1,\"eV\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",round(K2,1),\"MeV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum uncertainty in the momentum of proton is dp = 1.051E-20 Kg-m/s\n",
+        "The minimum kinetic energy of proton is K= 3.307E-14 J\n",
+        "\t\t\t\t \t = 2.067E+05 eV\n",
+        "\t\t\t\t\t = 0.2 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.17 , Page no:109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=1; #in KeV (kinetic energy of electron)\n",
+      "dx=1; #in Angstrom (uncertainty in the position)\n",
+      "h=6.63E-34; #in J-s (Planck's constant)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "dx=dx*1E-10; #since dx is in Angstrom\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dp=h/(4*pi*dx); #calculation of uncertainty in the momentum\n",
+      "K=K*1E3*1.6E-19; #changing unit from KeV to J\n",
+      "p=math.sqrt(2*m*K); #calculation of momentum \n",
+      "poc=(dp/p)*100; #calculation of percentage of uncertainty\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the momentum of electron is dp=\",'%.3E'%dp,\"Kg-m/s\";\n",
+      "print\"The momentum of electron is p=\",'%.3E'%p,\"Kg-m/s\";\n",
+      "print\"The percentage of uncertainty in the momentum  is =\",round(poc,1);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the momentum of electron is dp= 5.279E-25 Kg-m/s\n",
+        "The momentum of electron is p= 1.706E-23 Kg-m/s\n",
+        "The percentage of uncertainty in the momentum  is = 3.1\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.18 , Page no:109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "v=6.6E4; #m/s (speed of electron)\n",
+      "poc=0.01; #percentage of uncertainty\n",
+      "h=6.63E-34; #in J-s (Planck's constant)\n",
+      "m=9E-31; #in Kg (mass of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "p=m*v; #calculation of momentum\n",
+      "dp=(poc/100)*p; #calculation of uncertainty in the momentum\n",
+      "#Since dx*dp=h/4*pi  (uncertainty relation)\n",
+      "dx=h/(4*pi*dp); #calculation of uncertainty in the position\n",
+      "\n",
+      "#result\n",
+      "print\"The momentum of electron is p=\",'%.3E'%p,\"Kg-m/s\";\n",
+      "print\"The uncertainty in the momentum of electron is dp=\",'%.3E'%dp,\"Kg-m/s\";\n",
+      "print\"The uncertainty in the position of electron is dx=\",'%.3E'%dx,\"Kg-m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The momentum of electron is p= 5.940E-26 Kg-m/s\n",
+        "The uncertainty in the momentum of electron is dp= 5.940E-30 Kg-m/s\n",
+        "The uncertainty in the position of electron is dx= 8.887E-06 Kg-m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.19 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "lambda1=1; #in Angstrom (wavelength)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "dlambda=1E-6; #uncertainty in wavelength\n",
+      "\n",
+      "#calculate\n",
+      "lambda2=lambda1*1E-10; #sinc lambda is in Angstrom\n",
+      "#By uncertainty principle, dx*dp>=h/(4*pi)  --(1)\n",
+      "#since p=h/lambda  -----(2)\n",
+      "#Or p*lambda=h \n",
+      "#diffrentiting this equation\n",
+      "#p*dlambda+lambda*dp=0\n",
+      "#dp=-p*dlambda/lambda     ----(3)\n",
+      "#from (2) and (3)  dp=-h*dlambda/lambda^2   ---(4)\n",
+      "#from (1) and(4)  dx*dlambda>=lambda^2/4*pi\n",
+      "#Or dx=lambda^2/(4*pi*dlambda)\n",
+      "dx=lambda2**2/(4*pi*dlambda); #calculation of uncertainty in the position\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the position of X-ray photon is dx=\",'%.3E'%dx,\"m\";\n",
+      "print \"Note: wavelength accuracy is given as 1 in 1E8 but in book solution has used 1 in 1E6 \"\n",
+      "print \" ANSWEER IS WRONG IN THE TEXTBOOK\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the position of X-ray photon is dx= 7.962E-16 m\n",
+        "Note: wavelength accuracy is given as 1 in 1E8 but in book solution has used 1 in 1E6 \n",
+        " ANSWEER IS WRONG IN THE TEXTBOOK\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.20 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dt=1*10**-8; #in sec (average life time)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "#Since dE*dt>=h/(4*pi)  (uncertainty relation for energy)\n",
+      "#and E=h*v      v is the frequency\n",
+      "#therefore we have dv>=1/(4*pi*dt)\n",
+      "dv=1/(4*pi*dt); #calculation of minimum uncertainty in the frequency\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum uncertainty in the frequency of the photon is dv=\",'%.3E'%dv,\"sec^-1\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum uncertainty in the frequency of the photon is dv= 7.962E+06 sec^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.21 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dt=1E-12; #in sec (average life time)\n",
+      "h=6.63E-34; #in J-s (Planck'c constant)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since dE*dt>=h/(4*pi)  (uncertainty relation for energy)\n",
+      "dE=h/(4*pi*dt); #calculation of minimum uncertainty in the energy\n",
+      "dE1=dE/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the energy of the photon is dE=\",'%.3E'%dE,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t         =\",'%.3E'%dE1,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the energy of the photon is dE= 5.279E-23 J\n",
+        "\t\t\t\t\t         = 3.299E-04 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.22 , Page no:111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dT=2.5E-14; #in sec (average life time)\n",
+      "h=6.63E-34; #in J-s (Planck'c constant)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since dE*dt>=h/(4*pi)  (uncertainty relation for energy)\n",
+      "dE=h/(4*pi*dT); #calculation of minimum uncertainty in the energy\n",
+      "dE1=dE/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The uncertainty in the energy of the photon is dE=\",'%.3E'%dE,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t         =\",'%.3E'%dE1,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in the energy of the photon is dE= 2.111E-21 J\n",
+        "\t\t\t\t\t         = 1.320E-02 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.23 , Page no:112"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "a=2; #in Angstrom (length of the box)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "n2=2; n4=4; #two quantum states\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "a=a*1E-10; #since a is in Angstrom \n",
+      "#Since  E_n=n^2*h^2/(8*m*a^2)   (Energy corresponding to nth quantum state)\n",
+      "E2=n2**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 2nd quantum state\n",
+      "E21=E2/e; #changing unit from J to eV\n",
+      "E4=n4**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 4nd quantum state\n",
+      "E41=E4/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The energy corresponding to the 2nd quantum state is E2=\",'%.3E'%E2,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t       =\",'%.3E'%E21,\"eV\";\n",
+      "print\"The energy corresponding to the 4nd quantum state is E4=\",'%.3E'%E4,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t       =\",'%.3E'%E41,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy corresponding to the 2nd quantum state is E2= 6.031E-18 J\n",
+        "\t\t\t\t\t\t       = 3.769E+01 eV\n",
+        "The energy corresponding to the 4nd quantum state is E4= 2.412E-17 J\n",
+        "\t\t\t\t\t\t       = 1.508E+02 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.24 , Page no:113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "a=1E-10; #in m (width of the well)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "n1=1; n2=2; n3=3; #ground and first two excited states\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since  E_n=n^2*h^2/(8*m*a^2)   (Energy corresponding to nth quantum state)\n",
+      "E1=n1**2*h**2/(8*m*a**2); #calculation of energy corresponding to the Ground state\n",
+      "E11=E1/e; #changing unit from J to eV\n",
+      "E2=n2**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 1st excited state\n",
+      "E21=E2/e; #changing unit from J to eV\n",
+      "E3=n3**2*h**2/(8*m*a**2); #calculation of energy corresponding to the 2nd excited state\n",
+      "E31=E3/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The energy corresponding to the ground state is E1=\",'%.3E'%E1,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",'%.3E'%E11,\"eV\";\n",
+      "print\"The energy corresponding to the 1st excited state is E2=\",'%.3E'%E2,\"\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",'%.3E'%E21,\"eV\";\n",
+      "print\"The energy corresponding to the 2nd excited state is E3=\",'%.3E'%E3,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t =\",'%.3E'%E31,\"eV\";\n",
+      "print \" There is slight variation in the answer due to round off error\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy corresponding to the ground state is E1= 6.031E-18 J\n",
+        "\t\t\t\t\t = 3.769E+01 eV\n",
+        "The energy corresponding to the 1st excited state is E2= 2.412E-17 \n",
+        "\t\t\t\t\t = 1.508E+02 eV\n",
+        "The energy corresponding to the 2nd excited state is E3= 5.428E-17 J\n",
+        "\t\t\t\t\t = 3.392E+02 eV\n",
+        " There is slight variation in the answer due to round off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.25 , Page no:113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "dx=1E-8; #in m (length of box or uncertainty in the position)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#From uncertainty principle dx*dp=h and dp=m*dv\n",
+      "#therefore we have\n",
+      "dv=h/(m*dx); #calculation of minimum uncertainty in the velocity\n",
+      "dv1=dv*1E-3; #changing unit from m/s to Km/s\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum uncertainty in the velocity of electron i dv=\",'%.3E'%dv,\"m/s\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t        =\",round(dv1,2),\"Km/s\";\n",
+      "print \"Note: There is slight variation in the answer due to round off error\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum uncertainty in the velocity of electron i dv= 7.281E+04 m/s\n",
+        "\t\t\t\t\t\t        = 72.81 Km/s\n",
+        "Note: There is slight variation in the answer due to round off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.26 , Page no:113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "a=4E-10; #in m (length of the box)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "h=6.626E-34; #in J-s (Planck'c constant)\n",
+      "n1=1; #ground state\n",
+      "e=1.6*1E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since  E_n=n^2*h^2/(8*m*a^2)   (Energy corresponding to nth quantum state)\n",
+      "E1=n1**2*h**2/(8*m*a**2); #calculation of energy corresponding to the ground state\n",
+      "E11=E1/e; #changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The minimum energy of electron is E1=\",'%.3E'%E1,\"J (Note: The answer in the book  is wrong due to printing error)\";\n",
+      "print\"\\t\\t\\t\\t    =\",round(E11,3),\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum energy of electron is E1= 3.769E-19 J (Note: The answer in the book  is wrong due to printing error)\n",
+        "\t\t\t\t    = 2.356 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_06_Electron_Theory_and_Band_Theory_of_Metals.ipynb b/Applied_Physics/Chapter_06_Electron_Theory_and_Band_Theory_of_Metals.ipynb
new file mode 100755
index 00000000..ff063bb6
--- /dev/null
+++ b/Applied_Physics/Chapter_06_Electron_Theory_and_Band_Theory_of_Metals.ipynb
@@ -0,0 +1,561 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:0c3d2d354976eaba7e5a0f2e0cf4b1fd72cd55b3826ca7e7cd6acde8afff2cdf"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6:Electron Theory and Band Theory of Metals"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.1 , Page no:146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=8.5E28; #in 1/m^3 (density of electron)\n",
+      "m_e=9.11E-31; #in Kg (mass of electron)\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "T=300; #in K (temperature)\n",
+      "p=1.69E-8; #in ohm-m (resistivity)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=math.sqrt(3*k*m_e*T)/(n*e**2*p); #calculation of mean free path\n",
+      "lambda2=lambda1*1E9; #changing unit from m to nanometer\n",
+      "\n",
+      "#result\n",
+      "print\"The mean free path of electron is =\",lambda1,\"m\";\n",
+      "print\"\\t\\t\\t\\t  =\",round(lambda2,2),\"nm\";\n",
+      "#Note: answer in the book is wrong due to printing mistake"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mean free path of electron is = 2.89250681437e-09 m\n",
+        "\t\t\t\t  = 2.89 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.2 , Page no:146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "P_E=1; #in percentage (probability that a state with an energy 0.5 eV above Fermi energy will be occupied)\n",
+      "E=0.5; #in eV (energy above Fermi level)\n",
+      "\n",
+      "#calculate\n",
+      "P_E=1/100; #changing percentage into ratio\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "#P_E=1/(1+exp((E-E_F)/k*T))\n",
+      "#Rearranging this equation, we get\n",
+      "#T=(E-E_F)/k*log((1/P_E)-1)\n",
+      "#Since E-E_F has been denoted by E  therefore\n",
+      "T=E/(k*math.log((1/P_E)-1));\n",
+      "\n",
+      "#result\n",
+      "print\"The temperature is T=\",round(T),\"K\";\n",
+      "# Note: There is slight variation in the answer due to logarithm function"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The temperature is T= 1262.0 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.3 , Page no:147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=5.8E28; #in 1/m^3 (density of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "p=1.54E-8; #in ohm-m (resistivity)\n",
+      "\n",
+      "#calculate\n",
+      "t=m/(n*e**2*p); #calculation of relaxation time\n",
+      "\n",
+      "#result\n",
+      "print\"The relaxation time of conduction electrons is =\",t,\"sec\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relaxation time of conduction electrons is = 3.97972178683e-14 sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.4 , Page no:147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=8.5E28; #in 1/m^3 (density of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "sigma=6E7; #in 1/ohm-m (conductivity)\n",
+      "E_F=7; #in E=eV (Fermi energy of Copper)\n",
+      "\n",
+      "#calculate\n",
+      "E_F=E_F*e; #changing unit from eV to J\n",
+      "v_F=math.sqrt(2*E_F/m); #calculation of velocity of electrons\n",
+      "#Since sigma=n*e^2*lambda/(2*m*v_F)\n",
+      "#Therefore we have\n",
+      "lambda1=2*m*v_F*sigma/(n*e**2); #calculation of mean free path\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity of the electrons is v_F=\",v_F,\"m/s   (roundoff error)\";\n",
+      "print\"The mean free path traveled by the electrons is=\",round(lambda2),\"Angstrom\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity of the electrons is v_F= 1568929.08111 m/s   (roundoff error)\n",
+        "The mean free path traveled by the electrons is= 787.0 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.5 , Page no:147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=6.5E28; #in 1/m^3 (density of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "p=1.43E-8; #in ohm-m (resistivity)\n",
+      "\n",
+      "#calculate\n",
+      "t=m/(n*e**2*p); #calculation of relaxation time\n",
+      "\n",
+      "#result\n",
+      "print\"The relaxation time of conduction electrons is =\",t,\"sec\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relaxation time of conduction electrons is = 3.8243006993e-14 sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.6 , Page no:148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=30; #in Celcius (temperature)\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "m_p=1.67E-27; #in Kg (mass of proton)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "T=T+273; #changing temperature from Celcius to Kelvin\n",
+      "KE=(3/2)*k*T; #calculation of average kinetic energy\n",
+      "KE1=KE/e; #changing unit from J to eV\n",
+      "m=1.008*2*m_p; #calculating mass of hydrogen gas molecule\n",
+      "c=math.sqrt(3*k*T/m); #calculation of velocity\n",
+      "\n",
+      "#result\n",
+      "print\"The average kinetic energy of gas ,molecules is KE=\",KE,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t  =\",KE1,\"eV   (Answer is wrong in textbook)\";\n",
+      "print\"The velocity of molecules is c=\",round(c,2),\"m/s\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The average kinetic energy of gas ,molecules is KE= 6.2721e-21 J\n",
+        "\t\t\t\t\t\t  = 0.039200625 eV   (Answer is wrong in textbook)\n",
+        "The velocity of molecules is c= 1930.27 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.7 , Page no:148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E=10; #in eV (kinetic energy for each electron and proton)\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_p=1.67E-27; #in Kg (mass of proton)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "#since E=m*v^2/2\n",
+      "#therefore  v=sqrt(2E/m)\n",
+      "v_e=math.sqrt(2*E/m_e); #calculation of kinetic energy of electron\n",
+      "v_p=math.sqrt(2*E/m_p); #calculation of kinetic energy of proton\n",
+      "\n",
+      "#result\n",
+      "print\"The kinetic energy of electron is v_e=\",v_e,\"m/s\";\n",
+      "print\"The kinetic energy of proton is v_p=\",v_p,\"m/s\";\n",
+      "print \"Note: Answer is wrong in textbook\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The kinetic energy of electron is v_e= 1875228.92375 m/s\n",
+        "The kinetic energy of proton is v_p= 43774.0524132 m/s\n",
+        "Note: Answer is wrong in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.8 , Page no:149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "I=100; #in A (current in the wire)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "A=10; #in mm^2 (cross-sectional area)\n",
+      "n=8.5E28; #in 1/m^3 (density of electron)\n",
+      "\n",
+      "#calculate\n",
+      "A=A*1E-6; #changing unit from mm^2 to m^2\n",
+      "v_d=I/(n*A*e);\n",
+      "\n",
+      "#result\n",
+      "print\"The drift velocity of free electrons is v_d=\",v_d,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The drift velocity of free electrons is v_d= 0.000735294117647 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.9 , Page no:149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "I=4;#in A (current in the conductor)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "A=1E-6; #in m^2 (cross-sectional area)\n",
+      "N_A=6.02E23; #in atoms/gram-atom (Avogadro's number)\n",
+      "p=8.9; #in g/cm^3 (density)\n",
+      "M=63.6; #atomic mass of copper\n",
+      "\n",
+      "#calculate\n",
+      "n=N_A*p/M; #Calculation of density of electrons in g/cm^3\n",
+      "n1=n*1E6; #changing unit from g/cm^3 to g/m^3\n",
+      "v_d=I/(n1*A*e);\n",
+      "\n",
+      "#result\n",
+      "print\"The density of copper atoms is n=\",n,\"atoms/m^3\";\n",
+      "print\"\\t\\t\\t        =\",n1,\"atoms/m^3\";\n",
+      "print\"The average drift velocity of free electrons is v_d=\",v_d,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of copper atoms is n= 8.42421383648e+22 atoms/m^3\n",
+        "\t\t\t        = 8.42421383648e+28 atoms/m^3\n",
+        "The average drift velocity of free electrons is v_d= 0.000296763596999 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.10 , Page no:149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=9E28; #in 1/m^3 (density of valence electrons)\n",
+      "sigma=6E7; #in mho/m (conductivity of copper)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since sigma=n*e*mu  therefore\n",
+      "mu=sigma/(n*e); #calculation of mobility of electron\n",
+      "\n",
+      "#result\n",
+      "print\"The mobility of electrons is =\",mu,\"m^2/V-s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mobility of electrons is = 0.00416666666667 m^2/V-s\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.11 , Page no:150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E_F=5.51; #in eV (Fermi energy in Silver)\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#part-(a)\n",
+      "Eo=(3/5)*E_F; #calculation of average energy of free electron at 0K\n",
+      "#part-(b)\n",
+      "Eo1=Eo*e; #changing unit from eV to J\n",
+      "#Since for a classical particle E=(3/2)*k*T\n",
+      "#therefroe we have\n",
+      "T=(2/3)*Eo1/k; #calculation of temperature for a classical particle (an ideal gas)\n",
+      "\n",
+      "#result\n",
+      "print\"The average energy of free electron at 0K is Eo=\",Eo,\"eV\";\n",
+      "print\"The temperature at which a classical particle have this much energy is T=\",T,\"K\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The average energy of free electron at 0K is Eo= 3.306 eV\n",
+        "The temperature at which a classical particle have this much energy is T= 25553.6231884 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.12 , Page no:150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E_F_L=4.7; #in eV (Fermi energy in Lithium)\n",
+      "E_F_M=2.35; #in eV (Fermi energy in a metal)\n",
+      "n_L=4.6E28; #in 1/m^3 (density of electron in Lithium)\n",
+      "\n",
+      "#calculate\n",
+      "#Since n=((2*m/h)^3/2)*E_F^(3/2)*(8*pi/3) and all things except E_F are constant\n",
+      "# Therefore we have n=C*E_F^(3/2)   where C is proportionality constant\n",
+      "#n1/n2=(E_F_1/E_F_2)^(3/2)\n",
+      "#Therefore we have\n",
+      "n_M=n_L*(E_F_M/E_F_L); #calculation of electron density for a metal\n",
+      "\n",
+      "#result\n",
+      "print\"The lectron density for a metal is =\",n_M,\"1/m^3\";\n",
+      "print \"Note: Answer in the book is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lectron density for a metal is = 2.3e+28 1/m^3\n",
+        "Note: Answer in the book is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_06_Electron_Theory_and_Band_Theory_of_Metals_1.ipynb b/Applied_Physics/Chapter_06_Electron_Theory_and_Band_Theory_of_Metals_1.ipynb
new file mode 100755
index 00000000..d52f3a45
--- /dev/null
+++ b/Applied_Physics/Chapter_06_Electron_Theory_and_Band_Theory_of_Metals_1.ipynb
@@ -0,0 +1,561 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3c7e08d83e902e2949e4fdcd2bc98d527fe589fabb9636cea78c35c42abb8038"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6:Electron Theory and Band Theory of Metals"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.1 , Page no:146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=8.5E28; #in 1/m^3 (density of electron)\n",
+      "m_e=9.11E-31; #in Kg (mass of electron)\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "T=300; #in K (temperature)\n",
+      "p=1.69E-8; #in ohm-m (resistivity)\n",
+      "\n",
+      "#calculate\n",
+      "lambda1=math.sqrt(3*k*m_e*T)/(n*e**2*p); #calculation of mean free path\n",
+      "lambda2=lambda1*1E9; #changing unit from m to nanometer\n",
+      "\n",
+      "#result\n",
+      "print\"The mean free path of electron is =\",'%.3E'%lambda1,\"m\";\n",
+      "print\"\\t\\t\\t\\t  =\",round(lambda2,2),\"nm\";\n",
+      "#Note: answer in the book is wrong due to printing mistake"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mean free path of electron is = 2.893E-09 m\n",
+        "\t\t\t\t  = 2.89 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.2 , Page no:146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "P_E=1; #in percentage (probability that a state with an energy 0.5 eV above Fermi energy will be occupied)\n",
+      "E=0.5; #in eV (energy above Fermi level)\n",
+      "\n",
+      "#calculate\n",
+      "P_E=1/100; #changing percentage into ratio\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "#P_E=1/(1+exp((E-E_F)/k*T))\n",
+      "#Rearranging this equation, we get\n",
+      "#T=(E-E_F)/k*log((1/P_E)-1)\n",
+      "#Since E-E_F has been denoted by E  therefore\n",
+      "T=E/(k*math.log((1/P_E)-1));\n",
+      "\n",
+      "#result\n",
+      "print\"The temperature is T=\",round(T),\"K\";\n",
+      "# Note: There is slight variation in the answer due to logarithm function"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The temperature is T= 1262.0 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.3 , Page no:147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=5.8E28; #in 1/m^3 (density of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "p=1.54E-8; #in ohm-m (resistivity)\n",
+      "\n",
+      "#calculate\n",
+      "t=m/(n*e**2*p); #calculation of relaxation time\n",
+      "\n",
+      "#result\n",
+      "print\"The relaxation time of conduction electrons is =\",'%.3E'%t,\"sec\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relaxation time of conduction electrons is = 3.980E-14 sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.4 , Page no:147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=8.5E28; #in 1/m^3 (density of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "sigma=6E7; #in 1/ohm-m (conductivity)\n",
+      "E_F=7; #in E=eV (Fermi energy of Copper)\n",
+      "\n",
+      "#calculate\n",
+      "E_F=E_F*e; #changing unit from eV to J\n",
+      "v_F=math.sqrt(2*E_F/m); #calculation of velocity of electrons\n",
+      "#Since sigma=n*e^2*lambda/(2*m*v_F)\n",
+      "#Therefore we have\n",
+      "lambda1=2*m*v_F*sigma/(n*e**2); #calculation of mean free path\n",
+      "lambda2=lambda1*1E10; #changing unit from m to Angstrom\n",
+      "\n",
+      "#result\n",
+      "print\"The velocity of the electrons is v_F=\",'%.3E'%v_F,\"m/s   (roundoff error)\";\n",
+      "print\"The mean free path traveled by the electrons is=\",round(lambda2),\"Angstrom\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity of the electrons is v_F= 1.569E+06 m/s   (roundoff error)\n",
+        "The mean free path traveled by the electrons is= 787.0 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.5 , Page no:147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=6.5E28; #in 1/m^3 (density of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "p=1.43E-8; #in ohm-m (resistivity)\n",
+      "\n",
+      "#calculate\n",
+      "t=m/(n*e**2*p); #calculation of relaxation time\n",
+      "\n",
+      "#result\n",
+      "print\"The relaxation time of conduction electrons is =\",'%.3E'%t,\"sec\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relaxation time of conduction electrons is = 3.824E-14 sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.6 , Page no:148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=30; #in Celcius (temperature)\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "m_p=1.67E-27; #in Kg (mass of proton)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "T=T+273; #changing temperature from Celcius to Kelvin\n",
+      "KE=(3/2)*k*T; #calculation of average kinetic energy\n",
+      "KE1=KE/e; #changing unit from J to eV\n",
+      "m=1.008*2*m_p; #calculating mass of hydrogen gas molecule\n",
+      "c=math.sqrt(3*k*T/m); #calculation of velocity\n",
+      "\n",
+      "#result\n",
+      "print\"The average kinetic energy of gas ,molecules is KE=\",'%.3E'%KE,\"J\";\n",
+      "print\"\\t\\t\\t\\t\\t\\t  =\",round(KE1,4),\"eV   (Answer is wrong in textbook)\";\n",
+      "print\"The velocity of molecules is c=\",round(c,2),\"m/s\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The average kinetic energy of gas ,molecules is KE= 6.272E-21 J\n",
+        "\t\t\t\t\t\t  = 0.0392 eV   (Answer is wrong in textbook)\n",
+        "The velocity of molecules is c= 1930.27 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.7 , Page no:148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E=10; #in eV (kinetic energy for each electron and proton)\n",
+      "m_e=9.1E-31; #in Kg (mass of electron)\n",
+      "m_p=1.67E-27; #in Kg (mass of proton)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "E=E*e; #changing unit from eV to J\n",
+      "#since E=m*v^2/2\n",
+      "#therefore  v=sqrt(2E/m)\n",
+      "v_e=math.sqrt(2*E/m_e); #calculation of kinetic energy of electron\n",
+      "v_p=math.sqrt(2*E/m_p); #calculation of kinetic energy of proton\n",
+      "\n",
+      "#result\n",
+      "print\"The kinetic energy of electron is v_e=\",'%.3E'%v_e,\"m/s\";\n",
+      "print\"The kinetic energy of proton is v_p=\",'%.3E'%v_p,\"m/s\";\n",
+      "print \"Note: Answer is wrong in textbook\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The kinetic energy of electron is v_e= 1.875E+06 m/s\n",
+        "The kinetic energy of proton is v_p= 4.377E+04 m/s\n",
+        "Note: Answer is wrong in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.8 , Page no:149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "I=100; #in A (current in the wire)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "A=10; #in mm^2 (cross-sectional area)\n",
+      "n=8.5E28; #in 1/m^3 (density of electron)\n",
+      "\n",
+      "#calculate\n",
+      "A=A*1E-6; #changing unit from mm^2 to m^2\n",
+      "v_d=I/(n*A*e);\n",
+      "\n",
+      "#result\n",
+      "print\"The drift velocity of free electrons is v_d=\",'%.3E'%v_d,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The drift velocity of free electrons is v_d= 7.353E-04 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.9 , Page no:149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "I=4;#in A (current in the conductor)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "A=1E-6; #in m^2 (cross-sectional area)\n",
+      "N_A=6.02E23; #in atoms/gram-atom (Avogadro's number)\n",
+      "p=8.9; #in g/cm^3 (density)\n",
+      "M=63.6; #atomic mass of copper\n",
+      "\n",
+      "#calculate\n",
+      "n=N_A*p/M; #Calculation of density of electrons in g/cm^3\n",
+      "n1=n*1E6; #changing unit from g/cm^3 to g/m^3\n",
+      "v_d=I/(n1*A*e);\n",
+      "\n",
+      "#result\n",
+      "print\"The density of copper atoms is n=\",'%.3E'%n,\"atoms/m^3\";\n",
+      "print\"\\t\\t\\t        =\",'%.3E'%n1,\"atoms/m^3\";\n",
+      "print\"The average drift velocity of free electrons is v_d=\",'%.3E'%v_d,\"m/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of copper atoms is n= 8.424E+22 atoms/m^3\n",
+        "\t\t\t        = 8.424E+28 atoms/m^3\n",
+        "The average drift velocity of free electrons is v_d= 2.968E-04 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.10 , Page no:149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=9E28; #in 1/m^3 (density of valence electrons)\n",
+      "sigma=6E7; #in mho/m (conductivity of copper)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#Since sigma=n*e*mu  therefore\n",
+      "mu=sigma/(n*e); #calculation of mobility of electron\n",
+      "\n",
+      "#result\n",
+      "print\"The mobility of electrons is =\",'%.3E'%mu,\"m^2/V-s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mobility of electrons is = 4.167E-03 m^2/V-s\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.11 , Page no:150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E_F=5.51; #in eV (Fermi energy in Silver)\n",
+      "k=1.38E-23; #in J/K (Boltzmann's constant)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#part-(a)\n",
+      "Eo=(3/5)*E_F; #calculation of average energy of free electron at 0K\n",
+      "#part-(b)\n",
+      "Eo1=Eo*e; #changing unit from eV to J\n",
+      "#Since for a classical particle E=(3/2)*k*T\n",
+      "#therefroe we have\n",
+      "T=(2/3)*Eo1/k; #calculation of temperature for a classical particle (an ideal gas)\n",
+      "\n",
+      "#result\n",
+      "print\"The average energy of free electron at 0K is Eo=\",Eo,\"eV\";\n",
+      "print\"The temperature at which a classical particle have this much energy is T=\",'%.3E'%T,\"K\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The average energy of free electron at 0K is Eo= 3.306 eV\n",
+        "The temperature at which a classical particle have this much energy is T= 2.555E+04 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.12 , Page no:150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "E_F_L=4.7; #in eV (Fermi energy in Lithium)\n",
+      "E_F_M=2.35; #in eV (Fermi energy in a metal)\n",
+      "n_L=4.6E28; #in 1/m^3 (density of electron in Lithium)\n",
+      "\n",
+      "#calculate\n",
+      "#Since n=((2*m/h)^3/2)*E_F^(3/2)*(8*pi/3) and all things except E_F are constant\n",
+      "# Therefore we have n=C*E_F^(3/2)   where C is proportionality constant\n",
+      "#n1/n2=(E_F_1/E_F_2)^(3/2)\n",
+      "#Therefore we have\n",
+      "n_M=n_L*(E_F_M/E_F_L); #calculation of electron density for a metal\n",
+      "\n",
+      "#result\n",
+      "print\"The lectron density for a metal is =\",n_M,\"1/m^3\";\n",
+      "print \"Note: Answer in the book is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lectron density for a metal is = 2.3e+28 1/m^3\n",
+        "Note: Answer in the book is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_07_Dielectric_Properties.ipynb b/Applied_Physics/Chapter_07_Dielectric_Properties.ipynb
new file mode 100755
index 00000000..7280033d
--- /dev/null
+++ b/Applied_Physics/Chapter_07_Dielectric_Properties.ipynb
@@ -0,0 +1,488 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:5117f9d565431f3f25738652845b14f8a6fa036b5c0992b0b2e5d69631937306"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7:Dielectric Properties"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.1 , Page no:187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "A=100; #in cm^2 (cross-sectional area)\n",
+      "d=1; #in cm (seperation between plates)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "V=100; #in V (potential difference)\n",
+      "\n",
+      "#calculate\n",
+      "A1=A*1E-4; #changing unit from cm^2 to m^2\n",
+      "d1=d*1E-2; #changing unit from cm to m\n",
+      "C=Eo*A1/d1; #calculation of capacitance\n",
+      "Q=C*V; #calculation of charge\n",
+      "C1=C*1E12; #changing unit of capacitance from F to pF\n",
+      "\n",
+      "#result\n",
+      "print\"The capacitance of capacitor is C=\",C,\"C\";\n",
+      "print\"\\t\\t\\t\\t =\",C1,\"C\";\n",
+      "print\"The charge on the plates is Q=\",Q,\"C\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The capacitance of capacitor is C= 8.85e-12 C\n",
+        "\t\t\t\t = 8.85 C\n",
+        "The charge on the plates is Q= 8.85e-10 C\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.2 , Page no:187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "A=650; #in mm^2 (cross-sectional area)\n",
+      "d=4; #in mm (seperation between plates)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "Er=3.5; #di-electric constant of the material\n",
+      "Q=2E-10; #in C (charge on plates)\n",
+      "\n",
+      "#calculate\n",
+      "A1=A*1E-6; #changing unit from mm^2 to m^2\n",
+      "d1=d*1E-3; #changing unit from mm to m\n",
+      "C=Er*Eo*A1/d1; #calculation of capacitance\n",
+      "V=Q/C; #calculation of charge\n",
+      "C1=C*1E12; #changing unit of capacitance from F to pF\n",
+      "\n",
+      "#result\n",
+      "print\"The capacitance of capacitor is C=\",C,\"C\",\n",
+      "print\"\\n\\t\\t\\t         =\",C1,\"pF\";\n",
+      "print\"The resultant voltage across the capacitor is V=\",round(V,3),\"V\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The capacitance of capacitor is C= 5.0334375e-12 C \n",
+        "\t\t\t         = 5.0334375 pF\n",
+        "The resultant voltage across the capacitor is V= 39.734 V\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.3 , Page no:188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=2.7E25; #in 1/m^3 (density of atoms)\n",
+      "E=1E6; #in V/m (electric field)\n",
+      "Z=2; #atomic number of Helium \n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "Er=1.0000684; #(dielectric constant of the material)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "#since  alpha=Eo*(Er-1)/N=4*pi*Eo*r_0^3 \n",
+      "#Therefore we have r_0^3=(Er-1)/(4*pi*N)\n",
+      "r_0=((Er-1)/(4*pi*N))**(1/3); #calculation of radius of electron cloud\n",
+      "x=4*pi*Eo*E*r_0/(Z*e); #calculation of dispalcement\n",
+      "\n",
+      "#result\n",
+      "print\"The radius of electron cloud is r_0=\",r_0,\"m\";\n",
+      "print\"The displacement is x=\",x,\"m\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radius of electron cloud is r_0= 5.86454377988e-11 m\n",
+        "The displacement is x= 20371.2258874 m\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.4 , Page no:188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=1.000134; #di-elecrtic constant of the neon gas at NTP\n",
+      "E=90000; #in V/m (electric field)\n",
+      "Eo=8.85E-12; #in C/N-m^2 (absolute premittivity)\n",
+      "N_A=6.023E26; #in atoms/Kg-mole (Avogadro's number)\n",
+      "V=22.4; #in m^3 (volume of gas at NTP\n",
+      "\n",
+      "#calculate\n",
+      "n=N_A/V; #calculaton of density of atoms\n",
+      "#Since P=n*p=(k-1)*Eo*E\n",
+      "#therefore we have\n",
+      "p=(K-1)*Eo*E/n; #calculation of dipole moment induced\n",
+      "alpha=p/E; #calculation of atomic polarisability\n",
+      "\n",
+      "#result\n",
+      "print\"The dipole moment induced in each atom is p=\",p,\"C-m\";\n",
+      "print\"The atomic polarisability of neon is =\",alpha,\"c-m^2/V\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The dipole moment induced in each atom is p= 3.96940793625e-36 C-m\n",
+        "The atomic polarisability of neon is = 4.4104532625e-41 c-m^2/V\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5 , Page no:189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Er=3.75; #di-elecrtic constant of sulphur at 27 degree Celcius\n",
+      "gama=1/3; #internal field constant\n",
+      "p=2050; #in Kg/m^3 (density)\n",
+      "M_A=32; #in amu (atomic weight of sulphur)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "N=6.022E23; #Avogadro's number\n",
+      "\n",
+      "#calculate\n",
+      "#Since ((Er-1)/(Er+2))*(M_A/p)=(N/(3*Eo))*alpha_e\n",
+      "#therefore we have\n",
+      "alpha_e=((Er-1)/(Er+2))*(M_A/p)*(3*Eo/N); #calculation of electronic polarisability of sulphur\n",
+      "\n",
+      "#result\n",
+      "print\"The electronic polarisability of sulphur is =\",alpha_e,\"Fm^2   (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electronic polarisability of sulphur is = 3.29143088985e-37 Fm^2   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.6 , Page no:189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Er=1.0000684; #di-elecrtic constant of Helium gas at NTP\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "N=2.7E25; #number of atomsper unit volume\n",
+      "\n",
+      "#calculate\n",
+      "#Since Er-1=(N/Eo)*alpha_e\n",
+      "#therefore we have\n",
+      "alpha_e=Eo*(Er-1)/N; #calculation of electronic polarisability of Helium\n",
+      "\n",
+      "#result\n",
+      "print\"The electronic polarisability of Helium gas is =\",alpha_e,\"Fm^2    (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electronic polarisability of Helium gas is = 2.242e-41 Fm^2    (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.7 , Page no:190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=3E28; #in atoms/m^3 (density of atoms)\n",
+      "alpha_e=1E-40; #in F-m^2 (electronic polarisability)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "\n",
+      "#calculate\n",
+      "#Since (Er-1)/(Er+2)=N*alpha_e/(3*Eo)\n",
+      "#therefore we have\n",
+      "Er=(2*(N*alpha_e/(3*Eo))+1)/(1-(N*alpha_e/(3*Eo)));\n",
+      "#calculation of dielectric constant of the material\n",
+      "\n",
+      "#result\n",
+      "print\"The dielectric constant of the material is Er=\",Er,\"F/m\",\n",
+      "print \"NOTE: The answer in the book is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The dielectric constant of the material is Er= 1.3821656051 F/m NOTE: The answer in the book is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.8 , Page no:190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Er=4; #relative permittivity of sulphur\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "NA=2.08E3; #in Kg/m^3 (density of atoms in sulphur)\n",
+      "\n",
+      "#calculate\n",
+      "#Since ((Er-1)/(Er+2))*(M_A/p)=(N/(3*Eo))*alpha_e\n",
+      "#therefore we have\n",
+      "alpha_e=((Er-1)/(Er+2))*(3*Eo/NA); #calculation of electronic polarisability of sulphur\n",
+      "\n",
+      "#result\n",
+      "print\"The electronic polarisability of sulphur is =\",alpha_e,\"Fm^2\";\n",
+      "print \"NOTE: The answer in the book is wrong and they used the wrong formula \" \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electronic polarisability of sulphur is = 6.38221153846e-15 Fm^2\n",
+        "NOTE: The answer in the book is wrong and they used the wrong formula \n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.9 , Page no:190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "alpha1=2.5E-39; #in C^2-m/N (dielectric constant at 300K)\n",
+      "alpha2=2.0E-39; #in C^2-m/N (dielectric constant at 400K)\n",
+      "T1=300; #in K(first temperature)\n",
+      "T2=400; #in K(second temperature)\n",
+      "\n",
+      "#calculate\n",
+      "#since alpha=alpha_d+alpha0 and alpha0=Beta/T\n",
+      "#therefore alpha=alpha_d+(Beta/T)\n",
+      "#since alpha1=alpha_d+(Beta/T1)  and alpha2=alpha_d+(Beta/T2)\n",
+      "#therefore alpha1-apha2=Beta*((1/T1)-(1/T2))\n",
+      "#or Beta= (alpha1-apha2)/ ((1/T1)-(1/T2))\n",
+      "Beta= (alpha1-alpha2)/ ((1/T1)-(1/T2)); #calculation of Beta\n",
+      "alpha_d=alpha1-(Beta/T1); #calculation of polarisability due to defromation\n",
+      "alpha0_1=Beta/T1; #calculation of polarisability due to permanent dipole moment at 300K\n",
+      "alpha0_2=Beta/T2;  #calculation of polarisability due to permanent dipole moment at 400K\n",
+      "\n",
+      "#result\n",
+      "print\"The polarisability due to permanent dipole moment at 300K is =\",alpha0_1,\"C^2-m/N\";\n",
+      "print\"The polarisability due to permanent dipole moment at 400K is =\",alpha0_2,\"C^2-m/N\";\n",
+      "print\"The polarisability due to deformation of the molecules is =\",alpha_d,\"C^2-m/N\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The polarisability due to permanent dipole moment at 300K is = 2e-39 C^2-m/N\n",
+        "The polarisability due to permanent dipole moment at 400K is = 1.5e-39 C^2-m/N\n",
+        "The polarisability due to deformation of the molecules is = 5e-40 C^2-m/N\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.10 , Page no:191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=1.5; #refractive index\n",
+      "Er=5.6; #dielectric constant\n",
+      "\n",
+      "#calculate\n",
+      "#since (Er-1)/(Er+2)=N*(alpha_e+alpha_i)/(3*E0)   Clausius-Mossotti equation\n",
+      "#and  (n^2-1)/(n^2+2)=N*alpha_e/(3*E0) \n",
+      "#from above two equations, we get  ((n^2-1)/(n^2+2))*((Er+2)/(Er-1))=alpha_e/(alpha_e+alpha_i)\n",
+      "#or alpha_i/ (alpha_e+alpha_i)= 1-((n^2-1)/(n^2+2))*((Er+2)/(Er-1))= (say P)\n",
+      "#where P is fractional ionisational polarisability\n",
+      "P=1-((n**2-1)/(n**2+2))*((Er+2)/(Er-1)); #calculation of fractional ionisational polarisability\n",
+      "P1=P*100; #calculation of percentage of  ionisational polarisability\n",
+      "\n",
+      "#result\n",
+      "print\"The percentage of  ionisational polarisability is =\",P1,\"percent\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The percentage of  ionisational polarisability is = 51.4066496164 percent\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_07_Dielectric_Properties_1.ipynb b/Applied_Physics/Chapter_07_Dielectric_Properties_1.ipynb
new file mode 100755
index 00000000..85a277ef
--- /dev/null
+++ b/Applied_Physics/Chapter_07_Dielectric_Properties_1.ipynb
@@ -0,0 +1,488 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d363aa85787801a09c4a4d5d3e8dc3b5551836ae64a0a0c025744f99f230a4b4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7:Dielectric Properties"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.1 , Page no:187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "A=100; #in cm^2 (cross-sectional area)\n",
+      "d=1; #in cm (seperation between plates)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "V=100; #in V (potential difference)\n",
+      "\n",
+      "#calculate\n",
+      "A1=A*1E-4; #changing unit from cm^2 to m^2\n",
+      "d1=d*1E-2; #changing unit from cm to m\n",
+      "C=Eo*A1/d1; #calculation of capacitance\n",
+      "Q=C*V; #calculation of charge\n",
+      "C1=C*1E12; #changing unit of capacitance from F to pF\n",
+      "\n",
+      "#result\n",
+      "print\"The capacitance of capacitor is C=\",C,\"C\";\n",
+      "print\"\\t\\t\\t\\t =\",C1,\"C\";\n",
+      "print\"The charge on the plates is Q=\",Q,\"C\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The capacitance of capacitor is C= 8.85e-12 C\n",
+        "\t\t\t\t = 8.85 C\n",
+        "The charge on the plates is Q= 8.85e-10 C\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.2 , Page no:187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "A=650; #in mm^2 (cross-sectional area)\n",
+      "d=4; #in mm (seperation between plates)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "Er=3.5; #di-electric constant of the material\n",
+      "Q=2E-10; #in C (charge on plates)\n",
+      "\n",
+      "#calculate\n",
+      "A1=A*1E-6; #changing unit from mm^2 to m^2\n",
+      "d1=d*1E-3; #changing unit from mm to m\n",
+      "C=Er*Eo*A1/d1; #calculation of capacitance\n",
+      "V=Q/C; #calculation of charge\n",
+      "C1=C*1E12; #changing unit of capacitance from F to pF\n",
+      "\n",
+      "#result\n",
+      "print\"The capacitance of capacitor is C=\",'%.3E'%C,\"C\",\n",
+      "print\"\\n\\t\\t\\t         =\",round(C1,2),\"pF\";\n",
+      "print\"The resultant voltage across the capacitor is V=\",round(V,2),\"V\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The capacitance of capacitor is C= 5.033E-12 C \n",
+        "\t\t\t         = 5.03 pF\n",
+        "The resultant voltage across the capacitor is V= 39.73 V\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.3 , Page no:188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=2.7E25; #in 1/m^3 (density of atoms)\n",
+      "E=1E6; #in V/m (electric field)\n",
+      "Z=2; #atomic number of Helium \n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "Er=1.0000684; #(dielectric constant of the material)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "#since  alpha=Eo*(Er-1)/N=4*pi*Eo*r_0^3 \n",
+      "#Therefore we have r_0^3=(Er-1)/(4*pi*N)\n",
+      "r_0=((Er-1)/(4*pi*N))**(1/3); #calculation of radius of electron cloud\n",
+      "x=4*pi*Eo*E*r_0/(Z*e); #calculation of dispalcement\n",
+      "\n",
+      "#result\n",
+      "print\"The radius of electron cloud is r_0=\",'%.3E'%r_0,\"m\";\n",
+      "print\"The displacement is x=\",'%.3E'%x,\"m\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radius of electron cloud is r_0= 5.865E-11 m\n",
+        "The displacement is x= 2.037E+04 m\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.4 , Page no:188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "K=1.000134; #di-elecrtic constant of the neon gas at NTP\n",
+      "E=90000; #in V/m (electric field)\n",
+      "Eo=8.85E-12; #in C/N-m^2 (absolute premittivity)\n",
+      "N_A=6.023E26; #in atoms/Kg-mole (Avogadro's number)\n",
+      "V=22.4; #in m^3 (volume of gas at NTP\n",
+      "\n",
+      "#calculate\n",
+      "n=N_A/V; #calculaton of density of atoms\n",
+      "#Since P=n*p=(k-1)*Eo*E\n",
+      "#therefore we have\n",
+      "p=(K-1)*Eo*E/n; #calculation of dipole moment induced\n",
+      "alpha=p/E; #calculation of atomic polarisability\n",
+      "\n",
+      "#result\n",
+      "print\"The dipole moment induced in each atom is p=\",'%.3E'%p,\"C-m\";\n",
+      "print\"The atomic polarisability of neon is =\",'%.3E'%alpha,\"c-m^2/V\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The dipole moment induced in each atom is p= 3.969E-36 C-m\n",
+        "The atomic polarisability of neon is = 4.410E-41 c-m^2/V\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5 , Page no:189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Er=3.75; #di-elecrtic constant of sulphur at 27 degree Celcius\n",
+      "gama=1/3; #internal field constant\n",
+      "p=2050; #in Kg/m^3 (density)\n",
+      "M_A=32; #in amu (atomic weight of sulphur)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "N=6.022E23; #Avogadro's number\n",
+      "\n",
+      "#calculate\n",
+      "#Since ((Er-1)/(Er+2))*(M_A/p)=(N/(3*Eo))*alpha_e\n",
+      "#therefore we have\n",
+      "alpha_e=((Er-1)/(Er+2))*(M_A/p)*(3*Eo/N); #calculation of electronic polarisability of sulphur\n",
+      "\n",
+      "#result\n",
+      "print\"The electronic polarisability of sulphur is =\",'%.3E'%alpha_e,\"Fm^2   (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electronic polarisability of sulphur is = 3.291E-37 Fm^2   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.6 , Page no:189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Er=1.0000684; #di-elecrtic constant of Helium gas at NTP\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "N=2.7E25; #number of atomsper unit volume\n",
+      "\n",
+      "#calculate\n",
+      "#Since Er-1=(N/Eo)*alpha_e\n",
+      "#therefore we have\n",
+      "alpha_e=Eo*(Er-1)/N; #calculation of electronic polarisability of Helium\n",
+      "\n",
+      "#result\n",
+      "print\"The electronic polarisability of Helium gas is =\",'%.3E'%alpha_e,\"Fm^2    (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electronic polarisability of Helium gas is = 2.242E-41 Fm^2    (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.7 , Page no:190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "N=3E28; #in atoms/m^3 (density of atoms)\n",
+      "alpha_e=1E-40; #in F-m^2 (electronic polarisability)\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "\n",
+      "#calculate\n",
+      "#Since (Er-1)/(Er+2)=N*alpha_e/(3*Eo)\n",
+      "#therefore we have\n",
+      "Er=(2*(N*alpha_e/(3*Eo))+1)/(1-(N*alpha_e/(3*Eo)));\n",
+      "#calculation of dielectric constant of the material\n",
+      "\n",
+      "#result\n",
+      "print\"The dielectric constant of the material is Er=\",'%.3E'%Er,\"F/m\",\n",
+      "print \"NOTE: The answer in the book is wrong \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The dielectric constant of the material is Er= 1.382E+00 F/m NOTE: The answer in the book is wrong \n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.8 , Page no:190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Er=4; #relative permittivity of sulphur\n",
+      "Eo=8.85E-12; #in F/m (absolute permittivity)\n",
+      "NA=2.08E3; #in Kg/m^3 (density of atoms in sulphur)\n",
+      "\n",
+      "#calculate\n",
+      "#Since ((Er-1)/(Er+2))*(M_A/p)=(N/(3*Eo))*alpha_e\n",
+      "#therefore we have\n",
+      "alpha_e=((Er-1)/(Er+2))*(3*Eo/NA); #calculation of electronic polarisability of sulphur\n",
+      "\n",
+      "#result\n",
+      "print\"The electronic polarisability of sulphur is =\",'%.3E'%alpha_e,\"Fm^2\";\n",
+      "print \"NOTE: The answer in the book is wrong and they used the wrong formula \" \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electronic polarisability of sulphur is = 6.382E-15 Fm^2\n",
+        "NOTE: The answer in the book is wrong and they used the wrong formula \n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.9 , Page no:190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "alpha1=2.5E-39; #in C^2-m/N (dielectric constant at 300K)\n",
+      "alpha2=2.0E-39; #in C^2-m/N (dielectric constant at 400K)\n",
+      "T1=300; #in K(first temperature)\n",
+      "T2=400; #in K(second temperature)\n",
+      "\n",
+      "#calculate\n",
+      "#since alpha=alpha_d+alpha0 and alpha0=Beta/T\n",
+      "#therefore alpha=alpha_d+(Beta/T)\n",
+      "#since alpha1=alpha_d+(Beta/T1)  and alpha2=alpha_d+(Beta/T2)\n",
+      "#therefore alpha1-apha2=Beta*((1/T1)-(1/T2))\n",
+      "#or Beta= (alpha1-apha2)/ ((1/T1)-(1/T2))\n",
+      "Beta= (alpha1-alpha2)/ ((1/T1)-(1/T2)); #calculation of Beta\n",
+      "alpha_d=alpha1-(Beta/T1); #calculation of polarisability due to defromation\n",
+      "alpha0_1=Beta/T1; #calculation of polarisability due to permanent dipole moment at 300K\n",
+      "alpha0_2=Beta/T2;  #calculation of polarisability due to permanent dipole moment at 400K\n",
+      "\n",
+      "#result\n",
+      "print\"The polarisability due to permanent dipole moment at 300K is =\",'%.3E'%alpha0_1,\"C^2-m/N\";\n",
+      "print\"The polarisability due to permanent dipole moment at 400K is =\",'%.3E'%alpha0_2,\"C^2-m/N\";\n",
+      "print\"The polarisability due to deformation of the molecules is =\",'%.3E'%alpha_d,\"C^2-m/N\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The polarisability due to permanent dipole moment at 300K is = 2.000E-39 C^2-m/N\n",
+        "The polarisability due to permanent dipole moment at 400K is = 1.500E-39 C^2-m/N\n",
+        "The polarisability due to deformation of the molecules is = 5.000E-40 C^2-m/N\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.10 , Page no:191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "n=1.5; #refractive index\n",
+      "Er=5.6; #dielectric constant\n",
+      "\n",
+      "#calculate\n",
+      "#since (Er-1)/(Er+2)=N*(alpha_e+alpha_i)/(3*E0)   Clausius-Mossotti equation\n",
+      "#and  (n^2-1)/(n^2+2)=N*alpha_e/(3*E0) \n",
+      "#from above two equations, we get  ((n^2-1)/(n^2+2))*((Er+2)/(Er-1))=alpha_e/(alpha_e+alpha_i)\n",
+      "#or alpha_i/ (alpha_e+alpha_i)= 1-((n^2-1)/(n^2+2))*((Er+2)/(Er-1))= (say P)\n",
+      "#where P is fractional ionisational polarisability\n",
+      "P=1-((n**2-1)/(n**2+2))*((Er+2)/(Er-1)); #calculation of fractional ionisational polarisability\n",
+      "P1=P*100; #calculation of percentage of  ionisational polarisability\n",
+      "\n",
+      "#result\n",
+      "print\"The percentage of  ionisational polarisability is =\",round(P1,1),\"percent\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The percentage of  ionisational polarisability is = 51.4 percent\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_08_Magnetic_Properties.ipynb b/Applied_Physics/Chapter_08_Magnetic_Properties.ipynb
new file mode 100755
index 00000000..353fc099
--- /dev/null
+++ b/Applied_Physics/Chapter_08_Magnetic_Properties.ipynb
@@ -0,0 +1,323 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:aecad4e644a378cab0352aa29e9045a53c52646739e4f4bd6cdff80f1d0741e6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8:Magnetic Properties"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.1 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "X=-0.5E-5; #magnetic susceptibility of silicon\n",
+      "H=0.9E4; #in A/m (magnetic field intensity)\n",
+      "mu0=4*3.14*1E-7; #in H/m (absolute permeability)\n",
+      "\n",
+      "#calculate\n",
+      "I=X*H; #calculation of intensity of magnetism\n",
+      "B=mu0*H*(1+X); #calculation of magnetic flux density\n",
+      "\n",
+      "#result\n",
+      "print\"The intensity of magnetism is I=\",I,\"A/m\";\n",
+      "print\"The magnetic flux density is B=\",round(B,3),\"Wb/m^2\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intensity of magnetism is I= -0.045 A/m\n",
+        "The magnetic flux density is B= 0.011 Wb/m^2\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.2 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r=0.052; #in nm (radius of orbit)\n",
+      "B=1; #in Wb/m^2 (magnetic field of induction)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "\n",
+      "#calculate\n",
+      "r=0.052*1E-9; #changing unit from nm to m\n",
+      "d_mu=(e**2*r**2*B)/(4*m); #calculation of change in magnetic moment\n",
+      "\n",
+      "#result\n",
+      "print\"The change in magnetic moment is =\",d_mu,\"Am^2\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The change in magnetic moment is = 1.90171428571e-29 Am^2\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.3 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "H=220; #in A/m (magnetic field intensity)\n",
+      "I=3300; #in A/m (intensity of magnetisation)\n",
+      "\n",
+      "#calculate\n",
+      "mu_r=1+(I/H); #calculation of relative permeability\n",
+      "\n",
+      "#result\n",
+      "print\"The relative permeability of a ferromagentic material is =\",mu_r;"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relative permeability of a ferromagentic material is = 16.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.4 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "I=3000; #in A/m (intensity of magnetisation)\n",
+      "B=0.005; #in Wb/m^2 (magnetic flus intensity)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "mu0=4*pi*1E-7; #in H/m (absolute permeability)\n",
+      "\n",
+      "#calculate\n",
+      "H=(B/mu0)-I; #calculation of magnetic force\n",
+      "mu_r=(I/H)+1; #calculation of relative permeability\n",
+      "\n",
+      "#result\n",
+      "print\"The magnetic force is  H=\",H;\n",
+      "print\"The relative permeability is =\",mu_r;"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnetic force is  H= 980.891719745\n",
+        "The relative permeability is = 4.05844155844\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.5 , Page no:237"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "H=4E3; #in A/m (magnetic field intensity)\n",
+      "N=60; #number of turns\n",
+      "l=12; #in cm (length of solenoid)\n",
+      "\n",
+      "#calculate\n",
+      "n=N/(l*1E-2); #calculation of number of turns per unit metre\n",
+      "#Snice H=n*i;\n",
+      "i=H/n; #calculation of current through the solenoid\n",
+      "\n",
+      "#result\n",
+      "print\"The current through the solenoid is i=\",i,\"A\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The current through the solenoid is i= 8.0 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6 , Page no:237"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "l=30; #in cm (length of solenoid)\n",
+      "A=1; #in cm^2 (cross-sectional area)\n",
+      "N=300; #number of turns\n",
+      "i=0.032; #in A (current through the winding)\n",
+      "phi_B=2E-6; #in Wb (magnetic flux)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "mu0=4*pi*1E-7; #in H/m (absolute permeability)\n",
+      "\n",
+      "#calculate\n",
+      "l=l*1E-2; #changing unit from cm to m\n",
+      "A=A*1E-4; #changing unit from cm^2 to m^2\n",
+      "B=phi_B/A; #calculation of flux density\n",
+      "H=N*i/l; #calculation of magnetic intensity\n",
+      "mu=B/H; #calcluation of absolute permeability of iron\n",
+      "mu_r=mu/mu0; #calcluation of relative permeability of iron\n",
+      "\n",
+      "#result\n",
+      "print\"The flux density is B=\",B,\"Wb/m^2\";\n",
+      "print\"The magnetic intensity is H=\",H,\"A-turns/m\";\n",
+      "print\"The relative permeability of iron is =\",round(mu_r),\"    (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The flux density is B= 0.02 Wb/m^2\n",
+        "The magnetic intensity is H= 32.0 A-turns/m\n",
+        "The relative permeability of iron is = 498.0     (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.7 , Page no:238"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "A=100; #in m^2 (area of Hysteresis loop)\n",
+      "B=0.01; #in Wb/m^2 (unit space along vertical axis or magnetic flux density)\n",
+      "H=40; #in A/m (unit space along horizontal axis or magnetic fild ntensity)\n",
+      "\n",
+      "#calculate\n",
+      "H_L=A*B*H; #calculation of magnetic intensity\n",
+      "\n",
+      "#result\n",
+      "print\"The Hystersis loss per cycle is =\",round(H_L),\"J/m^2\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Hystersis loss per cycle is = 40.0 J/m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_08_Magnetic_Properties_1.ipynb b/Applied_Physics/Chapter_08_Magnetic_Properties_1.ipynb
new file mode 100755
index 00000000..b2a8def3
--- /dev/null
+++ b/Applied_Physics/Chapter_08_Magnetic_Properties_1.ipynb
@@ -0,0 +1,323 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:708d3f2a9798f4d28f6ce90536d50509c591ba2ba31051121346b4739b2aea82"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8:Magnetic Properties"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.1 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "X=-0.5E-5; #magnetic susceptibility of silicon\n",
+      "H=0.9E4; #in A/m (magnetic field intensity)\n",
+      "mu0=4*3.14*1E-7; #in H/m (absolute permeability)\n",
+      "\n",
+      "#calculate\n",
+      "I=X*H; #calculation of intensity of magnetism\n",
+      "B=mu0*H*(1+X); #calculation of magnetic flux density\n",
+      "\n",
+      "#result\n",
+      "print\"The intensity of magnetism is I=\",I,\"A/m\";\n",
+      "print\"The magnetic flux density is B=\",round(B,3),\"Wb/m^2\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intensity of magnetism is I= -0.045 A/m\n",
+        "The magnetic flux density is B= 0.011 Wb/m^2\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.2 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r=0.052; #in nm (radius of orbit)\n",
+      "B=1; #in Wb/m^2 (magnetic field of induction)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "\n",
+      "#calculate\n",
+      "r=0.052*1E-9; #changing unit from nm to m\n",
+      "d_mu=(e**2*r**2*B)/(4*m); #calculation of change in magnetic moment\n",
+      "\n",
+      "#result\n",
+      "print\"The change in magnetic moment is =\",'%.3E'%d_mu,\"Am^2\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The change in magnetic moment is = 1.902E-29 Am^2\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.3 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "H=220; #in A/m (magnetic field intensity)\n",
+      "I=3300; #in A/m (intensity of magnetisation)\n",
+      "\n",
+      "#calculate\n",
+      "mu_r=1+(I/H); #calculation of relative permeability\n",
+      "\n",
+      "#result\n",
+      "print\"The relative permeability of a ferromagentic material is =\",mu_r;"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relative permeability of a ferromagentic material is = 16.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.4 , Page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "I=3000; #in A/m (intensity of magnetisation)\n",
+      "B=0.005; #in Wb/m^2 (magnetic flus intensity)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "mu0=4*pi*1E-7; #in H/m (absolute permeability)\n",
+      "\n",
+      "#calculate\n",
+      "H=(B/mu0)-I; #calculation of magnetic force\n",
+      "mu_r=(I/H)+1; #calculation of relative permeability\n",
+      "\n",
+      "#result\n",
+      "print\"The magnetic force is  H=\",round(H,3);\n",
+      "print\"The relative permeability is =\",round(mu_r,3);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnetic force is  H= 980.892\n",
+        "The relative permeability is = 4.058\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.5 , Page no:237"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "H=4E3; #in A/m (magnetic field intensity)\n",
+      "N=60; #number of turns\n",
+      "l=12; #in cm (length of solenoid)\n",
+      "\n",
+      "#calculate\n",
+      "n=N/(l*1E-2); #calculation of number of turns per unit metre\n",
+      "#Snice H=n*i;\n",
+      "i=H/n; #calculation of current through the solenoid\n",
+      "\n",
+      "#result\n",
+      "print\"The current through the solenoid is i=\",i,\"A\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The current through the solenoid is i= 8.0 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6 , Page no:237"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "l=30; #in cm (length of solenoid)\n",
+      "A=1; #in cm^2 (cross-sectional area)\n",
+      "N=300; #number of turns\n",
+      "i=0.032; #in A (current through the winding)\n",
+      "phi_B=2E-6; #in Wb (magnetic flux)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "mu0=4*pi*1E-7; #in H/m (absolute permeability)\n",
+      "\n",
+      "#calculate\n",
+      "l=l*1E-2; #changing unit from cm to m\n",
+      "A=A*1E-4; #changing unit from cm^2 to m^2\n",
+      "B=phi_B/A; #calculation of flux density\n",
+      "H=N*i/l; #calculation of magnetic intensity\n",
+      "mu=B/H; #calcluation of absolute permeability of iron\n",
+      "mu_r=mu/mu0; #calcluation of relative permeability of iron\n",
+      "\n",
+      "#result\n",
+      "print\"The flux density is B=\",B,\"Wb/m^2\";\n",
+      "print\"The magnetic intensity is H=\",H,\"A-turns/m\";\n",
+      "print\"The relative permeability of iron is =\",round(mu_r),\"    (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The flux density is B= 0.02 Wb/m^2\n",
+        "The magnetic intensity is H= 32.0 A-turns/m\n",
+        "The relative permeability of iron is = 498.0     (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.7 , Page no:238"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "A=100; #in m^2 (area of Hysteresis loop)\n",
+      "B=0.01; #in Wb/m^2 (unit space along vertical axis or magnetic flux density)\n",
+      "H=40; #in A/m (unit space along horizontal axis or magnetic fild ntensity)\n",
+      "\n",
+      "#calculate\n",
+      "H_L=A*B*H; #calculation of magnetic intensity\n",
+      "\n",
+      "#result\n",
+      "print\"The Hystersis loss per cycle is =\",round(H_L),\"J/m^2\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Hystersis loss per cycle is = 40.0 J/m^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_09_Semiconductors.ipynb b/Applied_Physics/Chapter_09_Semiconductors.ipynb
new file mode 100755
index 00000000..f3c26825
--- /dev/null
+++ b/Applied_Physics/Chapter_09_Semiconductors.ipynb
@@ -0,0 +1,782 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:eb4f284d8d12c103b674cc454947abe9c7a1a76e2d11836f2841ba55d4adeef7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9:Semiconductors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.2 , Page no:272"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Eg=0.67; #in eV (Energy band gap)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=298; #in K (room temperature)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "K=10; #ratio of number of electrons at different temperature\n",
+      "\n",
+      "#calculate\n",
+      "Eg=Eg*e; #changing unit from eV to Joule\n",
+      "#since ne=Ke*exp(-Eg/(2*k*T))\n",
+      "#and ne/ne1=exp(-Eg/(2*k*T))/exp(-Eg/(2*k*T1)) and ne/ne1=K=10\n",
+      "#therefore we have 10=exp(-Eg/(2*k*T))/exp(-Eg/(2*k*T1))\n",
+      "#re-arranging the equation for T, we get T2=1/((1/T1)-((2*k*log(10))/Eg))\n",
+      "T=1/((1/T1)-((2*k*math.log(10))/Eg)); #calculation of the temperature\n",
+      "\n",
+      "#result\n",
+      "print\"The temperature at which number of electrons in the conduction band of a semiconductor increases by a factor of 10 is T=\",round(T),\"K            (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The temperature at which number of electrons in the conduction band of a semiconductor increases by a factor of 10 is T= 362.0 K            (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.3 , Page no:272"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=2.5E13; #in /cm^3 (intrinsic carrier density)\n",
+      "ue=3900; #in cm^2/(V-s) (electron mobilities)\n",
+      "uh=1900; #in cm^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "l=1; #in cm (lenght of the box)\n",
+      "b=1;h=1; #in mm (dimensions of germanium rod )\n",
+      "\n",
+      "#calculate\n",
+      "ni=ni*1E6; #changing unit from 1/cm^3 to 1/m^3\n",
+      "ue=ue*1E-4; #changing unit from cm^2 to m^2\n",
+      "uh=uh*1E-4; #changing unit from cm^2 to m^2\n",
+      "sigma=ni*e*(ue+uh); #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "l=l*1E-2; #changing unit from mm to m for length\n",
+      "A=(b*1E-3)*(h*1E-3); #changing unit from mm to m for width and height and calculation of cross-sectional area\n",
+      "R=rho*l/A; #calculation of resistance\n",
+      "\n",
+      "#result\n",
+      "print\"The resistance of intrinsic germanium is R=\",R,\"ohm\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The resistance of intrinsic germanium is R= 4310.34482759 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.4 , Page no:273"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ne=2.5E19; #in /m^3 (electron  density)\n",
+      "nh=2.5E19; #in /m^3 (hole density)\n",
+      "ue=0.36; #in m^2/(V-s) (electron mobilities)\n",
+      "uh=0.17; #in m^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#since ne=nh=ni,  therefore we have \n",
+      "ni=nh;\n",
+      "sigma=ni*e*(ue+uh); #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "\n",
+      "#result\n",
+      "print\"The conductivity of germanium is =\",round(sigma,2),\"/ohm-m\";\n",
+      "print\"The resistivity of germanium is =\",round(rho,2),\"ohm-m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The conductivity of germanium is = 2.12 /ohm-m\n",
+        "The resistivity of germanium is = 0.47 ohm-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 , Page no:273"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=1.5E16; #in /m^3 (intrinsic carrier density)\n",
+      "ue=0.135; #in m^2/(V-s) (electron mobilities)\n",
+      "uh=0.048; #in m^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "ND=1E23; #in atom/m^3 (doping concentration)\n",
+      "\n",
+      "#calculate\n",
+      "sigma_i=ni*e*(ue+uh); #calculation of intrinsic conductivity\n",
+      "sigma=ND*ue*e; #calculation of conductivity after doping\n",
+      "rho=ni**2/ND; #calculation of equilibrium hole concentration\n",
+      "\n",
+      "#result\n",
+      "print\"The intrinsic conductivity for silicon is =\",sigma_i,\"S\";\n",
+      "print\"The conductivity after doping with phosphorus atoms is =\",sigma,\"S\";\n",
+      "print\"The equilibrium hole concentration is =\",rho,\"/m^3\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intrinsic conductivity for silicon is = 0.0004392 S\n",
+        "The conductivity after doping with phosphorus atoms is = 2160.0 S\n",
+        "The equilibrium hole concentration is = 2250000000.0 /m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.6 , Page no:274"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=1.5E16; #in /m^3 (intrinsic carrier density)\n",
+      "ue=0.13; #in m^2/(V-s) (electron mobilities)\n",
+      "uh=0.05; #in m^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "ne=5E20; #in /m^3 (concentration of donor type impurity)\n",
+      "nh=5E20; #in /m^3 (concentration of acceptor type impurity)\n",
+      "\n",
+      "#calculate\n",
+      "#part-i\n",
+      "sigma=ni*e*(ue+uh); #calculation of intrinsic conductivity\n",
+      "#part-ii\n",
+      "#since 1 donor atom is in 1E8 Si atoms, hence holes concentration can be neglected\n",
+      "sigma1=ne*e*ue; #calculation of conductivity after doping with donor type impurity\n",
+      "#part-iii\n",
+      "#since 1 acceptor atom is in 1E8 Si atoms, hence electron concentration can be neglected\n",
+      "sigma2=nh*e*uh; #calculation of conductivity after doping with acceptor type impurity\n",
+      "\n",
+      "#result\n",
+      "print\"The intrinsic conductivity for silicon is =\",sigma,\"(ohm-m)^-1\";\n",
+      "print\"The conductivity after doping with donor type impurity is =\",sigma1,\"(ohm-m)^-1\";\n",
+      "print\"The conductivity after doping with acceptor type impurity is =\",sigma2,\"(ohm-m)^-1\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intrinsic conductivity for silicon is = 0.000432 (ohm-m)^-1\n",
+        "The conductivity after doping with donor type impurity is = 10.4 (ohm-m)^-1\n",
+        "The conductivity after doping with acceptor type impurity is = 4.0 (ohm-m)^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.7 , Page no:274"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=1E20; #in /m^3 (intrinsic carrier density)\n",
+      "ND=1E21; #in /m^3 (donor impurity concentration)\n",
+      "\n",
+      "#calculate\n",
+      "nh=ni**2/ND; #calculation of density of hole carriers at room temperature\n",
+      "\n",
+      "#result\n",
+      "print\"The density of hole carriers at room temperature is nh=\",nh,\"/m^3\";\n",
+      "#Note: answer in the book is wrong due to printing mistake"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of hole carriers at room temperature is nh= 1e+19 /m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.8 , Page no:275"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "M=72.6; #atomic mass of germanium\n",
+      "P=5400; #in Kg/m^3 (density)\n",
+      "ue=0.4; #in m^2/V-s (mobility of electrons)\n",
+      "uh=0.2; #in m^2/V-s (mobility of holes)\n",
+      "Eg=0.7; #in eV (Band gap)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T=300; #in K (temperature)\n",
+      "h=6.63E-34; #in J/s (Planck\u2019s constant)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6E-19; #in C(charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "Eg=Eg*e; #changing unit from eV to J\n",
+      "ni=2*(2*pi*m*k*T/h**2)**(3/2)*math.exp(-Eg/(2*k*T));\n",
+      "sigma=ni*e*(ue+uh);\n",
+      "\n",
+      "#result\n",
+      "print\"The intrinsic carrier density for germanium at 300K is ni=\",ni,\"/m^3\";\n",
+      "print\"The conductivity of germanium is=\",round(sigma,3),\"(ohm-m)^-1\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intrinsic carrier density for germanium at 300K is ni= 3.33408559508e+19 /m^3\n",
+        "The conductivity of germanium is= 3.201 (ohm-m)^-1\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.9 , Page no:275"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "rho1=4.5; #in ohm-m (resistivity at 20 degree Celcius)\n",
+      "rho2=2.0; #in ohm-m (resistivity at 32 degree Celcius)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=20; T2=32; #in degree Celcius (two temperatures)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "T1=T1+273; #changing unit from degree Celius to K\n",
+      "T2=T2+273; #changing unit from degree Celius to K\n",
+      "#since sigma=e*u*C*T^(3/2)*exp(-Eg/(2*k*T))\n",
+      "#therefore sigma1/sigma2=(T1/T2)^3/2*exp((-Eg/(2*k)*((1/T1)-(1/T2))\n",
+      "#and sigma=1/rho \n",
+      "#therefore we have rho2/rho1=(T1/T2)^3/2*exp((-Eg/(2*k)*((1/T1)-(1/T2))\n",
+      "#re-arranging above equation for Eg, we get Eg=(2*k/((1/T1)-(1/T2)))*((3/2)*log(T1/T2)-log(rho2/rho1))\n",
+      "Eg=(2*k/((1/T1)-(1/T2)))*((3/2)*math.log(T1/T2)-math.log(rho2/rho1));\n",
+      "Eg1=Eg/e;#changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The energy band gap is Eg=\",Eg,\"J\";\n",
+      "print\"\\t\\t\\t =\",round(Eg1,3),\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy band gap is Eg= 1.54302914521e-19 J\n",
+        "\t\t\t = 0.964 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.10 , Page no:276"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "rho=2300; #in ohm-m (resistivity of pure silicon)\n",
+      "ue=0.135; #in m^2/V-s (mobility of electron)\n",
+      "uh=0.048; #in m^2/V-s (mobility of electron)\n",
+      "Nd=1E19; #in /m^3 (doping concentration)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#since sigma=ni*e*(ue+uh) and sigma=1/rho\n",
+      "#therefore ni=1/(rho*e*(ue+uh))\n",
+      "ni=1/(rho*e*(ue+uh)); #calculation of intrinsic concentration\n",
+      "ne=Nd; #calculation of electron concentration\n",
+      "nh=ni**2/Nd; #calculation of hole concentration\n",
+      "sigma=ne*ue*e+nh*uh*e; #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "\n",
+      "#result\n",
+      "print\"The electron concentration is ne=\",ne,\"/m^3\";\n",
+      "print\"The hole concentration is nh=\",nh,\"/m^3\";\n",
+      "print\"The resistivity of the specimen  is =\",round(rho,3),\"ohm-m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electron concentration is ne= 1e+19 /m^3\n",
+        "The hole concentration is nh= 2.20496745228e+13 /m^3\n",
+        "The resistivity of the specimen  is = 4.63 ohm-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.11 , Page no:276"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "uh=1900; #in cm^2/V-s (mobility of electron)\n",
+      "Na=2E17; #in /m^3 (acceptor doping concentration)\n",
+      "e=1.6E-19; #in C(charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "uh=uh*1E-4; #changing unit from cm^2/V-s to m^2/V-s\n",
+      "Na=Na*1E6; #changing unit from 1/cm^3 to 1/m^3\n",
+      "nh=Na; #hole concentration \n",
+      "#since sigma=ne*ue*e+nh*uh*e and nh>>ne\n",
+      "#therefore sigma=nh*uh*e\n",
+      "sigma=nh*uh*e; #calculation of conductivity\n",
+      "\n",
+      "#result\n",
+      "print\"The conductivity of p-type Ge crystal is =\",sigma,\"/ohm-m   (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The conductivity of p-type Ge crystal is = 6080.0 /ohm-m   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.12 , Page no:277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ue=0.19; #in m^2/V-s (mobility of electron)\n",
+      "T=300; #in K (temperature)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "e=1.6E-19; #in C(charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "Dn=ue*k*T/e; #calculation of diffusion co-efficient\n",
+      "\n",
+      "#result\n",
+      "print\"The diffusion co-efficient of electron in silicon is Dn=\",Dn,\"m^2/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The diffusion co-efficient of electron in silicon is Dn= 0.00491625 m^2/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.13 , Page no:277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Eg=0.4; #in eV (Band gap of semiconductor)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=0; #in degree Celcius (first temperature)\n",
+      "T2=50; #in degree Celcius (second temperature)\n",
+      "T3=100; #in degree Celcius (third temperature)\n",
+      "e=1.602E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "T1=T1+273; #changing temperature form Celcius to Kelvin\n",
+      "T2=T2+273; #changing temperature form Celcius to Kelvin\n",
+      "T3=T3+273; #changing temperature form Celcius to Kelvin\n",
+      "Eg=Eg*e; #changing unit from eV to Joule\n",
+      "#Using F_E=1/(1+exp(Eg/2*k*T))\n",
+      "F_E1=1/(1+math.exp(Eg/(2*k*T1))); #calculation of probability of occupation of lowest level at 0 degree Celcius\n",
+      "F_E2=1/(1+math.exp(Eg/(2*k*T2))); #calculation of probability of occupation of lowest level at 50 degree Celcius\n",
+      "F_E3=1/(1+math.exp(Eg/(2*k*T3))); #calculation of probability of occupation of lowest level at 100 degree Celcius\n",
+      "\n",
+      "#result\n",
+      "print\"The probability of occupation of lowest level in conduction band is\";\n",
+      "print\"\\t at 0 degree Celcius, F_E=\",F_E1,\"eV\";\n",
+      "print\"\\t at 50 degree Celcius, F_E=\",F_E2,\"eV\";\n",
+      "print\"\\t at 100 degree Celcius, F_E=\",F_E3,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The probability of occupation of lowest level in conduction band is\n",
+        "\t at 0 degree Celcius, F_E= 0.000202505914236 eV\n",
+        "\t at 50 degree Celcius, F_E= 0.000754992968827 eV\n",
+        "\t at 100 degree Celcius, F_E= 0.00197639649915 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.14 , Page no:278"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Eg=1.2; #in eV (Energy band gap)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=600; T2=300; #in K (two temperatures)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "Eg=Eg*e; #changing unit from eV to Joule\n",
+      "#since sigma is proportional to exp(-Eg/(2*k*T))\n",
+      "#therefore ratio=sigma1/sigma2=exp(-Eg/(2*k*((1/T1)-(1/T2))));\n",
+      "ratio= math.exp((-Eg/(2*k))*((1/T1)-(1/T2))); #calculation of ratio of conductivity at 600K and at 300K\n",
+      "\n",
+      "#result\n",
+      "print\"The ratio of conductivity at 600K and at 300K is =\",ratio;"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of conductivity at 600K and at 300K is = 108467.17792\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.15 , Page no:278"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ue=0.39; #in m^2/V-s (mobility of electron)\n",
+      "n=5E13; #number of donor atoms\n",
+      "ni=2.4E19; #in atoms/m^3 (intrinsic carrier density)\n",
+      "l=10; #in mm (length of rod)\n",
+      "a=1; #in mm (side of square cross-section)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "l=l*1E-3; #changing unit from mm to m\n",
+      "a=a*1E-3; #changing unit from mm to m\n",
+      "A=a**2; #calculation of cross-section area\n",
+      "Nd=n/(l*A); #calculation of donor concentration\n",
+      "ne=Nd; #calculation of electron density\n",
+      "nh=ni**2/Nd; #calculation of hole density\n",
+      "#since sigma=ne*e*ue+nh*e*ue and since ne>>nh\n",
+      "#therefore sigma=ne*e*ue\n",
+      "sigma=ne*e*ue; #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "R=rho*l/A; #calculation of resistance \n",
+      "\n",
+      "#result\n",
+      "print\"The electron density is ne=\",ne,\"/m^3\";\n",
+      "print\"The hole density is nh=\",nh,\"/m^3\";\n",
+      "print\"The conductivity is =\",sigma,\"/ohm-m\";\n",
+      "print\"The resistance is R=\",round(R),\"ohm\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electron density is ne= 5e+21 /m^3\n",
+        "The hole density is nh= 1.152e+17 /m^3\n",
+        "The conductivity is = 312.0 /ohm-m\n",
+        "The resistance is R= 32.0 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.16 , Page no:279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "RH=3.66E-4; #in m^3/C (Hall coefficient)\n",
+      "rho=8.93E-3; #in ohm-m (resistivity)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "u=RH/rho; #calculation of mobility\n",
+      "n=1/(RH*e); #calculation of density\n",
+      "\n",
+      "#result\n",
+      "print\"The mobility is u=\",u,\"m^2/(V-s)\";\n",
+      "print\"The density is n=\",n,\"/m^3\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mobility is u= 0.0409854423292 m^2/(V-s)\n",
+        "The density is n= 1.70765027322e+22 /m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17 , Page no:279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "RH=3.66E-4; #in m^3/C (Hall coefficient)\n",
+      "rho=8.93E-3; #in ohm-m (resistivity)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "nh=1/(RH*e); #calculation of density of charge carrier\n",
+      "uh=1/(rho*nh*e); #calculation of mobility of charge carrier\n",
+      "\n",
+      "#result\n",
+      "print\"The density of charge carrier is nh=\",nh,\"/m^3\";\n",
+      "print\"The mobility of charge carrier is uh=\",uh,\"m^2/(V-s)\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of charge carrier is nh= 1.70765027322e+22 /m^3\n",
+        "The mobility of charge carrier is uh= 0.0409854423292 m^2/(V-s)\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_09_Semiconductors_1.ipynb b/Applied_Physics/Chapter_09_Semiconductors_1.ipynb
new file mode 100755
index 00000000..9ce2ea83
--- /dev/null
+++ b/Applied_Physics/Chapter_09_Semiconductors_1.ipynb
@@ -0,0 +1,782 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:c155cecc785c23bdccd0bf715c04d53d7788e1b590b4310d6af27c13ce7b97ac"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9:Semiconductors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.2 , Page no:272"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Eg=0.67; #in eV (Energy band gap)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=298; #in K (room temperature)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "K=10; #ratio of number of electrons at different temperature\n",
+      "\n",
+      "#calculate\n",
+      "Eg=Eg*e; #changing unit from eV to Joule\n",
+      "#since ne=Ke*exp(-Eg/(2*k*T))\n",
+      "#and ne/ne1=exp(-Eg/(2*k*T))/exp(-Eg/(2*k*T1)) and ne/ne1=K=10\n",
+      "#therefore we have 10=exp(-Eg/(2*k*T))/exp(-Eg/(2*k*T1))\n",
+      "#re-arranging the equation for T, we get T2=1/((1/T1)-((2*k*log(10))/Eg))\n",
+      "T=1/((1/T1)-((2*k*math.log(10))/Eg)); #calculation of the temperature\n",
+      "\n",
+      "#result\n",
+      "print\"The temperature at which number of electrons in the conduction band of a semiconductor increases by a factor of 10 is T=\",round(T),\"K            (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The temperature at which number of electrons in the conduction band of a semiconductor increases by a factor of 10 is T= 362.0 K            (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.3 , Page no:272"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=2.5E13; #in /cm^3 (intrinsic carrier density)\n",
+      "ue=3900; #in cm^2/(V-s) (electron mobilities)\n",
+      "uh=1900; #in cm^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "l=1; #in cm (lenght of the box)\n",
+      "b=1;h=1; #in mm (dimensions of germanium rod )\n",
+      "\n",
+      "#calculate\n",
+      "ni=ni*1E6; #changing unit from 1/cm^3 to 1/m^3\n",
+      "ue=ue*1E-4; #changing unit from cm^2 to m^2\n",
+      "uh=uh*1E-4; #changing unit from cm^2 to m^2\n",
+      "sigma=ni*e*(ue+uh); #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "l=l*1E-2; #changing unit from mm to m for length\n",
+      "A=(b*1E-3)*(h*1E-3); #changing unit from mm to m for width and height and calculation of cross-sectional area\n",
+      "R=rho*l/A; #calculation of resistance\n",
+      "\n",
+      "#result\n",
+      "print\"The resistance of intrinsic germanium is R=\",'%.3E'%R,\"ohm\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The resistance of intrinsic germanium is R= 4.310E+03 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.4 , Page no:273"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ne=2.5E19; #in /m^3 (electron  density)\n",
+      "nh=2.5E19; #in /m^3 (hole density)\n",
+      "ue=0.36; #in m^2/(V-s) (electron mobilities)\n",
+      "uh=0.17; #in m^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#since ne=nh=ni,  therefore we have \n",
+      "ni=nh;\n",
+      "sigma=ni*e*(ue+uh); #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "\n",
+      "#result\n",
+      "print\"The conductivity of germanium is =\",round(sigma,2),\"/ohm-m\";\n",
+      "print\"The resistivity of germanium is =\",round(rho,2),\"ohm-m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The conductivity of germanium is = 2.12 /ohm-m\n",
+        "The resistivity of germanium is = 0.47 ohm-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 , Page no:273"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=1.5E16; #in /m^3 (intrinsic carrier density)\n",
+      "ue=0.135; #in m^2/(V-s) (electron mobilities)\n",
+      "uh=0.048; #in m^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "ND=1E23; #in atom/m^3 (doping concentration)\n",
+      "\n",
+      "#calculate\n",
+      "sigma_i=ni*e*(ue+uh); #calculation of intrinsic conductivity\n",
+      "sigma=ND*ue*e; #calculation of conductivity after doping\n",
+      "rho=ni**2/ND; #calculation of equilibrium hole concentration\n",
+      "\n",
+      "#result\n",
+      "print\"The intrinsic conductivity for silicon is =\",'%.3E'%sigma_i,\"S\";\n",
+      "print\"The conductivity after doping with phosphorus atoms is =\",'%.3E'%sigma,\"S\";\n",
+      "print\"The equilibrium hole concentration is =\",'%.3E'%rho,\"/m^3\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intrinsic conductivity for silicon is = 4.392E-04 S\n",
+        "The conductivity after doping with phosphorus atoms is = 2.160E+03 S\n",
+        "The equilibrium hole concentration is = 2.250E+09 /m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.6 , Page no:274"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=1.5E16; #in /m^3 (intrinsic carrier density)\n",
+      "ue=0.13; #in m^2/(V-s) (electron mobilities)\n",
+      "uh=0.05; #in m^2/(V-s) (hole mobilities)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "ne=5E20; #in /m^3 (concentration of donor type impurity)\n",
+      "nh=5E20; #in /m^3 (concentration of acceptor type impurity)\n",
+      "\n",
+      "#calculate\n",
+      "#part-i\n",
+      "sigma=ni*e*(ue+uh); #calculation of intrinsic conductivity\n",
+      "#part-ii\n",
+      "#since 1 donor atom is in 1E8 Si atoms, hence holes concentration can be neglected\n",
+      "sigma1=ne*e*ue; #calculation of conductivity after doping with donor type impurity\n",
+      "#part-iii\n",
+      "#since 1 acceptor atom is in 1E8 Si atoms, hence electron concentration can be neglected\n",
+      "sigma2=nh*e*uh; #calculation of conductivity after doping with acceptor type impurity\n",
+      "\n",
+      "#result\n",
+      "print\"The intrinsic conductivity for silicon is =\",'%.3E'%sigma,\"(ohm-m)^-1\";\n",
+      "print\"The conductivity after doping with donor type impurity is =\",sigma1,\"(ohm-m)^-1\";\n",
+      "print\"The conductivity after doping with acceptor type impurity is =\",sigma2,\"(ohm-m)^-1\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intrinsic conductivity for silicon is = 4.320E-04 (ohm-m)^-1\n",
+        "The conductivity after doping with donor type impurity is = 10.4 (ohm-m)^-1\n",
+        "The conductivity after doping with acceptor type impurity is = 4.0 (ohm-m)^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.7 , Page no:274"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ni=1E20; #in /m^3 (intrinsic carrier density)\n",
+      "ND=1E21; #in /m^3 (donor impurity concentration)\n",
+      "\n",
+      "#calculate\n",
+      "nh=ni**2/ND; #calculation of density of hole carriers at room temperature\n",
+      "\n",
+      "#result\n",
+      "print\"The density of hole carriers at room temperature is nh=\",nh,\"/m^3\";\n",
+      "#Note: answer in the book is wrong due to printing mistake"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of hole carriers at room temperature is nh= 1e+19 /m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.8 , Page no:275"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "M=72.6; #atomic mass of germanium\n",
+      "P=5400; #in Kg/m^3 (density)\n",
+      "ue=0.4; #in m^2/V-s (mobility of electrons)\n",
+      "uh=0.2; #in m^2/V-s (mobility of holes)\n",
+      "Eg=0.7; #in eV (Band gap)\n",
+      "m=9.1E-31; #in Kg (mass of electron)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T=300; #in K (temperature)\n",
+      "h=6.63E-34; #in J/s (Planck\u2019s constant)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "e=1.6E-19; #in C(charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "Eg=Eg*e; #changing unit from eV to J\n",
+      "ni=2*(2*pi*m*k*T/h**2)**(3/2)*math.exp(-Eg/(2*k*T));\n",
+      "sigma=ni*e*(ue+uh);\n",
+      "\n",
+      "#result\n",
+      "print\"The intrinsic carrier density for germanium at 300K is ni=\",'%.3E'%ni,\"/m^3\";\n",
+      "print\"The conductivity of germanium is=\",round(sigma,3),\"(ohm-m)^-1\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intrinsic carrier density for germanium at 300K is ni= 3.334E+19 /m^3\n",
+        "The conductivity of germanium is= 3.201 (ohm-m)^-1\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.9 , Page no:275"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "rho1=4.5; #in ohm-m (resistivity at 20 degree Celcius)\n",
+      "rho2=2.0; #in ohm-m (resistivity at 32 degree Celcius)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=20; T2=32; #in degree Celcius (two temperatures)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "T1=T1+273; #changing unit from degree Celius to K\n",
+      "T2=T2+273; #changing unit from degree Celius to K\n",
+      "#since sigma=e*u*C*T^(3/2)*exp(-Eg/(2*k*T))\n",
+      "#therefore sigma1/sigma2=(T1/T2)^3/2*exp((-Eg/(2*k)*((1/T1)-(1/T2))\n",
+      "#and sigma=1/rho \n",
+      "#therefore we have rho2/rho1=(T1/T2)^3/2*exp((-Eg/(2*k)*((1/T1)-(1/T2))\n",
+      "#re-arranging above equation for Eg, we get Eg=(2*k/((1/T1)-(1/T2)))*((3/2)*log(T1/T2)-log(rho2/rho1))\n",
+      "Eg=(2*k/((1/T1)-(1/T2)))*((3/2)*math.log(T1/T2)-math.log(rho2/rho1));\n",
+      "Eg1=Eg/e;#changing unit from J to eV\n",
+      "\n",
+      "#result\n",
+      "print\"The energy band gap is Eg=\",'%.3E'%Eg,\"J\";\n",
+      "print\"\\t\\t\\t =\",round(Eg1,3),\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy band gap is Eg= 1.543E-19 J\n",
+        "\t\t\t = 0.964 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.10 , Page no:276"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "rho=2300; #in ohm-m (resistivity of pure silicon)\n",
+      "ue=0.135; #in m^2/V-s (mobility of electron)\n",
+      "uh=0.048; #in m^2/V-s (mobility of electron)\n",
+      "Nd=1E19; #in /m^3 (doping concentration)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "#since sigma=ni*e*(ue+uh) and sigma=1/rho\n",
+      "#therefore ni=1/(rho*e*(ue+uh))\n",
+      "ni=1/(rho*e*(ue+uh)); #calculation of intrinsic concentration\n",
+      "ne=Nd; #calculation of electron concentration\n",
+      "nh=ni**2/Nd; #calculation of hole concentration\n",
+      "sigma=ne*ue*e+nh*uh*e; #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "\n",
+      "#result\n",
+      "print\"The electron concentration is ne=\",ne,\"/m^3\";\n",
+      "print\"The hole concentration is nh=\",'%.3E'%nh,\"/m^3\";\n",
+      "print\"The resistivity of the specimen  is =\",round(rho,3),\"ohm-m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electron concentration is ne= 1e+19 /m^3\n",
+        "The hole concentration is nh= 2.205E+13 /m^3\n",
+        "The resistivity of the specimen  is = 4.63 ohm-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.11 , Page no:276"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "uh=1900; #in cm^2/V-s (mobility of electron)\n",
+      "Na=2E17; #in /m^3 (acceptor doping concentration)\n",
+      "e=1.6E-19; #in C(charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "uh=uh*1E-4; #changing unit from cm^2/V-s to m^2/V-s\n",
+      "Na=Na*1E6; #changing unit from 1/cm^3 to 1/m^3\n",
+      "nh=Na; #hole concentration \n",
+      "#since sigma=ne*ue*e+nh*uh*e and nh>>ne\n",
+      "#therefore sigma=nh*uh*e\n",
+      "sigma=nh*uh*e; #calculation of conductivity\n",
+      "\n",
+      "#result\n",
+      "print\"The conductivity of p-type Ge crystal is =\",sigma,\"/ohm-m   (roundoff error)\";\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The conductivity of p-type Ge crystal is = 6080.0 /ohm-m   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.12 , Page no:277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ue=0.19; #in m^2/V-s (mobility of electron)\n",
+      "T=300; #in K (temperature)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "e=1.6E-19; #in C(charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "Dn=ue*k*T/e; #calculation of diffusion co-efficient\n",
+      "\n",
+      "#result\n",
+      "print\"The diffusion co-efficient of electron in silicon is Dn=\",'%.3E'%Dn,\"m^2/s\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The diffusion co-efficient of electron in silicon is Dn= 4.916E-03 m^2/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.13 , Page no:277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Eg=0.4; #in eV (Band gap of semiconductor)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=0; #in degree Celcius (first temperature)\n",
+      "T2=50; #in degree Celcius (second temperature)\n",
+      "T3=100; #in degree Celcius (third temperature)\n",
+      "e=1.602E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "T1=T1+273; #changing temperature form Celcius to Kelvin\n",
+      "T2=T2+273; #changing temperature form Celcius to Kelvin\n",
+      "T3=T3+273; #changing temperature form Celcius to Kelvin\n",
+      "Eg=Eg*e; #changing unit from eV to Joule\n",
+      "#Using F_E=1/(1+exp(Eg/2*k*T))\n",
+      "F_E1=1/(1+math.exp(Eg/(2*k*T1))); #calculation of probability of occupation of lowest level at 0 degree Celcius\n",
+      "F_E2=1/(1+math.exp(Eg/(2*k*T2))); #calculation of probability of occupation of lowest level at 50 degree Celcius\n",
+      "F_E3=1/(1+math.exp(Eg/(2*k*T3))); #calculation of probability of occupation of lowest level at 100 degree Celcius\n",
+      "\n",
+      "#result\n",
+      "print\"The probability of occupation of lowest level in conduction band is\";\n",
+      "print\"\\t at 0 degree Celcius, F_E=\",'%.3E'%F_E1,\"eV\";\n",
+      "print\"\\t at 50 degree Celcius, F_E=\",'%.3E'%F_E2,\"eV\";\n",
+      "print\"\\t at 100 degree Celcius, F_E=\",'%.3E'%F_E3,\"eV\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The probability of occupation of lowest level in conduction band is\n",
+        "\t at 0 degree Celcius, F_E= 2.025E-04 eV\n",
+        "\t at 50 degree Celcius, F_E= 7.550E-04 eV\n",
+        "\t at 100 degree Celcius, F_E= 1.976E-03 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.14 , Page no:278"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Eg=1.2; #in eV (Energy band gap)\n",
+      "k=1.38E-23; #in J/K (Boltzmann\u2019s constant)\n",
+      "T1=600; T2=300; #in K (two temperatures)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "Eg=Eg*e; #changing unit from eV to Joule\n",
+      "#since sigma is proportional to exp(-Eg/(2*k*T))\n",
+      "#therefore ratio=sigma1/sigma2=exp(-Eg/(2*k*((1/T1)-(1/T2))));\n",
+      "ratio= math.exp((-Eg/(2*k))*((1/T1)-(1/T2))); #calculation of ratio of conductivity at 600K and at 300K\n",
+      "\n",
+      "#result\n",
+      "print\"The ratio of conductivity at 600K and at 300K is =\",'%.3E'%ratio;"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of conductivity at 600K and at 300K is = 1.085E+05\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.15 , Page no:278"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "ue=0.39; #in m^2/V-s (mobility of electron)\n",
+      "n=5E13; #number of donor atoms\n",
+      "ni=2.4E19; #in atoms/m^3 (intrinsic carrier density)\n",
+      "l=10; #in mm (length of rod)\n",
+      "a=1; #in mm (side of square cross-section)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "l=l*1E-3; #changing unit from mm to m\n",
+      "a=a*1E-3; #changing unit from mm to m\n",
+      "A=a**2; #calculation of cross-section area\n",
+      "Nd=n/(l*A); #calculation of donor concentration\n",
+      "ne=Nd; #calculation of electron density\n",
+      "nh=ni**2/Nd; #calculation of hole density\n",
+      "#since sigma=ne*e*ue+nh*e*ue and since ne>>nh\n",
+      "#therefore sigma=ne*e*ue\n",
+      "sigma=ne*e*ue; #calculation of conductivity\n",
+      "rho=1/sigma; #calculation of resistivity\n",
+      "R=rho*l/A; #calculation of resistance \n",
+      "\n",
+      "#result\n",
+      "print\"The electron density is ne=\",ne,\"/m^3\";\n",
+      "print\"The hole density is nh=\",nh,\"/m^3\";\n",
+      "print\"The conductivity is =\",sigma,\"/ohm-m\";\n",
+      "print\"The resistance is R=\",round(R),\"ohm\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electron density is ne= 5e+21 /m^3\n",
+        "The hole density is nh= 1.152e+17 /m^3\n",
+        "The conductivity is = 312.0 /ohm-m\n",
+        "The resistance is R= 32.0 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.16 , Page no:279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "RH=3.66E-4; #in m^3/C (Hall coefficient)\n",
+      "rho=8.93E-3; #in ohm-m (resistivity)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "u=RH/rho; #calculation of mobility\n",
+      "n=1/(RH*e); #calculation of density\n",
+      "\n",
+      "#result\n",
+      "print\"The mobility is u=\",round(u,4),\"m^2/(V-s)\";\n",
+      "print\"The density is n=\",'%.3E'%n,\"/m^3\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mobility is u= 0.041 m^2/(V-s)\n",
+        "The density is n= 1.708E+22 /m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17 , Page no:279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "RH=3.66E-4; #in m^3/C (Hall coefficient)\n",
+      "rho=8.93E-3; #in ohm-m (resistivity)\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "\n",
+      "#calculate\n",
+      "nh=1/(RH*e); #calculation of density of charge carrier\n",
+      "uh=1/(rho*nh*e); #calculation of mobility of charge carrier\n",
+      "\n",
+      "#result\n",
+      "print\"The density of charge carrier is nh=\",'%.3E'%nh,\"/m^3\";\n",
+      "print\"The mobility of charge carrier is uh=\",round(uh,4),\"m^2/(V-s)\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of charge carrier is nh= 1.708E+22 /m^3\n",
+        "The mobility of charge carrier is uh= 0.041 m^2/(V-s)\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_10_Superconductivity.ipynb b/Applied_Physics/Chapter_10_Superconductivity.ipynb
new file mode 100755
index 00000000..7b7470a8
--- /dev/null
+++ b/Applied_Physics/Chapter_10_Superconductivity.ipynb
@@ -0,0 +1,316 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:03ee5374207ea96e9a4f31e16f771d187a11f07daf287d94fc54e352b5db8bff"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10:Superconductivity"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.1 , Page no:313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Tc=7.2; #in K (critical temperature)\n",
+      "T=5; #in K (given temperature)\n",
+      "H0=6.5E3; #in A/m (critical magnetic field at 0K)\n",
+      "\n",
+      "#calculate\n",
+      "Hc=H0*(1-(T/Tc)**2); #calculation of magnitude of critical magnetic field\n",
+      "\n",
+      "#result\n",
+      "print\"The magnitude of critical magnetic field is Hc=\",round(Hc,2),\"A/m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnitude of critical magnetic field is Hc= 3365.35 A/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.2 , Page no:313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r=0.02; #in m (radius of ring)\n",
+      "Hc=2E3; #in A/m (critical magnetic field at 5K)\n",
+      "pi=3.14; #value of pi used in the solutiion\n",
+      "\n",
+      "#calculate\n",
+      "Ic=2*pi*r*Hc; #calculation of critical current value\n",
+      "\n",
+      "#result\n",
+      "print\"The critical current value is Ic=\",Ic,\"A\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The critical current value is Ic= 251.2 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.3 , Page no:313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "M1=199.5; #in amu (isotropic mass at 5K)\n",
+      "T1=5; #in K (first critical temperature)\n",
+      "T2=5.1; #in K (second critical temperature)\n",
+      "#calculate\n",
+      "#since Tc=C*(1/sqrt(M)\n",
+      "#therefore T1*sqrt(M1)=T2*sqrt(M2)\n",
+      "#therefore we have M2=(T1/T2)^2*M1\n",
+      "M2=(T1/T2)**2*M1; #calculation of isotropic mass at 5.1K\n",
+      "\n",
+      "#result\n",
+      "print\"The isotropic mass at 5.1K is M2=\",round(M2,3),\"a.m.u.\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The isotropic mass at 5.1K is M2= 191.753 a.m.u.\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.4 , Page no:314"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=6; #in K (given temperature)\n",
+      "Hc=5E3; #in A/m (critical magnetic field at 5K)\n",
+      "H0=2E4; #in A/m (critical magnetic field at 0K)\n",
+      "\n",
+      "#calculate\n",
+      "#since Hc=H0*(1-(T/Tc)^2)\n",
+      "#therefor we have Tc=T/sqrt(1-(Hc/H)^2)\n",
+      "Tc=T/math.sqrt(1-(Hc/H0)); #calculation of transition temperature\n",
+      "\n",
+      "#result\n",
+      "print\"The transition temperature is Tc=\",round(Tc,3),\"K\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The transition temperature is Tc= 6.928 K\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.5 , Page no:314"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=5; #in K (given temperature)\n",
+      "d=3; #in mm (diameter of the wire)\n",
+      "Tc=8; #in K (critical temperature for Pb)\n",
+      "H0=5E4; #in A/m (critical magnetic field at 0K)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "Hc=H0*(1-(T/Tc)**2); #calculation of critical magnetic field at 5K\n",
+      "r=(d*1E-3)/2; #calculation of radius in m\n",
+      "Ic=2*pi*r*Hc; #calculation of critical current at 5K\n",
+      "\n",
+      "#result\n",
+      "print\"The critical magnetic field at 5K is Hc=\",Hc,\"A/m\";\n",
+      "print\"The critical current at 5K is Ic=\",Ic,\"A\";\n",
+      "print \"   (roundoff error)\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The critical magnetic field at 5K is Hc= 30468.75 A/m\n",
+        "The critical current at 5K is Ic= 287.015625 A\n",
+        "   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.6 , Page no:314"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=8.50; #in micro V (voltage across Josephson junction )\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "h=6.626E-34; #in J/s (Planck\u2019s constant)\n",
+      "\n",
+      "#calculate\n",
+      "V=V*1E-6; #changing unit from V to microVolt\n",
+      "v1=2*e*V/h; #calculation of frequency of EM waves\n",
+      "\n",
+      "#result\n",
+      "print\"The frequency of EM waves is v=\",v1,\"Hz\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The frequency of EM waves is v= 4105040748.57 Hz\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.7 , Page no:315"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "M1=200.59; #in amu (average atomic mass  at 4.153K)\n",
+      "Tc1=4.153; #in K (first critical temperature)\n",
+      "M2=204; #in amu (average atomic mass of isotopes)\n",
+      "\n",
+      "#calculate\n",
+      "#since Tc=C*(1/sqrt(M)\n",
+      "#therefore T1*sqrt(M1)=T2*sqrt(M2)\n",
+      "#therefore we have Tc2=Tc1*sqrt(M1/M2)\n",
+      "Tc2=Tc1*math.sqrt(M1/M2); #calculation of transition temperature of the isotopes\n",
+      "\n",
+      "#result\n",
+      "print\"The transition temperature of the isotopes is  Tc2=\",round(Tc2,3),\"K\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The transition temperature of the isotopes is  Tc2= 4.118 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_10_Superconductivity_1.ipynb b/Applied_Physics/Chapter_10_Superconductivity_1.ipynb
new file mode 100755
index 00000000..9b11ce44
--- /dev/null
+++ b/Applied_Physics/Chapter_10_Superconductivity_1.ipynb
@@ -0,0 +1,316 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:2419f2161da8f36d7fa10fabb5f5aa4b318a9912237faaa5f03ac922aa4b8ac9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10:Superconductivity"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.1 , Page no:313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "Tc=7.2; #in K (critical temperature)\n",
+      "T=5; #in K (given temperature)\n",
+      "H0=6.5E3; #in A/m (critical magnetic field at 0K)\n",
+      "\n",
+      "#calculate\n",
+      "Hc=H0*(1-(T/Tc)**2); #calculation of magnitude of critical magnetic field\n",
+      "\n",
+      "#result\n",
+      "print\"The magnitude of critical magnetic field is Hc=\",round(Hc,2),\"A/m\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnitude of critical magnetic field is Hc= 3365.35 A/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.2 , Page no:313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "r=0.02; #in m (radius of ring)\n",
+      "Hc=2E3; #in A/m (critical magnetic field at 5K)\n",
+      "pi=3.14; #value of pi used in the solutiion\n",
+      "\n",
+      "#calculate\n",
+      "Ic=2*pi*r*Hc; #calculation of critical current value\n",
+      "\n",
+      "#result\n",
+      "print\"The critical current value is Ic=\",Ic,\"A\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The critical current value is Ic= 251.2 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.3 , Page no:313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "M1=199.5; #in amu (isotropic mass at 5K)\n",
+      "T1=5; #in K (first critical temperature)\n",
+      "T2=5.1; #in K (second critical temperature)\n",
+      "#calculate\n",
+      "#since Tc=C*(1/sqrt(M)\n",
+      "#therefore T1*sqrt(M1)=T2*sqrt(M2)\n",
+      "#therefore we have M2=(T1/T2)^2*M1\n",
+      "M2=(T1/T2)**2*M1; #calculation of isotropic mass at 5.1K\n",
+      "\n",
+      "#result\n",
+      "print\"The isotropic mass at 5.1K is M2=\",round(M2,3),\"a.m.u.\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The isotropic mass at 5.1K is M2= 191.753 a.m.u.\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.4 , Page no:314"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=6; #in K (given temperature)\n",
+      "Hc=5E3; #in A/m (critical magnetic field at 5K)\n",
+      "H0=2E4; #in A/m (critical magnetic field at 0K)\n",
+      "\n",
+      "#calculate\n",
+      "#since Hc=H0*(1-(T/Tc)^2)\n",
+      "#therefor we have Tc=T/sqrt(1-(Hc/H)^2)\n",
+      "Tc=T/math.sqrt(1-(Hc/H0)); #calculation of transition temperature\n",
+      "\n",
+      "#result\n",
+      "print\"The transition temperature is Tc=\",round(Tc,3),\"K\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The transition temperature is Tc= 6.928 K\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.5 , Page no:314"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "T=5; #in K (given temperature)\n",
+      "d=3; #in mm (diameter of the wire)\n",
+      "Tc=8; #in K (critical temperature for Pb)\n",
+      "H0=5E4; #in A/m (critical magnetic field at 0K)\n",
+      "pi=3.14; #value of pi used in the solution\n",
+      "\n",
+      "#calculate\n",
+      "Hc=H0*(1-(T/Tc)**2); #calculation of critical magnetic field at 5K\n",
+      "r=(d*1E-3)/2; #calculation of radius in m\n",
+      "Ic=2*pi*r*Hc; #calculation of critical current at 5K\n",
+      "\n",
+      "#result\n",
+      "print\"The critical magnetic field at 5K is Hc=\",'%.3E'%Hc,\"A/m\";\n",
+      "print\"The critical current at 5K is Ic=\",round(Ic,4),\"A\";\n",
+      "print \"   (roundoff error)\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The critical magnetic field at 5K is Hc= 3.047E+04 A/m\n",
+        "The critical current at 5K is Ic= 287.0156 A\n",
+        "   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.6 , Page no:314"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "V=8.50; #in micro V (voltage across Josephson junction )\n",
+      "e=1.6E-19; #in C (charge of electron)\n",
+      "h=6.626E-34; #in J/s (Planck\u2019s constant)\n",
+      "\n",
+      "#calculate\n",
+      "V=V*1E-6; #changing unit from V to microVolt\n",
+      "v1=2*e*V/h; #calculation of frequency of EM waves\n",
+      "\n",
+      "#result\n",
+      "print\"The frequency of EM waves is v=\",'%.3E'%v1,\"Hz\";\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The frequency of EM waves is v= 4.105E+09 Hz\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.7 , Page no:315"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "M1=200.59; #in amu (average atomic mass  at 4.153K)\n",
+      "Tc1=4.153; #in K (first critical temperature)\n",
+      "M2=204; #in amu (average atomic mass of isotopes)\n",
+      "\n",
+      "#calculate\n",
+      "#since Tc=C*(1/sqrt(M)\n",
+      "#therefore T1*sqrt(M1)=T2*sqrt(M2)\n",
+      "#therefore we have Tc2=Tc1*sqrt(M1/M2)\n",
+      "Tc2=Tc1*math.sqrt(M1/M2); #calculation of transition temperature of the isotopes\n",
+      "\n",
+      "#result\n",
+      "print\"The transition temperature of the isotopes is  Tc2=\",round(Tc2,3),\"K\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The transition temperature of the isotopes is  Tc2= 4.118 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_12Fibre_Optics.ipynb b/Applied_Physics/Chapter_12Fibre_Optics.ipynb
new file mode 100755
index 00000000..95067254
--- /dev/null
+++ b/Applied_Physics/Chapter_12Fibre_Optics.ipynb
@@ -0,0 +1,365 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:13927a6aa5f4b8929243c9ca2c470f4da4ee5b45564e616337e68523dd18d625"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12:Fibre Optics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.1 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.563; #refractive index of core\n",
+      "u2=1.498; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "d=(u1-u2)/u1; #calculation of fractional index change\n",
+      "\n",
+      "#result\n",
+      "print\"The fractional index change for a given optical fibre is =\",round(d,4);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fractional index change for a given optical fibre is = 0.0416\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.2 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.55; #refractive index of core\n",
+      "u2=1.50; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "d=(u1-u2)/u1; #calculation of fractional index change\n",
+      "NA=u1*math.sqrt(2*d); #calculation of numerical aperture\n",
+      "theta=math.asin(NA); #calculation of acceptance angle\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,3);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.394\n",
+        "The acceptance angle of the optical fibre is = 23.2 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.3 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.563; #refractive index of core\n",
+      "u2=1.498; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "NA=math.sqrt(u1**2-u2**2); #calculation of numerical aperture\n",
+      "theta=math.asin(NA); #calculation of acceptance angle\n",
+      "theta1=theta*180/3.14;\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,4);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.4461\n",
+        "The acceptance angle of the optical fibre is = 26.5 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.4 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "NA=0.39; #numerical aperture of the optical fibre\n",
+      "d=0.05; #difference in the refractive index of the material of the core and cladding\n",
+      "\n",
+      "#calculate\n",
+      "#since NA=u1*sqrt(2*d)\n",
+      "#we have u1=NA/sqrt(2*d)\n",
+      "u1= NA/math.sqrt(2*d); #calculation of refractive index of  material of the core\n",
+      "\n",
+      "#result\n",
+      "print\"The refractive index of  material of the core is u1=\",round(u1,3);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refractive index of  material of the core is u1= 1.233\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.5 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.50; #refractive index of core\n",
+      "u2=1.45; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "d=(u1-u2)/u1; #calculation of fractional index change\n",
+      "NA=u1*math.sqrt(2*d); #calculation of numerical aperture\n",
+      "theta_0=math.asin(NA); #calculation of acceptance angle\n",
+      "theta_01=theta_0*180/3.14;\n",
+      "theta_c=math.asin(u2/u1); #calculation of critical angle\n",
+      "theta_c1=theta_c*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,3);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta_01,2),\"degree\";\n",
+      "print\"The critical angle of the optical fibre is =\",round(theta_c1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.387\n",
+        "The acceptance angle of the optical fibre is = 22.8 degree\n",
+        "The critical angle of the optical fibre is = 75.2 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.6 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "NA=0.33; #numerical aperture\n",
+      "d=0.02; #difference in the refractive index of the core and cladding of the material\n",
+      "\n",
+      "#calculate\n",
+      "#since NA=u1*sqrt(2*d)\n",
+      "#therefore we have\n",
+      "u1=NA/math.sqrt(2*d); #calculation of refractive index of the core\n",
+      "#since d=(u1-u2)/u2\n",
+      "#therefore we have\n",
+      "u2=(1-d)*u1; #calculation of refractive index of the cladding\n",
+      "\n",
+      "#result\n",
+      "print\"The refractive index of the core is u1=\",round(u1,2);\n",
+      "print\"The refractive index of the cladding is u2=\",round(u2,3);\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refractive index of the core is u1= 1.65\n",
+        "The refractive index of the cladding is u2= 1.617\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.7 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=3.5; #refractive index of core\n",
+      "u2=3.45; #refractive index of cladding\n",
+      "u0=1; #refractive index of the air\n",
+      "\n",
+      "#calculate\n",
+      "NA=math.sqrt(u1**2-u2**2); #calculation of numerical aperture\n",
+      "NA1=NA/u0;\n",
+      "alpha=math.asin(NA); #calculation of acceptance angle\n",
+      "alpha1=alpha*180/3.14;\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA1,2);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(alpha1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.59\n",
+        "The acceptance angle of the optical fibre is = 36.14 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.8 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.48; #refractive index of core\n",
+      "u2=1.45; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "NA=math.sqrt(u1**2-u2**2); #calculation of numerical aperture\n",
+      "theta=math.asin(NA); #calculation of acceptance angle\n",
+      "theta1=theta*180/3.14;\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,3);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta1,2),\"degree\";\n",
+      "print \"   (roundoff error)\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.296\n",
+        "The acceptance angle of the optical fibre is = 17.26 degree\n",
+        "   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/Chapter_12_Fibre_Optics.ipynb b/Applied_Physics/Chapter_12_Fibre_Optics.ipynb
new file mode 100755
index 00000000..f573b0a2
--- /dev/null
+++ b/Applied_Physics/Chapter_12_Fibre_Optics.ipynb
@@ -0,0 +1,365 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dac7a0b06f622e783ea6c469bf1c100c0c8157cc5e77bffea65e378f258808b2"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12:Fibre Optics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.1 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.563; #refractive index of core\n",
+      "u2=1.498; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "d=(u1-u2)/u1; #calculation of fractional index change\n",
+      "\n",
+      "#result\n",
+      "print\"The fractional index change for a given optical fibre is =\",round(d,4);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fractional index change for a given optical fibre is = 0.0416\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.2 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.55; #refractive index of core\n",
+      "u2=1.50; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "d=(u1-u2)/u1; #calculation of fractional index change\n",
+      "NA=u1*math.sqrt(2*d); #calculation of numerical aperture\n",
+      "theta=math.asin(NA); #calculation of acceptance angle\n",
+      "theta1=theta*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,3);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.394\n",
+        "The acceptance angle of the optical fibre is = 23.2 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.3 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.563; #refractive index of core\n",
+      "u2=1.498; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "NA=math.sqrt(u1**2-u2**2); #calculation of numerical aperture\n",
+      "theta=math.asin(NA); #calculation of acceptance angle\n",
+      "theta1=theta*180/3.14;\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,4);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.4461\n",
+        "The acceptance angle of the optical fibre is = 26.5 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.4 , Page no:360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "NA=0.39; #numerical aperture of the optical fibre\n",
+      "d=0.05; #difference in the refractive index of the material of the core and cladding\n",
+      "\n",
+      "#calculate\n",
+      "#since NA=u1*sqrt(2*d)\n",
+      "#we have u1=NA/sqrt(2*d)\n",
+      "u1= NA/math.sqrt(2*d); #calculation of refractive index of  material of the core\n",
+      "\n",
+      "#result\n",
+      "print\"The refractive index of  material of the core is u1=\",round(u1,3);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refractive index of  material of the core is u1= 1.233\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.5 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.50; #refractive index of core\n",
+      "u2=1.45; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "d=(u1-u2)/u1; #calculation of fractional index change\n",
+      "NA=u1*math.sqrt(2*d); #calculation of numerical aperture\n",
+      "theta_0=math.asin(NA); #calculation of acceptance angle\n",
+      "theta_01=theta_0*180/3.14;\n",
+      "theta_c=math.asin(u2/u1); #calculation of critical angle\n",
+      "theta_c1=theta_c*180/3.14;\n",
+      "\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,3);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta_01,2),\"degree\";\n",
+      "print\"The critical angle of the optical fibre is =\",round(theta_c1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.387\n",
+        "The acceptance angle of the optical fibre is = 22.8 degree\n",
+        "The critical angle of the optical fibre is = 75.2 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.6 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "NA=0.33; #numerical aperture\n",
+      "d=0.02; #difference in the refractive index of the core and cladding of the material\n",
+      "\n",
+      "#calculate\n",
+      "#since NA=u1*sqrt(2*d)\n",
+      "#therefore we have\n",
+      "u1=NA/math.sqrt(2*d); #calculation of refractive index of the core\n",
+      "#since d=(u1-u2)/u2\n",
+      "#therefore we have\n",
+      "u2=(1-d)*u1; #calculation of refractive index of the cladding\n",
+      "\n",
+      "#result\n",
+      "print\"The refractive index of the core is u1=\",round(u1,2);\n",
+      "print\"The refractive index of the cladding is u2=\",round(u2,3);\n",
+      "print \"NOTE: The answer in the textbook is wrong\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refractive index of the core is u1= 1.65\n",
+        "The refractive index of the cladding is u2= 1.617\n",
+        "NOTE: The answer in the textbook is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.7 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=3.5; #refractive index of core\n",
+      "u2=3.45; #refractive index of cladding\n",
+      "u0=1; #refractive index of the air\n",
+      "\n",
+      "#calculate\n",
+      "NA=math.sqrt(u1**2-u2**2); #calculation of numerical aperture\n",
+      "NA1=NA/u0;\n",
+      "alpha=math.asin(NA); #calculation of acceptance angle\n",
+      "alpha1=alpha*180/3.14;\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA1,2);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(alpha1,2),\"degree\";"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.59\n",
+        "The acceptance angle of the optical fibre is = 36.14 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.8 , Page no:361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#given\n",
+      "u1=1.48; #refractive index of core\n",
+      "u2=1.45; #refractive index of cladding\n",
+      "\n",
+      "#calculate\n",
+      "NA=math.sqrt(u1**2-u2**2); #calculation of numerical aperture\n",
+      "theta=math.asin(NA); #calculation of acceptance angle\n",
+      "theta1=theta*180/3.14;\n",
+      "#result\n",
+      "print\"The numerical aperture of the fibre is NA=\",round(NA,3);\n",
+      "print\"The acceptance angle of the optical fibre is =\",round(theta1,2),\"degree\";\n",
+      "print \"   (roundoff error)\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture of the fibre is NA= 0.296\n",
+        "The acceptance angle of the optical fibre is = 17.26 degree\n",
+        "   (roundoff error)\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Applied_Physics/screenshots/1.png b/Applied_Physics/screenshots/1.png
new file mode 100755
index 00000000..37995b76
Binary files /dev/null and b/Applied_Physics/screenshots/1.png differ
diff --git a/Applied_Physics/screenshots/2.png b/Applied_Physics/screenshots/2.png
new file mode 100755
index 00000000..cf42154d
Binary files /dev/null and b/Applied_Physics/screenshots/2.png differ
diff --git a/Applied_Physics/screenshots/6.png b/Applied_Physics/screenshots/6.png
new file mode 100755
index 00000000..f6086db3
Binary files /dev/null and b/Applied_Physics/screenshots/6.png differ
diff --git a/Applied_Physics/screenshots/Calculation_of__mean_free_path_of_electron.png b/Applied_Physics/screenshots/Calculation_of__mean_free_path_of_electron.png
new file mode 100755
index 00000000..37995b76
Binary files /dev/null and b/Applied_Physics/screenshots/Calculation_of__mean_free_path_of_electron.png differ
diff --git a/Applied_Physics/screenshots/Calculation_of__mean_free_path_of_electron_1.png b/Applied_Physics/screenshots/Calculation_of__mean_free_path_of_electron_1.png
new file mode 100755
index 00000000..37995b76
Binary files /dev/null and b/Applied_Physics/screenshots/Calculation_of__mean_free_path_of_electron_1.png differ
diff --git a/Applied_Physics/screenshots/Calculation_of__potential_energy.png b/Applied_Physics/screenshots/Calculation_of__potential_energy.png
new file mode 100755
index 00000000..f6086db3
Binary files /dev/null and b/Applied_Physics/screenshots/Calculation_of__potential_energy.png differ
diff --git a/Applied_Physics/screenshots/Calculation_of__potential_energy_1.png b/Applied_Physics/screenshots/Calculation_of__potential_energy_1.png
new file mode 100755
index 00000000..f6086db3
Binary files /dev/null and b/Applied_Physics/screenshots/Calculation_of__potential_energy_1.png differ
diff --git a/Applied_Physics/screenshots/Calculation_of_lattice_constant.png b/Applied_Physics/screenshots/Calculation_of_lattice_constant.png
new file mode 100755
index 00000000..cf42154d
Binary files /dev/null and b/Applied_Physics/screenshots/Calculation_of_lattice_constant.png differ
diff --git a/Applied_Physics/screenshots/Calculation_of_lattice_constant_1.png b/Applied_Physics/screenshots/Calculation_of_lattice_constant_1.png
new file mode 100755
index 00000000..cf42154d
Binary files /dev/null and b/Applied_Physics/screenshots/Calculation_of_lattice_constant_1.png differ
diff --git a/Computer_Concepts_and_C_Programming/chapter10.ipynb b/Computer_Concepts_and_C_Programming/chapter10.ipynb
new file mode 100755
index 00000000..8be3d9ff
--- /dev/null
+++ b/Computer_Concepts_and_C_Programming/chapter10.ipynb
@@ -0,0 +1,600 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:2cafa3e908c942f24f0641c416de64e3b7ea34b141a866aae200a7ad053e7f3e"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "10 : ARRAYS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "10.2.1,page number:170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import array\n",
+      "value = [6]\n",
+      "\n",
+      "for index in range(0,6):\n",
+      "    print \"Enter Integer\"\n",
+      "    value.append(int(input()))\n",
+      "for index in range(0,7):\n",
+      "    print \"Integer = \",value[index]"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Integer\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Integer\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Integer\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "12\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Integer\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Integer\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Integer\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "13\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Integer =  6\n",
+        "Integer =  4\n",
+        "Integer =  6\n",
+        "Integer =  12\n",
+        "Integer =  6\n",
+        "Integer =  7\n",
+        "Integer =  13\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "10.3.1, page number:170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "value=[6,4,3,2,1]\n",
+      "for index in xrange(5):\n",
+      "    print \"Integer = \",value[index]"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Integer =  6\n",
+        "Integer =  4\n",
+        "Integer =  3\n",
+        "Integer =  2\n",
+        "Integer =  1\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "10.3.2, page number:171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import array\n",
+      "def MAX_SIZE_CONST():\n",
+      "    return 123\n",
+      "def TRAILER_CONST():\n",
+      "    return -7777\n",
+      "value=array.array('i',[])\n",
+      "print \"Enter upto\",MAX_SIZE_CONST(),\"using\",TRAILER_CONST(),\"as trailer :\"\n",
+      "print \"\"\n",
+      "m=0\n",
+      "for index in range(0,int(MAX_SIZE_CONST())):\n",
+      "    item=int(input())\n",
+      "    if(item == int(TRAILER_CONST())):\n",
+      "        break\n",
+      "    else:\n",
+      "        value.append(item)\n",
+      "        m+=1\n",
+      "for index in range(0,m):\n",
+      "    print \"Integer =\",value[index]"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter upto 123 using -7777 as trailer :\n",
+        "\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "-7777\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Integer = 1\n",
+        "Integer = 2\n",
+        "Integer = 3\n",
+        "Integer = 4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "10.4.1, page number:172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import array\n",
+      "k=0\n",
+      "sum=0.0\n",
+      "def MAX_STUD():\n",
+      "    return 20\n",
+      "def ENDINP():\n",
+      "    return -9999\n",
+      "mark=array.array('i',(0 for i in range(0,MAX_STUD())))\n",
+      "print \"enter upto\",MAX_STUD(),\"marks:\"\n",
+      "readin=int(input())\n",
+      "for index in range(0,MAX_STUD()):\n",
+      "    if(readin != ENDINP()):\n",
+      "        mark[index]=readin\n",
+      "        readin=int(input())\n",
+      "        k+=1\n",
+      "for index in xrange(0,k):\n",
+      "    sum=sum+mark[index]\n",
+      "print \"Average Mark = \",sum/k\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter upto 20 marks:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "34\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "66\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "78\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "65\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "43\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "23\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "12\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "88\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "-9999\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average Mark =  51.125\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "10.5.1, page number:174"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import array\n",
+      "def MAX_SIZE():\n",
+      "    return 10\n",
+      "#str=array.array('i',(0 for i in range(0,MAX_SIZE()+1)))\n",
+      "print \"Enter the 10 letter word.\"\n",
+      "str=raw_input()\n",
+      "r=[]\n",
+      "for letter in str:\n",
+      "    r.append(letter)\n",
+      "r.reverse()\n",
+      "print \"word = \",str\n",
+      "print \"\".join(r)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the 10 letter word.\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "madurai\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "word =  madurai\n",
+        "iarudam\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "10.6.1, page number:175"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import array\n",
+      "def MAX_SIZE():\n",
+      "    return 20\n",
+      "size=0\n",
+      "variable =array.array('i',[])\n",
+      "while True:\n",
+      "    print \"Array-size : ?\"\n",
+      "    size=int(input())\n",
+      "    if size>1 and size<MAX_SIZE():\n",
+      "        break\n",
+      "print \"Enter Numbers:\"\n",
+      "for k in range(0,size):\n",
+      "    m=int(input())\n",
+      "    variable.append(m)\n",
+      "\n",
+      "variable= array.array('i',sorted(variable))\n",
+      "\n",
+      "print \"Sorted Array is:\"\n",
+      "for k in range(0,size):\n",
+      "    print variable[k],\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Array-size : ?\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "9\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Numbers:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "10\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "43\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "-5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "14\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "9\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorted Array is:\n",
+        "-5 0 6 7 8 9 10 14 43\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Computer_Concepts_and_C_Programming/chapter11.ipynb b/Computer_Concepts_and_C_Programming/chapter11.ipynb
new file mode 100755
index 00000000..64b1782a
--- /dev/null
+++ b/Computer_Concepts_and_C_Programming/chapter11.ipynb
@@ -0,0 +1,373 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:485a3886ce6fec7e588442094d33b7144b874b20c1df902af51519c8f178d98a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "11:HANDLING OF CHARACTER STRINGS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "11.2.1, page number:180"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "inform=['m','a','d','u','r','a','i']\n",
+      "print \"\".join(inform)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "madurai\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "11.3.1,page number:182"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "inform=\"Thiagaragar\"\n",
+      "numb=int(input(\"No. Of Char To Print \"))\n",
+      "print 'print format = %.0',numb,'s'\n",
+      "print inform[0:numb]"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "No. Of Char To Print 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "print format = %.0 6 s\n",
+        "Thiaga\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "11.4.1,page number:183"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "inform=\"Thiagaragar\"\n",
+      "numb=int(input(\"No. Of Char To Print \"))\n",
+      "print 'print format = %.0',numb,'s'\n",
+      "print inform[0:numb]"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "No. Of Char To Print 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "print format = %.0 6 s\n",
+        "Thiaga\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "11.5.1,page number:183"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "array1='Thiagarajar Engg'\n",
+      "array2=(array1 + '.')[:-1]\n",
+      "print \"array1 = \",array1\n",
+      "print \"array2 = \",array2"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "array1 =  Thiagarajar Engg\n",
+        "array2 =  Thiagarajar Engg\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "11.6.1,page number:184"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "userInput = raw_input(\"Enter Int: \")\n",
+      "if userInput.isdigit():\n",
+      "    print \"Number = \"+userInput\n",
+      "else:\n",
+      "    print userInput,\"is not int type\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Int: 8\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number = 8\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "11.7.1,page number:186"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "first=\"Thiagrajar\"\n",
+      "second=first+\" Engg.\"\n",
+      "\n",
+      "print \"first = \",first\n",
+      "print \"second = \",second"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "first =  Thiagrajar\n",
+        "second =  Thiagrajar Engg.\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "11.12.1, page number:189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import array\n",
+      "i=20\n",
+      "size=0\n",
+      "str1 =[]\n",
+      "str2=[]\n",
+      "def readSize():\n",
+      "    global size\n",
+      "    size=int(input(\"Enter number of strings : \"))\n",
+      "    if size<1 or size>i :\n",
+      "        readSize()\n",
+      "    return\n",
+      "def readArray():\n",
+      "    global size\n",
+      "    global str1\n",
+      "    print \"Enter the Strings..\"\n",
+      "    for k in range(0,size):\n",
+      "        m=raw_input()\n",
+      "        str1.append(m)\n",
+      "    return\n",
+      "def displayArray1():\n",
+      "    for index in range(0,size):\n",
+      "        print str1[index]\n",
+      "    return\n",
+      "def displayArray2():\n",
+      "    for index in range(0,size):\n",
+      "        print str2[index]\n",
+      "    return\n",
+      "def sortedArray():\n",
+      "    global str1\n",
+      "    global str2\n",
+      "    str2= sorted(str1)\n",
+      "    return\n",
+      "\n",
+      "readSize()\n",
+      "readArray()\n",
+      "print \"The unsorted array is..\"\n",
+      "displayArray1()\n",
+      "sortedArray()\n",
+      "print \"The sorted array is..\"\n",
+      "displayArray2()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter number of strings : 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the Strings..\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "computer\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "page\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "diskette\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "eprom\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "binary\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "random\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The unsorted array is..\n",
+        "computer\n",
+        "page\n",
+        "diskette\n",
+        "eprom\n",
+        "binary\n",
+        "random\n",
+        "The sorted array is..\n",
+        "binary\n",
+        "computer\n",
+        "diskette\n",
+        "eprom\n",
+        "page\n",
+        "random\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Computer_Concepts_and_C_Programming/chapter12.ipynb b/Computer_Concepts_and_C_Programming/chapter12.ipynb
new file mode 100755
index 00000000..0c2cd2f9
--- /dev/null
+++ b/Computer_Concepts_and_C_Programming/chapter12.ipynb
@@ -0,0 +1,417 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:057add51225e0c3d10e99246a561a5b527e19bd9c75972f8c282ffbd6b35fbb7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "12:USER DEFINED FUNCTIONS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "12.4.1, page number:194"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def get_a_value():\n",
+      "    return float(input())\n",
+      "print \"Enter the Length..\"\n",
+      "leng=get_a_value()\n",
+      "print \"Enter the Width..\"\n",
+      "width=get_a_value()\n",
+      "print \"Area = \",leng*width"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the Length..\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "16.8\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the Width..\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "43.7\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Area =  734.16\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "12.5.1, page number:195"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def change_index():\n",
+      "    index=5\n",
+      "index=3\n",
+      "print \"index = \",index\n",
+      "change_index()\n",
+      "print \"index = \",index"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "index =  3\n",
+        "index =  3\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "12.5.2, page number:196"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def get_a_value():\n",
+      "    return float(input())\n",
+      "def calc_area():\n",
+      "    global leng,width\n",
+      "    return leng*width\n",
+      "print \"Enter the Length..\"\n",
+      "leng=get_a_value()\n",
+      "print \"Enter the Width..\"\n",
+      "width=get_a_value()\n",
+      "print \"Area = \",calc_area()\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the Length..\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "12.5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the Width..\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "23.7\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Area =  296.25\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "12.6.1, page number:197"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def print_value(k):\n",
+      "    print k\n",
+      "numb=5\n",
+      "print \"Value of Expression : \",\n",
+      "print_value(numb*3+2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of Expression :  17\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "12.7.1, page number:198"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def TOL():\n",
+      "    return 0.0001\n",
+      "def sqrt(n):\n",
+      "    if n>0.0:\n",
+      "        guess=0.0\n",
+      "        guess=n/2.0\n",
+      "        while True:\n",
+      "            if ((guess*guess-n) > TOL()) or ((guess*guess-n) < -TOL()):\n",
+      "                temp=guess+n/guess\n",
+      "                guess=temp/2.0\n",
+      "            else:\n",
+      "                break\n",
+      "        return guess\n",
+      "    else:\n",
+      "        return -1.0\n",
+      "            \n",
+      "numb=float(input(\"Enter number..\"))\n",
+      "print \"Square Root of\",numb,\"is\",sqrt(numb)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter number..17.1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Square Root of 17.1 is 4.13521500873\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "12.8.1, page number:198"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "year=0\n",
+      "def leap(n):\n",
+      "    return (n%4 == 0)and(n%100 != 0)or(n%400 == 0)\n",
+      "year=int(input(\"Enter Year..\"))\n",
+      "if leap(year):\n",
+      "    print year,\"is leap year\"\n",
+      "else:\n",
+      "    print year,\"is not leap year\""
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "12.9.1, page number:199"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def input_value():\n",
+      "    return input()\n",
+      "def area(l,w):\n",
+      "    return l*w\n",
+      "print \"Length = \"\n",
+      "length=input_value();\n",
+      "print \"Width = \"\n",
+      "width=input_value();\n",
+      "print \"Area = \",area(length,width)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Length = \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "12.5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Width = \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "23.7\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Area =  296.25\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "12.9.2, page number:200"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "value=1\n",
+      "def power(n,e):\n",
+      "    global value\n",
+      "    if(e<0):\n",
+      "        return 0\n",
+      "    for index in range(0,e):\n",
+      "        if(index < e):\n",
+      "            value*=n\n",
+      "            index+=1\n",
+      "    return value\n",
+      "            \n",
+      "number=int(input(\"Enter Integer...\"))\n",
+      "exponent=int(input(\"Enter Exponent...\"))\n",
+      "while True:\n",
+      "    if (exponent<0):\n",
+      "        exponent=input(\"Enter a Non-Negative Integer :\")\n",
+      "    else:\n",
+      "        break\n",
+      "print number,\"raised to \",exponent,\" = \",power(number,exponent)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Integer...4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Exponent...2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4 raised to  2  =  16\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Computer_Concepts_and_C_Programming/chapter13.ipynb b/Computer_Concepts_and_C_Programming/chapter13.ipynb
new file mode 100755
index 00000000..0c43b667
--- /dev/null
+++ b/Computer_Concepts_and_C_Programming/chapter13.ipynb
@@ -0,0 +1,125 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1ba129031b3dd7ed7efce1207bad751b6003f133c0f192eb72df391881da05bb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "13:STRUCTURE AND UNIONS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "13.2.1, page number:203"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from collections import namedtuple\n",
+      "MyStruct = namedtuple(\"MyStruct\", \"regno fees\")\n",
+      "\n",
+      "integer = MyStruct(\"1234\", \" \")\n",
+      "real = MyStruct(\" \",\"320.17\")\n",
+      "integer=integer._replace(fees=real.fees)\n",
+      "real=real._replace(regno=integer.regno)\n",
+      "\n",
+      "print \"Reg_no : \",real.regno,\",Reg.no : \",integer.fees"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Reg_no :  1234 ,Reg.no :  320.17\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "13.3.1, page number:203"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from collections import namedtuple\n",
+      "MyStruct = namedtuple(\"MyStruct\", \"regno fees\")\n",
+      "\n",
+      "\n",
+      "student = MyStruct(\"1234\", \"320.17\")\n",
+      "\n",
+      "print \"Reg.no : \",student.regno,\",Reg.no : \",student.fees"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Reg.no :  1234 ,Reg.no :  320.17\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "13.4.1, page number:204"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from collections import namedtuple\n",
+      "MyStruct = namedtuple(\"MyStruct\", \"regno fees\")\n",
+      "\n",
+      "integer = MyStruct(\"1234\", \"320.17\")\n",
+      "real = MyStruct(\"\",\"\")\n",
+      "real=real._replace(regno=integer.regno,fees=integer.fees)\n",
+      "\n",
+      "print \"Reg_no : \",real.regno,\",Reg.no : \",real.fees"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Reg_no :  1234 ,Reg.no :  320.17\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Computer_Concepts_and_C_Programming/chapter15.ipynb b/Computer_Concepts_and_C_Programming/chapter15.ipynb
new file mode 100755
index 00000000..39ea0685
--- /dev/null
+++ b/Computer_Concepts_and_C_Programming/chapter15.ipynb
@@ -0,0 +1,384 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1653abf733b2f9f179249fa6301d56a0dc1802cab84a3f5e0ff6ee96488fe3f6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "15:FILES"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "15.4.1, Page number:224"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "while True:\n",
+      "    print \"Enter Text\"\n",
+      "    c = raw_input()\n",
+      "    print 'Text entered is:'\n",
+      "    print c\n",
+      "    if c[-1] == '.':\n",
+      "        break"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Text\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C programming language is modern and advanced;\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Text entered is:\n",
+        "C programming language is modern and advanced;\n",
+        "Enter Text\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "it enables addressing bits and bytes.\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Text entered is:\n",
+        "it enables addressing bits and bytes.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "15.9.1, Page number:224"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def EOF():\n",
+      "    return -1\n",
+      "while True:\n",
+      "    print \"Enter Text\"\n",
+      "    c = raw_input()\n",
+      "    print 'Text entered is:'\n",
+      "    print c\n",
+      "    if c != EOF():\n",
+      "        break"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Text\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "madurai is a great city ,meenakshi temple is in the heart,millions of pilgrims visit the temple every year.\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Text entered is:\n",
+        "madurai is a great city ,meenakshi temple is in the heart,millions of pilgrims visit the temple every year.\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "15.10.1,page numebr:231"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Key in Text:\"\n",
+      "f = open('myfile','w')\n",
+      "c=str(raw_input())\n",
+      "f.write(c)\n",
+      "print \"The text is:\"\n",
+      "f = open('myfile','r')\n",
+      "print f.read()\n",
+      "f.close()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Key in Text:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Madurai city is famous for its historical mounaments and archives,every visitor must see these places.\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The text is:\n",
+        "Madurai city is famous for its historical mounaments and archives,every visitor must see these places.\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "15.12.1,page numebr:233"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def file_output(x):\n",
+      "    f=open(x,\"r\")\n",
+      "    print f.read()\n",
+      "original = open('stud_rec','w')\n",
+      "copy = open('image','a')\n",
+      "\n",
+      "original.write(\"Tirupparankundram\\n\")\n",
+      "copy.write(\"Tirupparankundram\\n\")\n",
+      "\n",
+      "original.close()\n",
+      "copy.close()\n",
+      "\n",
+      "print \"After adding input,stud_rec has: \"\n",
+      "file_output(\"stud_rec\")\n",
+      "print \"After append,image contains:\"\n",
+      "file_output(\"image\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "After adding input,stud_rec has: \n",
+        "Tirupparankundram\n",
+        "\n",
+        "After append,image contains:\n",
+        "Tirupparankundram\n",
+        "Tirupparankundram\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "15.14.1,page number:237"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Type in the Text:\"\n",
+      "f = open('madurai','w')\n",
+      "c=str(raw_input())\n",
+      "f.write(c)\n",
+      "print \"The text read as:\"\n",
+      "f = open('madurai','r')\n",
+      "print f.read()\n",
+      "f.close()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Type in the Text:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Madurai is an ancient city,ruled by pandyas,Tirumalai nayakar was the last prominent ruler who left many monuments; but meenakshi temple has no age\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The text read as:\n",
+        "Madurai is an ancient city,ruled by pandyas,Tirumalai nayakar was the last prominent ruler who left many monuments; but meenakshi temple has no age\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "15.16.1,page number:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import os\n",
+      "import sys\n",
+      "import fileinput\n",
+      "import string\n",
+      "\n",
+      "print \"Madurai Contains :\"\n",
+      "f = open('madurai_1','r')\n",
+      "print f.read()\n",
+      "f.close()\n",
+      "\n",
+      "s = open(\"madurai_1\").read()\n",
+      "s = s.replace('temple', 'shrine')\n",
+      "f = open(\"madurai_1\", 'w')\n",
+      "f.write(s)\n",
+      "f.close()\n",
+      "\n",
+      "print \"Modified File now reads :\"\n",
+      "f = open('madurai_1','r')\n",
+      "print f.read()\n",
+      "f.close()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Madurai Contains :\n",
+        "Madurai is an ancient city,ruled by pandyas,Tirumalai nayakar was the last prominent ruler who left many monuments; but meenakshi temple has no age\n",
+        "\n",
+        "Modified File now reads :\n",
+        "Madurai is an ancient city,ruled by pandyas,Tirumalai nayakar was the last prominent ruler who left many monuments; but meenakshi shrine has no age\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "15.18.1,page number:241"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import re\n",
+      "print \"Enter a stream of characters with integers embedded\"\n",
+      "c=raw_input()\n",
+      "print \"Integr is : \",re.sub(\"[^0-9]\", \"\", c)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a stream of characters with integers embedded\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "ab+&473.tce\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Integr is :  473\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Computer_Concepts_and_C_Programming/chapter5.ipynb b/Computer_Concepts_and_C_Programming/chapter5.ipynb
new file mode 100755
index 00000000..3371a2b1
--- /dev/null
+++ b/Computer_Concepts_and_C_Programming/chapter5.ipynb
@@ -0,0 +1,50 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:fc199f6967bdaa418c011f64a9259bafc6cecf83675a6e55fed36bd7ff1a9671"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "5:C PROGRAMMING"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "5.3,page number:124"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Welcome to C programming.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Welcome to C programming.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Computer_Concepts_and_C_Programming/chapter6.ipynb b/Computer_Concepts_and_C_Programming/chapter6.ipynb
new file mode 100755
index 00000000..4c020690
--- /dev/null
+++ b/Computer_Concepts_and_C_Programming/chapter6.ipynb
@@ -0,0 +1,161 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:47d59a62b2c6bacca8aa43f556c3c49e598b6b0b52b3cecb75f5587ebd7d9f66"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "6:CONSTANTS,VARIABLES"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "6.3.1,page number:140"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "m=4\n",
+      "n=6\n",
+      "p=8\n",
+      "result = m+n\n",
+      "print \"m+n=\",result\n",
+      "result = int (m/n)\n",
+      "print \"m/n=\",result\n",
+      "result = m*p\n",
+      "print \"m*p=\",result"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "m+n= 10\n",
+        "m/n= 0\n",
+        "m*p= 32\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "6.3.2,page number:141"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "m = 4\n",
+      "n = 6\n",
+      "p = 8\n",
+      "result= round(m+n-p*m+p/n,0)\n",
+      "print \"m=\",m,\",n=\",n,\",p=\",p\n",
+      "print \"m + n - p * m + p / n = \",result"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "m= 4 ,n= 6 ,p= 8\n",
+        "m + n - p * m + p / n =  -21.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "6.3.3,page number:142"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "m = 4\n",
+      "n = 6\n",
+      "print \" 6 mod 4 = \",n%m\n",
+      "print \"The modulus operator is : %\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " 6 mod 4 =  2\n",
+        "The modulus operator is : %\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "6.3.4,page number:142"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "m = -4\n",
+      "n = 6\n",
+      "p = 8\n",
+      "print \"m=\",m,\" n=\",n,\" p=\",p\n",
+      "print \"gives\"\n",
+      "m=-m\n",
+      "n=-n\n",
+      "p=-p\n",
+      "print \"m=\",m,\" n=\",n,\" p=\",p"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "m= -4  n= 6  p= 8\n",
+        "gives\n",
+        "m= 4  n= -6  p= -8\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Computer_Concepts_and_C_Programming/chapter7.ipynb b/Computer_Concepts_and_C_Programming/chapter7.ipynb
new file mode 100755
index 00000000..25b2623d
--- /dev/null
+++ b/Computer_Concepts_and_C_Programming/chapter7.ipynb
@@ -0,0 +1,85 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:c5adc1aab2163bdfaad00a9f18852cb6fb30a3af1418e251d196ede7718844fa"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "7.OPERATORS AND EXPRESSION"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "7.4.1,page number:145"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "number = 19+9\n",
+      "print \"The month of Februry has\",number,\"days\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The month of Februry has 28 days\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "7.8.1,page number:150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "m = 2\n",
+      "n = 12.34\n",
+      "result=m*n\n",
+      "print m,\"*\",n,\"=\",result\n",
+      "print result,\"in scientific notation is\",\"{:.2E}\".format(result)\n",
+      "print m,\"*\",n,\"=\",round(result)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2 * 12.34 = 24.68\n",
+        "24.68 in scientific notation is 2.47E+01\n",
+        "2 * 12.34 = 25.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Computer_Concepts_and_C_Programming/chapter8.ipynb b/Computer_Concepts_and_C_Programming/chapter8.ipynb
new file mode 100755
index 00000000..02731f67
--- /dev/null
+++ b/Computer_Concepts_and_C_Programming/chapter8.ipynb
@@ -0,0 +1,139 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:9ca261b12dda6340bfb56a529d7d5db69661ff51a7fd92655edb700a9cae8e3b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "8.MANAGING INPUT AND OUTPUT OPERATORS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "8.1.1,page number:152"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"tce\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "tce\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "8.2.1,page number:153"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Enter Text :\"\n",
+      "str=raw_input()\n",
+      "print \"Text entered is:\\n\",str"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Text :\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C programming Language is modern and advanced;it enables adressing bits and bytes.\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Text entered is:\n",
+        "C programming Language is modern and advanced;it enables adressing bits and bytes.\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "8.3.1,page number:155"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Enter an Integer :\"\n",
+      "number=int(input())\n",
+      "print \"The Square Of \",number,\"is\",number*number"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter an Integer :\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Square Of  6 is 36\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Computer_Concepts_and_C_Programming/chapter9.ipynb b/Computer_Concepts_and_C_Programming/chapter9.ipynb
new file mode 100755
index 00000000..b93d44a1
--- /dev/null
+++ b/Computer_Concepts_and_C_Programming/chapter9.ipynb
@@ -0,0 +1,593 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:6065d96194d011c72f0a8e96e52a07b9854f652b99dbacaf2f793d33a2f5e84b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "9 : DECISION MAKING,BREAKING BRANCHING AND LOOPING"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "9.1.1,page number:156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Type an Integer\"\n",
+      "numb=int(input())\n",
+      "if numb<=5:\n",
+      "    print \"Good Choice!\"\n",
+      "print \"Thank You!\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Type an Integer\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Good Choice!\n",
+        "Thank You!\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "9.2.1,page number:157"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Enter year : \"\n",
+      "year= int(input())\n",
+      "if year%4 == 0 and year%100 != 0 or year%400 == 0:\n",
+      "    print year,\"is a leap year\"\n",
+      "else:\n",
+      "    print year,\"is not a leap year\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter year : \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1990\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1990 is not a leap year\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "9.4.1,page number : 158"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Enter choice of city(1-4)\"\n",
+      "city = int(input())\n",
+      "if city == 1:\n",
+      "    print \"Madurai\"\n",
+      "elif city == 2:\n",
+      "    print \"Chennai\"\n",
+      "elif city == 3:\n",
+      "    print \"Mumbai\"\n",
+      "elif city == 4:\n",
+      "    print \"Calcutta\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter choice of city(1-4)\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Mumbai\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "9.6.1,page number : 161"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import array\n",
+      "i =20\n",
+      "variable =array.array('i',[])\n",
+      "size = 0\n",
+      "\n",
+      "def get_array_size():\n",
+      "    print \"Array-size :\"\n",
+      "    global size\n",
+      "    size=int(input())\n",
+      "    if size<1 or size>i :\n",
+      "        get_array_size()\n",
+      "    \n",
+      "def input_fetch():\n",
+      "    global size\n",
+      "    global variabless\n",
+      "    for k in range(0,size):\n",
+      "        m=int(input())\n",
+      "        variable.append(m)\n",
+      "    return\n",
+      "\n",
+      "def sort_list():\n",
+      "    global variable\n",
+      "    variable= array.array('i',sorted(variable))\n",
+      "    \n",
+      "    return\n",
+      "    \n",
+      "def output():\n",
+      "    for k in range(0,size):\n",
+      "        print variable[k],\n",
+      "    return\n",
+      "\n",
+      "def even(number):\n",
+      "    if number/2 == 0:\n",
+      "        return 1\n",
+      "    else:\n",
+      "        return 0\n",
+      "\n",
+      "get_array_size()\n",
+      "input_fetch()\n",
+      "sort_list()\n",
+      "print \"The sorted list is :\"\n",
+      "output()\n",
+      "print \"\\nMedian : \",\n",
+      "\n",
+      "median=round((variable[(size/2)-1]+variable[size/2])/2,3) if even(size)  else float(variable[size/2])\n",
+      "print median"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Array-size :\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "10\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "-4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "13\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "17\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "25\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The sorted list is :\n",
+        "-4 0 5 6 6 7 8 13 17 25 \n",
+        "Median :  7.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "9.8.1,page number:163"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "index = 1\n",
+      "while index<12:\n",
+      "    print \"This is line \",index\n",
+      "    index+=1\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "This is line  1\n",
+        "This is line  2\n",
+        "This is line  3\n",
+        "This is line  4\n",
+        "This is line  5\n",
+        "This is line  6\n",
+        "This is line  7\n",
+        "This is line  8\n",
+        "This is line  9\n",
+        "This is line  10\n",
+        "This is line  11\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "9.9.1,page number:164"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Enter Integer\"\n",
+      "total_sum=0\n",
+      "numb=int(input())\n",
+      "while numb>0:\n",
+      "    digit=numb %10\n",
+      "    total_sum+=digit\n",
+      "    numb/=10\n",
+      "print \"Sum is \",total_sum"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Integer\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1776\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sum is  21\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "9.9.2,page number:165"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Enter Integer:\"\n",
+      "numb=int(input())\n",
+      "print numb,\"is reversed as \",\n",
+      "while numb>0:\n",
+      "    digit=numb%10\n",
+      "    print digit,\n",
+      "    numb/=10\n",
+      "print \"\\n\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Integer:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1234\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1234 is reversed as  4 3 2 1 \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "9.10.1,page number:166"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "for index in range(1,11):\n",
+      "    print \" line \",index"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " line  1\n",
+        " line  2\n",
+        " line  3\n",
+        " line  4\n",
+        " line  5\n",
+        " line  6\n",
+        " line  7\n",
+        " line  8\n",
+        " line  9\n",
+        " line  10\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "9.10.2,page number:166"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Result\"\n",
+      "print \"Index     Index Squared\"\n",
+      "print \"_____     _____________\"\n",
+      "for  index in range(1,11):\n",
+      "    print index,\"         \",index*index"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Result\n",
+        "Index     Index Squared\n",
+        "_____     _____________\n",
+        "1           1\n",
+        "2           4\n",
+        "3           9\n",
+        "4           16\n",
+        "5           25\n",
+        "6           36\n",
+        "7           49\n",
+        "8           64\n",
+        "9           81\n",
+        "10           100\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "9.10.3,page number:167"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "total_sum=0\n",
+      "value=100\n",
+      "for index in range(1,value+1):\n",
+      "    total_sum+=index\n",
+      "print \"Sum of 1 to \",value,\" = \",total_sum"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sum of 1 to  100  =  5050\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Computer_Concepts_and_C_Programming/screenshots/chapter10.png b/Computer_Concepts_and_C_Programming/screenshots/chapter10.png
new file mode 100755
index 00000000..0c73944f
Binary files /dev/null and b/Computer_Concepts_and_C_Programming/screenshots/chapter10.png differ
diff --git a/Computer_Concepts_and_C_Programming/screenshots/chapter12.png b/Computer_Concepts_and_C_Programming/screenshots/chapter12.png
new file mode 100755
index 00000000..f6b00405
Binary files /dev/null and b/Computer_Concepts_and_C_Programming/screenshots/chapter12.png differ
diff --git a/Computer_Concepts_and_C_Programming/screenshots/chapter9.png b/Computer_Concepts_and_C_Programming/screenshots/chapter9.png
new file mode 100755
index 00000000..f395eaae
Binary files /dev/null and b/Computer_Concepts_and_C_Programming/screenshots/chapter9.png differ
diff --git a/Computer_Programming,_Theory_and_Practice/screenshots/chapter11_1.png b/Computer_Programming,_Theory_and_Practice/screenshots/chapter11_1.png
new file mode 100755
index 00000000..c5895710
Binary files /dev/null and b/Computer_Programming,_Theory_and_Practice/screenshots/chapter11_1.png differ
diff --git a/Computer_Programming,_Theory_and_Practice/screenshots/chapter2_1.png b/Computer_Programming,_Theory_and_Practice/screenshots/chapter2_1.png
new file mode 100755
index 00000000..05fde2b5
Binary files /dev/null and b/Computer_Programming,_Theory_and_Practice/screenshots/chapter2_1.png differ
diff --git a/Computer_Programming,_Theory_and_Practice/screenshots/chapter3_1.png b/Computer_Programming,_Theory_and_Practice/screenshots/chapter3_1.png
new file mode 100755
index 00000000..685e290b
Binary files /dev/null and b/Computer_Programming,_Theory_and_Practice/screenshots/chapter3_1.png differ
diff --git a/Electrical_Machines_II/chapter_1.ipynb b/Electrical_Machines_II/chapter_1.ipynb
index 0ea2a442..d7710dba 100755
--- a/Electrical_Machines_II/chapter_1.ipynb
+++ b/Electrical_Machines_II/chapter_1.ipynb
@@ -1,7 +1,7 @@
 {
  "metadata": {
   "name": "",
-  "signature": "sha256:e4feee2966703522c4e009f16556422b345ba2813bb92ad5cc7b8ab8058895bb"
+  "signature": "sha256:71f7bb8af90f7646594735a45487d4bfd13546103b9649bd9552504ec18c8029"
  },
  "nbformat": 3,
  "nbformat_minor": 0,
@@ -235,7 +235,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import *\n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "StatorSlots=36;#No. of stator slots\n",
@@ -263,7 +263,7 @@
        ]
       }
      ],
-     "prompt_number": 62
+     "prompt_number": 2
     },
     {
      "cell_type": "heading",
@@ -277,7 +277,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import *\n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "NoOfPhase=3;#no of phase\n",
@@ -317,7 +317,7 @@
        ]
       }
      ],
-     "prompt_number": 76
+     "prompt_number": 6
     },
     {
      "cell_type": "heading",
@@ -331,7 +331,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "NoOfPhase=3;#no of phase\n",
@@ -357,7 +357,7 @@
        ]
       }
      ],
-     "prompt_number": 1
+     "prompt_number": 7
     },
     {
      "cell_type": "heading",
@@ -371,7 +371,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "StatorSlots=24#No. of stator slots\n",
@@ -403,7 +403,7 @@
        ]
       }
      ],
-     "prompt_number": 2
+     "prompt_number": 9
     },
     {
      "cell_type": "heading",
@@ -417,7 +417,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "\n",
+      "from math import pi, sqrt, sin, cos\n",
       "#given data\n",
       "NoOfPhase=3;#no of phase\n",
       "Eph=3300/sqrt(3);#in Volts\n",
@@ -450,7 +450,7 @@
        ]
       }
      ],
-     "prompt_number": 93
+     "prompt_number": 10
     },
     {
      "cell_type": "heading",
@@ -464,7 +464,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "Phase=3;#no. of phase\n",
@@ -505,7 +505,7 @@
        ]
       }
      ],
-     "prompt_number": 109
+     "prompt_number": 12
     },
     {
      "cell_type": "heading",
@@ -519,7 +519,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "RatedPower=100;#in KVA\n",
@@ -565,7 +565,7 @@
        ]
       }
      ],
-     "prompt_number": 110
+     "prompt_number": 14
     },
     {
      "cell_type": "heading",
@@ -579,7 +579,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "RatedPower=50;#in KVA\n",
@@ -615,7 +615,7 @@
        ]
       }
      ],
-     "prompt_number": 112
+     "prompt_number": 16
     },
     {
      "cell_type": "heading",
@@ -629,7 +629,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, cos, sin\n",
       "\n",
       "#given data\n",
       "OutputPower=500;#in KVA\n",
@@ -664,7 +664,7 @@
        ]
       }
      ],
-     "prompt_number": 113
+     "prompt_number": 20
     },
     {
      "cell_type": "heading",
@@ -678,7 +678,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "V=2000;#in Volt\n",
@@ -725,7 +725,7 @@
        ]
       }
      ],
-     "prompt_number": 114
+     "prompt_number": 21
     },
     {
      "cell_type": "heading",
@@ -778,7 +778,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "V=6600;#in Volts\n",
@@ -826,7 +826,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "OutputPower=1200;#in KVA\n",
@@ -886,7 +886,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "OutputPower=1500;#in KVA\n",
@@ -939,7 +939,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos, atan, tan\n",
       "\n",
       "#given data\n",
       "OutputPower=2500;#in KVA\n",
@@ -987,7 +987,7 @@
        ]
       }
      ],
-     "prompt_number": 126
+     "prompt_number": 32
     },
     {
      "cell_type": "heading",
@@ -1001,7 +1001,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "\n",
@@ -1065,7 +1065,7 @@
        ]
       }
      ],
-     "prompt_number": 129
+     "prompt_number": 26
     },
     {
      "cell_type": "heading",
@@ -1079,8 +1079,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
-      "\n",
+      "from math import pi, sqrt, sin, cos, acos, tan, atan\n",
       "#given data\n",
       "\n",
       "#Lighting Load : \n",
@@ -1130,7 +1129,7 @@
        ]
       }
      ],
-     "prompt_number": 131
+     "prompt_number": 25
     },
     {
      "cell_type": "heading",
@@ -1144,7 +1143,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos, atan, tan, acos\n",
       "\n",
       "#given data\n",
       "cos_fi=0.8;#unitless\n",
@@ -1185,7 +1184,7 @@
        ]
       }
      ],
-     "prompt_number": 133
+     "prompt_number": 29
     },
     {
      "cell_type": "heading",
@@ -1199,7 +1198,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "V=6600;#in Volts\n",
@@ -1237,7 +1236,7 @@
        ]
       }
      ],
-     "prompt_number": 139
+     "prompt_number": 30
     },
     {
      "cell_type": "heading",
@@ -1251,7 +1250,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#given data\n",
       "Ecoil=8000;#in Volts\n",
@@ -1288,7 +1287,7 @@
        ]
       }
      ],
-     "prompt_number": 140
+     "prompt_number": 31
     }
    ],
    "metadata": {}
diff --git a/Electrical_Machines_II/chapter_1_1.ipynb b/Electrical_Machines_II/chapter_1_1.ipynb
deleted file mode 100755
index 0ea2a442..00000000
--- a/Electrical_Machines_II/chapter_1_1.ipynb
+++ /dev/null
@@ -1,1297 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:e4feee2966703522c4e009f16556422b345ba2813bb92ad5cc7b8ab8058895bb"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 1: Synchronous Machines\n"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.1, Page 24"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#given data\n",
-      "slots=24;#no. of slotes\n",
-      "NoOfPhase=3;#no of phase\n",
-      "MotorSpeed=1450;#in rpm\n",
-      "N=1500;#Synchonous Speed in rpm\n",
-      "f=50;#in Hz\n",
-      "\n",
-      "#Calculations&Results\n",
-      "print \"As the winding is in single layer, each slot contains one coil slide only.\";\n",
-      "CoilSlidePerSlot=1;#coil slide per slot\n",
-      "CoilSlidePerCoil=2;#coil slide per Coil\n",
-      "TotalCoils=slots*CoilSlidePerSlot/CoilSlidePerCoil;#no. of coils\n",
-      "print \"Total no. of Coils : \",TotalCoils;\n",
-      "P=120*f/N;#no. of poles\n",
-      "print \"No. of poles : \",P;\n",
-      "PolesPitch=slots/P;#unitless\n",
-      "print \"Poles Pitch = \",PolesPitch;\n",
-      "print \"In case of single layer winding, the pole ppitch is generally taken in odd numbers only\"\n",
-      "print \"let pole pitch = 5(for short pitch winding)\";\n",
-      "PolesPitch=5;#for short pitch winding\n",
-      "print \"Coil Span or coil through = 1-6\";\n",
-      "CoilsPerPolePerPhase=TotalCoils/(P*NoOfPhase);#No. of Coils/Pole/Phase\n",
-      "print \"No. of Coils/Pole/Phase = \",CoilsPerPolePerPhase;\n",
-      "pair_of_poles=2;#no. of pair of poles\n",
-      "TotalElectricalDegree=360*pair_of_poles;#in degree \n",
-      "ElectricalDegreesPerSlot=TotalElectricalDegree/slots;#in degree electrical\n",
-      "print \"Electrical Degrees/Slot = \",ElectricalDegreesPerSlot;\n",
-      "Slots_required=120/ElectricalDegreesPerSlot;#No. of slotes required for proper phase displacement\n",
-      "print \"No. of slotes required for proper phase displacement = \",Slots_required;\n",
-      "print \"Winding Table is as follows :\";\n",
-      "print \"Coil No.     Connection Lead from     Coil Span     Phase and Group No.\";\n",
-      "print \"   1                   A1               1-6                  A1\";\n",
-      "print \"   2                                    3-8                  C4\";\n",
-      "print \"   3                   B1               5-10                 B1\";\n",
-      "print \"   4                                    7-12                 A2\";\n",
-      "print \"   5                   C1               9-14                 C1\";\n",
-      "print \"   6                                   11-16                 B2\";\n",
-      "print \"   7                                   13-18                 A3\";\n",
-      "print \"   8                                   15-20                 C2\";\n",
-      "print \"   9                                   17-22                 B3\";\n",
-      "print \"  10                                   19-24                 A4\";\n",
-      "print \"  11                                   21-2                  C3\";\n",
-      "print \"  12                                   23-4                  B4\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "As the winding is in single layer, each slot contains one coil slide only.\n",
-        "Total no. of Coils :  12\n",
-        "No. of poles :  4\n",
-        "Poles Pitch =  6\n",
-        "In case of single layer winding, the pole ppitch is generally taken in odd numbers only\n",
-        "let pole pitch = 5(for short pitch winding)\n",
-        "Coil Span or coil through = 1-6\n",
-        "No. of Coils/Pole/Phase =  1\n",
-        "Electrical Degrees/Slot =  30\n",
-        "No. of slotes required for proper phase displacement =  4\n",
-        "Winding Table is as follows :\n",
-        "Coil No.     Connection Lead from     Coil Span     Phase and Group No.\n",
-        "   1                   A1               1-6                  A1\n",
-        "   2                                    3-8                  C4\n",
-        "   3                   B1               5-10                 B1\n",
-        "   4                                    7-12                 A2\n",
-        "   5                   C1               9-14                 C1\n",
-        "   6                                   11-16                 B2\n",
-        "   7                                   13-18                 A3\n",
-        "   8                                   15-20                 C2\n",
-        "   9                                   17-22                 B3\n",
-        "  10                                   19-24                 A4\n",
-        "  11                                   21-2                  C3\n",
-        "  12                                   23-4                  B4\n"
-       ]
-      }
-     ],
-     "prompt_number": 52
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.2, Page 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#given data\n",
-      "slots=24;#no. of slotes\n",
-      "P=4;#no. of poles\n",
-      "CoilPitch=5;#unitless\n",
-      "NoOfPhase=3;#no of phase\n",
-      "\n",
-      "#Calculations&Results\n",
-      "print \"As the winding is in double layer, each slot contains 2 coils per slide.\";\n",
-      "CoilSlidePerSlot=2;#coil slide per slot\n",
-      "CoilSlidePerCoil=2;#coil slide per Coil\n",
-      "TotalCoils=slots*CoilSlidePerSlot/CoilSlidePerCoil;#no. of coils\n",
-      "print \"Total no. of Coils : \",TotalCoils;\n",
-      "PolesPitch=slots/P;#unitless\n",
-      "print \"Pole Pitch = \",PolesPitch;\n",
-      "CoilsPerPolePerPhase=TotalCoils/(P*NoOfPhase);#No. of Coils/Pole/Phase\n",
-      "print \"No. of Coils/Pole/Phase = \",CoilsPerPolePerPhase;\n",
-      "pair_of_poles=2;#no. of pair of poles\n",
-      "TotalElectricalDegree=360*pair_of_poles;#in degree \n",
-      "ElectricalDegreesPerSlot=TotalElectricalDegree/slots;#in degree electrical\n",
-      "print \"Electrical Degrees/Slot = \",ElectricalDegreesPerSlot;\n",
-      "Slots_required=120/ElectricalDegreesPerSlot;#No. of slotes required for proper phase displacement\n",
-      "print \"No. of slots required for proper phase displacement = \",Slots_required;\n",
-      "print \"ie. Phase A1 is brought out from slot no. = 1\";\n",
-      "print \"Phase B1 at slot no. = 1+4 = 5\";\n",
-      "print \"Phase C1 at slot no. = 5+4 = 9\";\n",
-      "print \"Col Connection - end to start to start\";\n",
-      "print \"Winding Table is as follows :\";\n",
-      "print \"Coil No.     Connection Lead from     Coil Span     Phase and Group No.\";\n",
-      "print \"   1                   A1               1-6                  A1\";\n",
-      "print \"   2                                    2-7                    \";\n",
-      "print \"   3                                    3-8                  C4\";\n",
-      "print \"   4                                    4-9                    \";\n",
-      "print \"   5                   B1               5-10                 B1\";\n",
-      "print \"   6                                    6-11                   \";\n",
-      "print \"   7                                    7-12                 A2\";\n",
-      "print \"   8                                    8-13                   \";\n",
-      "print \"   9                   C1               9-14                 C1\";\n",
-      "print \"  10                                   10-15                   \";\n",
-      "print \"  11                                   11-16                 B2\";\n",
-      "print \"  12                                   12-17                   \";\n",
-      "print \"  13                                   13-18                 A3\";\n",
-      "print \"  14                                   14-19                   \";\n",
-      "print \"  15                                   15-20                 C2\";\n",
-      "print \"  16                                   16-21                   \";\n",
-      "print \"  17                                   17-22                 B3\";\n",
-      "print \"  18                                   18-23                   \";\n",
-      "print \"  19                                   19-24                 A4\";\n",
-      "print \"  20                                   20-1                    \";\n",
-      "print \"  21                                   21-2                  C3\";\n",
-      "print \"  22                                   22-3                    \";\n",
-      "print \"  23                                   23-4                    \";\n",
-      "print \"  24                                   24-5                  B4\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "As the winding is in double layer, each slot contains 2 coils per slide.\n",
-        "Total no. of Coils :  24\n",
-        "Pole Pitch =  6\n",
-        "No. of Coils/Pole/Phase =  2\n",
-        "Electrical Degrees/Slot =  30\n",
-        "No. of slots required for proper phase displacement =  4\n",
-        "ie. Phase A1 is brought out from slot no. = 1\n",
-        "Phase B1 at slot no. = 1+4 = 5\n",
-        "Phase C1 at slot no. = 5+4 = 9\n",
-        "Col Connection - end to start to start\n",
-        "Winding Table is as follows :\n",
-        "Coil No.     Connection Lead from     Coil Span     Phase and Group No.\n",
-        "   1                   A1               1-6                  A1\n",
-        "   2                                    2-7                    \n",
-        "   3                                    3-8                  C4\n",
-        "   4                                    4-9                    \n",
-        "   5                   B1               5-10                 B1\n",
-        "   6                                    6-11                   \n",
-        "   7                                    7-12                 A2\n",
-        "   8                                    8-13                   \n",
-        "   9                   C1               9-14                 C1\n",
-        "  10                                   10-15                   \n",
-        "  11                                   11-16                 B2\n",
-        "  12                                   12-17                   \n",
-        "  13                                   13-18                 A3\n",
-        "  14                                   14-19                   \n",
-        "  15                                   15-20                 C2\n",
-        "  16                                   16-21                   \n",
-        "  17                                   17-22                 B3\n",
-        "  18                                   18-23                   \n",
-        "  19                                   19-24                 A4\n",
-        "  20                                   20-1                    \n",
-        "  21                                   21-2                  C3\n",
-        "  22                                   22-3                    \n",
-        "  23                                   23-4                    \n",
-        "  24                                   24-5                  B4\n"
-       ]
-      }
-     ],
-     "prompt_number": 53
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.3, Page 35"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import *\n",
-      "\n",
-      "#given data\n",
-      "StatorSlots=36;#No. of stator slots\n",
-      "Poles=4;#No. of poles\n",
-      "#coilSpan=1:8;#unitless\n",
-      "\n",
-      "#Calculations&Results\n",
-      "SlotsPerPole=StatorSlots/Poles;# no. of slots per pole\n",
-      "print \"Slots/Pole = \",SlotsPerPole;\n",
-      "print \"Here the coil span falls short by, \",((2./9)*180),\" Degree\";\n",
-      "alfa=40*pi/180;#short pitch angle in degree\n",
-      "Kp=cos(alfa/2);#Coil span Factor\n",
-      "print \"Pitch Factor or coil span factor : \",round(Kp,1);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slots/Pole =  9\n",
-        "Here the coil span falls short by,  40.0  Degree\n",
-        "Pitch Factor or coil span factor :  0.9\n"
-       ]
-      }
-     ],
-     "prompt_number": 62
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.4, Page 38"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import *\n",
-      "\n",
-      "#given data\n",
-      "NoOfPhase=3;#no of phase\n",
-      "P=16;#No. of pole alternator\n",
-      "Slots=144;#No. of slots\n",
-      "Conductors=10;#per slot\n",
-      "fi=0.03;#in Weber\n",
-      "N=375;#machine speed in rpm\n",
-      "\n",
-      "#Calculations\n",
-      "f=P*N/120;#in Hz\n",
-      "SlotsPerPole=Slots/P;#unitless\n",
-      "m=Slots/(P*NoOfPhase);#unitless\n",
-      "Beta=180/(SlotsPerPole);#in Degree\n",
-      "Kd=sin(m*Beta/2*pi/180)/(m*sin(Beta/2*pi/180));#unitless\n",
-      "TotalConductors=Conductors*Slots;#no. of conductors\n",
-      "TotalConductorsPerPhase=Conductors*Slots/NoOfPhase;#no. of conductors/phase\n",
-      "TurnsPerPhase=TotalConductorsPerPhase/2;#No. of turns per phase\n",
-      "EMFPerPhase=4.44*Kd*fi*f*TurnsPerPhase;#in Volt\n",
-      "LineVoltage=sqrt(3)*EMFPerPhase;#in Volt\n",
-      "\n",
-      "#Results\n",
-      "print \"Frequency in Hz : \",f;\n",
-      "print \"Phase Electromotive force in Volt : \",round(EMFPerPhase,1);\n",
-      "print \"Line Electromotive force in Volt : \",round(LineVoltage,3);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Frequency in Hz :  50\n",
-        "Phase Electromotive force in Volt :  1534.1\n",
-        "Line Electromotive force in Volt :  2657.202\n"
-       ]
-      }
-     ],
-     "prompt_number": 76
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.5, Page 39"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "NoOfPhase=3;#no of phase\n",
-      "SlotsPerPhase=3;#o. of slots\n",
-      "\n",
-      "#Calculations&Results\n",
-      "m=SlotsPerPhase;#no. of slots\n",
-      "SlotsPerPolePerPhase=SlotsPerPhase*NoOfPhase;#unitless\n",
-      "Beta=180./SlotsPerPolePerPhase;#in degree\n",
-      "print \"The phase difference between the induced emf in two coils lying in adjacent slots = \",(Beta),\" degree\";\n",
-      "Kb=sin((m*Beta*pi)/(2*180))/(m*sin((Beta*pi)/(2*180)));#unitless\n",
-      "print \"The breadth factor :  \",round(Kb,3);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "The phase difference between the induced emf in two coils lying in adjacent slots =  20.0  degree\n",
-        "The breadth factor :   0.96\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.6, Page 39"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "StatorSlots=24#No. of stator slots\n",
-      "Poles=4;#No. of poles\n",
-      "SlotsPerPole=StatorSlots/Poles;# no. of slots per pole\n",
-      "#coilSpan=1:6;#unitless\n",
-      "\n",
-      "#Calculations&Results\n",
-      "print \"If the sides of the coil are placed in slots 1 and 7, then it is full pitched, \\nIf the coil slides are placed\" \\\n",
-      "       + \" in 1 and 6 then it is short pitched and the distance equal to 5/6th of pole-pitch.\";\n",
-      "print \"Since it falls short by 1/6th of the pole-pitch, hence it is short by :\"\n",
-      "theta=180/SlotsPerPole;#in Degree\n",
-      "print (theta),\" Degree.\"\n",
-      "Kp=cos(theta/2*pi/180);#unitless\n",
-      "print \"Pitch-factor Kp : \",round(Kp,4);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "If the sides of the coil are placed in slots 1 and 7, then it is full pitched, \n",
-        "If the coil slides are placed in 1 and 6 then it is short pitched and the distance equal to 5/6th of pole-pitch.\n",
-        "Since it falls short by 1/6th of the pole-pitch, hence it is short by :\n",
-        "30  Degree.\n",
-        "Pitch-factor Kp :  0.9659\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.7, Page 40"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#given data\n",
-      "NoOfPhase=3;#no of phase\n",
-      "Eph=3300/sqrt(3);#in Volts\n",
-      "f=50;#in Hz\n",
-      "Poles=12;#No. of poles\n",
-      "StatorSlots=144#No. of stator slots\n",
-      "\n",
-      "#Calculations\n",
-      "SlotsPerPhase=StatorSlots/NoOfPhase;#no. of slots/phase\n",
-      "Conductors=5;#per slot\n",
-      "ConductorsPerphase=SlotsPerPhase*Conductors;#Conductors/Phase\n",
-      "S=ConductorsPerphase;#Conductors/phase\n",
-      "SlotsPerPolePerPhase=SlotsPerPhase/Poles;#no. of slots/phase\n",
-      "Kf=1.11;#Form Factor\n",
-      "Kb=0.96;#Breadth Factor\n",
-      "Kp=1;#For concentric winding\n",
-      "fi=Eph/(2*Kf*Kb*Kp*S*f);#in weber\n",
-      "\n",
-      "#Result\n",
-      "print \"The Flux per pole in weber : \",round(fi,4);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "The Flux per pole in weber :  0.0745\n"
-       ]
-      }
-     ],
-     "prompt_number": 93
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.8, Page 41"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "Phase=3;#no. of phase\n",
-      "f=50;#in Hz\n",
-      "P=16;#No. of pole alternator\n",
-      "Slots=144.;#No. of slots\n",
-      "conductors=10;#conductors per slot\n",
-      "\n",
-      "#Calculations&Results\n",
-      "fi=2.48*10**-2;#in weber\n",
-      "n=Slots/P;#No. of slots/pole\n",
-      "Zr=Slots*conductors/Phase;#No. of conductors/Phase\n",
-      "T=Zr/2;#N. of turns/phase\n",
-      "Beta=180/n;#Angular displacement between slots in degree\n",
-      "m=n/Phase;#No. of slots/pole/Phase\n",
-      "Kd=sin(m*Beta/2*pi/180)/(m*sin(Beta/2*pi/180));#Distribution factor :unitless \n",
-      "print \"The coil span falls short of 2 slots i.e. \",(2*180/9),\" degree.\";\n",
-      "alfa=40;#short pitch angle in degree\n",
-      "Kp=(cos(alfa/2*pi/180));#Unitless\n",
-      "#Formula : f=P*N/120;#in Hz\n",
-      "N=120*f/P;#in rpm\n",
-      "Ep=4.44*Kd*Kp*fi*f*T;#in Volts\n",
-      "LineVoltage=sqrt(3)*Ep;#in Volts\n",
-      "print \"The speed is \",(N),\" in rpm\";\n",
-      "print \"The line emf is \",round(LineVoltage,2),\" Volts\";\n",
-      "#Note : Answer in the book is not accurate for last part due to rounding off errors"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "The coil span falls short of 2 slots i.e.  40  degree.\n",
-        "The speed is  375  in rpm\n",
-        "The line emf is  2064.15  Volts\n"
-       ]
-      }
-     ],
-     "prompt_number": 109
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.9, Page 58"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "RatedPower=100;#in KVA\n",
-      "RatedPower=100*1000;#in VA\n",
-      "VL=1040;#in Volt\n",
-      "Phase=3;#Machine phase\n",
-      "If=40;#in Ampere\n",
-      "Isc=200;#in Ampere\n",
-      "EL=1040;#in Volt\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Eph=EL/sqrt(3);#in Volt\n",
-      "Zs=Eph/Isc;#in Ohm\n",
-      "Rs=0.2;#in Ohm\n",
-      "Xs=sqrt(Zs**2-Rs**2);#in Ohm\n",
-      "IL=19.25;#in Ampere\n",
-      "V=3000/sqrt(3);#in Volt\n",
-      "#At 0.8 power factor lagging\n",
-      "IRa=IL*0.2;#in Volt\n",
-      "IXs=IL*Xs;#in Volt\n",
-      "Vsin_fi=V*0.6;#in Volt\n",
-      "Vcos_fi=V*0.8;#in Volt\n",
-      "Eo=sqrt((Vcos_fi+IRa)**2+(Vsin_fi+IXs)**2);#in Volts\n",
-      "Regulation=((Eo-V)/V)*100;#in %\n",
-      "print \"Full load percentage regulation at a power factor of 0.8 lagging : \",round(Regulation,1);\n",
-      "\n",
-      "#At 0.8 power factor leading\n",
-      "Eo=sqrt((Vcos_fi+IRa)**2+(Vsin_fi-IXs)**2);#in Volts\n",
-      "Regulation=((Eo-V)/V)*100;#in %\n",
-      "print \"Full load percentage regulation at a power factor of 0.8 leading : \",round(Regulation,2);\n",
-      "print \"Negative regulation due to leading power factor.\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Full load percentage regulation at a power factor of 0.8 lagging :  2.2\n",
-        "Full load percentage regulation at a power factor of 0.8 leading :  -1.78\n",
-        "Negative regulation due to leading power factor.\n"
-       ]
-      }
-     ],
-     "prompt_number": 110
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.10, Page 60"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "RatedPower=50;#in KVA\n",
-      "RatedPower=50*1000;#in VA\n",
-      "VL=173;#in Volts\n",
-      "Ra=0.1;#in Ohm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "VP=VL/sqrt(3);#in Volts\n",
-      "print \"Some exciting curent on short circuit produces a current of 100 A.\";\n",
-      "OC_PhaseVoltage=100;#in Volt\n",
-      "SC_Current=100;#in Ampere\n",
-      "Zs=OC_PhaseVoltage/SC_Current;#n ohm\n",
-      "Xs=sqrt(Zs**2-Ra**2);#in Ohm\n",
-      "print \"Impedence of the alternator in Ohm : \",round(Xs,2);\n",
-      "V=400;#in Volts\n",
-      "I_FL=RatedPower/(sqrt(3)*V);#in Ampere\n",
-      "V=400/sqrt(3);#in Volts\n",
-      "Eo=sqrt((V+I_FL*Ra)**2+(I_FL*Xs)**2);#in Volts\n",
-      "Regulation=(Eo-V)*100/V;#in %\n",
-      "print \"Regulation at U.P.F. in % :\",round(Regulation,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Some exciting curent on short circuit produces a current of 100 A.\n",
-        "Impedence of the alternator in Ohm :  0.99\n",
-        "Regulation at U.P.F. in % : 7.71\n"
-       ]
-      }
-     ],
-     "prompt_number": 112
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.11, Page 61"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "OutputPower=500;#in KVA\n",
-      "OutputPower=500*1000;#in VA\n",
-      "VL=3300;#in Volts\n",
-      "Ra=0.3;#in Ohm\n",
-      "Xs=4;#in Ohm\n",
-      "PF=0.8;#Lagging Power factor\n",
-      "\n",
-      "#Calculations&Results\n",
-      "#Formula : outputPower=sqrt(3)*VL*IL\n",
-      "IL=OutputPower/(sqrt(3)*VL);#in Ampere\n",
-      "print \"For a star connected alternator, line current is equal to phase current. Therefore Ia=IL\";\n",
-      "Ia=IL;#in Ampere\n",
-      "#PF=cosd(fi)=0.8 and sind(fi)=0.6\n",
-      "cos_fi=0.8;#Power factor\n",
-      "sin_fi=0.6;#Unitless\n",
-      "VPerPhase=VL/sqrt(3);#in Volts\n",
-      "E=sqrt((VPerPhase*cos_fi+Ia*Ra)**2+(VPerPhase*sin_fi+Ia*Xs)**2);#in Volts/Phase\n",
-      "Regulation=(E-VPerPhase)*100/VPerPhase;#in %\n",
-      "print \"Voltage Regulation at Full Load in % :\",round(Regulation,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "For a star connected alternator, line current is equal to phase current. Therefore Ia=IL\n",
-        "Voltage Regulation at Full Load in % : 12.98\n"
-       ]
-      }
-     ],
-     "prompt_number": 113
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.12, Page 62"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "V=2000;#in Volt\n",
-      "Ia=100;#in Ampere\n",
-      "OC_Voltage=500;#in Volt\n",
-      "SC_Current=100;#in Ampere\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Zs=OC_Voltage/SC_Current;#in ohm\n",
-      "Ra=0.8;#in Ohm\n",
-      "Xs=sqrt(Zs**2-Ra**2);#in Ohm\n",
-      "#formula : Induced EMF, E=sqrt((V*cos_fi+Ia*Ra)^2+(V*sin_fi+Ia*Xs)^2)\n",
-      "#Part (a)  : at unity pf\n",
-      "cos_fi=1;#Unitless\n",
-      "sin_fi=0;#Unitless\n",
-      "E=sqrt((V*cos_fi+Ia*Ra)**2+(V*sin_fi+Ia*Xs)**2)\n",
-      "Regulation=(E-V)*100/V;#in %\n",
-      "print \"Regulation at U.P.F. in % :\",round(Regulation,2);\n",
-      "\n",
-      "#Part (b)  : at 0.71 pf lagging\n",
-      "cos_fi=0.71;#Unitless\n",
-      "sin_fi=0.704;#Unitless\n",
-      "E=sqrt((V*cos_fi+Ia*Ra)**2+(V*sin_fi+Ia*Xs)**2)\n",
-      "Regulation=(E-V)*100/V;#in %\n",
-      "print \"Regulation at 0.71 pf lagging in % :\",round(Regulation,2);\n",
-      "\n",
-      "#Part (c)  : at 0.8 pf leading\n",
-      "cos_fi=0.8;#Unitless\n",
-      "sin_fi=0.6;#Unitless\n",
-      "E=sqrt((V*cos_fi+Ia*Ra)**2+(V*sin_fi-Ia*Xs)**2)\n",
-      "Regulation=(E-V)*100/V;#in %\n",
-      "print \"Regulation at 0.8 pf leading in % :\",round(Regulation,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Regulation at U.P.F. in % : 6.89\n",
-        "Regulation at 0.71 pf lagging in % : 21.1\n",
-        "Regulation at 0.8 pf leading in % : -8.88\n"
-       ]
-      }
-     ],
-     "prompt_number": 114
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.13, Page 63"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#given data\n",
-      "Ia=60;#in Ampere\n",
-      "\n",
-      "#Calculations&Results\n",
-      "print \"The value of synchronous impedence at this excitation :\" ;\n",
-      "OC_Voltage=900;#in Volt\n",
-      "SC_Current=150;#in Ampere\n",
-      "Zs=OC_Voltage/SC_Current;#in ohm\n",
-      "print \"Zs equals to \",(Zs),\" Ohm\";\n",
-      "print \"Internal Voltage drop when tthe load current is 60A=Ia*Zs=\",(Ia*Zs),\" Volts\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "The value of synchronous impedence at this excitation :\n",
-        "Zs equals to  6  Ohm\n",
-        "Internal Voltage drop when tthe load current is 60A=Ia*Zs= 360  Volts\n"
-       ]
-      }
-     ],
-     "prompt_number": 118
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.14, Page 63"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "V=6600;#in Volts\n",
-      "OutputPower=2000;#in KVA\n",
-      "\n",
-      "#Calculations\n",
-      "OutputPower=2000*1000;#in VA\n",
-      "#Formula : outputPower=sqrt(3)*VL*IL\n",
-      "IL=OutputPower/(sqrt(3)*V);#in Ampere\n",
-      "Ia=IL;#in Ampere\n",
-      "Ra=0.4;#in Ohm\n",
-      "Xs=4.5;#in Ohm\n",
-      "#PF=cosd(fi)=0.8 and sind(fi)=0.6\n",
-      "cos_fi=0.8;#Power factor\n",
-      "sin_fi=0.6;#Unitless\n",
-      "VPerPhase=V/sqrt(3);#in Volts\n",
-      "E=sqrt((VPerPhase*cos_fi+Ia*Ra)**2+(VPerPhase*sin_fi+Ia*Xs)**2);#in Volts/Phase\n",
-      "Regulation=(E-VPerPhase)*100/VPerPhase;#in %\n",
-      "\n",
-      "#Result\n",
-      "print \"Percentage Change in Terminal Voltage :\",round(Regulation,1);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Percentage Change in Terminal Voltage : 14.9\n"
-       ]
-      }
-     ],
-     "prompt_number": 119
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.15, Page 63"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "OutputPower=1200;#in KVA\n",
-      "OutputPower=1200*1000;#in VA\n",
-      "V=3300;#in Volt\n",
-      "Ra=0.25;#in Ohm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "#Formula : outputPower=sqrt(3)*VL*IL\n",
-      "IL=OutputPower/(sqrt(3)*V);#in Ampere\n",
-      "Ia=IL;#in Ampere\n",
-      "VPerPhase=V/sqrt(3);#in Volts\n",
-      "OC_Voltage=1100;#in Volt\n",
-      "SC_Current=200;#in Ampere\n",
-      "Zs=OC_Voltage/(sqrt(3)*SC_Current);#in ohmRa\n",
-      "Xs=sqrt(Zs**2-Ra**2);#in Ohm\n",
-      "#formula : Induced EMF, E=sqrt((V*cos_fi+Ia*Ra)^2+(V*sin_fi+Ia*Xs)^2)\n",
-      "\n",
-      "#Part (a)  : For lagging pf load\n",
-      "cos_fi=0.8;#Unitless\n",
-      "sin_fi=0.6;#Unitless\n",
-      "E=sqrt((VPerPhase*cos_fi+Ia*Ra)**2+(VPerPhase*sin_fi+Ia*Xs)**2);\n",
-      "Regulation=(E-VPerPhase)*100/VPerPhase;#in %\n",
-      "print \"Regulation at U.P.F. in % :\",round(Regulation,2);\n",
-      "\n",
-      "#Part (b)  : For leading pf load\n",
-      "cos_fi=0.8;#Unitless\n",
-      "sin_fi=0.6;#Unitless\n",
-      "E=sqrt((VPerPhase*cos_fi+Ia*Ra)**2+(VPerPhase*sin_fi-Ia*Xs)**2)\n",
-      "Regulation=(E-VPerPhase)*100/VPerPhase;#in %\n",
-      "print \"Regulation at 0.71 pf lagging in % :\",round(Regulation,2);\n",
-      "#Note: For leading power factor load, the regulation s negative. "
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Regulation at U.P.F. in % : 25.9\n",
-        "Regulation at 0.71 pf lagging in % : -13.52\n"
-       ]
-      }
-     ],
-     "prompt_number": 120
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.16, Page 64"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "OutputPower=1500;#in KVA\n",
-      "OutputPower=1500*1000;#in VA\n",
-      "V=6600;#in Volt\n",
-      "Ra=0.4;#in Ohm\n",
-      "Xs=6;#in Ohm per phase\n",
-      "pf=0.8;#lagging power factor\n",
-      "\n",
-      "#Calculations&Results\n",
-      "#Formula : outputPower=sqrt(3)*VL*IL\n",
-      "Ia=OutputPower/(sqrt(3)*V);#in Ampere\n",
-      "VPerPhase=V/sqrt(3);#in Volts\n",
-      "#formula : Induced EMF, E=sqrt((V*cos_fi+Ia*Ra)^2+(V*sin_fi+Ia*Xs)^2)\n",
-      "cos_fi=0.8;#Unitless\n",
-      "sin_fi=0.6;#Unitless\n",
-      "E=sqrt((VPerPhase*cos_fi+Ia*Ra)**2+(VPerPhase*sin_fi+Ia*Xs)**2);#in volt\n",
-      "print \"Induced emf in volt : \",round(E,2);\n",
-      "print \"As excitation remains constant, E at 4364 volt remains constant.\";\n",
-      "E=4364;#in Volt\n",
-      "V=4743;#in Volts\n",
-      "TerminalVoltage=sqrt(3)*V;#in Volts\n",
-      "print \"Terminal voltage line to line in Volts : \",round(TerminalVoltage);\n",
-      "#Note ans of 1st part is wrong in the books"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Induced emf in volt :  4366.07\n",
-        "As excitation remains constant, E at 4364 volt remains constant.\n",
-        "Terminal voltage line to line in Volts :  8215.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 123
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.17, Page 81"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "OutputPower=2500;#in KVA\n",
-      "OutputPower=2500*1000;#in VA\n",
-      "V=6600;#in Volt\n",
-      "  \n",
-      "#Calculations\n",
-      "#For first load i.e. Lighting load : \n",
-      "KW1=2500;#in KWatts\n",
-      "KVAR1=0;#Kwatts\n",
-      "#For second load i.e. Motor load : \n",
-      "KW2=5000;#in KWatts\n",
-      "cos_fi=0.707;#unitless\n",
-      "sin_fi=0.707;#unitless\n",
-      "KVAR2=KW2*sin_fi/cos_fi;#Kwatts\n",
-      "#For total load\n",
-      "TotalKW=KW1+KW2;#in KWatts\n",
-      "TotalKVAR=KVAR1+KVAR2;#Kwatts   \n",
-      "#For first Machine\n",
-      "KWm=4000;#in KWatts\n",
-      "cos_fi=0.8;#unitless\n",
-      "sin_fi=0.6;#unitless\n",
-      "KVARm=KWm*sin_fi/cos_fi;#Kwatts\n",
-      "#so, second machine will be supplying\n",
-      "KW=TotalKW-KWm;#in Kwatts\n",
-      "print \"KW output of second machine : \",KW;\n",
-      "KVAR=TotalKVAR-KVARm;#in KWatts\n",
-      "tan_fi=KVAR/KW;#unitless\n",
-      "fi=atan(tan_fi);#ib degree\n",
-      "#Power factor of other machine\n",
-      "pf=cos(fi);#unitless\n",
-      "\n",
-      "#Result\n",
-      "print \"Power factor of other machine : \",round(pf,4),\" lagging\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "KW output of second machine :  3500\n",
-        "Power factor of other machine :  0.8682  lagging\n"
-       ]
-      }
-     ],
-     "prompt_number": 126
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.18, Page 82"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "\n",
-      "#Load1 : \n",
-      "KW1=500;#in KWatts\n",
-      "KVAR1=0;#Kwatts\n",
-      "\n",
-      "#Load2 : \n",
-      "KW2=1000;#in KWatts\n",
-      "pf=0.9;#lagging\n",
-      "cos_fi=0.9;#unitless\n",
-      "fi=acos(pf);\n",
-      "sin_fi=sin(fi);#unitless\n",
-      "KVAR2=KW2*sin_fi/cos_fi;#Kwatts\n",
-      "\n",
-      "#Load3 : \n",
-      "KW3=800;#in KWatts\n",
-      "pf=0.8;#lagging\n",
-      "cos_fi=0.8;#unitless\n",
-      "fi=acos(pf);\n",
-      "sin_fi=sin(fi);#unitless\n",
-      "KVAR3=KW3*sin_fi/cos_fi;#Kwatts\n",
-      "\n",
-      "#Load4 : \n",
-      "KW4=500;#in KWatts\n",
-      "pf=0.9;#lagging\n",
-      "cos_fi=0.9;#unitless\n",
-      "fi=acos(pf);\n",
-      "sin_fi=sin(fi);#unitless\n",
-      "KVAR4=-KW4*sin_fi/cos_fi;#Kwatts\n",
-      "#TOtalKW and TotalKVAR\n",
-      "TotalKW=KW1+KW2+KW3+KW4;#in KWatts\n",
-      "TotalKVAR=KVAR1+KVAR2+KVAR3+KVAR4;#in KWAtts\n",
-      "#For the first Machine :\n",
-      "KW=1500;#n Kwatts\n",
-      "cos_fi=0.95;#unitless\n",
-      "sin_fi=0.3123;#unitless\n",
-      "KVAR=KW*sin_fi/cos_fi;#Kwatts\n",
-      "\n",
-      "KW1=TotalKW-KW;#in KWatts\n",
-      "KVAR1=TotalKVAR-KVAR;#in Volts\n",
-      "print \"KW supplied by other machine : \",(TotalKW-KW);\n",
-      "print \"KVAR supplied by other machine : \",round(TotalKVAR-KVAR);  #answer differs due to rounding off the digits\n",
-      "tan_fi=KVAR1/KW1;#unitless\n",
-      "#fi=atand(tan_fi);#in degree\n",
-      "cos_fi=cos(atan(tan_fi));#unitless\n",
-      "\n",
-      "#Result\n",
-      "print \"Power factor of the other machine : \",round(cos_fi,3);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "KW supplied by other machine :  1300\n",
-        "KVAR supplied by other machine :  349.0\n",
-        "Power factor of the other machine :  0.966\n"
-       ]
-      }
-     ],
-     "prompt_number": 129
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.19, Page 82"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "\n",
-      "#Lighting Load : \n",
-      "MW1=20;#load in Mwatts\n",
-      "KW1=MW1*1000;#in KWatts\n",
-      "KVAR1=0;#Kwatts\n",
-      "\n",
-      "#Motor Load : \n",
-      "MW2=40;#load in Mwatts\n",
-      "KW2=MW2*1000;#in KWatts\n",
-      "pf=0.8;#unitless\n",
-      "cos_fi=0.8\n",
-      "fi=acos(pf);\n",
-      "sin_fi=sin(fi);#unitless\n",
-      "KVAR2=KW2*sin_fi/cos_fi;#Kwatts\n",
-      "\n",
-      "#For Total Load : \n",
-      "TotalKW=KW1+KW2;#load in Mwatts\n",
-      "TotalKVAR=KVAR1+KVAR2;#in KWatts\n",
-      "#For first machine : \n",
-      "MWm=32;#load in Mwatts\n",
-      "KWm=MWm*1000;#in KWatts\n",
-      "cos_fi=0.866;#unitless\n",
-      "fi=acos(cos_fi);\n",
-      "tan_fi=tan(fi);#unitless\n",
-      "KVARm=KWm*tan_fi;#in KWatts\n",
-      "#so, load supplied by the second machine\n",
-      "KW2=TotalKW-KWm;#in Kwatts\n",
-      "print \"Load of other machine,KW : \",(KW2);\n",
-      "KVAR2=TotalKVAR-KVARm;#in Kwatts\n",
-      "tan_fi=KVAR2/KW2;#unitless\n",
-      "fi=atan(tan_fi);#in degree\n",
-      "cos_fi=cos(atan(tan_fi));#unitless\n",
-      "\n",
-      "#Result\n",
-      "print \"Power factor of the other machine : \",round(cos_fi,3);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Load of other machine,KW :  28000\n",
-        "Power factor of the other machine :  0.925\n"
-       ]
-      }
-     ],
-     "prompt_number": 131
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.20, Page 84"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "cos_fi=0.8;#unitless\n",
-      "fi=acos(cos_fi);\n",
-      "tan_fi=tan(fi);#unitless\n",
-      "\n",
-      "#For Alternator A : \n",
-      "cos_fi_A=0.9;#unitless\n",
-      "fi_A=acos(cos_fi_A);\n",
-      "tan_fi_A=tan(fi_A);#unitless\n",
-      "#Formula : Active load, KW=V*I*cos_fi\n",
-      "#Formula : Reactive load, KVAR=V*I*sin_fi\n",
-      "ActiveLoad=8000;#in KW\n",
-      "ReactiveLoad=ActiveLoad*tan_fi;#in KVAR\n",
-      "\n",
-      "#For A:\n",
-      "ActiveLoadA=5000;#in KW\n",
-      "ReactiveLoadA=ActiveLoadA*tan_fi_A;#in KVAR\n",
-      "\n",
-      "#For B :\n",
-      "ActiveLoadB=ActiveLoad-ActiveLoadA;#in KW\n",
-      "ReactiveLoadB=ReactiveLoad-ReactiveLoadA;#in KVAR\n",
-      "tan_fi_B=ReactiveLoadB/ActiveLoadB;#unitless\n",
-      "fi_B=atan(tan_fi_B);#in degree\n",
-      "cos_fi=cos(atan(tan_fi_B));#unitless\n",
-      "\n",
-      "#Result\n",
-      "print \"Power factor of the other machine : \",round(cos_fi,3);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Power factor of the other machine :  0.642\n"
-       ]
-      }
-     ],
-     "prompt_number": 133
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.21, Page 97"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "V=6600;#in Volts\n",
-      "KW=6000.;#in KWatts\n",
-      "pf=0.8;#unitless\n",
-      "cos_fi=pf;#unitless\n",
-      "Eff=90.;#in %\n",
-      "\n",
-      "#Calculations&Results\n",
-      "#Part (a) : \n",
-      "KVA=KW/cos_fi;#in KVAR\n",
-      "print \"KVA rating of the alternator : \",(KVA),\" KVA\";\n",
-      "#Part (b) : \n",
-      "TotalRating=KVA;#in KVA\n",
-      "VA=TotalRating*1000;#in VA\n",
-      "I=VA/(sqrt(3)*KW);#in Ampere\n",
-      "print \"Current Rating in Ampere : \",round(I,2);\n",
-      "#Part (c) :\n",
-      "Input=KW/(Eff/100);#in KW\n",
-      "print \"Power Input(in KW) :\",round(Input,2);\n",
-      "Input=Input*1000/735.5;#in hp\n",
-      "print \"Power Input(in hp) :\",round(Input,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "KVA rating of the alternator :  7500.0  KVA\n",
-        "Current Rating in Ampere :  721.69\n",
-        "Power Input(in KW) : 6666.67\n",
-        "Power Input(in hp) : 9064.13\n"
-       ]
-      }
-     ],
-     "prompt_number": 139
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1.22, Page 97"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#given data\n",
-      "Ecoil=8000;#in Volts\n",
-      "Icoil=418;#in Ampere\n",
-      "pf=80.;#in % lgging\n",
-      "\n",
-      "#Calculations&Results\n",
-      "pf=pf/100;#in fraction\n",
-      "cos_fi=pf;#unitless\n",
-      "#Part (i) : \n",
-      "EL=sqrt(3)*Ecoil;#in volt\n",
-      "print \"Line volts(in V): \",round(EL);\n",
-      "#Part (ii) : \n",
-      "IL=Icoil;#in Ampere\n",
-      "print \"Line Current in Ampere : \",IL;\n",
-      "#Part (iii) :\n",
-      "Rating=sqrt(3)*EL*IL/1000;#in KVA\n",
-      "print \"Rating (in KVA) :\",Rating;\n",
-      "#Part (iv) :\n",
-      "FullLoadPower=sqrt(3)*EL*IL*cos_fi/1000;#in KW\n",
-      "print \"Full Load Power in KW :\",FullLoadPower;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Line volts(in V):  13856.0\n",
-        "Line Current in Ampere :  418\n",
-        "Rating (in KVA) : 10032.0\n",
-        "Full Load Power in KW : 8025.6\n"
-       ]
-      }
-     ],
-     "prompt_number": 140
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Electrical_Machines_II/chapter_2.ipynb b/Electrical_Machines_II/chapter_2.ipynb
index c18790d9..59f03184 100755
--- a/Electrical_Machines_II/chapter_2.ipynb
+++ b/Electrical_Machines_II/chapter_2.ipynb
@@ -1,7 +1,7 @@
 {
  "metadata": {
   "name": "",
-  "signature": "sha256:e3e9de8b11024daf372011e6906cf967e4f06ac156a70592b24845e8bc2b4696"
+  "signature": "sha256:0e3f32e542105b85338ffef953c9f9ed43138aa30c5d9cb997a0731312a71a64"
  },
  "nbformat": 3,
  "nbformat_minor": 0,
@@ -337,7 +337,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos, acos, tan, atan, degrees\n",
       "\n",
       "#Given data : \n",
       "E2=100;#in volt\n",
@@ -373,7 +373,7 @@
        ]
       }
      ],
-     "prompt_number": 137
+     "prompt_number": 2
     },
     {
      "cell_type": "heading",
@@ -387,7 +387,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import sqrt\n",
       "\n",
       "#Given data : \n",
       "E2=100.;#in volt\n",
@@ -415,7 +415,7 @@
        ]
       }
      ],
-     "prompt_number": 138
+     "prompt_number": 3
     },
     {
      "cell_type": "heading",
@@ -429,7 +429,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#Given data : \n",
       "f=50;#in Hz\n",
@@ -475,7 +475,7 @@
        ]
       }
      ],
-     "prompt_number": 139
+     "prompt_number": 1
     },
     {
      "cell_type": "heading",
@@ -489,7 +489,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#Given data : \n",
       "R2=0.5;#in ohm\n",
@@ -527,7 +527,7 @@
        ]
       }
      ],
-     "prompt_number": 140
+     "prompt_number": 5
     },
     {
      "cell_type": "heading",
@@ -579,7 +579,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#Given data : \n",
       "P=4;#no. of poles\n",
@@ -616,7 +616,7 @@
        ]
       }
      ],
-     "prompt_number": 141
+     "prompt_number": 6
     },
     {
      "cell_type": "heading",
@@ -752,7 +752,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#Given data :\n",
       "P=12;#no. of poles\n",
@@ -786,7 +786,7 @@
        ]
       }
      ],
-     "prompt_number": 143
+     "prompt_number": 7
     },
     {
      "cell_type": "heading",
@@ -1411,7 +1411,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#Given data :\n",
       "P=4;#no. of poles\n",
@@ -1452,7 +1452,7 @@
        ]
       }
      ],
-     "prompt_number": 160
+     "prompt_number": 8
     },
     {
      "cell_type": "heading",
@@ -1565,7 +1565,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#Given data :\n",
       "VL=500;#in volt\n",
@@ -1604,7 +1604,7 @@
        ]
       }
      ],
-     "prompt_number": 163
+     "prompt_number": 9
     },
     {
      "cell_type": "heading",
@@ -1768,7 +1768,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import pi, sqrt, sin, cos\n",
       "\n",
       "#Given data :\n",
       "f=50;#in Hz\n",
@@ -2152,7 +2152,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import sqrt\n",
       "\n",
       "#Given data :\n",
       "Output=10;#in H.P.\n",
@@ -2182,7 +2182,7 @@
        ]
       }
      ],
-     "prompt_number": 172
+     "prompt_number": 10
     },
     {
      "cell_type": "heading",
@@ -2487,7 +2487,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import sqrt\n",
       "\n",
       "#Given data :\n",
       "Output=3;#in H.P.\n",
@@ -2519,7 +2519,7 @@
        ]
       }
      ],
-     "prompt_number": 182
+     "prompt_number": 11
     },
     {
      "cell_type": "heading",
@@ -2533,7 +2533,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import sqrt\n",
       "\n",
       "#Given data :\n",
       "Output=15;#in H.P.\n",
@@ -2565,7 +2565,7 @@
        ]
       }
      ],
-     "prompt_number": 183
+     "prompt_number": 12
     },
     {
      "cell_type": "heading",
@@ -2579,7 +2579,7 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import * \n",
+      "from math import sqrt\n",
       "\n",
       "#Given data :\n",
       "#With star delta starter : \n",
@@ -2610,7 +2610,7 @@
        ]
       }
      ],
-     "prompt_number": 188
+     "prompt_number": 13
     },
     {
      "cell_type": "heading",
diff --git a/Electrical_Machines_II/chapter_2_1.ipynb b/Electrical_Machines_II/chapter_2_1.ipynb
deleted file mode 100755
index c18790d9..00000000
--- a/Electrical_Machines_II/chapter_2_1.ipynb
+++ /dev/null
@@ -1,2810 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:e3e9de8b11024daf372011e6906cf967e4f06ac156a70592b24845e8bc2b4696"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 2: Induction Motors"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.1, Page 130"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data : \n",
-      "P=2;#no. of poles\n",
-      "f=60;#in Hz\n",
-      "N=3460.;#in rpm\n",
-      "\n",
-      "#Calculations\n",
-      "Ns=120*f/P;#in rpm\n",
-      "Slip=Ns-N;#in rpm\n",
-      "PercentageSlip=((Ns-N)/Ns)*100;#in %\n",
-      "\n",
-      "#Results\n",
-      "print \"Synchronous speed in rpm : \",Ns;\n",
-      "print \"Percentage Slip : \",round(PercentageSlip,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Synchronous speed in rpm :  3600\n",
-        "Percentage Slip :  3.89\n"
-       ]
-      }
-     ],
-     "prompt_number": 124
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.2, Page 131"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data : \n",
-      "P=8.;#no. of poles\n",
-      "f=50.;#in Hz\n",
-      "N=700.;#in rpm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "#Part (a) :\n",
-      "Ns=120*f/P;#in rpm\n",
-      "print \"Synchronous speed in rpm : \",Ns;\n",
-      "#Part (b) :\n",
-      "S=(Ns-N)*100/Ns;#in %\n",
-      "print \"Slip(in %) : \",round(S,2);\n",
-      "#Part (c) :\n",
-      "#At the time of stsrt S=1;\n",
-      "fdash=f;#in Hz\n",
-      "print \"Rotor frequeny at the time of starting(in Hz) : \",fdash;\n",
-      "#Part (d) :\n",
-      "fdash=(S/100)*f;#in Hz\n",
-      "print \"Rotor frequeny at the given speed(in Hz) : \",round(fdash,1);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Synchronous speed in rpm :  750.0\n",
-        "Slip(in %) :  6.67\n",
-        "Rotor frequeny at the time of starting(in Hz) :  50.0\n",
-        "Rotor frequeny at the given speed(in Hz) :  3.3\n"
-       ]
-      }
-     ],
-     "prompt_number": 125
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.3, Page 131"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data : \n",
-      "P=10;#no. of poles\n",
-      "f=50;#in Hz\n",
-      "N=600;#in rpm\n",
-      "Nr=1440;#in rpm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "f=P*N/120;#in Hz\n",
-      "#When P=2\n",
-      "P=2;#no. of poles\n",
-      "Ns=120*f/P;#in rpm\n",
-      "#When P=4\n",
-      "P=4;#no. of poles\n",
-      "Ns=120*f/P;#in rpm\n",
-      "S=(Ns-Nr)*100/Ns;#Slip in %\n",
-      "print \"Percentage Slip(in %) : \",(S);\n",
-      "print \"No. of poles : \",(S);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Percentage Slip(in %) :  4\n",
-        "No. of poles :  4\n"
-       ]
-      }
-     ],
-     "prompt_number": 126
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.4, Page 132"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data : \n",
-      "P=8;#no. of poles\n",
-      "f=50;#in Hz\n",
-      "fr=1.5;#in Hz\n",
-      "\n",
-      "#Calculations\n",
-      "#Formula : fr=S*f\n",
-      "S=fr/f;#slip(unitless)\n",
-      "Ns=120*f/P;#in rpm\n",
-      "#Formula : S=(Ns-Nr)/Ns\n",
-      "Nr=Ns-S*Ns;#in rpm\n",
-      "\n",
-      "#Results\n",
-      "print \"Motor running speed in rpm : \",round(Nr);\n",
-      "print \"Slip(in %):\",(S*100);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Motor running speed in rpm :  728.0\n",
-        "Slip(in %): 3.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.5, Page 133"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data : \n",
-      "P=2;#no. of poles\n",
-      "f=50;#in Hz\n",
-      "S=4.;#in %\n",
-      "\n",
-      "#Calculations&Results\n",
-      "#Part (i) : \n",
-      "Ns=f/P;#in rps\n",
-      "Ns=Ns*60;#in rpm\n",
-      "print \"Synchronous speed in rpm : \",Ns;\n",
-      "#Part (ii) :\n",
-      "print \"Slip = \",(S),\"% or \",(S/100);\n",
-      "#Part (iii) :\n",
-      "N=Ns*(1-S/100);#in rpm\n",
-      "print \"Actual speed in rpm :\",N;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Synchronous speed in rpm :  1500\n",
-        "Slip =  4.0 % or  0.04\n",
-        "Actual speed in rpm : 1440.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.6, Page 133"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data : \n",
-      "P=4;#no. of poles\n",
-      "f1=50;#in Hz\n",
-      "fdash=1.5;#in Hz\n",
-      "\n",
-      "#Calculations\n",
-      "S=fdash/f1;#unitless\n",
-      "print \"Slip : \",S;\n",
-      "Ns=120*f1/P;#in rpm\n",
-      "N=Ns*(1-S);#in rpm\n",
-      "\n",
-      "#Result\n",
-      "print \"Speed of motor in rpm :\",N;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip :  0.03\n",
-        "Speed of motor in rpm : 1455.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.7, Page 138"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data : \n",
-      "N=1440;#in rpm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "f=50;#in Hz\n",
-      "print \"For this speed of 1440 rpm the synchronous speed may be either 1500 rpm or 3000 rpm.\";\n",
-      "Ns=1500;#in rpm\n",
-      "P=4;#no. of poles\n",
-      "print \"No. of poles : \",P;\n",
-      "Slip=(Ns-N)*100/Ns;#in %\n",
-      "print Slip,\"Slip(in %) : \",Slip;\n",
-      "speed1=Ns-N;#Speed of rotor flux with respect to rotor\n",
-      "print \"Speed of rotor flux with respect to rotor in rpm : \",speed1;\n",
-      "speed2=(speed1)+N;#Speed of rotor flux with respect to stator\n",
-      "print \"Speed of rotor flux with respect to stator in rpm :\",speed2;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "For this speed of 1440 rpm the synchronous speed may be either 1500 rpm or 3000 rpm.\n",
-        "No. of poles :  4\n",
-        "4 Slip(in %) :  4\n",
-        "Speed of rotor flux with respect to rotor in rpm :  60\n",
-        "Speed of rotor flux with respect to stator in rpm : 1500\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.8, Page 140"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data : \n",
-      "E2=100;#in volt\n",
-      "R2=0.05;#in ohm\n",
-      "X2=0.1;#im ohm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "E2perphase=E2/sqrt(3);#in volt\n",
-      "#part (a) : \n",
-      "S=0.04;#slip\n",
-      "I2=S*E2perphase/sqrt(R2**2+(S*X2)**2);#in Ampere\n",
-      "print \"At 4% slip, Rotor current in Ampere : \",round(I2,2);\n",
-      "fi2=degrees(acos(R2/sqrt(R2**2+(S*X2)**2)));#in degree\n",
-      "print \"At 4% slip, Phase angle between rotor voltage and rotor current in degree :\",round(fi2,2);\n",
-      "#part (b) : \n",
-      "S=1;#slip\n",
-      "I2=S*E2perphase/sqrt(R2**2+(S*X2)**2);#in Ampere\n",
-      "print \"At 100% slip, Rotor current in Ampere : \",round(I2,2);\n",
-      "fi2=degrees(acos(R2/sqrt(R2**2+(S*X2)**2)));#in degree\n",
-      "print \"At 100% slip, Phase angle between rotor voltage and rotor current in degree :\",round(fi2,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "At 4% slip, Rotor current in Ampere :  46.04\n",
-        "At 4% slip, Phase angle between rotor voltage and rotor current in degree : 4.57\n",
-        "At 100% slip, Rotor current in Ampere :  516.4\n",
-        "At 100% slip, Phase angle between rotor voltage and rotor current in degree : 63.43\n"
-       ]
-      }
-     ],
-     "prompt_number": 137
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.9, Page 141"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data : \n",
-      "E2=100.;#in volt\n",
-      "R2=0.4;#in ohm\n",
-      "X2=2.25;#im ohm\n",
-      "\n",
-      "#Calculations\n",
-      "E2perphase=E2/sqrt(3);#in volt\n",
-      "S=4.;#in %\n",
-      "E=(S/100)*E2perphase;#rotor induced emf at a slip=4% in volt\n",
-      "Z2=sqrt(R2**2+((S/100)*X2)**2);\n",
-      "I2=E/Z2;#in Ampere\n",
-      "\n",
-      "#Result\n",
-      "print \"Rotor current in Ampere : \",round(I2,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Rotor current in Ampere :  5.63\n"
-       ]
-      }
-     ],
-     "prompt_number": 138
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.10, Page 141"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data : \n",
-      "f=50;#in Hz\n",
-      "R2=0.2;#in ohm\n",
-      "X2=2;#im ohm\n",
-      "E2=60;#in volt\n",
-      "\n",
-      "#Calculations&Results\n",
-      "E2perphase=E2/sqrt(3);#in volt\n",
-      "#case (i) : S=1 \n",
-      "S=1;#unitless\n",
-      "Z2=sqrt(R2**2+(S*X2)**2);\n",
-      "I2=E2perphase*S/Z2;#in Ampere\n",
-      "print \"At standstill : Rotor current in Ampere : \",round(I2,2);\n",
-      "#case (ii) : S=0.1 \n",
-      "S=0.1;#unitless\n",
-      "Z2=sqrt(R2**2+(S*X2)**2);\n",
-      "I2=E2perphase*S/Z2;#in Ampere\n",
-      "print \"for 10% slip : Rotor current in Ampere : \",round(I2,2);\n",
-      "#case (iii) : S=0.05 \n",
-      "S=0.05;#unitless\n",
-      "Z2=sqrt(R2**2+(S*X2)**2);\n",
-      "I2=E2perphase*S/Z2;#in Ampere\n",
-      "print \"for 5% slip : Rotor current in Ampere : \",round(I2,2);\n",
-      "#case (iv) : S=0.01 \n",
-      "S=0.01;#unitless\n",
-      "Z2=sqrt(R2**2+(S*X2)**2);\n",
-      "I2=E2perphase*S/Z2;#in Ampere\n",
-      "print \"for 1% slip : Rotor current in Ampere : \",round(I2,2);\n",
-      "#Note : Answer in the book is wrong for S=0.05 and S=0.01"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "At standstill : Rotor current in Ampere :  17.23\n",
-        "for 10% slip : Rotor current in Ampere :  12.25\n",
-        "for 5% slip : Rotor current in Ampere :  7.75\n",
-        "for 1% slip : Rotor current in Ampere :  1.72\n"
-       ]
-      }
-     ],
-     "prompt_number": 139
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.11, Page 142"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data : \n",
-      "R2=0.5;#in ohm\n",
-      "X=4.5;#im ohm\n",
-      "E=50;#line voltage in volt\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Eperphase=E/sqrt(3);#in volt\n",
-      "#part (a) : Sliprings are short circuited\n",
-      "Z2=sqrt(R2**2+X**2);#in ohm\n",
-      "I2=Eperphase/Z2;#in Ampere\n",
-      "print \"Sliprings are short circuited, Rotor current in Ampere : \",round(I2,2);\n",
-      "cosfi2=R2/Z2;#unitless\n",
-      "print \"Power factor : \",round(cosfi2,2);\n",
-      "#part (b) : Sliprings are connected \n",
-      "R2=0.4;#in ohm\n",
-      "Z2=sqrt(R2**2+X**2);#in ohm\n",
-      "I2=Eperphase/Z2;#in Ampere\n",
-      "print \"Sliprings are short circuited, Rotor current in Ampere : \",round(I2,2);\n",
-      "cosfi2=R2/Z2;#unitless\n",
-      "print \"Power factor : \",round(cosfi2,2);\n",
-      "#Note : answer of part (a) I2 is not curate in the book."
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Sliprings are short circuited, Rotor current in Ampere :  6.38\n",
-        "Power factor :  0.11\n",
-        "Sliprings are short circuited, Rotor current in Ampere :  6.39\n",
-        "Power factor :  0.09\n"
-       ]
-      }
-     ],
-     "prompt_number": 140
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.12, Page 146"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data : \n",
-      "R2=0.02;#in ohm\n",
-      "X2=0.1;#im ohm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "#let external resistance per phase = r then R2=R2+r ohm\n",
-      "S=1;#slip at starting\n",
-      "print \"Since at start speed is zero and slip is, therefore, unity or R2=X2\";\n",
-      "r=X2-R2;#in ohm\n",
-      "print \"External resistance per phase added to the rotor circuit in ohms : \",r;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Since at start speed is zero and slip is, therefore, unity or R2=X2\n",
-        "External resistance per phase added to the rotor circuit in ohms :  0.08\n"
-       ]
-      }
-     ],
-     "prompt_number": 22
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.13, Page 147"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data : \n",
-      "P=4;#no. of poles\n",
-      "f=50;#in Hz\n",
-      "R2=0.03;#in ohm\n",
-      "X2=0.12;#im ohm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Smax=R2/X2;#unitless\n",
-      "Ns=120*f/P;#in rpm\n",
-      "N=Ns*(1-Smax);#in rpm\n",
-      "print \"Speed corresponding to maximum torque(in rpm) :\",N;\n",
-      "#alfa=(R2+r)/X2\n",
-      "#Ratio of starting torque to max torque=75/100=2*alfa/(alfa^2+1)\n",
-      "#It gives : 3*alfa^2-8*alfa+3=0\n",
-      "#coefficients :\n",
-      "a=3;b=-8;c=3;\n",
-      "alfa1=(-b+sqrt(b**2-4*a*c))/(2*a);alfa2=(-b-sqrt(b**2-4*a*c))/(2*a);\n",
-      "print \"rejecting higher values, alfa = \",round(alfa2,4);\n",
-      "fdash=1.5;#in Hz\n",
-      "r=alfa2*X2-R2;#in ohm;\n",
-      "print \"External rotor resistance per phase(in ohm) : \",round(r,4);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Speed corresponding to maximum torque(in rpm) : 1125.0\n",
-        "rejecting higher values, alfa =  0.4514\n",
-        "External rotor resistance per phase(in ohm) :  0.0242\n"
-       ]
-      }
-     ],
-     "prompt_number": 141
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.14, Page 147"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "P=4;#no. of poles\n",
-      "f=50;#in Hz\n",
-      "R2=0.024;#in ohm\n",
-      "X2=0.6;#in ohm \n",
-      "\n",
-      "#Calculations&Results\n",
-      "Sm=R2/X2;#slip corresponding to max torque\n",
-      "Ns=120*f/P;#in rpm\n",
-      "N=Ns*(1-Sm);#in rpm\n",
-      "print \"Speed corresponding to maximum torque in rpm : \",N;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Speed corresponding to maximum torque in rpm :  1440.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 26
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.15, Page 148"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "P=6;#no. of poles\n",
-      "f=50;#in Hz\n",
-      "Sf=4.;#in %\n",
-      "R2=0.01;#in ohm\n",
-      "X2=0.05;#im \n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ratio=((R2/X2)**2+(Sf/100)**2)/(2*R2*(Sf/100)/X2);#ratio of max torque to full load torque\n",
-      "print \"Maximum torque, Tmax=\",(Ratio),\"Tf\";\n",
-      "Sm=R2/X2;#slip corresponding to max torque\n",
-      "Ns=120*f/P;#in rpm\n",
-      "N=Ns*(1-Sm);#in rpm\n",
-      "print \"Speed corresponding to maximum torque in rpm : \",N;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Maximum torque, Tmax= 2.6 Tf\n",
-        "Speed corresponding to maximum torque in rpm :  800.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 28
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.16, Page 149"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "P=12;#no. of poles\n",
-      "f=50.;#in Hz\n",
-      "R2=0.03;#in ohm\n",
-      "X2=0.5;#im \n",
-      "\n",
-      "#Calculations&Results\n",
-      "S=R2/X2;#unitless\n",
-      "Ns=120*f/P;#in rpm\n",
-      "N=Ns*(1-S);#in rpm\n",
-      "print \"Speed at maximum torque in rpm : \",N;\n",
-      "S=(Ns-495)/Ns;#slip at 495 rpm speed\n",
-      "Ratio=(2*R2*S/X2)/((R2/X2)**2+S**2);#ratio of max torque to full load torque\n",
-      "print \"Ratio of full load torque to max torque(in %) :\",round((Ratio*100),1);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Speed at maximum torque in rpm :  470.0\n",
-        "Ratio of full load torque to max torque(in %) : 32.4\n"
-       ]
-      }
-     ],
-     "prompt_number": 142
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.17, Page 149"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data :\n",
-      "P=12;#no. of poles\n",
-      "f=50;#in Hz\n",
-      "R2=0.5;#in ohm\n",
-      "N=475.;#in rpm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ns=120*f/P;#in rpm\n",
-      "S=(Ns-N)/Ns;#unitless\n",
-      "X2=R2/S;#in ohm\n",
-      "#\"At maximum torque, Tmax is proportional to 1/2*X2 or 1/20\";\n",
-      "# \"Ts is proportional to (R2+R)/((R2+R)^2+X2^2)\";\n",
-      "# \"Also, Ts is proportional to 1(20*3)\";\n",
-      "# \"Equating the two eqn we have : (0.5*R)/(R2+R)^2+X2^2\";\n",
-      "#R^2-59R+70.25=0 : \n",
-      "#coefficients :\n",
-      "a=1;b=-59;c=70.25;\n",
-      "R=(-b-sqrt(b**2-4*a*c))/(2*a);\n",
-      "print \"Resistance R to be inserted in series (in ohm) :\",round(R,1);\n",
-      "#Note : answer in the book is wrong."
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Resistance R to be inserted in series (in ohm) : 1.2\n"
-       ]
-      }
-     ],
-     "prompt_number": 143
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.18, Page 150"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "P=4;#no. of poles\n",
-      "f=50;#in Hz\n",
-      "R2=0.04;#in ohm\n",
-      "N=1200.;#in rpm(speed at max torque)\n",
-      "\n",
-      "#Calculations\n",
-      "Ns=120*f/P;#in rpm(synchronous speed)\n",
-      "S=(Ns-N)/Ns;#unitless\n",
-      "X2=R2/S;#in ohm\n",
-      "#Starting torque is the torque devloped when S=1: Tst=K*R2/(R2^2+X2^2)\n",
-      "#Let say, m=R2/(R2^2+X2^2) then Tst=K*m\n",
-      "m=R2/(R2**2+X2**2);#assumed\n",
-      "\n",
-      "#Results\n",
-      "print \"Starting torque, Tst=\",round(m,2),\"k\";\n",
-      "print \"Maximum torque, Tm=K/\",(2*X2);\n",
-      "print \"Thus, Tst in terms of Tm can be expressed as : \";\n",
-      "print \"Tst/Tm=\",(0.96*0.4),\" or Tst=\",(0.96*0.4),\"Tm\";\n",
-      "print \"Therefore, staring torque is \",(0.96*0.4*100),\"% of maximum torque.\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Starting torque, Tst= 0.96 k\n",
-        "Maximum torque, Tm=K/ 0.4\n",
-        "Thus, Tst in terms of Tm can be expressed as : \n",
-        "Tst/Tm= 0.384  or Tst= 0.384 Tm\n",
-        "Therefore, staring torque is  38.4 % of maximum torque.\n"
-       ]
-      }
-     ],
-     "prompt_number": 144
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.19, Page 155"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "P=6;#no. of poles\n",
-      "f=50;#in Hz\n",
-      "fr=3.;#in Hz\n",
-      "R2=0.5;#in ohm\n",
-      "N=475;#in rpm\n",
-      "RotorInput=111.9;#in KW\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ns=120*f/P;#in rpm\n",
-      "S=fr*100/f;#unitless\n",
-      "print \"% Slip : \",S;\n",
-      "N=Ns*(1-S/100);#in rpm\n",
-      "print \"Speed of motor in rpm : \",N;\n",
-      "RotorCopperLoss=RotorInput*S/100;#in KW\n",
-      "RotorCopperLoss=RotorCopperLoss/3;#in KW/Phase\n",
-      "print \"Rotor Copper Loss per phase(in KW) : \",RotorCopperLoss;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "% Slip :  6.0\n",
-        "Speed of motor in rpm :  940.0\n",
-        "Rotor Copper Loss per phase(in KW) :  2.238\n"
-       ]
-      }
-     ],
-     "prompt_number": 146
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.20, Page 156"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "phase=3.;#no. of phase\n",
-      "Pin_stator=60.;#Power input of stator in KW\n",
-      "TotalStatorLosses=1.;#in KW\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Pin_rotor=Pin_stator-TotalStatorLosses;#Power input of rotor in KW\n",
-      "S=3.;#slip in %\n",
-      "RotorCopperLosses=(S/100)*Pin_rotor;#in KW\n",
-      "RotorCopperLosses=RotorCopperLosses/phase;#in KW per phase\n",
-      "print \"Rotor Copper Losses per phase(in watts) : \",(RotorCopperLosses*10**3);\n",
-      "TotalMechPowerDev=Pin_rotor*(1-S/100);#in KW\n",
-      "print \"Total mechanial power developed(in KW) : \",TotalMechPowerDev;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Rotor Copper Losses per phase(in watts) :  590.0\n",
-        "Total mechanial power developed(in KW) :  57.23\n"
-       ]
-      }
-     ],
-     "prompt_number": 40
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.21, Page 156"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "P=6;#no. of poles\n",
-      "S=4.;#slip in %\n",
-      "Output=20;#in KW\n",
-      "\n",
-      "#Calculations&Results\n",
-      "FrictionalLoss=250;#in watts\n",
-      "f=50;#in Hz\n",
-      "Ns=120*f/P;#in rpm\n",
-      "N=Ns-Ns*(S/100);#in rpm\n",
-      "print \"Speed of motor(in rpm) : \",N;\n",
-      "MechPowerDeveloped=Output*10**3+FrictionalLoss;#in Watts\n",
-      "S=S/100;#unitless\n",
-      "RotorCopperLoss=(S/(1-S))*MechPowerDeveloped;#in watts\n",
-      "print \"Rotor Copper Loss(in watts) : \",RotorCopperLoss;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Speed of motor(in rpm) :  960.0\n",
-        "Rotor Copper Loss(in watts) :  843.75\n"
-       ]
-      }
-     ],
-     "prompt_number": 147
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.22, Page 157"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "phase=3;#no. of phase\n",
-      "P=6;#no. of poles\n",
-      "Pin_rotor=80;#Power input of rotor in KW\n",
-      "f=50;#in Hz\n",
-      "fdash=100;#alternations per minute\n",
-      "\n",
-      "#Calculations&Results\n",
-      "fdash=100./60;#in Hz\n",
-      "S=fdash/f;#unitless\n",
-      "print \"Slip : \",round(S,4);\n",
-      "Ns=120*f/P;#synchronous speed in rpm\n",
-      "N=Ns-Ns*S;#in rpm\n",
-      "print \"Rotor Speed(in rpm) : \",round(N);\n",
-      "MechPowerDev=Pin_rotor*(1-S)*10**3/735.5;#in H.P.\n",
-      "print \"Total mechanial power developed(in KW) : \",round(MechPowerDev,2);\n",
-      "RotorCopperLoss=S*Pin_rotor*10**3;#in watts\n",
-      "print \"Rotor Copper Loss(in watts) : \",RotorCopperLoss;\n",
-      "CopperLoss=RotorCopperLoss/phase;#in watts/phase\n",
-      "print \"Copper Loss per phase(in watts) : \",round(CopperLoss);\n",
-      "I2=60;#in Ampere\n",
-      "R2=CopperLoss/I2**2;#in ohm\n",
-      "print \"Rotor resistance per phase(in ohm) : \",round(R2,3);\n",
-      "#Note : Some answers are not accurate in the book."
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip :  0.0333\n",
-        "Rotor Speed(in rpm) :  967.0\n",
-        "Total mechanial power developed(in KW) :  105.14\n",
-        "Rotor Copper Loss(in watts) :  2666.66666667\n",
-        "Copper Loss per phase(in watts) :  889.0\n",
-        "Rotor resistance per phase(in ohm) :  0.247\n"
-       ]
-      }
-     ],
-     "prompt_number": 148
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.23, Page 158"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "UsefulOutput=55;#in H.P.\n",
-      "MechLosses=2;#in H.P.\n",
-      "Stator_Losses=13.5;#in KW\n",
-      "\n",
-      "#Calculations&Results\n",
-      "MechPowerDev=UsefulOutput+MechLosses;#in H.P.\n",
-      "MechPowerDev=MechPowerDev*735.5/1000;#in KW\n",
-      "S=50.;#in %\n",
-      "Pin_Rotor=MechPowerDev/(1-S/100);#in KW\n",
-      "RotorCopperLoss=(S/100)*Pin_Rotor;#in KW\n",
-      "print \"Rotor Copper Loss(in KW) : \",round(RotorCopperLoss,2);\n",
-      "Pin_Motor=Pin_Rotor+Stator_Losses;#in KW\n",
-      "Efficiency=UsefulOutput*0.7355/Pin_Motor;#/unitless\n",
-      "print \"Effiiency(in %) :\",round((Efficiency*100),1);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Rotor Copper Loss(in KW) :  41.92\n",
-        "Effiiency(in %) : 41.6\n"
-       ]
-      }
-     ],
-     "prompt_number": 149
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.24, Page 159"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "phase=3;#no. of phase\n",
-      "P=6;#no. of poles\n",
-      "Pin_rotor=80;#Power input of rotor in KW\n",
-      "f=50;#in Hz\n",
-      "fdash=100;#alternations per minute\n",
-      "\n",
-      "#Calculations&Results\n",
-      "fdash=100./60;#in Hz\n",
-      "S=fdash/f;#unitless\n",
-      "print \"Slip : \",round(S,3);\n",
-      "Ns=120*f/P;#synchronous speed in rpm\n",
-      "N=Ns-Ns*S;#in rpm\n",
-      "print \"Rotor Speed(in rpm) : \",round(N);\n",
-      "RotorCopperLoss=S*Pin_rotor*10**3;#in watts\n",
-      "#print \"Rotor Copper Loss(in watts) : \",RotorCopperLoss;\n",
-      "CopperLoss=RotorCopperLoss/phase;#in watts/phase\n",
-      "print \"Copper Loss per phase(in watts) : \",round(CopperLoss);\n",
-      "I2=60;#in Ampere\n",
-      "R2=CopperLoss/I2**2;#in ohm\n",
-      "print \"Rotorresistance per phase(in ohm) : \",round(R2,3);\n",
-      "MechPowerDev=Pin_rotor*(1-S)*10**3/735.5;#in H.P.\n",
-      "print \"Total mechanial power developed(in H.P.) : \",round(MechPowerDev,1);\n",
-      "#Note : Some answers are not accurate in the book."
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip :  0.033\n",
-        "Rotor Speed(in rpm) :  967.0\n",
-        "Copper Loss per phase(in watts) :  889.0\n",
-        "Rotorresistance per phase(in ohm) :  0.247\n",
-        "Total mechanial power developed(in H.P.) :  105.1\n"
-       ]
-      }
-     ],
-     "prompt_number": 150
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.25, Page 160"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "Efficiency=0.9;#unitless\n",
-      "Output=50;#in H.P.\n",
-      "\n",
-      "#Calculations\n",
-      "#formula : Efficiency=Output/(Output+Losses) \n",
-      "Losses=((1-Efficiency)/Efficiency)*Output*735.5;#in watts\n",
-      "Losses=round(Losses);#round\n",
-      "#Let, Ststor Cu loss = Rotor Cu los = Iron loss=K\n",
-      "#Mechanical Loss = Iron Loss/3 = K/3\n",
-      "#TotalLosses=k+K+K+K/3\n",
-      "K=Losses*3/10;#in watts\n",
-      "Pin_rotor=Output*735.5+Losses;#in watts\n",
-      "Slip=K/Pin_rotor;#unitless\n",
-      "\n",
-      "#Results\n",
-      "print \"Slip :\",round(Slip,3);\n",
-      "print \"or \",round((Slip*100)),\"%\";  #answer differes due to rouding"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip : 0.03\n",
-        "or  3.0 %\n"
-       ]
-      }
-     ],
-     "prompt_number": 154
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.26, Page 160"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "Pin_rotor=20;#Power input of rotor in KW\n",
-      "phase=3;#no. of phase\n",
-      "P=6;#no. of poles\n",
-      "f=50.;#in Hz\n",
-      "N=960;#in rpm(Actual speed of motor)\n",
-      "\n",
-      "#Calculations\n",
-      "Ns=120*f/P;#synchronous speed in rpm\n",
-      "S=(Ns-N)/Ns;#unitless\n",
-      "RotorCuLoss=S*Pin_rotor*10**3;#in watts\n",
-      "RotorCuLoss=RotorCuLoss/phase;#in watts/phase\n",
-      "R2=1./3;#in ohm(Rotor resistance per phase)\n",
-      "I2=sqrt(RotorCuLoss/R2);#in Ampere\n",
-      "\n",
-      "#Result\n",
-      "print \"Motor current per phase(in Ampere) :\",round(I2,1);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Motor current per phase(in Ampere) : 28.3\n"
-       ]
-      }
-     ],
-     "prompt_number": 155
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.27, Page 161"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "V=500;#in volt\n",
-      "Pout_rotor=20;#Power output of rotor in H.P.\n",
-      "phase=3;#no. of phase\n",
-      "P=6;#no. of poles\n",
-      "f=50;#in Hz\n",
-      "N=995.;#in rpm(Actual speed of motor)\n",
-      "cosfi=0.87;#powerfactor(unitless)\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ns=120*f/P;#synchronous speed in rpm\n",
-      "S=(Ns-N)/Ns;#unitless\n",
-      "print \"Slip : \",S;\n",
-      "RotorCuLoss=(S/(1-S))*Pout_rotor*735.5;#in watts\n",
-      "print \"Rotor Cu Loss(in watts) : \",round(RotorCuLoss,2);\n",
-      "Pin_rotor=RotorCuLoss/S;#in watts\n",
-      "print \"Power input to rotor(in KW) :\",round((Pin_rotor/10**3),2);\n",
-      "LineCurrent=Pin_rotor/(sqrt(3)*V*cosfi);#in Ampere\n",
-      "print \"Line Current(in A) :\",round(LineCurrent,2);\n",
-      "RotorFreq=S*f;#in Hz\n",
-      "print \"Rotor Frequency(in Hz) :\",RotorFreq;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip :  0.005\n",
-        "Rotor Cu Loss(in watts) :  73.92\n",
-        "Power input to rotor(in KW) : 14.78\n",
-        "Line Current(in A) : 19.62\n",
-        "Rotor Frequency(in Hz) : 0.25\n"
-       ]
-      }
-     ],
-     "prompt_number": 156
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.28, Page 162"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "phase=3;#no. of phase\n",
-      "Efficiency=90;#in %\n",
-      "Speed=480;#in rpm\n",
-      "VL=400;#in volt\n",
-      "IL=75;#in Ampere\n",
-      "cosfi=0.77;#powerfactor(unitless)\n",
-      "d=0.75;#diameter of pulley in meter\n",
-      "\n",
-      "#Calculations\n",
-      "Pin_motor=sqrt(3)*VL*IL*cosfi;#Power input of motor in watts\n",
-      "OutputPower=Pin_motor*Efficiency/100;#in watts\n",
-      "Omega=Speed*2*pi/60;#angular speed in radians/sec\n",
-      "Torque=OutputPower/Omega;#in N-meter\n",
-      "Torque=Torque/9.81;#in Kg-meter\n",
-      "PullOnBelt=Torque/(d/2);#in Kg\n",
-      "\n",
-      "#Result\n",
-      "print \"Pull On Belt(in Kg.) : \",round(PullOnBelt,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Pull On Belt(in Kg.) :  194.74\n"
-       ]
-      }
-     ],
-     "prompt_number": 157
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.29, Page 162"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "#At 3% slip\n",
-      "OutputPower=24;#in KW(At 3% slip)\n",
-      "S=3.;#in %\n",
-      "\n",
-      "#Calculations\n",
-      "Efficiency=(1-S/100);#unitless\n",
-      "InputPower=OutputPower/Efficiency;#in KW\n",
-      "#At 5% slip\n",
-      "S=5;#in %\n",
-      "Efficiency=(1-S/100);#unitless\n",
-      "OutputPower=InputPower*Efficiency;#in KW\n",
-      "\n",
-      "#Result\n",
-      "print \"Mechanical power output at a slip of 5%(in KW) : \",round(OutputPower,1);\n",
-      "#answer differs due to rounding"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Mechanical power output at a slip of 5%(in KW) :  24.7\n"
-       ]
-      }
-     ],
-     "prompt_number": 158
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.30, Page 162"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "#At 50% speed of synchronous speed\n",
-      "S=50.;#in %\n",
-      "UsefulOutput=55;#in H.P.\n",
-      "MechLoss=2;#in H.P.\n",
-      "StatorLoss=13.5;#in KW\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Pout_rotor=UsefulOutput+MechLoss;#in H.P.\n",
-      "Pout_rotor=Pout_rotor*0.7355;#in KW\n",
-      "Efficiency=(1-S/100);#unitless\n",
-      "RotorInputPower=Pout_rotor/Efficiency;#in KW\n",
-      "RotorCuLoss=RotorInputPower-Pout_rotor;#in KW\n",
-      "print \"Cu Loss in the rotor circuit(in KW) :\",round(RotorCuLoss,2);\n",
-      "TotalLosses=StatorLoss+RotorCuLoss+MechLoss*0.7355;#in KW\n",
-      "MotorEfficiency=UsefulOutput*0.7355/(UsefulOutput*0.7355+TotalLosses);\n",
-      "print \"Motor Efficiency(in %) : \",round((MotorEfficiency*100),1);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Cu Loss in the rotor circuit(in KW) : 41.92\n",
-        "Motor Efficiency(in %) :  41.6\n"
-       ]
-      }
-     ],
-     "prompt_number": 159
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.31, Page 163"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data :\n",
-      "P=4;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "N=1440.;#in rpm(Actual speed of motor)\n",
-      "Power_dev=10;#Power developed in H.P.\n",
-      "VL=400;#in volt\n",
-      "cosfi=0.8;#powerfactor(unitless)\n",
-      "f=50;#in Hz\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ns=120*f/P;#in rpm\n",
-      "S=(Ns-N)/Ns;#fractional slip(unitless)\n",
-      "print \"Slip :\",S;\n",
-      "Omega=N*2*pi/60;#angular speed in radians/sec\n",
-      "Torque=Power_dev*735.5/Omega;#in N-meter\n",
-      "Torque=Torque/9.81;#in Kg-meter\n",
-      "print \"Torque(in Kg-meter) :\",round(Torque,2);\n",
-      "RotorCuLoss=(S/(1-S))*Power_dev*735.5;#in watts\n",
-      "print \"Rotor Cu Loss per phase(in watts) : \",round((RotorCuLoss/3),1);\n",
-      "Pin_rotor=RotorCuLoss/S;#in watts\n",
-      "print \"Power input to rotor(in KW) :\",round((Pin_rotor/10**3),2);\n",
-      "LineCurrent=Pin_rotor/(sqrt(3)*VL*cosfi);#in Ampere\n",
-      "print \"Line Current(in A) :\",round(LineCurrent,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip : 0.04\n",
-        "Torque(in Kg-meter) : 4.97\n",
-        "Rotor Cu Loss per phase(in watts) :  102.2\n",
-        "Power input to rotor(in KW) : 7.66\n",
-        "Line Current(in A) : 13.82\n"
-       ]
-      }
-     ],
-     "prompt_number": 160
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.32, Page 164"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "VL=440;#in volt\n",
-      "f=50;#in Hz\n",
-      "P=6;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "Pin_rotor=80;#in KW\n",
-      "fr=100;#revolutions/min\n",
-      "\n",
-      "#Calculations&Results\n",
-      "fr=100./60;#in Hz\n",
-      "S=fr/f;#slip(unitless)\n",
-      "print \"Slip : \",round(S,3);\n",
-      "Ns=120*f/P;#in rpm\n",
-      "N=Ns*(1-S);#in rpm(Speed of Rotor)\n",
-      "print \"Rotor speed(in rpm) : \",round(N);\n",
-      "RotorCuLoss=S*Pin_rotor*10**3;#in watts\n",
-      "print \"Rotor Cu Loss per phase(in watts) : \",round(RotorCuLoss/phase);\n",
-      "I2=65;#in Ampere\n",
-      "R2=(RotorCuLoss/phase)/I2**2;#in ohm\n",
-      "print \"Rotor resistance per phase(in ohm) : \",round(R2,2);\n",
-      "Pout_rotor=Pin_rotor-RotorCuLoss/10**3;#in KW\n",
-      "print \"Output power of rotor(in H.P.) : \",round((Pout_rotor/0.735),1);\n",
-      "#Note : answers of few part are not accurate in the book."
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip :  0.033\n",
-        "Rotor speed(in rpm) :  967.0\n",
-        "Rotor Cu Loss per phase(in watts) :  889.0\n",
-        "Rotor resistance per phase(in ohm) :  0.21\n",
-        "Output power of rotor(in H.P.) :  105.2\n"
-       ]
-      }
-     ],
-     "prompt_number": 161
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.33, Page 165"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "VL=440;#in volt\n",
-      "f=50.;#in Hz\n",
-      "P=6;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "Pin_rotor=20;#in KW\n",
-      "N=960.;#in rpm(Speed of Motor)\n",
-      "\n",
-      "#Calculations\n",
-      "Ns=120*f/P;#in rpm\n",
-      "S=(Ns-N)/Ns;#slip(unitless)\n",
-      "RotorCuLoss=S*Pin_rotor*10**3;#in watts\n",
-      "RotorCuLoss=RotorCuLoss/phase;#in watts/phase\n",
-      "R2=1./3;#Rotor Resistance in ohm per phase\n",
-      "I2=sqrt(RotorCuLoss/R2)\n",
-      "\n",
-      "#Result\n",
-      "print \"Motor current per phase(in Ampere) :\",round(I2,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Motor current per phase(in Ampere) : 28.28\n"
-       ]
-      }
-     ],
-     "prompt_number": 162
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.34, Page 166"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data :\n",
-      "VL=500;#in volt\n",
-      "f=50;#in Hz\n",
-      "P=6;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "Pout_rotor=20;#in H.P.\n",
-      "cosfi=0.87;#power factor\n",
-      "N=995.;#in rpm(Speed of Motor)\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ns=120*f/P;#in rpm\n",
-      "S=(Ns-N)/Ns;#slip(unitless)\n",
-      "print \"Slip : \",S;\n",
-      "RotorCuLoss=(S/(1-S))*Pout_rotor*735.5;#in watts\n",
-      "print \"Rotor Cu Loss(in watts) :\",round(RotorCuLoss,2);\n",
-      "Pin_rotor=RotorCuLoss/S;#in watts\n",
-      "print \"Power input to rotor(in KW) :\",round((Pin_rotor/10**3),3);\n",
-      "IL=Pin_rotor/(sqrt(3)*VL*cosfi);#in Ampere\n",
-      "print \"Line current (in Ampere) :\",round(IL,2);\n",
-      "Rotorfreq=S*f;#in Hz\n",
-      "print \"Rotor frequency(in Hz) :\",round(Rotorfreq,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip :  0.005\n",
-        "Rotor Cu Loss(in watts) : 73.92\n",
-        "Power input to rotor(in KW) : 14.784\n",
-        "Line current (in Ampere) : 19.62\n",
-        "Rotor frequency(in Hz) : 0.25\n"
-       ]
-      }
-     ],
-     "prompt_number": 163
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.35, Page 166"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "f=50;#in Hz\n",
-      "P=4;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "Efficiency=85.;#in %\n",
-      "OutputPower=17.;#in KW\n",
-      "OutputPower=17*10**3;#in watts\n",
-      "StatorLosses=900.;#in watt\n",
-      "MechLosses=1100;#in watt\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Pin=OutputPower/(Efficiency/100);#in watts\n",
-      "#Stator input or rotor input :\n",
-      "Pin_rotor=Pin-StatorLosses;#in watts\n",
-      "P_MechDev=OutputPower+MechLosses;#in watts\n",
-      "RotorCuLosses=Pin_rotor-P_MechDev;#in watts\n",
-      "S=RotorCuLosses/Pin_rotor;#slip(unitless)\n",
-      "print \"Slip :\",round(S,3);\n",
-      "Ns=120*f/P\n",
-      "N=Ns*(1-S);#in rpm(Speed of Motor)\n",
-      "Omega=2*pi*N/60;#angular speed in rad/sec\n",
-      "Torque=P_MechDev/Omega;#in Nm\n",
-      "print \"Torque developed(in Nm) :\",round(Torque,1);\n",
-      "Tm=OutputPower/Omega;#in Nm\n",
-      "Tm=Tm/9.81;#in Kg-meter\n",
-      "print \"Torque at the shaft(in Kg-meter) :\",round(Tm,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip : 0.052\n",
-        "Torque developed(in Nm) : 121.6\n",
-        "Torque at the shaft(in Kg-meter) : 11.64\n"
-       ]
-      }
-     ],
-     "prompt_number": 164
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.36, Page 168"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "VL=500;#in volt\n",
-      "f=50;#in Hz\n",
-      "P=6;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "Pin_stator=50;#in KW\n",
-      "Statorlosses=2;#in KW\n",
-      "MechLosses=1;#in KW\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Pin_rotor=Pin_stator-Statorlosses;#in KW\n",
-      "S=3.;#in %\n",
-      "RotorI2RLoss=(S/100)*Pin_rotor;#in KW\n",
-      "print \"Rotor I2R Loss(in KW) :\",RotorI2RLoss;\n",
-      "print \"Rotor core loss at 3% slip is very less and can be neglected.\";\n",
-      "Power_dev=Pin_rotor-RotorI2RLoss;#in KW\n",
-      "print \"Power developed by the rotor(in H.P.) : \",round((Power_dev/0.7355),1);\n",
-      "Outputpower=Power_dev-MechLosses;#in KW\n",
-      "Efficiency=Outputpower/Pin_stator;#unitless\n",
-      "print \"Efficiency of the motor(in %) :\",(Efficiency*100);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Rotor I2R Loss(in KW) : 1.44\n",
-        "Rotor core loss at 3% slip is very less and can be neglected.\n",
-        "Power developed by the rotor(in H.P.) :  63.3\n",
-        "Efficiency of the motor(in %) : 91.12\n"
-       ]
-      }
-     ],
-     "prompt_number": 165
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.37, Page 168"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "f=50;#in Hz\n",
-      "P=4;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "MotorOutput=20;#in H.P.\n",
-      "MotorOutput=20*735.5;#in watts\n",
-      "S=4.;#full load slip in %\n",
-      "MechLosses=500;#in watts\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Pdev_rotor=MotorOutput+MechLosses;#in watts\n",
-      "S=S/100;#fractional slip\n",
-      "RotorI2RLoss=(S/(1-S))*Pdev_rotor;#in watts\n",
-      "print \"Rotor I2R Loss(in watts) :\",RotorI2RLoss;\n",
-      "Ns=120*f/P;#in rpm\n",
-      "Nr=Ns-Ns*S;#in rpm\n",
-      "print \"Rotor speed(in rpm) :\",Nr;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Rotor I2R Loss(in watts) : 633.75\n",
-        "Rotor speed(in rpm) : 1440.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 80
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.38, Page 169"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data :\n",
-      "f=50;#in Hz\n",
-      "P=6;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "R2=0.02;#in ohm\n",
-      "X2=0.1;#in ohm\n",
-      "\n",
-      "#Calculations\n",
-      "S=R2/X2;#slip(unitless)\n",
-      "Ns=120*f/P;#in rpm\n",
-      "Nr=Ns-Ns*S;#in rpm\n",
-      "#At starting S=1\n",
-      "S=1;#slip\n",
-      "#Formula : T=K*S*R2/(R2^2+X2^2)\n",
-      "#Starting torque, Tst=K*R2/(R2^2+S^2*X2^2)\n",
-      "#Maximum torque, Tm=K/(2*X2)\n",
-      "#Tst=(2/3)*Tm : gives a equation\n",
-      "#100*R2^2-30*R2+1=0\n",
-      "a=100;b=-30;c=1;\n",
-      "R21=(-b+sqrt(b**2-4*a*c))/(2*a);#in ohm\n",
-      "R22=(-b-sqrt(b**2-4*a*c))/(2*a);#in ohm\n",
-      "#This R2 is the value of rotor circuit resistance.\n",
-      "RotWinResistance=0.02;#in ohm per phase\n",
-      "Extra_R1=R21-RotWinResistance;#in ohm\n",
-      "Extra_R2=R22-RotWinResistance;#in ohm\n",
-      "\n",
-      "#Result\n",
-      "print \"Extra Resistance(in ohm) : \",round(Extra_R1,3),\" ohm or \",round((Extra_R2),3),\" ohm.\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Extra Resistance(in ohm) :  0.242  ohm or  0.018  ohm.\n"
-       ]
-      }
-     ],
-     "prompt_number": 166
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.39, Page 170"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "f=50;#in Hz\n",
-      "P=4;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "MotorShaftOutput=20;#in H.P.\n",
-      "\n",
-      "#Calculations&Results\n",
-      "MotorShaftOutput=20*735.5;#in watts\n",
-      "MechLosses=MotorShaftOutput*2/100;#in watts(2% of the output)\n",
-      "Pdev_rotor=MotorShaftOutput+MechLosses;#in watts\n",
-      "S=3.;#slip in %\n",
-      "S=S/100;#fractional slip\n",
-      "RotorI2RLoss=(S/(1-S))*Pdev_rotor;#in watts\n",
-      "print \"Rotor I2R Loss(in watts) :\",round(RotorI2RLoss);\n",
-      "print \"Rotor iron loss at 3% slip is very small and can be neglected.\";\n",
-      "RotorInput=Pdev_rotor+RotorI2RLoss;#in watts\n",
-      "print \"Rotor Input(in Watts) :\",round(RotorInput,1);\n",
-      "Ns=120*f/P;#in rpm\n",
-      "Nr=Ns-Ns*S;#in rpm\n",
-      "Nr=Nr/60;#in rps\n",
-      "T=MotorShaftOutput/(2*pi*Nr);#in Nm\n",
-      "print \"Output torque(in Nm) : \",round(T,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Rotor I2R Loss(in watts) : 464.0\n",
-        "Rotor iron loss at 3% slip is very small and can be neglected.\n",
-        "Rotor Input(in Watts) : 15468.2\n",
-        "Output torque(in Nm) :  96.54\n"
-       ]
-      }
-     ],
-     "prompt_number": 167
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.40, Page 171"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "VL=500;#in volt\n",
-      "f=50;#in Hz\n",
-      "P=6;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "Nr=975.;#in rpm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ns=120*f/P;#in rpm\n",
-      "S=(Ns-Nr)/Ns;#slip\n",
-      "print \"Slip :\",S;\n",
-      "Pin_stator=40;#in KW\n",
-      "StatorLosses=1;#in KW\n",
-      "Pin_rotor=Pin_stator-StatorLosses;#in KW\n",
-      "RotorCuLosses=S*Pin_rotor;#in KW\n",
-      "print \"Rotor Cu Losses(in KW) :\",RotorCuLosses;\n",
-      "RotorOutput=Pin_rotor-RotorCuLosses;#in KW\n",
-      "OutputHP=RotorOutput/0.735;#in H.P.\n",
-      "print \"Output Horse Power : \",round(OutputHP,2);\n",
-      "Efficiency=RotorOutput/Pin_stator;#unitless\n",
-      "print \"Efficiency(in %) :\",round(Efficiency*100);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip : 0.025\n",
-        "Rotor Cu Losses(in KW) : 0.975\n",
-        "Output Horse Power :  51.73\n",
-        "Efficiency(in %) : 95.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 168
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.41, Page 172"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "VL=440;#in volt\n",
-      "f=50.;#in Hz\n",
-      "P=6;#no. of poles\n",
-      "phase=3.;#no. of phase\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ns=120*f/P;#in rpm\n",
-      "fr=120;#alternations per minute\n",
-      "fr=fr/60;#in Hz\n",
-      "S=fr/f;#slip\n",
-      "print \"Slip : \",S;\n",
-      "Nr=Ns-S*Ns;#in rpm\n",
-      "print \"Rotor speed(in rpm) :\",Nr;\n",
-      "Rotor_input=80;#in KW\n",
-      "RotorCuLoss=S*Rotor_input;#in KW\n",
-      "print \"Rotor Cu Loss per phase(in watts) :\",round((RotorCuLoss*10**3)/phase);\n",
-      "P_Mechdev=Rotor_input*10**3-RotorCuLoss*10**3;#in watts\n",
-      "P_Mechdev=P_Mechdev/735.5;#in H.P.\n",
-      "print \"Mechanical power devloped(in H.P.) :\",round(P_Mechdev,1);\n",
-      "Ir=60;#in Ampere\n",
-      "R2=(RotorCuLoss*10**3/phase)/Ir**2;#in ohm\n",
-      "print \"Rotor resistance per phase(in ohm) :\",round(R2,3);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Slip :  0.04\n",
-        "Rotor speed(in rpm) : 960.0\n",
-        "Rotor Cu Loss per phase(in watts) : 1067.0\n",
-        "Mechanical power devloped(in H.P.) : 104.4\n",
-        "Rotor resistance per phase(in ohm) : 0.296\n"
-       ]
-      }
-     ],
-     "prompt_number": 169
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.43, Page 175 "
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "f=50.;#in Hz\n",
-      "P=6;#no. of poles\n",
-      "R2=0.2;#rotor resistance per phase in ohm\n",
-      "Nr=960;#in rpm\n",
-      "Nr_dash=600;#in rpm\n",
-      "\n",
-      "#Calculations\n",
-      "Ns=120*f/P;#in rpm\n",
-      "S=(Ns-Nr)/Ns;#slip(unitless)\n",
-      "Sdash=(Ns-Nr_dash)/Ns;#slip(unitless)\n",
-      "#Let the new value of resistance is R2dash=(R+0.2)\n",
-      "R=R2*(Sdash/S)-R2;#Resistance to be added in ohm\n",
-      "\n",
-      "#Result\n",
-      "print \"Resistance to be added(in ohm) : \",R;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Resistance to be added(in ohm) :  1.8\n"
-       ]
-      }
-     ],
-     "prompt_number": 91
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.44, Page 176"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "f=50;#in Hz\n",
-      "P=6;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "RotorIntResistance=0.1;#in ohm per phase\n",
-      "X2=1;#in ohm/phase\n",
-      "\n",
-      "#Calculation\n",
-      "Rext=X2-RotorIntResistance;#in ohm\n",
-      "\n",
-      "#Result\n",
-      "print \"External resistance to be included(in ohm/phase) : \",Rext;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "External resistance to be included(in ohm/phase) :  0.9\n"
-       ]
-      }
-     ],
-     "prompt_number": 92
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.45, Page 176"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "f=50.;#in Hz\n",
-      "P=6.;#no. of poles\n",
-      "phase=3.;#no. of phase\n",
-      "R2=0.2;#rotor resistance per phase in ohm\n",
-      "N1=960.;#Full load speed in rpm\n",
-      "\n",
-      "#Calculations\n",
-      "Ns=120*f/P;#in rpm\n",
-      "S1=(Ns-N1)/Ns;#Full load slip(unitless)\n",
-      "N2=N1*(1-10./100);#New speed in rpm(reduced 10%)\n",
-      "S2=(Ns-N2)/Ns;#New slip(unitless)\n",
-      "#Formula : S=RotorCuLoss/Pin_rotor=3*I2^2*R2/Pin_rotor\n",
-      "#Let the additional resistance is R\n",
-      "R=R2*S2/S1-R2;#Resistance to be added in ohm\n",
-      "\n",
-      "#Result\n",
-      "print \"Additional Rotor Resistance(in ohm) : \",R;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Additional Rotor Resistance(in ohm) :  0.48\n"
-       ]
-      }
-     ],
-     "prompt_number": 97
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.46, Page 180"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "R2inner=0.4;#in ohm\n",
-      "X2inner=2;#in ohm \n",
-      "R2outer=2;#in ohm\n",
-      "X2outer=0.4;#in ohm \n",
-      "#At standstill :\n",
-      "S=1;#unitless\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ratio=(R2outer*S/(R2outer**2+S**2*X2outer**2))/(R2inner*S/(R2inner**2+S**2*X2inner**2));#unitless\n",
-      "print \"Ratio of torque produced by two cages at standstill : \",Ratio;\n",
-      "#At Full load :\n",
-      "S=5;#in %\n",
-      "S=5./100;#fractional\n",
-      "Ratio=(R2outer*S/(R2outer**2+S**2*X2outer**2))/(R2inner*S/(R2inner**2+S**2*X2inner**2));#unitless\n",
-      "print \"Ratio of torque produced by two cages at full load(slip=5%) : \",round(Ratio,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Ratio of torque produced by two cages at standstill :  5.0\n",
-        "Ratio of torque produced by two cages at full load(slip=5%) :  0.21\n"
-       ]
-      }
-     ],
-     "prompt_number": 171
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.47, Page 187"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data :\n",
-      "Output=10;#in H.P.\n",
-      "Output=Output*735.5;#in watts\n",
-      "cosfi=0.8;#unitless\n",
-      "ETA=0.83;#unitless\n",
-      "ISCbyIFL=3.5;#ratio of SC current to full load current\n",
-      "VL=500;#in volt\n",
-      "\n",
-      "#Calculations\n",
-      "Input=Output/ETA;#in watts\n",
-      "IFL=Input/(sqrt(3)*VL*cosfi);#in Ampere\n",
-      "ISC=IFL*ISCbyIFL;#in Ampere\n",
-      "Is=ISC/3;#in Ampere\n",
-      "\n",
-      "#Result\n",
-      "print \"Strting current(in Ampere) :\",round(Is,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Strting current(in Ampere) : 14.92\n"
-       ]
-      }
-     ],
-     "prompt_number": 172
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.48, Page 187"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "ISCbyIFL=5;#ratio of SC current to full load current\n",
-      "S=0.04;#Full load slip\n",
-      "\n",
-      "#Calculations&Results\n",
-      "#(i) for star delta starter : \n",
-      "print \"for star delta starter : \";\n",
-      "Ratio=(1./3)*(ISCbyIFL)**2*S;#Ratio of starting torque to full load torque\n",
-      "print \"Starting torque is \",round((Ratio*100),2),\"% of full load torque.\";\n",
-      "#(i) for auto transformer starter :\n",
-      "print \"for auto transformer starter : \";\n",
-      "K=50./100;#tappings\n",
-      "Ratio=K**2*(ISCbyIFL)**2*S;#Ratio of starting torque to full load torque\n",
-      "print \"Starting torque is \",(Ratio*100),\"% of full load torque.\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "for star delta starter : \n",
-        "Starting torque is  33.33 % of full load torque.\n",
-        "for auto transformer starter : \n",
-        "Starting torque is  25.0 % of full load torque.\n"
-       ]
-      }
-     ],
-     "prompt_number": 173
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.49, Page 188"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "ISCbyIFL=4;#ratio of SC current to full load current\n",
-      "TsBYTf=1./4;#ratio of atarting torque to full load torque\n",
-      "Slip=3;#in %\n",
-      "Slip=3./100;#in fraction\n",
-      "\n",
-      "#Calculations\n",
-      "#Formula : TsBYTf=Percent_Tapping^2*ISCbyIFL^2*Slip\n",
-      "tapping=sqrt(TsBYTf/(Slip*ISCbyIFL**2));#in %\n",
-      "\n",
-      "#Result\n",
-      "print \"Tapping(in %) :\",round((tapping*100),1);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Tapping(in %) : 72.2\n"
-       ]
-      }
-     ],
-     "prompt_number": 174
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.50, Page 189"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "ISCbyIFL=5.;#ratio of SC current to full load current\n",
-      "Slip=5;#in %\n",
-      "Slip=5./100;#in fraction\n",
-      "\n",
-      "#Calculations\n",
-      "#Formula : 3*IFL=K^2*ISC\n",
-      "K=sqrt(1./(ISCbyIFL/3));#unitless\n",
-      "TsBYTfl=K**2*(ISCbyIFL)**2*Slip;#ratio of starting torque to full load torque\n",
-      "\n",
-      "#Result\n",
-      "print \"Starting torque is \",(TsBYTfl*100),\"% of full load torque.\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Starting torque is  75.0 % of full load torque.\n"
-       ]
-      }
-     ],
-     "prompt_number": 175
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.51, Page 189"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "print \"Star delta starter :\";\n",
-      "ISCbyIFL=6;#ratio of SC current to full load current\n",
-      "Slip=4;#in %\n",
-      "Slip=4./100;#in fraction\n",
-      "\n",
-      "#Calculations&Results\n",
-      "TsBYTfl=(1./3)*(ISCbyIFL)**2*Slip;#ratio of starting torque to full load torque\n",
-      "print \"Starting torque is \",(TsBYTfl*100),\"% of full load value.\";\n",
-      "print \"For an auto transformer :\";\n",
-      "K=70.70;#in %\n",
-      "K=70.70/100;#in fraction\n",
-      "TsBYTfl=K**2*(ISCbyIFL)**2*Slip;#ratio of starting torque to full load torque\n",
-      "print \"Starting torque is \",round(TsBYTfl*100),\"% of full load torque.\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Star delta starter :\n",
-        "Starting torque is  48.0 % of full load value.\n",
-        "For an auto transformer :\n",
-        "Starting torque is  72.0 % of full load torque.\n"
-       ]
-      }
-     ],
-     "prompt_number": 176
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.52, Page 190"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "V=400.;#in volt\n",
-      "S=3.5;#in %\n",
-      "S=3.5/100;#in fraction\n",
-      "VL=92;#in volts\n",
-      "\n",
-      "#Calculations&Results\n",
-      "#ISC=(V/VL)*IFL;#in Ampere\n",
-      "ISCbyIFL=V/VL;#ratio of SC current to full load current\n",
-      "#2*IFL=K^2*ISC imples that 2*IFL=K^2*(V/VL)*IFL\n",
-      "K=sqrt(2./(V/VL));#in fraction\n",
-      "print \"Necessary tapping(in %) :\",round((K*100),1);\n",
-      "TsBYTfl=K**2*(ISCbyIFL)**2*S;#ratio of starting torque to full load torque\n",
-      "print \"Starting torque is \",round((TsBYTfl*100),1),\"% of full load value.\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Necessary tapping(in %) : 67.8\n",
-        "Starting torque is  30.4 % of full load value.\n"
-       ]
-      }
-     ],
-     "prompt_number": 179
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.53, Page 190"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "ISCbyIFL=4;#ratio of SC current to full load current\n",
-      "ISbyIFL=2;#ratio of Supply current to full load current\n",
-      "S=2.5;#in %\n",
-      "S=2.5/100;#in fraction\n",
-      "\n",
-      "#Calculations\n",
-      "#Formula : ISbyIFL=(1/K^2)*ISCbyIFL\n",
-      "K=sqrt(ISCbyIFL/ISbyIFL);#in fraction\n",
-      "print \"Auto Transormation ratio :\",round(K,2);\n",
-      "TsBYTfl=(1./K**2)*(ISCbyIFL)**2*S;#ratio of starting torque to full load torque\n",
-      "\n",
-      "#Results\n",
-      "print \"Ratio of starting torque to full load torque :\",TsBYTfl;\n",
-      "print \"or Starting torque is \",(TsBYTfl*100),\"% of full load value.\";"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Auto Transormation ratio : 1.41\n",
-        "Ratio of starting torque to full load torque : 0.2\n",
-        "or Starting torque is  20.0 % of full load value.\n"
-       ]
-      }
-     ],
-     "prompt_number": 180
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.54, Page 191"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "ISCbyIFL=4;#ratio of SC current to full load current\n",
-      "S=3;#in %\n",
-      "S=3./100;#in fraction\n",
-      "TsBYTfl=1./4;#ratio of starting torque to full load torque\n",
-      "\n",
-      "#Calculations\n",
-      "#Formula : TsBYTfl=ISCbyIFL^2*K^2*S\n",
-      "K=sqrt(TsBYTfl/(ISCbyIFL**2*S));#in fraction\n",
-      "\n",
-      "#Result\n",
-      "print \"Auto Transormation ratio(in %) :\",round((K*100),2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Auto Transormation ratio(in %) : 72.17\n"
-       ]
-      }
-     ],
-     "prompt_number": 181
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.55, Page 191"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data :\n",
-      "Output=3;#in H.P.\n",
-      "Output=3*735.5;#in watts\n",
-      "Efficiency=0.83;#unitless\n",
-      "cosfi=0.8;#power factor\n",
-      "\n",
-      "#Calculations\n",
-      "Vl=500;#in volt\n",
-      "Input=Output/Efficiency;#in watts\n",
-      "#Formula : Input=sqrt(3)*Vl*Il*cosfi\n",
-      "Il=Input/(sqrt(3)*Vl*cosfi);#in Ampere\n",
-      "ISCbyIFL=3.5;#ratio of SC current to full load current\n",
-      "ISC=ISCbyIFL*Il;#in Ampere\n",
-      "LineCurrent=ISC/3;#in Ampere(for star delta starter)\n",
-      "\n",
-      "#Result\n",
-      "print \"Line Current(in Ampere) :\",round(LineCurrent,2);\n",
-      "#Note : Ans in the book is not accurate."
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Line Current(in Ampere) : 4.48\n"
-       ]
-      }
-     ],
-     "prompt_number": 182
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.56, Page 192"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data :\n",
-      "Output=15;#in H.P.\n",
-      "Output=15*735.5;#in watts\n",
-      "Vl=400;#in volt\n",
-      "ISCat200=40;#in Ampere(at 200 volt)\n",
-      "Efficiency=0.88;#unitless\n",
-      "cosfi=0.85;#power factor\n",
-      "\n",
-      "#Calculations\n",
-      "ISCat400=ISCat200*(400./200);#in Ampere(at 400 volt)\n",
-      "Input=Output/Efficiency;#in watts\n",
-      "Ifl=Input/(sqrt(3)*Vl*cosfi);#in Ampere\n",
-      "#starting line current with star delta starter\n",
-      "Is=ISCat400/3;#in Ampere\n",
-      "Ratio=Is/Ifl;#ratio of starting current to full load current\n",
-      "\n",
-      "#Result\n",
-      "print \"Ratio of line current at starting to full load current :\",round(Ratio,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Ratio of line current at starting to full load current : 1.25\n"
-       ]
-      }
-     ],
-     "prompt_number": 183
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.57, Page 192"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import * \n",
-      "\n",
-      "#Given data :\n",
-      "#With star delta starter : \n",
-      "TstBYTfl=0.35;#ratio of starting torque to full load torque\n",
-      "IstBYIfl=1.75;#ratio of starting current to full load current\n",
-      "\n",
-      "#Calculations&Results\n",
-      "ISCBYIs=sqrt(3);#ratio of SC current to starting current\n",
-      "ISCBYIfl=sqrt(3)*IstBYIfl;#ratio of SC current to full load current\n",
-      "#Formula : TstBYTfl=(ISCBYIfl)^2*S\n",
-      "S=TstBYTfl/(ISCBYIfl)**2;#in fraction\n",
-      "print \"Full load Slip : \",round(S,3);\n",
-      "#With auto transformer with winding in delta : \n",
-      "Ip=sqrt(3)*1.750*0.8;#full voltage phase current in Ampere\n",
-      "IlBYIf=4.2;#ratio of Line current to full load current\n",
-      "Ratio=IlBYIf**2*S;#ratio of starting current to full load current\n",
-      "print \"Ratio of line current at starting to full load current :\",round(Ratio,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Full load Slip :  0.038\n",
-        "Ratio of line current at starting to full load current : 0.67\n"
-       ]
-      }
-     ],
-     "prompt_number": 188
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.58, Page 196"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "f=50;#in Hz\n",
-      "P=4;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "R2=0.25;#in ohm per phase\n",
-      "S=2;#in %\n",
-      "S=2./100;#in fraction\n",
-      "\n",
-      "#Calculations\n",
-      "Ns=120*f/P;#in rpm\n",
-      "Nr=Ns-Ns*S;#in rpm\n",
-      "#When speed reduced to 10%\n",
-      "NewSpeed=Nr*90/100;#in rpm\n",
-      "Sdash=(Ns-NewSpeed)/Ns;#in fraction\n",
-      "R2dash=(Sdash/S)*R2;#in ohm per phase\n",
-      "R=R2dash-R2;#in ohm\n",
-      "\n",
-      "#Result\n",
-      "print \"Value of resistance to be added(in ohm) :\",R;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Value of resistance to be added(in ohm) : 1.225\n"
-       ]
-      }
-     ],
-     "prompt_number": 114
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.59, Page 197"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "f=50;#in Hz\n",
-      "P=4;#no. of poles\n",
-      "R2=0.25;#in ohm per phase\n",
-      "N=1440.;#in rpm at full load\n",
-      "NewSpeed=1200;#in rpm\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ns=120*f/P;#in rpm\n",
-      "S=(Ns-N)/Ns;#in %\n",
-      "NewS=(Ns-NewSpeed)/Ns;#in fraction\n",
-      "S1=S;S2=NewS;#slip new and old\n",
-      "#Torque remaining same : S1/R2=S2/(R2+R)\n",
-      "R=S2*R2/S1-R2;#in ohm\n",
-      "print \"External resistance per phase(in ohm) :\",R;  #incorrect answer in textbook\n",
-      "Nr=Ns-Ns*S;#in rpm\n",
-      "#If S1 is taken as 0.03 and S2 as 0.127\n",
-      "S1=0.03;#slip in fraction\n",
-      "S2=0.127;#slip in fraction\n",
-      "R=S2*R2/S1-R2;#in ohm\n",
-      "print \"External resistance per phase(in ohm) :\",round(R,3);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "External resistance per phase(in ohm) : -0.25\n",
-        "External resistance per phase(in ohm) : 0.808\n"
-       ]
-      }
-     ],
-     "prompt_number": 194
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.60, Page 198"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "f=50;#in Hz\n",
-      "P=4;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "S=4;#in %\n",
-      "S=4./100;#in fraction\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ns=120*f/P;#in rpm\n",
-      "N1=Ns-Ns*S;#in rpm\n",
-      "#When speed reduced to 10%\n",
-      "N2=N1*85/100;#in rpm(NewSpeed)\n",
-      "print \"New speed(in rpm) :\",N2;\n",
-      "#New speed is reduced by 15 %\n",
-      "Sdash=(Ns-N2)/Ns;#in fraction\n",
-      "print \"New Slip : \",Sdash;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "New speed(in rpm) : 1224.0\n",
-        "New Slip :  0.184\n"
-       ]
-      }
-     ],
-     "prompt_number": 118
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2.61, Page 202"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "f=50;#in Hz\n",
-      "P=4;#no. of poles\n",
-      "phase=3;#no. of phase\n",
-      "Pin=60;#in KW\n",
-      "StatorLoss=1.2;#in KW\n",
-      "WindingLoss=1.8;#in KW\n",
-      "S=4;#in %\n",
-      "S=4./100;#in fraction\n",
-      "\n",
-      "#Calculations&Results\n",
-      "Ns=120*f/P;#in rpm\n",
-      "Nr=Ns-Ns*S;#in rpm\n",
-      "print \"Rotor speed(in rpm) :\",Nr;\n",
-      "Pin_rotor=Pin-StatorLoss;#in KW\n",
-      "RotorCuLoss=S*Pin_rotor;#in KW\n",
-      "print \"Rotor Cu Loss(in KW) : \",RotorCuLoss;\n",
-      "Pout_rotor=Pin_rotor-WindingLoss-RotorCuLoss;#in KW\n",
-      "Efficiency=(Pout_rotor/Pin)*100;#in %\n",
-      "print \"Efficiency(in %) :\",round(Efficiency);\n",
-      "HP=Pout_rotor*10**3/735.5;#in H.P.\n",
-      "print \"Horse Power(inH.P.) :\",round(HP,2);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Rotor speed(in rpm) : 1440.0\n",
-        "Rotor Cu Loss(in KW) :  2.352\n",
-        "Efficiency(in %) : 91.0\n",
-        "Horse Power(inH.P.) : 74.3\n"
-       ]
-      }
-     ],
-     "prompt_number": 195
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Electrical_Machines_II/chapter_3.ipynb b/Electrical_Machines_II/chapter_3.ipynb
index 2c125106..957e357c 100755
--- a/Electrical_Machines_II/chapter_3.ipynb
+++ b/Electrical_Machines_II/chapter_3.ipynb
@@ -1,7 +1,7 @@
 {
  "metadata": {
   "name": "",
-  "signature": "sha256:d44762913f69b2b88f8f79d544b4c89ac298c3f68155a24b93b531ef54634cd3"
+  "signature": "sha256:ee219f57423897626f36b1403a7ddfed52f292b3adbd144afa54ccec5692e036"
  },
  "nbformat": 3,
  "nbformat_minor": 0,
@@ -29,8 +29,8 @@
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "from math import *\n",
-      "from cmath import *\n",
+      "from math import pi, tan\n",
+      "\n",
       "\n",
       "#Given data :\n",
       "Za=complex(3,3);#in ohm\n",
@@ -55,11 +55,11 @@
        "output_type": "stream",
        "stream": "stdout",
        "text": [
-        "Capacitance(in micro Farad) : (353.677651315+0j)\n"
+        "Capacitance(in micro Farad) : 353.677651315\n"
        ]
       }
      ],
-     "prompt_number": 7
+     "prompt_number": 3
     }
    ],
    "metadata": {}
diff --git a/Electrical_Machines_II/chapter_3_1.ipynb b/Electrical_Machines_II/chapter_3_1.ipynb
deleted file mode 100755
index 2c125106..00000000
--- a/Electrical_Machines_II/chapter_3_1.ipynb
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:d44762913f69b2b88f8f79d544b4c89ac298c3f68155a24b93b531ef54634cd3"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 3: Fractional K.W. \n",
-      "(FKW) Motors"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3.1, Page 242"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "from math import *\n",
-      "from cmath import *\n",
-      "\n",
-      "#Given data :\n",
-      "Za=complex(3,3);#in ohm\n",
-      "Zm=complex(6,3);#in ohm\n",
-      "\n",
-      "#Calculations\n",
-      "#Phase difference 90 degree : so angle between Im and  V is 90-45 degree\n",
-      "theta=90-45;#in degree\n",
-      "f=50;#in Hz\n",
-      "#Formula : tand(theta)=(Xc-Xl)/R\n",
-      "Xl=3;#in ohm and Xc=1/(2*%pi*C)\n",
-      "R=6;#in ohm\n",
-      "C=1./(2*pi*f*(tan(theta*pi/180)*R+Xl));\n",
-      "\n",
-      "#Result\n",
-      "print \"Capacitance(in micro Farad) :\",(C*10**6);"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Capacitance(in micro Farad) : (353.677651315+0j)\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Electrical_Machines_II/chapter_4_1.ipynb b/Electrical_Machines_II/chapter_4_1.ipynb
deleted file mode 100755
index 632c52df..00000000
--- a/Electrical_Machines_II/chapter_4_1.ipynb
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:9e27d5dc9ee72aa8af2a87478e959a0f346f3cc04c2f1acb86835886294034d4"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 4: Special Purpose Machines"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4.1, Page 281"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "P=8;#no. of poles\n",
-      "T=5;#no. of teeteh in each pole\n",
-      "Nr=50.;#no. of teeth in rotor\n",
-      "\n",
-      "#Calculations\n",
-      "Ns=P*T;#no. of teeth\n",
-      "Beta=(Nr-Ns)*360/(Nr*Ns);#in degree\n",
-      "\n",
-      "#Result\n",
-      "print \"Stepping Angle(in degree) : = \",Beta;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Stepping Angle(in degree) : =  1.8\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4.2, Page 282"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "Beta=2.5;#in degree\n",
-      "f=3600;#in PPs\n",
-      "Resolution=360;#in degree\n",
-      "\n",
-      "#Calculations&Results\n",
-      "print \"Resolution : \",Resolution;\n",
-      "Beta1=Resolution/Beta;#steps/revolution\n",
-      "print \"Steps per revolution : \",Beta1;\n",
-      "n=Beta*f/360;#in rps\n",
-      "print \"Steps required for making 25 revolution(in rps) : \",n;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Resolution :  360\n",
-        "Steps per revolution :  144.0\n",
-        "Steps required for making 25 revolution(in rps) :  25.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4.3, Page 282"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "Beta=15;#in degree\n",
-      "Phase=3;#no. of phase\n",
-      "\n",
-      "#Calculations&Results\n",
-      "#Formula : Beta*Nr=(360/phase)\n",
-      "Nr=(360./Phase)/Beta;#unitless\n",
-      "print \"No. of rotor :\",Nr;\n",
-      "#Case (i) : when Ns>Nr : Formula : Beta=(Ns-Nr)*360/(Ns*Nr)\n",
-      "Ns=Nr/(1-Beta*Nr/360);\n",
-      "print \"No. of stator poles if Ns>Nr :\",Ns;\n",
-      "#Case (ii) : when Nr>Ns : Formula : Beta=(Nr-Ns)*360/(Ns*Nr)\n",
-      "Ns=Nr/(1+Beta*Nr/360);\n",
-      "print \"No. of stator poles if Nr>Ns :\",Ns;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "No. of rotor : 8.0\n",
-        "No. of stator poles if Ns>Nr : 12.0\n",
-        "No. of stator poles if Nr>Ns : 6.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4.4, Page 282"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "\n",
-      "#Given data :\n",
-      "Beta=1.8;#in degree\n",
-      "m=4;#no. of phases\n",
-      "\n",
-      "#Calculations\n",
-      "#Formula : Beta*Nr=(360/m)\n",
-      "Nr=(360/m)/Beta;#unitless\n",
-      "\n",
-      "#Results\n",
-      "print \"No. of rotor teeth : = \",Nr;\n",
-      "print \"In multi stack motor rotor teeth equals to stator teeth equals to : \",Nr;"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "No. of rotor teeth : =  50.0\n",
-        "In multi stack motor rotor teeth equals to stator teeth equals to :  50.0\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Electrical_Machines_II/extra-chapter1.ipynb b/Electrical_Machines_II/extra-chapter1.ipynb
new file mode 100755
index 00000000..aa84025a
--- /dev/null
+++ b/Electrical_Machines_II/extra-chapter1.ipynb
@@ -0,0 +1,961 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:73456f874b64111f39ff6e1df283939e5a576ba362e30194dc5083b7ddd99204"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1: Synchronous Machines(Additional problems)"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 1, Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "phase = 3  #three phase winding\n",
+      "ns = 36.    #number of slots\n",
+      "np = 4     #number of poles\n",
+      "\n",
+      "#Calculations\n",
+      "nsp = ns/phase  #number of slots per phase\n",
+      "npp = nsp/np    #number of slots pole/phase\n",
+      "alpha = 180*np/ns #slot angle\n",
+      "Kd = math.sin(npp*alpha/2*math.pi/180)/(3*math.sin(alpha/2*math.pi/180))\n",
+      "\n",
+      "#Results\n",
+      "print \"The distribution factor is %.2f\"%Kd"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The distribution factor is 0.96\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 2, Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "np = 3    #number of phases\n",
+      "npl = 4   #number of poles\n",
+      "ns = 24   #number of slots\n",
+      "\n",
+      "#calculaions\n",
+      "nsp = ns/npl    #number of slot/pole\n",
+      "alpha = 180/nsp #slot pitch(degrees)\n",
+      "m = ns/(npl*np) \n",
+      "Kd = math.sin(m*alpha/2*math.pi/180)/(m*math.sin(alpha/2*math.pi/180))\n",
+      "Kc = math.cos(alpha/2*math.pi/180)\n",
+      "\n",
+      "#Results\n",
+      "print \"Distribution factor = %.2f\"%Kd\n",
+      "print \"Pitch factor = %.3f degrees\"%Kc"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Distribution factor = 0.97\n",
+        "Pitch factor = 0.966 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 3, Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "Vl= 11000     #V\n",
+      "N = 1500      #rpm\n",
+      "f = 50        #Hz\n",
+      "\n",
+      "#Calculations\n",
+      "P = (120*f)/N\n",
+      "Vp = Vl/math.sqrt(3)\n",
+      "\n",
+      "#Results\n",
+      "print \"Number of poles = %d\"%P\n",
+      "print \"Voltage per phase of alternator = %d V\"%Vp"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of poles = 4\n",
+        "Voltage per phase of alternator = 6350 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 4, Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "P = 4    #number of poles\n",
+      "ph = 3   #number of phases\n",
+      "s = 36   #number of slots\n",
+      "cs = 8   #coil span\n",
+      "\n",
+      "#calculations\n",
+      "nsp = s/P    #number of slots/pole\n",
+      "alpha = 180/nsp   #slot pitch\n",
+      "m = s/(P*ph)\n",
+      "Kd = math.sin(m*alpha/2*math.pi/180)/(m*math.sin(alpha/2*math.pi/180))\n",
+      "ns = nsp-cs   #no. of slots by which coil is short pitched\n",
+      "B = 1*alpha\n",
+      "Kc= math.cos(B/2*math.pi/180)\n",
+      "\n",
+      "#Results\n",
+      "print \"Distribution factor = %.3f\"%Kd\n",
+      "print \"Pitch factor = %.3f degrees\"%Kc"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Distribution factor = 0.960\n",
+        "Pitch factor = 0.985 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 5, Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "P= 16.    #number of poles\n",
+      "N = 375  #rpm\n",
+      "s = 144.  #number of slots\n",
+      "c = 10   #number of conductors\n",
+      "phase = 3\n",
+      "phi = 0.035  #flux per pole\n",
+      "\n",
+      "#Calculations\n",
+      "f = (P*N)/120  #Hz\n",
+      "ns = s/P         #slot/pole\n",
+      "m = ns/phase\n",
+      "alpha = 180/ns   #slot angle\n",
+      "Kd = math.sin(m*alpha/2*math.pi/180)/(m*math.sin(alpha/2*math.pi/180))\n",
+      "Tc = s*c         #total number of conductor\n",
+      "Tcp = Tc/phase   #total number of conductors/phase\n",
+      "Ncp = Tcp/2      #number of turns/phase\n",
+      "emf = 4.44*Kd*phi*f*Ncp\n",
+      "Vl = math.sqrt(3)*emf\n",
+      "\n",
+      "#Results\n",
+      "print \"Frequency = %d Hz\"%f\n",
+      "print \"E.M.F = %d V\"%emf\n",
+      "print \"Line voltage = %d V\"%Vl"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Frequency = 50 Hz\n",
+        "E.M.F = 1789 V\n",
+        "Line voltage = 3100 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 6, Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "P = 4   #no. of poles\n",
+      "s = 36  #no. of slots\n",
+      "ph = 3  #no. of phases\n",
+      "cs = 8  #coil span\n",
+      "\n",
+      "#Calculations\n",
+      "ns = s/P  #no. of slots/pole\n",
+      "alpha = 180/ns  #slot pitch\n",
+      "m = s/(P*ph)\n",
+      "Kd = math.sin(m*alpha/2*math.pi/180)/(m*math.sin(alpha/2*math.pi/180))\n",
+      "Ns = ns-cs\n",
+      "Kc = math.cos(alpha/2*math.pi/180)\n",
+      "\n",
+      "#Results\n",
+      "print \"Distribution factor = %.2f\"%Kd\n",
+      "print \"Pitch factor = %.4f degrees\"%Kc"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Distribution factor = 0.96\n",
+        "Pitch factor = 0.9848 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 7, Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "El = 6600    #V\n",
+      "P = 4        #number of poles\n",
+      "s = 60       #number of slots\n",
+      "ph = 3       #number of phases\n",
+      "c = 2        #number of conductors\n",
+      "sn = 13      #slot number\n",
+      "f = 50       #Hz\n",
+      "T = 20       #V\n",
+      "\n",
+      "#Calculations\n",
+      "n = s/P\n",
+      "m = n/ph\n",
+      "Zp = (s*c)/ph\n",
+      "B = 180/n     #degrees\n",
+      "Kd = math.sin(m*B/2*math.pi/180)/(m*math.sin(B/2*math.pi/180))\n",
+      "Cs = (sn-1)*180/n  #degrees\n",
+      "Kp = math.cos((180-Cs)/2*math.pi/180)\n",
+      "phi = El/(math.sqrt(3)*4.44*Kd*Kp*f*T)\n",
+      "\n",
+      "#Results\n",
+      "print \"The required flux pole is %.3f V\"%phi"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The required flux pole is 0.943 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 8, Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Varible declaration\n",
+      "Vl = 230    #V\n",
+      "Rt = 10*10**3  #VA\n",
+      "ph = 3      #no. of phases\n",
+      "Ra = 0.5    #ohms/phase\n",
+      "Xs = 1.2    #ohms/phase\n",
+      "cos_phi = 0.8  #lagging\n",
+      "sin_phi = 0.6  #leading\n",
+      "V = 132.8      #V\n",
+      "\n",
+      "#Calculations\n",
+      "I = Rt/(ph*V)  #A\n",
+      "print I\n",
+      "#Part(a)\n",
+      "Eo = math.sqrt(((V*cos_phi)+(I*Ra))**2+((V*sin_phi)+(I*Xs))**2)\n",
+      "Reg1 = (Eo-V)/V*100\n",
+      "\n",
+      "#Part(b)\n",
+      "Eo = math.sqrt((V*cos_phi+I*Ra)**2+(V*sin_phi-I*Xs)**2)\n",
+      "Reg2 = (Eo-V)/V*100\n",
+      "\n",
+      "#Results\n",
+      "print \"Part(a): Regulation = %.2f %%\"%Reg1\n",
+      "print \"Part(b): Regulation = %.2f %%\"%Reg2"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "25.1004016064\n",
+        "Part(a): Regulation = 21.81 %\n",
+        "Part(b): Regulation = -3.08 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 9, Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "El = 10000   #V\n",
+      "Kd = 0.96\n",
+      "Kp = 1.0\n",
+      "phi = 15*10**-2  #wb\n",
+      "f = 50       #Hz\n",
+      "\n",
+      "#Calculations\n",
+      "T = El/(math.sqrt(3)*4.44*Kd*Kp*phi*f)\n",
+      "Zp = 2*T\n",
+      "\n",
+      "#Result\n",
+      "print \"Number of armature conductors in series/phase = %d\"%Zp\n",
+      "#Answer differs due to rounding-off errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of armature conductors in series/phase = 361\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 10, Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "s = 90   #no. of slots\n",
+      "P = 10   #no. of poles\n",
+      "ph = 3   #no. of phases\n",
+      "E = 11000. #E.M.F(V)\n",
+      "phi = 0.16 #flux(Wb)\n",
+      "f = 50     #Hz\n",
+      "\n",
+      "#Calculations\n",
+      "nsp = s/(P*ph)  #slot/pole/phase\n",
+      "alpha = 180/(s/P) #slot angle\n",
+      "m = s/(P*ph)\n",
+      "Kd = math.sin(m*alpha/2*math.pi/180)/(m*math.sin(alpha/2*math.pi/180))\n",
+      "N = E/(math.sqrt(3)*4.44*Kd*phi*f)\n",
+      "Nc = 2*N\n",
+      "\n",
+      "#Result\n",
+      "print \"Number of conductors/phase are %d\"%Nc\n",
+      "#Incorrect answer for N in the textbook. Hence the result differs"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of conductors/phase are 372\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 11, Page 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "Vl = 400    #V\n",
+      "cos_phi = 1 #pf\n",
+      "n = 85./100 #efficiency\n",
+      "Zs = 10     #reactance(ohms)\n",
+      "\n",
+      "#Calculations\n",
+      "out = Zs*735.5  #output\n",
+      "mi = out/n      #motor input(W)\n",
+      "Il = mi/(math.sqrt(3)*Vl*cos_phi)\n",
+      "I = Il   #since current is minimum when power factor is unity\n",
+      "Er = I*Zs\n",
+      "V = Vl/math.sqrt(3)\n",
+      "E = math.sqrt(V**2+Er**2)\n",
+      "emf = math.sqrt(3)*E\n",
+      "\n",
+      "#Results\n",
+      "print \"Minimum current = %.1f A\"%I\n",
+      "print \"Line induces e.m.f. = %d V\"%emf\n",
+      "#Answers differ due to rounding-off errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum current = 12.5 A\n",
+        "Line induces e.m.f. = 454 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 12, Page 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "P = 6\n",
+      "phi = 25*10**-3   #wb\n",
+      "f = 50            #Hz\n",
+      "ph = 3            #no. of phases\n",
+      "s = 12            #no. of slots/pole\n",
+      "nc = 4            #no. of conductors/slot\n",
+      "\n",
+      "#Calculations\n",
+      "Zph = nc*s*P/ph\n",
+      "T = Zph/2\n",
+      "alpha = 180*(1-5./P)\n",
+      "Kc = math.cos(alpha/2*math.pi/180)\n",
+      "m = s/ph\n",
+      "B = 180/s\n",
+      "Kd = math.sin(m*alpha/2*math.pi/180)/(m*math.sin(alpha/2*math.pi/180))\n",
+      "Eph = 4.44*Kc*Kd*f*phi*T\n",
+      "El = math.sqrt(3)*Eph\n",
+      "\n",
+      "#Results\n",
+      "print \"Line e.m.f. = %.1f V\"%El\n",
+      "#incorrect answer for Kd in the textbook. Hence the result differs"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Line e.m.f. = 372.8 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 13, Page 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "P = 1200   #kW\n",
+      "V = 2300   #V\n",
+      "Ia = 200   #A\n",
+      "cos_phi_a = 0.9  #lagging\n",
+      "\n",
+      "#Calculations\n",
+      "Pa = V*Ia*cos_phi_a/10**3  #kW\n",
+      "phi = math.atan(cos_phi_a)\n",
+      "Pra = Pa*math.tan(phi)\n",
+      "Pr = 0    #since power factor is unity\n",
+      "Prb = Pr-Pra\n",
+      "Pb = P-Pa\n",
+      "tan_phi = Prb/Pb\n",
+      "cos_phi_b = math.cos(math.atan(tan_phi))\n",
+      "Ia = Pb*10**3/(V*cos_phi_b)\n",
+      "\n",
+      "#Results\n",
+      "print \"Power = %d kW\"%Pb\n",
+      "print \"Power factor = %.3f\"%cos_phi_b\n",
+      "print \"Current = %.1f A\"%Ia\n",
+      "#incorrect answers in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Power = 786 kW\n",
+        "Power factor = 0.904\n",
+        "Current = 378.2 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 14, Page 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "\n",
+      "#Part (a) - for lighting load\n",
+      "P1 = 600   #kW\n",
+      "cos_phi =1 #power factor\n",
+      "tan_phi = 0\n",
+      "Prl = P1*tan_phi\n",
+      "\n",
+      "#Part(b) - for inductive load\n",
+      "P2 = 800    #W\n",
+      "cos_phi = 0.9\n",
+      "tan_phi = 0.4843\n",
+      "Pri = P2*tan_phi\n",
+      "\n",
+      "#Part(c) - for capacitive power\n",
+      "P3 = 800\n",
+      "cos_phi = 0.8\n",
+      "tan_phi = 0.75\n",
+      "Prc = -P3*tan_phi\n",
+      "\n",
+      "P = P1+P2+P3\n",
+      "Pr = Prl+Pri+Prc\n",
+      "Pa = 1000    #kW\n",
+      "cos_phi_a = 0.85\n",
+      "tan_phi_a = math.tan(math.acos(cos_phi_a))\n",
+      "Pra = Pa*tan_phi_a\n",
+      "Pb = P-Pa\n",
+      "Prb = Pr-Pra\n",
+      "tan_phi_2 = Prb/Pb\n",
+      "cos_phi_b = math.cos(math.atan(tan_phi_2))\n",
+      "\n",
+      "#Results\n",
+      "print \"Active power supplied by alternator B = %d kW\"%Pb\n",
+      "print \"Power factor of alternator B = %.4f leading\"%cos_phi_b\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Active power supplied by alternator B = 1200 kW\n",
+        "Power factor of alternator B = 0.8217 leading\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 15, Page 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "E = 1000   #KVa\n",
+      "Vl = 11000  #V\n",
+      "ph = 3     #no. of phases\n",
+      "Ra = 3.5   #armature resistance(ohms)\n",
+      "Xs = 40     #armature reactance(ohms)\n",
+      "cos_phi = 0.8\n",
+      "\n",
+      "#Calculations\n",
+      "Ia = round(E*1000/(math.sqrt(3)*Vl),1)\n",
+      "V = Vl/math.sqrt(3)\n",
+      "phi = math.degrees(math.acos(cos_phi))\n",
+      "Rad = round(Ia*Ra)     #armature resistance drop/phase\n",
+      "Xad = round(Ia*Xs)     #armature reactance drop per phase\n",
+      "Er = math.sqrt(Rad**2+Xad**2) #incorrect answer in the textbook\n",
+      "theta = math.degrees(math.atan(Xs/Ra))\n",
+      "\n",
+      "#Part a - Unity p.f.\n",
+      "Eba = math.sqrt(V**2+Er**2-(2*V*Er*math.cos(theta*math.pi/180)))\n",
+      "Vla = Eba*math.sqrt(3)\n",
+      "#From triangle OAB\n",
+      "alpha_a = math.degrees(math.asin((Er*math.sin(theta*math.pi/180))/Eba))\n",
+      "\n",
+      "#Part b - At p.f. 0.8 lagging\n",
+      "BOA_b = theta-phi\n",
+      "Ebb = math.sqrt(V**2+Er**2-(2*V*Er*math.cos(BOA_b*math.pi/180)))\n",
+      "Vlb = Ebb*math.sqrt(3)\n",
+      "alpha_b = math.degrees(math.asin(Er*math.sin(BOA_b*math.pi/180)/Ebb))\n",
+      "\n",
+      "#Part c - At p.f. 0.8 leading\n",
+      "BOA_c = theta+phi\n",
+      "Ebc = math.sqrt(V**2+Er**2-(2*V*Er*math.cos(BOA_c*math.pi/180)))\n",
+      "Vlc = Ebc*math.sqrt(3)\n",
+      "alpha_c = math.degrees(math.asin(Er*math.sin(BOA_c*math.pi/180)/Ebc))\n",
+      "\n",
+      "#Results\n",
+      "print \"Induced e.m.f. and angular retardation are as below:\"\n",
+      "print \"Part a : %d V,%.2f degrees\"%(Vla,alpha_a)\n",
+      "print \"Part b : %d V,%.2f degrees\"%(Vlb,alpha_b)\n",
+      "print \"Part c : %d V,%.2f degrees\"%(Vlc,alpha_c)\n",
+      "\n",
+      "#Incorrect answers in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Induced e.m.f. and angular retardation are as below:\n",
+        "Part a : 11284 V,18.80 degrees\n",
+        "Part b : 8984 V,17.62 degrees\n",
+        "Part c : 13294 V,13.49 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 16, Page 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "Em = 6000    #V\n",
+      "Xs = 1.5     #ohms/phase\n",
+      "Il = 1000    #amps\n",
+      "sin_phi = 1  #power factor\n",
+      "\n",
+      "#Calculations\n",
+      "#Since load is inductive\n",
+      "Vt = Em-Il*Xs\n",
+      "Vl = round(math.sqrt(3)*Vt)   #since winding is connected in star\n",
+      "Pr = math.sqrt(3)*Vl*Il*sin_phi/10**6\n",
+      "\n",
+      "#Results\n",
+      "print \"Reactive power supplied to the load is %.2f MVAR\"%Pr\n",
+      "#Incorrect answer in textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Reactive power supplied to the load is 13.50 MVAR\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 17, Page 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "V = 7000   #V\n",
+      "I = 1400   #amps\n",
+      "Xs = 1.2   #ohms\n",
+      "f = 50     #Hz\n",
+      "Po = 4      #number of poles\n",
+      "cos_phi = 1 #power factor, since load is resistive\n",
+      "\n",
+      "#Calculations\n",
+      "E = math.sqrt(V**2+(I*Xs)**2)  #V\n",
+      "P = 3*V*I*cos_phi     #W\n",
+      "N = 120*f/Po          #rpm\n",
+      "w = (2*math.pi*N)/60  #rad/sec\n",
+      "T = P/(w*9.81)\n",
+      "\n",
+      "#Result\n",
+      "print \"The required torque is %.2e kg-meter\"%T"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The required torque is 1.91e+04 kg-meter\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 18, Page 122"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "Ep = 5700      #V\n",
+      "Xs = 1.5       #ohms\n",
+      "\n",
+      "#Calculations\n",
+      "#Since windings are connected in star\n",
+      "Ip = Ep/Xs   #phase current(A)\n",
+      "Il = Ip\n",
+      "\n",
+      "#Result\n",
+      "print \"The current per phase is %d Amps\"%Il"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The current per phase is 3800 Amps\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 19, Page 122"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "Vt = 15   #KV\n",
+      "Ps = 100*10**6   #power supplied by generator VA\n",
+      "cos_phi = 0.8  #power factor(lagging)\n",
+      "Xs = 0.7       #ohm per phase\n",
+      "Vl = 15        #KV\n",
+      "f = 50         #Hz\n",
+      "Po = 2          #no. of poles\n",
+      "\n",
+      "#Calculations\n",
+      "Vp = Vl/math.sqrt(3)   #KV\n",
+      "AC = Vp*cos_phi\n",
+      "sin_phi = 0.6\n",
+      "BC = Vp*sin_phi        #KV\n",
+      "Il = Ps/(math.sqrt(3)*Vl*10**3)  #amps\n",
+      "Vd = Il*Xs             #voltage drop in synchronous reactance KV\n",
+      "BL = 2.697\n",
+      "LC = BL+BC             #V\n",
+      "AL = math.sqrt(AC**2+LC**2)  #V\n",
+      "Em = AL*math.sqrt(3)          #V\n",
+      "Ns = (120*f)/Po           #rpm\n",
+      "P = Ps*cos_phi          #W\n",
+      "wT = 80*10**6\n",
+      "T = (wT*60)/(2*math.pi*Ns)\n",
+      "print \n",
+      "#Result\n",
+      "print \"Induced e.m.f. = %.2f V\"%Em\n",
+      "print \"Torque = %.2e Nw-m\"%T\n",
+      "print \"Speed = %d rpm\"%Ns\n",
+      "#Answers differ due to rounding-off errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Induced e.m.f. = 18.19 V\n",
+        "Torque = 2.55e+05 Nw-m\n",
+        "Speed = 3000 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Electrical_Machines_II/extra_chapter2.ipynb b/Electrical_Machines_II/extra_chapter2.ipynb
new file mode 100755
index 00000000..6fd7afb3
--- /dev/null
+++ b/Electrical_Machines_II/extra_chapter2.ipynb
@@ -0,0 +1,869 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:f8b31f19cbf3c6b3dce4ba746cfebc233c9801395be699bc2538e86d3ab6c5f4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2: Induction Motors(Additional problems)"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 1, Page 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "P = 8    #number of poles\n",
+      "f = 50   #Hz\n",
+      "\n",
+      "#Calculations\n",
+      "Ns = (120*f)/P\n",
+      "\n",
+      "#Result\n",
+      "print \"Synchronous speed = %d r.p.m.\"%Ns"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Synchronous speed = 750 r.p.m.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 2, Page 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "P = 2     #assumption - number of poles\n",
+      "f = 50   #Hz\n",
+      "\n",
+      "#Calculations\n",
+      "Ns = (120*f)/P\n",
+      "\n",
+      "#Result\n",
+      "print \"Maximum speed = %d r.p.m.\"%Ns"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum speed = 3000 r.p.m.\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 3, Page 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "Pa = 6     #number of poles in alternator\n",
+      "N = 1000   #rpm\n",
+      "Pi = 16    #number of poles in induction motor\n",
+      "S = 2.5    #slip\n",
+      "\n",
+      "#Calculations\n",
+      "f = (N*Pa)/120   #Hz\n",
+      "Ns = (120*f)/Pi   #rpm\n",
+      "Nr = Ns - ((S*Ns)/100)\n",
+      "\n",
+      "#Results\n",
+      "print \"The actual motor speed is %.2f r.p.m.\"%Nr"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The actual motor speed is 365.62 r.p.m.\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 4, Page 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "P = 14.    #no. of poles\n",
+      "f = 50.    #Hz\n",
+      "N = 414.   #r.p.m.\n",
+      "\n",
+      "#calculations\n",
+      "Ns = (120*f)/P   #rpm\n",
+      "S = ((Ns-N)/Ns)*100\n",
+      "fr = (S*f)/100\n",
+      "\n",
+      "#Results\n",
+      "print \"Rotor frequency = %.2f Hz\"%fr\n",
+      "print \"Slip = %.2f %%\"%S\n",
+      "#Incorrect answers in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rotor frequency = 1.70 Hz\n",
+        "Slip = 3.40 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 5, Page 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "Pi = 50         #motor input - KW\n",
+      "S = 3./100      #slip - %\n",
+      "\n",
+      "#Calculations\n",
+      "Lc = Pi*S   #rotor copper loss\n",
+      "Pm = Pi-Lc\n",
+      "\n",
+      "#Result\n",
+      "print \"Total mechanical power = %.1f kW\"%Pm"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total mechanical power = 48.5 kW\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 6, Page 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "P = 4    #no. of poles\n",
+      "m = 3\n",
+      "f = 50   #Hz\n",
+      "n = 85   #efficiency %\n",
+      "Po = 17.  #useful output power kW\n",
+      "Ls = 900 #stator losses W\n",
+      "Lwf = 1100 #windage&friction losses W\n",
+      "Lrc = 1.   #rotor copper loss kW\n",
+      "\n",
+      "#Calculations\n",
+      "Pi = Po/n*100    #input power\n",
+      "Tl = Pi-Po   #total losses kW\n",
+      "Lc = Tl - Ls - Lwf  #copper loss W\n",
+      "Pir = Pi-Ls   #input to rotor kW\n",
+      "S = Lrc/Pi\n",
+      "Ns = 120*f/P  #rpm\n",
+      "N = Ns-(S*Ns) #rpm\n",
+      "wT = 19.1*1000 #W\n",
+      "Td = (wT*60)/(math.pi*2*N)\n",
+      "Ta = (Po*1000*60)/(2*math.pi*N)\n",
+      "\n",
+      "#Results\n",
+      "print \"Slip = %.3f\"%S\n",
+      "print \"Torque developed = %.2f N-m\"%Td\n",
+      "print \"Torque available = %.1f N\"%Ta\n",
+      "#Answers vary due to rounding-off errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slip = 0.050\n",
+        "Torque developed = 127.99 N-m\n",
+        "Torque available = 113.9 N\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 7, Page 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "P = 6    #no. of poles\n",
+      "f = 60   #Hz\n",
+      "T = 70   #N-m\n",
+      "N = 1152. #rpm\n",
+      "\n",
+      "#Calculations\n",
+      "#Part a\n",
+      "Pi = (2*math.pi*1200*T)/60/1000  #input to rotor W\n",
+      "Ns = (120.*f)/P   #rpm\n",
+      "S = (Ns-N)/Ns\n",
+      "\n",
+      "#Part b\n",
+      "Lrc = S*Pi*1000  #W\n",
+      "Td = (2*math.pi*N*T)/60\n",
+      "\n",
+      "#Part c\n",
+      "Pm = Td  #W\n",
+      "\n",
+      "#Results\n",
+      "print \"Total input to the rotor = %.1f kW\"%Pi\n",
+      "print \"Rotor copper loss = %d W\"%Lrc\n",
+      "print \"Mechanical power developed = %.2f W\"%Pm\n",
+      "#answers vary due to rounding-off errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total input to the rotor = 8.8 kW\n",
+        "Rotor copper loss = 351 W\n",
+        "Mechanical power developed = 8444.60 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 8, Page 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "Vs = 100     #voltage between two slip rings V\n",
+      "R2 = 0.2     #ohms/phase\n",
+      "Xo = 1       #ohm/phase\n",
+      "S = 0.04     #slip\n",
+      "\n",
+      "#Calculations\n",
+      "Eo = Vs/math.sqrt(3)\n",
+      "I2 = (S*Eo)/math.sqrt(R2**2+(S*Xo)**2)\n",
+      "#During maximum torque,\n",
+      "Sm = R2/Xo   \n",
+      "Ir = (Sm*Eo)/math.sqrt(S**2+(S*Xo)**2)\n",
+      "\n",
+      "#Results\n",
+      "print \"Rotor current when slip is 4%% is %.1f A\"%I2\n",
+      "print \"Slip during maximum torque is %.1f\"%Sm\n",
+      "print \"Rotor current during maximum torque is %.1f A\"%Ir  #incorrect answer in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rotor current when slip is 4% is 11.3 A\n",
+        "Slip during maximum torque is 0.2\n",
+        "Rotor current during maximum torque is 204.1 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 9, Page 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "S = 1   #slip at the time of starting\n",
+      "X2 = 1  #ohms/pase\n",
+      "X1 = 0.1 #internal rotor resistance ohms/phase\n",
+      "\n",
+      "#Calculations\n",
+      "#Total resistance required for maximum torque is 1 Ohm\n",
+      "Re = X2-X1\n",
+      "\n",
+      "#Result\n",
+      "print \"External resistance needed to be added is %.1f ohms/phase\"%Re"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "External resistance needed to be added is 0.9 ohms/phase\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 10, Page 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import sympy\n",
+      "from sympy.solvers import solve\n",
+      "from sympy import Symbol\n",
+      "\n",
+      "#Variable declaration\n",
+      "T = 162.8   #maximum torque Nw-m\n",
+      "N = 1365    #speed rpm\n",
+      "f = 50      #Hz\n",
+      "P = 4       #no. of poles\n",
+      "R2 = 0.2    #ohms/phase\n",
+      "\n",
+      "#Calculations\n",
+      "Ns = 120*f/P\n",
+      "S = Ns-N/Ns  #slip at maximum torque\n",
+      "X2 = R2/S    #ohms\n",
+      "Th = T/2     #half of maximum torque\n",
+      "R2 = Symbol('R2')\n",
+      "x = solve((Th*R2**2-18.1*40*R2+400),R2)  #solving the equation\n",
+      "\n",
+      "#Results\n",
+      "print \"Required resistance = \",round(x[0],2),\"ohms\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Required resistance =  0.59 ohms\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 11, Page 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "N = 290.   #speed of motor at full load rpm\n",
+      "f = 50    #Hz\n",
+      "\n",
+      "#Calculations\n",
+      "P = 20    #since motors running at full load\n",
+      "Ns= 120*f/P\n",
+      "S1 = (Ns-N)/Ns*100\n",
+      "#since S is directly proportinal to R2,\n",
+      "#when R2 is doubled, S is also doubled\n",
+      "S = 2*S1\n",
+      "\n",
+      "#Results\n",
+      "print \"The number of poles are %d\"%P\n",
+      "print \"Slip = %.1f %%\"%S1\n",
+      "print \"Slip if the rotor resistance is doubled = %.1f %%\"%S"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of poles are 20\n",
+        "Slip = 3.3 %\n",
+        "Slip if the rotor resistance is doubled = 6.7 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 12, Page 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declarartion\n",
+      "S = 2.5/100  #slip\n",
+      "#Isc=4*If\n",
+      "\n",
+      "#Calculations\n",
+      "'''\n",
+      "Ts   Isc ^2\n",
+      "-- = ---   * slip\n",
+      "Tf    If\n",
+      "'''\n",
+      "Ts_by_Tf = 4**2*S*100\n",
+      "\n",
+      "#Result\n",
+      "print \"Starting torque is %d %% of full load torque\"%Ts_by_Tf"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Starting torque is 40 % of full load torque\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 13, Page 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "f = 50    #Hz\n",
+      "P = 6     #no. of poles\n",
+      "S = 1     #slip\n",
+      "Eo = 62.8 #phase voltage V\n",
+      "m = 3.\n",
+      "Xo = 6    #rotor reactance ohms\n",
+      "R2 = 1    #resistance ohms\n",
+      "\n",
+      "#Calculations\n",
+      "Ns = 120*f/P  #rpm\n",
+      "ws = 2*math.pi*Ns/60  #rad/sec\n",
+      "K = m/ws\n",
+      "Ts = (K*S*Eo**2*R2)/((R2**2)+(S*Xo)**2)  #at starting\n",
+      "#For maximum torque\n",
+      "R2 = 1  #ohm\n",
+      "X2 = 6  #ohms\n",
+      "S = R2/X2\n",
+      "Tmax = (K*Eo**2)/(2*X2)\n",
+      "\n",
+      "#Result\n",
+      "print \"The starting torque is %.3f N-m\"%Ts\n",
+      "print \"The maximum torque develped is %.1f N-m\"%Tmax\n",
+      "#Incorrect soltion in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The starting torque is 3.054 N-m\n",
+        "The maximum torque develped is 9.4 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 14, Page 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "Vl = 200.    #line voltage of stator V\n",
+      "t = 0.67    #turn ratio\n",
+      "Ns = 1500.   #rpm\n",
+      "R2 = 0.1    #resistance  ohms\n",
+      "S = 0.04    #slip\n",
+      "X = 0.9     #reactance ohms\n",
+      "m = 3.       #number of phases\n",
+      "\n",
+      "#Calculations\n",
+      "Vp = Vl/math.sqrt(3)  #phase voltage of stator V\n",
+      "E = Vp*t\n",
+      "ws = (2*math.pi*Ns)/60\n",
+      "K = m/ws\n",
+      "T = (K*S*E**2*R2)/(R2**2+(S*X)**2)\n",
+      "\n",
+      "#Result\n",
+      "print \"Total torque = %d N-m\"%T\n",
+      "#Incorrect answer in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total torque = 40 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 15, Page 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "P = 8         #number of pos\n",
+      "f = 50.       #Hz\n",
+      "S = 0.04      #slip\n",
+      "Po = 15*1000  #oput power W\n",
+      "R2 = 0.2      #rotor resistance Ohms\n",
+      "X = 1.5       #rotor reactance Ohms\n",
+      "N = 400       #ohms\n",
+      "\n",
+      "#Calculations\n",
+      "Ns = (120*f)/P   #rpm\n",
+      "S_dash = (Ns-N)/Ns\n",
+      "R2_dash = (R2*S_dash)/S #ohms\n",
+      "R = R2_dash-R2  #resistance to be added\n",
+      "Pi = Po/(1-S)   #W\n",
+      "Lc = S_dash*Pi  #rotor copper loss W\n",
+      "P = Pi - Lc     #ouput power W\n",
+      "\n",
+      "#Results\n",
+      "print \"The external resistance to be connected per phase is %.2f ohms\"%R\n",
+      "print \"Total rotor copper loss = %d W\"%Lc\n",
+      "print \"Ouput power of motor = %d W\"%P\n",
+      "\n",
+      "#Incorrect answers in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The external resistance to be connected per phase is 2.13 ohms\n",
+        "Total rotor copper loss = 7291 W\n",
+        "Ouput power of motor = 8333 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 16, Page 227"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "n = 0.8    #efficiency \n",
+      "O = 20*735.5 #load/output\n",
+      "\n",
+      "#Calculations\n",
+      "i = O/n  #input W\n",
+      "Tl = i - O   #total losses W\n",
+      "#since total losses is a sum of rotor copper loss+stator copper loss+iron loss+mechanical loss\n",
+      "K = (Tl*3)/10  #rotor copper loss W\n",
+      "Ri = O+(K/3)+K #input to the rotor W \n",
+      "S = K/Ri       #slip\n",
+      "\n",
+      "#Result \n",
+      "print \"Slip = %.3f\"%S"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slip = 0.068\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 17, Page 227"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "Pi = 20     #input power KW\n",
+      "N = 960.     #speed rpm\n",
+      "f = 50      #Hz\n",
+      "P = 6       #number of poles\n",
+      "R2 = 1./3   #resistance ohms\n",
+      "\n",
+      "#Calculations\n",
+      "Ns = 1000.\n",
+      "S = (Ns-N)/Ns    #slip\n",
+      "Lrc = S*Pi*1000  #rotor copper loss W\n",
+      "Lrc_ph = Lrc/3   #rotor copper loss per phase\n",
+      "I2 = math.sqrt(Lrc_ph/R2)\n",
+      "\n",
+      "#Result\n",
+      "print \"Rotor current per phase = %.1f A\"%I2"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rotor current per phase = 28.3 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 18, Page 227"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "P = 4    #number of poles \n",
+      "f = 50.   #Hz\n",
+      "N = 645.  #speed rpm\n",
+      "R2 = 0.04 #rotor resistance ohms\n",
+      "\n",
+      "#Calculations\n",
+      "Ns = (120*f)/P   #rpm\n",
+      "S = (Ns-N)/Ns     #slip\n",
+      "X2 = R2/S         #rotor reactance ohms\n",
+      "a = R2/X2\n",
+      "St_by_mt = (2*a)/(a*2+1) #starting torque/maximum torque\n",
+      "S = 0.03\n",
+      "Flt_by_mt = (2*a*S)/(a**2+S**2)  #full load torque/maximum torque\n",
+      "\n",
+      "#Results\n",
+      "print \"Maximum torque at starting is %d %%\"%(St_by_mt*100)\n",
+      "print \"Maximum torque when slip is 3%% is %d %%\"%(Flt_by_mt*100)\n",
+      "\n",
+      "#Value of Ns ic wrongly calculated in the textbook. Hence the answers vary"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum torque at starting is 53 %\n",
+        "Maximum torque when slip is 3% is 10 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Problem 20, Page 227"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "R2 = 0.5    #rotor resistance ohms\n",
+      "X2 = 5      #rotor reactance ohms\n",
+      "Tm_by_tfl = 2.5   #max torque/full load torque\n",
+      "\n",
+      "#Calculations\n",
+      "#Tfl = Tm/2.5 = KE^2/2.5*2*X2\n",
+      "#Part a\n",
+      "Tst_by_Tfl_a = (25*R2)/(R2**2+X2**2)\n",
+      "\n",
+      "#Part b\n",
+      "Tst_by_Tfl_b = (25*R2)/(3*(R2**2+X2**2))\n",
+      "\n",
+      "#Part c\n",
+      "#Rotor voltage at starting = 0.75E2\n",
+      "Tst_by_Tfl_c = (0.75**2*25*R2)/(R2**2+X2**2)\n",
+      "\n",
+      "#Results\n",
+      "print \"The ratio of starting torque to full load torque for the given cases are as below:\"\n",
+      "print \"Part a: %.2f\"%Tst_by_Tfl_a\n",
+      "print \"Part a: %.2f\"%Tst_by_Tfl_b\n",
+      "print \"Part a: %.2f\"%Tst_by_Tfl_c"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of starting torque to full load torque for the given cases are as below:\n",
+        "Part a: 0.50\n",
+        "Part a: 0.17\n",
+        "Part a: 0.28\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Electrical_Machines_II/screenshots/capacitance_3_2.png b/Electrical_Machines_II/screenshots/capacitance_3_2.png
new file mode 100755
index 00000000..4bf742ff
Binary files /dev/null and b/Electrical_Machines_II/screenshots/capacitance_3_2.png differ
diff --git a/Electrical_Machines_II/screenshots/flux_per_pole_2.png b/Electrical_Machines_II/screenshots/flux_per_pole_2.png
new file mode 100755
index 00000000..53a57349
Binary files /dev/null and b/Electrical_Machines_II/screenshots/flux_per_pole_2.png differ
diff --git a/Electrical_Machines_II/screenshots/rotor_current_2_2.png b/Electrical_Machines_II/screenshots/rotor_current_2_2.png
new file mode 100755
index 00000000..4b8c4b2b
Binary files /dev/null and b/Electrical_Machines_II/screenshots/rotor_current_2_2.png differ
diff --git a/Electronic_Devices_and_Circuits/README.txt b/Electronic_Devices_and_Circuits/README.txt
new file mode 100755
index 00000000..005586a5
--- /dev/null
+++ b/Electronic_Devices_and_Circuits/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Mayur Sabban
+Course: be
+College/Institute/Organization: Vishwakarma Institute of Technology Pune
+Department/Designation: Computer Engg
+Book Title: Electronic Devices and Circuits
+Author: David A. Bell
+Publisher: Oxford University Press(2008),
+Year of publication: 2008
+Isbn: 019569340
+Edition: 5
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter10.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter10.ipynb
new file mode 100755
index 00000000..66963b37
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter10.ipynb
@@ -0,0 +1,94 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:c81ea1dd6c9cc1e2e41ac05c3336a82a69ef851ca3e89f18fcee6fcbfb433811"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter10 - Special Oscilloscopes"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.11.1 - page10-18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# sampling rate\n",
+      "#Given data :\n",
+      "N=10.0 #number of cycles\n",
+      "f1=1*10**3 #in Hz\n",
+      "f2=100*10**3 # in Hz\n",
+      "sampling_period1=N/f1 # in seconds\n",
+      "sampling_frequency1=1/sampling_period1 # in Hz\n",
+      "print \"sampling frequency of 1 kHz signal is \", sampling_frequency1, \" samples/second\"\n",
+      "sampling_period2=N/f2 # in seconds\n",
+      "sampling_frequency2=1/sampling_period2 # in Hz\n",
+      "print \"sampling frequency of 100 kHz signal is \", sampling_frequency2,\" samples/second\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "sampling frequency of 1 kHz signal is  100.0  samples/second\n",
+        "sampling frequency of 100 kHz signal is  10000.0  samples/second\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example10.13.1 - page10-22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# sampling rate\n",
+      "#Given data :\n",
+      "N=10.0 #number of cycles\n",
+      "f=1*10**3 #in Hz\n",
+      "sampling_period=N/f # in seconds\n",
+      "sampling_rate=1/sampling_period # in Hz\n",
+      "print \"sampling rate is \",sampling_rate,\" samples/second\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "sampling rate is  100.0  samples/second\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter11.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter11.ipynb
new file mode 100755
index 00000000..d9ae373c
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter11.ipynb
@@ -0,0 +1,105 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:ce9c4ba63f9ce316e76597a7788141e75bacb70902db486d65612d29b6d08c96"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11 - Instrument Calibration"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.3.1 - page11-7"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# percentage of the reading and percentage of full scale\n",
+      "#Given data :\n",
+      "a=10 #scale reading\n",
+      "b=70 # full scale\n",
+      "error1=-(0.5/10)*100  # in %\n",
+      "print \"step 1\"\n",
+      "print \"error of reading \", error1, \" %\"\n",
+      "error2=-(0.5/100)*100 # in %\n",
+      "print \"error of full scale is \", error2, \" %\"\n",
+      "print \"step 2\"\n",
+      "error3=(2.5/70)*100 # in %\n",
+      "print \"error of reading is \", round(error3,2), \" %\"\n",
+      "error4=(2.5/100)*100 # in %\n",
+      "print \"error of full scale is\", error4, \" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "step 1\n",
+        "error of reading  -5.0  %\n",
+        "error of full scale is  -0.5  %\n",
+        "step 2\n",
+        "error of reading is  3.57  %\n",
+        "error of full scale is 2.5  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.3.2 - page11-9"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      " # wattmeter error and correction figure\n",
+      "#Given data :\n",
+      "P1=120.0 # in W\n",
+      "V=114.0 #in volts\n",
+      "I=1 #in A\n",
+      "P=V*I \n",
+      "error1=P-P1 # in W\n",
+      "print \"correction figure is \", error1, \" W\"\n",
+      "error2=(error1/P1)*100  # in %\n",
+      "print \"wattmeter error is \",error2,\" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "correction figure is  -6.0  W\n",
+        "wattmeter error is  -5.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter12.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter12.ipynb
new file mode 100755
index 00000000..20148432
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter12.ipynb
@@ -0,0 +1,56 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:35a41e7b4dbc1cdc77b9a35c5ee4f207fb6b4dc38c71b3e96011895ab456b780"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter12 - Recorders"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.5.1 - page12-7   "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chart speed\n",
+      "#Given data :\n",
+      "f=50.0  # frequency in Hz\n",
+      "period=1/f  # in seconds\n",
+      "t=5  #in mm/cycle\n",
+      "chart_speed=t/period\n",
+      "print \"chart speed = \", chart_speed,\" mm/s\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "chart speed =  250.0  mm/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter2.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter2.ipynb
new file mode 100755
index 00000000..3442a20e
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter2.ipynb
@@ -0,0 +1,1549 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:95b9e0f83468dda84f2de4d99c5a704a6fadf8064c232b063678fd245192ca75"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter2 - Measurement Errors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.1 - page : 2-8"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#precision of the 5th measurement\n",
+      "#given data :\n",
+      "X1=98.0 \n",
+      "X2=101.0\n",
+      "X3=102.0 \n",
+      "X4=97.0 \n",
+      "X5=101.0 \n",
+      "X6=100.0 \n",
+      "X7=103.0 \n",
+      "X8=98.0 \n",
+      "X9=106.0 \n",
+      "X10=99.0 \n",
+      "Xn_bar=(X1+X2+X3+X4+X5+X6+X7+X8+X9+X10)/10 \n",
+      "Xn=101 # value of 5th measurement\n",
+      "P=(1-abs((Xn-Xn_bar)/Xn_bar))*100 \n",
+      "print \"Precision of the 5th measurement, P = \", round(P,2), \" %\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Precision of the 5th measurement, P =  99.5  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.2.i - page : 2-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Absolute error\n",
+      "#given data :\n",
+      "Ae=80.0 # in V\n",
+      "Am=79.0 # in V\n",
+      "e=Ae-Am \n",
+      "print \"Absolute error, e = \", e, \" V\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Absolute error, e =  1.0  V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.2.ii - page : 2-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Error\n",
+      "#given data :\n",
+      "Ae=80.0 # in V\n",
+      "Am=79.0 # in V\n",
+      "e=Ae-Am \n",
+      "error1=(e/Ae)*100 \n",
+      "print \"Error = \", error1, \" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Error =  1.25  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.2.iii - page : 2-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Relative accuracy\n",
+      "#given data :\n",
+      "Ae=80.0 # in V\n",
+      "Am=79.0 # in V\n",
+      "e=Ae-Am \n",
+      "error1=(e/Ae)*100 \n",
+      "A=(1-abs(e/Ae)) \n",
+      "print \"Relative Accuracy, A = \", A"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Relative Accuracy, A =  0.9875\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.2.iv - page : 2-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# % accuracy\n",
+      "#given data :\n",
+      "Ae=80.0 # in V\n",
+      "Am=79.0 # in V\n",
+      "e=Ae-Am \n",
+      "error1=(e/Ae)*100 \n",
+      "A=(1-abs(e/Ae)) \n",
+      "accuracy=A*100 \n",
+      "print \"Accuracy = \", accuracy, \" %\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Accuracy =  98.75  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.2.v - page : 2-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# % error\n",
+      "#given data :\n",
+      "Ae=80.0 # in V\n",
+      "Am=79.0 # in V\n",
+      "e=Ae-Am \n",
+      "f=100.0 #full scale deflection\n",
+      "error1=(e/Ae)*100 \n",
+      "A=(1-abs(e/Ae)) \n",
+      "accuracy=A*100 \n",
+      "P_error=(e/f)*100 \n",
+      "print \"% error = \", P_error, \" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "% error =  1.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.3 - page : 2-11"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Maximum error\n",
+      "#given data :\n",
+      "V1=100.0 # in V\n",
+      "V2=200.0 #in V\n",
+      "V=V2-V1 \n",
+      "A=0.25 #may be \u00b1 in %\n",
+      "max_error=(A/100)*V \n",
+      "print \"Maximum error = \u00b1 \", max_error, \" V\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum error = \u00b1  0.25  V\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.4 - page : 2-12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# sensitivity and deflection error\n",
+      "#given data :\n",
+      "C=4.0 # change in output in mm\n",
+      "M=8.0 # magnitude of input in ohm\n",
+      "S=C/M \n",
+      "print \"sensitivity, S = \", S, \" mm/ohm\"\n",
+      "D=M/C \n",
+      "print \"Deflection factor, D = \", D, \" ohm/mm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "sensitivity, S =  0.5  mm/ohm\n",
+        "Deflection factor, D =  2.0  ohm/mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.5 - page : 2-14"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resolution\n",
+      "#given data :\n",
+      "V=200.0 # full scale reading in V\n",
+      "N=100.0 # number of divisions \n",
+      "Scale_div=V/N \n",
+      "R=(1.0/10)*Scale_div \n",
+      "print \"Resolution, R = \", R, \" V\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resolution, R =  0.2  V\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.6 - page : 2-14"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resolution\n",
+      "#given data :\n",
+      "V=9.999 # full scale read out in volt\n",
+      "c=9999.0 # range from 0 to 9999\n",
+      "R=(1/c)*V*10**3 \n",
+      "print \"Resolution, R = \", R, \" mV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resolution, R =  1.0  mV\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.1 - page : 2-23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Magnitude and relative error\n",
+      "#given data :\n",
+      "R1=15.0 #ohm\n",
+      "E1=R1*5.0/100 # \u00b1 limiting error for R1\n",
+      "R2=33.0 #ohm\n",
+      "E2=R2*2.0/100 # \u00b1 limiting error for R2\n",
+      "R3=75.0 #ohm\n",
+      "E3=R3*5.0/100 # \u00b1 limiting error for R3\n",
+      "RT=R1+R2+R3 # ohm(in series)\n",
+      "ET=E1+E2+E3 #\u00b1limiting error for RT\n",
+      "print \"For series connection, magnitude is \", RT, \" ohm & limiting error is \u00b1 \", ET, \" ohm.\" \n",
+      "Epr=ET/RT*100 #%\n",
+      "print \"Percent relative error : \u00b1\", round(Epr,1),\" %\" \n",
+      "\n",
+      "# Answer is not accurate in the textbook."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For series connection, magnitude is  123.0  ohm & limiting error is \u00b1  5.16  ohm.\n",
+        "Percent relative error : \u00b1 4.2  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.2 - page : 2-23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Magnitude and relative error\n",
+      "#given data :\n",
+      "R1=36.0 #ohm\n",
+      "E1=5.0 # \u00b1 limiting error for R1\n",
+      "R2=75.0 #ohm\n",
+      "E2=5.0 # \u00b1 limiting error for R2\n",
+      "RT=(R1*R2)/(R1+R2) #ohm(in parallel)\n",
+      "EP1=E1+E2 # \u00b1 limiting error\n",
+      "EP2=((R1*E1)/(R1+R2))+((R2*E2)/(R1+R2)) \n",
+      "ET=EP1+EP2 \n",
+      "etm=(ET/100)*RT \n",
+      "print \"Magnitude of limiting error is \u00b1\", round(etm,2), \" ohm\"\n",
+      "print \"Percentage relative error is \u00b1\", ET, \" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnitude of limiting error is \u00b1 3.65  ohm\n",
+        "Percentage relative error is \u00b1 15.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.3  page : 2-24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Limiting error\n",
+      "vr=40.0 #reading of voltmeter in volts\n",
+      "v=50.0 #rane in volts\n",
+      "va=50.0 #ammeeter reading in mA\n",
+      "i=125.0 #range in mA\n",
+      "fsd=2.0 #accurace in percentage in \u00b1\n",
+      "dv=(2.0/100)*v #limiting error of voltmeter\n",
+      "da=(2./100)*i #liming error of the ammeter in mA\n",
+      "erv=dv/vr #relative limiting error in voltmeter reading\n",
+      "eri=da/i #relative limiting error in ammeter reading\n",
+      "et=erv+eri \n",
+      "pet=et*100 #percentage limiting error of the power calcultaed\n",
+      "print \"Percentage limiting error of the power calcultaed is \u00b1 \",pet,\" %\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Percentage limiting error of the power calcultaed is \u00b1  4.5  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.4 - page : 2-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# limiting error\n",
+      "r1=120.0 # ohm\n",
+      "er1=0.5 #limiting error in resistance 1 in ohm \u00b1\n",
+      "r2=2 #in A\n",
+      "er2=0.02 #limiting error in amperes \u00b1\n",
+      "e1=er2/r2 #limiting error in current\n",
+      "e2=er1/r1 #limiting eror in resistance\n",
+      "et=(2*e1+e2) #total error\n",
+      "etp=et*100 #percentage limtimg error\n",
+      "print \"Percentage limiting error in the value of power dissipation is \u00b1\",round(etp,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Percentage limiting error in the value of power dissipation is \u00b1 2.417\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.5 - page : 2-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#magnitude and limiting error\n",
+      "r1=120 #in ohm\n",
+      "er1=0.1 #limiting error in resistance 1 in ohm \u00b1\n",
+      "r2=2700 #in ohm\n",
+      "er2=0.5 #limiting error in resistance 2 in ohm \u00b1\n",
+      "r3=470 #in ohm\n",
+      "er3=0.5 #limiting error in resistance 3 in ohm \u00b1\n",
+      "rxm=(r2*r3)/r1 #magnitude of unknown resistance in ohm\n",
+      "rxe=(er1+er2+er3) #error\n",
+      "er=(rxe*rxm)/100 #relative error \u00b1\n",
+      "print \"Magnitude of unknown resistance is \",rxm,\" kohm\"\n",
+      "print \"Relative limiting error is \u00b1\",er,\" ohm\"\n",
+      "print \"Guranteed value of resistance is between \",rxm-er, \" ohm to \" ,rxm+er,\" ohm\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnitude of unknown resistance is  10575  kohm\n",
+        "Relative limiting error is \u00b1 116.325  ohm\n",
+        "Guranteed value of resistance is between  10458.675  ohm to  10691.325  ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.6 - page : 2-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# absolute error, % error, relative error, % accuracy and % error of full scale reading\n",
+      "#given data :\n",
+      "Ae=80.0 # in volt\n",
+      "Am=79 # in volt\n",
+      "fsd=100 #full scale reading in volt\n",
+      "e=Ae-Am \n",
+      "print \"Absolute error, e = \",e,\" V\"\n",
+      "error1=(e/Ae)*100 \n",
+      "print \"Error = \",error1,\" %\"\n",
+      "A=1-abs(e/Ae) \n",
+      "print \"Relative accuracy, A = \",A,\" %\"\n",
+      "p_accuracy=A*100 \n",
+      "print \"% accuracy = \",p_accuracy,\" %\"\n",
+      "error2=(e/fsd)*100 \n",
+      "print \"% error expressed as percentage of full scale reading = \",error2,\" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Absolute error, e =  1.0  V\n",
+        "Error =  1.25  %\n",
+        "Relative accuracy, A =  0.9875  %\n",
+        "% accuracy =  98.75  %\n",
+        "% error expressed as percentage of full scale reading =  1.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.7 - page : 2-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# limiting error\n",
+      "#given data :\n",
+      "fsd=100.0 # in V\n",
+      "A=1.0 # (+ve or -ve) in %\n",
+      "del_A=(A/100)*fsd \n",
+      "As=15.0 #in V\n",
+      "e1=del_A/As \n",
+      "e=e1*100 \n",
+      "print \"Limiting error, e = \",round(e,4),\" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Limiting error, e =  6.6667  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.8 - page : 2-27 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# limiting value of current and % limiting error\n",
+      "#given data :\n",
+      "As=2.5 # in A\n",
+      "fsd=10 #full scale reading in A\n",
+      "A=1.5/100 \n",
+      "del_A=A*fsd \n",
+      "At1=As+del_A \n",
+      "At2=As-del_A \n",
+      "print \"Limiting value of current, At1 = \",At1,\" A\"\n",
+      "print \"Limiting value of current, At2 = \",At2,\" A\"\n",
+      "e=(del_A/As)*100 \n",
+      "print \"Percentage limiting error, e = \",e,\" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Limiting value of current, At1 =  2.65  A\n",
+        "Limiting value of current, At2 =  2.35  A\n",
+        "Percentage limiting error, e =  6.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.1.i - page : 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN\n",
+      "import numpy\n",
+      "q=[49.7,50.1,50.2,49.6,49.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "print \"Arithematic mean is \",AM\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  49.86\n"
+       ]
+      }
+     ],
+     "prompt_number": 57
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.1.ii - page : 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#deviation\n",
+      "import numpy\n",
+      "q=[49.7,50.1,50.2,49.6,49.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "print \"Deviations of each value are : \"\n",
+      "for dev in d:\n",
+      "    print dev\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Deviations of each value are : \n",
+        "-0.16\n",
+        "0.24\n",
+        "0.34\n",
+        "-0.26\n",
+        "-0.16\n"
+       ]
+      }
+     ],
+     "prompt_number": 58
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.1.iii - page : 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#algebric sum of deviation\n",
+      "import numpy\n",
+      "q=[49.7,50.1,50.2,49.6,49.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "dtotal=sum(d)\n",
+      "print \"Algebric sum of deviation is\", round(dtotal,4)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Algebric sum of deviation is 0.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 59
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.1.iv - page : 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#standard deviation\n",
+      "import numpy\n",
+      "q=[49.7,50.1,50.2,49.6,49.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "n=5 # no. of measurements\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)\n",
+      "print \"Standard Deviation is \",round(sigma,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Standard Deviation is  0.27\n"
+       ]
+      }
+     ],
+     "prompt_number": 60
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.2.i - page : 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN\n",
+      "import numpy\n",
+      "q=[101.2,101.4,101.7,101.3,101.3,101.2,101.0,101.3,101.5,101.1] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "print \"Arithematic mean is \",AM,\" V\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  101.3  V\n"
+       ]
+      }
+     ],
+     "prompt_number": 61
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.2.ii - page : 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Deviation from mean\n",
+      "import numpy\n",
+      "q=[101.2,101.4,101.7,101.3,101.3,101.2,101.0,101.3,101.5,101.1] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "print \"Deviations of each value are : \"\n",
+      "for dev in d:\n",
+      "    print dev\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Deviations of each value are : \n",
+        "-0.1\n",
+        "0.1\n",
+        "0.4\n",
+        "0.0\n",
+        "0.0\n",
+        "-0.1\n",
+        "-0.3\n",
+        "0.0\n",
+        "0.2\n",
+        "-0.2\n"
+       ]
+      }
+     ],
+     "prompt_number": 62
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.2.iii - page : 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#standard deviation\n",
+      "import numpy\n",
+      "q=[101.2,101.4,101.7,101.3,101.3,101.2,101.0,101.3,101.5,101.1] \n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "n=10 # no. of measurements\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)\n",
+      "print \"Standard Deviation is \",round(sigma,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Standard Deviation is  0.2\n"
+       ]
+      }
+     ],
+     "prompt_number": 63
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.2.iv - page : 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#probable error\n",
+      "import numpy\n",
+      "q=[101.2,101.4,101.7,101.3,101.3,101.2,101.0,101.3,101.5,101.1] \n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "n=10 # no. of measurements\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)\n",
+      "pe1=0.6745*sigma   # Probable error of one reading\n",
+      "print \"Probable error of one reading is \",pe1,\" V\"\n",
+      "pm=pe1/(n-1)**(1.0/2)\n",
+      "print \"Probable error of mean is \",round(pm,5)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probable error of one reading is  0.1349  V\n",
+        "Probable error of mean is  0.04497\n"
+       ]
+      }
+     ],
+     "prompt_number": 64
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.3.i - page : 2-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Arithmetic mean\n",
+      "#given data :\n",
+      "X1=147.2 # in nF\n",
+      "X2=147.4 # in nF\n",
+      "X3=147.9 # in nF\n",
+      "X4=148.1 # in nF\n",
+      "X5=148.1 # in nF\n",
+      "X6=147.5 # in nF\n",
+      "X7=147.6 # in nF\n",
+      "X8=147.4 # in nF\n",
+      "X9=147.6 # in nF\n",
+      "X10=147.5 # in nF\n",
+      "AM=(X1+X2+X3+X4+X5+X6+X7+X8+X9+X10)/10 \n",
+      "print \"Arithmetic mean, AM = \",AM,\" nF\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithmetic mean, AM =  147.63  nF\n"
+       ]
+      }
+     ],
+     "prompt_number": 77
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.3.ii - page : 2-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average deviation\n",
+      "#given data :\n",
+      "n=10 \n",
+      "X1=147.2 # in nF\n",
+      "X2=147.4 # in nF\n",
+      "X3=147.9 # in nF\n",
+      "X4=148.1 # in nF\n",
+      "X5=148.1 # in nF\n",
+      "X6=147.5 # in nF\n",
+      "X7=147.6 # in nF\n",
+      "X8=147.4 # in nF\n",
+      "X9=147.6 # in nF\n",
+      "X10=147.5 # in nF\n",
+      "AM=(X1+X2+X3+X4+X5+X6+X7+X8+X9+X10)/n \n",
+      "d1=X1-AM \n",
+      "d2=X2-AM \n",
+      "d3=X3-AM \n",
+      "d4=X4-AM \n",
+      "d5=X5-AM \n",
+      "d6=X6-AM \n",
+      "d7=X7-AM \n",
+      "d8=X8-AM \n",
+      "d9=X9-AM \n",
+      "d10=X10-AM \n",
+      "Average_deviation=(abs(d1)+abs(d2)+abs(d3)+abs(d4)+abs(d5)+abs(d5)+abs(d6)+abs(d7)+abs(d8)+abs(d9)+abs(d10))/n \n",
+      "print \"Average deviation = \",Average_deviation,\" nF\"\n",
+      "# answer is wrong in book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average deviation =  0.289  nF\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.3.iii - page : 2-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Standard deviation\n",
+      "#given data :\n",
+      "n=10 \n",
+      "X1=147.2 # in nF\n",
+      "X2=147.4 # in nF\n",
+      "X3=147.9 # in nF\n",
+      "X4=148.1 # in nF\n",
+      "X5=148.1 # in nF\n",
+      "X6=147.5 # in nF\n",
+      "X7=147.6 # in nF\n",
+      "X8=147.4 # in nF\n",
+      "X9=147.6 # in nF\n",
+      "X10=147.5 # in nF\n",
+      "AM=(X1+X2+X3+X4+X5+X6+X7+X8+X9+X10)/n \n",
+      "d1=X1-AM \n",
+      "d2=X2-AM \n",
+      "d3=X3-AM \n",
+      "d4=X4-AM \n",
+      "d5=X5-AM \n",
+      "d6=X6-AM \n",
+      "d7=X7-AM \n",
+      "d8=X8-AM \n",
+      "d9=X9-AM \n",
+      "d10=X10-AM \n",
+      "sigma=((d1**2+d2**2+d3**2+d4**2+d5**2+d6**2+d7**2+d8**2+d9**2+d10**2)/(n-1))**(1.0/2) \n",
+      "print \"Standard deviation = \",round(sigma,4),\" nF\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Standard deviation =  0.3057  nF\n"
+       ]
+      }
+     ],
+     "prompt_number": 82
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.3.iv - page : 2-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#: Probable error\n",
+      "#given data :\n",
+      "n=10 \n",
+      "X1=147.2 # in nF\n",
+      "X2=147.4 # in nF\n",
+      "X3=147.9 # in nF\n",
+      "X4=148.1 # in nF\n",
+      "X5=148.1 # in nF\n",
+      "X6=147.5 # in nF\n",
+      "X7=147.6 # in nF\n",
+      "X8=147.4 # in nF\n",
+      "X9=147.6 # in nF\n",
+      "X10=147.5 # in nF\n",
+      "AM=(X1+X2+X3+X4+X5+X6+X7+X8+X9+X10)/n \n",
+      "d1=X1-AM \n",
+      "d2=X2-AM \n",
+      "d3=X3-AM \n",
+      "d4=X4-AM \n",
+      "d5=X5-AM \n",
+      "d6=X6-AM \n",
+      "d7=X7-AM \n",
+      "d8=X8-AM \n",
+      "d9=X9-AM \n",
+      "d10=X10-AM \n",
+      "sigma=((d1**2+d2**2+d3**2+d4**2+d5**2+d6**2+d7**2+d8**2+d9**2+d10**2)/(n-1))**(1.0/2)\n",
+      "Pe1=0.6745*sigma # probable error of one reading\n",
+      "probable_error=Pe1/(n-1)**(1.0/2)\n",
+      "print \"Probable error of one reading = \",round(Pe1,4),\" nF\"\n",
+      "print \"Probable error of mean = \",round(probable_error,4),\" nF\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probable error of one reading =  0.2062  nF\n",
+        "Probable error of mean =  0.0687  nF\n"
+       ]
+      }
+     ],
+     "prompt_number": 86
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.4.i - page : 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN\n",
+      "import numpy\n",
+      "q=[10.3,10.7,10.9,9.7,9.5,9.2,10.3,11.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "print \"Arithematic mean is \",AM,\"  kg/cm2\"\n",
+      "#answer is wrong in textbook\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  10.2875   kg/cm2\n"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.4.ii - page : 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#average deviation\n",
+      "import numpy\n",
+      "n=8  # NO. OF MEASUREMENTS\n",
+      "q=[10.3,10.7,10.9,9.7,9.5,9.2,10.3,11.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM  # deviation\n",
+      "davg=sum(abs(d))/n  # average deviation\n",
+      "print \"Average deviation = \",round(davg,4),\" kg/cm2\"\n",
+      "#answer is wrong in textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average deviation =  0.6156  kg/cm2\n"
+       ]
+      }
+     ],
+     "prompt_number": 66
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.4.iii - page : 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#standard deviation\n",
+      "import numpy\n",
+      "q=[10.3,10.7,10.9,9.7,9.5,9.2,10.3,11.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "n=8  # no. of measurements\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)\n",
+      "print \"Standard Deviation is \",round(sigma,4),\" kg/cm2\"\n",
+      "#answer is wrong in textbook\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Standard Deviation is  0.8184  kg/cm2\n"
+       ]
+      }
+     ],
+     "prompt_number": 95
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.4.iv - page : 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#probable error\n",
+      "n=8  # no. of measurements\n",
+      "q=[10.3,10.7,10.9,9.7,9.5,9.2,10.3,11.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "n=10 # no. of measurements\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)\n",
+      "pe1=0.6745*sigma   # Probable error of one reading\n",
+      "print \"Probable error of one reading is \",round(pe1,4),\" kg/cm2\"\n",
+      "pm=pe1/(n-1)**(1.0/2)\n",
+      "print \"Probable error of mean is \",round(pm,4),\" kg/cm2\"\n",
+      "#answer is wrong in textbook\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probable error of one reading is  0.4868  kg/cm2\n",
+        "Probable error of mean is  0.1623  kg/cm2\n"
+       ]
+      }
+     ],
+     "prompt_number": 67
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8.1 - page : 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN ,median value ,standard deviation and variance\n",
+      "q=[25.5,30.3,31.1,29.6,32.4,39.4,28.9,30.0,33.3,31.4,29.5,30.5,31.7,33.0,29.2] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "n=len(q) # no. of measurements\n",
+      "Q=q-AM\n",
+      "mv=sorted(q)[n/2] # get the median value from sorted q\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)  #standard deviation\n",
+      "V=sigma**2 #variance\n",
+      "print \"Arithematic mean is \",round(AM,4),\" V\"\n",
+      "print \"Median value is\",round(mv,1)\n",
+      "\n",
+      "print \"Standard Deviation is \",round(sigma,2)\n",
+      "\n",
+      "print \"Variance is \",round(V,0)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  31.0533  V\n",
+        "Median value is 30.5\n",
+        "Standard Deviation is  3.0\n",
+        "Variance is  9.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 116
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8.2 - page : 2-37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN\n",
+      "#from __future__ import division\n",
+      "v=[10,11,12,13,14] #\n",
+      "f=[03,12,18,12,03] #\n",
+      "xn=[a*b for a,b in zip(v,f)]\n",
+      "am=sum(xn)/sum(f)   # arithmetic mean\n",
+      "print \"Arithematic mean is \",am,\" V\"\n",
+      "dn=[x-am for x in v]  # deviation\n",
+      "n_dn=[a*b for a,b in zip(f,dn)]\n",
+      "dn2=[a*b for a,b in zip(dn,dn)]\n",
+      "n_dn2=[a*b for a,b in zip(f,dn2)]\n",
+      "absn_dn=[abs(a) for a in n_dn]\n",
+      "mean_dev=sum(absn_dn)/sum(f)\n",
+      "print \"Mean deviation = \",mean_dev\n",
+      "sigma=(sum(n_dn2)/sum(f))**(1.0/2)\n",
+      "print \"Standard deviation is \", sigma\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  12.0  V\n",
+        "Mean deviation =  0.75\n",
+        "Standard deviation is  1.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 46
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8.3 - page : 2-37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN ,median value ,standard deviation \n",
+      "import numpy\n",
+      "q=[29.2,29.5,29.6,30.0,30.5,31.4,31.7,32.4,33.0,33.3,39.4,28.9] #\n",
+      "AM= numpy.mean(q)#arithematic mean in mm\n",
+      "print \"Arithematic mean is \",round(AM,2)\n",
+      "mv=sorted(q)[int(len(q)/2-1)]\n",
+      "print \"Median value = \",mv\n",
+      "d=[x-AM for x in q]\n",
+      "d2=[x**2 for x in d]\n",
+      "sigma=(sum(d2)/(len(q)-1))**(1.0/2)\n",
+      "print \"Standard Deviation = \",round(sigma,3)\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  31.57\n",
+        "Median value =  30.5\n",
+        "Standard Deviation =  2.886\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8.4 - page:2-39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Unknown resistor \n",
+      "#given data :\n",
+      "S=1000.0    # ohm/V\n",
+      "V=100.0 #in V\n",
+      "I=5*10**-3 # in A\n",
+      "# part (i)\n",
+      "R_app=(V/I)*10**-3 \n",
+      "print \"(i) Apparent Resistor, R_app = \",R_app, \" kohm\"\n",
+      "# part (ii)\n",
+      "V1=150 #in V\n",
+      "Rv=S*V1*10**-3 \n",
+      "Rx=Rv/6.5 #actual resistance in kohm\n",
+      "print \"(ii) Actual resistance is \",round(Rx,2),\" kohm.\"\n",
+      "# part(iii)\n",
+      "per=(Rx-R_app)/Rx*100 # in %\n",
+      "print \"(iii) Percentage error due to loading effect of voltmeter is \",round(per,1), \" %\" \n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Apparent Resistor, R_app =  20.0  kohm\n",
+        "(ii) Actual resistance is  23.08  kohm.\n",
+        "(iii) Percentage error due to loading effect of voltmeter is  13.3  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 103
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8.5 - page : 2-40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# limiting error\n",
+      "#given data :\n",
+      "del_A=2.5 # may be +ve or-ve in %\n",
+      "As=400.0 \n",
+      "FSD=600.0 # in V\n",
+      "del_A1=(del_A/100)*FSD \n",
+      "e=(del_A1/As)*100 # in %\n",
+      "print \"Limiting error, e = \",e, \" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Limiting error, e =  3.75  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 104
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter3.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter3.ipynb
new file mode 100755
index 00000000..987db16f
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter3.ipynb
@@ -0,0 +1,734 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:212ce889d9f64f00c714723a9e3110b735cade9ea1d505fecd98a7e24257c63b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter3 - Electromechanical Instruments"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.2.1 - page : 3-5"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Torque\n",
+      "#given data :\n",
+      "N=10  # turns\n",
+      "L=1.5*10**-2    # in m\n",
+      "I=1    # in mA\n",
+      "I*=10**-3  #A\n",
+      "B=0.5 #  T\n",
+      "d=1*10**-2    # in m\n",
+      "Td=B*I*L*d*N  # Nm\n",
+      "print \"Torque, Td = \", Td,\"Nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Torque, Td =  7.5e-07 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.2. - page : 3-5"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# number of turns\n",
+      "#given data :\n",
+      "import math\n",
+      "theta=math.pi/2\n",
+      "I=5*10**-3    # in A\n",
+      "B=1.8*10**-3    # in Wb/m2\n",
+      "C=0.14*10**-6    # in Nm/rad\n",
+      "L=15*10**-3    # in m\n",
+      "d=12*10**-3    # in m\n",
+      "N=(C*theta)/(B*I*L*d)\n",
+      "print \"Number of turns, N = \", round(N),\"turns\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of turns, N =  136.0 turns\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.2.3 - page : 3-6"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# resistance\n",
+      "#given data :\n",
+      "Tc=240*10**-6    #in Nm\n",
+      "N=100  # Turns\n",
+      "L=40*10**-3  # in m\n",
+      "d=30*10**-3  # in m\n",
+      "B=1    #in Wb/m2\n",
+      "TdBYI=N*B*L*d\n",
+      "I=Tc/TdBYI\n",
+      "#voltage per division=I*(R/100)\n",
+      "R=100/I  # ohm\n",
+      "R*=10**-3  # kohm\n",
+      "print \"Resistance, R = \", R,\"kohm\"\n",
+      "#UNIT IS GIVEN WRONG FOR THE ANSWER IN THE BOOK."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resistance, R =  50.0 kohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.2.4 - page : 3-7"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# flux density and diameter\n",
+      "import math\n",
+      "#given data :\n",
+      "p=1.7*10**-8    #in ohm-m\n",
+      "V=100*10**-3    #in V\n",
+      "R=50    # in ohm\n",
+      "theta=120    #in degree\n",
+      "L=30    # in mm\n",
+      "d=25    # in mm\n",
+      "N=100\n",
+      "C=0.375*10**-6    # in Nm/degree\n",
+      "I=V/R  # A\n",
+      "Td_By_B=I*L*10**-3*d*10**-3*N\n",
+      "Tc=C*theta  # N-m\n",
+      "B=Tc/Td_By_B # in Wb/m2\n",
+      "print \"The flux density, B = \", B,\"Wb/m2\"\n",
+      "Rc=0.3*R\n",
+      "Lmt=2*(L+d)\n",
+      "a=(N*p*Lmt*10**-3*10**6)/Rc\n",
+      "D=(4/(math.pi*a))**(1.0/2)\n",
+      "print \"Diameter, D = \", round(D,1),\"m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The flux density, B =  0.3 Wb/m2\n",
+        "Diameter, D =  10.1 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.4.1 - page : 3-11"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# shunt resistor\n",
+      "#given data :\n",
+      "Im=3*10**-3    # in A\n",
+      "Rm=100    # in ohm\n",
+      "I=150*10**-3    #in A\n",
+      "Rsh=(Im*Rm)/(I-Im)\n",
+      "print \"Shunt resistor, Rsh = \", round(Rsh,2),\"ohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Shunt resistor, Rsh =  2.04 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.4.2 - page : 3-11"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# shunt resistormultiplying factor and resistance\n",
+      "#given data :\n",
+      "Rsh=300    #in ohm\n",
+      "Rm=1500    #in ohm\n",
+      "m=1+(Rm/Rsh)\n",
+      "print \"Multiplying factor, m = \",m\n",
+      "m1=40.0\n",
+      "Rsh1=Rm/(m1-1)\n",
+      "print \"The shunt resistor, Rsh1 = \", round(Rsh1,2),\"ohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Multiplying factor, m =  6\n",
+        "The shunt resistor, Rsh1 =  38.46 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.5.1 - page : 3-13"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given data :\n",
+      "Rm=100.0    # in ohm\n",
+      "Im=1.0\n",
+      "#for range 0-20 mA\n",
+      "I1=20.0\n",
+      "m=I1/Im\n",
+      "Rsh1=Rm/(m-1)\n",
+      "print \"The shunt resistor, Rsh1 = \", round(Rsh1,2),\"ohm\"\n",
+      "#for the range of 0-100 mA\n",
+      "I2=100.0\n",
+      "m=I2/Im\n",
+      "Rsh2=Rm/(m-1)\n",
+      "print \"The shunt resistor, Rsh2 = \", round(Rsh2,2),\"ohm\"\n",
+      "#for the range 0-200 mA\n",
+      "I3=200.0\n",
+      "m=I3/Im\n",
+      "Rsh3=Rm/(m-1)\n",
+      "print \"The shunt resistor, Rsh3 = \", round(Rsh3,2),\"ohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The shunt resistor, Rsh1 =  5.26 ohm\n",
+        "The shunt resistor, Rsh2 =  1.01 ohm\n",
+        "The shunt resistor, Rsh3 =  0.5 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.6.1 - page : 3-15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import numpy\n",
+      "from numpy.linalg import inv\n",
+      "#design\n",
+      "Rm=50.0 #in ohm\n",
+      "Im=2.0 #in mA\n",
+      "Im*=10**-3  # A\n",
+      "I1=2.0 #in A\n",
+      "I2=10.0 #in A\n",
+      "I3=15.0 #in A\n",
+      "#Let Rs=R1+R2+R3\n",
+      "A=numpy.array([[I1,I1,I1],[-Im,I2,I2],[Im,Im,-I3]])\n",
+      "B=numpy.array([[Im*Rm],[Im*Rm],[-Im*Rm]])\n",
+      "Ainv=inv(A)\n",
+      "X=numpy.dot(Ainv,B)\n",
+      "R1=X[0]\n",
+      "R2=X[1]\n",
+      "R3=X[2]\n",
+      "print \"Value of shunt resistors are : \"\n",
+      "print \"R1 is %f ohm, R2 is %.1e ohm & R3 is %.2e ohm\" %(round(R1,5), R2, R3)\n",
+      "# Answer is wrong in the textbook."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Value of shunt resistors are : \n",
+        "R1 is 0.039990 ohm, R2 is 3.3e-03 ohm & R3 is 6.67e-03 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.9.1 - page : 3-19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Multiplier\n",
+      "#Given data :\n",
+      "Vin=20.0 #in volts\n",
+      "I_fsd=50.0*10 **-6 # in Farad\n",
+      "Rm=200.0 # in ohm\n",
+      "Rs=(Vin/I_fsd)-Rm  # in ohm\n",
+      "Rs=Rs/10**3   # kohm\n",
+      "print \"The multiplier, Rs = \", Rs, \" kohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The multiplier, Rs =  399.8  kohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.9.2 - page : 3-19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Full scale deflection current\n",
+      "#given data :\n",
+      "Vin=10.0 # in V\n",
+      "Rs=200.0 #in kohm\n",
+      "Rm=400.0 # in ohm\n",
+      "I_fsd=Vin/((Rs*10 **3)+Rm) # A\n",
+      "I_fsd*=10**6  # micro A\n",
+      "print \"Full scale deflection current, I_fsd  = \", round(I_fsd,1), \" micro A\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Full scale deflection current, I_fsd  =  49.9  micro A\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.10.1 - page : 3-22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Multiplier\n",
+      "#given data :\n",
+      "V1=200.0 #in V\n",
+      "V2=100.0 #in V\n",
+      "V3=10.0 # in V\n",
+      "Rm=100.0 #in ohm\n",
+      "I_fsd=50*10 **-3 \n",
+      "#for the range 0-10V   \n",
+      "Rt3=V3/I_fsd \n",
+      "Rs3=Rt3-Rm # ohm\n",
+      "print \"The multiplier, Rs3 = \", Rs3, \" ohm.\"\n",
+      "#for the range 0-100V\n",
+      "Rt2=V2/I_fsd \n",
+      "Rs2=Rt2-(Rm+Rs3)  # ohm \n",
+      "print \"The multiplier, Rs2 = \", Rs2, \" ohm.\"\n",
+      "Rt1=V1/I_fsd \n",
+      "Rs1=Rt1-(Rm+Rs3+Rs2) \n",
+      "print \"The multiplier, Rs1 = \", Rs1, \" ohm.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The multiplier, Rs3 =  100.0  ohm.\n",
+        "The multiplier, Rs2 =  1800.0  ohm.\n",
+        "The multiplier, Rs1 =  2000.0  ohm.\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.11.1 - page : 3-23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Multiplier\n",
+      "#given data :\n",
+      "Rm=200.0 #in ohm\n",
+      "I_fsd=150.0*10 **-6 # in A\n",
+      "S=1/I_fsd \n",
+      "V=50 #in V\n",
+      "Rs=(S*V)-Rm   # ohm \n",
+      "Rs*=10**-3   # kohm\n",
+      "print \"Multiplier, Rs = \", round(Rs,2), \" kohm.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Multiplier, Rs =  333.13  kohm.\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.11.2 - page : 3-24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Accurate voltmeter reading\n",
+      "r1=50.0 # in kohms\n",
+      "r2=50.0 #in kohms\n",
+      "v=100.0 #in V\n",
+      "vr2=(r1/(r1+r2))*v # voltage in V\n",
+      "#case 1\n",
+      "s1=12000.0 #sensivity in ohm/V\n",
+      "rm1=r1*s1*10**-3 # in kohm\n",
+      "req=((rm1*r1)/(rm1+r1)) #equivalent resistance in ohm\n",
+      "v1=((req/(r1+req)))*v # voltmeter reading when sensivity is 12000 ohm/V\n",
+      "#case 2\n",
+      "s2=15000 #sensivity in ohm/V V\n",
+      "rm2=r1*s2*10**-3 # in kohm\n",
+      "req1=((rm2*r1)/(rm2+r1)) #equivalent resistance in ohm\n",
+      "v2=((req1/(r1+req1)))*v # voltmeter reading when sensivity is 15000 ohm/V\n",
+      "print \"Voltmeter reading when sensivity is 12000 ohm/V is \", round(v1,2), \" V\"\n",
+      "print \"Voltmeter reading when sensivity is 15000 ohm/V is \", round(v2,2), \" V. This voltmeter will measure the correct value.\"\n",
+      "# Answer in the textbook is not accurate"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Voltmeter reading when sensivity is 12000 ohm/V is  48.0  V\n",
+        "Voltmeter reading when sensivity is 15000 ohm/V is  48.39  V. This voltmeter will measure the correct value.\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15.1 - page : 3-28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#voltage\n",
+      "r1=25.0 # kohms\n",
+      "r2=5.0 #in kohms\n",
+      "v=30.0 #in V\n",
+      "# part(i)\n",
+      "vr2=(r2/(r1+r2))*v # voltage in V across 5 kohms resistance\n",
+      "Vactual=vr2  # V\n",
+      "print \"Voltage across 5 kohm Resistance is \", vr2, \" V.\"\n",
+      "#part (ii)\n",
+      "vr2=(r1/(r1+r2))*v # voltage in V across 5 kohm resistance\n",
+      "#case 1\n",
+      "s1=1.0 #sensivity in kohm/V\n",
+      "v1=10.0 # in V\n",
+      "rm1=v1*s1 #in kohm\n",
+      "req=((rm1*r2)/(rm1+r2)) # equivalent resistance in ohm\n",
+      "vrb1=((req/(r1+req)))*v # voltmeter reading when sensivity is 1 kohm/V\n",
+      "print \"Voltmeter reading when sensivity is 1 kohm/V is \",round(vrb1,2), \" V.\"\n",
+      "# part(iii)\n",
+      "#case 2\n",
+      "s2=20 #sensivity in kohm/V\n",
+      "v1=10 # in V\n",
+      "rm2=v1*s2 #in kohm\n",
+      "req1=((rm2*r2)/(rm2+r2)) #equivalent resistance in ohm\n",
+      "vrb2=((req1/(r1+req1)))*v # voltmeter reading when sensivity is 1 kohm/V\n",
+      "print \"Voltmeter reading when sensivity is 1 kohm/V is \",round(vrb2,2), \" V.\"\n",
+      "#part(iii) #error\n",
+      "er1=(Vactual-vrb1)/Vactual*100 #voltmeter 1 error in %\n",
+      "er2=(Vactual-vrb2)/Vactual*100 #voltmeter 2 error in %\n",
+      "print \"Voltmeter 1 error is \",round(er1,2),\" %\"\n",
+      "print \"Voltmeter 2 error is \",round(er2,1),\" %\"\n",
+      "#Answer is wrong in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Voltage across 5 kohm Resistance is  5.0  V.\n",
+        "Voltmeter reading when sensivity is 1 kohm/V is  3.53  V.\n",
+        "Voltmeter reading when sensivity is 1 kohm/V is  4.9  V.\n",
+        "Voltmeter 1 error is  29.41  %\n",
+        "Voltmeter 2 error is  2.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15.2 - page : 3-29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Shunt resistance\n",
+      "#Given data :\n",
+      "Im=1.0 # in mA\n",
+      "Rm=100.0 # in ohm\n",
+      "I=100.0 # in mA\n",
+      "Rsh=(Im*10**-3*Rm)/((I-Im)*10**-3) \n",
+      "print \"Shunt resistance, Rsh = \",round(Rsh,3),\" ohm.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Shunt resistance, Rsh =  1.01  ohm.\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15.3 - page : 3-29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Shunt resistance\n",
+      "#Given data :\n",
+      "Im=1.0 # in mA\n",
+      "P=100.0 # in kW\n",
+      "I=100.0 # in mA\n",
+      "Rm=(P)/(Im)**2 # ohm\n",
+      "Rsh=((Im*10**-3*Rm*10**3)/((I-Im)*10**-3))*10**-3 # ohm\n",
+      "print \"Shunt resistance, Rsh = \",round(Rsh,3), \" kohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Shunt resistance, Rsh =  1.01  kohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15.4 - page : 3-29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Shunt resistance\n",
+      "#given data :\n",
+      "Rsh=200.0 # in ohm\n",
+      "Rm=100.0 # in ohm\n",
+      "m=50.0 \n",
+      "Rsh=Rm/(m-1) # ohm\n",
+      "print \"The shunt resistance, Rsh = \", round(Rsh,2), \" ohm.\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The shunt resistance, Rsh =  2.04  ohm.\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15.5 - page : 3-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# shunt resistance\n",
+      "#Given data :\n",
+      "Im=1.0 # in mA\n",
+      "Rm=100.0 # in ohm\n",
+      "I=100.0 # in mA\n",
+      "Rsh=(Im*10**-3*Rm)/((I-Im)*10**-3) # ohm\n",
+      "print \"Shunt resistance, Rsh = \", round(Rsh,3), \" kohm.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Shunt resistance, Rsh =  1.01  kohm.\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter4.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter4.ipynb
new file mode 100755
index 00000000..66a0b7e3
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter4.ipynb
@@ -0,0 +1,424 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:fc56911ca78177974b04004faec461a6b97c01b43d461299fb0cf06eea3ba6da"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter4 - Analog Electronic Volt-Ohm Milliammeters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.2.1 - page : 4-4"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Peak amplitude\n",
+      "#given data :\n",
+      "E_rms=230.0 #in V\n",
+      "Ep=2**(1.0/2)*E_rms \n",
+      "print \"Peak amplitude, Ep = \", round(Ep,2), \" V.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak amplitude, Ep =  325.27  V.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.12.1 - page : 4-21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resistance\n",
+      "#given data :\n",
+      "import math\n",
+      "Rm=500.0 #in ohm\n",
+      "E_rms=50.0 # in V\n",
+      "E_dc=(2**(1.0/2)*E_rms)/(math.pi/2) \n",
+      "Im=1*10**-3 #in A\n",
+      "R=E_dc/Im \n",
+      "Rs=(R-Rm)*10**-3 \n",
+      "print \"The resistance, Rs = \", round(Rs,1), \" kohm.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The resistance, Rs =  44.5  kohm.\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.14.1 - page : 4-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Percentage error\n",
+      "ff1=1.0 #form factor\n",
+      "r=1.11 #sine wave form factor\n",
+      "per=((r-ff1)/ff1)*100 #percentage error\n",
+      "print \"Percentage error is \", per, \" %\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Percentage error is  11.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.14.2 - page : 4-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#part (i)\n",
+      "# form factor\n",
+      "T1=3.0 #\n",
+      "T=range(0,4) \n",
+      "##Function for integration\n",
+      "def integrate(a,b,f):\n",
+      "    # def function before using this\n",
+      "    # eg. : f=lambda t:200**2*t**2\n",
+      "    #a=lower limit;b=upper limit;f is a function\n",
+      "    import numpy\n",
+      "    N=1000 # points for iteration\n",
+      "    t=numpy.linspace(a,b,N)\n",
+      "    ft=f(t)\n",
+      "    ans=numpy.sum(ft)*(b-a)/N\n",
+      "    return ans\n",
+      "# Calculating Vrms\n",
+      "a=T[0]\n",
+      "b=T[3]\n",
+      "f=lambda t:200**2*t**2\n",
+      "Vrms=(1/T1*integrate(a,b,f))**(1.0/2)  # V\n",
+      "# Calculating Vav\n",
+      "g=lambda t:200*t\n",
+      "Vav=1/T1*integrate(a,b,g)  # V\n",
+      "ff=Vrms/Vav # form factor\n",
+      "print \"Form factor is \", round(ff,4)\n",
+      "# part (ii)\n",
+      "ff1=1.11 #form factor of sine wave\n",
+      "per=((ff1/ff)-1)*100 #percentage errpr\n",
+      "print \"Percentage error in meter indication is\", round(per,3), \" %\"\n",
+      "# Answer is not accurate in the textbook."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Form factor is  1.155\n",
+        "Percentage error in meter indication is -3.895  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.19.1 - page : 4-43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Current\n",
+      "#Given data :\n",
+      "gm=0.005 #in mho\n",
+      "V1=1.5 #in V\n",
+      "rd=200.0*10**3 # in Ohm\n",
+      "Rd=15.0*10**3 #in ohm\n",
+      "Rm=75.0 #in ohm\n",
+      "I=(gm*V1*((Rd*rd)/(rd+Rd)))/((2*((Rd*rd)/(rd+Rd)))+Rm) # A\n",
+      "I*=10**3  #  mA\n",
+      "print \"Current, I = \", round(I,2), \" mA\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Current, I =  3.74  mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.19.2 - page : 4-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Current\n",
+      "#Given data :\n",
+      "gm=0.005 #in mho\n",
+      "V1=[0.2,0.4,0.6,0.8,1.0] #in V\n",
+      "rd=200.0*10**3 # in Ohm\n",
+      "Rd=15.0*10**3 #in ohm\n",
+      "Rm=75.0 #in ohm\n",
+      "Im=[]\n",
+      "for v1 in V1:\n",
+      "    Im.append(gm*(rd*Rd*v1/(rd+Rd))/(2.0*(rd*Rd/(rd+Rd))+Rm)*1000)  # mA\n",
+      "#Im*=1000  # mA\n",
+      "print \"Voltage    Current\"\n",
+      "i=0\n",
+      "for im in Im:\n",
+      "    print V1[i],\" V   \",round(Im[i],3),\" A\"\n",
+      "    i+=1"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Voltage    Current\n",
+        "0.2  V    0.499  A\n",
+        "0.4  V    0.997  A\n",
+        "0.6  V    1.496  A\n",
+        "0.8  V    1.995  A\n",
+        "1.0  V    2.493  A\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.19.3 - page : 4-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Design\n",
+      "v1=100.0 # in V\n",
+      "v2=30.0 #in V\n",
+      "v3=103.0 # in V\n",
+      "v4=1.0 #in V\n",
+      "x=9.0 #assume input resistance in Mohm\n",
+      "r4=(v4/v3)*x*10**3 #in kohm\n",
+      "r3=(((v4/v1)*x*10**6)-(r4*10**3))*10**-3 #in kohm\n",
+      "r2=(((v4/v2)*x*10**6)-((r4+r3)*10**3))*10**-3 # in kohm\n",
+      "r1=9*10**6-((r2+r3+r4)*10**3) # in ohm\n",
+      "r1*=10**-6  # Mohm\n",
+      "print \"Resistance, R4  is \",round(r4,2),\" kohm.\"\n",
+      "print \"Resistance, R3  is \",round(r3,2),\" kohm.\"\n",
+      "print \"Resistance, R2  is \",r2,\" kohm.\"\n",
+      "print \"Resistance, R1  is \",r1,\" Mohm.\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resistance, R4  is  87.38  kohm.\n",
+        "Resistance, R3  is  2.62  kohm.\n",
+        "Resistance, R2  is  210.0  kohm.\n",
+        "Resistance, R1  is  8.7  Mohm.\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.19.4 - page : 4-51"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Current\n",
+      "#given data :\n",
+      "rd=150.0*10**3 # in ohm\n",
+      "Rm=50.0 # in ohm\n",
+      "Rs=1000.0*10**3 # in ohm\n",
+      "gm=0.0052 #in mho\n",
+      "rd1=rd/((gm*rd)+1) \n",
+      "V0=gm*((rd1*Rs)/(rd1+Rs))\n",
+      "R0=(2*Rs*rd1)/(Rs+rd1)\n",
+      "I=V0/(R0+Rm) # A\n",
+      "I*=10**3  # mA\n",
+      "print \"Curent, I = \", round(I,3),\" mA\"\n",
+      "# Answer in the textbook is not accurate."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Curent, I =  2.3  mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.19.5 - page : 4-52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resistance\n",
+      "#given data :\n",
+      "V1=1.0 #in V\n",
+      "I=1.5*10**-3 #in A\n",
+      "rd=200.0*10**3 # in ohm\n",
+      "Rm=50.0 # in ohm\n",
+      "Rs=600.0*10**3 # in ohm\n",
+      "gm=0.005 #in mho\n",
+      "rd1=rd/((gm*rd)+1) \n",
+      "V0=gm*((rd1*Rs)/(rd1+Rs))*V1\n",
+      "R0=(2*Rs*rd1)/(Rs+rd1)\n",
+      "R_cal=(V0/I)-Rm-R0 \n",
+      "print \"Resistance , R_cal = \",round(R_cal,2),\" ohm\" \n",
+      "# answer is wrong in book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resistance , R_cal =  216.31  ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example q.3 - page : 4-73"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Current and voltage\n",
+      "rm=10.0 #in ohm\n",
+      "im=5.0 # in mA\n",
+      "i=1.0 # in A\n",
+      "v=5.0 #in A\n",
+      "ish=i-(im*10**-3) # in A\n",
+      "m=i/(im*10**-3) # ratio\n",
+      "rsh=rm/(m-1) #in ohm\n",
+      "vo=v/i #in V\n",
+      "rsh1=vo/(im) #in kohm\n",
+      "print \"Shunt resistance is \",round(rsh,2),\" ohm to measure current upto 1 A\"\n",
+      "print \"Shunt resistance is \", rsh1,\" kohm to measure voltage upto 5 V\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Shunt resistance is  0.05  ohm to measure current upto 1 A\n",
+        "Shunt resistance is  1.0  kohm to measure voltage upto 5 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter5.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter5.ipynb
new file mode 100755
index 00000000..790db649
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter5.ipynb
@@ -0,0 +1,171 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:fb80ed0ac7f61070ddb567219b6f89f7b3cc1db175d565fb219507a40eec868c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter5 - Digital Voltmeters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.10.1 - page5-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Resolution\n",
+      "#Given data :\n",
+      "n=4.0  # no. of full digits\n",
+      "R=1/10**n \n",
+      "print \"Resolution of voltmeter, R = \", R"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resolution of voltmeter, R =  0.0001\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.10.2 - page5-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resolution\n",
+      "#Given data :\n",
+      "n=5.0  # no. of full digits\n",
+      "R=1.0/10**n \n",
+      "print \"Resolution, R = %.5f\" %R"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resolution, R = 0.00001\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.10.3 - page5-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resolution\n",
+      "#Given data :\n",
+      "n=4.0    # no. of full digits\n",
+      "R=1/10**n \n",
+      "print \"Resolution, R = \", R"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resolution, R =  0.0001\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.10.4 - page5-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import numpy\n",
+      "import math\n",
+      "#Voltage and time interval\n",
+      "#Given data :\n",
+      "t1=1.0 #sec\n",
+      "R=100.0 #kohm\n",
+      "C=1.0 #micro F\n",
+      "C*=10**-6  # F\n",
+      "Vin=1.0 #V\n",
+      "Vref=5.0 #V\n",
+      "def integrate(a,b,f):\n",
+      "    # def function before using this\n",
+      "    # eg. : f=lambda t:200**2*t**2\n",
+      "    #a=lower limit;b=upper limit;f is a function\n",
+      "    import numpy\n",
+      "    N=1000 # points for iteration\n",
+      "    t=numpy.linspace(a,b,N)\n",
+      "    #ft=f(t)\n",
+      "    ans=numpy.sum(f)*(b-a)/N\n",
+      "    return ans\n",
+      "# Calculating output vl=oltage\n",
+      "a=0\n",
+      "b=t1\n",
+      "Vout=1/R/C*integrate(a,b,Vin)  # V\n",
+      "print \"Voltage developed at the output after 1 sec is \",Vout,\" V\"\n",
+      "#Vout=Vref*t2/R/C & Vout=Vin*t1/R/C\n",
+      "t2=t1*Vin/Vref #sec\n",
+      "print \"Time interval t2 is \",t2,\" sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Voltage developed at the output after 1 sec is  10.0  V\n",
+        "Time interval t2 is  0.2  sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter6.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter6.ipynb
new file mode 100755
index 00000000..82ed6e02
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter6.ipynb
@@ -0,0 +1,123 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3cc9d2c4c0d6a493cdaa2dbc9383ef800411a8ab69ddf373e977319372599f8f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter6 - Digital Frequency Meter"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.17.1 - page6-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Desired gate time\n",
+      "#Given data :\n",
+      "r=0.1         #in Hz\n",
+      "D=1/r         #in seconds\n",
+      "print \"The desired gate time, D = \", D,\" seconds\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The desired gate time, D =  10.0  seconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.17.2 - page6-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Error in measurement\n",
+      "f1=1.0 # in Mhz\n",
+      "f2=200.0 #in kHz\n",
+      "per=(200*10**-3)*100 # percentage error that printlay may indicate 4 micro seconds or 6 micro seconds\n",
+      "per1=(1/50.0)*100 #percentage error after 10 times improvement\n",
+      "print \"Display may indicate 4 us or 6 us, percentage error is \", per,\" %\"\n",
+      "print \"Percentage error after 10 times improvement is \", per1,\" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Display may indicate 4 us or 6 us, percentage error is  20.0  %\n",
+        "Percentage error after 10 times improvement is  2.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.17.3 - page6-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#  Measurement Accuracy\n",
+      "#Given data :\n",
+      "f=400.0         #Hz\n",
+      "time_accuracy=10**-8         # seconds\n",
+      "display_accuracy=1         #(+ve or -Ve)\n",
+      "t=10         # seconds\n",
+      "period=1/f*10**3          #ms\n",
+      "Accuracy= 1+((period)/10)         #ms\n",
+      "print \"accuracy is \u00b1\",Accuracy,\" ms\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "accuracy is \u00b1 1.25  ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter7.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter7.ipynb
new file mode 100755
index 00000000..de493fe2
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter7.ipynb
@@ -0,0 +1,470 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:ea707a0cc7de0224e885823c97ef777e5b813dde41f39951ee0ed1ad37c83a74"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter7 - Low, High and Precise Resistance Measurements"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.1 - page7-24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resistance\n",
+      "#Given data :\n",
+      "R1=5.0 # in kohm\n",
+      "R2=7.0 # in kohm\n",
+      "R3=10.0  # in kohm\n",
+      "Rx=(R2*R3)/R1 \n",
+      "print \"Unknown resistance, Rx = \", Rx,\" kohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Unknown resistance, Rx =  14.0  kohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.2 - page7-24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Current\n",
+      "#Given data :\n",
+      "R1=1.5 # in kohm\n",
+      "R2=3.0 # in kohm\n",
+      "R3=5.0  # in kohm\n",
+      "R4=14.0 #in kohm\n",
+      "Rg=250.0 #in ohm\n",
+      "E=10.0 #in V\n",
+      "Vd=(E*R4)/(R2+R4) \n",
+      "Vc=(E*R3)/(R1+R3) \n",
+      "E_th=E*((R4/(R2+R4))-(R3/(R1+R3))) \n",
+      "R_th=((R1*R3)/(R1+R3))+((R2*R4)/(R2+R4)) \n",
+      "Ig=(E_th/((R_th*10**3)+Rg))*10**6 \n",
+      "print \"Current, Ig = \",round(Ig,2),\" micro A\"\n",
+      "# answer is wrong in book\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Current, Ig =  140.15  micro A\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.3 - page7-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Deflection\n",
+      "#Given data :\n",
+      "s=8 #sensivity in mm/micro A\n",
+      "R1=1.0 # in kohm\n",
+      "R2=5.0 # in kohm\n",
+      "R3=2.0  # in kohm\n",
+      "R4=10.0 #in kohm\n",
+      "Rg=150.0 #in ohm\n",
+      "E=6.0 #in V\n",
+      "r=10.0 # unbalance resistance in ohm\n",
+      "del_r=10.0 # in kohm\n",
+      "R4_1=((R4*10**3)+r)*10**-3 \n",
+      "Vd=(E*R4_1)/(R2+R4_1) \n",
+      "Vc=(E*R3)/(R1+R3) \n",
+      "E_th=E*((R4_1/(R2+R4_1))-(R3/(R1+R3))) \n",
+      "R_th=((R1*R3)/(R1+R3))+((R2*R4)/(R2+R4)) \n",
+      "Ig=(E_th/((R_th*10**3)+Rg))*10**6 \n",
+      "d=Ig*s #deflection in mm\n",
+      "print \"Deflection is \",round(d,1), \" mm\"\n",
+      "#answer is wrong in the textbook\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Deflection is  2.6  mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.4 - page7-28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Current\n",
+      "#Given data :\n",
+      "R=500.0 #in ohm\n",
+      "Rg=150.0 # in ohm\n",
+      "del_r=10.0 # in ohm\n",
+      "E=6.0 #in V\n",
+      "E_th=(E*del_r)/(4*R) \n",
+      "R_th=R \n",
+      "Ig=(E_th/(R_th+Rg))*10**6 \n",
+      "print \"Current, Ig = \", round(Ig,3), \"micro A\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Current, Ig =  46.154 micro A\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.5  page7-29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Supply voltage\n",
+      "#Given data :\n",
+      "R=120.0 #in ohm\n",
+      "del_r=1.0 # in ohm\n",
+      "E_th=10*10**-3 #in V\n",
+      "E=(E_th*4*R)/del_r \n",
+      "print \"Supply voltage, E = \", E,\" V\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Supply voltage, E =  4.8  V\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.6 - page7-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resistance\n",
+      "#Given data :\n",
+      "A=100.24 # in ohm\n",
+      "B=200.0 # in ohm\n",
+      "a=100.31 # in ohm\n",
+      "b=200.0 # in ohm\n",
+      "S=100.03 # in micro ohm\n",
+      "r=700.0 # in micro ohm\n",
+      "X=((A/b)*S)+(((r*b)/(r+a+b))*((A/B)-(a/b))) \n",
+      "print \"Unknown resistance, X = \", round(X,2), \"micro ohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Unknown resistance, X =  50.09 micro ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.7 - page7-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Deflection\n",
+      "#Given data :\n",
+      "R_ab=100.0 # in ohm\n",
+      "R_bc=500.0 # in ohm\n",
+      "R_cd=1000.0 # in ohm\n",
+      "R_da=200.0 # in ohm\n",
+      "V=10.0 \n",
+      "VRg=200. # in ohm\n",
+      "del_CD=10.0 # in ohm\n",
+      "V_bd=V*((R_ab/(R_ab+R_bc))-(R_da/(R_da+R_cd+del_CD))) \n",
+      "R_bd=(((R_ab*R_bc)/(R_ab+R_bc))+((VRg*(R_cd+del_CD))/(VRg+R_cd+del_CD))) \n",
+      "I_G=(V_bd/(R_bd+VRg)) \n",
+      "s=5 #sensivity in micro A/mm\n",
+      "dg=I_G*10**6*s #deflection in mm\n",
+      "print \"Deflection is \",round(dg,0),\" mm\"\n",
+      "#answer is wrong in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Deflection is  153.0  mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.8 - page7-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#LIMITING VALUE OF RESISTANCE\n",
+      "P=100.0 #OHMS\n",
+      "Q=P \n",
+      "S=230.0 #IN ohm\n",
+      "DP=0.02 #ERROR IN PERCENTAGE\n",
+      "DS=0.01 #IN PERCENTAGE\n",
+      "R=(P/Q)*S #unknown resistance in ohms\n",
+      "dr=(DP+DP+DS) #relative limiting error in unknow resistance in percentage \u00b1\n",
+      "drm=(dr/100)*R #magnitude of error\n",
+      "R1=R+drm #in ohms\n",
+      "R2=R-drm #in ohms\n",
+      "print \"Limiting value of unknow resistance is \", R2, \" ohm to \", R1, \" ohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Limiting value of unknow resistance is  229.885  ohm to  230.115  ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.9 - page7-33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#Insulation resistance of cable\n",
+      "t=120.0 #in seconds\n",
+      "v1=300.0 #in volts\n",
+      "v2=100.0 #in volts\n",
+      "c=300.0 #capacitance in pf\n",
+      "r=t/(c)/math.log(v1/v2)#resistance in Mohm\n",
+      "print \"Resistance of cable is \", round(r,3),\" Mohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resistance of cable is  0.364  Mohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.10 - page7-33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resistance \n",
+      "g=2000.0 #in ohms\n",
+      "s=10.0 #in kohm\n",
+      "q1=40.0 #divisions\n",
+      "q2=46.0 #divisions\n",
+      "r=((q1/q2)*((s*10**3)+(g)))-g #in ohms\n",
+      "print \"Unknown resistance is \",round(r,2),\" ohm\"\n",
+      "#answer is wrong in the textbook\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Unknown resistance is  8434.78  ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.11 - page7-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resistance \n",
+      "t=200.0 # in V\n",
+      "i=0.5 #in A\n",
+      "ra=10.0 #in ohm\n",
+      "x=t/i #in ohm\n",
+      "r=x-ra #in ohm\n",
+      "print \"Unknown resistance is \",r,\" ohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Unknown resistance is  390.0  ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5.12 - page7-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Ammeter and voltmeter readings\n",
+      "t=200.0 # in V\n",
+      "i=0.5 #in A\n",
+      "ra=10.0 #in ohm\n",
+      "x=t/i #in ohm\n",
+      "r=x-ra #in ohm\n",
+      "sv=10 #sensivity in kohms / V\n",
+      "v=1000 #in V\n",
+      "rv=v*sv *10**-6 # in Mohm\n",
+      "rp=((rv*10**6)*r)/(rv*10**6+r) #in ohm\n",
+      "vr=((t*rp)/(ra+rp)) #voltmeter reading in V\n",
+      "vi=vr/rp #ammeter rading in A\n",
+      "print \"Voltmeter reading is \",round(vr,2),\" V\"\n",
+      "print \"Ammeter rading is \",round(vi,5),\" A\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Voltmeter reading is  194.81  V\n",
+        "Ammeter rading is  0.51899  A\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter8.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter8.ipynb
new file mode 100755
index 00000000..6f6a09d7
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter8.ipynb
@@ -0,0 +1,637 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:6fa810433d8fb0d04740abb66d2625b01a8af010ca4183a75eead5496aab3b33"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter8 - Inductance and Capacitance Measurements"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.5.1 - page : 8-22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Percentage error \n",
+      "import math\n",
+      "r=10 #in ohm\n",
+      "f=1 #in  MHz\n",
+      "c=65 #capacitance in pF\n",
+      "rsh=0.02 #in ohm\n",
+      "qact=((1/(2*math.pi*f*10**6*c*10**-12*r))) #actual q factor\n",
+      "qm=(1/(2*math.pi*c*10**-12*f*10**6*(r+rsh))) #measured q factor\n",
+      "per=((qact-qm)/qact)*100 #percentage error \n",
+      "print \"Percentage error is\",round(per,1),\" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Percentage error is 0.2  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.5.2 - page : 8-23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#Self capacitance and inductance\n",
+      "f1=2 #in MHz\n",
+      "c1=460 #in pF\n",
+      "f2=4 #in MHz\n",
+      "c2=100 #in pF\n",
+      "cd1=((c1-(4*c2))/3) #self capacitance in pF\n",
+      "x=((1/(2*math.pi*f1*10**6)))**2 \n",
+      "l=x/((c1+cd1)*10**-12) # in H\n",
+      "l*=10**6  # in micro H\n",
+      "print \"Self capacitance is \",cd1,\" pF\"\n",
+      "print \"Inductance is \",round(l,2),\" micro H\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Self capacitance is  20  pF\n",
+        "Inductance is  13.19  micro H\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.1 - page : 8-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Lx and Rx\n",
+      "#given data :\n",
+      "R1=560 # in kohm\n",
+      "R2=6.3 # in kohm\n",
+      "R3=120  # in kohm\n",
+      "Ci=0.01 # in micro F\n",
+      "Sensitivity=10 # in mm/micro A\n",
+      "del_r=1 # in ohm\n",
+      "Rx=(R2*R3)/R1 \n",
+      "print \"Unknown resistance, Rx = \",Rx,\" kohm\"\n",
+      "Lx=R2*10**3*R3*10**3*Ci*10**-6 \n",
+      "print \"Unknown inductance, Lx = \",Lx,\" H\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Unknown resistance, Rx =  1.35  kohm\n",
+        "Unknown inductance, Lx =  7.56  H\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.2 - page : 8-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#Cx,Rx and D\n",
+      "#given data :\n",
+      "f=1000 #in Hz\n",
+      "R1=1.1 # in kohm\n",
+      "R2=2.2 # in kohm\n",
+      "C1=0.47 # in micro F\n",
+      "C3=0.5 # in micro F\n",
+      "Rx=(R2*C1)/C3 \n",
+      "print \"Unknown resistance, Rx = \", Rx,\" kohm\"\n",
+      "Cx=(R1*C3)/R2 \n",
+      "print \"Unknown capacitance, Cx = \", Cx, \" micro F\"\n",
+      "w=2*f*math.pi \n",
+      "D=w*Cx*10**-6*Rx*10**3 \n",
+      "print \"Dissipation factor, D = \", round(D,2)\n",
+      "#answer is wrong in the textbook\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Unknown resistance, Rx =  2.068  kohm\n",
+        "Unknown capacitance, Cx =  0.25  micro F\n",
+        "Dissipation factor, D =  3.25\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.3 - page : 8-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Unknown resistance and capacitance\n",
+      "r1=10 #in kohms\n",
+      "r2=50 #in kohms\n",
+      "r3=100 #in kohms\n",
+      "c3=100 #in micro F\n",
+      "rx=((r2*10**3*r3*10**3)/(r1*10**3))*10**-3 #unknown resistance in kohms\n",
+      "cx=((r1*10**3*c3*10**-6)/(r2*10**3))*10**6 # unknown capacitance in micro F\n",
+      "print \"unknown resistance is \",rx,\" kohm\"\n",
+      "print \"Unknown capacitance is \",cx,\" micro F\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "unknown resistance is  500.0  kohm\n",
+        "Unknown capacitance is  20.0  micro F\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.4 - page : 8-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Lx and Rx\n",
+      "#given data :\n",
+      "R1=600 # in ohm\n",
+      "R2=1000 # in ohm\n",
+      "R3=100 # in ohm\n",
+      "C1=1 # in micro F\n",
+      "Rx=(R2*R3)/R1 \n",
+      "print \"resistance, Rx = \",Rx,\" ohm\"\n",
+      "Lx=C1*10**-6*R2*R3 \n",
+      "print \"Inductance, Lx = \",Lx, \" H\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "resistance, Rx =  166  ohm\n",
+        "Inductance, Lx =  0.1  H\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.5 - page : 8-28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#L3 and R3\n",
+      "#given data :\n",
+      "R1=10 # in kohm\n",
+      "R2=2 # in kohm\n",
+      "R4=1 # in kohm\n",
+      "C2=1*10**-6 # in micro F\n",
+      "w=3000 # in rad/sec\n",
+      "L3=(R1*10**3*R4*10**3*C2)/(1+((R2*10**3)**2*(C2**2)*w**2))\n",
+      "R3=R2*10**3*L3*C2*w**2 \n",
+      "print \"Unknown resistance is \",round(R3,0),\" ohm\"\n",
+      "print \"Inductance is \",round(L3,2),\" H\"\n",
+      "#resistance is calculated wrong in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Unknown resistance is  4865.0  ohm\n",
+        "Inductance is  0.27  H\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.6 - page : 8-28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#Cx,Rx and D\n",
+      "#given data :\n",
+      "f=1000 #in Hz\n",
+      "R2=20000 # in ohm\n",
+      "R3=1.2*10**3 # in ohm\n",
+      "C3=300*10**-12 # in F\n",
+      "C4=0.05*10**-6 # in F\n",
+      "Rx=(R2*C3)/C4 # in ohm\n",
+      "print \"Unknown resistance, Rx = \",Rx, \" ohm\"\n",
+      "Cx=((R3*C4)/R2)*10**6 \n",
+      "print \"Unknown capacitance, Cx = \",Cx,\" micro F\"\n",
+      "w=2*f*math.pi \n",
+      "D=w*Cx*10**-6*Rx\n",
+      "print \"Dissipation factor, D = %.2E\" %D"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Unknown resistance, Rx =  120.0  ohm\n",
+        "Unknown capacitance, Cx =  0.003  micro F\n",
+        "Dissipation factor, D = 2.26E-03\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.7 - page : 8-29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#Resistance and capacitance\n",
+      "#given data :\n",
+      "C2=106*10**-12 # in F\n",
+      "C4=0.6*10**-6 # in F\n",
+      "R4=1000/math.pi # in ohm\n",
+      "R3=250 # in ohm\n",
+      "R1=(C4/C2)*R3\n",
+      "print \" Resistance, R1 = %.2E\" %R1,\" ohm\"\n",
+      "C1=(R4/R3)*C2*10**6 \n",
+      "print \"Capacitance, C1 = \",round(C1*10**6),\" micro F\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Resistance, R1 = 1.42E+06  ohm\n",
+        "Capacitance, C1 =  135.0  micro F\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.8 - page : 8-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#Resistance and capacitance\n",
+      "#given data :\n",
+      "R1=3.1 # in kohm\n",
+      "C1=5.2 #in micro F\n",
+      "R2=25 #in kohm\n",
+      "R4=100 #in kohm\n",
+      "f=2.5*10**3 #in Hz\n",
+      "w=2*math.pi*f*10**-3 \n",
+      "R3=(R4/R2)*(R1+(1/(w**2*R1*C1**2))) \n",
+      "print \"Resistance, R3 = \",round(R3,1),\" kohm\"\n",
+      "C3=((R4/R2)-(R1/R3))*C1 \n",
+      "print \"Capacitance, C3 = \",round(C3,1), \"pF\"\n",
+      "# answer is wrong in book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resistance, R3 =  12.4  kohm\n",
+        "Capacitance, C3 =  19.5 pF\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.9 - page : 8-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#Inductance and capacitance\n",
+      "#given data :\n",
+      "F1=1.5 #in MHz\n",
+      "C1=650 #in pF\n",
+      "F2=3 #in MHz\n",
+      "C2=150 #in pF\n",
+      "Cd=(C1-(4*C2))/3 \n",
+      "print \"Capacitance, Cd = \",Cd, \"pF\"\n",
+      "L=(1/(4*math.pi**2*F1**2*((C1*10**-12)+(C2*10**-12))))*10**-6 \n",
+      "print \"Inductance, L = \",round(L,2),\" micro H\"\n",
+      "# Answer wrong in the textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Capacitance, Cd =  16 pF\n",
+        "Inductance, L =  14.07  micro H\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.10 - page : 8-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "# Q\n",
+      "#given data \n",
+      "rsh=0.02 \n",
+      "r=10 # in ohm\n",
+      "f=1 #in MHz\n",
+      "c=65 #in pF\n",
+      "L=(1/((2*math.pi*f*10**6)**2*c*10**-12))*10**3 \n",
+      "qact=((1/(2*math.pi*f*10**6*c*10**-12*r))) #actual q factor\n",
+      "qm=(1/(2*math.pi*c*10**-12*f*10**6*(r+rsh))) #measured q factor\n",
+      "per=((qact-qm)/qact)*100 #percentage error \n",
+      "print \"Percentage error is \",round(per,3), \" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Percentage error is  0.2  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.11 - page : 8-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# capacitance\n",
+      "#given data :\n",
+      "F1=3 #in MHz\n",
+      "C1=400 #in pico-farad\n",
+      "F2=6 #in MHz\n",
+      "C2=120 #in pico-farad\n",
+      "Cd=(4*C2-C1)/3 \n",
+      "print \"Self capacitance, Cd = \",Cd, \" pF\"\n",
+      "# Answer wrong in the textbook."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Self capacitance, Cd =  26  pF\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.12 - page : 8-33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# capacitance\n",
+      "#given data :\n",
+      "F1=2.0 #in MHz\n",
+      "C1=450 #in pF\n",
+      "F2=5 #in MHz\n",
+      "C2=60 #in pF\n",
+      "ratio=F2/F1 \n",
+      "#1/sqrt(C2+Cd)=ratio/sqrt(C1+Cd)\n",
+      "Cd=(C1-(ratio**2*C2))/5.25 \n",
+      "print \"Self capacitance, Cd = \",round(Cd,2), \" pF\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Self capacitance, Cd =  14.29  pF\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6.13 - page : 8-33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# capacitance\n",
+      "#given data :\n",
+      "F1=8 #in MHz\n",
+      "C1=120 #in pF\n",
+      "F2=12 #in MHz\n",
+      "C2=40 #in pF\n",
+      "ratio=F1/F2 \n",
+      "#1/sqrt(C2+Cd)=ratio/sqrt(C1+Cd)\n",
+      "Cd=((4*C1-9*C2)/5) \n",
+      "print \"Self capacitance, Cd = \", Cd,\" pF\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Self capacitance, Cd =  24  pF\n"
+       ]
+      }
+     ],
+     "prompt_number": 49
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Q.5 - page : 8-35"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Lx and Rx\n",
+      "#given data :\n",
+      "r1=28.5 #in ohm\n",
+      "L1=52.6 #in mH\n",
+      "R2=1.68 #in ohm\n",
+      "R3=80 #in ohm\n",
+      "R4=R3 # in ohm\n",
+      "Lx=(R3/R4)*L1 #inductance in mH\n",
+      "Rx=r1*(R3/R4)-R2 #in ohm\n",
+      "print \"Unknown resistance, Rx = \",Rx,\" ohm\"\n",
+      "print \"Unknown inductance, Lx = \", Lx,\" mH\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Unknown resistance, Rx =  26.82  ohm\n",
+        "Unknown inductance, Lx =  52.6  mH\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/Chapter9.ipynb b/Elelectronics_Instrumentation_and_Measurements/Chapter9.ipynb
new file mode 100755
index 00000000..e456daaf
--- /dev/null
+++ b/Elelectronics_Instrumentation_and_Measurements/Chapter9.ipynb
@@ -0,0 +1,460 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:290842fdc6ea6a5700afb55423870096fe232348d5b6bc5d485c1317a3af57b3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter9 - Cathode Ray Oscilloscope"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Example 9.14.1 - page : 9-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# peak to peak voltage and rms voltage\n",
+      "vdv=1 # V/div\n",
+      "n=6.8 #no. of divisions\n",
+      "Vpp=vdv*n #peak to peak voltage in V\n",
+      "vrms=Vpp/(2*(2)**(1.0/2)) #rms voltage in V\n",
+      "print \"Peak to peak voltage is \",Vpp,\" V\"\n",
+      "print \"rms voltage is \",round(vrms,4),\" V\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak to peak voltage is  6.8  V\n",
+        "rms voltage is  2.4042  V\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.14.2 - page : 9-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Time interval\n",
+      "vdv=2 # V per division in micro seconds/div\n",
+      "n=2 #no. of divisions\n",
+      "Tint=vdv*n #peak to peak voltage in V\n",
+      "print \"Time interval is \",Tint,\" micro seconds\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time interval is  4  micro seconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.14.3 - page : 9-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# period and frequency\n",
+      "vdv=2 #volts per division in micro seconds/div\n",
+      "n=12 #no. of divisions\n",
+      "Tp=vdv*n # period in micro seconds\n",
+      "f=1/(Tp*10**-3) #frequency in kHz\n",
+      "print \"Period is \",Tp,\" micro seconds\"\n",
+      "print \"Frequency is \",round(f,2),\" kHz\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Period is  24  micro seconds\n",
+        "Frequency is  41.67  kHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.14.4 - page : 9-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Peak to peak voltage and frequency\n",
+      "vdv1=0.5 #volts per division in V/div\n",
+      "nv=3 #no. of divisions\n",
+      "nh=4 #numbers of horizontal divisions\n",
+      "Vpp=vdv1*nv #peak to peak voltage in V\n",
+      "vdv2=2 # time division in micro seconds per divisions\n",
+      "Tp=vdv2*nh # period in micro seconds\n",
+      "f=1/(Tp*10**-3) #frequency in kHz\n",
+      "print \"Peak to peak voltage is \",Vpp,\" V\"\n",
+      "print \"Period is \",Tp,\" micro seconds\"\n",
+      "print \"Frequency is \",f,\" kHz\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak to peak voltage is  1.5  V\n",
+        "Period is  8  micro seconds\n",
+        "Frequency is  125.0  kHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17.1 - page : 9-67"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#bandwidth\n",
+      "#given data :\n",
+      "Trs=12 #in micro sec\n",
+      "Trd=15 #in micro sec\n",
+      "Tro=(Trd**2-Trs**2)**(1.0/2) \n",
+      "K=0.35 # constant\n",
+      "BW=(K/Tro)*10**3 \n",
+      "print \"Bandwidth, BW =\",round(BW,2), \" kHz\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Bandwidth, BW = 38.89  kHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17.2 - page : 9-68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Rise time\n",
+      "#given data :\n",
+      "BW=10*10**6 # in Hz\n",
+      "tr=(0.35/BW)*10**9 \n",
+      "print \"Rise time, tr = \",tr, \" ns\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rise time, tr =  35.0  ns\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17.3 - page : 9-68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# rise time\n",
+      "#given data :\n",
+      "Tro=10 #in micro sec\n",
+      "Trd=13 #in micro sec\n",
+      "Trs=(Trd**2-Tro**2)**(1.0/2) \n",
+      "print \"Actual rise time, Trs = \",round(Trs,2),\" ns\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Actual rise time, Trs =  8.31  ns\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17.4 - page : 9-68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Rise time\n",
+      "#given data :\n",
+      "Tro=10 #in micro sec\n",
+      "Trd=15 #in micro sec\n",
+      "Trs=(Trd**2-Tro**2)**(1.0/2)\n",
+      "print \"Actual rise time, Trs = \",round(Trs,2),\" ns\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Actual rise time, Trs =  11.18  ns\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17.5 - page : 9-68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Rise time\n",
+      "#given data :\n",
+      "Trs=12 #in micro sec\n",
+      "Trd=30 #in micro sec\n",
+      "BW=20*10**6 # in Hz\n",
+      "K=0.35 # constant\n",
+      "Tro=(K/BW)*10**9 \n",
+      "Trs=(Trd**2-Tro**2)**(1.0/2)\n",
+      "print \"Actual rise time, Trs = \",round(Trs,2),\" ns\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Actual rise time, Trs =  24.37  ns\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17.6 - page : 9-69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# capacitance\n",
+      "#given data :\n",
+      "K=10 # constant\n",
+      "C2=35*10**-12 \n",
+      "C1=(C2/(K-1))*10**12 \n",
+      "print \"Capacitance, C1 = \",round(C1,2),\" pF\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Capacitance, C1 =  3.89  pF\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17.7 - page : 9-69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# impedance of CRO\n",
+      "K=10 \n",
+      "vin=1 #vpp \n",
+      "vout=0.1 #in vpp\n",
+      "c1=2 # in pF\n",
+      "c2=c1*(K-1) #CAPACITANCE IN Pf\n",
+      "print \"Capacitance is \",c2,\" pF\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Capacitance is  18  pF\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17.8 - page : 9-70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# sensivity\n",
+      "n=2 #divisions\n",
+      "f=50.0 #in MHz\n",
+      "t=(1/f)*10**3 #time in nanao seconds\n",
+      "mdv=t/4 #in ns/div\n",
+      "mtds=mdv*n # in ns/div\n",
+      "print \"Minimum time/div is \",mdv,\" ns/div\"\n",
+      "print \"Minimum time/div setting is \",mtds,\" ns/div\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum time/div is  5.0  ns/div\n",
+        "Minimum time/div setting is  10.0  ns/div\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17.9 - page : 9-70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "# rise time\n",
+      "#given data :\n",
+      "Trs=21 #in micro-sec\n",
+      "K=0.35 # constant\n",
+      "BW=50*10**6 # in Hz\n",
+      "Tro=(K/BW)*10**9 \n",
+      "Trd=(Trs**2+Tro**2)**(1.0/2)\n",
+      "print \"Rise time, Tro = \",round(Trd,0),\" ns\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rise time, Tro =  22.0  ns\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59.png b/Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59.png
new file mode 100755
index 00000000..d76e53ec
Binary files /dev/null and b/Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59.png differ
diff --git a/Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59_1.png b/Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59_1.png
new file mode 100755
index 00000000..d76e53ec
Binary files /dev/null and b/Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59_1.png differ
diff --git a/Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59_2.png b/Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59_2.png
new file mode 100755
index 00000000..d76e53ec
Binary files /dev/null and b/Elelectronics_Instrumentation_and_Measurements/screenshots/Screenshot_from_2015-04-28_15:15:59_2.png differ
diff --git a/Elements_of_Electric_drives/Chapter1.ipynb b/Elements_of_Electric_drives/Chapter1.ipynb
new file mode 100755
index 00000000..5b5c8817
--- /dev/null
+++ b/Elements_of_Electric_drives/Chapter1.ipynb
@@ -0,0 +1,2766 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:8bd4989c6c6e6f6efd1cf72e88cf69a0617a89e6bfdc01e162aefc837909aa37"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1 - Electric drives"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 6"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Total annual cost in both cases\n",
+      "#Initialization of variables\n",
+      "C_g=60000.;#in Rs\n",
+      "C_id=18750*10;#in Rs\n",
+      "E_c=75000;#in kWh\n",
+      "E_a=60000;#in kWh\n",
+      "#Calculations\n",
+      "D=0.12*C_g;#in Rs\n",
+      "C_e=4*E_c;#in Rs\n",
+      "C_t=D+C_e;#in Rs\n",
+      "AD=0.15*C_id;#in Rs\n",
+      "C_ea=4*E_a;#in Rs\n",
+      "C_total=AD+C_ea;#in Rs\n",
+      "#Results\n",
+      "print 'Total annual cost in case of group drive (in Rs)=',C_t\n",
+      "print 'Total annual cost in case of individual drive (in Rs)=',C_total"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total annual cost in case of group drive (in Rs)= 307200.0\n",
+        "Total annual cost in case of individual drive (in Rs)= 268125.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 17"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the stable operating point\n",
+      "import math\n",
+      "#Initialization of variables\n",
+      "a=1;\n",
+      "b=1;\n",
+      "c=-30;\n",
+      "#Calculations\n",
+      "w_m=(-b+math.sqrt((b**2)-4*a*c))/(2*a);#speed of the drive\n",
+      "t_l=0.5*(w_m**2);#motoring torqe \n",
+      "#Results\n",
+      "print 'stable operating point=',w_m,t_l"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "stable operating point= 5.0 12.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the power developed by the motor\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "J_m=0.4;#motor inertia(in Kg-m2)\n",
+      "J_l=10.;#load inertia(in Kg-m2)\n",
+      "a=0.1;#Teeth ratio of gear\n",
+      "i=1./a;\n",
+      "N=1400.;\n",
+      "pi=22./7.;\n",
+      "n=0.90;#efficency of motor\n",
+      "T_l=50.;#Torque(N-m)\n",
+      "#Calculations\n",
+      "J=J_m+J_l/(i**2);#Total moment of inertia referred to the motor shaft\n",
+      "T_L=T_l/(i*n);#total equivalent torque referref to motor shaft\n",
+      "P=T_L*2*pi*N/60.;#power developed by motor\n",
+      "#Results\n",
+      "print 'power developed by motor(in Watt)=',math.ceil(P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "power developed by motor(in Watt)= 815.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the total torque and power developed\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "J_m=0.4;#motor inertia(in Kg-m2)\n",
+      "J_l=10;#load inertia(in Kg-m2)\n",
+      "a=0.1;#Teeth ratio of gear\n",
+      "N=1500.;\n",
+      "n_t=0.88;\n",
+      "m=600.;#weight\n",
+      "g=9.81;\n",
+      "#Calculations\n",
+      "f_r=m*g;#force\n",
+      "w_m=2*math.pi*N/60.;#motor speed\n",
+      "w=2.;#uniform speed of weight lifting\n",
+      "n=0.9;#efficency of motor\n",
+      "T_l=50;#Torque(N-m)\n",
+      "J=J_m+(a**2)*J_l+m*((w/w_m)**2);#Total moment of inertia referred to the motor shaft\n",
+      "T_L=(a*T_l/n)+f_r*w/(n_t*w_m) ;#total equivalent torque referred to motor shaft\n",
+      "p=T_L*w_m;#power developed by motor(in Watt)\n",
+      "P=p/1000.;#power developed by motor(in kWatt)\n",
+      "#Results\n",
+      "print 'Total torque referred to motor shaft(in kg-m2)=',round(J,2)\n",
+      "print 'Total equivalent Torque referred to motor shaft(in N-m)=',round(T_L,2)\n",
+      "print 'power developed by motor(in kWatt)=',round(P,2)\n",
+      "print 'The answers are a bit different from textbook due to rounding off error'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total torque referred to motor shaft(in kg-m2)= 0.6\n",
+        "Total equivalent Torque referred to motor shaft(in N-m)= 90.72\n",
+        "power developed by motor(in kWatt)= 14.25\n",
+        "The answers are a bit different from textbook due to rounding off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Motor Speed\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import ceil\n",
+      "V=220.;#in volts\n",
+      "V_1=200.;#in volts\n",
+      "N=1000.;#in rpm\n",
+      "I=100.;#in amperes\n",
+      "R_a=0.1;#in ohms\n",
+      "#Calculations\n",
+      "E_b=V-I*R_a;#in volts\n",
+      "I_1=I;#in amperes\n",
+      "E_b1=V_1-I_1*R_a;#in volts\n",
+      "N_1=N*E_b1/E_b;\n",
+      "#Results\n",
+      "print 'Motor Speed (in rpm)=',ceil(N_1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Motor Speed (in rpm)= 905.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the full load Speed and Torque\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import ceil\n",
+      "V=230;#in volts\n",
+      "R_sh=230;#in ohms\n",
+      "R_a=0.5;#in ohms\n",
+      "I_sh=V/R_sh;#in amperes\n",
+      "#Calculations\n",
+      "I_lo=3;#in amperes\n",
+      "I_ao=I_lo-I_sh;#in amperes\n",
+      "E_bo=V-I_ao*R_a;#in volts\n",
+      "N_o=1000;#in rpm\n",
+      "I_lf=23;#in amperes\n",
+      "I_af=I_lf-I_sh;#in amperes\n",
+      "E_bf=V-I_af*R_a;#in volts\n",
+      "Phy_ratio=0.98;\n",
+      "N_f=N_o*(E_bf/E_bo)/Phy_ratio;\n",
+      "T_f=9.55*E_bf*I_af/N_f;\n",
+      "#Results\n",
+      "print 'Full Load Speed (in rpm)=',ceil(N_f)\n",
+      "print 'Full load Torque (in Newton-meter)=',round(T_f,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Full Load Speed (in rpm)= 976.0\n",
+        "Full load Torque (in Newton-meter)= 47.15\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 51"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Armature voltage drop at full load\n",
+      "#Initialization of variables\n",
+      "V=440.;#in volts\n",
+      "N_o=2000.;#in rpm\n",
+      "E_bo=440.;#in volts\n",
+      "N_f=1000.;#in rpm\n",
+      "N_h=1050.;#in rpm\n",
+      "#Calculations\n",
+      "E_bf=E_bo*N_f/N_o#in volts\n",
+      "E_b=E_bo*N_h/N_o;#in volts\n",
+      "v=(E_b-E_bf)*2;\n",
+      "#Results\n",
+      "print 'Armature voltage drop at full load (in volts)=',v"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature voltage drop at full load (in volts)= 22.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 51"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Speed\n",
+      "#Initialization of variables\n",
+      "V=230.;#in volts\n",
+      "N1=750.;#in rpm\n",
+      "R=10.;#in ohms\n",
+      "I_a=30.;#in amperes\n",
+      "#Calculations\n",
+      "N2=N1*((V+I_a*R)/V)**-1;\n",
+      "#Results\n",
+      "print'Speed (in rpm)=',int(N2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Speed (in rpm)= 325\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Speed in both cases\n",
+      "import math\n",
+      "from math import ceil\n",
+      "#Initialization of variables\n",
+      "V=200.;#in volts\n",
+      "I_1=20.#in amperes\n",
+      "R_a=0.5;#in ohms\n",
+      "#Calculations\n",
+      "E_b1=V-I_1*R_a;#in volts\n",
+      "N1=700;#in rpm\n",
+      "I_2=math.sqrt(1.44)*I_1;#in amperes\n",
+      "E_b2=V-I_2*R_a;#in volts\n",
+      "N2=N1*(E_b2/E_b1)*(I_1/I_2);\n",
+      "I_3=10;#in amperes\n",
+      "E_b3=V-I_3*R_a;#in volts\n",
+      "N3=N1*(E_b3/E_b1)*(I_1/I_3);\n",
+      "#Results\n",
+      "print '(a) Speed (in rpm)=',round(N2,1)\n",
+      "print '(b) Speed (in rpm)=',ceil(N3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Speed (in rpm)= 577.2\n",
+        "(b) Speed (in rpm)= 1437.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Torque and Speed\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import ceil\n",
+      "V=230.;#in volts\n",
+      "I_1=90.;#in amperes\n",
+      "R_a=0.08;#in ohms\n",
+      "R_se=0.05;#in ohms\n",
+      "E_2=180.;#in volts\n",
+      "N2=700.;#in rpm\n",
+      "R=1.5;#in ohms\n",
+      "#Calculations\n",
+      "R_m=R_a+R_se;#in ohms\n",
+      "E_b1=V-I_1*(R_m+R);#in volts\n",
+      "N1=N2*(E_b1/E_2);\n",
+      "T=9.55*E_b1*I_1/N1;\n",
+      "#Results\n",
+      "print 'Speed (in rpm)=',ceil(N1)\n",
+      "print 'Torque (in Newton-meter)=',round(T,0)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Speed (in rpm)= 324.0\n",
+        "Torque (in Newton-meter)= 221.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12 - pg 54"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the torque developed and Terminal Voltage\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P=4.;#no. of poles\n",
+      "f=50.;#in hertz\n",
+      "N_s=120.*f/P;#in rpm\n",
+      "V=400/math.sqrt(3.);#in volts\n",
+      "R2=4;#in ohms\n",
+      "R1=1.5;#in ohms\n",
+      "X1=4.;#in ohms\n",
+      "X2=4.;#in ohms\n",
+      "N=1350.;#in rpm\n",
+      "#Calculations\n",
+      "s=(N_s-N)/N_s;#slip\n",
+      "T=(3*V**2*4./s)/((((R1+(R2/s))**2)+((X1+X2)**2))*(2*math.pi*N_s/60.));#in newton-meter\n",
+      "N1=900.;#in rpm\n",
+      "s1=(N_s-N1)/N_s;#slip\n",
+      "T1=T*(N1/N)**2;\n",
+      "V1=V*math.sqrt((N1/N)**2*(s1/s)*((((R1+(R2/s1))**2)+((X1+X2)**2)))/(((R1+(R2/s))**2)+((X1+X2)**2)));\n",
+      "#Results\n",
+      "print 'Torque developed (in Newton-meter)=',round(T1,2)\n",
+      "print 'Terminal Voltage (in volts)=',round(V1,2)\n",
+      "print 'Answer given in the textbook is worng as the torque equation is not multiplied by R2'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Torque developed (in Newton-meter)= 10.14\n",
+        "Terminal Voltage (in volts)= 102.06\n",
+        "Answer given in the textbook is worng as the torque equation is not multiplied by R2\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13 - pg 55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the RMS Voltage\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P=4.;#no. of poles\n",
+      "f=50.;#in hertz\n",
+      "N_s=120.*f/P;#in rpm\n",
+      "s_f=0.05;#slip\n",
+      "V=415;#in volts\n",
+      "s_m=0.1;#slip corresponding to maximum slip\n",
+      "N1=1350.;#in rpm\n",
+      "#Calculations\n",
+      "N=N_s*(1-s_f);#in rpm\n",
+      "s_fn=(N_s-N1)/N_s;#full load slip\n",
+      "V1=V*math.sqrt((N1/N)*(s_f/s_m)*(8./5.));\n",
+      "#Results\n",
+      "print ' RMS Voltage (in volts)=',round(V1,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " RMS Voltage (in volts)= 361.3\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14 - pg 56"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the slip Frequency\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "f1=2;#in hertz\n",
+      "f=50;#in hertz\n",
+      "s_m=0.1;\n",
+      "V=400;#in volts\n",
+      "s1=0.04;#slip\n",
+      "#Calculations\n",
+      "s2=(0.2095-math.sqrt((0.2095)**2-s1))/2.;\n",
+      "f_n=s2*40;\n",
+      "#Results\n",
+      "print 'Slip Frequency (in Hertz)=',round(f_n,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slip Frequency (in Hertz)= 2.94\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15 - pg 57"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the maximum torque\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "R1=0.02;#in ohms\n",
+      "X1=0.1;#in ohms\n",
+      "X2=X1;#in ohms\n",
+      "#T_ratio is defined as the ratio of maximum torque at one-half load and 25Hz frequency to maximum torque at rated voltage and frequency\n",
+      "#Calculations\n",
+      "T_ratio=(R1+math.sqrt(R1**2+(X1+X2)**2))/(2*(R1+math.sqrt(R1**2+((X1+X2)**2)/4)));\n",
+      "#Results\n",
+      "print '   maximum torque at one-half load and 25Hz frequency =',round(T_ratio,4)\n",
+      "print'   times the maximum torque at rated voltage and frequency (T_max)'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "   maximum torque at one-half load and 25Hz frequency = 0.9059\n",
+        "   times the maximum torque at rated voltage and frequency (T_max)\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16 - pg 77"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the starting torque, slip and ratio\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "s_f=0.04;#full load slip\n",
+      "I_ratio=6.;#Ratio of Starting current to full load current\n",
+      "#Calculations\n",
+      "T_ratio=I_ratio**2*s_f;#Ratio of Starting torque to full load torque\n",
+      "s_max=math.sqrt((I_ratio**2-1)/(625.-I_ratio**2.));\n",
+      "T_rm=(1./2.)*((s_f/s_max)+(s_max/s_f));\n",
+      "#Results\n",
+      "print '(a) Starting Torque =',T_ratio\n",
+      "print '   times the full load torque (T_f)'\n",
+      "print'(b) Slip at which Maximum torque occurs=',round(s_max,3)\n",
+      "print'(c) Ratio of maximum torque to full load torque=',round(T_rm,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Starting Torque = 1.44\n",
+        "   times the full load torque (T_f)\n",
+        "(b) Slip at which Maximum torque occurs= 0.244\n",
+        "(c) Ratio of maximum torque to full load torque= 3.129\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17 - pg 78"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the starting torque in all cases\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "I_ratio=8.;#Ratio of short circuit current to full load current\n",
+      "s_f=0.04;#full load slip\n",
+      "#Calculations\n",
+      "T_r1=I_ratio**2*s_f;\n",
+      "T_r2=I_ratio**2*s_f/3.;\n",
+      "K=math.sqrt(3./8.);# transformation ratio of transformer\n",
+      "T_st=K**2*I_ratio**2*s_f;\n",
+      "#Results\n",
+      "print '(a) Starting Torque when started by means of direct switching=',T_r1\n",
+      "print('   times the full load torque');\n",
+      "print '(b) Starting Torque when started by star-delta starter=',round(T_r2,3)\n",
+      "print('   times the full load torque');\n",
+      "print '(C) Starting Torque =',T_st\n",
+      "print('   times the full load torque');"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Starting Torque when started by means of direct switching= 2.56\n",
+        "   times the full load torque\n",
+        "(b) Starting Torque when started by star-delta starter= 0.853\n",
+        "   times the full load torque\n",
+        "(C) Starting Torque = 0.96\n",
+        "   times the full load torque\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 18 - pg 78"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Ratio of starting current to full load current\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P=10.*7355;#in watts\n",
+      "V=400.;#in volts\n",
+      "pf=0.8#power factor\n",
+      "Eff=0.9;#efficiency in per unit\n",
+      "#Calculations\n",
+      "I_f=P/(math.sqrt(3.)*V*pf*Eff);#in amperes\n",
+      "I_sc=7.2;#in amperes\n",
+      "I_sc1=I_sc*400./160;#in amperes\n",
+      "I_st=I_sc1/3.;#Starting current (in amperes)\n",
+      "I_r=I_st/I_f;\n",
+      "#Results\n",
+      "print'Ratio of starting current to full load current=',round(I_r,4)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ratio of starting current to full load current= 0.0407\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19 - pg 78"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the tap Position of auto transformer and Ratio of Starting torque to full load torque\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P_o=50.*1000;#in VA\n",
+      "s_f=0.05;#slip\n",
+      "V=400.;#in volts\n",
+      "#Calculations\n",
+      "I_f=P_o/(math.sqrt(3.)*V);#in amperes\n",
+      "Z=0.866;#in ohms/phase\n",
+      "I_sc=V/(math.sqrt(3)*Z);#Short Circuit current (in amperes)\n",
+      "I_st=100;#Supply current at start (in amperes)\n",
+      "K=math.sqrt(I_st/I_sc);\n",
+      "I_ratio=I_sc/I_f;\n",
+      "T_r=K**2*I_ratio**2*s_f;\n",
+      "#Results\n",
+      "print 'Tap Position of auto transformer(in %)=',round(K*100,2)\n",
+      "print 'Ratio of Starting torque to full load torque =',round(T_r,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Tap Position of auto transformer(in %)= 61.24\n",
+        "Ratio of Starting torque to full load torque = 0.256\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 20 - pg 79"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Starting current and Torque of the motor\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "V=440./sqrt(3);#in volts\n",
+      "R_s=2.;#in ohms\n",
+      "R_r=2.;#in ohms\n",
+      "f=50.;#in hertz\n",
+      "X_s=3.;#in ohms\n",
+      "P=4.;#no. of poles\n",
+      "X_r=3.;#in ohms\n",
+      "#Calculations\n",
+      "R_o1=R_s+R_r;#Equivalent resistance of motor as referred to stator (in ohms)\n",
+      "X_o1=X_s+X_r;##Equivalent reactance of motor as referred to stator (in ohms)\n",
+      "I_st=V/(sqrt(R_o1**2+X_o1**2));#Starting current (in amperes)\n",
+      "P_cu=3*I_st**2*R_r;#Copper loss (in watts)\n",
+      "P2=7446;#in watts\n",
+      "N_s=120*f/P;#Synchronous Speed (in rpm)\n",
+      "T_st=9.55*P2/N_s;#Starting Torque (in Newton-meter)\n",
+      "V1=V*10/50;#in volts\n",
+      "X_o2=X_o1*10/50;#in ohms\n",
+      "I_st1=V1/(sqrt(R_o1**2+X_o2**2));#Starting current (in amperes)\n",
+      "P_2=3*I_st1**2*R_r;#Copper loss (in watts)\n",
+      "N_s1=120*10./P;#Synchronous Speed (in rpm)\n",
+      "T_st2=9.55*P_2/N_s1;#Starting Torque (in Newton-meter)\n",
+      "#Results\n",
+      "print'Starting Current of motor at 50 Hertz (in amperes)=',round(I_st,2)\n",
+      "print 'Starting Torque of motor at 50 hertz (in Newton-meters)=',round(T_st,2)\n",
+      "print 'Starting Current of motor at 10 Hertz (in amperes)=',round(I_st1,3)\n",
+      "print 'Starting Torque of motor at 10 hertz (in Newton-meters)=',round(T_st2,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Starting Current of motor at 50 Hertz (in amperes)= 35.23\n",
+        "Starting Torque of motor at 50 hertz (in Newton-meters)= 47.41\n",
+        "Starting Current of motor at 10 Hertz (in amperes)= 12.166\n",
+        "Starting Torque of motor at 10 hertz (in Newton-meters)= 28.27\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 21 - pg 80"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Moment of inertia of drive\n",
+      "import math\n",
+      "#Initialization of variables\n",
+      "T_m=100;#Motor Torque (in Newton-meter)\n",
+      "T_l=30;#Load Torque (in Newton-meter)\n",
+      "#Calculations\n",
+      "alpha=2*math.pi*10;#in angular acceleration (in rad/sec**2)\n",
+      "J=(T_m-T_l)/alpha;\n",
+      "#Results\n",
+      "print'Moment of inertia of drive (in Kg-m^2)',round(J,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Moment of inertia of drive (in Kg-m^2) 1.114\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 22 - pg 80"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the time required\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P_o=37.5*1000;#in watts\n",
+      "N=500.;#in rpm\n",
+      "#Calculations\n",
+      "T_l=P_o*60/(2*math.pi*N);#Full load  torque (in Newton-meter)\n",
+      "T_st=(1.1+1.4)*T_l/2;# Average Starting Torque (in Newton-meters)\n",
+      "T_a=T_st-T_l;#total available torque for acceleration\n",
+      "J=20;#Moment of Inertia (in Kg-m**2)\n",
+      "t1=J*2*math.pi*N/(60*T_a);\n",
+      "#Results\n",
+      "print 'Time in attaining full load speed (in seconds)=',round(t1,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time in attaining full load speed (in seconds)= 5.85\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 23 - pg 80"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the starting Period\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P_o=37.5*1000.;#in watts\n",
+      "N=500.;#in rpm\n",
+      "#Calculations\n",
+      "T_l=P_o*60/(2*math.pi*N);#Full load  torque (in Newton-meter)\n",
+      "T_m=2*T_l;# Torque developed by motor during starting\n",
+      "T_a=T_m-T_l;#total available torque for acceleration\n",
+      "E=37.5*660*9.81;#Stored energy of machine\n",
+      "J=E*2/(2*math.pi*N/60)**2;#Moment of inertia (in Kg-m**2)\n",
+      "alpha=T_a/J;#angular acceleration (in rad/sec**2)\n",
+      "t=(2*math.pi*N/60)/alpha;\n",
+      "#Results\n",
+      "print 'Starting Period (in seconds)=',round(t,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Starting Period (in seconds)= 12.95\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 24 - pg 81"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Energy Dissipated\n",
+      "#Initialization of variables\n",
+      "V=220.;#in volts\n",
+      "I=20.;#in ampers\n",
+      "R=1;#in ohms\n",
+      "#Calculations\n",
+      "P_o=V*I-I**2*R;#Motor Output (in watts)\n",
+      "w=200;#in radians/second\n",
+      "T_l=P_o/w;#Load Torque (in N-m)\n",
+      "J=5;#kg-m**2\n",
+      "t_st=2.5;#in seconds\n",
+      "alpha=w/t_st;#angular acceleration (in rad/second**2)\n",
+      "K=(J*alpha+T_l)/I**2;\n",
+      "W_st=(J*R*w/K)+(T_l*R*t_st/K);\n",
+      "#Results\n",
+      "print 'Energy Dissipated (in watts)=',W_st"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy Dissipated (in watts)= 1000.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 25 - pg 97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Value of additional resistance\n",
+      "#Initialization of variables\n",
+      "I_l1=22.;#in amperes\n",
+      "V=220.;#in volts\n",
+      "R_sh=100.;#in ohms\n",
+      "R_a=0.1;#in ohms\n",
+      "#Calculations\n",
+      "I_sh=V/R_sh;#in amperes\n",
+      "I_a1=I_l1-I_sh;#armatur current (in amperes)\n",
+      "E_b1=V-I_a1*R_a;#Back Emf (in volts)\n",
+      "N1=1000;#in rpm\n",
+      "I_a2=0.8*19.8;#in amperes\n",
+      "R=(218.416-(800*218.02/1000))/I_a2;\n",
+      "I_a3=0.64*I_a1;#in amperes\n",
+      "R3=(218.7328-(800*218.02/1000))/I_a3;\n",
+      "#Results\n",
+      "print 'Value of additional resistance (in ohms)=',round(R,3)\n",
+      "print 'Value of additional resistance (in ohms)=',round(R3,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of additional resistance (in ohms)= 2.778\n",
+        "Value of additional resistance (in ohms)= 3.497\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 26 - pg 97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Value of additional resistance\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "I_1=50;#in amperes\n",
+      "V=500;#in volts\n",
+      "N_ratio=0.5;#Speed Ratio\n",
+      "#Calculations\n",
+      "E_b1=V;#Back Emf (in volts)\n",
+      "T_ratio=N_ratio**3;#Torque ratio\n",
+      "I_2=I_1*math.sqrt(T_ratio);#in amperes\n",
+      "R=(E_b1-(I_2*N_ratio*E_b1/I_1))/I_2;\n",
+      "#Results\n",
+      "print 'Value of additional resistance (in ohms)=',round(R,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of additional resistance (in ohms)= 23.284\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 27 - pg 98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the value of Diverter resistance and Series field resistance\n",
+      "#Initialization of variables\n",
+      "#Calculations\n",
+      "#Results\n",
+      "N_ratio=1.2;#Speed Ratio\n",
+      "#From Saturation Curve\n",
+      "I_ratio=0.65;#feild current ratio corresponding to 83.3% of full load value of flux to 65% of full load value of flux\n",
+      "I_a_ratio=N_ratio;#Armature current ratio corresponding to 83.3% of full load value of flux to 65% of full load value of flux\n",
+      "R_ratio=I_ratio/(I_a_ratio-I_ratio);\n",
+      "print 'Value of Diverter resistance (in ohms)=',round(R_ratio,3)\n",
+      "print '   times the Series Field Resistance (R_se)'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of Diverter resistance (in ohms)= 1.182\n",
+        "   times the Series Field Resistance (R_se)\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 28 - pg 99"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Armature current\n",
+      "#Initialization of variables\n",
+      "I_ab=800;#Armature current (in amperes)\n",
+      "N1=1000;#in rpm\n",
+      "N2=500.;#in rpm\n",
+      "#Calculations\n",
+      "I=I_ab*N1/N2;\n",
+      "#Results\n",
+      "print ' Armature Current at 1000 rpm (in amperes)=',I"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Armature Current at 1000 rpm (in amperes)= 1600.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 29 - pg 99"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Value of additional resistance\n",
+      "#Initialization of variables\n",
+      "f=50;#in hertz\n",
+      "P=4.;#No.of poles\n",
+      "N_s=120*f/P;#Synchronous Speed (in rpm)\n",
+      "N=1440;#Full load speed (in rpm)\n",
+      "#Calculations\n",
+      "s1=(N_s-N)/N_s;#Full load Slip\n",
+      "N2=1200;#in rpm\n",
+      "s2=(N_s-N2)/N_s;#slip\n",
+      "R2=0.25;#ohms per phase\n",
+      "R=(s2*R2/s1)-R2;\n",
+      "#Results\n",
+      "print 'Value of additional resistance (in ohms)=',R"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of additional resistance (in ohms)= 1.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 30 - pg 100"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Frequency of rotor current of 6-pole and 4 pole motor and slip referred\n",
+      "#Initialization of variables\n",
+      "f=50.;#in hertz\n",
+      "P1=6.;#No. of poles\n",
+      "P2=4.;#No.of poles\n",
+      "#Calculations\n",
+      "N_sc=120*f/(P1+P2);#Synchronous Speed (in rpm)\n",
+      "s=0.02;#slip\n",
+      "N=N_sc*(1-s);#Actual Speed (in rpm)\n",
+      "N_s=120*f/P1;#Synchronous Speed of 6-pole motor\n",
+      "s1=(N_s-N)/N_s;\n",
+      "f1=s1*f;\n",
+      "N_s2=120*f1/P2;#Synchronous Speed of 4-pole motor\n",
+      "s2=(N_s2-N)/N_s2;\n",
+      "f2=s2*f1;\n",
+      "#Results\n",
+      "print 'Frequency of rotor current of 6-pole motor (in Hertz)=',f1\n",
+      "print 'Slip referred to 6-pole stator field=',s1\n",
+      "print 'Frequency of rotor current of 4-pole motor (in Hertz)=',f2\n",
+      "print 'Slip referred to 4-pole stator field=',round(s2,4)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Frequency of rotor current of 6-pole motor (in Hertz)= 20.6\n",
+        "Slip referred to 6-pole stator field= 0.412\n",
+        "Frequency of rotor current of 4-pole motor (in Hertz)= 1.0\n",
+        "Slip referred to 4-pole stator field= 0.0485\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 31 - pg 100"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Available speeds and Maximum load which can be delievered\n",
+      "#Initialization of variables\n",
+      "f=50.;#in hertz\n",
+      "P1=6.;#No. of poles\n",
+      "P2=4.;#No.of poles\n",
+      "P_o=15.;#in HP\n",
+      "#Calculations\n",
+      "N_s1=120*f/P1;#Synchronous Speed of 6-pole motor\n",
+      "N_s2=120*f/P2;#Synchronous Speed of 4-pole motor\n",
+      "N_sc1=120*f/(P1+P2);#Concantenated Speed of set when cumulatively compounded (in rpm)\n",
+      "N_sc2=120*f/(P1-P2);#Concantenated Speed of set when differentially compounded (in rpm)\n",
+      "r=P1/P2;\n",
+      "#Results\n",
+      "print(' Available Speeds (in rpm) are :');\n",
+      "print N_s1,N_s2,N_sc1,N_sc2\n",
+      "print 'Maximum Load which can be delievered (in HP)=',P_o\n",
+      "print 'Ratio of Mechanical Power Output',r"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Available Speeds (in rpm) are :\n",
+        "1000.0 1500.0 600.0 3000.0\n",
+        "Maximum Load which can be delievered (in HP)= 15.0\n",
+        "Ratio of Mechanical Power Output 1.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 32 - pg 101"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the resistance to be added\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "f=50.;#in hertz\n",
+      "V=440.;#in volts\n",
+      "P_o=110.*1000;#in watts\n",
+      "P=24.;#No.Of Poles\n",
+      "#Calculations\n",
+      "N_s=120*f/P;#Synchronous Speed (in rpm)\n",
+      "N=245;#in rpm\n",
+      "s_f=(N_s-N)/N_s;#Full load Speed\n",
+      "T_f=P_o/(2*math.pi*N/60);#Full load Torque (in N-m)\n",
+      "R=0.04;#in ohms\n",
+      "R2=R/2;#Rotor resistance per phase (in ohms)\n",
+      "K=1.25;# ratio of stator turns to rotor turns\n",
+      "R_2=R2*K**2;#Rotor resistance reffered to stator (in ohms)\n",
+      "X_2=sqrt(((V**2*R_2*1.2/(T_f*500*math.pi))-R_2**2)*(1/R2)**2);#in ohms\n",
+      "s=(N_s-175)/N_s;#slip at 175 rpm\n",
+      "T=T_f*175**2/N**2;#Torque at 175 rpm (in N-m)\n",
+      "b=-(V**2*s*60/(T*2*math.pi*N_s));\n",
+      "a=1;\n",
+      "c=(s*X_2)**2;\n",
+      "R_n=(-b+sqrt(b**2-4*a*c))/(2*a)\n",
+      "R_ext=(R_n-R_2)/K**2;\n",
+      "#Results\n",
+      "print'Resistance to be added to each slip ring (in ohms)=',round(R_ext,4)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resistance to be added to each slip ring (in ohms)= 0.6143\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 33 - pg 111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the value of external resistance and Initial braking torque \n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "I_f=100.;#in amperes\n",
+      "V=220.;#in volts\n",
+      "N=1000.;#in rpm\n",
+      "#Calculations\n",
+      "T_f=V*I_f/(2*math.pi*N/60);#Full load torque (N-m)\n",
+      "E_bf=V;#Back emf (in volts)\n",
+      "V_a=V+E_bf;# Voltage across armature (in volts)\n",
+      "I_b=2*I_f;#braking current\n",
+      "R=(V_a/I_b);#in ohms\n",
+      "T_b=T_f*I_b/I_f;\n",
+      "E_b1=E_bf*500/N;#in volts\n",
+      "I_b1=(V+E_b1)/R;#in amperes\n",
+      "T_b1=T_f*I_b1/I_f;\n",
+      "#Results\n",
+      "print 'Value of external resistance (in ohms)=',R\n",
+      "print 'Initial Braking Torque (in N-m)=',round(T_b,0)\n",
+      "print 'Braking Torque when speed reduced to 500 rpm (in N-m)=',round(T_b1,0)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of external resistance (in ohms)= 2.2\n",
+        "Initial Braking Torque (in N-m)= 420.0\n",
+        "Braking Torque when speed reduced to 500 rpm (in N-m)= 315.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 34 - pg 111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Value of external resistance and braking torque\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P_o=17.6*1000;#in watts\n",
+      "Eff=0.8;#Efficiency\n",
+      "V=220.;#in volts\n",
+      "#Calculations\n",
+      "I_f=P_o/(V*Eff);#in amperes\n",
+      "I_af=I_f;#in amperes\n",
+      "R_a=0.1;#in ohms\n",
+      "N=1200;#in rpm\n",
+      "T_f=P_o/(2*math.pi*N/60);#Full load torque (N-m)\n",
+      "E_bf=V-I_af*R_a;#Back emf (in volts)\n",
+      "V_a=V+E_bf;# Voltage across armature (in volts)\n",
+      "I_b=2*I_f;#braking current\n",
+      "R=(V_a/I_b)-R_a;#in ohms\n",
+      "E_b1=E_bf*400/N;#in volts\n",
+      "I_b1=(V+E_b1)/(R+R_a);#in amperes\n",
+      "T_b1=T_f*I_b1/I_f;\n",
+      "#Results\n",
+      "print'Value of external resistance (in ohms)=',round(R,2)\n",
+      "print'Braking Torque when speed reduced to 400 rpm (in N-m)=',round(T_b1,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of external resistance (in ohms)= 2.05\n",
+        "Braking Torque when speed reduced to 400 rpm (in N-m)= 188.91\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 35 - pg 112"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Current Drawn and Value of additional resistance\n",
+      "#Initialization of variables\n",
+      "V=220;#in volts\n",
+      "P_o=400*9.81*2.5;#(in watts)\n",
+      "Eff=0.85;#efficiency of motor\n",
+      "Eff_h=0.8\n",
+      "#Calculations\n",
+      "P_in=P_o/(Eff*Eff_h);#in watts\n",
+      "I=P_in/V;#in amperes\n",
+      "P_out=P_o*Eff*Eff_h;#in watts\n",
+      "R=V**2/P_out;\n",
+      "#Results\n",
+      "print 'Current Drawn (in amperes)=',round(I,1)\n",
+      "print 'Value of additional resistance (in ohms)=',round(R,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Current Drawn (in amperes)= 65.6\n",
+        "Value of additional resistance (in ohms)= 7.256\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 36 - pg 113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Externalm resistance to be inserted\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "T=245.;#in N-m\n",
+      "N=250.;#in rpm\n",
+      "#Calculations\n",
+      "P_in=T*2*math.pi*N/60;#in watts\n",
+      "#Corresponding to the value of P_in we found I=27.5A and E=233 V from the given curve shown in fig.1.102\n",
+      "E=233;#in volts\n",
+      "I=27.5;#in amperes\n",
+      "r=E/I;#resistance of the circuit\n",
+      "R=r-1;#External Resistance to be inserted (in ohms)\n",
+      "#Results\n",
+      "print'External Resistance to be inserted (in ohms)=',round(R,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "External Resistance to be inserted (in ohms)= 7.47\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 37 - pg 113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Speed under regenerative braking and plugging\n",
+      "#Initialization of variables\n",
+      "P_o=45*1000;#in watts\n",
+      "R_a=0.2;#in ohms\n",
+      "V=500;#in volts\n",
+      "Eff=0.9;#Efficiency\n",
+      "R_sh=200;#in ohms\n",
+      "#Calculations\n",
+      "I_lf=P_o/(V*Eff);#Rated Line current (in amperes)\n",
+      "I_sh=V/R_sh;#Shunt feild Current (in amperes)\n",
+      "I_af=I_lf-I_sh;#Armature current on full load (in Amperes)\n",
+      "E_f=V-I_af*R_a;#emf induced (in volts)\n",
+      "N_f=600;#in rpm\n",
+      "E1=V+I_af*R_a;#in volts\n",
+      "N1=E1*N_f/E_f;\n",
+      "E2=I_af*(5.5+R_a)-V;#in volts\n",
+      "N2=E2*N_f/E_f;\n",
+      "E3=I_af*(2.6+R_a);#in volts\n",
+      "N3=E3*N_f/E_f;\n",
+      "#Results\n",
+      "print'Speed under regenerative braking(in rpm)=',round(N1,1)\n",
+      "print 'Speed under plugging (in rpm)=',round(N2,1)\n",
+      "print 'Speed under dynamic braking(in rpm)=',round(N3,1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Speed under regenerative braking(in rpm)= 649.0\n",
+        "Speed under plugging (in rpm)= 73.2\n",
+        "Speed under dynamic braking(in rpm)= 342.7\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 38 - pg 114"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Speed\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "V=230.;#in volts\n",
+      "I_a=100.;#in amperes\n",
+      "R_a=0.05;#in ohms\n",
+      "N=870.;#in rpm\n",
+      "#Calculations\n",
+      "E_b=V-I_a*R_a;#in volts\n",
+      "T=E_b*I_a/(2*math.pi*N/60);#torque developed (in N-m)\n",
+      "T_l=400;#in N-m\n",
+      "I_an=I_a*T_l/T;#in amperes\n",
+      "E=V+I_an*R_a;#in volts\n",
+      "N1=N*E/230;\n",
+      "#Results\n",
+      "print'Speed (in rpm)=',round(N1,0)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Speed (in rpm)= 901.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 39 - pg 114"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the flux and speed\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "I_a1=100;#in Amperes\n",
+      "V=230;#in volts\n",
+      "R_a=0.1;#in ohms\n",
+      "E_b1=V-I_a1*R_a;#in volts\n",
+      "N1=500;#in rpm\n",
+      "N2=800;#in rpm\n",
+      "#Calculations\n",
+      "x=(V-math.sqrt((V**2)-4*10*352))/(2*10);\n",
+      "I_a2=I_a1*x;#in amperes\n",
+      "E_b2=V-I_a2*R_a;#in volts\n",
+      "T_2=E_b2*I_a2*60/(2*math.pi*N2);#in N-m\n",
+      "T_3=800;#in N-m\n",
+      "I_a3=I_a2*T_3/T_2;#in Amperes\n",
+      "E_b3=V+I_a3*R_a;#in amperes\n",
+      "N3=E_b3*N2/E_b2;\n",
+      "#Results\n",
+      "print'Flux is reduced by',round(x**-1,4)\n",
+      "print('times to get motor speed of 800 rpm');\n",
+      "print 'Speed (in rpm)=',math.ceil(N3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 40 - pg 123"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the plugging Torque\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "f=50.;#in hertz\n",
+      "P=4.;#Number of poles\n",
+      "s_f=0.05;#Full load Slip\n",
+      "#Calculations\n",
+      "N_s=120*f/P;#Synchronous Speed (in rpm)\n",
+      "N_f=N_s*(1-s_f);#Full load speed (in rpm)\n",
+      "P_d=30*1000;#in watts\n",
+      "T_f=P_d/(2*math.pi*N_f/60.);#In N-m\n",
+      "s_2=2-s_f;#Slip at plugging\n",
+      "T_p=(s_2/s_f)*T_f*(1+16*s_f**2)/(1+16*s_2**2);\n",
+      "#Results\n",
+      "print'Plugging Torque (in N-m)=',round(T_p,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Plugging Torque (in N-m)= 131.86\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 41 - pg 123"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Initial braking Torque and during  dc dynamic\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "R2=0.5;#in ohms\n",
+      "X2=2.4;#in ohms\n",
+      "a=0.5;#ratio\n",
+      "s_f=0.05;#slip\n",
+      "f=50.;#in hertz\n",
+      "P=8.;#Number of Poles\n",
+      "#Calculations\n",
+      "R_2=R2*a**2;#in ohms\n",
+      "X_2=X2*a**2;#in ohms\n",
+      "s=2-s_f;#Slip during Plugging\n",
+      "N_s=120*f/P;#in rpm\n",
+      "V=400/sqrt(3);#in volts\n",
+      "R_L=2;#in ohms\n",
+      "R_1=0.1;#in ohms\n",
+      "X_1=0.6;#in ohms\n",
+      "I_2=V/sqrt(((R_1+(R_2+R_L)/s)**2)+(X_1+X_2)**2);#in amperes\n",
+      "T_b=3*60*I_2**2*(R_2+R_L)/(2*math.pi*N_s*s);\n",
+      "E_2=V*sqrt(((R_2/s_f)**2+(X_2**2))/(((R_2/s_f)+R_1)**2)+1.2**2)/sqrt(3.);\n",
+      "S=1-s_f;#Slip during breaking\n",
+      "I_2b=E_2/sqrt((X_2**2)+((R_L+R_2)/S)**2);\n",
+      "T_bn=3*60.*I_2b**2*(R_2+R_L)/(2*math.pi*N_s*S);\n",
+      "#Results\n",
+      "print 'Initial Braking Torque (in N-m)=',int(T_b)\n",
+      "print'Initial Braking Torque during dc dynamic braking(in N-m)=',round(T_bn,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Initial Braking Torque (in N-m)= 777\n",
+        "Initial Braking Torque during dc dynamic braking(in N-m)= 684.7\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 42 - pg 125"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Time taken and no. of revolutions made\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "J=630.;#in kg-m**2\n",
+      "T_f=1.4*9.81;#in N-m\n",
+      "T_e=165*9.81;#in N-m\n",
+      "t2=45.3\n",
+      "n2=90\n",
+      "#Calculations\n",
+      "T_b=T_e+T_f;#in N-m\n",
+      "Beta=T_b/J;#in rad/sec**2\n",
+      "f=50.;#in hertz\n",
+      "P=8.;#no of poles\n",
+      "N_s=120.*f/P;#in rpm\n",
+      "w_1=2*math.pi*N_s/60.;#in rad/sec\n",
+      "t=w_1/Beta;\n",
+      "n=w_1**2/(2*math.pi*Beta*2);\n",
+      "#Results\n",
+      "print 'case 1'\n",
+      "print 'Time taken to stop the motor (in seconds)=',round(t,1)\n",
+      "print'Number of revolutions made=',round(n,0)\n",
+      "print 'case 2'\n",
+      "print 'Time taken to stop the motor (in seconds)=',round(t2,1)\n",
+      "print'Number of revolutions made=',round(n2,0)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "case 1\n",
+        "Time taken to stop the motor (in seconds)= 30.3\n",
+        "Number of revolutions made= 189.0\n",
+        "case 2\n",
+        "Time taken to stop the motor (in seconds)= 45.3\n",
+        "Number of revolutions made= 90.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 43 - pg 126"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate he time taken and no. of Revolutions\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P_o=37.5*1000;#in Watts\n",
+      "N=750.;#in rpm\n",
+      "Eff=0.9;#Efficiency\n",
+      "V_L=400.;#in Volts\n",
+      "pf=0.85;#Power Factor\n",
+      "R_b=2.5;#in ohms\n",
+      "#Calculations\n",
+      "T_f=P_o*60/(2*math.pi*N);#in N-m\n",
+      "I_L=P_o/(math.sqrt(3)*V_L*pf*Eff);#in Amperes\n",
+      "I_b=V_L/(math.sqrt(3)*R_b);#in Amperes\n",
+      "T_E=T_f*I_b/I_L;#in N-m\n",
+      "T_i_total=T_f+T_E;#in N-m\n",
+      "w=2*math.pi*N/60;#in rad/sec\n",
+      "K=T_E/w;\n",
+      "J=20;#kg-m**2\n",
+      "t=(J/K)*math.log((T_f+K*w)/T_f);\n",
+      "n=(1/(2*math.pi*K))*(((J/K)*(T_f+K*w)*(1-math.exp(-K*t/J)))-T_f*t);\n",
+      "#Results\n",
+      "print'Time taken (in Seconds)=',round(t,1)\n",
+      "print'Number of Revolutions Made=',round(n,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time taken (in Seconds)= 2.1\n",
+        "Number of Revolutions Made= 11.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 44 - pg 127"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the time taken in both cases\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "E=240.;#in volts\n",
+      "R=15.;#in ohms\n",
+      "N=1500.;#in rpm\n",
+      "#Calculations\n",
+      "P=E**2/R;#in Watts\n",
+      "T_b=P*60/(2*math.pi*N);#in N-m\n",
+      "T_e=T_b;\n",
+      "w_1=2*math.pi*N/60;#in rad/sec\n",
+      "K=T_e/w_1;\n",
+      "J=20;#kg-m^2\n",
+      "t=(J/K)*math.log(w_1/62.832);\n",
+      "T_f=1.5*9.81;#in N-m\n",
+      "t_o=(J/K)*math.log((T_f+T_e)/(T_f+(T_e*600/1500)));\n",
+      "#Results\n",
+      "print'Time taken to bring motor from 1500 rpm to 600 rpm (in seconds)=',round(t,1)\n",
+      "print 'Time taken for fall of speed if there exist frictional torque (in seconds)=',round(t_o,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time taken to bring motor from 1500 rpm to 600 rpm (in seconds)= 117.8\n",
+        "Time taken for fall of speed if there exist frictional torque (in seconds)= 60.3\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 45 - pg 144"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the final temperature rise and Heating time constant\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "d=0.65;#in meters\n",
+      "l=1.;#in meters\n",
+      "P_o=12.*735.5;#in watts\n",
+      "Eff=0.9;#Efficiency\n",
+      "m=400.;#in kg\n",
+      "C_p=700.;#in J/Kg/Celcius\n",
+      "alpha=12.;#in watts/m^2/Celcius\n",
+      "#Calculations\n",
+      "P_in=P_o/Eff;#in watts\n",
+      "P_L=P_in-P_o;#in watts\n",
+      "S=math.pi*d*l;#in m^2\n",
+      "Theta=P_L/(S*alpha);#in Celcius\n",
+      "t=m*C_p/(S*alpha);\n",
+      "#Results\n",
+      "print'Final temperature rise (in degree celcius)=',round(Theta,0)\n",
+      "print 'Heating time constant (in seconds)=',math.ceil(t)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Final temperature rise (in degree celcius)= 40.0\n",
+        "Heating time constant (in seconds)= 11427.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 46 - pg 145"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Final steady state temperature and Heating time constant\n",
+      "#Initialization of variables\n",
+      "import matplotlib\n",
+      "from matplotlib import pyplot\n",
+      "t=([.2,.4,.6,1,1.5,2,3])\n",
+      "temp=([7,13.5,19.3,29.1,39.1,46.7,57.3])\n",
+      "#Calculations\n",
+      "tf=74 #C\n",
+      "tff=tf*.632\n",
+      "time=2\n",
+      "#Results\n",
+      "print 'Final steady state temperature = ',tf\n",
+      "print 'Heating time constant = ',time\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Final steady state temperature =  74\n",
+        "Heating time constant =  2\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 47 - pg 145"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Heating time constant and Final steady state temperature\n",
+      "theta_1=20.;#in degree celcius\n",
+      "theta_2=34.;#in degree celcius\n",
+      "import math\n",
+      "t=-1./math.log((theta_2/theta_1)-1.);#in hours\n",
+      "theta_F=theta_1/(1-math.exp(-1./t));\n",
+      "theta_f=theta_F/(1-math.exp(-1./t));\n",
+      "x=math.sqrt(2*(theta_f/theta_F)-1);\n",
+      "print 'Final steady temperature rise (in degree celcius)=',round(theta_F,2)\n",
+      "print 'Heating time constant (in hours)=',round(t,1)\n",
+      "print 'one hour rating of motor is'\n",
+      "print 'times full load rating',round(x,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Final steady temperature rise (in degree celcius)= 66.67\n",
+        "Heating time constant (in hours)= 2.8\n",
+        "one hour rating of motor is\n",
+        "times full load rating 2.38\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 48 - pg 146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Half hour rating of a 25 KW Motor\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P=25.;#in KW\n",
+      "t=1.5;#in hours\n",
+      "#Calculations\n",
+      "P_L=math.sqrt((((1/(1-math.exp(-0.5/t)))*1.9)-0.9)*P**2);\n",
+      "#Results\n",
+      "print 'Half hour rating of a 25KW Motor (in KW)=',round(P_L,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Half hour rating of a 25KW Motor (in KW)= 60.2\n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 49 - pg 147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Time of operation\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "t=60.;#in minutes\n",
+      "theta_F=20.;#in degree celcius\n",
+      "P_L1=2.5625;#Total losses at P KW\n",
+      "P_L2=7.25;#Total losses at 2P KW\n",
+      "#Calculations\n",
+      "theta_f=theta_F*P_L2/P_L1;#in degree celcius\n",
+      "t_o=t*math.log(1/(1.-(theta_F/theta_f)));\n",
+      "#Results\n",
+      "print'Time of operation (in minutes)=',round(t_o,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time of operation (in minutes)= 26.17\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 51 - pg 148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Continuous Rating of Motor\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "Eff=0.8;#Efficiency\n",
+      "P1=400.;#in watts\n",
+      "t1=60.;#in minutes\n",
+      "t2=15.;#in minutes\n",
+      "#Calculations\n",
+      "P=math.sqrt((((2.5625/(1-math.exp(-t2/t1)))-1)**(-1))*(P1/Eff)**2);\n",
+      "#Results\n",
+      "print 'Continuous Rating of Motor (in Watts)=',round(P,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Continuous Rating of Motor (in Watts)= 153.7\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 52 - pg 148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Steady state temperature rise and time taken\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "theta_1=50.;#in degree Celcius\n",
+      "theta_F=80.;#in degree celcius\n",
+      "t=0.75;#in hours\n",
+      "#Calculations\n",
+      "theta=theta_F*(1-math.exp(-1./t));\n",
+      "theta_f=theta_F/(1-math.exp(-1/t));\n",
+      "T=-t*math.log(1-(theta_1/theta_f));\n",
+      "print 'Temperature rise after 1 hour (in degree celcius)=',theta_F\n",
+      "print'Steady state temperature rise at 1 hour rating (in degree celcius)=',round(theta_f,2)\n",
+      "#Results\n",
+      "print 'Time taken to increase temperature from 50 to 80 degree celcius (in minutes)=',round(60-T*60,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Temperature rise after 1 hour (in degree celcius)= 80.0\n",
+        "Steady state temperature rise at 1 hour rating (in degree celcius)= 108.64\n",
+        "Time taken to increase temperature from 50 to 80 degree celcius (in minutes)= 32.25\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 53 - pg 149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Value of load in kW during load period\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P_cont=100.;#in KWs\n",
+      "Eff=0.8;#Efficiency\n",
+      "T_1=50.;#in minutes\n",
+      "T_2=70.;#in minutes\n",
+      "t_1=10.;#in minutes\n",
+      "t_2=10.;#in minutes\n",
+      "#Calculations\n",
+      "r=(1-math.exp(-((t_1/T_1)+(t_2/T_2))))/(1.-math.exp(-t_1/T_1));# r=theta_f/theta_F\n",
+      "P_L=2.5625;#Losses at 100 KW Load \n",
+      "P_L1=Eff*P_cont;#in Kws\n",
+      "P=math.sqrt(((P_L*r)-1)*P_L1**2);\n",
+      "#Results\n",
+      "print'Value of Load in KW during load period=',round(P,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of Load in KW during load period= 140.93\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 54 - pg 149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Heating time constant and Final Temperature rise\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "theta_1=20.;#in degree celcius\n",
+      "theta_2=30.;#in degree celcius\n",
+      "t_1=30.;#in minutes\n",
+      "t_2=60.;#in minutes\n",
+      "#Calculations\n",
+      "t=-(t_2-t_1)/math.log((theta_2/theta_1)-1);#in minutes\n",
+      "theta_F=theta_1/(1-math.exp(-t_1/t));\n",
+      "#Results\n",
+      "print 'Heating Time Contant (in minutes)=',round(t,2)\n",
+      "print 'Final Temperature Rise (in Degree Celcius)=',theta_F"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Heating Time Contant (in minutes)= 43.28\n",
+        "Final Temperature Rise (in Degree Celcius)= 40.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 43
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 55 - pg 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Maximum Overload\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "theta_1=30.;#in degree celcius\n",
+      "theta_2=40.;#in degree celcius\n",
+      "t_1=1.;#in hours\n",
+      "t_2=2.;#in hours\n",
+      "#Calculations\n",
+      "x=(theta_2/theta_1)-1;\n",
+      "theta_F=theta_1/(1-x);#in degree celcius\n",
+      "theta_f=50./(1-x);#in degree celcius\n",
+      "P_L=25.;#in KWs\n",
+      "P=P_L*math.sqrt(theta_f/theta_F);\n",
+      "#Results\n",
+      "print'Maximum Overload (in KWs)=',round(P,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum Overload (in KWs)= 32.3\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 56 - pg 151"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Temperature rise in both cases\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "theta_1=20.;#in degree celcius\n",
+      "theta_2=35.;#in degree celcius\n",
+      "t_1=1/2.;#in hours\n",
+      "t_2=1.;#in hours\n",
+      "#Calculations\n",
+      "t=-(t_2-t_1)/math.log((theta_2/theta_1)-1);#in minutes\n",
+      "theta_F=theta_1/(1-math.exp(-t_1/t));\n",
+      "theta=theta_F*(1-math.exp(-2/t));\n",
+      "theta_F1=theta_F*0.8;#in Degree Celcius\n",
+      "t_o=0.8*t;#in hours\n",
+      "theta_o=theta_F1*(1-math.exp(-1/t_o));\n",
+      "#Results\n",
+      "print'Temperature Rise After 2 hrs (in Degree Celcius)=',round(theta,1)\n",
+      "print'Temperature Rise from cold After 1 hr at full load (in Degree Celcius)=',round(theta_o,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Temperature Rise After 2 hrs (in Degree Celcius)= 54.7\n",
+        "Temperature Rise from cold After 1 hr at full load (in Degree Celcius)= 32.8\n"
+       ]
+      }
+     ],
+     "prompt_number": 46
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 57 - pg 152"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the rating of motor\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P_1=100.;#in KWs\n",
+      "P_2=50.;#in KWs\n",
+      "t_1=10.;#in minutes\n",
+      "t_2=8.;#in minutes\n",
+      "t_3=5.;#in minutes\n",
+      "t_4=4.;#in minutes\n",
+      "#Calculations\n",
+      "P=math.sqrt(((t_1*P_1**2)+(t_2*P_2**2))/(t_1+t_2+t_3+t_4));\n",
+      "#Results\n",
+      "print'Rating Of Continuously Rated Motor (in KWs)=',round(P,2)\n",
+      "print'Adequate rating of motor=70 Kws'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rating Of Continuously Rated Motor (in KWs)= 66.67\n",
+        "Adequate rating of motor=70 Kws\n"
+       ]
+      }
+     ],
+     "prompt_number": 47
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 58 - pg 152"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Power rating of Motor\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "T_1=240.;#in N_m\n",
+      "T_2=140.;#in N-m\n",
+      "T_3=300.;#in N-m\n",
+      "T_4=200.;#in N-m\n",
+      "t_1=20.;#in minutes\n",
+      "t_2=10.;#in minutes\n",
+      "t_3=10.;#in minutes\n",
+      "t_4=20.;#in minutes\n",
+      "#Calculations\n",
+      "T=math.sqrt(((t_1*T_1**2)+(t_2*T_2**2)+(t_3*T_3**2)+(t_4*T_4**2))/(t_1+t_2+t_3+t_4));\n",
+      "N=720.;#in rpm\n",
+      "P=T*2*math.pi*N/60.;\n",
+      "#Results\n",
+      "print'Power rating of Motor(in KWs)=',round(P,0)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Power rating of Motor(in KWs)= 16994.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 59 - pg 152"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Power Rating of Motor\n",
+      "import math\n",
+      "#Initialization of variables\n",
+      "t=90.;#in seconds\n",
+      "#Calculations\n",
+      "T_eq=math.sqrt(40750./t);#in Kg-m\n",
+      "N=750.;#in rpm\n",
+      "P=T_eq*9.81*2*math.pi*N/60.;\n",
+      "#Results\n",
+      "print'Power Rating Of Motor (in Kws)=',round(P,0)\n",
+      "print 'The answers are a bit different from textbook due to rounding off error'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Power Rating Of Motor (in Kws)= 16395.0\n",
+        "The answers are a bit different from textbook due to rounding off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 49
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 60 - pg 153"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Initialization of variables\n",
+      "import math\n",
+      "t1=15.\n",
+      "t2=0.\n",
+      "t3=85.\n",
+      "t4=15.\n",
+      "t5=95.\n",
+      "t6=83.\n",
+      "#Calculations\n",
+      "Hpx=4900./3 *(t1**3-t2**3) + 360000*(t3-t4) + 400./3 *((t5-t3)**3 - (t6-t3)**3)\n",
+      "Hp=math.sqrt(Hpx/120.)\n",
+      "#Results\n",
+      "print 'Hp rating of motor (in hp) = ',round(Hp,0)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Hp rating of motor (in hp) =  507.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 61 - pg 158"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the speed at the end of deceleration period\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "T_l=100*9.81;#in N-m\n",
+      "t=10;#in seconds\n",
+      "J=1000;#kg-m^2\n",
+      "f=50;#in hertz\n",
+      "P=4;#no.of poles\n",
+      "s=0.06;#slip\n",
+      "#Calculations\n",
+      "N_s=120*f/P;#synchronous speed (in rpm);\n",
+      "w_s=s*N_s*2*math.pi/60;#slip speed (in rad/sec)\n",
+      "K=w_s/(50*9.81);\n",
+      "T_m=T_l-T_l*math.exp(-t/(K*J));\n",
+      "N_sn=K*T_m*60/(2*math.pi);#in rpm\n",
+      "N=N_s-N_sn;\n",
+      "#Results\n",
+      "print'Speed at the end of deceleration period (in rpm)=',round(N,0)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Speed at the end of deceleration period (in rpm)= 1427.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 51
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 62 - pg 158"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Moment of Inertia\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P_o=500*735.5;#in watts\n",
+      "N_o=40.;#in rpm\n",
+      "s_f=0.12;\n",
+      "#Calculations\n",
+      "N_f=N_o*(1-s_f);#full load speed (in rpm)\n",
+      "T_f=P_o/(2*math.pi*N_f/60);#Full load torque (N-m)\n",
+      "T_m=2*T_f;#Motor torque (in N-m)\n",
+      "T_l=41500*9.81;#Load torque (in N-m)\n",
+      "t=10;#seconds\n",
+      "w_s=s_f*N_o*2*math.pi/60;#slip speed (in rad/sec)\n",
+      "K=w_s/T_f;\n",
+      "J=-t/(K*math.log(1-(T_m/T_l)));\n",
+      "#Results\n",
+      "print '%s %.3e' %('Moment of Inertia (in Kg-m^2)=',J)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Moment of Inertia (in Kg-m^2)= 2.947e+06\n"
+       ]
+      }
+     ],
+     "prompt_number": 52
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 63 - pg 159"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the weight of flywheel and time taken\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P_o=50*1000.;#in watts\n",
+      "f=50.;#in hertz\n",
+      "s_f=0.04;#slip\n",
+      "P=6.;#no.of poles\n",
+      "t1=300. #N-m\n",
+      "t2=1500. #N-m\n",
+      "r=.9\n",
+      "T_x=700.\n",
+      "#Calculations\n",
+      "N_s=120.*f/P;#Synchronous Speed (in rpm)\n",
+      "N_f=N_s*(1.-s_f);\n",
+      "T_f=P_o/(2*math.pi*N_f/60.)\n",
+      "T_m=2*T_f\n",
+      "T_L=t1+t2\n",
+      "T0=t1\n",
+      "t=10 #sec\n",
+      "SS=s_f*1000/60.*2*math.pi\n",
+      "K=SS/T_f\n",
+      "J=-t/K/math.log((T_L-T_m)/(T_L-T0))\n",
+      "w=J/r**2\n",
+      "tx=K*J*math.log((T_m-T0)/(T_x-T0))\n",
+      "#Results\n",
+      "print 'Weight of flywheel (in kg) = ',round(w,0)\n",
+      "print 'Time required (in sec) = ',round(tx,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight of flywheel (in kg) =  2357.0\n",
+        "Time required (in sec) =  8.875\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 64 - pg 160"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Moment of Inertia of Flywheel\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "T_L=600.;#in N-m\n",
+      "T_m=450.;#in N-m\n",
+      "N=600.;#in rpm\n",
+      "#Calculations\n",
+      "w_o=2*math.pi*N/60.;#in rad/sec\n",
+      "s=0.08;#slip\n",
+      "w=s*w_o;#in rad/sec\n",
+      "K=w/T_m;#Torque constant\n",
+      "J=(-10./K)/math.log(0.25);#in Kg-m^2\n",
+      "J_m=10;#in Kg-m^2\n",
+      "J_F=J-J_m;\n",
+      "#Results\n",
+      "print 'Moment Of Inertia Of Flywheel (in Kg-m^2)=',round(J_F,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Moment Of Inertia Of Flywheel (in Kg-m^2)= 635.8\n"
+       ]
+      }
+     ],
+     "prompt_number": 55
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 65 - pg 160"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the weight of flywheel and time taken\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P_o=100*1000.;#in watts\n",
+      "f=50.;#in hertz\n",
+      "N=960. #rpm\n",
+      "s_f=0.04;#slip\n",
+      "P=6.;#no.of poles\n",
+      "t1=600. #N-m\n",
+      "t2=2400. #N-m\n",
+      "r=.9\n",
+      "T_x=700.\n",
+      "t=10 #s\n",
+      "J_M=200.\n",
+      "#Calculations\n",
+      "N_s=120.*f/P;#Synchronous Speed (in rpm)\n",
+      "SS=(N_s-N)*math.pi*2/60.\n",
+      "T_f=P_o/(2*math.pi*N/60.)\n",
+      "T_m=2*T_f\n",
+      "T_L=t1+t2\n",
+      "T0=t1\n",
+      "K=SS/T_f\n",
+      "J=-t/K/math.log((T_L-T_m)/(T_L-T0))\n",
+      "J_F=J-J_M\n",
+      "#Results\n",
+      "print 'Moment of Inertia of flywheel (in kg-m^2) = ',round(J_F,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Moment of Inertia of flywheel (in kg-m^2) =  2545.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 56
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elements_of_Electric_drives/Chapter3.ipynb b/Elements_of_Electric_drives/Chapter3.ipynb
new file mode 100755
index 00000000..ed18a8f7
--- /dev/null
+++ b/Elements_of_Electric_drives/Chapter3.ipynb
@@ -0,0 +1,1133 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d7bcb2cff24daf3bf697643c2949d172c753aada733ca26e5769ceae0bfe8259"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3 - Thyristor control of electric motors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 215"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Efficiency, Form Factor, Ripple Factor, Transformer Utilisation Factor and Peak Inverse Voltage\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "V=120.;#in Volts\n",
+      "V_dc=40.5;#in volts\n",
+      "V_rms=76.1;#in volts\n",
+      "R=10.;#in ohms\n",
+      "#Calculations\n",
+      "I_dc=V_dc/R;#in Amperes\n",
+      "I_rms=V_rms/R;#in Amperes\n",
+      "P_dc=V_dc*I_dc;#in watts\n",
+      "P_ac=V_rms*I_rms;#in watts\n",
+      "Eff=P_dc/P_ac;#in per unit\n",
+      "K_f=V_rms/V_dc;#in per unit\n",
+      "Y=sqrt(K_f**2-1);\n",
+      "T_f=P_dc/(V*I_rms);\n",
+      "P_iv=sqrt(2)*V;\n",
+      "#Results\n",
+      "print '(a) Efficiency (in Per Unit=)',round(Eff,3)\n",
+      "print '(b) Form Factor (in Per Unit=)',round(K_f,3)\n",
+      "print '(c) Ripple Factor (in Per Unit=)',round(Y,2)\n",
+      "print'(d) Transformer Utilisation Factor=',round(T_f,2)\n",
+      "print '(e) Peak Inverse Voltage (in volts)=',round(P_iv,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Efficiency (in Per Unit=) 0.283\n",
+        "(b) Form Factor (in Per Unit=) 1.879\n",
+        "(c) Ripple Factor (in Per Unit=) 1.59\n",
+        "(d) Transformer Utilisation Factor= 0.18\n",
+        "(e) Peak Inverse Voltage (in volts)= 169.7\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the field current, firing angle and power factor of the converter\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "alpha_f=0;\n",
+      "R_f=250.;#in ohms\n",
+      "K_f=0.8;#torque constant\n",
+      "R_a=0.2;#in ohms\n",
+      "V_const=0.8;#in volt/Amperes-radian/sec\n",
+      "N=1000.;# in rpm\n",
+      "T_d=50.;#In Newton-meter\n",
+      "V_rms=220.;#in volts\n",
+      "#Calculations\n",
+      "V_f=int(V_rms*sqrt(2.)*(1+math.cos(alpha_f*math.pi/180.))/math.pi);# Feild Circuit Voltage (in volts)\n",
+      "I_f=V_f/R_f;#in Amperes\n",
+      "I_a=T_d/(K_f*I_f);#in amperes\n",
+      "w=2*N*math.pi/60;# in radian/sec\n",
+      "E_b=V_const*w*I_f;#Back emf (in volts)\n",
+      "V_a=E_b+(I_a*R_a);#armature voltage (in volts)\n",
+      "alpha_a=math.acos(((V_a*math.pi/(V_rms*sqrt(2))))-1)*180/math.pi;\n",
+      "P_o=int(V_a*I_a);#in watts\n",
+      "I=52.66;#in amperes\n",
+      "pf=P_o/(V_rms*I);\n",
+      "#Results\n",
+      "print '(a) Field Current (in Amperes)=',I_f\n",
+      "print '(b) Firing angle of the converter (in degrees)=',round(alpha_a,2)\n",
+      "print '(c) Power factor of the converter=',round(pf,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Field Current (in Amperes)= 0.792\n",
+        "(b) Firing angle of the converter (in degrees)= 99.83\n",
+        "(c) Power factor of the converter= 0.56\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Speed of Motor and Motor Torque\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "alpha_a=45.;#in degrees\n",
+      "V=230.;#in volts\n",
+      "K=1.668;#K_a*Phy (in volt/radian/second)\n",
+      "R_a=0.2;#in ohms\n",
+      "I_a=30.;#in amperes\n",
+      "#Calculations\n",
+      "V_a=2*V*math.sqrt(2)*math.cos(alpha_a*math.pi/180.)/math.pi;#in volts\n",
+      "E_b=V_a-(I_a*R_a);# in volts\n",
+      "w=E_b/K;#in radian/seconds\n",
+      "N=math.ceil(w*60./(2*math.pi));\n",
+      "T=K*I_a;\n",
+      "#Results\n",
+      "print '(a) Speed Of Motor (in rpm)=',N\n",
+      "print '(b) Motor Torque (in Newton-meter)=',T"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Speed Of Motor (in rpm)= 804.0\n",
+        "(b) Motor Torque (in Newton-meter)= 50.04\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Firing angle\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "R_a=0.06;#in ohms\n",
+      "N1=875.;# in rpm\n",
+      "N2=750.;#in rpm\n",
+      "V_rms=220.;#in volts\n",
+      "V_dc=200.;#in volts\n",
+      "I_a=150.;#in amperes\n",
+      "#Calculations\n",
+      "E_b1=V_dc-(I_a*R_a);#Back emf (in volts)\n",
+      "E_b2=E_b1*(N2/N1);# in volts\n",
+      "V_a=E_b2+(I_a*R_a);#armature voltage (in volts)\n",
+      "alpha_a=math.acos((V_a*math.pi/(2*V_rms*math.sqrt(2))))/math.pi*180.;\n",
+      "#Results\n",
+      "print 'Firing angle (in degrees)=',round(alpha_a,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Firing angle (in degrees)= 29.31\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Average Load Voltage, Current and Input Power Factor\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "alpha=30.;#in degrees\n",
+      "V=230.;#in volts\n",
+      "R=2.;#in ohms\n",
+      "#Calculations\n",
+      "V_avg=2*V*math.sqrt(2)*math.cos(alpha*math.pi/180.)/math.pi;#in volts\n",
+      "I_avg=V_avg/R;#in amperes\n",
+      "I_rms=I_avg;#in amperes (as ripple free)\n",
+      "P=V_avg*I_avg;#in watts\n",
+      "Q=2*V*math.sqrt(2)*I_avg*math.sin(alpha*math.pi/180.)/math.pi;# in VAR\n",
+      "pf=math.cos(math.atan(Q/P));\n",
+      "#Results\n",
+      "print '(a) Average Load Voltage (in Volts)=',round(V_avg,2)\n",
+      "print '(b) Average Load Current (in Amperes)=',round(I_avg,3)\n",
+      "print '(c) Input Power Factor (lagging)=',round(pf,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average Load Voltage (in Volts)= 179.33\n",
+        "(b) Average Load Current (in Amperes)= 89.665\n",
+        "(c) Input Power Factor (lagging)= 0.866\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the motor Armature Current and motor Speed\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "alpha=60.;#in degrees\n",
+      "V=250.;#in volts\n",
+      "T=140.;#in Newton-Meter\n",
+      "K_a=2.5;#motor voltage constant (in Volt/radian/sec)\n",
+      "R_a=0.2;#in ohms\n",
+      "#Calculations\n",
+      "V_a=2*V*math.sqrt(2)*math.cos(alpha*math.pi/180.)/math.pi;#in volts\n",
+      "I_a=T/K_a;#in amperes\n",
+      "E_b=V_a-(I_a*R_a);#in volts\n",
+      "w=E_b*I_a/T;\n",
+      "#Results\n",
+      "print '(a) Motor Armature Current (in amperes)=',I_a\n",
+      "print '(b) Motor Speed (in radian/sec)=',round(w,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Motor Armature Current (in amperes)= 56.0\n",
+        "(b) Motor Speed (in radian/sec)= 40.536\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the firing angle in both cases\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "V_dc=220.;#in volts\n",
+      "V=230.;#in volts\n",
+      "I_a1=10.;#in amperes\n",
+      "N1=1500.;#in rpm\n",
+      "N2=500.;#in rpm\n",
+      "N3=-1000.;#in rpm\n",
+      "R_a=2.;#in ohms\t\n",
+      "#Calculations\n",
+      "E_b1=V_dc-(I_a1*R_a);#in volts\n",
+      "E_b2=E_b1*(N2/N1);#in volts\n",
+      "I_a2=I_a1/2;#in amperes\n",
+      "V_a1=E_b2+(I_a2*R_a);#in volts\n",
+      "alpha_a1=math.acos((V_a1*math.pi/(2*V*math.sqrt(2))))*180/math.pi;\n",
+      "E_b3=E_b1*(N3/N1);#in volts\n",
+      "I_a3=I_a1;#in amperes\n",
+      "V_a2=E_b3+(I_a3*R_a);#in volts\n",
+      "alpha_a2=math.acos((V_a2*math.pi/(2*V*math.sqrt(2))))*180/math.pi;\n",
+      "#Results\n",
+      "print '(a) Firing angle (in degrees) at half the rated torque=',round(alpha_a1,2)\n",
+      "print '(b) Firing angle (in degrees) at rated motor torque=',round(alpha_a2,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Firing angle (in degrees) at half the rated torque= 68.27\n",
+        "(b) Firing angle (in degrees) at rated motor torque= 123.18\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 219"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Torque developed and motor Speed\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "alpha_f=0;#in degrees\n",
+      "alpha_a=30.;#in degrees\n",
+      "V=220.;#in volts\n",
+      "I_a=40.;#in amperes\n",
+      "R_a=0.2;#in amperes\n",
+      "K_t=1.12;#motor voltage constant (in Volt/radian/sec)\n",
+      "R_f=200.;#in ohms\n",
+      "#Calculations\n",
+      "V_f=2*V*math.sqrt(2)*math.cos(alpha_f*math.pi/180.)/math.pi;#in volts\n",
+      "I_f=V_f/R_f;#in amperes\n",
+      "V_a=2*V*math.sqrt(2)*math.cos(alpha_a*math.pi/180.)/math.pi;#in volts\n",
+      "E_b=V_a-(I_a*R_a);#in volts\n",
+      "T_d=K_t*I_a*I_f;\n",
+      "N=E_b*60/(2*math.pi*K_t*I_f);\n",
+      "#Results\n",
+      "print '(a) Torque developed (in N-m)=',round(T_d,3)\n",
+      "print '(b) Motor Speed (in rpm)=',math.ceil(N)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Torque developed (in N-m)= 44.368\n",
+        "(b) Motor Speed (in rpm)= 1408.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Firing Angle\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "R_a=0.2;#in ohms\n",
+      "alpha_f=0;#in degrees\n",
+      "V=400.;#in volts\n",
+      "R_f=250.;#in ohms\n",
+      "K=1.3;#Volts/Ampere-radian/second\n",
+      "N=1200.;#in rpm\n",
+      "I_a=60.;#in amperes\n",
+      "#Calculations\n",
+      "V_f=3*sqrt(3)*V*sqrt(2)/(sqrt(3)*math.pi);#in volts\n",
+      "I_f=V_f/R_f;#in amperes\n",
+      "E_b=K*I_f*2*math.pi*N/60;#in volts\n",
+      "V_a=E_b+(I_a*R_a);#in volts\n",
+      "alpha_a=math.acos((V_a*math.pi)/(3*V*sqrt(2)))*180/math.pi;\n",
+      "#Results\n",
+      "print'Firing Angle (in degrees)=',round(alpha_a,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Firing Angle (in degrees)= 47.49\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the No-Load Speed and Firing Angle\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "alpha_a=45.;#in degrees\n",
+      "R_a=0.2;#in ohms\n",
+      "K=0.25;#in volts/rpm\n",
+      "V=400.;#in volts\n",
+      "I_ao=5.;#in amperes (no load armature current)\n",
+      "N=1500.;#in rpm\n",
+      "I_a=100.;#in amperes\n",
+      "#Calculations\n",
+      "V_ao=3*sqrt(3)*V*sqrt(2)*(1+math.cos(180/math.pi*alpha_a))/(sqrt(3)*math.pi*2);#in volts\n",
+      "E_bo=V_ao-(I_ao*R_a);#in volts\n",
+      "N_o=E_bo/K;\n",
+      "E_b=N*K;#in volts\n",
+      "V_a=E_b+(I_a*R_a);#in volts\n",
+      "alpha_ao=math.acos(((V_a*math.pi*2)/(3*V*sqrt(2)))-1)*180/math.pi;\n",
+      "#Results\n",
+      "print'No-Load Speed (in rpm)=',int(N_o)\n",
+      "print 'Firing Angle (in degrees)=',round(alpha_ao,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "No-Load Speed (in rpm)= 436\n",
+        "Firing Angle (in degrees)= 62.45\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11 - pg 222"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the speed-torque characteristics\n",
+      "#Initialization of variables\n",
+      "import warnings\n",
+      "warnings.filterwarnings(\"ignore\")\n",
+      "import math\n",
+      "import numpy\n",
+      "import matplotlib\n",
+      "from matplotlib import pyplot\n",
+      "Vm=400. #V\n",
+      "alp=90 #degrees\n",
+      "Ia=([5,10,20,30,40])\n",
+      "Ra=0.8\n",
+      "Kt=2.\n",
+      "n=len(Ia)\n",
+      "Ta=numpy.zeros(n)\n",
+      "Eb=numpy.zeros(n)\n",
+      "RPM=numpy.zeros(n)\n",
+      "#Calculations\n",
+      "Va=3*math.sqrt(2)/2./math.pi *Vm*(1+math.cos(alp*math.pi/180.))\n",
+      "for i in range (0,n):\n",
+      "\tTa[i] = 2*Ia[i]\n",
+      "\tEb[i] = Va-Ia[i]*Ra\n",
+      "\tRPM[i] = round(Eb[i] /Kt *60./2/math.pi,0)\n",
+      "\n",
+      "#Results\n",
+      "print RPM\n",
+      "pyplot.plot(Ta,RPM)\n",
+      "pyplot.xlabel('Ta')\n",
+      "pyplot.ylabel('RPM')\n",
+      "pyplot.title('speed-torque characteristic curve')\n",
+      "pyplot.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "[ 1271.  1251.  1213.  1175.  1137.]\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n6MJ1GhN/a0kaCyVtCpDNV/VmzvGslKSOpIRxe0TckzVX1GsAiIh3SOfXDKZy4v8q8E1JL5N+Ke4l\n6XYqJ34iYn727yJSn/ouVEb8rwOvR8TT2eM7SUlkQQXEXuhA0lRHi7LHlfDeA+wEPB4R/4yIT4G7\ngV1p4vvfWpLGvaTZccn+vWcl6+ZKkoAbgZkRcXXBoop4DZI2rBtdIakzqU90ChUSf0T8OCK2iIgt\nSV0Mf42IEVRI/JK6SFonu9+V1LdeSwXEH2lS0rmS+mZN+wAzSH3rZR17keF83jUFFfDeZ2YBQyV1\nzr6H9iENBmna+593cWY1ijljSf1xy4C5wHGkAs/DwGzgIWDdvONcSfy7k/rSp5K+bKeQRoNVxGsA\nBgLPZvE/B4zK2isi/qLXMgy4t5LiJ9UFpma36cDoCot/O9LgiWmkX7o9KiX2LP6uwFuk2bfr2iop\n/jNJiboWuBXo2NT4fXKfmZk1WmvpnjIzsxbgpGFmZo3mpGFmZo3mpGFmZo3mpGFmZo3mpGFmZo1W\nVtcIN6t0kjYgjXmHNPnbcmARaWqGXSKdiWtWsXyehlmJSDofeDcirsw7FrPm4u4ps9KSpO9LmpRd\nuOrObPoVs4rkpGFWendHxC6RZgZ+Hjg+74DMVpdrGmalN1DSRaR5lroBD+Ycj9lqc9IwK72bgUMi\nolbSMUBVzvGYrTZ3T5mVXjfSNQs6AkevamWzcuYjDbPSO490Sd9F2b/d8g3HbPV5yK2ZmTWau6fM\nzKzRnDTMzKzRnDTMzKzRnDTMzKzRnDTMzKzRnDTMzKzRnDTMzKzRnDTMzKzR/j+cl1XzqyPrGQAA\nAABJRU5ErkJggg==\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x312a450>"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12 - pg 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Average Load Voltage, thyristor current, Diode current, Effective input resistance\n",
+      "#Initialization of variables\n",
+      "alpha=0.4;#duty cycle\n",
+      "V_dc=200.;#in volts\n",
+      "R=10;#in ohms\n",
+      "#Calculations\n",
+      "V_a=alpha*V_dc;\n",
+      "I=V_a/R;\n",
+      "I_d=0;\n",
+      "R_eff=R/alpha;\n",
+      "#Results\n",
+      "print '(a) Average Load Voltage (in volts)=',V_a\n",
+      "print '(b) Average thyristor current (in amperes)=',I\n",
+      "print '(c) Diode Current (in amperes)=',I_d\n",
+      "print '(d) Effective input resistance (in ohms)=',R_eff"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average Load Voltage (in volts)= 80.0\n",
+        "(b) Average thyristor current (in amperes)= 8.0\n",
+        "(c) Diode Current (in amperes)= 0\n",
+        "(d) Effective input resistance (in ohms)= 25.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13 - pg 228"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the average load Current and Firing Angle\n",
+      "#Initialization of variables\n",
+      "V_dc=220.;#in volts\n",
+      "V_a=250.;#average load voltage (in volts)\n",
+      "R=10.;#in ohms\n",
+      "#Calculations\n",
+      "alpha=1.-(V_dc/V_a);\n",
+      "I=V_a/R;\n",
+      "#Results\n",
+      "print 'Average Load Current (in amperes)=',I\n",
+      "print 'Firing Angle (in degrees)=',alpha"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average Load Current (in amperes)= 25.0\n",
+        "Firing Angle (in degrees)= 0.12\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14 - pg 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Frequency of Switching pulse\n",
+      "#Initialization of variables\n",
+      "V_dc=125.;#in volts\n",
+      "V_a=200.;#average output voltage (in volts)\n",
+      "T_on=1*10**-3;#in seconds\n",
+      "#Calculations\n",
+      "alpha=V_a/(V_a+V_dc);#duty cycle\n",
+      "f=alpha/T_on;\n",
+      "#Results\n",
+      "print'Frequency Of Switching pulse (in hertz)=',round(f,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Frequency Of Switching pulse (in hertz)= 615.4\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15 - pg 234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Frequency\n",
+      "#Initialization of variables\n",
+      "alpha=0.25;#duty cycle\n",
+      "V=400;#in volts\n",
+      "L=0.5;#in henery\n",
+      "I=10;#ripple current (in amperes)\n",
+      "#Calculations\n",
+      "V_a=alpha*V;#in volts\n",
+      "T_on=L*I/(V-V_a);#in seconds\n",
+      "T=T_on/alpha;#in seconds\n",
+      "f=1./T;\n",
+      "#Results\n",
+      "print 'Frequency (in hertzs)=',f"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Frequency (in hertzs)= 15.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16 - pg 234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Range of Speed Control and duty cycle\n",
+      "#Initialization of variables\n",
+      "V_a=120.;#in volts\n",
+      "I_a=20.;#in amperes\n",
+      "R_a=0.5;#in ohms\n",
+      "K=0.05;#Motor constant (in volts/rpm)\n",
+      "#Calculations\n",
+      "E_b=V_a-(I_a*R_a);#in volts\n",
+      "N=E_b/K;#in rpm\n",
+      "E_bo=0;#in volts\n",
+      "V_a1=E_bo+(I_a*R_a);#in volts\n",
+      "alpha=V_a1/V_a;\n",
+      "#Results\n",
+      "print 'Range of Speed Control is :'\n",
+      "print 'Lowest Speed (in rpm) = 0'\n",
+      "print 'Highest Speed (in rpm)=',N\n",
+      "print 'Range of duty cycle is :'\n",
+      "print 'lowest value of duty cycle=',round(alpha,3)\n",
+      "print 'Highest value of duty cycle= 1'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Range of Speed Control is :\n",
+        "Lowest Speed (in rpm) = 0\n",
+        "Highest Speed (in rpm)= 2200.0\n",
+        "Range of duty cycle is :\n",
+        "lowest value of duty cycle= 0.083\n",
+        "Highest value of duty cycle= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17 - pg 235"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Duty Cycle of the Chopper\n",
+      "#Initialization of variables\n",
+      "V=200;#in volts\n",
+      "I_a=100;#in amperes\n",
+      "R_a=0.02;#in ohms\n",
+      "N1=940;#in rpm\n",
+      "N2=500;#in rpm\n",
+      "#Calculations\n",
+      "E_b1=V-(I_a*R_a);#in volts\n",
+      "E_b2=E_b1*N2/N1;#in volts\n",
+      "V_a=E_b2+(I_a*R_a);#in volts\n",
+      "alpha=V_a/V;\n",
+      "#Results\n",
+      "print 'Duty Cycle Of The Chopper=',round(alpha,4)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Duty Cycle Of The Chopper= 0.5366\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 18 - pg 235"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the power input, motor speed, Torque developed, Minimum and Maximum speed\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "alpha=0.6;#duty cycle\n",
+      "alpha1=0.1;#duty cycle\n",
+      "alpha2=0.9;#duty cycle\n",
+      "V=400.;#in volts\n",
+      "R_a=0.1;#in ohms\n",
+      "K=4;#Motor Constant (in Volts/radians)\n",
+      "I_a=150.;#in Amperes\n",
+      "#Calculations\n",
+      "P_in=alpha*V*I_a/1000;\n",
+      "V_a=alpha*V;#in volts\n",
+      "E_b=V_a-(I_a*R_a);#in volts\n",
+      "N=60*E_b/(2*math.pi*K);\n",
+      "T=E_b*I_a*60/(2*math.pi*N);\n",
+      "E_b1=(alpha1*V)-(I_a*R_a);#in volts\n",
+      "N1=60*E_b1/(2*math.pi*K);\n",
+      "E_b2=(alpha2*V)-(I_a*R_a);#in volts\n",
+      "N2=60*E_b2/(2*math.pi*K);\n",
+      "#Results\n",
+      "print '(a) Power input (in Kilo-Watts)=',P_in\n",
+      "print '(b) Motor Speed (in rpm)=',int(N)\n",
+      "print '(c) Torque developed (in Newton-meter)=',T\n",
+      "print '(d) Minimum Speed (in rpm)=',math.ceil(N1)\n",
+      "print '    Maximum Speed (in rpm)=',math.ceil(N2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Power input (in Kilo-Watts)= 36.0\n",
+        "(b) Motor Speed (in rpm)= 537\n",
+        "(c) Torque developed (in Newton-meter)= 600.0\n",
+        "(d) Minimum Speed (in rpm)= 60.0\n",
+        "    Maximum Speed (in rpm)= 824.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19 - pg 236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Average Voltage, Power Dissipated and Speed\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "alpha=0.4;#duty cycle\n",
+      "R_b=7.5;#in ohms\n",
+      "R_a=0.1;#in ohms\n",
+      "I_f=1.5;#in amperes\n",
+      "K=1.6;#Voltage Constant (in V/A-rad/sec)\n",
+      "I_a=150;#in amperes\n",
+      "#Calculations\n",
+      "V_b=(1-alpha)*R_b*I_a;\n",
+      "P_b=I_a**2*R_b*(1-alpha);\n",
+      "E_g=V_b+(I_a*R_a);#in volts\n",
+      "N=60*E_g/(K*I_f*2*math.pi);\n",
+      "#Results\n",
+      "print'(a) Average Voltage (in volts)=',V_b\n",
+      "print'(b) Power Dissipated (in kilo-watts)=',P_b/1000.\n",
+      "print'(c) Speed (in rpm)=',int(N)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average Voltage (in volts)= 675.0\n",
+        "(b) Power Dissipated (in kilo-watts)= 101.25\n",
+        "(c) Speed (in rpm)= 2745\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 20 - pg 236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Firing Angle and Power Supplied\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "E_g=-163.53;#in volts\n",
+      "I_a=40.;#in amperes\n",
+      "R_a=0.2;#in ohms\n",
+      "V=220.;#in volts\n",
+      "#Calculations\n",
+      "V_a=E_g+(I_a*R_a);#in volts\n",
+      "alpha_a=math.acos(V_a*math.pi/(2*V*math.sqrt(2)))*180/math.pi;\n",
+      "P=V_a*I_a*(-1);\n",
+      "#Results\n",
+      "print 'Firing Angle (in degrees)=',round(alpha_a,2)\n",
+      "print 'Power Supplied (in Kilo-Watts)=',P/1000."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Firing Angle (in degrees)= 141.74\n",
+        "Power Supplied (in Kilo-Watts)= 6.2212\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 21 - pg 236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Pulse Width\n",
+      "#Initialization of variables\n",
+      "E_b=100;#in volts\n",
+      "I_a=25;#in amperes\n",
+      "R=0.2;#(R_a+R_se) in ohms\n",
+      "V=220.;#in volts\n",
+      "f=200.;#in hertz\n",
+      "#Calculations\n",
+      "V_a=E_b+(I_a*R);#in volts\n",
+      "T_on=V_a/(V*f);\n",
+      "#Results\n",
+      "print ' Pulse Width (in mili-seconds)',round(T_on*1000,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Pulse Width (in mili-seconds) 2.39\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 22 - pg 244"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Armature Current and Motor Torque\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "N=1000.;#in rpm\n",
+      "V=240.;#in volts\n",
+      "w=2*math.pi*N/60.;#in rad/sec\n",
+      "alpha=30*math.pi/180.;#in radians\n",
+      "R=0.25;#in ohms\n",
+      "K=0.025;#in Nm/A**2\n",
+      "#Calculations\n",
+      "V_a1=math.sqrt(2)*V*(1+math.cos(alpha))/math.pi;#in volts\n",
+      "I_a1=V_a1/(R+(K*w));\n",
+      "T_1=K*I_a1**2;\n",
+      "V_a2=2*math.sqrt(2)*V*math.cos(alpha)/math.pi;#in volts\n",
+      "I_a2=V_a2/(R+(K*w));\n",
+      "T_2=K*I_a2**2;\n",
+      "#Results\n",
+      "print 'When controlled through semiconverter'\n",
+      "print 'Armature Current (in Amperes)=',round(I_a1,1)\n",
+      "print 'Motor Torque (in N-m)=',round(T_1,2)\n",
+      "print 'When controlled through full converter'\n",
+      "print 'Armature Current (in Amperes)=',round(I_a2,2)\n",
+      "print 'Motor Torque (in N-m)=',round(T_2,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When controlled through semiconverter\n",
+        "Armature Current (in Amperes)= 70.3\n",
+        "Motor Torque (in N-m)= 123.53\n",
+        "When controlled through full converter\n",
+        "Armature Current (in Amperes)= 65.25\n",
+        "Motor Torque (in N-m)= 106.43\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 23 - pg 244"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Average Motor Current and Speed\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "V=230.;#in volts\n",
+      "K_t=0.3;#torque constant (in N-m/A^2)\n",
+      "T_L=30.;#in N-m\n",
+      "#Calculations\n",
+      "V_dc=sqrt(2)*V*2/math.pi;#in volts\n",
+      "I_a=sqrt(T_L/K_t);\n",
+      "w=(207.-I_a)/(K_t*I_a);# in rad/sec\n",
+      "N=w*60./(2*math.pi);\n",
+      "#Results\n",
+      "print 'Average Motor Current (in Amperes)=',I_a\n",
+      "print 'Speed (in rpm)=',round(N,0)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average Motor Current (in Amperes)= 10.0\n",
+        "Speed (in rpm)= 627.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 24 - pg 245"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Armature current and Firing angle\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "I_a1=36;#in amperes\n",
+      "N1=400;#in amperes\n",
+      "N2=600;#in amperes\n",
+      "alpha_1=100*math.pi/180.;#in radians\n",
+      "V=675;#in volts\n",
+      "R=0.4;#in ohms\n",
+      "#Calculations\n",
+      "V_a1=sqrt(2)*V*(1+math.cos(alpha_1))/math.pi;#in volts\n",
+      "E_b1=V_a1-I_a1*R;#in volts\n",
+      "I_a2=I_a1*N2/N1;#in amperes\n",
+      "E_b2=E_b1*I_a2*N2/(I_a1*N1);#in volts\n",
+      "V_a2=E_b2+21.6;#/in volts\n",
+      "alpha=math.acos((V_a2*math.pi/(sqrt(2)*V))-1)*180/math.pi;\n",
+      "#Results\n",
+      "print 'Armature current (in Amperes)=',I_a2\n",
+      "print 'Firing angle (in degrees)=',round(alpha,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature current (in Amperes)= 54\n",
+        "Firing angle (in degrees)= 34.54\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elements_of_Electric_drives/screenshots/chap1.png b/Elements_of_Electric_drives/screenshots/chap1.png
new file mode 100755
index 00000000..4bfe703f
Binary files /dev/null and b/Elements_of_Electric_drives/screenshots/chap1.png differ
diff --git a/Elements_of_Electric_drives/screenshots/chap12.png b/Elements_of_Electric_drives/screenshots/chap12.png
new file mode 100755
index 00000000..86719f19
Binary files /dev/null and b/Elements_of_Electric_drives/screenshots/chap12.png differ
diff --git a/Elements_of_Electric_drives/screenshots/chap3.png b/Elements_of_Electric_drives/screenshots/chap3.png
new file mode 100755
index 00000000..8fd3f884
Binary files /dev/null and b/Elements_of_Electric_drives/screenshots/chap3.png differ
diff --git a/Elements_of_Power_system/README.txt b/Elements_of_Power_system/README.txt
new file mode 100755
index 00000000..2b90280c
--- /dev/null
+++ b/Elements_of_Power_system/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Tushar Ranjan
+Course: btech
+College/Institute/Organization: IIT Bombay
+Department/Designation: Chemical Engineering
+Book Title: Elements of Power system
+Author: J.B. Gupta
+Publisher: S K kataria and sons, New Delhi
+Year of publication: 2011
+Isbn: 978-93-5014-043-7
+Edition: 1
\ No newline at end of file
diff --git a/Elements_of_discrete_mathematics/Chapter1.ipynb b/Elements_of_discrete_mathematics/Chapter1.ipynb
new file mode 100755
index 00000000..56b9d58d
--- /dev/null
+++ b/Elements_of_discrete_mathematics/Chapter1.ipynb
@@ -0,0 +1,498 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:de0a0f66aff079301941637787a8030ad1f216bb6fd8c51b1e13503001244ca2"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1 Sets and Propositions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11:Page 21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"To find the number of computers that support one or more of the three kinds of hardware considered, namely;Floating point arithmetic unit, magnetic disk storage and graphical display terminal.\"\n",
+      "A1=2#Set of computers with floating point arithmetic unit\n",
+      "A2=5#Set of computers with magetic disk storage\n",
+      "A3=3#Set of computers with graphical display terminal\n",
+      "A1_intersection_A2=2#Set of computers with floating point arithmetic unit and magentic disk storage\n",
+      "A1_intersection_A3=1#Set of computers with floating point arithmetic unit and graphical display terminal\n",
+      "A2_intersection_A3=3#Set of computers with magnetic disk storage and graphical display terminal \n",
+      "A1_intersection_A2_intersection_A3=1#Set of computers with floating point arithmetic, magnetic disk storage and graphical display terminal\n",
+      "#By the principle of inclusion and exclusion\n",
+      "A1_union_A2_union_A3=A1+A2+A3-A1_intersection_A2-A1_intersection_A3-A2_intersection_A3+A1_intersection_A2_intersection_A3\n",
+      "print A1_union_A2_union_A3,\"of the six computers have one or more of the three kinds of hardware considered\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "To find the number of computers that support one or more of the three kinds of hardware considered, namely;Floating point arithmetic unit, magnetic disk storage and graphical display terminal.\n",
+        "5 of the six computers have one or more of the three kinds of hardware considered\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12:Page 21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"We consider 200 students of courses Discrete Mathematics and Economics. A party is being organized which can be attended only by students who are not in either of the courses as these two courses have exams scheduled the next day.\"\n",
+      "students=200# Total number of students \n",
+      "DM=50 # Number of students who have taken Discrete Mathematics\n",
+      "ECO=140 # Number of students who have taken Economics\n",
+      "DM_and_ECO=24 # Number of students who have taken both Discrete Mathematics and Economics\n",
+      "one_or_both=(DM+ECO-DM_and_ECO) # Number of students who have taken either one or both the courses\n",
+      "print \"Number of students who take either one or both the courses is equal to\",one_or_both\n",
+      "print \"Consequently, the number of students who will be at the party is\", (students-one_or_both)\n",
+      "print \"Suppose that 60 of the 200 are underclass students \"\n",
+      "UC_students=60 # Number of underclass students\n",
+      "dm=20 # Number of underclass students who have taken Discrete Mathematics\n",
+      "eco=45 # Number of underclass students who have taken Economics\n",
+      "dm_and_eco=16 # Number of underclass students who have taken both Discrete Mathematics and Economics\n",
+      "# A1 is the set of students in the course Discrete Mathematics\n",
+      "# A2 is the set of students in the course Economics\n",
+      "# A3 is the set of underclass students\n",
+      "A1_union_A2_union_A3=DM+ECO+UC_students-DM_and_ECO-dm-eco+dm_and_eco\n",
+      "print \"Thus, the number of upperclass students who will go to the party is\",(students-A1_union_A2_union_A3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "We consider 200 students of courses Discrete Mathematics and Economics. A party is being organized which can be attended only by students who are not in either of the courses as these two courses have exams scheduled the next day.\n",
+        "Number of students who take either one or both the courses is equal to 166\n",
+        "Consequently, the number of students who will be at the party is 34\n",
+        "Suppose that 60 of the 200 are underclass students \n",
+        "Thus, the number of upperclass students who will go to the party is 23\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13:Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"To find the number of cars which have neither a radio nor an air conditioner nor white-wall tires out of the thirty cars assembled in a factory\"\n",
+      "cars=30 # Total number of cars assembled in a factory\n",
+      "A1=15 # Set of cars with radio\n",
+      "A2=8 # Set of cars with air-conditioner\n",
+      "A3=6 # Set of cars with white-wall tires\n",
+      "A1_intersection_A2_intersection_A3=3\n",
+      "A1_intersection_A2=3 # Since |A1_intersection_A2| >=|A1_intersection_A2_intersection_A3|\n",
+      "A1_intersection_A3=3 # Since |A1_intersection_A3| >=|A1_intersection_A2_intersection_A3|\n",
+      "A2_intersection_A3=3 # Since |A2_intersection_A3| >=|A1_intersection_A2_intersection_A3|\n",
+      "A1_union_A2_union_A3=A1+A2+A3-A1_intersection_A2-A1_intersection_A3-A2_intersection_A3+A1_intersection_A2_intersection_A3 # By the principle of inclusion and exclusion\n",
+      "print \"There are at most\",A1_union_A2_union_A3,\"cars that have one or more options.\"\n",
+      "print \"Consequently,there are at least\",(cars-A1_union_A2_union_A3),\"cars that do not have any options\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "To find the number of cars which have neither a radio nor an air conditioner nor white-wall tires out of the thirty cars assembled in a factory\n",
+        "There are at most 23 cars that have one or more options.\n",
+        "Consequently,there are at least 7 cars that do not have any options\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14:Page 24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"To determine the number of integers between 1 and 250 that are divisible by 2,3,5,7\"\n",
+      "A1=250/2 # Number of integers between 1 and 250 that are divisible by 2\n",
+      "A2=250/3 # Number of integers between 1 and 250 that are divisible by 3\n",
+      "A3=250/5 # Number of integers between 1 and 250 that are divisible by 5\n",
+      "A4=250/7 # Number of integers between 1 and 250 that are divisible by 7\n",
+      "A1_intersection_A2=250/(2*3) # Number of integers between 1 and 250 that are divisible by 2 and 3\n",
+      "A1_intersection_A3=250/(2*5) # Number of integers between 1 and 250 that are divisible by 2 and 5\n",
+      "A1_intersection_A4=250/(2*7) # Number of integers between 1 and 250 that are divisible by 2 and 7\n",
+      "A2_intersection_A3=250/(3*5)# Number of integers between 1 and 250 that are divisible by 3 and 5\n",
+      "A2_intersection_A4=250/(3*7)# Number of integers between 1 and 250 that are divisible by 3 and 7\n",
+      "A3_intersection_A4=250/(5*7)# Number of integers between 1 and 250 that are divisible by 5 and 7\n",
+      "A1_intersection_A2_intersection_A3=250/(2*3*5) # Number of integers between 1 and 250 that are divisible by 2,3 and 5\n",
+      "A1_intersection_A2_intersection_A4=250/(2*3*7) # Number of integers between 1 and 250 that are divisible by 2,3 and 7\n",
+      "A1_intersection_A3_intersection_A4=250/(2*5*7) # Number of integers between 1 and 250 that are divisible by 2,5 and 7\n",
+      "A2_intersection_A3_intersection_A4=250/(3*5*7) # Number of integers between 1 and 250 that are divisible by 3,5 and 7\n",
+      "A1_intersection_A2_intersection_A3_intersection_A4=250/(2*3*5*7) # Number of integers between 1 and 250 that are divisible by 2,3,5 and 7\n",
+      "A1_union_A2_union_A3_union_A4=A1+A2+A3+A4-A1_intersection_A2-A1_intersection_A3-A1_intersection_A4-A2_intersection_A3-A2_intersection_A4-A3_intersection_A4+A1_intersection_A2_intersection_A3+A1_intersection_A2_intersection_A4+A1_intersection_A3_intersection_A4+A2_intersection_A3_intersection_A4-A1_intersection_A2_intersection_A3_intersection_A4\n",
+      "print \"A1 is the set of integers between 1 and 250 that are divisible by 2\"\n",
+      "print \"A2 is the set of integers between 1 and 250 that are divisible by 3\"\n",
+      "print \"A3 is the set of integers between 1 and 250 that are divisible by 5\"\n",
+      "print \"A4 is the set of integers between 1 and 250 that are divisible by 7\"\n",
+      "print \"|A1_union_A2_union_A3_union_A4|=\",A1_union_A2_union_A3_union_A4\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "To determine the number of integers between 1 and 250 that are divisible by 2,3,5,7\n",
+        "A1 is the set of integers between 1 and 250 that are divisible by 2\n",
+        "A2 is the set of integers between 1 and 250 that are divisible by 3\n",
+        "A3 is the set of integers between 1 and 250 that are divisible by 5\n",
+        "A4 is the set of integers between 1 and 250 that are divisible by 7\n",
+        "|A1_union_A2_union_A3_union_A4|= 193\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15:Page 29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Truth table for (p and q)and (not p)\"\n",
+      "def truth_table(p,q):\n",
+      "    return (p and q) and (not p)#Logical representation of the given boolean exoression\n",
+      "print \"p\\tq\\t(p and q)\\t(not p)\\t(p and q) and (not p)\"\n",
+      "for a in (True,False):\n",
+      "    for b in (True,False):#Loops that generate the possible input values\n",
+      "        print a,\"\\t\",b,\"\\t\",a and b,\"\\t\\t\",not a,\"\\t\",truth_table(a,b)\n",
+      "        \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Truth table for (p and q)and (not p)\n",
+        "p\tq\t(p and q)\t(not p)\t(p and q) and (not p)\n",
+        "True \tTrue \tTrue \t\tFalse \tFalse\n",
+        "True \tFalse \tFalse \t\tFalse \tFalse\n",
+        "False \tTrue \tFalse \t\tTrue \tFalse\n",
+        "False \tFalse \tFalse \t\tTrue \tFalse\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 21:Page 33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Consider the truth tables of (P and negation_P)\"\n",
+      "print \"Here all the entries in the last column are false\"\n",
+      "def truth_table_and(p):\n",
+      "    return p and (not p)#Representation of logical AND\n",
+      "    \n",
+      "print \"p\\tnegation_p\\tp_and_negation_p\"\n",
+      "print \"---------------------------------------------\"\n",
+      "for q in (True,False):#generates the combination of inputs\n",
+      "    res=truth_table_and(q)\n",
+      "    print q,\"\\t\\t\",not q,\"\\t\\t\",res\n",
+      "    \n",
+      "    \n",
+      "print \"Consider the truth tables of (P or negation_P)\"\n",
+      "print \"Here all the entries in the last column are true \"\n",
+      "def truth_table_or(p):\n",
+      "     return p or (not p)#Representation of logical OR\n",
+      "    \n",
+      "print \"p\\tnegation_p\\tp_or_negation_p\"\n",
+      "print \"----------------------------------------------\"\n",
+      "for q in (True,False):#generates the combination of inputs\n",
+      "    res=truth_table_or(q)\n",
+      "    print q,\"\\t\\t\",not q,\"\\t\\t\",res\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Consider the truth tables of (P and negation_P)\n",
+        "Here all the entries in the last column are false\n",
+        "p\tnegation_p\tp_and_negation_p\n",
+        "---------------------------------------------\n",
+        "True \t\tFalse \t\tFalse\n",
+        "False \t\tTrue \t\tFalse\n",
+        "Consider the truth tables of (P or negation_P)\n",
+        "Here all the entries in the last column are true \n",
+        "p\tnegation_p\tp_or_negation_p\n",
+        "----------------------------------------------\n",
+        "True \t\tFalse \t\tTrue\n",
+        "False \t\tTrue \t\tTrue\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 23:Page 35"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Restaurent 1 says 'Good food is not cheap'\"\n",
+      "print \"Restaurent 2 says 'Cheap food is not good'\"\n",
+      "#Generating prepositions from the given sentences\n",
+      "g='Food is good'\n",
+      "c='Food is cheap'\n",
+      "print \"g->negation c means 'Good food is not cheap'\"\n",
+      "print \"c->negation g means 'Cheap food is not good'\"\n",
+      "def g_implies_negation_c(g,c):\n",
+      "    if g==True and not(c)==False:# Implementation of logical implication\n",
+      "        return 'False'\n",
+      "    else:\n",
+      "        return 'True'\n",
+      "\n",
+      "def c_implies_negation_g(g,c):\n",
+      "    if c==True and not g==False:# Implementation of logical implication\n",
+      "        return 'False'\n",
+      "    else:\n",
+      "        return 'True'\n",
+      "print \"g\\t\\tc\\t|\\t\\tnegation_g\\t\\t\\tnegation_c\\t\\t\\tg_implies_negation_c\\t\\t\\tc_implies_negation_g\"\n",
+      "print \"---------------------------------------------------------------------------------------------------------------------------------------------------------------\"\n",
+      "for a in (False,True):#Generate the possible inputs\n",
+      "    for b in (False,True):\n",
+      "        print (\"%5s%10s\\t\\t|%20s%30s%35s%40s\"%(a,b,not a,not b,g_implies_negation_c(a,b),c_implies_negation_g(a,b)))\n",
+      "        \n",
+      "        \n",
+      "print \"Since both g_implies_negation_c and c_implies_negation_g values in the truth table are similar, it is proved that 'Good food is not cheap' and 'Cheap food is not good are the same'\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Restaurent 1 says 'Good food is not cheap'\n",
+        "Restaurent 2 says 'Cheap food is not good'\n",
+        "g->negation c means 'Good food is not cheap'\n",
+        "c->negation g means 'Cheap food is not good'\n",
+        "g\t\tc\t|\t\tnegation_g\t\t\tnegation_c\t\t\tg_implies_negation_c\t\t\tc_implies_negation_g\n",
+        "---------------------------------------------------------------------------------------------------------------------------------------------------------------\n",
+        "False     False\t\t|                True                          True                               True                                    True\n",
+        "False      True\t\t|                True                         False                               True                                    True\n",
+        " True     False\t\t|               False                          True                               True                                    True\n",
+        " True      True\t\t|               False                         False                              False                                   False\n",
+        "Since both g_implies_negation_c and c_implies_negation_g values in the truth table are similar, it is proved that 'Good food is not cheap' and 'Cheap food is not good are the same'\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 24:Page 35"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def implication(p,q,r,s):#Implementation of logical implicaion\n",
+      "    part1=((p and q) or (p and r) )\n",
+      "    if part1==True and s==False:\n",
+      "        return 'False'\n",
+      "    else:\n",
+      "        return 'True'\n",
+      "def equivalent(p,q,r,s):#Implementation of logical expression\n",
+      "    return (((not p) or((not q) and (not r)))or s)\n",
+      "print \"\\tp\\tq\\tr\\t\\ts\\t\\t|((p and q)or(p and q))->s\\t((negation_p or(negation_q and negation_r))or s)\"\n",
+      "print \"--------------------------------------------------------------------------------------------------------------------------------------\"\n",
+      "for a in (False,True):\n",
+      "    for b in (False,True):\n",
+      "        for c in (False,True):\n",
+      "            for d in (False,True):#Genetates all possible combinations of inputs\n",
+      "                print (\"%8s%8s%10s%15s|%35s%35s\" %(a,b,c,d,implication(a,b,c,d),equivalent(a,b,c,d)))\n",
+      "            \n",
+      "print \"Therefore, they are proved to be equivalent\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\tp\tq\tr\t\ts\t\t|((p and q)or(p and q))->s\t((negation_p or(negation_q and negation_r))or s)\n",
+        "--------------------------------------------------------------------------------------------------------------------------------------\n",
+        "   False   False     False          False|                               True                               True\n",
+        "   False   False     False           True|                               True                               True\n",
+        "   False   False      True          False|                               True                               True\n",
+        "   False   False      True           True|                               True                               True\n",
+        "   False    True     False          False|                               True                               True\n",
+        "   False    True     False           True|                               True                               True\n",
+        "   False    True      True          False|                               True                               True\n",
+        "   False    True      True           True|                               True                               True\n",
+        "    True   False     False          False|                               True                               True\n",
+        "    True   False     False           True|                               True                               True\n",
+        "    True   False      True          False|                              False                              False\n",
+        "    True   False      True           True|                               True                               True\n",
+        "    True    True     False          False|                              False                              False\n",
+        "    True    True     False           True|                               True                               True\n",
+        "    True    True      True          False|                              False                              False\n",
+        "    True    True      True           True|                               True                               True\n",
+        "Therefore, they are proved to be equivalent\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 55:Page 55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"EUCLIDEAN ALGORITHM\"\n",
+      "def GCD(n,m):#Euclidean algorithm to compute GCD\n",
+      "    if n>=m and (n%m==0):\n",
+      "        return m\n",
+      "    else:\n",
+      "        return GCD(m,n%m)\n",
+      "print \"GCD(25,6) by Euclidean algorithm =\",GCD(25,6),\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "EUCLIDEAN ALGORITHM\n",
+        "GCD(25,6) by Euclidean algorithm = 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 56:Page 55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"EUCLIDEAN ALGORITHM\"\n",
+      "def GCD(n,m):#Euclidean algorithm to compute GCD\n",
+      "    if n>=m and (n%m==0):\n",
+      "        return m\n",
+      "    else:\n",
+      "        return GCD(m,n%m)\n",
+      "print \"GCD(18,4) by Euclidean algorithm =\",GCD(18,4),#Final comma in all print statements is to eliminate new line character in the end of it\n",
+      "print \"\\nGCD(26,2) by Euclidean algorithm =\",GCD(26,2),\n",
+      "print \"\\nGCD(28,8) by Euclidean algorithm =\",GCD(28,8),\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "EUCLIDEAN ALGORITHM\n",
+        "GCD(18,4) by Euclidean algorithm = 2 \n",
+        "GCD(26,2) by Euclidean algorithm = 2 \n",
+        "GCD(28,8) by Euclidean algorithm = 4\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elements_of_discrete_mathematics/Chapter10.ipynb b/Elements_of_discrete_mathematics/Chapter10.ipynb
new file mode 100755
index 00000000..8b7fc5fa
--- /dev/null
+++ b/Elements_of_discrete_mathematics/Chapter10.ipynb
@@ -0,0 +1,353 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:6e9582656e16b2ddb2a1a599466d473ed1824284ac996f30e627d64aae2d0daa"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "10 Groups and rings"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 09:Page 457"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"(3,4) parity check code.\"\n",
+      "def parity_checker(word):\n",
+      "    count=0#Initially the number of 1s is zero\n",
+      "    for i in range(0,4):#Ranges till 4 as the size of the received word is 4\n",
+      "        if word[i]!='0':\n",
+      "            count=count+1#Counts the number of 1s in the given code\n",
+      "            \n",
+      "    if count%2==0:#Even weight can only be detected by this checker\n",
+      "        return \"No, error cannot be detected\"\n",
+      "    else:\n",
+      "        return \"Yes, error can be detected\"\n",
+      "print \"0010-\",parity_checker(str('0010'))\n",
+      "print \"1001-\",parity_checker(str('1001'))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(3,4) parity check code.\n",
+        "0010- Yes, error can be detected\n",
+        "1001- No, error cannot be detected\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10:Page 457"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"(6,7) parity check code.\"\n",
+      "def parity_checker(word):\n",
+      "    count=0#Initially the number of 1s is zero\n",
+      "    for i in range(0,7):#Ranges till 7 as the received word consists of 7 digits\n",
+      "        if word[i]!='0':\n",
+      "            count=count+1#Counts the number of 1s in the given code\n",
+      "            \n",
+      "    if count%2==0:#Even weight can only be detected by this checker\n",
+      "        return \"No, error cannot be detected\"\n",
+      "    else:\n",
+      "        return \"Yes, error can be detected\"\n",
+      "    \n",
+      "\n",
+      "print \"1101010-\",parity_checker(str('1101010'))\n",
+      "print \"1010011-\",parity_checker(str('1010011'))\n",
+      "print \"0011111-\",parity_checker(str('0011111'))\n",
+      "print \"1001101-\",parity_checker(str('1001101'))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(6,7) parity check code.\n",
+        "1101010- No, error cannot be detected\n",
+        "1010011- No, error cannot be detected\n",
+        "0011111- Yes, error can be detected\n",
+        "1001101- No, error cannot be detected\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11:Page 457"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Consider (2,6) encoding function\"\n",
+      "encode=[\"00\",\"01\",\"10\",\"11\"]#Set of data to be encoded\n",
+      "k=0#Value for filling the distance is initially set to zero\n",
+      "distance=[\"\" for i in range(7)]#Array that can hold all possible combinations of distance value ie. 6 combinations\n",
+      "def e(word):#Function that returns the encoded value\n",
+      "    \n",
+      "    if word==\"00\":\n",
+      "        return str(\"000000\")\n",
+      "    elif word==\"10\":\n",
+      "        return str(\"101010\")\n",
+      "    elif word==\"01\":\n",
+      "        return str(\"011110\")\n",
+      "    elif word==\"11\":\n",
+      "        return str(\"111000\")\n",
+      "def d(word1,word2):\n",
+      "    \n",
+      "    count=0#Variable that counts the number of 1s\n",
+      "    data1=str(e(word1))\n",
+      "    \n",
+      "    data2=str(e(word2))#Convert into string for indexing which facilitates bitwise operation\n",
+      "    \n",
+      "    for i in range(0,6):\n",
+      "        if data1[i]!=data2[i]:\n",
+      "            count=count+1#XOR implementation\n",
+      "    return count\n",
+      "for i in range(0,4):\n",
+      "    for j in range(i+1,4):\n",
+      "        \n",
+      "        distance[k]=d(encode[i],encode[j])\n",
+      "        print \"d(e(\",encode[i],\"),e(\",encode[j],\"))=\",distance[k]\n",
+      "        k=k+1\n",
+      "print \"Minimum distance is\",min(distance)#Finds the minimum distance\n",
+      "print \"Since the minimum distance is\",min(distance),\"the code will detect\",(min(distance)-1),\"or fewer errors\"\n",
+      "    \n",
+      "   \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Consider (2,6) encoding function\n",
+        "d(e( 00 ),e( 01 ))= 4\n",
+        "d(e( 00 ),e( 10 ))= 3\n",
+        "d(e( 00 ),e( 11 ))= 3\n",
+        "d(e( 01 ),e( 10 ))= 3\n",
+        "d(e( 01 ),e( 11 ))= 3\n",
+        "d(e( 10 ),e( 11 ))= 2\n",
+        "Minimum distance is 2\n",
+        "Since the minimum distance is 2 the code will detect 1 or fewer errors\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12:Page 458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Consider (3,9) encoding function\"\n",
+      "encode=[\"000\",\"001\",\"010\",\"011\",\"100\",\"101\",\"110\",\"111\"]#Set of data to be encoded\n",
+      "k=0#Value for filling the distance is initially set to zero\n",
+      "distance=[\"\" for i in range(28)]#Array that can hold all possible combinations of distance value ie. 6 combinations\n",
+      "def e(word):#Function that returns the encoded value\n",
+      "    \n",
+      "    if word==\"000\":\n",
+      "        return str(\"000000000\")\n",
+      "    elif word==\"001\":\n",
+      "        return str(\"011100101\")\n",
+      "    elif word==\"010\":\n",
+      "        return str(\"010101000\")\n",
+      "    elif word==\"011\":\n",
+      "        return str(\"110010001\")\n",
+      "    elif word==\"100\":\n",
+      "        return str(\"010011010\")\n",
+      "    elif word==\"101\":\n",
+      "        return str(\"111101011\")\n",
+      "    elif word==\"110\":\n",
+      "        return str(\"001011000\")\n",
+      "    elif word==\"111\":\n",
+      "        return str(\"110000111\")\n",
+      "def d(word1,word2):\n",
+      "    \n",
+      "    count=0#Variable that counts the number of 1s\n",
+      "    data1=str(e(word1))\n",
+      "    \n",
+      "    data2=str(e(word2))#Convert into string for indexing which facilitates bitwise operation\n",
+      "   \n",
+      "    for i in range(0,9):#Since it is a (3,9) encoder\n",
+      "        if data1[i]!=data2[i]:\n",
+      "            count=count+1#XOR implementation\n",
+      "    return count\n",
+      "for i in range(0,8):#Since there are eight possibilities with three digits\n",
+      "    for j in range(i+1,8):\n",
+      "        \n",
+      "        distance[k]=d(encode[i],encode[j])\n",
+      "        print \"d(e(\",encode[i],\"),e(\",encode[j],\"))=\",distance[k]\n",
+      "        k=k+1\n",
+      "print \"Minimum distance is\",min(distance)#Finds the minimum distance\n",
+      "print \"Since the minimum distance is\",min(distance),\"the code will detect\",(min(distance)-1),\"or fewer errors\"\n",
+      "    \n",
+      "   \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Consider (3,9) encoding function\n",
+        "d(e( 000 ),e( 001 ))= 5\n",
+        "d(e( 000 ),e( 010 ))= 3\n",
+        "d(e( 000 ),e( 011 ))= 4\n",
+        "d(e( 000 ),e( 100 ))= 4\n",
+        "d(e( 000 ),e( 101 ))= 7\n",
+        "d(e( 000 ),e( 110 ))= 3\n",
+        "d(e( 000 ),e( 111 ))= 5\n",
+        "d(e( 001 ),e( 010 ))= 4\n",
+        "d(e( 001 ),e( 011 ))= 5\n",
+        "d(e( 001 ),e( 100 ))= 7\n",
+        "d(e( 001 ),e( 101 ))= 4\n",
+        "d(e( 001 ),e( 110 ))= 6\n",
+        "d(e( 001 ),e( 111 ))= 4\n",
+        "d(e( 010 ),e( 011 ))= 5\n",
+        "d(e( 010 ),e( 100 ))= 3\n",
+        "d(e( 010 ),e( 101 ))= 4\n",
+        "d(e( 010 ),e( 110 ))= 4\n",
+        "d(e( 010 ),e( 111 ))= 6\n",
+        "d(e( 011 ),e( 100 ))= 4\n",
+        "d(e( 011 ),e( 101 ))= 5\n",
+        "d(e( 011 ),e( 110 ))= 5\n",
+        "d(e( 011 ),e( 111 ))= 3\n",
+        "d(e( 100 ),e( 101 ))= 5\n",
+        "d(e( 100 ),e( 110 ))= 3\n",
+        "d(e( 100 ),e( 111 ))= 5\n",
+        "d(e( 101 ),e( 110 ))= 6\n",
+        "d(e( 101 ),e( 111 ))= 4\n",
+        "d(e( 110 ),e( 111 ))= 8\n",
+        "Minimum distance is 3\n",
+        "Since the minimum distance is 3 the code will detect 2 or fewer errors\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13:Page 458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"To prove the given set to be a group code\"\n",
+      "print \"Since 00000 belongs to the set, identity is satisfied\"\n",
+      "result=[\"\" for i in range(5)]#List that holds the result of xor\n",
+      "word=['00000','10101','01110','11011']#Initial set of encoded words\n",
+      "count=0#Variable that counts the number of pairs that satisfies the closure property\n",
+      "for i in range(0,4):\n",
+      "    for j in range(i+1,4):#Possible combinations of words\n",
+      "        data1=word[i]\n",
+      "        data2=word[j]\n",
+      "        print \"\\n\"\n",
+      "        print data1,\"exor\",data2,\"=\",\n",
+      "        for k in range(0,5):#XOR gate operations\n",
+      "            if data1[k]!=data2[k]:\n",
+      "                result[k]=1\n",
+      "                print result[k],\n",
+      "            else:\n",
+      "                \n",
+      "                result[k]=0\n",
+      "                print result[k],\n",
+      "        result1=''.join(str(e) for e in result)#Converts list to string for comparing purpose\n",
+      "        for r in range(0,4):#Checks if it belongs to the given set of words\n",
+      "             \n",
+      "             if result1==word[r]:\n",
+      "               count=count+1\n",
+      "if count==6:#Since there are 6 possible pairs of words\n",
+      "    print \"\\nClosure property is satisfied as we found that if x and y belongs to the set, then x xor y also belongs to the set.\"\n",
+      "else:\n",
+      "    print \"Closure property is not satisfied\"\n",
+      "        \n",
+      "print \"Associativity can be satisfies and also each element has an inverse.\"\n",
+      "print \"Hence, it is a group code\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "To prove the given set to be a group code\n",
+        "Since 00000 belongs to the set, identity is satisfied\n",
+        "\n",
+        "\n",
+        "00000 exor 10101 = 1 0 1 0 1 \n",
+        "\n",
+        "00000 exor 01110 = 0 1 1 1 0 \n",
+        "\n",
+        "00000 exor 11011 = 1 1 0 1 1 \n",
+        "\n",
+        "10101 exor 01110 = 1 1 0 1 1 \n",
+        "\n",
+        "10101 exor 11011 = 0 1 1 1 0 \n",
+        "\n",
+        "01110 exor 11011 = 1 0 1 0 1 \n",
+        "Closure property is satisfied as we found that if x and y belongs to the set, then x xor y also belongs to the set.\n",
+        "Associativity can be satisfies and also each element has an inverse.\n",
+        "Hence, it is a group code\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elements_of_discrete_mathematics/Chapter2.ipynb b/Elements_of_discrete_mathematics/Chapter2.ipynb
new file mode 100755
index 00000000..e3633af0
--- /dev/null
+++ b/Elements_of_discrete_mathematics/Chapter2.ipynb
@@ -0,0 +1,1360 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:2cbc1da90c4c7b54c1033f2cfac603ed9480419c909b33f66bc0d4ea974287c3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "2 Permutations, combinations, and discrete probability "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 01:page 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"This is to find the number of ways to schedule three exams in five days such that no two exams fall on the same day\"\n",
+      "first_exam=5#number of available days for the first exam\n",
+      "second_exam=4#number of available days for the second exam\n",
+      "third_exam=3#number of available days for the third exam\n",
+      "total=first_exam*second_exam*third_exam#number of combinations\n",
+      "print \"Total number of ways is :\",total\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "This is to find the number of ways to schedule three exams in five days such that no two exams fall on the same day\n",
+        "Total number of ways is : 60\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 02:Page 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"To find the number of ways in which seven rooms can be allocated to four programmers\"\n",
+      "a=7 # The number of possible rooms for first programmer\n",
+      "b=6 # The number of possible rooms for second programmer\n",
+      "c=5 # The number of possible rooms for third programmer\n",
+      "d=4 # The number of possible rooms for fourth programmer\n",
+      "res=a*b*c*d\n",
+      "print \"The assignment can be made in \",res,\"different ways\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "To find the number of ways in which seven rooms can be allocated to four programmers\n",
+        "The assignment can be made in  840 different ways\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 03:Page 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Number of four digit decimal numbers which have no repeated digits\"\n",
+      "thousands_place=9 # Only nine digits can be placed there. zero cannot be placed there as it will become a three digit number\n",
+      "hundreds_place=9 #As one slot is already filled with a number, the remaining nine digits can only be placed here\n",
+      "tens_place=8 # As two digits have already been used, there are only eight more digits for this place\n",
+      "ones_place=7 # Three digits have occupied three places and only seven digits remain more\n",
+      "total=thousands_place*hundreds_place*tens_place*ones_place\n",
+      "print total,\" possible four digit decimal numbers can be formed without any repetition of digits\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of four digit decimal numbers which have no repeated digits\n",
+        "4536  possible four digit decimal numbers can be formed without any repetition of digits\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 04:Page 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "print \"To find the number of ways in which we can make up strings of four distinct letters followed by three distinct digits\"\n",
+      "def permutations(n,r):\n",
+      "    res=math.factorial(n)/math.factorial(n-r)#Mathematical formula for permutations\n",
+      "    return res\n",
+      "print \"Total number of possible ways are\",permutations(26,4)*permutations(10,3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "To find the number of ways in which we can make up strings of four distinct letters followed by three distinct digits\n",
+        "Total number of possible ways are 258336000\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 05:Page 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"To schedule three examinations within a five day period with no restrictions on the number of examinations scheduled each day\"\n",
+      "print \"The total number of ways are\", pow(5,3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "To schedule three examinations within a five day period with no restrictions on the number of examinations scheduled each day\n",
+        "The total number of ways are 125\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 08:Page 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"We print all five-digit numbers on slips of paper with one number on each slip.\"\n",
+      "print \"We have\",pow(10,5),\"distinct five-digit numbers\" \n",
+      "print \"Among these numbers\",pow(5,5),\"of them can be read either right side up or upside down\"#Since the digits 0,1,6,8,9 become 0,1,9,8,6 when they are read upside down, there are pairs of numbers that can share the same slip if the slips are read right side up or upside down\n",
+      "print \"There are\",pow(5,5)-(3*pow(5,2)),\"numbers that can be read either right side up or upside down but will read differently.So,hey can be divided into pairs so that every pair of numbers can share one slip.\"\n",
+      "print \"The total number of distinct slips we need is\",pow(10,5)-((pow(5,5)-3*pow(5,2))/2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "We print all five-digit numbers on slips of paper with one number on each slip.\n",
+        "We have 100000 distinct five-digit numbers\n",
+        "Among these numbers 3125 of them can be read either right side up or upside down\n",
+        "There are 3050 numbers that can be read either right side up or upside down but will read differently.So,hey can be divided into pairs so that every pair of numbers can share one slip.\n",
+        "The total number of distinct slips we need is 98475\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 09:Page 72"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"There are\",pow(4,7),\"different schedules for a seven day period with four subjects\"\n",
+      "print \"To find the number of schedules which devote at least one day to each subject namely mathematics, physics, chemistry,and economics.\"\n",
+      "print \"A1 denote the set of schedules in which mathematics is never included\"\n",
+      "print \"A2 denote the set of schedules in which physics is never included\"\n",
+      "print \"A3 denote the set of schedules in which chemistry is never included\"\n",
+      "print \"A4 denote the set of schedules in which economics is never included\"\n",
+      "print \"A1_union_A2_union_A3_union_A4 is the set of schedules in which one or more  of the subjects is not included. We obtain |A1 U A2 U A3 U A4|=\",\n",
+      "A1=A2=A3=A4=pow(3,7)\n",
+      "A1_intersection_A2=A1_intersection_A3=A1_intersection_A4=A2_intersection_A3=A2_intersection_A4=A3_intersection_A4=pow(2,7)\n",
+      "A1_intersection_A2_intersection_A3=A1_intersection_A2_intersection_A4=A1_intersection_A3_intersection_A4=A2_intersection_A3_intersection_A4=1\n",
+      "A1_intersection_A2_intersection_A3_intersection_A4=0\n",
+      "A1_union_A2_union_A3_union_A4=A1+A2+A3+A4-A1_intersection_A2-A1_intersection_A3-A1_intersection_A4-A2_intersection_A3-A2_intersection_A4-A3_intersection_A4+A1_intersection_A2_intersection_A3+A1_intersection_A2_intersection_A4+A1_intersection_A3_intersection_A4+A2_intersection_A3_intersection_A4\n",
+      "print A1_union_A2_union_A3_union_A4\n",
+      "print \"The number of schedules in which all subjects will be included\",pow(4,7)-A1_union_A2_union_A3_union_A4\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "There are 16384 different schedules for a seven day period with four subjects\n",
+        "To find the number of schedules which devote at least one day to each subject namely mathematics, physics, chemistry,and economics.\n",
+        "A1 denote the set of schedules in which mathematics is never included\n",
+        "A2 denote the set of schedules in which physics is never included\n",
+        "A3 denote the set of schedules in which chemistry is never included\n",
+        "A4 denote the set of schedules in which economics is never included\n",
+        "A1_union_A2_union_A3_union_A4 is the set of schedules in which one or more  of the subjects is not included. We obtain |A1 U A2 U A3 U A4|= 7984\n",
+        "The number of schedules in which all subjects will be included 8400\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10:Page 73"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "num_office=12 # Total number of offices to be painted\n",
+      "num_of_green=3 # Number of offices to be painted green\n",
+      "num_of_pink=2 # Number of offices to be painted pink\n",
+      "num_of_yellow=2 # Number of offices to be painted yellow\n",
+      "num_of_white=5 # Number of offices to be painted white\n",
+      "res=math.factorial(num_office)/(math.factorial(num_of_green)*math.factorial(num_of_pink)*math.factorial(num_of_yellow)*math.factorial(num_of_white))#Mathematical implementation of permutation with similarities\n",
+      "print \"Total number of ways to paint 12 offices so that 3 of them are green,2 of them are pink,2 of them are yellow and the remaining with white are \", res\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total number of ways to paint 12 offices so that 3 of them are green,2 of them are pink,2 of them are yellow and the remaining with white are  166320\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11:Page 73"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "length=5#Total length of the message\n",
+      "num_of_dashes=3#Number of dashes in message \n",
+      "num_of_dots=2#Number of dots in the message\n",
+      "res=math.factorial(length)/(math.factorial(num_of_dashes)*math.factorial(num_of_dots))\n",
+      "print \"The number of different messages that can be represented by a sequence of three dashes and two dots :\",res\n",
+      "    \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of different messages that can be represented by a sequence of three dashes and two dots : 10\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12:Page 74"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "days=7 # Number of days in a week\n",
+      "spaghetti=3 # Number of days a housekeeper wants to serve speghetti in a week\n",
+      "res=math.factorial(days)/(math.factorial(spaghetti)*math.factorial(days-spaghetti))#Mathematical implementation of permutation swith similarities\n",
+      "print \"Number of possible ways in which a house keeper can serve spagetti dinner three times each week is\",res\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of possible ways in which a house keeper can serve spagetti dinner three times each week is 35\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13:Page 74"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "length=32 # Total length of binary sequence\n",
+      "num_of_one=7 # Total number of places to be filled with one\n",
+      "def c(n,r):\n",
+      "    res=math.factorial(n)/(math.factorial(r)*math.factorial(n-r))\n",
+      "    return res\n",
+      "print \"Total number of combinations of binary sequences of length 32 in each of which there are exactly seven 1s is \",c(length,num_of_one)\n",
+      "# Because we can view the problem as placing 7 ones in 32 numbered boxes(and then fill the empty boxes with 0s)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total number of combinations of binary sequences of length 32 in each of which there are exactly seven 1s is  3365856\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14:Page 74"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "import math\n",
+      "\n",
+      "total_senators=11 # Total number of senators\n",
+      "committee_mem=5 # Number of members in the committee\n",
+      "\n",
+      "def c(n,r):\n",
+      "    res=math.factorial(n)/(math.factorial(r)*math.factorial(n-r))\n",
+      "    return res\n",
+      "\n",
+      "#Finding number of combinations for selecting a committee of 5 members from 11 senators\n",
+      "print \"The number of ways to select a committee of 5 members among 11 senators are\",c(total_senators,committee_mem);\n",
+      "\n",
+      "# Finding number of combinations to select a committee of five members so that a particular senator , senator A is always included\n",
+      "print \"The number of ways to select a committee of five members so that a particular senator , senator A is always included are\", c(total_senators-1,committee_mem-1);\n",
+      "# Since senator A is always included in the committee, we need to find combinations for the remaining 4 using remaining 10 senators\n",
+      "\n",
+      "# Finding number of combinations to select a committee of five members so that a particular senator , senator A is always excluded\n",
+      "print \"The number of ways to select a committee of five members so that a particular senator , senator A is always excluded are\", c(total_senators-1,committee_mem);\n",
+      "# Since senator A is alway excluded from the committee, the committee members are selected from the remaining 10 senators\n",
+      "\n",
+      "\n",
+      "print \"To find number of combinations to select a committee of five members so that at least one of senator A and senator B will be included\"\n",
+      "\n",
+      "both_A_and_B=c(total_senators-2,committee_mem-2)\n",
+      "print \"Number of selections including both senator A and senator B \",both_A_and_B\n",
+      "# Since both senator A and senator B are already included, we need to find combinations for the remaining 3 committee members using remaining 9 senators\n",
+      "\n",
+      "#Number of ways to select a committee of five members including senator A and excluding senator B\n",
+      "A_but_not_B=c(total_senators-2,committee_mem-1)\n",
+      "print \"Number of selections including senator A and excluding senator B \",A_but_not_B\n",
+      "# Since senator A is included and senator B is always excluded, find combinations for remaining 4 committee members using remaining 9 senators\n",
+      "\n",
+      "#Finding number of combinations to select a committee of five members including senator B and excluding senator A\n",
+      "B_but_not_A=c(total_senators-2,committee_mem-1)\n",
+      "print \"Number of selections including senator B and excluding senator A \",B_but_not_A\n",
+      "# Since senator B is included and senator A is always excluded, find combinations for remaining 4 committee members using remaining 9 senators\n",
+      "\n",
+      "res=both_A_and_B+A_but_not_B+B_but_not_A\n",
+      "print \"Number of ways to select a committee of five members so that at least one of senator A and senator B will be included\",res\n",
+      "\n",
+      "print \"Alternative method\"\n",
+      "\n",
+      "print \"Number of ways to select a committee of five members so that at least one of senator A and senator B will be included\",c(total_senators,committee_mem)-c(total_senators-2,committee_mem)\n",
+      "\n",
+      "\n",
+      "print \"By applying principle of inclusion and exclusion\"\n",
+      "#A1 denotes the set of ways of selection that include senator A\n",
+      "#A2 denotes the set of ways of selection that include senator B\n",
+      "A1=c(total_senators-1,committee_mem-1)\n",
+      "A2=c(total_senators-1,committee_mem-1)\n",
+      "A1_intersection_A2=c(total_senators-2,committee_mem-2)\n",
+      "print \"|A1 U A2|\",A1+A2-A1_intersection_A2\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of ways to select a committee of 5 members among 11 senators are 462\n",
+        "The number of ways to select a committee of five members so that a particular senator , senator A is always included are 210\n",
+        "The number of ways to select a committee of five members so that a particular senator , senator A is always excluded are 252\n",
+        "To find number of combinations to select a committee of five members so that at least one of senator A and senator B will be included\n",
+        "Number of selections including both senator A and senator B  84\n",
+        "Number of selections including senator A and excluding senator B  126\n",
+        "Number of selections including senator B and excluding senator A  126\n",
+        "Number of ways to select a committee of five members so that at least one of senator A and senator B will be included 336\n",
+        "Alternative method\n",
+        "Number of ways to select a committee of five members so that at least one of senator A and senator B will be included 336\n",
+        "By applying principle of inclusion and exclusion\n",
+        "|A1 U A2| 336\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15:Page 75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "print \"To find the total number of line segments the diagonals are divided into by their intersections\"\n",
+      "def c(n,r):\n",
+      "    res=math.factorial(n)/(math.factorial(r)*math.factorial(n-r))\n",
+      "    return res\n",
+      "nodes=10#Decagon has 10 vertex points\n",
+      "pair=2#Denotes pair of edges to form a disgonal\n",
+      "num_of_diagonals=(c(nodes,pair)-nodes)\n",
+      "print \"Number of diagonals :\",num_of_diagonals\n",
+      "#There are c(10,2) straight lines joining c(10,2) pairs of vertices. But since 10 of them are sides of the decagon, we subtract 10\n",
+      "num_of_intersections=c(nodes,4)\n",
+      "print \"Total number of intersections\",num_of_intersections\n",
+      "# Since for every 4 vertices we can count exactly one intersection between the diagonals\n",
+      "print \"Total number of line segments\",(num_of_diagonals+(2*num_of_intersections))\n",
+      "#Since a diagonal is divided into k+1 line segments when there are k intersecting points lying on it, and since each intersecting point lies on two diagonals\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "To find the total number of line segments the diagonals are divided into by their intersections\n",
+        "Number of diagonals : 35\n",
+        "Total number of intersections 210\n",
+        "Total number of line segments 455\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16:Page 76"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "def c(n,r):\n",
+      "    res=math.factorial(n)/(math.factorial(r)*math.factorial(n-r))#Mathematical implementation of combinations\n",
+      "    return res\n",
+      "days=7#Total days in a week\n",
+      "choice=3#Number of days to be selected\n",
+      "print \"The number of ways to choose three out of seven days(with repititions allowed) is c(7+3-1,3)=c(9,3)=\", c(days+choice-1,choice)\n",
+      "print \"The number of ways to choose seven out of three days(with repititions necessarily allowed) is c(3+7-1,7)=c(9,7)=\", c(choice+days-1,days)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of ways to choose three out of seven days(with repititions allowed) is c(7+3-1,3)=c(9,3)= 84\n",
+        "The number of ways to choose seven out of three days(with repititions necessarily allowed) is c(3+7-1,7)=c(9,7)= 36\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17:Page 76"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "total=7#Total number of diferent markings in a domino\n",
+      "squares=2#Number of squares in a domino\n",
+      "def c(n,r):\n",
+      "    res=math.factorial(n)/(math.factorial(r)*math.factorial(n-r))\n",
+      "    return res\n",
+      "print \"The number of distinct dominoes in a set is C(7+2-1,2)=C(8,2)=\",c(total+squares-1,squares)\n",
+      "#Equivalent to selecting two subjects from seven objects \"one\",\"two\",\"three\",\"four\",\"five\",\"six\",\"blank\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of distinct dominoes in a set is C(7+2-1,2)=C(8,2)= 28\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 18:page 76"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "dice=3#Number of dice being rolled\n",
+      "num=6#Total number of outcomes in one dice\n",
+      "def C(n,r):\n",
+      "    return math.factorial(n)/(math.factorial(r)*math.factorial(n-r))#Formula to calculate combinations\n",
+      "print \"When three dice are rolled, the number of different outcomes are C(6+3-1,3)=C(8,3)=\",C(num+dice-1,dice),\"because rolling three dice is equivalent to selecting three numbers from six numbers 1,2,3,4,5,6, with repetitions allowed\"\n",
+      "#Since it is equivalent to selecting 3 numbers from 6 numbers namely 1,2,3,4,5,6 with repetitions allowed\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When three dice are rolled, the number of different outcomes are C(6+3-1,3)=C(8,3)= 56 because rolling three dice is equivalent to selecting three numbers from six numbers 1,2,3,4,5,6, with repetitions allowed\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19:Page 77"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "def C(n,r):\n",
+      "    res= math.factorial(n)/(math.factorial(r)*math.factorial(n-r))#Formula to calculate combinations\n",
+      "    return res\n",
+      "moves=14#total possible moves in both directions\n",
+      "eastward=7#Possible number of eastward moves in total\n",
+      "northward=7#Possible number of northward moves in total\n",
+      "print \"The number of different paths for a rook to move from the southwest corner of a chessboard to the northwest corner by moving eastward and northward only.\"\n",
+      "print \"0 denote an eastward step and 1 denote a northward step, the number of paths is equal to the number of ways of arranging seven 0s and seven 1s, which is\",math.factorial(14)/(math.factorial(7)*math.factorial(7))\n",
+      "#Formula of permutations involving indistinguishable objects ie.,7 similar eastward moves and 7 similar northward moves\n",
+      "#This is the same as that of placing seven indistinguishable balls in four distinct boxes with no box left empty.\n",
+      "east_move=4#Number of northward moves\n",
+      "north_move=3#Number of eastward moves\n",
+      "num=C(east_move+north_move-1,north_move)#Number of ways of making up a path with four eastward moves\n",
+      "num1=C(north_move+east_move-1,east_move)#Number of ways of making up a path with three northward moves\n",
+      "print \"Number of ways of making up a path with four eastward moves is \",num#Same as that of placing seven indistinguishable balls in four boxes with no box left empty\n",
+      "print \"Number of ways of making up a path with three northward moves is \",num1\n",
+      "print \"Therefore, the answer to our question is \",num,\"*\",num1,\"=\",num*num1\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of different paths for a rook to move from the southwest corner of a chessboard to the northwest corner by moving eastward and northward only.\n",
+        "0 denote an eastward step and 1 denote a northward step, the number of paths is equal to the number of ways of arranging seven 0s and seven 1s, which is 3432\n",
+        "Number of ways of making up a path with four eastward moves is  20\n",
+        "Number of ways of making up a path with three northward moves is  15\n",
+        "Therefore, the answer to our question is  20 * 15 = 300\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 20:Page 77"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "chairs=12#Total number of chairs\n",
+      "boys=5#Number of boys to be seated\n",
+      "objects=6#Number of differenr objects\n",
+      "def C(n,r):\n",
+      "    return math.factorial(n)/(math.factorial(r)*math.factorial(n-r))#Mathematical implementation of combinations\n",
+      "print \"To determine the number of ways to seat five boys in a row of 12 chairs.The number of arrangements would be\",math.factorial(chairs)/math.factorial(chairs-boys)#Because it is similar to arranging 12 objects which are of 6 different types ie.five boys are of different kind each and the remaining unoccupied chairs are of a kind\n",
+      "print \"Alternative way:\"\n",
+      "print \"Suppose, we arrange the first five boys in a row and then distribute the seven unoccupied chairs arbitrarily either between any two boys or at the two ends. The distribution problem then becomes that of placing seven balls of the same color in six boxes. Thus, the number of ways to do is 5!*C(6+7-1,7)=5!*(12!/7!*5!)=12!/7!=\",math.factorial(boys)*C(objects+(chairs-boys)-1,(chairs-boys))\n",
+      "print \"Suppose, we want to seat the boys so that no two boys are next to each other.\"\n",
+      "print \"5!*C(6+3-1,3)=5!*(8!/3!*5!)=\",math.factorial(5)*C(6+3-1,3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "To determine the number of ways to seat five boys in a row of 12 chairs.The number of arrangements would be 95040\n",
+        "Alternative way:\n",
+        "Suppose, we arrange the first five boys in a row and then distribute the seven unoccupied chairs arbitrarily either between any two boys or at the two ends. The distribution problem then becomes that of placing seven balls of the same color in six boxes. Thus, the number of ways to do is 5!*C(6+7-1,7)=5!*(12!/7!*5!)=12!/7!= 95040\n",
+        "Suppose, we want to seat the boys so that no two boys are next to each other.\n",
+        "5!*C(6+3-1,3)=5!*(8!/3!*5!)= 6720\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 22:page 83"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from fractions import Fraction\n",
+      "print \"For the experiment of rolling a dice, the sample space consists of six samples. We suppose the probability of occurence of each of these samples is 1/6.\"\n",
+      "print \"probability of getting an odd number is\", (Fraction(1,6)+Fraction(1,6)+Fraction(1,6)) # Since out of the six samples, three of them are odd numbers and the probability of getting each of them is 1/6\n",
+      "print \"On the other hand, suppose that we have a 'crooked' die such that the probability of getting a 1 is 1/3 and the probability of getting each of the remaining numbers is 2/15.\"\n",
+      "print \"The probability of getting an odd number is\",(Fraction(1,3)+Fraction(2,15)+Fraction(2,15)) # Since out of the six samples, three of them are odd numbers and the probability of getting a 1 is 1/3 and each of the remaining is 2/15\n",
+      "print \"The probability of getting an even number is\",(Fraction(2,15)+Fraction(2,15)+Fraction(2,15)) # Since out of the six samples, three of them are even numbers and the probability of getting each of them is 2/15\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For the experiment of rolling a dice, the sample space consists of six samples. We suppose the probability of occurence of each of these samples is 1/6.\n",
+        "probability of getting an odd number is 1/2\n",
+        "On the other hand, suppose that we have a 'crooked' die such that the probability of getting a 1 is 1/3 and the probability of getting each of the remaining numbers is 2/15.\n",
+        "The probability of getting an odd number is 3/5\n",
+        "The probability of getting an even number is 2/5\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 23:Page 84"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from fractions import Fraction\n",
+      "print \"For the experiment of rolling two dice, the sample space consists of 36 samples. Suppose we want to find the probability of getting a sum of 9 in this experiment. We can get the sum 9 in four different ways such as {(3,6),(4,5),(5,4),(6,3)}\"\n",
+      "print \"probability of getting a sum 9 is\",(Fraction(1,36)+Fraction(1,36)+Fraction(1,36)+Fraction(1,36)) # Since the probability of occurence of each sample is 1/36 and we have four samples which give a sum of 9\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For the experiment of rolling two dice, the sample space consists of 36 samples. Suppose we want to find the probability of getting a sum of 9 in this experiment. We can get the sum 9 in four different ways such as {(3,6),(4,5),(5,4),(6,3)}\n",
+        "probability of getting a sum 9 is 1/9\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 24:Page 84"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from decimal import *\n",
+      "import math\n",
+      "def c(n,r):\n",
+      "    res=math.factorial(n)/(math.factorial(r)*math.factorial(n-r))#Mathematical implementation of combinations\n",
+      "    return res\n",
+      "\n",
+      "cards=52#Total number of cards in a deck\n",
+      "poker_cards=5#5 cards make up a poker hand\n",
+      "aces=48.0#Number of outcomes with 4 aces\n",
+      "print \"Consider the problem of dealing a poker hand out of a deck of 52 cards.\"\n",
+      "print \"The sample space consists of\",c(cards,poker_cards),\"sample points corresponding to the c(52,5) different hands that can be dealt\"\n",
+      "print \"Assume that the outcomes have equal probabilities;that is,the probability that a particular hand was dealt is equal to 1/c(52,5)=\",1.0/(c(cards,poker_cards))\n",
+      "getcontext().prec=3#Decides the number of decimal digits\n",
+      "print \"To determine the probability of geting four aces, we note that 48 of the c(52,5) possible outcomes contain four aces;thus,the probability is 48/c(52,5)=\",Decimal(aces)/Decimal(c(cards,poker_cards))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Consider the problem of dealing a poker hand out of a deck of 52 cards.\n",
+        "The sample space consists of 2598960 sample points corresponding to the c(52,5) different hands that can be dealt\n",
+        "Assume that the outcomes have equal probabilities;that is,the probability that a particular hand was dealt is equal to 1/c(52,5)= 3.84769292332e-07\n",
+        "To determine the probability of geting four aces, we note that 48 of the c(52,5) possible outcomes contain four aces;thus,the probability is 48/c(52,5)= 0.0000185\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 25:Page 84"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from decimal import *\n",
+      "def P(n,r):\n",
+      "    res=math.factorial(n)/math.factorial(n-r)#Mathematical implementation of permutations\n",
+      "    return res\n",
+      "print \"Consider 23 people out of which the chance is less than 50-50 that no two of them will have the same birthday. Sample space consists of 366^23 samples corresponding to all possible distributions of birthdays of 23 people.\"\n",
+      "print \"Assume: The distributions are equiprobable.\"\n",
+      "getcontext().prec=3#Decides the number of decimal digits\n",
+      "print \"Since out of the 366^23 samples, P(366,23) of them correspond to distributions of birthdays such that no two of the 23 people have the same birthday, the probability that no two people have the same birthday is P(366,23)/366^23=\",(Decimal(P(366,23))/Decimal(pow(366,23)))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Consider 23 people out of which the chance is less than 50-50 that no two of them will have the same birthday. Sample space consists of 366^23 samples corresponding to all possible distributions of birthdays of 23 people.\n",
+        "Assume: The distributions are equiprobable.\n",
+        "Since out of the 366^23 samples, P(366,23) of them correspond to distributions of birthdays such that no two of the 23 people have the same birthday, the probability that no two people have the same birthday is P(366,23)/366^23= 0.494\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 26:Page 84"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from decimal import *\n",
+      "import math\n",
+      "students=8#Total number of students\n",
+      "freshmen=2#Total number of freshmen\n",
+      "sophomores=2#Total number of sophomores\n",
+      "juniors=2#Total number of juniors\n",
+      "seniors=2#Total number of seniors\n",
+      "sample_space=pow(4,8)#Total number of samples\n",
+      "print \"Eight students are standing in line for an interview. We want to determine the probability that there are exactly two fishermen, two sophomores, two juniors, and two seniors in the line. The sample space consists of 4^8 samples corresponding to all possibilities of classes the students are from. \"\n",
+      "print \"Assume: All the samples are equiprobable\"\n",
+      "getcontext().prec=3#Decides the number of decimal digits\n",
+      "print \"There are 8!/2!2!2!2! samples corresponding to the case in which there are two students from each class. Thus the probability is \",(Decimal(math.factorial(students))/(Decimal(math.factorial(freshmen)*math.factorial(sophomores)*math.factorial(juniors)*math.factorial(seniors)*sample_space)))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Eight students are standing in line for an interview. We want to determine the probability that there are exactly two fishermen, two sophomores, two juniors, and two seniors in the line. The sample space consists of 4^8 samples corresponding to all possibilities of classes the students are from. \n",
+        "Assume: All the samples are equiprobable\n",
+        "There are 8!/2!2!2!2! samples corresponding to the case in which there are two students from each class. Thus the probability is  0.0385\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 28:Page 85 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"To find the probability of various number of buffers being filled by digital data from a remote site\"\n",
+      "A=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]# A denotes that initial 16 buffers are full\n",
+      "B=[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31]#B denotes that odd buffers are full\n",
+      "A_inter_B=[1,3,5,7,9,11,13,15]#set representing A intersection B\n",
+      "P_A=0.0#initial probability corresponding to set A is zero\n",
+      "P_A_and_B=0.0#initial probability of set A intersection B is zero\n",
+      "P_B=0.0#initial probability of set B is zero\n",
+      "for q in A:\n",
+      "    P_A+=(1.0/561.0)*(33.0-q)\n",
+      "print \"Probability of buffers in set A being filled is\",round(P_A,3)\n",
+      "for q in B:\n",
+      "    P_B+=(1.0/561.0)*(33.0-q)\n",
+      "print \"Probability of buffers in set B being filled is\",round(P_B,3)\n",
+      "for q in A_inter_B:\n",
+      "    P_A_and_B+=(1.0/561.0)*(33.0-q)\n",
+      "print \"Probability of buffers in set A intersection B being filled is\",round(P_A_and_B,3)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "To find the probability of various number of buffers being filled by digital data from a remote site\n",
+        "Probability of buffers in set A being filled is 0.758\n",
+        "Probability of buffers in set B being filled is 0.485\n",
+        "Probability of buffers in set A intersection B being filled is 0.357\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 29:Page 86"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Out of 100,000 people, 51,500 are female and 48,500 are male. Among the females 9,000 are bald, and among the males 30,200 are bald. Suppose we are to choose a person at random. We shall have S={fb,fh,mb,mh} as the sample space with fb denoting bald female, fh a femele with hair, mb a bald male, and mh a male with hair.\"\n",
+      "P_fb=0.090 # Probability of selecting a bald female \n",
+      "P_fh=0.425 # Probabbility of selecting a female with hair\n",
+      "P_mb=0.302 # Probability of selecting a bald male\n",
+      "p_mh=0.183 # Probability of selecting a male with hair\n",
+      "print \"Given:\"\n",
+      "print \"P(fb)=0.090\"\n",
+      "print \"P(fh)=0.425\"\n",
+      "print \"P(mb)=0.302\"\n",
+      "print \"P(mh)=0.183\"\n",
+      "\n",
+      "print \"Let A denote the event that a bald person was chosen\"\n",
+      "print \"Let B denote the event that a female was chosen\"\n",
+      "print \"Then A intersection B is the event that a bald female was chosen, A union B the event that a bald person or a female was chosen,A EXOR B the event that a female with hair or a bald male was chosen and B-A the event that a female with hair was chosen.\"\n",
+      "P_A=P_fb+P_mb # Includes both male bald and female bald\n",
+      "P_B=P_fb+P_fh # Includes all females\n",
+      "P_A_intersection_B=P_fb # iIncludes all females who are bald\n",
+      "P_A_union_B=P_fb+P_fh+P_mb # Includes all females and bald male\n",
+      "P_A_EXOR_B=P_fh+P_mb # Includes female with hair and bald male\n",
+      "P_B_minus_A=P_fh # Includes only female with hair\n",
+      "print \"P(A)=\",P_A\n",
+      "print \"P(B)\",P_B\n",
+      "print \"P(A intersection B)=\",P_A_intersection_B\n",
+      "print \"P(A union B)=\",P_A_union_B\n",
+      "print \"P(A EXOR B)=\",P_A_EXOR_B\n",
+      "print \"P(B-A)=\",P_B_minus_A\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Out of 100,000 people, 51,500 are female and 48,500 are male. Among the females 9,000 are bald, and among the males 30,200 are bald. Suppose we are to choose a person at random. We shall have S={fb,fh,mb,mh} as the sample space with fb denoting bald female, fh a femele with hair, mb a bald male, and mh a male with hair.\n",
+        "Given:\n",
+        "P(fb)=0.090\n",
+        "P(fh)=0.425\n",
+        "P(mb)=0.302\n",
+        "P(mh)=0.183\n",
+        "Let A denote the event that a bald person was chosen\n",
+        "Let B denote the event that a female was chosen\n",
+        "Then A intersection B is the event that a bald female was chosen, A union B the event that a bald person or a female was chosen,A EXOR B the event that a female with hair or a bald male was chosen and B-A the event that a female with hair was chosen.\n",
+        "P(A)= 0.392\n",
+        "P(B) 0.515\n",
+        "P(A intersection B)= 0.09\n",
+        "P(A union B)= 0.817\n",
+        "P(A EXOR B)= 0.727\n",
+        "P(B-A)= 0.425\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 31:Page 88"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Out of 100,000 people, 51,500 are female and 48,500 are male. Among the females 9,000 are bald, and among the males 30,200 are bald. Suppose we are to choose a person at random.We shall have S={fb,fh,mb,mh} as the sample space with fb denoting bald female, fh a femele with hair, mb a bald male, and mh a male with hair.\"\n",
+      "print \"Let A denote the event that a bald person was chosen, B the event that a female was chosen, and C the event that a male was chosen.\"\n",
+      "P_fb=0.090 # Probability of selecting a bald female \n",
+      "P_fh=0.425 # Probabbility of selecting a female with hair\n",
+      "P_mb=0.302 # Probability of selecting a bald male\n",
+      "P_mh=0.183 # Probability of selecting a male with hair\n",
+      "print \"Given:\"\n",
+      "print \"P(fb)=0.090\"\n",
+      "print \"P(fh)=0.425\"\n",
+      "print \"P(mb)=0.302\"\n",
+      "print \"P(mh)=0.183\"\n",
+      "P_A=P_fb+P_mb # Includes both male bald and female bald\n",
+      "P_B=P_fb+P_fh # Includes all female\n",
+      "P_C=P_mb+P_mh # Includes all male\n",
+      "P_A_intersection_C=P_mb # Includes all males who are bald\n",
+      "P_C_intersection_A=P_mb # Since A intersection C and C intersection A are the same, this also includes all males who are bald\n",
+      "P_A_intersection_B=P_fb # Includes all females who are bald\n",
+      "P_B_intersection_A=P_fb # Since A intersection B and B intersection A are the same,this also includes all females who are bald\n",
+      "\n",
+      "P_A_given_B=P_A_intersection_B/P_B # By conditional probability\n",
+      "print \"P(A|B)=\",round(P_A_given_B,3);\n",
+      "print \"This is less than P(A) which is 0.392\"\n",
+      "P_A_given_C=P_A_intersection_C/P_C # By conditional probability\n",
+      "\n",
+      "print \"P(A|C)=\",round(P_A_given_C,3)\n",
+      "print \"This is quite a bit greater than P(A)\"\n",
+      "P_B_given_A=P_B_intersection_A/P_A# By conditional probability\n",
+      "print \"P(B|A)=\",round(P_B_given_A,2)\n",
+      "P_C_given_A=P_C_intersection_A/P_A# By conditional probability\n",
+      "print \"P(C|A)=\",round(P_C_given_A,2)\n",
+      "print \"Indeed, although P(B) is slightly larger than P(C),P(B|A) is much smaller than P(C|A)\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Out of 100,000 people, 51,500 are female and 48,500 are male. Among the females 9,000 are bald, and among the males 30,200 are bald. Suppose we are to choose a person at random.We shall have S={fb,fh,mb,mh} as the sample space with fb denoting bald female, fh a femele with hair, mb a bald male, and mh a male with hair.\n",
+        "Let A denote the event that a bald person was chosen, B the event that a female was chosen, and C the event that a male was chosen.\n",
+        "Given:\n",
+        "P(fb)=0.090\n",
+        "P(fh)=0.425\n",
+        "P(mb)=0.302\n",
+        "P(mh)=0.183\n",
+        "P(A|B)= 0.175\n",
+        "This is less than P(A) which is 0.392\n",
+        "P(A|C)= 0.623\n",
+        "This is quite a bit greater than P(A)\n",
+        "P(B|A)= 0.23\n",
+        "P(C|A)= 0.77\n",
+        "Indeed, although P(B) is slightly larger than P(C),P(B|A) is much smaller than P(C|A)\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 32:Page 89"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from fractions import Fraction\n",
+      "from decimal import *\n",
+      "print \"A coin was chosen at random and tossed.\"\n",
+      "p_fc_hd=Fraction('1/3') # Probability that a fair coin was chosen and head shows\n",
+      "p_fc_tl=Fraction('1/3') # Probability that a fair coin was chosen and tail shows\n",
+      "p_ufc_hd=Fraction('1/12') # Probability that a unfair coin was chosen and head shows\n",
+      "p_ufc_tl=Fraction('1/4') # Probability that a unfair coin was chosen and head shows\n",
+      "\n",
+      "print \"The probability that head shows is\",(Fraction(p_fc_hd)+Fraction(p_ufc_hd)) # Probability of head in both fair and unfair coins\n",
+      "print \"The probability that an unfair coin was chosen is\",(Fraction(p_ufc_hd)+Fraction(p_ufc_tl)) # Probability of head and tail in unfair coin\n",
+      "p_head=(Fraction(p_fc_hd)+Fraction(p_ufc_hd))\n",
+      "print \"The conditional probability that an unfair coin was chosen given that head shows is\",(Fraction(p_ufc_hd)/Fraction(p_head))# By conditional probability, probability of head in unfair coin to the probabilty of head in both fair and unfair coins\n",
+      "print \"The conditional probability that head shows given that an unfair coin was chosen is\",(Fraction(p_ufc_hd)/(Fraction(p_ufc_hd)+Fraction(p_ufc_tl))) # By conditional probability,probability of head in unfair coin to the probability of head and tail in unfair coin\n",
+      "\n",
+      "\n",
+      "\n",
+      "\n",
+      "\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A coin was chosen at random and tossed.\n",
+        "The probability that head shows is 5/12\n",
+        "The probability that an unfair coin was chosen is 1/3\n",
+        "The conditional probability that an unfair coin was chosen given that head shows is 1/5\n",
+        "The conditional probability that head shows given that an unfair coin was chosen is 1/4\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 33:Page 89"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from fractions import Fraction\n",
+      "def P(n,r):\n",
+      "    res=math.factorial(n)/math.factorial(n-r)\n",
+      "    return res\n",
+      "faces=6#Number of faces in a dice\n",
+      "dice=3#Number of dice that were rolled\n",
+      "print \"Three dice were rolled.\"\n",
+      "print \"Given: No two faces were the same.\"\n",
+      "print \"Let A denote the event that there was an ace.\"\n",
+      "print \"Let B  denote the event that no two faces were the same.\"\n",
+      "P_B=Fraction(P(faces,dice))/Fraction(pow(faces,dice)) # Sample space is pow(6,3) sice three dice are rolled.\n",
+      "P_A_intersection_B=Fraction(dice*P(faces-1,dice-1))/Fraction(pow(faces,dice))#Since A has occured, it cannot repeat again. So faces and dice are reduced by 1\n",
+      "P_A_given_B=Fraction(P_A_intersection_B)/Fraction(P_B) #By conditional probability\n",
+      "print \"P(A|B)=\",P_A_given_B\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Three dice were rolled.\n",
+        "Given: No two faces were the same.\n",
+        "Let A denote the event that there was an ace.\n",
+        "Let B  denote the event that no two faces were the same.\n",
+        "P(A|B)= 1/2\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 34:Page 90"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from fractions import Fraction\n",
+      "print \"We define events and probabilities as follows.\"\n",
+      "print \"E:Introduction of computer education\"\n",
+      "print \"A1:Mr.X is selected as chairman\"\n",
+      "print \"A2:Mr.Y is selected as chairman\"\n",
+      "print \"A3:Mr.Z is selected as chairman\"\n",
+      "P_A1=Fraction('4/9') # Probability of Mr.X being selected\n",
+      "P_A2=Fraction('2/9') # Probability of Mr.Y being selected\n",
+      "P_A3=Fraction('3/9') # Probability of Mr.Z being selected\n",
+      "P_E_given_A1=Fraction('3/10') # probability that there was computer education in the college when Mr.X is selected as a chairman\n",
+      "P_E_given_A2=Fraction('5/10') # probability that there was computer education in the college when Mr.Y is selected as a chairman\n",
+      "P_E_given_A3=Fraction('8/10') # probability that there was computer education in the college when Mr.Z is selected as a chairman\n",
+      "print \"P(E)=P[(E INTERSECTION A1) UNION (E INTERSECTION A2) UNION (E INTERSECTION A3)]\"\n",
+      "print \"=P(E INTERSECTION A1) + P(E INTERSECTION A2) + P(E INTERSECTION A3)\"\n",
+      "print \"=P(A1)P(E|A1)+P(A2)P(E|A2)+P(A3)P(E|A3)\" # Since by conditional probability, P(E|A1)=P(E intersection A1)/P(A1)\n",
+      "print \"=\",P_A1,\"*\",P_E_given_A1,\"+\",P_A2,\"*\",P_E_given_A2,\"+\",P_A3,\"*\",P_E_given_A3,\"=\",\n",
+      "P_E=(P_A1*P_E_given_A1)+(P_A2*P_E_given_A2)+(P_A3*P_E_given_A3) # P_E denotes the probability of computer education in the college\n",
+      "print P_E\n",
+      "print \"So, the probability that there was computer education in the college is\",P_E\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "We define events and probabilities as follows.\n",
+        "E:Introduction of computer education\n",
+        "A1:Mr.X is selected as chairman\n",
+        "A2:Mr.Y is selected as chairman\n",
+        "A3:Mr.Z is selected as chairman\n",
+        "P(E)=P[(E INTERSECTION A1) UNION (E INTERSECTION A2) UNION (E INTERSECTION A3)]\n",
+        "=P(E INTERSECTION A1) + P(E INTERSECTION A2) + P(E INTERSECTION A3)\n",
+        "=P(A1)P(E|A1)+P(A2)P(E|A2)+P(A3)P(E|A3)\n",
+        "= 4/9 * 3/10 + 2/9 * 1/2 + 1/3 * 4/5 = 23/45\n",
+        "So, the probability that there was computer education in the college is 23/45\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 35:Page 91"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"A1: Event that the selected item was produced by machine M1\"\n",
+      "print \"A2: Event that the selected item was produced by machine M2\"\n",
+      "print \"A3: Event that the selected item was produced by machine M3\"\n",
+      "print \"E: Event that the selected item is defective\"\n",
+      "P_A1=0.2 # The probability that an item selected at random from the entire batch was produced by machine M1\n",
+      "P_A2=0.3 # The probability that an item selected at random from the entire batch was produced by machine M2\n",
+      "P_A3=0.5 # The probability that an item selected at random from the entire batch was produced by machine M3\n",
+      "P_E_given_A1=0.01 # Probability that an item produced by machine M1 will be defective\n",
+      "P_E_given_A2=0.02 # Probability that an item produced by machine M2 will be defective\n",
+      "P_E_given_A3=0.03 # Probability that an item produced by machine M3 will be defective\n",
+      "print \"We require to calculate the conditional probability P(A3|E)\"\n",
+      "print \"Using bayes' theorem\"\n",
+      "P_A3_given_E=(P_A3*P_E_given_A3)/((P_A1*P_E_given_A1)+(P_A2*P_E_given_A2)+(P_A3*P_E_given_A3))\n",
+      "print \"The probability that this item was produced by machine M3 is\",round(P_A3_given_E,3)\n",
+      " \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A1: Event that the selected item was produced by machine M1\n",
+        "A2: Event that the selected item was produced by machine M2\n",
+        "A3: Event that the selected item was produced by machine M3\n",
+        "E: Event that the selected item is defective\n",
+        "We require to calculate the conditional probability P(A3|E)\n",
+        "Using bayes' theorem\n",
+        "The probability that this item was produced by machine M3 is 0.652\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 36:Page 95"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from fractions import Fraction\n",
+      "import math\n",
+      "from decimal import *\n",
+      "print \"Estimating the likelihood that there will be a 1 hour examination when the professor is scheduled to get out of town\"\n",
+      "print \"Sample space={x1,x2,x3,x4}\"\n",
+      "P_X1=Fraction('1/2')#X1 denotes professor out of town and exam given\n",
+      "P_X2=Fraction('1/16')#X2 denotes professor out of town and exam not given\n",
+      "P_X3=Fraction('3/16')#X3 denotes professor in town and exam given\n",
+      "P_X4=Fraction('1/4')#X4 denotes professor in town and exam not given\n",
+      "print \"A denotes the event that exam is given and B denote the event that professor is out of town\"\n",
+      "P_A=P_X1+P_X3#Probability of A\n",
+      "P_A_numerator=P_A.numerator#Separating numerator and denominators in all P(A)\n",
+      "P_A_denominator=P_A.denominator\n",
+      "P_A_given_B=P_X1/(P_X1+P_X2)#Probability of P(A|B)\n",
+      "P_A_given_B_numerator=P_A_given_B.numerator#Separating numerators and denominators in P(A|B)\n",
+      "P_A_given_B_denominator=P_A_given_B.denominator\n",
+      "print \"Probability that the exam is given is \",P_A\n",
+      "print \"Probability of exam given that the profession is out of town is \",P_A_given_B\n",
+      "log_P_A_numerator=round(math.log(P_A_numerator,2),2)#Logrithm of 11\n",
+      "log_P_A_denominator=math.log(P_A_denominator,2)#Logrithm of 16\n",
+      "neg_log_P_A=-log_P_A_numerator+log_P_A_denominator#Negative logrithm of P(A).SInce log(a/b)=lob(a)-log(b)\n",
+      "getcontext().prec=2#Decides the number of digits after decimal point\n",
+      "print \"The needed information to determine that an examination will be given is \",neg_log_P_A,\"bits\"\n",
+      "log_P_A_given_B_numerator=math.log(P_A_given_B_numerator,2)#Logrithm of \n",
+      "log_P_A_given_B_denominator=round(math.log(P_A_given_B_denominator,2),2)#Logrithm of 9\n",
+      "print \"Information provided by the fact that the professor is out of town on the fact that examination is given is I(A,B)=\",(-log_P_A_numerator+log_P_A_denominator+log_P_A_given_B_numerator-log_P_A_given_B_denominator),\"bits\"\n",
+      "print \"C denotes the event that the professor is in town\"\n",
+      "P_A_given_C=P_X3/(P_X3+P_X4)\n",
+      "print \"Probability that the examination is given when the professor is in town is \",P_A_given_C\n",
+      "P_A_given_C_numerator=P_A_given_C.numerator#Separating numerators and denominators in P(A|C)\n",
+      "P_A_given_C_denominator=P_A_given_C.denominator\n",
+      "log_P_A_given_C_numerator=round(math.log(P_A_given_C_numerator,2),2)\n",
+      "log_P_A_given_C_denominator=math.log(P_A_given_C_denominator,2)\n",
+      "print \"I(A,C)=\",round((-log_P_A_numerator+log_P_A_denominator+log_P_A_given_C_numerator-log_P_A_given_C_denominator),2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Estimating the likelihood that there will be a 1 hour examination when the professor is scheduled to get out of town\n",
+        "Sample space={x1,x2,x3,x4}\n",
+        "A denotes the event that exam is given and B denote the event that professor is out of town\n",
+        "Probability that the exam is given is  11/16\n",
+        "Probability of exam given that the profession is out of town is  8/9\n",
+        "The needed information to determine that an examination will be given is  0.54 bits\n",
+        "Information provided by the fact that the professor is out of town on the fact that examination is given is I(A,B)= 0.37 bits\n",
+        "C denotes the event that the professor is in town\n",
+        "Probability that the examination is given when the professor is in town is  3/7\n",
+        "I(A,C)= -0.69\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elements_of_discrete_mathematics/Chapter3.ipynb b/Elements_of_discrete_mathematics/Chapter3.ipynb
new file mode 100755
index 00000000..fe88d5b7
--- /dev/null
+++ b/Elements_of_discrete_mathematics/Chapter3.ipynb
@@ -0,0 +1,1585 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d6505774a4cce1c5726d5bf482120157569ff894ee6f05281095d53b18882117"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "3 Relations and Functions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 06:Page 118"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Given a relation R on a set A={a,b,c,d} in the form of a graph, the transitive closure of R is to be found using Warshall's algorithm\"\n",
+      "#Each element in A acts as a node\n",
+      "nodes=input(\"Enter the number of nodes\")#This is the total number of elements in the given set A\n",
+      "w0=[[0 for i in range (nodes)]for j in range(nodes)]#Matrix elements are initialised to zero\n",
+      "#Gets the initial value for the matrix elements\n",
+      "print \"Enter the elements of W0. (Enter only 0 or 1)\"# The value is 1 if there is a path between i and j in the given graph, else it is 0\n",
+      "for i in range(0,nodes):\n",
+      "    for j in range(0,nodes):\n",
+      "        print \"Enter value for w\",i,j\n",
+      "        w0[i][j]=input()\n",
+      "#To print the given matrix\n",
+      "print \"The given matrix W0=MR(Matrix relation on R) is\"\n",
+      "for i in range(0,nodes):\n",
+      "    for j in range(0,nodes):\n",
+      "        print w0[i][j],\n",
+      "    print \"\\n\"\n",
+      "for k in range(0,nodes):#To find the transitive relation matrix using Warshall's algorithm\n",
+      "    for i in range(0,nodes):\n",
+      "        for j in range(0,nodes):\n",
+      "            w0[i][j]=w0[i][j] or (w0[i][k] and w0[k][j])\n",
+      "#To print the transitive relation matrix\n",
+      "print \"The required transitive relation matrix is\"\n",
+      "for i in range(0,nodes):\n",
+      "    for j in range(0,nodes):\n",
+      "        print w0[i][j],\n",
+      "    print \"\\n\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Given a relation R on a set A={a,b,c,d} in the form of a graph, the transitive closure of R is to be found using Warshall's algorithm\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the number of nodes4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the elements of W0. (Enter only 0 or 1)\n",
+        "Enter value for w 0 0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 0 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 0 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 0 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 1 0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 1 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 1 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 1 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 2 0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 2 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 2 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 2 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 3 0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 3 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 3 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 3 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The given matrix W0=MR(Matrix relation on R) is\n",
+        "0 1 0 0 \n",
+        "\n",
+        "1 0 1 0 \n",
+        "\n",
+        "0 0 0 1 \n",
+        "\n",
+        "1 0 0 0 \n",
+        "\n",
+        "The required transitive relation matrix is\n",
+        "1 1 1 1 \n",
+        "\n",
+        "1 1 1 1 \n",
+        "\n",
+        "1 1 1 1 \n",
+        "\n",
+        "1 1 1 1 \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 07:Page 119"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Given a relation R on a set A={a,b,c,d,e} in the form of a graph, the transitive closure of R is to be found using Warshall's algorithm\"\n",
+      "print \"Given:R={(b,c),(b,e),(c,e),(d,a),(c,b),(e,c)}\"\n",
+      "#Each element in A acts as a node\n",
+      "nodes=input(\"Enter the number of nodes\")#This is the total number of elements in the given set A\n",
+      "w0=[[0 for i in range (nodes)]for j in range(nodes)]#Matrix elements are initialised to zero\n",
+      "#Gets the initial value for the matrix elements\n",
+      "print \"Enter the elements of W0. (Enter only 0 or 1)\"# The value is 1 if there is a path between i and j in the given graph, else it is 0\n",
+      "for i in range(0,nodes):\n",
+      "    for j in range(0,nodes):\n",
+      "        print \"Enter value for w\",i,j\n",
+      "        w0[i][j]=input()\n",
+      "#To print the given matrix\n",
+      "print \"The given matrix W0=MR(Matrix relation on R) is\"\n",
+      "for i in range(0,nodes):\n",
+      "    for j in range(0,nodes):\n",
+      "        print w0[i][j],\n",
+      "    print \"\\n\"\n",
+      "for k in range(0,nodes):#To find the transitive relation matrix using Warshall's algorithm\n",
+      "    for i in range(0,nodes):\n",
+      "        for j in range(0,nodes):\n",
+      "            w0[i][j]=w0[i][j] or (w0[i][k] and w0[k][j])\n",
+      "#To print the transitive relation matrix\n",
+      "print \"The required transitive relation matrix is\"\n",
+      "for i in range(0,nodes):\n",
+      "    for j in range(0,nodes):\n",
+      "        print w0[i][j],\n",
+      "    print \"\\n\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Given a relation R on a set A={a,b,c,d,e} in the form of a graph, the transitive closure of R is to be found using Warshall's algorithm\n",
+        "Given:R={(b,c),(b,e),(c,e),(d,a),(c,b),(e,c)}\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the number of nodes5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the elements of W0. (Enter only 0 or 1)\n",
+        "Enter value for w 0 0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 0 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 0 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 0 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 0 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 1 0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 1 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 1 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 1 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 1 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 2 0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 2 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 2 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 2 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 2 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 3 0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 3 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 3 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 3 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 3 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 4 0\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 4 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 4 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 4 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter value for w 4 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The given matrix W0=MR(Matrix relation on R) is\n",
+        "0 0 0 0 0 \n",
+        "\n",
+        "0 0 1 0 1 \n",
+        "\n",
+        "0 0 0 0 1 \n",
+        "\n",
+        "1 0 0 0 0 \n",
+        "\n",
+        "0 1 1 0 0 \n",
+        "\n",
+        "The required transitive relation matrix is\n",
+        "0 0 0 0 0 \n",
+        "\n",
+        "0 1 1 0 1 \n",
+        "\n",
+        "0 1 1 0 1 \n",
+        "\n",
+        "1 0 0 0 0 \n",
+        "\n",
+        "0 1 1 0 1 \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 41:Page 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given function definition is as follows\n",
+      "print \"RECURSIVE FUNCTIONS\"\n",
+      "def f(x):\n",
+      "    if x==0:\n",
+      "        return 1\n",
+      "    else:\n",
+      "        return 3*f(x-1)+1\n",
+      "print \"f(1)=\",f(1)\n",
+      "print \"f(2)=\",f(2)\n",
+      "print \"f(3)=\",f(3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RECURSIVE FUNCTIONS\n",
+        "f(1)= 4\n",
+        "f(2)= 13\n",
+        "f(3)= 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 43:Page 156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"A recursive function to calculate the GCD of two numbers\"\n",
+      "def GCD(x,y):\n",
+      "    if x>y:\n",
+      "        x=x-y\n",
+      "        return GCD(x,y)\n",
+      "    elif x<y:\n",
+      "        y=y-x\n",
+      "        return GCD(x,y)\n",
+      "    else:\n",
+      "        print \"The GCD of the two numbers is\",x\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A recursive function to calculate the GCD of two numbers\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 44:Page 157"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"EXAMPLE OF TREE RECURSION\"\n",
+      "print \"The first six fibonacci numbers are\"\n",
+      "def fib(n):\n",
+      "    if n==0:\n",
+      "        return 0\n",
+      "    elif n==1:\n",
+      "        return 1\n",
+      "    else:\n",
+      "        print \"fib(\",n-1,\")+fib(\",n-2,\")=\",\n",
+      "        return fib(n-1)+fib(n-2)\n",
+      "print \"fib(0)=\",fib(0),\n",
+      "print \"\\nfib(1)=\",fib(1),\n",
+      "print \"\\nfib(2)=\",fib(2),\n",
+      "print \"\\nfib(3)=\",fib(3),\n",
+      "print \"\\nfib(4)=\",fib(4),\n",
+      "print \"\\nfib(5)=\",fib(5),\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "EXAMPLE OF TREE RECURSION\n",
+        "The first six fibonacci numbers are\n",
+        "fib(0)= 0 \n",
+        "fib(1)= 1 \n",
+        "fib(2)= fib( 1 )+fib( 0 )= 1 \n",
+        "fib(3)= fib( 2 )+fib( 1 )= fib( 1 )+fib( 0 )= 2 \n",
+        "fib(4)= fib( 3 )+fib( 2 )= fib( 2 )+fib( 1 )= fib( 1 )+fib( 0 )= fib( 1 )+fib( 0 )= 3 \n",
+        "fib(5)= fib( 4 )+fib( 3 )= fib( 3 )+fib( 2 )= fib( 2 )+fib( 1 )= fib( 1 )+fib( 0 )= fib( 1 )+fib( 0 )= fib( 2 )+fib( 1 )= fib( 1 )+fib( 0 )= 5\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 45:Page 159"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"HASH FUNCTIONS\"\n",
+      "import math\n",
+      "print \"Employee IDs are 6713,4409,5835\"\n",
+      "print \"L consists of 100 two digit address:00,01,.....,99 \"\n",
+      "m=97#Prime number close to 99\n",
+      "def H(ID):\n",
+      "    print ID,\"mod\",m,\"=\",\n",
+      "    return ID%m\n",
+      "print \"Division method\"\n",
+      "print \"H(6713)=\",H(6713)\n",
+      "print \"H(4409)=\",H(4409)\n",
+      "print \"H(5835)=\",H(5835)\n",
+      "print \"Midsquare method\"\n",
+      "\n",
+      "def H1(ID):\n",
+      "    key=math.pow(ID,2)#Square the given key value\n",
+      "    key1=int(key)#Convert it into integer to eliminate decimal point\n",
+      "    number=str(key1)#Integer is converted to string for indexing purpose\n",
+      "    length=len(number)#Finding the length of the string\n",
+      "    number2=number[3:length-3]#Slicing the string to eliminate 3 digits from both ends\n",
+      "    return number2\n",
+      "    \n",
+      "print \"k=6713\",\"square(k)=\",pow(6713,2),\"\\tH(6713)=\",H1(6713)\n",
+      "print \"k=4409\",\"square(k)=\",pow(4409,2),\"\\tH(4409)=\",H1(4409)\n",
+      "print \"k=5835\",\"square(k)=\",pow(5835,2),\"\\tH(5835)=\",H1(5835)\n",
+      "print \"Folding method\"\n",
+      "#Here the given key is divided in such a way that each part has two digits. Since it has even number of digits there is no exception to this rule\n",
+      "def H2(ID):\n",
+      "    ID1=str(ID)#Convert it into string in order to slice it\n",
+      "    key1=ID1[0:2]#Split the string into two halves. First part in key1\n",
+      "    key2=ID1[2:]#Second half is stored in key2\n",
+      "    print key1,\"+\",key2,\"=\",\n",
+      "    key=int(key1)+int(key2)#Convert these into int in order to perform addition\n",
+      "    key3=str(key)#To eliminate the carry,convert it back to string\n",
+      "    length=len(key3)#Since here each part contains only 2 digits, a carry means the presence of a third digit.\n",
+      "    if length==3:\n",
+      "        res=key3[1:]#If length is 3 , eliminate the leftmost digit\n",
+      "        return res\n",
+      "    else:\n",
+      "        return key#If it is less than 3, print it as such\n",
+      "print \"6713=\",H2(6713)\n",
+      "print \"4409=\",H2(4409)\n",
+      "print \"5835=\",H2(5835)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "HASH FUNCTIONS\n",
+        "Employee IDs are 6713,4409,5835\n",
+        "L consists of 100 two digit address:00,01,.....,99 \n",
+        "Division method\n",
+        "H(6713)= 6713 mod 97 = 20\n",
+        "H(4409)= 4409 mod 97 = 44\n",
+        "H(5835)= 5835 mod 97 = 15\n",
+        "Midsquare method\n",
+        "k=6713 square(k)= 45064369 \tH(6713)= 64\n",
+        "k=4409 square(k)= 19439281 \tH(4409)= 39\n",
+        "k=5835 square(k)= 34047225 \tH(5835)= 47\n",
+        "Folding method\n",
+        "6713= 67 + 13 = 80\n",
+        "4409= 44 + 09 = 53\n",
+        "5835= 58 + 35 = 93\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 46:Page 161"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Linear probing to overcome collision in the numbers 89,18,49,58,69\"\n",
+      "memory=[\"\" for i in range (0,10)]#An array indicating the memory space. Initially all the locations are empty\n",
+      "\n",
+      "def h(n):\n",
+      "    temp=n#Get a copy as we might change the value in the original variable\n",
+      "    count=0#Initial collision count is zero\n",
+      "    flag=0#Flag=1 indicates that the key has been placed in the memory. So initially it is zero\n",
+      "    while flag==0:\n",
+      "        num=n%10#10 is the number of buckets or partitions\n",
+      "        if memory[num]==\"\":#Checks if the location is empty\n",
+      "            memory[num]=temp#Inserts value if nothing is already present\n",
+      "            flag=1#Indicates that the key is placed in memory\n",
+      "        else:\n",
+      "            count=count+1#If the location is not empty, the collision count is increased by one\n",
+      "            def f(i):#Collosion resolution function\n",
+      "                return i\n",
+      "            n=num+f(count)#Facilitates linear probing by increasing the count by 1\n",
+      "#Hash the values            \n",
+      "h(89)\n",
+      "h(18)\n",
+      "h(49)\n",
+      "h(58)\n",
+      "h(69)\n",
+      "print \"MEMORY  |\\t\\tVALUE\"\n",
+      "print \"------------------------------------\"\n",
+      "for i in range(0,10):#Print the hashed memory area\n",
+      "    print i,\"\\t|\\t\",memory[i]\n",
+      "    print \"---------------------------------\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Linear probing to overcome collision in the numbers 89,18,49,58,69\n",
+        "MEMORY  |\t\tVALUE\n",
+        "------------------------------------\n",
+        "0 \t|\t49\n",
+        "---------------------------------\n",
+        "1 \t|\t58\n",
+        "---------------------------------\n",
+        "2 \t|\t69\n",
+        "---------------------------------\n",
+        "3 \t|\t\n",
+        "---------------------------------\n",
+        "4 \t|\t\n",
+        "---------------------------------\n",
+        "5 \t|\t\n",
+        "---------------------------------\n",
+        "6 \t|\t\n",
+        "---------------------------------\n",
+        "7 \t|\t\n",
+        "---------------------------------\n",
+        "8 \t|\t18\n",
+        "---------------------------------\n",
+        "9 \t|\t89\n",
+        "---------------------------------\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 47:Page 163"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Quadratic probing in the numbers 89,18,49,58,69\"\n",
+      "memory=[\"\" for i in range (0,10)]#An array indicating the memory space. Initially all the locations are empty\n",
+      "\n",
+      "def h(n):\n",
+      "    temp=n#Get a copy as we might change the value in the original variable\n",
+      "    count=0#Initial collision count is zero\n",
+      "    flag=0#Flag=1 indicates that the key has been placed in the memory. So initially it is zero\n",
+      "    while flag==0:\n",
+      "        num=n%10#10 is the number of buckets or partitions\n",
+      "        if memory[num]==\"\":#Checks if the location is empty\n",
+      "            memory[num]=temp#Inserts value if nothing is already present\n",
+      "            flag=1#Indicates that the key is placed in memory\n",
+      "        else:\n",
+      "            count=count+1#If the location is not empty, the collision count is increased by one\n",
+      "            def f(i):#Collosion resolution function\n",
+      "                return i*i\n",
+      "            n=num+f(count)#Facilitates quadratic probing by squaring the count \n",
+      "#Hash the values            \n",
+      "h(89)\n",
+      "h(18)\n",
+      "h(49)\n",
+      "h(58)\n",
+      "h(69)\n",
+      "print \"MEMORY  |\\t VALUES\"\n",
+      "print \"-------------------------------------\"\n",
+      "for i in range(0,10):#Print the hashed memory area\n",
+      "    print i,\"\\t|\\t\",memory[i]\n",
+      "    print \"-------------------------------------\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Quadratic probing in the numbers 89,18,49,58,69\n",
+        "MEMORY  |\t VALUES\n",
+        "-------------------------------------\n",
+        "0 \t|\t49\n",
+        "-------------------------------------\n",
+        "1 \t|\t\n",
+        "-------------------------------------\n",
+        "2 \t|\t\n",
+        "-------------------------------------\n",
+        "3 \t|\t58\n",
+        "-------------------------------------\n",
+        "4 \t|\t69\n",
+        "-------------------------------------\n",
+        "5 \t|\t\n",
+        "-------------------------------------\n",
+        "6 \t|\t\n",
+        "-------------------------------------\n",
+        "7 \t|\t\n",
+        "-------------------------------------\n",
+        "8 \t|\t18\n",
+        "-------------------------------------\n",
+        "9 \t|\t89\n",
+        "-------------------------------------\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 48:Page 164"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Double hashing in the numbers 89,18,49,58,69\"\n",
+      "memory=[\"\" for i in range (0,10)]#An array indicating the memory space. Initially all the locations are empty\n",
+      "r=7#Assume\n",
+      "def h(n):\n",
+      "    temp=n#Get a copy as we might change the value in the original variable\n",
+      "    count=0#Initial collision count is zero\n",
+      "    flag=0#Flag=1 indicates that the key has been placed in the memory. So initially it is zero\n",
+      "    while flag==0:\n",
+      "        num=n%10#10 is the number of buckets or partitions\n",
+      "        if memory[num]==\"\":#Checks if the location is empty\n",
+      "            memory[num]=temp#Inserts value if nothing is already present\n",
+      "            flag=1#Indicates that the key is placed in memory\n",
+      "        else:\n",
+      "            count=count+1#If the location is not empty, the collision count is increased by one\n",
+      "            def h1(t):\n",
+      "                return r-(t%r)#Assume \n",
+      "            \n",
+      "            def f(i):#Collosion resolution function\n",
+      "                return i*h1(temp)\n",
+      "            n=num+f(count)#Facilitates probing \n",
+      "#Hash the values            \n",
+      "h(89)\n",
+      "h(18)\n",
+      "h(49)\n",
+      "h(58)\n",
+      "h(69)\n",
+      "print \"MEMORY  |\\tVALUES\"\n",
+      "print \"-------------------------------------\"\n",
+      "for i in range(0,10):#Print the hashed memory area\n",
+      "    print i,\"\\t|\\t\",memory[i]\n",
+      "    print \"----------------------------------------\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Double hashing in the numbers 89,18,49,58,69\n",
+        "MEMORY  |\tVALUES\n",
+        "-------------------------------------\n",
+        "0 \t|\t69\n",
+        "----------------------------------------\n",
+        "1 \t|\t\n",
+        "----------------------------------------\n",
+        "2 \t|\t\n",
+        "----------------------------------------\n",
+        "3 \t|\t58\n",
+        "----------------------------------------\n",
+        "4 \t|\t\n",
+        "----------------------------------------\n",
+        "5 \t|\t\n",
+        "----------------------------------------\n",
+        "6 \t|\t49\n",
+        "----------------------------------------\n",
+        "7 \t|\t\n",
+        "----------------------------------------\n",
+        "8 \t|\t18\n",
+        "----------------------------------------\n",
+        "9 \t|\t89\n",
+        "----------------------------------------\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 49:Page 166"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "magazine=30#Magazines are considered as pigeonholes\n",
+      "total_pages=61324#Pages are considered as pigeons. Assign each page to the magazine in which it appears\n",
+      "print \"If 30 magazines contain a total of 61,324 pages, then one magazine must contain at least\",int((math.floor((total_pages-1)/magazine)+1)),\"pages\"#According to extended pigeonhole principle\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "If 30 magazines contain a total of 61,324 pages, then one magazine must contain at least 2045 pages\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 50:Page 166"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "a=0\n",
+      "b=0\n",
+      "s=[[0 for i in range(13)]for j in range(13)]#Initialise the matrix\n",
+      "#If the summation turns out to be 13, then put them in a 2D array\n",
+      "for i in range(1,13):\n",
+      "    for j in range(i+1,13):\n",
+      "        \n",
+      "        if i+j==13:\n",
+      "           \n",
+      "            s[a][b]=i\n",
+      "            s[a][b+1]=j\n",
+      "            a=a+1\n",
+      "#Print the 2D array containing the possible combinations        \n",
+      "for i in range(0,a):\n",
+      "    print \"s\",i+1,\"=(\",\n",
+      "    for j in range(0,2):\n",
+      "        print s[i][j],\",\",\n",
+      "    print \"),\",\n",
+      "    print \"\\n\"\n",
+      "\n",
+      "print \"These are the combination of numbers between 1 and 12 those on summation will yield 13 as a result.\"\n",
+      "print \"Each of the chosen 7 numbers must contain any of these combinations, so that summation of 2 among that will yield 13. Therefore there are 6 ways to do so \"\n",
+      "#According to pigeonhole principle\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s 1 =( 1 , 12 , ), \n",
+        "\n",
+        "s 2 =( 2 , 11 , ), \n",
+        "\n",
+        "s 3 =( 3 , 10 , ), \n",
+        "\n",
+        "s 4 =( 4 , 9 , ), \n",
+        "\n",
+        "s 5 =( 5 , 8 , ), \n",
+        "\n",
+        "s 6 =( 6 , 7 , ), \n",
+        "\n",
+        "These are the combination of numbers between 1 and 12 those on summation will yield 13 as a result.\n",
+        "Each of the chosen 7 numbers must contain any of these combinations, so that summation of 2 among that will yield 13. Therefore there are 6 ways to do so \n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 52:Page 166"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "total_num=10#Total number of people volunteering\n",
+      "committee_num=3#Number of people to be there in the committee\n",
+      "print \"Ten people come forward to volunteer for a committee of three\"\n",
+      "print \"Every possible committee of three that can be formed from these ten names is written on a slip of paper\"\n",
+      "slips=(math.factorial(total_num)/(math.factorial(total_num-committee_num)*math.factorial(committee_num)))#Slips are compared to pigeons.By formula for combinations\n",
+      "hats=10#Hats are compared to pigeonholes\n",
+      "print \"Total number of combinations to choose 3 out of ten is\",slips\n",
+      "print \"These possible \",slips, \"slips, one slip for each possible committee and the slips are put in \",hats,\"hats\"\n",
+      "print \"Therefore, One hat must contain at least\",int((math.floor((slips-1)/hats)+1)),\"or more slips of paper\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ten people come forward to volunteer for a committee of three\n",
+        "Every possible committee of three that can be formed from these ten names is written on a slip of paper\n",
+        "Total number of combinations to choose 3 out of ten is 120\n",
+        "These possible  120 slips, one slip for each possible committee and the slips are put in  10 hats\n",
+        "Therefore, One hat must contain at least 12 or more slips of paper\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 53:Page 166"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "types=12#Types of chocolates\n",
+      "choice=5#Types to choose from\n",
+      "print \"A store has an introductory sale on 12 types of chocolates. A customer can choose 1 chocolate of any 5 different types and will be charged no more than 1.75 \"\n",
+      "c=math.factorial(types)/(math.factorial(choice)*math.factorial(types-choice))#By the formula for finding combinations\n",
+      "print \"The customer can choose chocolates in \",c,\"ways\"\n",
+      "amount=175#In paise\n",
+      "print \"we have\",int((math.floor((c-1)/amount)+1)),\"choices having the same cost\"#By extended pigeonhole principle\n",
+      "print \"Therefore, there must be at least two different ways to choose, so that the cost will be the same for both choices\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A store has an introductory sale on 12 types of chocolates. A customer can choose 1 chocolate of any 5 different types and will be charged no more than 1.75 \n",
+        "The customer can choose chocolates in  792 ways\n",
+        "we have 5 choices having the same cost\n",
+        "Therefore, there must be at least two different ways to choose, so that the cost will be the same for both choices\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 54:Page 167"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "print \"A store has an introductory sale on 12 types of chocolates. A customer can choose 1 chocolate of any 5 different types and will be charged no more than 1.75. The store allows repetition in choices\"\n",
+      "types=12#Total types of chocolates\n",
+      "choice=5#Customer can choose 1 from 5 types\n",
+      "c=math.factorial(types)/(math.factorial(choice)*math.factorial(types-choice))#By formula of finding combinations\n",
+      "print \"The customer can choose chocolates in \",c,\"ways\"\n",
+      "amount=175#In paise\n",
+      "ans=int((math.floor((c-1)/amount)+1))#By extended pigeonhole principle\n",
+      "print \"we have\",ans,\"choices having the same cost\"\n",
+      "choice=(math.factorial(types+choice-1)/(math.factorial(ans)*math.factorial(types+choice-1-ans)))#Considered as pigeonhole\n",
+      "print \"If repetitions are allowed, then we have 5 groups and there are C(12+5-1,5)=C(16,5)=\",choice,\"choices\"\n",
+      "print \"At least\",int(math.floor(choice/amount)+1),\"choices will have the same cost. So, there are at least 10 ways to make different choices that have the same cost\"\n",
+      "#By extended pigeonhole principle\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A store has an introductory sale on 12 types of chocolates. A customer can choose 1 chocolate of any 5 different types and will be charged no more than 1.75. The store allows repetition in choices\n",
+        "The customer can choose chocolates in  792 ways\n",
+        "we have 5 choices having the same cost\n",
+        "If repetitions are allowed, then we have 5 groups and there are C(12+5-1,5)=C(16,5)= 4368 choices\n",
+        "At least 25 choices will have the same cost. So, there are at least 10 ways to make different choices that have the same cost\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 55:Page 167"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "total=15#Total number of choices\n",
+      "choice=6#Number of choices to select\n",
+      "c=math.factorial(total)/(math.factorial(choice)*math.factorial(total-choice))\n",
+      "print \"6 numbers out of 1 to 15 can be chosen in\",c,\"ways\"#These are considered as pigeons\n",
+      "sum1=0#Initial sum of first 6 numbers is set to zero\n",
+      "sum2=0#Initial sum of last 6 numbers is set to zero\n",
+      "for i in range(1,7):\n",
+      "    sum1=sum1+i#Calulates the sum of first six numbers\n",
+      "for i in range(10,16):\n",
+      "    sum2=sum2+i#Calulates the sum of first six numbers\n",
+      "num_of_sums=(sum2-sum1+1)\n",
+      "print \"Number of sums that can be generated is\",num_of_sums#Considered as pigeon holes\n",
+      "print \"There are\",int((math.floor((c-1)/num_of_sums)+1)),\"ways\"#By extended pigeon hole principle\n",
+      "print \"Hence, there must be at least 90 ways to choose 6 numbers from 1 to 15 so that all the choices have the same sum\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6 numbers out of 1 to 15 can be chosen in 5005 ways\n",
+        "Number of sums that can be generated is 55\n",
+        "There are 91 ways\n",
+        "Hence, there must be at least 90 ways to choose 6 numbers from 1 to 15 so that all the choices have the same sum\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 56:Page 167"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "print \"ABCD is the required square. Join AD and BC.Now we get 4 triangles,namely ACD,BCD,ABC,ABD.\"\n",
+      "print \"If five points are selected in a square, two of them must belong to the same triangle.\"#According to pigeonhole principle\n",
+      "distance=math.sqrt(math.pow(1,2)+math.pow(1,2))\n",
+      "print \"The largest distance in a triangle is\",distance,\"So the points must be no more than \",distance,\"inches apart\" \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "ABCD is the required square. Join AD and BC.Now we get 4 triangles,namely ACD,BCD,ABC,ABD.\n",
+        "If five points are selected in a square, two of them must belong to the same triangle.\n",
+        "The largest distance in a triangle is 1.41421356237 So the points must be no more than  1.41421356237 inches apart\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 57:Page 167"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "print \"The sum of entries in A cannot be more than 64\"#Because A is a boolean matrix and so can hold 0 and 1 only. If all the entries in A are 1, the sum will be 64\n",
+      "sum=51#Actual sum of entries in A\n",
+      "rows=8#8*8 matrix\n",
+      "columns=8#8*8 matrix\n",
+      "row_ones=int(math.floor((sum-1)/rows)+1)#Minimum number of ones in a row by extended pigeonole principle\n",
+      "print \"One row must have at least\",row_ones,\"ones\"\n",
+      "column_ones=int(math.floor((sum-1)/columns)+1)#Minimum number of ones in a column by extended pigeonhole principle\n",
+      "print \"One column must have at least\",column_ones,\"ones\"\n",
+      "print \"The sum of elements of row and column is\",row_ones+column_ones\n",
+      "print \"So, the sum of entries will add up to be more than 13\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The sum of entries in A cannot be more than 64\n",
+        "One row must have at least 7 ones\n",
+        "One column must have at least 7 ones\n",
+        "The sum of elements of row and column is 14\n",
+        "So, the sum of entries will add up to be more than 13\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elements_of_discrete_mathematics/Chapter4.ipynb b/Elements_of_discrete_mathematics/Chapter4.ipynb
new file mode 100755
index 00000000..2adb4c8f
--- /dev/null
+++ b/Elements_of_discrete_mathematics/Chapter4.ipynb
@@ -0,0 +1,117 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:a85fddad5ca1dfcfd83be3de3e24c0c6e6b3cfc061b0141fb4ecc95c31a3f057"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "4 Graphs and planar graphs"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 03:Page 199 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"GRAPH TRAVERSLS-DEPTH FIRST SEARCH\"\n",
+      "graph={'A': ['G','B'],\n",
+      "       'B': ['C'],\n",
+      "       'C': ['E','D'],\n",
+      "       'D': [],\n",
+      "       'E': ['D','F'],\n",
+      "       'F': ['A'],\n",
+      "       'G': ['F']}#Input the graph details using a sequence data structure \n",
+      "\n",
+      "def dfs(graph,start):\n",
+      "    path=[]#Initially the path is empty, as no nodes are visited\n",
+      "    stack=[start]#The starting node is pushed into the stack\n",
+      "    while stack!=[]:\n",
+      "        visited=stack.pop()#The node is marked as visited\n",
+      "        if visited not in path:\n",
+      "            path.append(visited)#The node is added to the path\n",
+      "        for w in reversed(graph[visited]):#The node is checked to see if it has any adjacent nodes. \n",
+      "            if w not in path:\n",
+      "                stack.append(w)#Adjacent nodes if any without being visited are added to the stack\n",
+      "    return path\n",
+      "print  \"path=\",dfs(graph,'A')#The sequence and the starting nodes are given as input \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "GRAPH TRAVERSLS-DEPTH FIRST SEARCH\n",
+        "path= ['A', 'G', 'F', 'B', 'C', 'E', 'D']\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 04:Page 201"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"GRAPH TRAVERSALS-BREADTH FIRST SEARCH\"\n",
+      "graph={'A': set(['G','B']),\n",
+      "       'B': set(['C']),\n",
+      "       'C': set(['D','E']),\n",
+      "       'D': set([]),\n",
+      "       'E': set(['D','F']),\n",
+      "       'F': set(['A']),\n",
+      "       'G': set(['F'])}#Input the graph information\n",
+      "\n",
+      "def bfs(graph,start):\n",
+      "    path=[]#Initially path is empty as no nodes are visited\n",
+      "    queue=[start]#The start node is added to the queue\n",
+      "    while queue:\n",
+      "        v=queue.pop(0)#Always the first node is only popped\n",
+      "        if v not in path:\n",
+      "            path+=[v]#The popped node is added to the path\n",
+      "            queue+=graph[v]#The adjacent nodes of the visited nodes are inserted in the queue\n",
+      "    return path\n",
+      "print \"path=\",bfs(graph,'A')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "GRAPH TRAVERSALS-BREADTH FIRST SEARCH\n",
+        "path= ['A', 'B', 'G', 'C', 'F', 'E', 'D']\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elements_of_discrete_mathematics/Chapter5.ipynb b/Elements_of_discrete_mathematics/Chapter5.ipynb
new file mode 100755
index 00000000..79b98a7c
--- /dev/null
+++ b/Elements_of_discrete_mathematics/Chapter5.ipynb
@@ -0,0 +1,2242 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:ecb9bbda12d6fdb3e39aeaf2fe5ef561c8a8f84a2def1400dc3ed8df4da10809"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "5 Trees and cut sets"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 01:Page 263"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Problem of connecting 19 lamps to a single electric outlet by using extension cords each of which has four outlets\"\n",
+      "total_lamps=19#Total lamps to be connected to a single electric outlet\n",
+      "outlets=4#Number of outlets in each extension cord.\n",
+      "def calc(lamp,outlet):\n",
+      "    return (lamp-1)/(outlets-1)#Since any such connection is a quaternary tree with the single outlet connected to the root of the tree\n",
+      "print \"Although there are many ways to connect the lights,\",calc(total_lamps,outlets),\"extension cords are always required.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Problem of connecting 19 lamps to a single electric outlet by using extension cords each of which has four outlets\n",
+        "Although there are many ways to connect the lights, 6 extension cords are always required.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 02:Page 263"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"A hypothetical computer has an instruction which computes the sum of three numbers.\"\n",
+      "nodes=9#Number of leaf nodes in each regular ternary tree to compute the sum of nine numbers\n",
+      "num=3#An instruction adds only three numbers\n",
+      "def calc(node,num):\n",
+      "    return (nodes-1)/(num-1)\n",
+      "print \"The addition instruction will be executed \",calc(nodes,num),\"times to find the sum of nine numbers\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A hypothetical computer has an instruction which computes the sum of three numbers.\n",
+        "The addition instruction will be executed  4 times to find the sum of nine numbers\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 03:Page 278"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Implementation of Kruskal's algorithm\"\n",
+      "n=input(\"Enter the number of nodes\")\n",
+      "print \"Enter the adjacency matrix\"\n",
+      "cost=[[\"\" for i in range(n+1)]for j in range(n+1)]#Matrix is declared\n",
+      "parent=[\"\" for i in range(n+1)]#List is declared\n",
+      "mincost=0#Initially mincost is zero\n",
+      "for i in range(1,n+1):\n",
+      "    for j in range(1,n+1):#To include n, have used n+1\n",
+      "        print \"Enter the input for\",i,j\n",
+      "        cost[i][j]=input()#Gets input matrix\n",
+      "        if cost[i][j]==0:\n",
+      "            cost[i][j]=999#Max cost is assigned if there is no edge between the specified nodes\n",
+      "ne=1#Count of visited nodes\n",
+      "def find(i):\n",
+      "    while parent[i]:\n",
+      "        i=parent[i]\n",
+      "    return i\n",
+      "def uni(i,j):\n",
+      "    if i!=j:\n",
+      "        parent[j]=i\n",
+      "        return 1\n",
+      "    return 0\n",
+      "\n",
+      "print \"\\nThe edges of the minimum cost spanning tree is\"\n",
+      "while ne<n:\n",
+      "    min=999\n",
+      "    for i in range(1,n+1):\n",
+      "        for j in range(1,n+1):\n",
+      "            if cost[i][j]<min:\n",
+      "                min=cost[i][j]#If the new node has minimum value,takes the new value\n",
+      "                global a\n",
+      "                global v\n",
+      "                global b\n",
+      "                a=i\n",
+      "                global u\n",
+      "                u=i\n",
+      "                b=j\n",
+      "                v=j\n",
+      "    u=find(u)\n",
+      "    v=find(v)\n",
+      "    if uni(u,v):\n",
+      "       print \"\\nEdge\",ne,\"(\",a,\" ,\",b,\")=\",min\n",
+      "       ne=ne+1\n",
+      "       mincost=mincost+min\n",
+      "    cost[a][b]=cost[b][a]=999\n",
+      "print \"\\nMinimum cost=\",mincost\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Implementation of Kruskal's algorithm\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the number of nodes9\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the adjacency matrix\n",
+        "Enter the input for 1 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "9\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "9\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 8 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 8 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 8 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 8 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 8 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 8 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 8 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 8 8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 8 9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 9 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 9 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 9 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 9 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 9 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 9 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 9 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 9 8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 9 9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "The edges of the minimum cost spanning tree is\n",
+        "\n",
+        "Edge 1 ( 2  , 9 )= 1\n",
+        "\n",
+        "Edge 2 ( 6  , 8 )= 1\n",
+        "\n",
+        "Edge 3 ( 1  , 9 )= 2\n",
+        "\n",
+        "Edge 4 ( 2  , 4 )= 2\n",
+        "\n",
+        "Edge 5 ( 2  , 3 )= 4\n",
+        "\n",
+        "Edge 6 ( 6  , 9 )= 4\n",
+        "\n",
+        "Edge 7 ( 6  , 7 )= 5\n",
+        "\n",
+        "Edge 8 ( 5  , 6 )= 6\n",
+        "\n",
+        "Minimum cost= 25\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 04:Page 280"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"PRIM'S ALGORITHM\"\n",
+      "n=input(\"Enter the number of nodes\")\n",
+      "print \"Enter the adjacency matrix\"\n",
+      "cost=[[\"\" for i in range(n+1)]for j in range(n+1)]#Matrix declaration\n",
+      "visited=[0 for i in range(n+1)]#List declaration\n",
+      "n1=n+1#For use in range()\n",
+      "for i in range(1,n+1):\n",
+      "    for j in range(1,n+1):\n",
+      "        print \"Enter the input for\",i,j\n",
+      "        cost[i][j]=input()#Get the adjacency matrix\n",
+      "        if(cost[i][j]==0):\n",
+      "            cost[i][j]=999#If there is no edge between two nodes, assign high cost\n",
+      "visited[1]=1#First node is initially visited\n",
+      "ne=1#Variable for node counting\n",
+      "mincost=0#Initially mincost is zero\n",
+      "\n",
+      "print \"\\n\"\n",
+      "while ne<n:\n",
+      "    min=999\n",
+      "    for i in range(1,n):\n",
+      "        for j in range(1,n+1):#Generates all nodes\n",
+      "            if(cost[i][j]<min):\n",
+      "                if(visited[i]!=0):\n",
+      "                    min=cost[i][j]#Changes value if the new node has less cost\n",
+      "                    global a\n",
+      "                    a=i\n",
+      "                    u=i\n",
+      "                    global b\n",
+      "                    b=j\n",
+      "                    global v\n",
+      "                    v=j\n",
+      "    if(visited[v]==0 or visited[u]==0):\n",
+      "        \n",
+      "        print \"\\nedge\",ne,\":(\",a,\" \",b,\")\",\"cost\",min\n",
+      "        ne=ne+1\n",
+      "        mincost=mincost+min\n",
+      "        visited[b]=1\n",
+      "    cost[a][b]=cost[b][a]=999\n",
+      "print \"minimum cost=\",mincost\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "PRIM'S ALGORITHM\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the number of nodes7\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the adjacency matrix\n",
+        "Enter the input for 1 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 1 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 2 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 3 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 4 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 5 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 6 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the input for 7 7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "\n",
+        "\n",
+        "edge 1 :( 1   6 ) cost 1\n",
+        "\n",
+        "edge 2 :( 1   2 ) cost 2\n",
+        "\n",
+        "edge 3 :( 2   7 ) cost 1\n",
+        "\n",
+        "edge 4 :( 6   5 ) cost 2\n",
+        "\n",
+        "edge 5 :( 5   4 ) cost 3\n",
+        "\n",
+        "edge 6 :( 2   3 ) cost 5\n",
+        "minimum cost= 14\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elements_of_discrete_mathematics/Chapter8.ipynb b/Elements_of_discrete_mathematics/Chapter8.ipynb
new file mode 100755
index 00000000..a92071c6
--- /dev/null
+++ b/Elements_of_discrete_mathematics/Chapter8.ipynb
@@ -0,0 +1,62 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:315aef45dcd0f156b4319ee68cddb70a9a8edfeb1c485c709f025d64bf2af90b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "8 Discrete numeric functions and generating functions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 01:Page 368"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"Suppose we deposit $100 in a savings account at an interest rate of 7 percent per year, compounded annually\"\n",
+      "principal=100\n",
+      "rate_of_interest=7\n",
+      "def amount(r): # r represents the number of years\n",
+      "    a=principal*pow(1.07,r) # Since the formula for compound interest is 100*(1+(rate_of_interest/100)) and rate_of_interest here is 7\n",
+      "    return a\n",
+      "print \"At the end of the first year, the total amount in the account is $\",amount(1) #Since we calculate the amount after 1 year, here r is 1\n",
+      "print \"At the end of the second year, the total amount in the account is $\",amount(2) #Since we calculate the amount after 2 years, here r is 2\n",
+      "print \"At the end of the third year, the total amount in the account is $\",round(amount(3),2) #Since we calculate the amount after 3 years, here r is 3\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Suppose we deposit $100 in a savings account at an interest rate of 7 percent per year, compounded annually\n",
+        "At the end of the first year, the total amount in the account is $ 107.0\n",
+        "At the end of the second year, the total amount in the account is $ 114.49\n",
+        "At the end of the third year, the total amount in the account is $ 122.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elements_of_discrete_mathematics/Chapter9.ipynb b/Elements_of_discrete_mathematics/Chapter9.ipynb
new file mode 100755
index 00000000..2c4b742e
--- /dev/null
+++ b/Elements_of_discrete_mathematics/Chapter9.ipynb
@@ -0,0 +1,285 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:fe52e80aefa7cef4c97d80a1d8ac06d5a056bd7deebddce40f058e873b9c3a02"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "9 Recurrence relations and recursive algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15:Page 421"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"MERGE SORT\"\n",
+      "alist=[65,43,22,54,87,11,76,48,30,60,19,75,94,27,58,80]#List to be sorted\n",
+      "def mergesort(alist):\n",
+      "    print \"Splitting\",alist\n",
+      "    if len(alist)>1:\n",
+      "        \n",
+      "        mid=len(alist)/2\n",
+      "        left_half=alist[:mid]\n",
+      "        right_half=alist[mid:]#Spltting into halves\n",
+      "        mergesort(left_half)\n",
+      "        mergesort(right_half)#Recirsive split to obtain values\n",
+      "        i=0\n",
+      "        j=0\n",
+      "        k=0#Varaibles for indexing\n",
+      "        while i<len(left_half) and j<len(right_half):\n",
+      "            if left_half[i]<right_half[j]:\n",
+      "                alist[k]=left_half[i]#Puts the minimum value in the beginning\n",
+      "                i=i+1\n",
+      "            else:\n",
+      "                alist[k]=right_half[j]\n",
+      "                j=j+1\n",
+      "            k=k+1\n",
+      "        while i<len(left_half):\n",
+      "            alist[k]=left_half[i]#Combine left sorted elements to the whole list\n",
+      "            i=i+1\n",
+      "            k=k+1\n",
+      "        while j<len(right_half):\n",
+      "            alist[k]=right_half[j]#Combine right sorted elements to the wholw list\n",
+      "            j=j+1\n",
+      "            k=k+1\n",
+      "    print \"Merging\",alist\n",
+      "   \n",
+      "mergesort(alist)\n",
+      "print(alist)\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "MERGE SORT\n",
+        "Splitting [65, 43, 22, 54, 87, 11, 76, 48, 30, 60, 19, 75, 94, 27, 58, 80]\n",
+        "Splitting [65, 43, 22, 54, 87, 11, 76, 48]\n",
+        "Splitting [65, 43, 22, 54]\n",
+        "Splitting [65, 43]\n",
+        "Splitting [65]\n",
+        "Merging [65]\n",
+        "Splitting [43]\n",
+        "Merging [43]\n",
+        "Merging [43, 65]\n",
+        "Splitting [22, 54]\n",
+        "Splitting [22]\n",
+        "Merging [22]\n",
+        "Splitting [54]\n",
+        "Merging [54]\n",
+        "Merging [22, 54]\n",
+        "Merging [22, 43, 54, 65]\n",
+        "Splitting [87, 11, 76, 48]\n",
+        "Splitting [87, 11]\n",
+        "Splitting [87]\n",
+        "Merging [87]\n",
+        "Splitting [11]\n",
+        "Merging [11]\n",
+        "Merging [11, 87]\n",
+        "Splitting [76, 48]\n",
+        "Splitting [76]\n",
+        "Merging [76]\n",
+        "Splitting [48]\n",
+        "Merging [48]\n",
+        "Merging [48, 76]\n",
+        "Merging [11, 48, 76, 87]\n",
+        "Merging [11, 22, 43, 48, 54, 65, 76, 87]\n",
+        "Splitting [30, 60, 19, 75, 94, 27, 58, 80]\n",
+        "Splitting [30, 60, 19, 75]\n",
+        "Splitting [30, 60]\n",
+        "Splitting [30]\n",
+        "Merging [30]\n",
+        "Splitting [60]\n",
+        "Merging [60]\n",
+        "Merging [30, 60]\n",
+        "Splitting [19, 75]\n",
+        "Splitting [19]\n",
+        "Merging [19]\n",
+        "Splitting [75]\n",
+        "Merging [75]\n",
+        "Merging [19, 75]\n",
+        "Merging [19, 30, 60, 75]\n",
+        "Splitting [94, 27, 58, 80]\n",
+        "Splitting [94, 27]\n",
+        "Splitting [94]\n",
+        "Merging [94]\n",
+        "Splitting [27]\n",
+        "Merging [27]\n",
+        "Merging [27, 94]\n",
+        "Splitting [58, 80]\n",
+        "Splitting [58]\n",
+        "Merging [58]\n",
+        "Splitting [80]\n",
+        "Merging [80]\n",
+        "Merging [58, 80]\n",
+        "Merging [27, 58, 80, 94]\n",
+        "Merging [19, 27, 30, 58, 60, 75, 80, 94]\n",
+        "Merging [11, 19, 22, 27, 30, 43, 48, 54, 58, 60, 65, 75, 76, 80, 87, 94]\n",
+        "[11, 19, 22, 27, 30, 43, 48, 54, 58, 60, 65, 75, 76, 80, 87, 94]\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17:Page 424"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print \"BINARY SEARCH\"\n",
+      "array=[\"\" for i in range(100)]\n",
+      "temp=0#Variable checks if the element has been found. Initialised to zero, if it retains the same value till the end, then the element is not in the given list\n",
+      "n=input(\"Enter the number of elements\")\n",
+      "print \"Enter the elememts in sorted order\"\n",
+      "for i in range(0,n):\n",
+      "    array[i]=input()#Input the numbers in ascending order\n",
+      "item=input(\"Enter the item to be searched\")\n",
+      "first=0#\n",
+      "last=n-1\n",
+      "while first<=last:\n",
+      "    mid=(first+last)/2#Finds the middle element\n",
+      "    if item==array[mid]:\n",
+      "        print \"Search is successfully completed\"\n",
+      "        temp=mid\n",
+      "        print \"The item is in position\",temp+1\n",
+      "        \n",
+      "    if item<array[mid]:#Divides the array into half depending on the value to be searched\n",
+      "        last=mid-1\n",
+      "    else:\n",
+      "        first=mid+1\n",
+      "if temp==0:\n",
+      "        print \"Search is not successfully completed\"\n",
+      "    \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "BINARY SEARCH\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the number of elements7\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the elememts in sorted order\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "16\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "25\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "49\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "50\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "67\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "84\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the item to be searched67\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Search is successfully completed\n",
+        "The item is in position 6\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Elements_of_discrete_mathematics/screenshots/Chapter10.png b/Elements_of_discrete_mathematics/screenshots/Chapter10.png
new file mode 100755
index 00000000..6ae7774c
Binary files /dev/null and b/Elements_of_discrete_mathematics/screenshots/Chapter10.png differ
diff --git a/Elements_of_discrete_mathematics/screenshots/Chapter2.png b/Elements_of_discrete_mathematics/screenshots/Chapter2.png
new file mode 100755
index 00000000..0367a0b1
Binary files /dev/null and b/Elements_of_discrete_mathematics/screenshots/Chapter2.png differ
diff --git a/Elements_of_discrete_mathematics/screenshots/Chapter5.png b/Elements_of_discrete_mathematics/screenshots/Chapter5.png
new file mode 100755
index 00000000..e4543517
Binary files /dev/null and b/Elements_of_discrete_mathematics/screenshots/Chapter5.png differ
diff --git a/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter1.ipynb b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter1.ipynb
new file mode 100755
index 00000000..93534790
--- /dev/null
+++ b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter1.ipynb
@@ -0,0 +1,579 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 1 : concept of electric current and laws"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.1, Page number 4"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "specific resistance =  1.66666666667e-08 ohm-metre\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Find specific resistance\n",
+    "\n",
+    "#variable declaration\n",
+    "L =12  #meter\n",
+    "A=0.01*10**-4   #m**2\n",
+    "R=0.2  #ohm\n",
+    "\n",
+    "#calculation\n",
+    "p=R*A/L   #specific resistance\n",
+    "\n",
+    "#result\n",
+    "print \"specific resistance = \" , p, \"ohm-metre\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.2, Page number 5"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "The resistance of armature winding at 40 degree celcius = 1.575 ohm\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Calculate resistance\n",
+    "\n",
+    "#variable declaration\n",
+    "a0=0.0043 \n",
+    "t1=27 #degree celsius\n",
+    "t2=40\n",
+    "R1=1.5 #ohm\n",
+    "\n",
+    "#calculation\n",
+    "R2=R1*(1+a0*t2)/(1+a0*t1) #ohm\n",
+    "\n",
+    "#result\n",
+    "print \"The resistance of armature winding at 40 degree celcius =\" , round(R2,3) ,\"ohm\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.3, Page number 13"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Resistance =  30 ohm\n",
+      "cureent =  4 amperes\n",
+      "Voltage V1 =  20 volts\n",
+      "Voltage V2 =  40 volts\n",
+      "Voltage V3 =  60 volts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Find resistance , current and voltage\n",
+    "\n",
+    "#variable decdlaration\n",
+    "R1=5 #ohm   \n",
+    "R2=10\n",
+    "R3=15\n",
+    "V=120 #volt\n",
+    "\n",
+    "#calculation\n",
+    "R=R1+R2+R3 #ohm\n",
+    "I=V/R  # ampere\n",
+    "V1=I*R1  #volt\n",
+    "V2=I*R2\n",
+    "V3=I*R3\n",
+    "\n",
+    "#result\n",
+    "print \"Resistance = \" , R , \"ohm\"\n",
+    "print \"cureent = \" , I , \"amperes\"\n",
+    "print \"Voltage V1 = \" , V1 , \"volts\"\n",
+    "print \"Voltage V2 = \" , V2 , \"volts\"\n",
+    "print \"Voltage V3 = \" , V3 , \"volts\"\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.4, Page number 14"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "resistance across AC =  4.76 ohms\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Find equivalent resistance\n",
+    "\n",
+    "#varaiable declaration\n",
+    "Rab =(2.0*4.0)/(2+4) #ohms\n",
+    "Rbc =(6.0*8.0)/(6+8)\n",
+    "\n",
+    "#calculation\n",
+    "Rac = Rab+Rbc #ohms\n",
+    "\n",
+    "#result\n",
+    "print \"resistance across AC = \" , round(Rac,2) , \"ohms\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.5, Page number 14"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "resistance across AC =  10.8 ohms\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Find effective resistance\n",
+    "\n",
+    "#variable declaration\n",
+    "Rab=4 #ohm\n",
+    "Rbc=(12.0*8.0)/(12+8)\n",
+    "Rcd=(3.0*6.0)/(3+6)\n",
+    "\n",
+    "#calculation\n",
+    "Rad=Rab+Rbc+Rcd #ohm\n",
+    "\n",
+    "#result\n",
+    "print \"resistance across AC = \" , Rad, \"ohms\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.6, Page number 15"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " Resistance R2 =  24 ohms\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Find resistance\n",
+    "\n",
+    "#variable declaration\n",
+    "R1=8 #ohms\n",
+    "R=6\n",
+    "#calculations\n",
+    "R2 = 48/2 # R = R1*R2/(R1+R2)\n",
+    "\n",
+    "#result\n",
+    "print \" Resistance R2 = \" , R2, \"ohms\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.7, Page number 15"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "I1=  6.857 amperes\n",
+      "I2=  5.14 amperes\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Find values of current\n",
+    "\n",
+    "#variable declaration\n",
+    "I=12.0 #ampere\n",
+    "R1=6.0 #ohms\n",
+    "R2=8.0\n",
+    "\n",
+    "#calculations\n",
+    "I1=I*R2/(R1+R2) #amperes\n",
+    "I2=I*R1/(R1+R2)\n",
+    "\n",
+    "#result\n",
+    "print \"I1= \" , round(I1,3) , \"amperes\" \n",
+    "print \"I2= \" , round(I2,2) , \"amperes\"\n",
+    "\n",
+    "#round off error in book\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.9, Page number 17"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " I1=  6.0 amperes \n",
+      " I2=  4.0 amperes \n"
+     ]
+    }
+   ],
+   "source": [
+    "#Find current values\n",
+    "\n",
+    "#variable declaration\n",
+    "R1=0.02 #ohms\n",
+    "R2=0.03\n",
+    "I = 10 #amperes\n",
+    "\n",
+    "#Calculations\n",
+    "I1=(I*R2)/(R1+R2)\n",
+    "I2=(I*R1)/(R1+R2)\n",
+    "\n",
+    "#result\n",
+    "print \" I1= \" , I1 , \"amperes \"\n",
+    "print \" I2= \" , I2 , \"amperes \" \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.10, Page number 18"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "R1 =  26.67 ohms\n",
+      "R2 =  11.43 ohms\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Calculate resistance of each coil\n",
+    "\n",
+    "#variable declaration\n",
+    "V=200.0 #volts\n",
+    "I=25.0 #amperes\n",
+    "P1=1500.0 #watts\n",
+    "\n",
+    "#calculations \n",
+    "R1=(V*V)/P1 #ohms\n",
+    "R=V/I       #total resistance\n",
+    "R2=R*R1/(R1-R) #ohms\n",
+    "\n",
+    "#result\n",
+    "print \"R1 = \" ,round(R1,2) , \"ohms\" \n",
+    "print \"R2 = \" , round(R2,2) , \"ohms\" \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.11, Page number 19"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "power dissipated in coil  Pa =  333.33 watts\n",
+      "power dissipated in coil  Pb =  1333.33 watts\n",
+      "power dissipated in coil  Pc =  333.33 watts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Calculate power dissipaed in each coil\n",
+    "\n",
+    "#variable declaration\n",
+    "V=100.0 #volts \n",
+    "P=1500.0 #watts\n",
+    "\n",
+    "#calculations\n",
+    "R=(V**2/P)/2 #ohms\n",
+    "Ra=R\n",
+    "Rb=R\n",
+    "Rc=R\n",
+    "R1=((Ra*Rc)/(Ra+Rc))+Rb\n",
+    "I=V/R1 #amperes\n",
+    "I1=(I*Ra)/(Ra+Rc)\n",
+    "I2=(I*Ra)/(Ra+Rc)\n",
+    "Pb=I*I*Ra #watts\n",
+    "Pa=I1*I1*Rb\n",
+    "Pc=I2*I2*Rc\n",
+    "\n",
+    "#result\n",
+    "print \"power dissipated in coil  Pa = \" , round(Pa,2) , \"watts\"\n",
+    "print \"power dissipated in coil  Pb = \" , round(Pb,2), \"watts\"\n",
+    "print \"power dissipated in coil  Pc = \" , round(Pc,2) , \"watts\"\n",
+    "\n",
+    "#Round off error in book \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.12, Page number 20"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Bill amount = Rs  263.0\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Calculate amount of bill\n",
+    "\n",
+    "#variable declaration\n",
+    "L=3600  #six lamp 1000 watt each for six days\n",
+    "H=3000  # heater\n",
+    "M=735.5 # single phase motor\n",
+    "F=2400  #four fans 75W\n",
+    "C=0.9 #cost of energy\n",
+    "\n",
+    "#Calculations\n",
+    "T=L+H+M+F #total energy consumed in watt \n",
+    "TE=T*30/1000\n",
+    "B=TE*C #Bill amount in Rs\n",
+    "\n",
+    "#result\n",
+    "print \"Bill amount = Rs \" , round(B) \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.18, Page number 34"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Rr =  2.0 ohms\n",
+      "Ry =  0.4 ohms\n",
+      "Rb=  0.5 ohms\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Calculate resistance value\n",
+    "\n",
+    "#variable declaration\n",
+    "Rry=4.0 #ohm\n",
+    "Ryb=1.0\n",
+    "Rbr=5.0\n",
+    "\n",
+    "#calculation\n",
+    "Rr=(Rbr*Rry)/(Rry+Rbr+Ryb)\n",
+    "Ry=(Rry*Ryb)/(Rry+Rbr+Ryb)\n",
+    "Rb=(Rbr*Ryb)/(Rry+Rbr+Ryb)\n",
+    "\n",
+    "#result\n",
+    "print \"Rr = \" , Rr , \"ohms\"\n",
+    "print \"Ry = \" , Ry , \"ohms\"\n",
+    "print \"Rb= \" , Rb , \"ohms\"\n",
+    "\n",
+    "#Value of Rr in book is printed wrong \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example1.19, Page number 34"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Rry =  4.0 ohms\n",
+      "Ryb =  2.0 ohms\n",
+      "Rbr =  6.0 ohms\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Calculate resistance\n",
+    "\n",
+    "#variable declaration\n",
+    "Rr=2.0 #ohms\n",
+    "Ry=0.67\n",
+    "Rb=1.0\n",
+    "\n",
+    "#calculations\n",
+    "Rry=(Rr*Ry)+(Ry*Rb)+(Rb*Rr)/Rb\n",
+    "Ryb=((Rr*Ry)+(Ry*Rb)+(Rb*Rr))/Rr\n",
+    "Rbr=((Rr*Ry)+(Ry*Rb)+(Rb*Rr))/Ry\n",
+    "\n",
+    "#result\n",
+    "print \"Rry = \" , round(Rry) , \"ohms\"\n",
+    "print \"Ryb = \" , round(Ryb) , \"ohms\"\n",
+    "print \"Rbr = \" , round(Rbr) , \"ohms\"\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter2.ipynb b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter2.ipynb
new file mode 100755
index 00000000..73a9ca5d
--- /dev/null
+++ b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter2.ipynb
@@ -0,0 +1,545 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#Chapter 2 : Magnetic circuits"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.1, page number 51"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "flux density =  1.25 Wb/m^2\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Determine magnetic flux density\n",
+    "\n",
+    "#variable declaration\n",
+    "F=0.5e-3 #webers\n",
+    "A=4*10**-4 #meter**2\n",
+    "\n",
+    "#calculation\n",
+    "B=F/A #flux density\n",
+    "\n",
+    "#result\n",
+    "print \"flux density = \" , B, \"Wb/m^2\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.2, page number 51"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "magnetic field strenght =  400.0 AT/m\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Determine magnetic field strength\n",
+    "\n",
+    "#variable declaration\n",
+    "I=2 #ampere\n",
+    "L=50e-2 #meter\n",
+    "N=100 #turns\n",
+    "\n",
+    "#calculations\n",
+    "H=(N*I)/L #magnetic field strength\n",
+    "\n",
+    "#result\n",
+    "print \"magnetic field strenght = \" , H , \"AT/m\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.3, page number 51"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Reluctance =  2094144.0 AT/Wb\n",
+      "current =  5.86 amperes\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Calculate reluctance and current required to produce flux\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "A=5e-4 # area in m**2\n",
+    "N=250 # number of turns\n",
+    "l=50e-2 # length\n",
+    "F=700e-6 #flux \n",
+    "u=380 #relative permeability\n",
+    "\n",
+    "#calculations\n",
+    "S=l/(4*math.pi*10**-7*A*u) #reluctance\n",
+    "I=F*S/N #current\n",
+    "\n",
+    "\n",
+    "print \"Reluctance = \" , round(S,1) , \"AT/Wb\"\n",
+    "print \"current = \" , round(I,2) , \"amperes\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.4, page number 52"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "value of relative permeability =  500.0\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "#Determine relative permeability of iron\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#varaible declaration\n",
+    "D=15e-2 #diameter\n",
+    "l=math.pi*15e-2 #length\n",
+    "N=450 #number of turns \n",
+    "I=2 #amperes\n",
+    "B=1.2 #flux density\n",
+    "\n",
+    "#calculations\n",
+    "u=(B*l)/(4*math.pi*10**-7*N*I) #relative permeability\n",
+    "\n",
+    "#result\n",
+    "print \"value of relative permeability = \" , u \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.5, page number 53"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "total amperes turns =  1850.18 AT\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "\n",
+    "#Calculate mmf required\n",
+    "\n",
+    "#variable declaration\n",
+    "l=1.5 #length\n",
+    "u=1600 #relative permeability\n",
+    "B=1.2 #flux density\n",
+    "la=1e-3 #length of air gap\n",
+    "ua=1 #relative permeability of air\n",
+    "\n",
+    "#calculations\n",
+    "H1=B*l/(4*math.pi*10**-7*u) #ampere turns in iron path\n",
+    "H2=B*la/(4*math.pi*10**-7*ua) #ampere turns in air gap\n",
+    "H=H1+H2 #total turns\n",
+    "\n",
+    "#result\n",
+    "print \"total amperes turns = \" , round(H,2) , \"AT\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.6, page number 54"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " #case 1\n",
+      " magnetic force =  800.0 AT/m\n",
+      " relative permeability =  596.83\n",
+      " flux density =  0.6 Wb/m**2\n",
+      " #case 2\n",
+      " magnetic force =  2000.0 AT/m\n",
+      " relative permeability =  461.55\n",
+      " flux density =  0.464 Wb/m**2\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Calculate magnetic force , relative permeability and flux density\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "A=5e-4 #m**2\n",
+    "l=25e-2 #m\n",
+    "N=100 #number of turns\n",
+    "I=2 #amperes\n",
+    "F=0.3e-3 #flux\n",
+    "I1=5 #amperes\n",
+    "F1=0.58e-3 #flux\n",
+    "\n",
+    "#calculations\n",
+    "H=(N*I)/l #magnetic force\n",
+    "u=(F*l)/(N*I*A*4*math.pi*10**-7) #relative permeability\n",
+    "B=(u*H*4*math.pi*10**-7) #flux density\n",
+    "H1=(N*I1)/l \n",
+    "u1=(F1*l)/(N*I1*A*4*math.pi*10**-7)\n",
+    "B1=(u1*H*4*math.pi*10**-7)\n",
+    "\n",
+    "#result\n",
+    "print \" #case 1\"\n",
+    "print \" magnetic force = \" , H , \"AT/m\"\n",
+    "print \" relative permeability = \" , round(u,2)\n",
+    "print \" flux density = \" , B , \"Wb/m**2\"\n",
+    "print \" #case 2\"\n",
+    "print \" magnetic force = \" , H1 , \"AT/m\"\n",
+    "print \" relative permeability = \" , round(u1,2)\n",
+    "print \" flux density = \" , B1 , \"Wb/m**2\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.7, page number 56"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Magnetising current =   1.59 A\n"
+     ]
+    }
+   ],
+   "source": [
+    "# Calculate magnetising current\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "A=0.01 #m**2\n",
+    "l=2e-3 #m \n",
+    "u=1 #relative permeability\n",
+    "F=800e-6 #magnetic flux\n",
+    "L=150e-2 #m\n",
+    "u1=600 #relative permeability of iron\n",
+    "f=9.6e-4 #magnetic flux of iron\n",
+    "n=200 #turns\n",
+    "\n",
+    "#calculations\n",
+    "B=F/A #flux\n",
+    "H=B/(4*math.pi*10**-7*u) #manetising force in air gap\n",
+    "N=(H*l) #turns\n",
+    "N1=(f*L)/(A*4*math.pi*10**-7*u1) #turns\n",
+    "N2=N1+N #total ampere turns\n",
+    "M=N2/n #Magnetising current\n",
+    "\n",
+    "#result\n",
+    "print \"Magnetising current =  \" , round(M,2) , \"A\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.8, page number 57"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "total ampere turns  =  2005.35 ampere turns\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Find number of ampere turns\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "A=25e-4 #m**2\n",
+    "F=1.2e-3 #Wb\n",
+    "u=1  #air path\n",
+    "l=0.25e-2 #m\n",
+    "ur=2000  # iron path\n",
+    "L=50e-2 #m\n",
+    "\n",
+    "#calculations\n",
+    "N=(F*l/(4*math.pi*10**-7*A*u))*2  #for two air gaps\n",
+    "N1=(F*L)/(ur*A*4*math.pi*10**-7)\n",
+    "N2=N+N1\n",
+    "\n",
+    "#result\n",
+    "print \"total ampere turns  = \" , round(N2,2) , \"ampere turns\"\n",
+    "\n",
+    "#round off error in book\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.9, page number 58"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " exciting current =  1.64 amperes\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Determine exciting current\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "u=1 #for air gap\n",
+    "F=1.5e-3 #flux\n",
+    "A=9e-4 #area \n",
+    "l=4e-3 #air gap\n",
+    "u1=800# for iron gap\n",
+    "A1=750e-6 #m**2\n",
+    "l1=270e-3 #m\n",
+    "u2=1000 #for P,Q,R\n",
+    "Ip=135e-3 #ampere\n",
+    "Iq=270e-3\n",
+    "Ir=135e-3\n",
+    "TN=4000 #turns\n",
+    "\n",
+    "#calculation\n",
+    "B=F/A #Wb/m**2\n",
+    "H=B/(4*math.pi*10**-7*u) #AT/m\n",
+    "S=H*l #amperes turns in air gap\n",
+    "B1=F/A1\n",
+    "H1=B1/(4*math.pi*10**-7*u1)\n",
+    "S1=H1*l1\n",
+    "H2=B/(4*math.pi*10**-7*u2)\n",
+    "S2=H2*(Ip+Iq+Ir)#amperes turns\n",
+    "TNn=S+S1+S2  #turns\n",
+    "EI=TNn/TN #amperes\n",
+    "\n",
+    "print \" exciting current = \" , round(EI,3) , \"amperes\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.10, page number 60"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " exciting current =  0.601 amperes\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Determine exciting current\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "u=1 #for air gap\n",
+    "F=1.2e-3 #flux\n",
+    "A=10e-4 #area \n",
+    "l=0.2e-3#air gap\n",
+    "l1=15e-2#air gap\n",
+    "A1=8e-4\n",
+    "H1=450 \n",
+    "F1=0.6e-3\n",
+    "H2=140\n",
+    "TN=500 #total turns\n",
+    "\n",
+    "#calculations\n",
+    "B=F/A #Wb/m**2\n",
+    "H=B/(4*math.pi*10**-7*u)\n",
+    "S=H*l #amperes turns in air gap\n",
+    "S1=H1*l1 #AT\n",
+    "B1=F1/A1 #Wb/m**2\n",
+    "S2=H2*30e-2 #AT\n",
+    "TAN=S+S1+S2 #turns\n",
+    "EI=TAN/TN #ampere\n",
+    "\n",
+    "#result\n",
+    "print \" exciting current = \" , round(EI,3) , \"amperes\"\n",
+    "\n",
+    "#round off error in book\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example2.11, page number 63"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Hysteresis loop =  10.0 j/s\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Calculate hysteresis loss\n",
+    "\n",
+    "#variable declaration\n",
+    "A=50 #area of hysterisis\n",
+    "H=200 #AT/m\n",
+    "B=0.2 #Wb/m**2\n",
+    "f=50 #Hz\n",
+    "D=10 # density\n",
+    "M=1000 # mass\n",
+    "\n",
+    "#calculations\n",
+    "V=M/D # velocity is mass /density\n",
+    "HL=A*H*B #j/m**2/cycle\n",
+    "HL1=A*H*B*10**-4 #j/cycle\n",
+    "HL2=A*H*B*50*1e-4 #j/s\n",
+    "\n",
+    "#result\n",
+    "print \"Hysteresis loop = \" ,HL2, \"j/s\"\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter3.ipynb b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter3.ipynb
new file mode 100755
index 00000000..024540f1
--- /dev/null
+++ b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter3.ipynb
@@ -0,0 +1,456 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#Chapter 3 : Electromagnetism"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example3.1, Page number 73 "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "induced emf e =  4.0 volts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate the emf induced in the coil\n",
+    "\n",
+    "#variable declaration\n",
+    "N=200 #rpm\n",
+    "F1=1e-3 #initial value\n",
+    "F2=3e-3 #final value\n",
+    "t=0.1 #second\n",
+    "\n",
+    "#calculation\n",
+    "F3=F2-F1 #final value\n",
+    "e=N*F3/t #neglecting negative sign\n",
+    "\n",
+    "#result\n",
+    "print \"induced emf e = \" , e , \"volts\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example3.2, Page number 74"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " emf induced in the conductor =  9.6 volt\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate the emf inducedin a long wire\n",
+    "\n",
+    "#variable declaration\n",
+    "B=1.2 #flux density\n",
+    "V=4 #velocity of conductor\n",
+    "l=2 #m\n",
+    "\n",
+    "#calculation\n",
+    "e=(B*V*l*1)#volts\n",
+    "\n",
+    "#result\n",
+    "print \" emf induced in the conductor = \" , e ,\"volt\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example3.3, Page number 78"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "inductance of coil =  0.075 henry\n"
+     ]
+    }
+   ],
+   "source": [
+    "#find the inductance of the  coil\n",
+    "\n",
+    "#variable declaration\n",
+    "N=1500 # number of turns\n",
+    "I=10 #ampere \n",
+    "F=.5*10**-3 #weber\n",
+    "\n",
+    "#calculation\n",
+    "L=N*F/I #inductance\n",
+    "\n",
+    "#result\n",
+    "print \"inductance of coil = \" , L ,\"henry\"\n",
+    " \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example3.4, Page number 78 "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Self inductance =   0.000335 henry\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math \n",
+    "\n",
+    "#calculate its self induction \n",
+    "\n",
+    "#variable declaration\n",
+    "Ur=1 \n",
+    "N=400 #turns\n",
+    "l=30e-2 #m\n",
+    "A=5e-4 #m**2\n",
+    "U0=4e-7*math.pi\n",
+    "\n",
+    "#calculation\n",
+    "S=l/(U0*Ur*A) #AT/m\n",
+    "L=N**2/S #henry\n",
+    "\n",
+    "#result\n",
+    "print \"Self inductance =  \" , round(L,6) , \"henry\"\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example3.5, Page number 79 "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " Inductance of coil =  0.000503 henry\n",
+      " emf induced =  0.1006 volts\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "\n",
+    "#calculate the inductance and emf induced in the coil\n",
+    "\n",
+    "#variable declaration\n",
+    "u=1  \n",
+    "D=25e-2 #m \n",
+    "N=500 #turns\n",
+    "d=4e-2  #cross sectional diameter\n",
+    "dI=10 #ampere\n",
+    "dt=50e-3 #s\n",
+    "\n",
+    "#calculation\n",
+    "l=3.14*D #m\n",
+    "A=(math.pi*d*d)/4 #cross sectional area\n",
+    "s=l/(4*math.pi*10**-7*u*A) #AT/Wb\n",
+    "L=N**2/s  # self inductance\n",
+    "e=(L*dI)/dt\n",
+    "\n",
+    "#result\n",
+    "print \" Inductance of coil = \" , round(L,6) , \"henry\"\n",
+    "print \" emf induced = \" , round(e,4) , \"volts\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example3.6, Page number 80 "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " Inductance of coil =  0.00016 henry\n",
+      " emf induced =  0.032 volts\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "\n",
+    "#calculate the induced emf in the coil\n",
+    "\n",
+    "#variable declaration\n",
+    "A=4e-4 #cross sectional in a square side\n",
+    "u=1  #air core torroidal ring\n",
+    "D=25e-2 #m\n",
+    "N=500 #turns\n",
+    "d=4e-2  #cross sectional diameter\n",
+    "dI=10 #ampere\n",
+    "dt=50e-3 #s\n",
+    "\n",
+    "#calculation\n",
+    "l=3.14*D #m\n",
+    "s=l/(4*math.pi*10**-7*u*A) #AT/Wb\n",
+    "L=N**2/s  # self inductance\n",
+    "e=(L*dI)/dt #volts\n",
+    "\n",
+    "#result\n",
+    "print \" Inductance of coil = \" , round(L,6) , \"henry\"\n",
+    "print \" emf induced = \" , round(e,4) , \"volts\"\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example3.7, Page number 80 "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 7,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Case 1\n",
+      "induced emf =  0.05029 volts\n",
+      "case 2\n",
+      "induced emf =  0.20116 volts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate the induced emf in coil\n",
+    "\n",
+    "#variable declaration\n",
+    "di=5 #ampere\n",
+    "dt=0.05 #s\n",
+    "L=5.029e-4 #m \n",
+    "di1=400 #ampere\n",
+    "dt1=1 #s\n",
+    "\n",
+    "#calculation\n",
+    "e=L*di/dt #volts\n",
+    "e1=L*di1/dt1 #volts\n",
+    "\n",
+    "#result\n",
+    "print \"Case 1\"\n",
+    "print \"induced emf = \" , e , \"volts\"\n",
+    "print \"case 2\"\n",
+    "print \"induced emf = \" , e1, \"volts\"\n",
+    "\n",
+    "#round off error in book\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example3.8, Page number 83 "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " Mutual inductance =  0.471 henry\n",
+      " emf induced =  376.99 volts\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "\n",
+    "#calculate the mutual inductance between the two coil\n",
+    "\n",
+    "#variable declaration\n",
+    "N1=50 #turns for coil 1\n",
+    "N2=400 #turns for coil 2\n",
+    "A=150e-4 #m**2\n",
+    "l=200e-2 #m\n",
+    "u=2500 #relative permeability\n",
+    "dI1=24 #ampere\n",
+    "dt=0.03 #s\n",
+    "\n",
+    "#calculation\n",
+    "s=l/(4*math.pi*10**-7*A*u) #AT?wb\n",
+    "M=(N1*N2)/s #henry\n",
+    "eM2=M*dI1/dt #volts\n",
+    "\n",
+    "#result\n",
+    "print \" Mutual inductance = \" , round(M,3) , \"henry\"\n",
+    "print \" emf induced = \" , round(eM2,2) , \"volts\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example3.9, Page number 86 "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Energy stored =   1.0 joule\n"
+     ]
+    }
+   ],
+   "source": [
+    "#find the energy stored in it\n",
+    "\n",
+    "#variable declaration\n",
+    "L=0.5 #m\n",
+    "I=2 #ampere\n",
+    "\n",
+    "#calculation\n",
+    "E=0.5*L*I*I #volts\n",
+    "\n",
+    "#result\n",
+    "print \"Energy stored =  \", E,  \"joule\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example3.10, Page number 86"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Total force =  1718.9 N\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "\n",
+    "#determine the pull between poles and keeper\n",
+    "A=15e-4 #m**2\n",
+    "B=1.2 #flux density\n",
+    "U=1\n",
+    "\n",
+    "#calculation\n",
+    "F=2*B*B*A/(2*4*math.pi*10**-7) #force\n",
+    "\n",
+    "#result\n",
+    "print \"Total force = \" , round(F,1) , \"N\"\n",
+    "\n",
+    "#round off error in book\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter4.ipynb b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter4.ipynb
new file mode 100755
index 00000000..819fca74
--- /dev/null
+++ b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/Chapter4.ipynb
@@ -0,0 +1,1324 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "#Chapter 4 : A.C.Circuits"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.1, Page number 99"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " Maximum value of current =  40 amperes\n",
+      " Average of value of currenr =  28.289 amperes\n",
+      " R.M.S. value of current =  25.478 amperes\n",
+      " Frequency =  50.0 Hz\n",
+      " Form factor =  0.901\n",
+      " Peak factor =  1.57\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine Maximum ,Average adn R.M.S. value of current. Find frequency and form factor.\n",
+    "\n",
+    "#variable declaration\n",
+    "Im=40 #ampere\n",
+    "w=314 #rad/sec\n",
+    "\n",
+    "#calculation\n",
+    "Iav=Im/1.414 #amperes\n",
+    "Irms=Im*2/3.14 #amperes\n",
+    "f=w/(2*3.14) #Hz\n",
+    "Ff=Irms/Iav #form factor\n",
+    "Pf=Im/Irms #peak factor\n",
+    "\n",
+    "#result\n",
+    "print \" Maximum value of current = \" , Im , \"amperes\"\n",
+    "print \" Average of value of currenr = \" , round(Iav,3) , \"amperes\"\n",
+    "print \" R.M.S. value of current = \" ,round(Irms,3) , \"amperes\"\n",
+    "print \" Frequency = \" , f , \"Hz\"\n",
+    "print \" Form factor = \" , round(Ff,3)\n",
+    "print \" Peak factor = \" , Pf\n",
+    "\n",
+    "#Answers in book printed wrong\n",
+    "     \n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.2, Page number 100"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 29,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " voltage equation v =  70.7 sin( 314.0 )t\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the voltage sin wave\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "f=50 #Hz\n",
+    "V=50 #volts\n",
+    "\n",
+    "#calculation\n",
+    "Vm=V*math.sqrt(2) #volts\n",
+    "w=2*math.pi*f #Hz\n",
+    "\n",
+    "#result\n",
+    "print \" voltage equation v = \",round(Vm,1),\"sin(\",round(w),\")t\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Example4.3, Page number 100"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 30,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " Instantenous value of voltage =  282.843 volts\n",
+      " Time to reach instantenous value =  0.00178 seconds\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine voltage and  time taken to reach the intantaneous voltage\n",
+    "\n",
+    "from math import sqrt,asin,sin,pi\n",
+    "\n",
+    "#variable declaration\n",
+    "f=50 #Hz\n",
+    "Vr=200 #volts\n",
+    "t=2.5e-3 #seconds\n",
+    "v1=150 #volts\n",
+    "\n",
+    "#calculations\n",
+    "Vm=Vr*sqrt(2) #volts\n",
+    "t=(asin(v1/Vm))/(2*f*pi) #seconds\n",
+    "#result\n",
+    "print \" Instantenous value of voltage = \" , round(Vm,3) , \"volts\"\n",
+    "print \" Time to reach instantenous value = \" , round(t,5) , \"seconds\"\n",
+    "\n",
+    "#round off error\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.12, Page number 128"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 31,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "power dissipiated in resistance =  5002.0 watts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the power dissipiated in resistance from equation v=200 sind 314t and i=50 sind 314t\n",
+    "\n",
+    "#variable declaration\n",
+    "Vm=200 #volts\n",
+    "w = 314 #rad/sec\n",
+    "Im=50 #ampere\n",
+    "\n",
+    "#calculation\n",
+    "R=Vm/Im #ohm\n",
+    "I=Im/1.414 #ampere\n",
+    "P=(I*I*R) #watt\n",
+    "\n",
+    "#result\n",
+    "print \"power dissipiated in resistance = \" , round(P), \"watts\"\n",
+    "\n",
+    "#round off error\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.14, Page number 129"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 32,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "value of inductive reactance =  78.54 ohms\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the inductive reactance of the coil\n",
+    "\n",
+    "import math\n",
+    "#variable declaration\n",
+    "L=0.25;#henry\n",
+    "f=50;#frequency\n",
+    "\n",
+    "#calculation\n",
+    "X=2*math.pi*f*L # inductive reactance\n",
+    "\n",
+    "#result\n",
+    "print \"value of inductive reactance = \" ,round(X,2),\"ohms\"\n",
+    "\n",
+    "#round off error\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.15, Page number 130"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 33,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "the current flowing through the coil =  12.2 amperes\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate the current flowing through the coil\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "L=0.05 #inductance\n",
+    "V=230 #volts\n",
+    "f=60 #Hz\n",
+    "\n",
+    "#calculation\n",
+    "X=(2*math.pi*f*L) #inductive reactance\n",
+    "I=V/X #ampere\n",
+    "\n",
+    "#result\n",
+    "print \"the current flowing through the coil = \" , round(I,1) , \"amperes\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.16, Page number 130"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 34,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " the value of inductance=  0.1273 ohm\n",
+      " Current =  4.45 amperes\n"
+     ]
+    }
+   ],
+   "source": [
+    "#detrmine the value of inductance\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "I=5 #ampere\n",
+    "V=200 #volt\n",
+    "f=50 #hertz\n",
+    "f1=45 #hertz\n",
+    "\n",
+    "#calculation\n",
+    "X=V/I #inductive reactance\n",
+    "L=40/(2*math.pi*f) #inductance\n",
+    "I= V/(2*math.pi*f1*0.159) #ampere\n",
+    "\n",
+    "#result\n",
+    "print \" the value of inductance= \" , round(L,4) , \"ohm\"\n",
+    "print \" Current = \" , round(I,2) ,\"amperes\" \n",
+    "\n",
+    "#round off error\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.18, Page number 131"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 35,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Current =  1.88 ampere\n",
+      "current when frequency is doubled =  3.77 ampere\n",
+      "current when frequency is halfed =  0.94 ampere\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate the current\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "C=25e-6 #capacitance\n",
+    "V=200 #volts\n",
+    "f=60  #Hz\n",
+    "f1=30 #frequency half\n",
+    "f2=120  #frequency doubled\n",
+    "\n",
+    "#calcultion\n",
+    "Xc=1/(2*math.pi*f*C)\n",
+    "X1=1/(2*math.pi*f2*C)\n",
+    "X2=1/(2*math.pi*f1*C)\n",
+    "I=V/Xc #ampere\n",
+    "I1 = V/X1 #ampere\n",
+    "I2 = V/X2 #ampere\n",
+    "\n",
+    "#result\n",
+    "print \"Current = \", round(I,2),\"ampere\"\n",
+    "print \"current when frequency is doubled = \" , round(I1,2),\"ampere\"\n",
+    "print \"current when frequency is halfed = \" , round(I2,2),\"ampere\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.19, Page number 132"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 36,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " the value of capacitance =  0.00012732 farad\n",
+      "the value of current =  8 amperes\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the value of capacitance nd current\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "Xc=25 #ohm\n",
+    "V=200 #volts\n",
+    "f=50 #Hz\n",
+    "\n",
+    "#calculation\n",
+    "C=1/(2*math.pi*f*Xc) #capacitannce\n",
+    "I=V/Xc #ampere\n",
+    "\n",
+    "#result\n",
+    "print \" the value of capacitance = \" ,round(C,8),\"farad\"\n",
+    "print \"the value of current = \" ,I,\"amperes\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.20, Page number 132"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 37,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "value of frequency =  50.0 Hz\n"
+     ]
+    }
+   ],
+   "source": [
+    "#find the frquency\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "Vrms=110 #volts\n",
+    "c=15e-6 #capacitance\n",
+    "I=0.518 #amperes\n",
+    "\n",
+    "#calculation\n",
+    "Xc=Vrms/I #ohm\n",
+    "f=1/(2*math.pi*Xc*c) #Hz\n",
+    "\n",
+    "#result\n",
+    "print \"value of frequency = \" , round(f), \"Hz\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.21, Page number 133"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "phase angle =  32.142 degree\n",
+      "current flowing through coil =  21.168 ampere\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate the value of current\n",
+    "\n",
+    "from math import pi,sqrt,acos\n",
+    "\n",
+    "#variable declaration\n",
+    "R=10 #ohms\n",
+    "L=0.02 #henry\n",
+    "V=250 #volt\n",
+    "f=50 #hertz\n",
+    "\n",
+    "#calculation\n",
+    "X=(2*pi*f*L) #ohm\n",
+    "Z=sqrt(R**2+X**2) #ohm\n",
+    "I=V/Z #ampere\n",
+    "coso=R/Z \n",
+    "o= acos(coso)*180/pi\n",
+    "\n",
+    "#result\n",
+    "print \"phase angle = \",round(o,3),\"degree\"  \n",
+    "print \"current flowing through coil = \",round(I,3),\"ampere\"\n",
+    "\n",
+    "#round off error\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.22, Page number 134"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Inductive reactance =  157.08 ohm\n",
+      "Impedance =  164.845 ohm\n",
+      "current =  1.2133 ampere\n",
+      "power factor =  0.303\n",
+      "phase angle =  72.343\n",
+      " voltage across resistance =  60.663 volts\n",
+      " voltage across inductance  =  190.578 volts\n",
+      "Active power =  73.6 watts\n",
+      "Reactive power =  231.22 watts\n",
+      "Apparent power =  242.652 watts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#find the inductance impedence,current,power factor,voltage and power\n",
+    "\n",
+    "from math import pi,sqrt,acos,asin \n",
+    "\n",
+    "#variable declaration\n",
+    "R=50 #0hms\n",
+    "L=0.5 #henry\n",
+    "V=200 #volt\n",
+    "f=50 #hertz\n",
+    "\n",
+    "#calculation\n",
+    "Vm = V*sqrt(2) #volts\n",
+    "X=(2*pi*f*L) #ohm\n",
+    "Z= sqrt(R**2+X**2) #impedence\n",
+    "I=V/Z #ampere\n",
+    "Im = I*sqrt(2) \n",
+    "coso=R/Z\n",
+    "sino=X/Z\n",
+    "o=acos(coso)*180/pi\n",
+    "o1=asin(sino)*180/pi\n",
+    "Vr=I*R #volts\n",
+    "Vl=I*X #volts\n",
+    "AP=V*I*coso #active power\n",
+    "RP=V*I*sino #reactive power\n",
+    "APP=V*I #apparent power\n",
+    "\n",
+    "#result\n",
+    "print \"Inductive reactance = \" , round(X,3) , \"ohm\"\n",
+    "print \"Impedance = \" , round(Z,3), \"ohm\"\n",
+    "print \"current = \" , round(I,4) , \"ampere\"\n",
+    "print \"power factor = \" , round(coso,3)\n",
+    "print \"phase angle = \" , round(o,3)\n",
+    "print \" voltage across resistance = \" , round(Vr,3),\"volts\"\n",
+    "print \" voltage across inductance  = \" , round(Vl,3),\"volts\"\n",
+    "print \"Active power = \" , round(AP,3),\"watts\"\n",
+    "print \"Reactive power = \" , round(RP,3),\"watts\"\n",
+    "print \"Apparent power = \" , round(APP,3),\"watts\"\n",
+    "\n",
+    "#round off error\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.23, Page number 135"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 40,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "supply voltage =  989.07 volts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the supply voltage\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "R=15 #ohms \n",
+    "L=0.15 #henry\n",
+    "I=20 #amperes\n",
+    "f=50 #hertz\n",
+    "\n",
+    "#calculation\n",
+    "X=2*math.pi*f*L #ohm\n",
+    "Z=math.sqrt(R**2+X**2) #ohm\n",
+    "V=I*Z #volts\n",
+    "\n",
+    "#result\n",
+    "print \"supply voltage = \",round(V,2),\"volts\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.24, Page number 135"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Resistance =  379.748 ohms\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the supply voltage \n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "V=200 #ohms \n",
+    "L=0.4 #henry\n",
+    "I=0.5 #amperes\n",
+    "f=50 #hertz\n",
+    "\n",
+    "#Calculation\n",
+    "Z=V/I #ohms\n",
+    "X=2*math.pi*f*L #ohms\n",
+    "R=math.sqrt(Z**2-X**2)\n",
+    "\n",
+    "#result\n",
+    "print \"Resistance = \" , round(R,3), \"ohms\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.25, Page number 135"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 42,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " inductance of coil =   0.4418 henry\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the inductance of the coil\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "R=6 #ohm\n",
+    "V=250 #volts\n",
+    "I=1.5;#amperes\n",
+    "f=60 #hetrz\n",
+    "\n",
+    "#calculation\n",
+    "Z=V/I #impedance\n",
+    "X=math.sqrt(Z**2-R**2) #impedence\n",
+    "L=X/(2*math.pi*f) #inductance\n",
+    "\n",
+    "#result\n",
+    "print \" inductance of coil =  \" , round(L,4) , \"henry\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.27, Page number 137"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 43,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "voltage across choking coil =  183.385 volts\n",
+      "inductance =  0.0833 henry\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the inductance of the coil and voltage across each element\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "I=7 #ampere\n",
+    "V=200 #volts\n",
+    "f=50 #Hz\n",
+    "R=10 #non-inductive resistance\n",
+    "r=1.5  #resistance of choke coil\n",
+    "\n",
+    "#calculation\n",
+    "V1=I*R #volts\n",
+    "V3=I*r\n",
+    "V2=math.sqrt(V**2-(V1+V3)**2)\n",
+    "X=V2/I  #inductive reactance\n",
+    "L=X/(2*math.pi*f) #henry\n",
+    "V4=math.sqrt(V2**2+V3**2)  #voltage across choking coil\n",
+    "\n",
+    "#result\n",
+    "print \"voltage across choking coil = \",round(V4,3),\"volts\"\n",
+    "print \"inductance = \" ,round(L,4),\"henry\"\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.28, Page number 138"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 44,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Inductive reactance =  21.221 ohm\n",
+      "Impedance =  23.459 ohm\n",
+      "current =  4.2628 ampere\n",
+      "power factor =  0.426\n",
+      "phase angle =  64.77\n",
+      " voltage across resistance =  42.628 volts\n",
+      " voltage across inductance  =  90.459 volts\n",
+      "Active power =  181.714 watts\n",
+      "Reactive power =  385.608 watts\n",
+      "Apparent power =  100.0 watts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#find the inductance impedence,current,power factor,voltage and power\n",
+    "\n",
+    "from math import pi,sqrt,acos,asin \n",
+    "\n",
+    "#variable declaration\n",
+    "R=10 #0hms\n",
+    "C = 150*10**-6 #henry\n",
+    "V=100 #volt\n",
+    "f=50 #hertz\n",
+    "\n",
+    "#calculation\n",
+    "Vm = V*sqrt(2) #volts\n",
+    "X= 1/(2*pi*f*C) #ohm\n",
+    "Z= sqrt(R**2+X**2) #impedence\n",
+    "I=V/Z #ampere\n",
+    "Im = I*sqrt(2) \n",
+    "coso=R/Z\n",
+    "sino=X/Z\n",
+    "o=acos(coso)*180/pi\n",
+    "o1=asin(sino)*180/pi\n",
+    "Vr=I*R #volts\n",
+    "Vc=I*X #volts\n",
+    "AP=V*I*coso #active power\n",
+    "RP=V*I*sino #reactive power\n",
+    "APP=V #apparent power\n",
+    "\n",
+    "#result\n",
+    "print \"Inductive reactance = \" , round(X,3) , \"ohm\"\n",
+    "print \"Impedance = \" , round(Z,3), \"ohm\"\n",
+    "print \"current = \" , round(I,4) , \"ampere\"\n",
+    "print \"power factor = \" , round(coso,3)\n",
+    "print \"phase angle = \" , round(o,2)\n",
+    "print \" voltage across resistance = \" , round(Vr,3),\"volts\"\n",
+    "print \" voltage across inductance  = \" , round(Vc,3),\"volts\"\n",
+    "print \"Active power = \" , round(AP,3),\"watts\"\n",
+    "print \"Reactive power = \" , round(RP,3),\"watts\"\n",
+    "print \"Apparent power = \" , round(APP,3),\"watts\"\n",
+    "\n",
+    "#answers in book is printed wrong\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.31, Page number 140"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 45,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " capacitance =  5.50448880662e-05 farad\n",
+      " Resistance =  16.0 ohm\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate the value of RESISTANCE AND CAPACITANCE \n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "I=2.5 #amperes\n",
+    "V=150 #volts\n",
+    "f=50 #hetz\n",
+    "P=100 #power\n",
+    "\n",
+    "#calculation\n",
+    "Z=V/I #ohm\n",
+    "R=P/(I*I)\n",
+    "Xc=math.sqrt(Z**2-R**2) #ohm\n",
+    "C=1/(2*math.pi*f*Xc)#capacitance\n",
+    "\n",
+    "#reslt\n",
+    "print \" capacitance = \",C,\"farad\"\n",
+    "print \" Resistance = \",R,\"ohm\"\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.32, Page number 141"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 46,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "capacitance =  6.94609118043e-05 farad\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the value of capacitance\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "V1=100 #volts\n",
+    "V=250 #volts\n",
+    "f=50 #hertz\n",
+    "P=500 #watt\n",
+    "\n",
+    "#calculation\n",
+    "I=P/V1 #ampere\n",
+    "V2=math.sqrt(V**2-V1**2) #volts\n",
+    "Xc=V2/I #ohm\n",
+    "C=1/(2*math.pi*f*Xc) #farad\n",
+    "\n",
+    "#result\n",
+    "print \"capacitance = \" ,C,\"farad\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.33, Page number 141"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 47,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "inductive reactance =  47.124 ohm\n",
+      "capacitive reactance =  159.155 ohm\n",
+      "impedance =  114.787 ohm\n",
+      "current =  2.178 ampere\n",
+      "power factor =  0.218\n",
+      "phase angle =  77.42\n",
+      "voltage across r =  54.449 volts\n",
+      "voltage across l =  102.634 volts\n",
+      "voltage across c =  346.632 volts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the inductive reactance and capacitance and voltage across R L C\n",
+    "\n",
+    "from math import pi,sqrt,acos\n",
+    "\n",
+    "#variable declaration\n",
+    "R=25 #ohm\n",
+    "C=20e-6 #farad\n",
+    "L=0.15 #henry\n",
+    "V=250 #volts\n",
+    "f=50 #Hz\n",
+    "\n",
+    "#calculation\n",
+    "X=2*pi*f*L #ohm\n",
+    "Xc=1/(2*pi*f*C) #ohm \n",
+    "Z= sqrt(R**2+(X-Xc)**2) #ohm\n",
+    "I=V/Z #ampere\n",
+    "coso=R/Z\n",
+    "o=acos(coso)*180/pi#phase angle\n",
+    "Vr=I*R #volts\n",
+    "Vl=I*X #volts\n",
+    "Vc=I*Xc #volts\n",
+    "\n",
+    "#result\n",
+    "\n",
+    "print \"inductive reactance = \", round(X,3) ,\"ohm\"\n",
+    "print \"capacitive reactance = \" , round(Xc,3), \"ohm\"\n",
+    "print \"impedance = \",round(Z,3),\"ohm\"\n",
+    "print \"current = \",round(I,3),\"ampere\"\n",
+    "print \"power factor = \",round(coso,3)\n",
+    "print \"phase angle = \" ,round(o,3)\n",
+    "print \"voltage across r = \" ,round(Vr,3),\"volts\"\n",
+    "print \"voltage across l = \" ,round(Vl,3),\"volts\"\n",
+    "print \"voltage across c = \" ,round(Vc,3),\"volts\"\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.34, Page number 142"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 48,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Current =  1.29 amperes\n",
+      "Voltage V1 =  350.63 volts\n",
+      "Voltage V2 =  102.01 volts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the current also V1 and V2\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "V=250 #volts\n",
+    "f=50 #Hz\n",
+    "R1=10 #ohm\n",
+    "L1=0.15 #henry\n",
+    "C1=10e-6 #capacitance\n",
+    "R2=8 #ohm\n",
+    "L2=0.25 #henry\n",
+    "\n",
+    "#variable declaration\n",
+    "X1=2*math.pi*f*L1 #ohm\n",
+    "Xc1=1/(2*math.pi*f*C1)\n",
+    "X2=2*math.pi*f*L2\n",
+    "Z=math.sqrt((pow((R1+R2),2))+(pow(((X1+X2)-Xc1),2))) #impedance\n",
+    "I=V/Z #ampere\n",
+    "Z1=math.sqrt(R1**2+(X1-Xc1)**2)\n",
+    "V1=I*Z1 #volts\n",
+    "Z2=math.sqrt(R2**2+X2**2)\n",
+    "V2=I*Z2 #volts\n",
+    "\n",
+    "#result\n",
+    "print \"Current = \" ,round(I,2),\"amperes\"\n",
+    "print \"Voltage V1 = \" ,round(V1,2),\"volts\"\n",
+    "print \"Voltage V2 = \" ,round(V2,2),\"volts\"\n",
+    "\n",
+    "#round off error\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.35, Page number 144"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 49,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "frequency = 64.97 hertz\n",
+      "maximum current = 16 amperes\n"
+     ]
+    }
+   ],
+   "source": [
+    "#determine the value of maximum current\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "C=30e-6 #farad\n",
+    "R=12 #ohms\n",
+    "L=0.2 #henry\n",
+    "V=200 #volt\n",
+    "\n",
+    "#calculation\n",
+    "I=V/R #ampere\n",
+    "f=1/(2*math.pi*math.sqrt (L*C))\n",
+    "\n",
+    "#result\n",
+    "print \"frequency =\",round(f,2),\"hertz\"\n",
+    "print \"maximum current =\",I,\"amperes\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.36, Page number 144"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 50,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "frequency at resonance = 64.269 hz\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate frequency at resonance\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "C=30*10**-6 #farad\n",
+    "L=0.2 #henry\n",
+    "R=12 #ohm\n",
+    "\n",
+    "#variable declaration\n",
+    "F= math.sqrt(1/(L*C)-R**2/(L*L)) #Hz\n",
+    "f=1/(2*math.pi)*F\n",
+    "\n",
+    "#result\n",
+    "print \"frequency at resonance =\",round(f,3),\"hz\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.40, Page number 158"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 51,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "active power for star connection = 968.0 watts\n",
+      "active power for delta connection = 2904.0 watts\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate the line currnt nd voltage\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "R=200 #ohm\n",
+    "Vl=440 #volt\n",
+    "f=50 #Hz\n",
+    "coso=1 #power factor\n",
+    "Vp=440 #volts\n",
+    "\n",
+    "#calculation\n",
+    "V=Vl/math.sqrt(3) #volts\n",
+    "I=V/R #ampere\n",
+    "Il=I #ampere\n",
+    "P=3*V*I*coso #power\n",
+    "I1=math.sqrt(3)*I #ampere\n",
+    "P1=3*Vp*I1*coso #watt\n",
+    "\n",
+    "#result\n",
+    "print \"active power for star connection =\",P,\"watts\"\n",
+    "print \"active power for delta connection =\",P1,\"watts\"\n",
+    "\n",
+    "#round off error\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.41, Page number 159"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 52,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "total power absorbed for star connection = 375.38 watt\n",
+      "total power absorbed for delta connection = 1126.14 watt\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate total power absrbed\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "R=15 #ohm\n",
+    "L=0.25 #ampere\n",
+    "f=50 #Hz\n",
+    "Vl=400 #volts\n",
+    "\n",
+    "#calculation\n",
+    "X=2*math.pi*f*L #ohm\n",
+    "Z=math.sqrt(R**2+X**2) #ohm\n",
+    "V=Vl/math.sqrt(3) #star connection\n",
+    "I=V/Z #ampere\n",
+    "Il=I \n",
+    "coso=R/Z \n",
+    "P=3*V*Il*coso #power\n",
+    "Iph = Vl/Z #ampere\n",
+    "Il1 = math.sqrt(3)*Iph #ampere\n",
+    "P1=3*V*Il1*coso #power\n",
+    "#result\n",
+    "print \"total power absorbed for star connection =\",round(P,2),\"watt\"\n",
+    "print \"total power absorbed for delta connection =\",round(P1,2),\"watt\"\n",
+    "\n",
+    "#round off error\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.42, Page number 160"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 53,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      " reactance = 5.18 ohms\n",
+      " resistance = 4.08 ohms\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate resistance and reactance of circuit\n",
+    "\n",
+    "import math\n",
+    "\n",
+    "#variable declaration\n",
+    "P=15000 #power\n",
+    "Vl=400#line voltage\n",
+    "I=35 #line current\n",
+    "\n",
+    "#calculation\n",
+    "V=Vl/math.sqrt(3) #volts\n",
+    "I=35 #line current \n",
+    "Z=V/I #ohm\n",
+    "coso=(15e3)/(math.sqrt(3)*Vl*I)\n",
+    "R =Z*coso\n",
+    "X=math.sqrt(Z**2-R**2)\n",
+    "\n",
+    "#result           \n",
+    "print \" reactance =\",round(X,2),\"ohms\"\n",
+    "print \" resistance =\",round(R,2),\"ohms\"\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example4.43, Page number 161"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 54,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "power factor = 23.41\n"
+     ]
+    }
+   ],
+   "source": [
+    "#calculate power factor\n",
+    "\n",
+    "from math import sqrt,atan,pi\n",
+    "\n",
+    "#variable declaration\n",
+    "W1=5000 #watt\n",
+    "W2=3000 #watt\n",
+    "\n",
+    "#calculation\n",
+    "tanphi = (sqrt(3)*(W1-W2))/(W1+W2)\n",
+    "phi = (atan(tanphi)*180)/pi\n",
+    "\n",
+    "#result\n",
+    "print \"power factor =\",round(phi,2)\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.8"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot1.png b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot1.png
new file mode 100755
index 00000000..ff7899d1
Binary files /dev/null and b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot1.png differ
diff --git a/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot2.png b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot2.png
new file mode 100755
index 00000000..9f4171d1
Binary files /dev/null and b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot2.png differ
diff --git a/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot3.png b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot3.png
new file mode 100755
index 00000000..bc2fe5aa
Binary files /dev/null and b/Engineering_Basics_:_Electrical_,_Electronics_and_Computer_Engineering/screenshots/Screenshot3.png differ
diff --git a/Engineering_Physics/Chapter1.ipynb b/Engineering_Physics/Chapter1.ipynb
new file mode 100755
index 00000000..aec285c1
--- /dev/null
+++ b/Engineering_Physics/Chapter1.ipynb
@@ -0,0 +1,463 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:305dcc155810a92329b40a851ec0d721020f53211b825d9c1f3b0e3bb9312285"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Acoustics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.1, Page number 12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "p=50;                   #sound waves with output power(W)\n",
+      "r=4;                    #Distance(m)\n",
+      "\n",
+      "#Calculation\n",
+      "I=p/(4*math.pi*r**2)       #Intensity(W/m**2)\n",
+      "\n",
+      "#Result\n",
+      "print \"Intensity of sound at a distance of 4m from the source is\",round(I,2),\"W/m**2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Intensity of sound at a distance of 4m from the source is 0.25 W/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.2, Page number 12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "Io=10**-12;              #Initial intensity of sound(W/m**2)\n",
+      "d=50;                    #number of decibels given by 10log(Io/I1)\n",
+      "P=70;                    #Output power(W)\n",
+      "\n",
+      "#Calculation\n",
+      "I1=(10**5)*Io;     #Intensity(W/m**2)\n",
+      "r=math.sqrt(P/(4*math.pi*I1));   #distance(m)\n",
+      "\n",
+      "#Result\n",
+      "print \"The distance at which sound reduces to a level of 50dB is\",round(r/10**3,2),\"*10**3 m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The distance at which sound reduces to a level of 50dB is 7.46 *10**3 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.3, Page number 12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "v=8000;             #volume of the hall(m**3)\n",
+      "T=1.5;             #Reverberation time(sec)\n",
+      "\n",
+      "#Calculation\n",
+      "A=(0.161*v)/T;      #Total absorption time(m**2 sabine)\n",
+      "\n",
+      "#Result\n",
+      "print \"The total reverberation in the hall is\",round(A,2),\"m**2 sabine\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The total reverberation in the hall is 858.67 m**2 sabine\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.4, Page number 12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "l=25;                          #length of the hall(m)\n",
+      "b=20;                         #breadth of the hall(m)\n",
+      "h=10;                        #height of the hall(m)\n",
+      "T=4;                         #Reverberation time(s)\n",
+      "\n",
+      "#Calculation\n",
+      "V=l*b*h;                     #Volume of the hall(m**3)\n",
+      "A=(0.161*V)/T;             #Total absorption time(m**2 sabine)\n",
+      "a=A/(2*((l*b)+(b*h)+(l*h)));  #a is absorption co-efficient\n",
+      "\n",
+      "#Result\n",
+      "print \"The average absorption co-efficients of surfaces is\",round(a,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The average absorption co-efficients of surfaces is 0.106\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.5, Page number 12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "Y=77*(10**10);                               #Youngs modulus for quartz(dyne/cm**2)\n",
+      "rho=2.6;                                     #density of quartz(g/cm**3)\n",
+      "t=0.4;                                       #thickness(cm)\n",
+      "\n",
+      "#Calculation\n",
+      "f=((1/(2*t))*math.sqrt(Y/rho))*10**-3;              #frequency(kHz)\n",
+      "\n",
+      "#Result\n",
+      "print \"The frequency of ultrasonic waves produced is\",int(f),\"kHz\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The frequency of ultrasonic waves produced is 680 kHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.6, Page number 12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "Y=81*10**10;                              #Young's modulus for barium titanate(dynes/cm**2)\n",
+      "rho=5.51;                                 #density of barium titanate(g/cm**3)\n",
+      "f=900;                                    #frequency of ultrasonic waves(kHZ)\n",
+      "\n",
+      "#Calculation\n",
+      "t=((1/(2*f))*math.sqrt(Y/rho))*10**-2;           #thickness of crystal(mm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The thickness of the crystal to produce ultrasonic waves is\",round(t,2),\"mm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thickness of the crystal to produce ultrasonic waves is 2.13 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.7, Page number 13"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "r=3;                        #distance(m)\n",
+      "I=0.86;                     #Intensity of sound source(W/m**2)\n",
+      "\n",
+      "#Calculation\n",
+      "P=4*math.pi*r**2*I;             #Power of the sound source(W)\n",
+      "\n",
+      "#Result\n",
+      "print \"The output power of the sound source is\",round(P,2),\"W\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output power of the sound source is 97.26 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.8, Page number 13"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "d=60;                    #Number of decibels given by 10*log(I/I0)\n",
+      "I0=10**-12;               #Initial intensity of sound(W/m**2)\n",
+      "I=10**-6;                 #since 10log(I/I0)=60\n",
+      "r=200;                    #distance(m)\n",
+      "\n",
+      "#Calculation\n",
+      "P=4*math.pi*r**2*I;      #output power of the sound source(W)\n",
+      "\n",
+      "#Result\n",
+      "print \"The output power of the sound source is\",round(P,1),\"W\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output power of the sound source is 0.5 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.9, Page number 13"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "V=9250;                       #volume of the hall(m**3)\n",
+      "A=900;                        #Total absorption(m**2 sabine)\n",
+      "\n",
+      "#Calculation\n",
+      "T=(0.161*V)/A;                 #Reverberation time(s)\n",
+      "\n",
+      "#Result\n",
+      "print \"The reverberation time in a hall is\",round(T,2),\"s\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The reverberation time in a hall is 1.65 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.10, Page number 13"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "f1=400;                          #Initial frequency(kHZ)\n",
+      "f2=500;                          #New frequency(kHZ)\n",
+      "t1=3;                           #initial thickness of the crystal(mm)\n",
+      "\n",
+      "#Calculation\n",
+      "t2=(f1*t1)/f2;                  #required thickness(mm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The required thickness of the crystal is\",t2,\"mm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The required thickness of the crystal is 2.4 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 1.11, Page number 13"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "t1=2;                     #Initial thickness(mm)\n",
+      "t2=2.8;                   #New thickness(mm)\n",
+      "\n",
+      "#Calculation\n",
+      "F=t1/t2;                  #ratio of new to old frequencies\n",
+      "\n",
+      "#Result\n",
+      "print \"The ratio of new to old frequencies is\",round(F,3),"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of new to old frequencies is 0.714\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/Chapter10.ipynb b/Engineering_Physics/Chapter10.ipynb
new file mode 100755
index 00000000..7a9d784a
--- /dev/null
+++ b/Engineering_Physics/Chapter10.ipynb
@@ -0,0 +1,493 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:9dafdb7acb5e988ab3a5ace98a3f2deebed0e1d539e288cbefca9baaaeda9388"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "10: Quantum Mechanics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.1, Page number 196"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "v=10**7;                  #speed of electron(m/s)\n",
+      "h=6.626*10**-34;          #plancks constant\n",
+      "m=9.1*10**-31;            #mass of electron(kg)\n",
+      "\n",
+      "#Calculation                        \n",
+      "lamda=h/(m*v);           #de Broglie wavelength(m)\n",
+      "\n",
+      "#Result\n",
+      "print \"The de Broglie wavelength is\",round(lamda*10**11,2),\"*10**-11 m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The de Broglie wavelength is 7.28 *10**-11 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.2, Page number 196"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                     #plancks constant\n",
+      "lamda=0.3;                          #de Broglie wavelength(nm)\n",
+      "#For electron\n",
+      "me=9.1*10**-31;                      #mass of electron(kg)\n",
+      "#For proton\n",
+      "mp=1.672*10**-27;                    #mass of proton(kg)\n",
+      "\n",
+      "#Calculation                        \n",
+      "p=h/(lamda*10**-9);                 #uncertainity in determining momentum(kg m/s)\n",
+      "K1=p**2/(2*me);                      #kinetic energy of electron(J)\n",
+      "K2=p**2/(2*mp);                      #kinetic energy of proton(J)\n",
+      "\n",
+      "#Result\n",
+      "print \"The kinetic energy of electron is\",round(K1*10**18,1),\"*10**-18 J\"\n",
+      "print \"The kinetic energy of proton is\",round(K2*10**21,2),\"*10**-21 J\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The kinetic energy of electron is 2.7 *10**-18 J\n",
+        "The kinetic energy of proton is 1.46 *10**-21 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.3, Page number 196"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#K=p^2/(lambda^2*2*m) where K is kinetic energy\n",
+      "h=6.626*10**-34;                  #plancks constant\n",
+      "lamda=10**-14;                   #de Broglie wavelength(m)\n",
+      "m=9.1*10**-31;                    #mass of electron(kg)\n",
+      "e=1.6*10**-19;\n",
+      "\n",
+      "#Calculation                        \n",
+      "K=(h**2/((lamda**2)*2*m*e))*10**-9;      \n",
+      "\n",
+      "#Result\n",
+      "print \"The kinetic energy is\",int(K),\"GeV\"\n",
+      "print \"It is not possible to confine the electron to a nucleus.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The kinetic energy is 15 GeV\n",
+        "It is not possible to confine the electron to a nucleus.\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.4, Page number 197"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "m=9.1*10**-31;                #mass of electron(kg)\n",
+      "v=6*10**3;                    #speed of electron(m/s)\n",
+      "h=6.626*10**-34;              #plancks constant\n",
+      "a=0.00005; \n",
+      "\n",
+      "#Calculation                        \n",
+      "p=m*v;                        #uncertainity in momentum(kg m/s)\n",
+      "deltap=a*p;             #uncertainity in p\n",
+      "deltax=(h/(4*math.pi*deltap))*10**3       #uncertainity in position(mm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The uncertainity in position is\",round(deltax,3),\"mm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainity in position is 0.193 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.5, Page number 197"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "L=3*10**-5;                   #diameter of the sphere(nm)\n",
+      "h=6.626*10**-34;              #plancks constant\n",
+      "m=1.67*10**-27;               #mass of the particle(kg)\n",
+      "n=1;\n",
+      "e=1.6*10**-19;\n",
+      "\n",
+      "#Calculation                        \n",
+      "E1=((h**2)*(n**2))/(8*m*(L**2)*e)*10**12        #first energy level(MeV)\n",
+      "E2=E1*2**2;                                     #second energy level(MeV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The first energy level is\",round(E1,3),\"MeV\"\n",
+      "print \"The second energy level is\",round(E2,4),\"MeV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The first energy level is 0.228 MeV\n",
+        "The second energy level is 0.9128 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.6, Page number 197"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;               #plancks constant\n",
+      "a=2*10**12;                    #angular frequency(rad/s)\n",
+      "e=1.6*10**-19;\n",
+      "\n",
+      "#Calculation                        \n",
+      "E0=(0.5*(h/(2*math.pi*e))*a)*10**3;   #ground state energy(MeV)\n",
+      "E1=(1.5*(h/(2*math.pi*e))*a)*10**3;   #first excited state energy(MeV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The ground state energy is\",round(E0,3),\"MeV\" \n",
+      "print \"The first excited state energy is\",round(E1,3),\"MeV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ground state energy is 0.659 MeV\n",
+        "The first excited state energy is 1.977 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.7, Page number 197"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                 #plancks constant\n",
+      "E=85;                            #Energy(keV)\n",
+      "c=3*10**8;                       #speed of light(m/s)\n",
+      "e=1.6*10**-19;\n",
+      "\n",
+      "#Calculation                        \n",
+      "lamda=(h*c)/(E*10**3*e);       #de Broglie wavelength(m)\n",
+      "m=9.1*10**-31;                  #mass of electron(kg)\n",
+      "K=((h**2)/((lamda**2)*2*m*e));  #kinetic energy of electron(keV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The kinetic energy of the electron is\",round(K*10**-3,2),\"keV\"\n",
+      "print \"answer in the book varies due to rounding off errors\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The kinetic energy of the electron is 7.06 keV\n",
+        "answer in the book varies due to rounding off errors\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.8, Page number 198"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lamda=0.08;                          #de Briglie wavelength(nm)\n",
+      "m=9.1*10**-31;                        #mass of electron(kg)\n",
+      "h=6.626*10**-34;                      #plancks constant\n",
+      "\n",
+      "#Calculation                        \n",
+      "v=h/(m*lamda*10**-9);                 #velocity of the electron(m/s)\n",
+      "\n",
+      "#Result\n",
+      "print \"The velocity of the electron is\",round(v/10**6,1),\"*10**6 m/s\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The velocity of the electron is 9.1 *10**6 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.9, Page number 198"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                  #plancks constant\n",
+      "lamda=589*10**-9;                #wavelength(m)\n",
+      "m=9.1*10**-31;                    #mass of electron(kg)\n",
+      "e=1.6*10**-19;\n",
+      "\n",
+      "#Calculation                        \n",
+      "V=((h**2)/((lamda**2)*2*m*e))*10**6;    #potential diference(micro V)\n",
+      "\n",
+      "#Result\n",
+      "print \"The potential difference through which an electron should be accelerated is\",round(V,2),\"micro V\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The potential difference through which an electron should be accelerated is 4.35 micro V\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.10, Page number 198"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "deltax=0.92*10**-9;                  #uncertainity in position(m)\n",
+      "m=9.1*10**-31;                       #mass of electron(kg)\n",
+      "h=6.626*10**-34;                     #plancks constant\n",
+      "\n",
+      "#Calculation                        \n",
+      "deltav=h/(4*math.pi*m*deltax);       #uncertainity in velocity(m/s)\n",
+      "\n",
+      "#Result\n",
+      "print \"The uncertainity in velocity is\",round(deltav/10**4,1),\"*10**4 m/s\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainity in velocity is 6.3 *10**4 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 10.11, Page number 198"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                     #plancks constant\n",
+      "n=3;                                 #for second excited state\n",
+      "m=1.67*10**-27;                      #mass of proton(kg)\n",
+      "E=0.5;                               #energy(MeV)\n",
+      "e=1.6*10**-19;\n",
+      "\n",
+      "#Calculation                        \n",
+      "L=((h*n)/math.sqrt(8*m*E*10**6*e))*10**15;      #length of the box(fm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The length of the box for proton in its second excited state is\",round(L,1),\"fm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The length of the box for proton in its second excited state is 60.8 fm\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/Chapter11.ipynb b/Engineering_Physics/Chapter11.ipynb
new file mode 100755
index 00000000..39762859
--- /dev/null
+++ b/Engineering_Physics/Chapter11.ipynb
@@ -0,0 +1,620 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1d5f4970753c62d94a2bd202867cc0f79046f1baac4b1a42721a5ae6844ad5f4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "11: Nuclear Radiations and Detectors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.1, Page number 227"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "r0=1.2;              #radius(fm)\n",
+      "A=7;                 #mass number \n",
+      "\n",
+      "#Calculation                        \n",
+      "r=r0*A**(1/3);\t     #radius of Li(fm) \n",
+      "\n",
+      "#Result\n",
+      "print \"The radius of Li is\",round(r,4),\"fm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radius of Li is 2.2955 fm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.2, Page number 227"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "M=235.043945;         #atomic mass of uranium(u)\n",
+      "Z=92;                 #atomic number of uranium\n",
+      "mp=1.007825;          #mass of proton(kg)\n",
+      "N=143;                #no.of neutrons\n",
+      "mn=1.008665;          #mass of neutron(kg)\n",
+      "A=235;                #number of nucleons\n",
+      "\n",
+      "#Calculation                        \n",
+      "B=(((Z*mp)+(N*mn)-(M))/A)*931.5;            #Binding energy(MeV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The binding energy per nucleon is\",round(B,3),\"MeV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The binding energy per nucleon is 7.591 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.3, Page number 227"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#After removing one neutron from Ca(A=43;Z=20) it becomes Ca(A=42;Z=20)\n",
+      "M=41.958622;             #mass of Ca(A=42;Z=20)(kg)\n",
+      "mn=1.008665;             #mass of neutron(kg)\n",
+      "E=42.95877;              #mass of Ca(A=43;Z=20)(kg)\n",
+      "\n",
+      "#Calculation                        \n",
+      "C=M+mn;\n",
+      "D=C-E;\n",
+      "B=D*931.5;               #Binding energy of neutron(MeV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The binding energy of neutron is\",round(B,4),\"MeV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The binding energy of neutron is 7.9336 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.4, Page number 227"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "mBe=9.012182;            #Atomic mass of beryllium(u)\n",
+      "mHe=4.002603;            #Atomic mass of helium\n",
+      "mn=1.008665;             #mass of neutron(kg)\n",
+      "mC=12.000000;            #Atomic mass of carbon\n",
+      "\n",
+      "#Calculation                        \n",
+      "Q=(mBe+mHe-mn-mC)*931.5        #energy balance of the reaction(MeV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The Q-value is\",round(Q,1),\"MeV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Q-value is 5.7 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.5, Page number 227"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "mLi=7.016004;              #mass of Lithium(A=7)(u)\n",
+      "mH=1.007825;               #mass of Hydrogen(A=1)(u)\n",
+      "mHe=4.002603;              #mass of helium(A=4)(u)\n",
+      "p=0.5;                       #energy of proton(MeV)\n",
+      "\n",
+      "#Calculation                        \n",
+      "Q=(mLi+mH-2*(mHe))*931.5     #energy balance of the reaction(MeV)\n",
+      "#The energy of 2 alpha particles is equal to the Q-value + energy of proton.\n",
+      "Ealpha=(Q+p)/2;              #energy of each alpha particle(MeV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The Q-value of the reaction is\",round(Q,2),\"MeV\"\n",
+      "print \"The energy of each alpha particle is\",round(Ealpha,3),\"MeV\"\n",
+      "print \"answer for energy in the book varies due to rounding off errors\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Q-value of the reaction is 17.35 MeV\n",
+        "The energy of each alpha particle is 8.924 MeV\n",
+        "answer for energy in the book varies due to rounding off errors\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.6, Page number 228"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "wt=1000;            #weight(gm)\n",
+      "A=235;              #mass number of uranium\n",
+      "N=(6.02*10**23/A)*wt;         #no.of nuclei in 1kg of uranium\n",
+      "Q=208;                          #energy-balance of the reaction\n",
+      "\n",
+      "#Calculation                        \n",
+      "E=N*Q;                          #Energy released(MeV)\n",
+      "#1MeV=4.45*10^-20kWh\n",
+      "E=E*4.45*10**-20;\n",
+      "\n",
+      "#Result\n",
+      "print \"The energy released is\",round(E/10**7,3),\"*10**7 kWh\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy released is 2.371 *10**7 kWh\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.7, Page number 228"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "wt=5000;                   #weight(gm)\n",
+      "A=235;                     #mass number of uranium\n",
+      "Ef=208;                    #Energy released per fission(MeV)\n",
+      "\n",
+      "#Calculation                        \n",
+      "N=(6.02*10**23/A)*wt;      #number of nuclei in 5 Kg\n",
+      "E=N*Ef;                    #Energy(MeV)\n",
+      "E=E*1.6*10**-13;           #Energy(J)\n",
+      "T=24*60*60;                #time\n",
+      "P=E/T;                     #power(MW)\n",
+      "\n",
+      "#Result\n",
+      "print \"The power output of a nuclear reactor is\",round(P/10**6),\"MW\"\n",
+      "print \"answer given in the book is wrong\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The power output of a nuclear reactor is 4934.0 MW\n",
+        "answer given in the book is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.8, Page number 228"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "A=235;                  #mass number of uranium\n",
+      "p=1000;                 #amount of electric power produced(MW)\n",
+      "e=0.32;                 #energy conversion efficiency of the plant\n",
+      "f=200;                  #fission energy per event(MeV)\n",
+      "\n",
+      "#Calculation                        \n",
+      "I=p/e;                  #Input nuclear energy(MW)\n",
+      "TE=I*(10**6)*3600*24*365;           #total energy(J)\n",
+      "EF=f*(10**6)*1.6*10**-19;           #Energy released per fission event(J)\n",
+      "N=TE/EF;                            #Number of nuclei required\n",
+      "M=N*A/(6.02*10**23);       #corresponding mass(g)\n",
+      "\n",
+      "#Result\n",
+      "print \"The amount of uranium required is\",round(M*10**-3,1),\"kg\"\n",
+      "print \"answer in the book varies due to rounding off errors\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The amount of uranium required is 1202.2 kg\n",
+        "answer in the book varies due to rounding off errors\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.9, Page number 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "q=1.6*10**-19;                  #charge of the particle(c)\n",
+      "B=1;                            #magnetic field(T)\n",
+      "m=1.67*10**-27;                 #mass of proton(kg)\n",
+      "r=0.5;                              #radius(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "omega=(q*B)/m;                  #angular frequency(radian/s)\n",
+      "v=(omega/(2*math.pi))*10**-8;           #frequency(MHz)\n",
+      "s=omega*r;                          #speed of proton(m/s)\n",
+      "K=(m*(s**2))*(1/2)*6.27*10**12;     #kinetic energy of protons emerging from cyclotron(MeV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The frequency of oscillator to accelerate protons is\",round(omega/10**8,2),\"*10**8 radian/s\"\n",
+      "print \"The speed of proton is\",round(s/10**7,1),\"*10**7 m/s\"\n",
+      "print \"The kinetic energy of protons emerging from the cyclotron is\",int(K),\"MeV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The frequency of oscillator to accelerate protons is 0.96 *10**8 radian/s\n",
+        "The speed of proton is 4.8 *10**7 m/s\n",
+        "The kinetic energy of protons emerging from the cyclotron is 12 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.10, Page number 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "rho=1.83*10**17;                     #average density of carbon nucleus(kg/m^3)\n",
+      "m=12;                                #mass(u)\n",
+      "e=1.66*10**-27;\n",
+      "\n",
+      "#Calculation                        \n",
+      "r=(m*e/((4/3)*math.pi*rho))**(1/3)*10**15;         #radius(fm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The radius is\",round(r,2),\"fm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radius is 2.96 fm\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.11, Page number 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "q=1.6*10**-19;              #charge of the particle(c)\n",
+      "B=5;                        #magnetic field(T)\n",
+      "m=9.1*10**-31;              #mass of electron(kg)\n",
+      "\n",
+      "#Calculation                        \n",
+      "v=(q*B)/(2*math.pi*m);      #cyclotron frequency(Hz)\n",
+      "\n",
+      "#Result\n",
+      "print \"cyclotron frequency of electron is\",round(v/10**11,1),\"*10**11 Hz\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "cyclotron frequency of electron is 1.4 *10**11 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.12, Page number 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "k=1.5;                           #maximum kinetic energy(MeV)\n",
+      "m=1.67*10**-27;                  #mass of proton(kg)\n",
+      "q=1.6*10**-19;                   #charge of particle(c)\n",
+      "r=0.35;                          #radius(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "B=math.sqrt(k*10**6*q*2*m)/(q*r);           #magnetic field(T)\n",
+      "\n",
+      "#Result\n",
+      "print \"The mgnetic field is\",round(B,1),\"T\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mgnetic field is 0.5 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.13, Page number 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "m=1.67*10**-27;                       #mass of proton(kg)\n",
+      "q=1.6*10**-19;                        #charge of particle(q)\n",
+      "v=25;                                 #cyclotron frequency(MHz)\n",
+      "\n",
+      "#Calculation                        \n",
+      "B=(v*10**6*2*math.pi*m)/q;          #magnetic field(T)\n",
+      "\n",
+      "#Result\n",
+      "print \"The required magnetic field is\",round(B,4),\"T\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The required magnetic field is 1.6395 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 11.14, Page number 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "v=20;                 #cyclotron frequency(MHz)\n",
+      "B=1.3;                #magnetic field(T)\n",
+      "\n",
+      "#Calculation                        \n",
+      "d=2*math.pi*v*10**6/B;           #charge to mass ratio of proton(C/kg)\n",
+      "\n",
+      "#Result\n",
+      "print \"charge to mass ratio of proton is\",round(d/10**6,2),\"*10**6 C/kg\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "charge to mass ratio of proton is 96.66 *10**6 C/kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/Chapter13.ipynb b/Engineering_Physics/Chapter13.ipynb
new file mode 100755
index 00000000..83323d13
--- /dev/null
+++ b/Engineering_Physics/Chapter13.ipynb
@@ -0,0 +1,386 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:46a82c7fe1b65af7ee26b9fa38521b26c61cee31bc75dd5001fe45442416739c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "13: Optical Fibre"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 13.1, Page number 250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "n1=1.49;                    #refractive index of core\n",
+      "n2=1.46;                    #refractive index of cladding\n",
+      "\n",
+      "#Calculation                        \n",
+      "NA=math.sqrt((n1**2)-(n2**2));      #Numerical aperture\n",
+      "\n",
+      "#Result\n",
+      "print \"The numerical aperture is\",round(NA,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical aperture is 0.3\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 13.2, Page number 250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "NA=0.5;                       #numerical aperture of fibre \n",
+      "n0=1;                         #refractive index of the medium(air)\n",
+      "\n",
+      "#Calculation                        \n",
+      "i=math.asin(NA/n0);           #acceptance angle(radian)\n",
+      "i=i*180/math.pi;         #angle(degrees)\n",
+      "\n",
+      "#Result\n",
+      "print \"The acceptance angle is\",i,\"degrees\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The acceptance angle is 30.0 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 13.3, Page number 250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "NA=0.25;                        #numerical apperture\n",
+      "lamda=0.75;                    #wavelength(micro m)\n",
+      "a=25;                           #core radius(micro m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "f=(2*math.pi*a*NA)/lamda;      #normalised frequency\n",
+      "Ng=(f**2)/2;                    #number of guided modes\n",
+      "\n",
+      "#Result\n",
+      "print \"The number of guided modes is\",int(Ng)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of guided modes is 1370\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 13.4, Page number 250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "pi=100;                 #mean optical power launched(micro m)\n",
+      "po=5;                   #mean optical power at fibre output(micro W)\n",
+      "l=6;                    #length(km)\n",
+      "\n",
+      "#Calculation                        \n",
+      "S=10*math.log10(pi/po);         #signal attenuation(dB)\n",
+      "Sk=S/l;                 #signal attenuation(dB/km)\n",
+      "\n",
+      "#Result\n",
+      "print \"The signal attenuation is\",round(Sk,3),\"dB/km\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The signal attenuation is 2.168 dB/km\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 13.5, Page number 250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "ns=2.89;                 #sum of refractive indices of core & cladding\n",
+      "nd=0.03;                 #difference of refractive indices of core & cladding\n",
+      "\n",
+      "#Calculation                        \n",
+      "NA=math.sqrt(ns*nd);         #numerical apperture\n",
+      "\n",
+      "#Result\n",
+      "print \"The numerical apperture for the optical fibre is\",round(NA,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The numerical apperture for the optical fibre is 0.29\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 13.6, Page number 250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "NA=0.28;                  #numerical aperture\n",
+      "a=30;                     #core radius(micro m)\n",
+      "lamda=0.8;               #wavelength(micro m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "f=(2*math.pi*a*NA)/lamda;           #normalised frequency\n",
+      "Ng=f**2/2;                           #number of guided modes\n",
+      "\n",
+      "#Result\n",
+      "print \"The number of guided modes is\",int(Ng)\n",
+      "print \"answer in the book varies due to rounding off errors\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of guided modes is 2176\n",
+        "answer in the book varies due to rounding off errors\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 13.7, Page number 250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "S=2;                  #signal attenuation(dB/km)\n",
+      "l=1;                  #length(km)\n",
+      "p0=20;                #mean optical power at fibre output(micro W)\n",
+      "\n",
+      "#Calculation                        \n",
+      "pi=p0*10**(S/10);     #mean optical power launched into fibre(micro W)\n",
+      "\n",
+      "#Result\n",
+      "print \"The mean optical power launched into a fibre is\",round(pi,1),\"micro W\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mean optical power launched into a fibre is 31.7 micro W\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 13.8, Page number 251"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "S=2.3;                #Signal attenuation(dB/km)\n",
+      "l=4;                  #length(km)\n",
+      "\n",
+      "#Calculation                        \n",
+      "S=S*l;                #signal attenuation for 4km in dB\n",
+      "P=10**(S/10);         #ratio of mean optical power\n",
+      "\n",
+      "#Result\n",
+      "print \"ratio of mean optical power is\",round(P,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "ratio of mean optical power is 8.3\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 13.9, Page number 251"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "op=1/4;          #ratio\n",
+      "\n",
+      "#Calculation                        \n",
+      "#S=10*log(pi/po)\n",
+      "S=10*math.log10(1/op);         #signal attenuation(dB)\n",
+      "\n",
+      "#Result\n",
+      "print \"Signal attenuation is\",int(S),\"dB\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Signal attenuation is 6 dB\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/Chapter2.ipynb b/Engineering_Physics/Chapter2.ipynb
new file mode 100755
index 00000000..b527497e
--- /dev/null
+++ b/Engineering_Physics/Chapter2.ipynb
@@ -0,0 +1,431 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:ad2a8335720a8ceacd5db30334fb790c6a4c8fa5b69e23fcad6e232d80ed69c2"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "2: Crystal Structure"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 2.1, Page number 29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "d=6.5*10**3;                 #density of silver bromide(Kg/m**3)\n",
+      "m=187.8;                     #molecular weight of silver bromide\n",
+      "\n",
+      "#Calculation\n",
+      "M=(4*m)/(6.022*10**26);       #mass of ion in unit cell(kg)\n",
+      "#d=mass of ions in unit cell/volume of unit cell\n",
+      "a=((M/d)**(1/3))*10**10;        #lattice parameter(Angstrom)\n",
+      "\n",
+      "#Result\n",
+      "print \"The lattice parameter is\",round(a,2),\"Angstrom\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice parameter is 5.77 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 2.2, Page number 29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "r=2.3;                            #atomic radius(Angstrom)\n",
+      "\n",
+      "#Calculation\n",
+      "a=(4*r)/math.sqrt(3);     \n",
+      "fv=((a)**3-(2*(4/3)*math.pi*r**3))*10**-30;    #free volume(m**3)\n",
+      "\n",
+      "#Result\n",
+      "print \"The free volume per unit cell is\",round(fv*10**30,1),\"*10**-30 m**3\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The free volume per unit cell is 47.9 *10**-30 m**3\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 2.3, Page number 29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "k=8.625*10**-5;                          #Boltzmann constant(eV/K)\n",
+      "#n1000/n500=ln[n1000/n500]=Ev/1000k\n",
+      "Ev=1.08;                                #average energy required to create a vacancy(eV)\n",
+      "\n",
+      "#Calculation\n",
+      "N=math.exp(Ev/(1000*k));                     #ratio of vacancies\n",
+      "\n",
+      "#Result\n",
+      "print \"The ratio of vacancies is\",round(N/10**5,1),\"*10**5\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of vacancies is 2.7 *10**5\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 2.4, Page number 29"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#n500=N*exp(-Ev/500k)\n",
+      "k=8.625*10**-5;                            #Boltzmann constant(eV/K)\n",
+      "Ev=0.95;                                  #average energy required to create a vacancy\n",
+      "\n",
+      "#Calculation\n",
+      "n=math.exp(-Ev/(500*k));                        #n500/N\n",
+      "\n",
+      "#Result\n",
+      "print \"The ratio of number of vacancies to the number of atoms is\",round(n*10**10,1),\"*10**-10\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of number of vacancies to the number of atoms is 2.7 *10**-10\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 2.5, Page number 30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=1;\n",
+      "k=1;\n",
+      "l=1;\n",
+      "#d(hkl)=a/sqrt(h^2+k^2+l^2) where \"a\" is the lattice parameter\n",
+      "r=0.18;     #atomic radius(nm)\n",
+      "\n",
+      "#Calculation\n",
+      "d111=(2*math.sqrt(2)*r)/math.sqrt((h**2)+(k**2)+(l**2));     #spacing(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The spacing of (111) planes in a monoatomic structure is\",round(d111,2),\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The spacing of (111) planes in a monoatomic structure is 0.29 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 2.6, Page number 30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "M=200;                               #atomic weight \n",
+      "a=5;                                #lattice parameter(angstrom)\n",
+      "Na=6.022*(10**26);\n",
+      "\n",
+      "#Calculation\n",
+      "rho=(2*M)/(Na*(a*10**-10)**3);         #density of the structure(kg/m**3)\n",
+      "\n",
+      "#Result\n",
+      "print \"The density of the bcc structure is\",round(rho/10**3,2),\"*10**3 kg/m**3\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of the bcc structure is 5.31 *10**3 kg/m**3\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 2.7, Page number 30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#Free volume=a^3-[(4/3)*pi*r^3];for sc,a=2r\n",
+      "#Therefore free volume =(2r)^3-[(4/3)*pi*r^3]\n",
+      "fv=30.48*10**-30;                            #free volume per unit cell(m**3)\n",
+      "\n",
+      "#Calculation\n",
+      "r=(fv/(8-(4/3)*math.pi))**(1/3)*(10**10);          #atomic radius(angstrom) \n",
+      "\n",
+      "#Result\n",
+      "print \"The atomic radius is\",round(r),\"Angstrom\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The atomic radius is 2.0 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 2.8, Page number 30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#free volume=a^3-[2*(4/3)*pi*r^3]\n",
+      "#for bcc a=4r/3^(1/3)\n",
+      "fv=61.72*(10**-30);                          #free volume(m**3)\n",
+      "\n",
+      "#Calculation\n",
+      "a=-(fv/(1-math.pi*math.sqrt(3))/8)**1/3*10**31;           #lattice parameter(angstrom)\n",
+      "\n",
+      "#Result\n",
+      "print \"The lattice parameter is\",round(a,2),\"Angstrom\"\n",
+      "print \"answer in the book varies due to rounding off errors\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice parameter is 5.79 Angstrom\n",
+        "answer in the book varies due to rounding off errors\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 2.9, Page number 30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "rho=9000;                         #density(kg/m**3)\n",
+      "w=65;                             #atomic weight\n",
+      "v=1;                              #volume(m**3)\n",
+      "a=1.4;                            #average number of free electrons per atom\n",
+      "\n",
+      "#Calculation\n",
+      "n=(rho*v)/(w/(6.022*10**26));      #number of atoms\n",
+      "rhoe=n*a;                          #density of free electrons per atom(electrons/m**3)\n",
+      "\n",
+      "#Result\n",
+      "print \"The density of free electrons is\",round(rhoe/10**29,3),\"*10**29 electrons/m**3\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The density of free electrons is 1.167 *10**29 electrons/m**3\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 2.10, Page number 31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=1;\n",
+      "k=0;\n",
+      "l=1;\n",
+      "d101=0.5;            #spacing of (101) plane\n",
+      "\n",
+      "#Calculation\n",
+      "#d101=a/sqrt((h^2)+(k^2)+(l^2))\n",
+      "a=d101*math.sqrt(2)      #lattice parameter(Angstrom)\n",
+      "\n",
+      "#Result\n",
+      "print \"The lattice parameter is\",round(a,1),\"Angstrom\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lattice parameter is 0.7 Angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/Chapter4.ipynb b/Engineering_Physics/Chapter4.ipynb
new file mode 100755
index 00000000..f4145c55
--- /dev/null
+++ b/Engineering_Physics/Chapter4.ipynb
@@ -0,0 +1,553 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e9b50f0b4ca0520935774156fedb1fdaaf2b2fd5241b8184a650d42b25d657cd"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "4: Interference"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.1, Page number 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "i=40;                                    #angle of incidence(degrees)\n",
+      "mew=1.2;                                #refractive index\n",
+      "t=0.23;                                #thickness of the film(micro m)\n",
+      "\n",
+      "#Calculation\n",
+      "i=i*math.pi/180;                     #angle of incidence(radian)\n",
+      "r=math.asin(math.sin(i)/mew);        #angle of refraction(radian)\n",
+      "lambda1=(2*mew*t*math.cos(r))*10**3;      #wavelength absent(nm) \n",
+      "lambda2=lambda1/2;\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength absent is\",round(lambda1,1),\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength absent is 466.1 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.2, Page number 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lambda1=400*10**-9;                #wavelength 1(m)\n",
+      "lambda2=600*10**-9;                #wavelength 2(m)\n",
+      "#2*t=n*lambda\n",
+      "n=150;    \n",
+      "\n",
+      "#Calculation                        \n",
+      "t=((n*lambda2)/2)*10**6;     #thickness of the air film(micro meter)\n",
+      "\n",
+      "#Result\n",
+      "print \"The thickness of the air film is\",t,\"micro m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thickness of the air film is 45.0 micro m\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.3, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lamda=600*10**-9;     #wavelength(m)\n",
+      "mew=2;\n",
+      "theta=0.025;      #wedge-angle(degrees)\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=theta*math.pi/180;      #wedge-angle(radian)\n",
+      "x=(lamda/(2*mew*math.sin(theta)))*10**2;       #bandwidth(cm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The bandwidth is\",round(x,3),\"cm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The bandwidth is 0.034 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.4, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "xair=0.15;                     #bandwidth of air(cm)\n",
+      "xliq=0.115;                    #bandwidth of liquid(cm)\n",
+      "mewair=1;                      #refractive index of air\n",
+      "\n",
+      "#Calculation                        \n",
+      "mewliq=(xair*mewair)/xliq;      #refractive index of liquid\n",
+      "\n",
+      "#Result\n",
+      "print \"The refractive index of liquid is\",round(mewliq,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refractive index of liquid is 1.3\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.5, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "n=9;\n",
+      "lamda=589*10**-9;                   #wavelength of light used(m)\n",
+      "R=0.95;                             #radius of curvature of lens(m)\n",
+      "mew=1;\n",
+      "\n",
+      "#Calculation                        \n",
+      "D=(math.sqrt((4*n*lamda*R)/mew))*10**2;   #diameter of the ninth dark ring(m)\n",
+      "\n",
+      "#Result\n",
+      "print \"The diameter of the ninth dark ring is\",round(D,2),\"cm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The diameter of the ninth dark ring is 0.45 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.6, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "x=0.055;                       #distance in fringe shift(mm)\n",
+      "n=200;                         #number of fringes\n",
+      "\n",
+      "#Calculation                        \n",
+      "lamda=((2*x)/n)*10**6;          #wavelength(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength of light used is\",lamda,\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of light used is 550.0 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.7, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "n=50;                             #number of fringes\n",
+      "lamda=500*10**-9;                 #wavelength of light used(m)\n",
+      "mew=1.5;                          #refractive index of the plate\n",
+      "\n",
+      "#Calculation                        \n",
+      "t=((n*lamda)/(2*(mew-1)))*10**6;    #thickness of the plate(micro meter)\n",
+      "\n",
+      "#Result\n",
+      "print \"The thickness of the plate is\",t,\"micro m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thickness of the plate is 25.0 micro m\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.8, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lamda=550*10**-9;                   #wavelength(m)\n",
+      "mew=1.38;                            #refractive index\n",
+      "\n",
+      "#Calculation                        \n",
+      "t=(lamda/(4*mew))*10**9;              #thickness(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The minimum thickness of the plate for normal incidence of light is\",round(t,3),\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum thickness of the plate for normal incidence of light is 99.638 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.9, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "i=35;                                         #angle of incidence(degrees)\n",
+      "mew=1.4;                                      #refractive index\n",
+      "n=50;                                        \n",
+      "lamda=459*10**-9;       #wavelength(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "i=i*math.pi/180;                     #angle of incidence(radian)\n",
+      "r=math.asin(math.sin(i)/mew);        #angle of refraction(radian)\n",
+      "#2*mew*cos(r)=n*lambda\n",
+      "#n(459)=(n+1)450\n",
+      "t=(n*lamda/(2*mew*math.cos(r)))*10**6;          #thickness of the film(micro meter)\n",
+      "\n",
+      "#Result\n",
+      "print \"The thickness of the film is\",round(t,3),\"micro m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thickness of the film is 8.985 micro m\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.10, Page number 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lamda=500*10**-9;                      #wavelength(m)\n",
+      "x=0.07;                                 #observed band width(cm)\n",
+      "mew=1;                                  #refractive index\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=(math.asin(lamda/(2*mew*x)))*10**2;     #wedge angle(radian)\n",
+      "theta=theta*180/math.pi;     #wedge angle(degrees)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wedge angle is\",round(theta,2),\"degrees\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wedge angle is 0.02 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.11, Page number 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "dair=0.42;                   #diameter of certain rings(cm)\n",
+      "dliq=0.38;                   #diameter of rings when liquid is introduced(cm)\n",
+      "\n",
+      "#Calculation                        \n",
+      "mew=dair**2/dliq**2;            #refractive index of liquid\n",
+      "\n",
+      "#Result\n",
+      "print \"The refravtive index of liquid is\",round(mew,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refravtive index of liquid is 1.22\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.12, Page number 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "m=8;                                           #eigth ring\n",
+      "n=3;                                           #third ring\n",
+      "dm=0.4;                                        #diameter of the eigth ring(cm)\n",
+      "dn=0.2;                                        #diameter of the third ring(cm)\n",
+      "R=101;                                         #Radius of curvature(cm)\n",
+      "\n",
+      "#Calculation                        \n",
+      "lamda=(((dm**2)-(dn**2))/(4*R*(m-n)));      #wavelength of light(cm) \n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength of light used is\",round(lamda*10**5,4),\"*10**-5 cm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of light used is 5.9406 *10**-5 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.13, Page number 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "mew=1.38;             #refractive index of magnesium floride\n",
+      "t=175;                #thickness of coating of magnesium fluoride(nm)\n",
+      "\n",
+      "#Calculation                        \n",
+      "lamda=4*t*mew;        #wavelength(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength which has high transmission is\",lamda,\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength which has high transmission is 966.0 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/Chapter5.ipynb b/Engineering_Physics/Chapter5.ipynb
new file mode 100755
index 00000000..d125b365
--- /dev/null
+++ b/Engineering_Physics/Chapter5.ipynb
@@ -0,0 +1,469 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:f4c05fd79d4d56cbd4b08f847aeb0bba767b388c9bbe1bea8066d97e3ac78212"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "5: Diffraction"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.1, Page number 86"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "n=1;\n",
+      "lamda=600*10**-9;                 #wavelength(m)\n",
+      "theta=35;                          #angle at which first minimum falls(degrees)\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=theta*math.pi/180;      #angle at which first minimum falls(radian)\n",
+      "d=((n*lamda)/math.sin(theta))*10**6;      #width of the slit(micro m)\n",
+      "\n",
+      "#Result\n",
+      "print \"The width of the slit is\",round(d,2),\"micro m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The width of the slit is 1.05 micro m\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.2, Page number 86"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "D=0.95;                          #distance of the screen from the slit(m)\n",
+      "lamda=589*10**-9;                #wavelength(m)\n",
+      "d=0.5*10**-3;                     #width of the slit(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "y=((2*D*lamda)/d)*10**3;         #width of a central band(mm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The width of the central band is\",round(y,2),\"mm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The width of the central band is 2.24 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.3, Page number 86"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "D=1.1;                        #distance of the screen from the slit(m)\n",
+      "lamda=589*10**-9;             #wavelength(m)\n",
+      "y=4.5*10**-3;                  #distance of first minimum on either side of central maximum(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "d=((D*lamda)/y)*10**3         #slit width(mm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The slit width is\",round(d,3),\"mm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The slit width is 0.144 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.4, Page number 86"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "n=4;\n",
+      "lamda=589.6*10**-9;                  #wavelength(m)\n",
+      "D=0.95;                              #distance of the screen from the slit(m)\n",
+      "w=0.28*10**-3;                        #width of the slit(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "d=((n*lamda*D)/w)*10**3;     #distance between centres(mm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The distance between centres of central maximum and the fourth dark fringe is\",int(d),\"mm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The distance between centres of central maximum and the fourth dark fringe is 8 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.5, Page number 86"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "s=5*math.pi/2;                           #secondary maximum\n",
+      "\n",
+      "#Calculation                        \n",
+      "I=(math.sin(s)/s)**2;                      #I2/I0\n",
+      "\n",
+      "#Result\n",
+      "print \"Ratio of intensities of central & second secondary maximum is\",round(I,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ratio of intensities of central & second secondary maximum is 0.016\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.6, Page number 86"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lamda=450*10**-9;                  #wavelength(m)\n",
+      "n=2;\n",
+      "dlambda=1*10**-9;                   #difference in wavelength(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "N=lamda/(n*dlambda);               #minimum number of lines per cm \n",
+      "\n",
+      "#Result\n",
+      "print \"The minimum number of lines per cm is\",N/2"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum number of lines per cm is 112.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.7, Page number 86"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "n=1;\n",
+      "lamda=650*10**-9;                       #wavelength(m)\n",
+      "d=2*10**-6;                              #width of the slit(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=math.asin((n*lamda)/d);                #angle at which first minimum will be observed(radian)\n",
+      "theta=theta*180/math.pi;      #angle at which first minimum will be observed(degrees)\n",
+      "\n",
+      "#Result\n",
+      "print \"The angle at which first minimum will be observed is\",round(theta,3),\"degrees\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The angle at which first minimum will be observed is 18.966 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.8, Page number 87"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lamda=600*10**-9;                           #wavelength(m)\n",
+      "y=2*10**-3;                                 #width of the central band(m)\n",
+      "D=1;                                       #distance of the screen from the slit(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "d=((2*D*lamda)/y)*10**3;                    #slit width(mm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The slit width is\",d,\"mm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The slit width is 0.6 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.9, Page number 87"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "y=6*10**-3;                     #first minimum is observed(m)\n",
+      "d=90*10**-6;                    #slit width(m)\n",
+      "D=0.98;                        #distance of the screen from the slit(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "lamda=((y*d)/D)*10**9;           #wavelength(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength of light used is\",int(lamda),\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of light used is 551 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.10, Page number 87"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "n=1;\n",
+      "lambda1=450*10**-9;                   #wavelength of first spectral line(m)\n",
+      "d=1/5000;                    #number of lines\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta1=math.asin((n*lambda1)/d);    \n",
+      "theta1=round(theta1*10**2*180/math.pi);\n",
+      "theta2=theta1+2.97;\n",
+      "theta2=theta2*math.pi/180;\n",
+      "lambda2=d*math.sin(theta2)/n;    #wavelength of second spectral line(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength of second spectral line is\",int(lambda2*10**7),\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of second spectral line is 550 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 5.11, Page number 87"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "n=3;\n",
+      "lamda=700*10**-9;              #wavelength(m)\n",
+      "theta=90;         #angle(degrees)\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=theta*math.pi/180;     #angle(radian)\n",
+      "d=n*lamda/math.sin(theta);    #grating element(m)\n",
+      "\n",
+      "#Result\n",
+      "print \"The minimum grating element required to observe the entire third order spectrum is\",d*10**6,\"*10**-6 m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum grating element required to observe the entire third order spectrum is 2.1 *10**-6 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/Chapter6.ipynb b/Engineering_Physics/Chapter6.ipynb
new file mode 100755
index 00000000..271f7718
--- /dev/null
+++ b/Engineering_Physics/Chapter6.ipynb
@@ -0,0 +1,437 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:015049a6d28a54143e382d872ce51260f52be159a8159c04fe93d876c0cea685"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "6: Polarisation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 6.1, Page number 108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "mew=1.63;              #refractive index of the glass plate\n",
+      "\n",
+      "#Calculation                        \n",
+      "#tan ip=mew\n",
+      "ip=math.atan(mew);        #ip=polarising angle(radian)\n",
+      "ip=ip*180/math.pi;     #ip=polarising angle(degrees)\n",
+      "#ip+r=90\n",
+      "r=90-ip;              #angle of refraction(degrees)\n",
+      "rd=int(r);      #angle(degrees)\n",
+      "rm=round(60*(r-rd));     #angle(minutes)\n",
+      "\n",
+      "#Result\n",
+      "print \"The angle of refraction is\",rd,\"degrees\",rm,\"minutes\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The angle of refraction is 31 degrees 32.0 minutes\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 6.2, Page number 108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#I=I0(cos^2(teta))\n",
+      "theta=50;                #angle made between two principle planes(degrees)\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=theta*math.pi/180;   #angle(radian)\n",
+      "I=(math.cos(theta))**2;         #incident unpolarized light\n",
+      "#percentage of incident unpolarised light is (I/I0)*100 where I0 is incident polarised light\n",
+      "p=I*100;      #percentage of incident unpolarized light(%)\n",
+      "\n",
+      "#Result\n",
+      "print \"The percentage of incident unpolarized light is\",int(p),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The percentage of incident unpolarized light is 41 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 6.3, Page number 108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#I=I0*cos^2(teta)\n",
+      "#cos^2(teta)=I/I0\n",
+      "a=0.08;                #a=I/I0;where I=incident unpolarized light & I0=incident polarized light\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=math.acos(math.sqrt(a));    #angle between planes of transmission of analyser and polariser(radian)\n",
+      "theta=theta*180/math.pi;     #angle(degrees)\n",
+      "thetad=int(theta);     #angle(degrees)\n",
+      "thetam=round(60*(theta-thetad));     #angle(minutes)\n",
+      "\n",
+      "#Result\n",
+      "print \"The angle between the planes of transmission of analyser & polariser is +(or)- \",thetad,\"degrees\",thetam,\"minutes\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The angle between the planes of transmission of analyser & polariser is +(or)-  73 degrees 34.0 minutes\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 6.4, Page number 108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#IE=A^2(cos^2(teta));IO=A^2(sin^2(teta))\n",
+      "#I0/IE=tan^2(teta)\n",
+      "theta=40;                    #angle made between incident beam & optic axis(degrees)\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=theta*math.pi/180;   #angle(radian)\n",
+      "a=math.tan(theta)**2;                  #I0/IE\n",
+      "\n",
+      "#Result\n",
+      "print \"I0/IE=\",round(a,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "I0/IE= 0.7\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 6.5, Page number 108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lamda=589;                              #wavelength of light(nm)\n",
+      "mew0=1.54;                               #refractive index for ordinary wave\n",
+      "mewE=1.55;                               #refractive index for extraordinary wave\n",
+      "\n",
+      "#Calculation                        \n",
+      "t=lamda/(4*(mewE-mew0))*10**-3;         #thickness(micro m)\n",
+      "\n",
+      "#Result\n",
+      "print \"The thickness of a quarter-wave plate is\",t,\"micro m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thickness of a quarter-wave plate is 14.725 micro m\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 6.6, Page number 109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "ip=52;                               #angle of polarization(degrees)\n",
+      "\n",
+      "#Calculation                        \n",
+      "ip=ip*math.pi/180;   #angle(radian)\n",
+      "mew=math.tan(ip);                    #refractive index of the material surface\n",
+      "\n",
+      "#Result\n",
+      "print \"The refractive index of the material surface is\",round(mew,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refractive index of the material surface is 1.28\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 6.7, Page number 109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "r=33;                      #angle of refraction(degrees)\n",
+      "\n",
+      "#Calculation                        \n",
+      "ip=90-r;                   #polarising angle(degrees)\n",
+      "ip=ip*math.pi/180;     #angle(radian)\n",
+      "mew=math.tan(ip);          #refractive index of quartz\n",
+      "\n",
+      "#Result\n",
+      "print \"The refractive index of quartz is\",round(mew,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refractive index of quartz is 1.54\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 6.8, Page number 109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#IE=A^2*cos^2(teta);IO=A^2*sin^2(teta)\n",
+      "#I0/IE=tan^2(teta)=0.65\n",
+      "a=0.65;                        #ratio of intensities of ordinary & extraordinary light\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=math.atan(math.sqrt(a));           #angle made by plane of vibration of the incident light with optic axis(radian)\n",
+      "theta=theta*180/math.pi;      #angle(degrees)\n",
+      "thetad=int(theta);     #angle(degrees)\n",
+      "thetam=int(60*(theta-thetad));\n",
+      "\n",
+      "#Result\n",
+      "print \"The angle made by the plane of vibration of incident light with the optic axis is\",thetad,\"degrees\",thetam,\"minutes\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The angle made by the plane of vibration of incident light with the optic axis is 38 degrees 52 minutes\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 6.9, Page number 109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "mew0=1.544;                                  #refractive index of ordinary waves\n",
+      "mewE=1.553;                                  #refractive index of extraordinary waves\n",
+      "lamda=550;                                  #wavelength(nm) \n",
+      "t=9;\n",
+      "\n",
+      "#Calculation                        \n",
+      "delta=((2*180)/(lamda*(10**-9)))*(mewE-mew0)*t*(10**-6);           #phase difference(degrees)\n",
+      "\n",
+      "#Result\n",
+      "print \"The phase difference between O and E rays is\",int(delta),\"degrees\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The phase difference between O and E rays is 53 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 6.10, Page number 109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "delta=50;                                #phase difference(degrees)\n",
+      "mewE=1.544;                              #refractive index of extraordinary waves\n",
+      "mew0=1.553;                              #refractive index of ordinary waves\n",
+      "t=8;                                     #thickness(nm)\n",
+      "\n",
+      "#Calculation                        \n",
+      "lamda=((2*180)/delta)*(mew0-mewE)*t*10**-6*10**9;              #wavelength of light incident(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength of light incident is\",lamda,\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of light incident is 518.4 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/Chapter7.ipynb b/Engineering_Physics/Chapter7.ipynb
new file mode 100755
index 00000000..36caeba7
--- /dev/null
+++ b/Engineering_Physics/Chapter7.ipynb
@@ -0,0 +1,582 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:604dfd31225e3c2fe12afc104ed18461bd1bcabd558389f5cc69df386ba9091d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "7: Motion of a charged particle"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.1, Page number 132"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "e=1.6*10**-19;                   #charge of the electron(c)\n",
+      "V=18;                            #potential difference(kV)\n",
+      "m=9.1*10**-31;                   #mass of the electron(kg)\n",
+      "\n",
+      "#Calculation                        \n",
+      "K=e*V*10**3;                     #Kinetic energy(J)\n",
+      "v=math.sqrt((2*e*V*10**3)/m);            #speed of electron(m/s)\n",
+      "\n",
+      "#Result\n",
+      "print \"The kinetic energy of electron is\",K*10**16,\"*10**-16 J\"\n",
+      "print \"Speed of the electron is\",round(v/10**7,3),\"*10**7 m/s\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The kinetic energy of electron is 28.8 *10**-16 J\n",
+        "Speed of the electron is 7.956 *10**7 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.2, Page number 133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "m=9.1*10**-31;                    #mass of electron(kg)\n",
+      "vx=4*10**6;                       #velocity along x-axis(m/s)\n",
+      "E=1500;                           #electric field strength(N/C)\n",
+      "l=0.07;                           #length in y-axis(m)\n",
+      "q=1.6*10**-19;                    #charge of electron(c)\n",
+      "\n",
+      "#Calculation                        \n",
+      "y=(-q*E*(l**2))/(2*m*(vx**2))*10**2;         #vertical displacement of electron(cm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The vertical displacement of electron when it leaves the electric field is\",round(y,3),\"cm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The vertical displacement of electron when it leaves the electric field is -4.038 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.3, Page number 133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "u=5*10**5;                   #velocity(m/s)\n",
+      "m=1.67*10**-27;               #mass of proton(kg)\n",
+      "q=1.6*10**-19;\n",
+      "E=500;                        #electric field(N/C)\n",
+      "theta=42;                     #angle(degrees)\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=theta*math.pi/180;      #angle(radian)\n",
+      "t=((u*m*math.sin(theta))/(q*E))*10**6;             #time required for the proton(micro s)\n",
+      "\n",
+      "#Result\n",
+      "print \"The time required for the proton is\",round(t,2),\"micro s\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The time required for the proton is 6.98 micro s\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.4, Page number 133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "m=1.67*10**-27;                  #mass of proton(kg)\n",
+      "q=1.6*10**-19;\n",
+      "B=0.36;                          #magnetic field(T)\n",
+      "R=0.2;                           #radius(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "v=(q*B*R)/m;            #orbital speed of proton(m/s)\n",
+      "\n",
+      "#Result\n",
+      "print \"The orbital speed of proton is\",round(v/10**6,1),\"*10**6 m/s\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The orbital speed of proton is 6.9 *10**6 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.5, Page number 133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "v=2*10**6;                     #speed(m/s)\n",
+      "theta=30;                      #angle at which proton enters at the origin of coordinate system(degrees)\n",
+      "B=0.3;                         #magnetic field(T)\n",
+      "m=1.67*10**-27;                #mass of proton(kg)\n",
+      "q=1.6*10**-19;\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=theta*math.pi/180;       #angle(radian)\n",
+      "vp=v*math.sin(theta);          #v(perpendicular component)\n",
+      "vpa=v*math.cos(theta);         #v(parallel component)\n",
+      "p=(vpa*2*math.pi*m)/(q*B);         #pitch of the helix described by the proton\n",
+      "R=((m*vp)/(q*B))*10**2;         #radius of the trajectory\n",
+      "\n",
+      "#Result\n",
+      "print \"the pitch of the helix is\",round(p,2),\"m\"\n",
+      "print \"the radius of trajectory is\",round(R,2),\"cm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the pitch of the helix is 0.38 m\n",
+        "the radius of trajectory is 3.48 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.6, Page number 133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "V=25;                      #deflecting voltage(V)\n",
+      "l=0.03;                    #length of deflecting planes(m)\n",
+      "d=0.75;                    #distance between 2 deflecting plates(cm)\n",
+      "Va=800;                    #final anode voltage(V)\n",
+      "D=0.2;                     #distance between the screen and the plates(m)\n",
+      "e=1.6*10**-19;\n",
+      "m=9.1*10**-31;                               #mass of electron(kg)\n",
+      "\n",
+      "#Calculation                        \n",
+      "y=(((V*l)/(2*d*Va))*(D+(l/2)))*10**4;        #displacement produced(cm)\n",
+      "a=((V*l)/(2*d*Va))*10**2;\n",
+      "alpha=math.atan(a);                          #angle made by the beam with the axis(radian)\n",
+      "alpha1=alpha*180/math.pi;        #angle(degrees)\n",
+      "v=((math.sqrt((2*e*Va)/m))/math.cos(alpha));          #velocity of electron(v)\n",
+      "\n",
+      "#Result\n",
+      "print \"the displacement produced is\",round(y,2),\"cm\"\n",
+      "print \"the angle made by the beam with the axis is\",round(alpha1,2),\"degrees\"\n",
+      "print \"velocity of electrons is\",round(v/10**7,2),\"*10**7 m/s\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the displacement produced is 1.34 cm\n",
+        "the angle made by the beam with the axis is 3.58 degrees\n",
+        "velocity of electrons is 1.68 *10**7 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.7, Page number 134"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "e=1.6*10**-19;\n",
+      "B=5*10**-5;                  #magnetic field(Wb/m**2)\n",
+      "l=0.04;                      #length of magnetic field along the axis(m)\n",
+      "m=9.1*10**-31;               #mass of electron(kg)\n",
+      "D=0.25;                      #distance of the screen from the field(m)\n",
+      "Va=600;                      #final anode voltage(V)\n",
+      "\n",
+      "#Calculation                        \n",
+      "y=(((e*B*l)/m)*math.sqrt(m/(2*e*Va))*(D+(l/2)))*10**2;      #displacement of the electron(cm)\n",
+      "\n",
+      "#Result\n",
+      "print \"the displacement of the electron beam spot on the screen is\",round(y,2),\"cm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the displacement of the electron beam spot on the screen is 0.65 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.8, Page number 134"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "E=2.5*10**4;               #electric field(V/m)\n",
+      "B=0.18;                    #magnetic field(T)\n",
+      "B1=0.22;                   #magnetic field in the main chamber(T)\n",
+      "m2=13;                     #mass number of carbon(kg)\n",
+      "m1=12;                     #mass number of carbon(kg)\n",
+      "e=1.6*10**-9;\n",
+      "q=1.67*10**-27;\n",
+      "\n",
+      "#Calculation                        \n",
+      "v=E/B;                     #velocity of particles(m/s)\n",
+      "s=((2*v*(m2-m1)*q)/(e*B1))*10**12;       #seperation on photographic plate(cm)\n",
+      "\n",
+      "#Result\n",
+      "print \"the seperation on photographic plate is\",round(s,3),\"cm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the seperation on photographic plate is 1.318 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.9, Page number 134"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "v=5.6*10**6;                  #speed of the electron(m/s)\n",
+      "m=9.1*10**-31;                #mass of electron(kg)\n",
+      "e=1.6*10**-19;\n",
+      "s=0.03;                       #distance travelled(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "E=(m*(v)**2)/(2*e*s);         #intensity of electric field(N/C)\n",
+      "\n",
+      "#Result\n",
+      "print \"The intensity of electric field is\",round(E),\"N/C\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The intensity of electric field is 2973.0 N/C\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.10, Page number 134"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "v=5*10**7;\n",
+      "B=0.4;                   #magnetic field(T)\n",
+      "r=0.711*10**-3;          #radius of the circle(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "Q=v/(B*r);               #charge to mass ratio(C/kg)\n",
+      "\n",
+      "#Result\n",
+      "print \"The charge to mass ratio is\",round(Q/10**10,2),\"*10**10 C/kg\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The charge to mass ratio is 17.58 *10**10 C/kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.11, Page number 135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "m=9.1*10**-31;              #mass of electron(kg)\n",
+      "v=3*10**7;                  #speed of electron(m/s)\n",
+      "R=0.05;                     #radius of the circle(m)\n",
+      "q=1.6*10**-31;\n",
+      "\n",
+      "#Calculation                        \n",
+      "B=((m*v)/(q*R))*10**-9;          #magnetic field(mT)\n",
+      "\n",
+      "#Result\n",
+      "print \"The magnetic field to bend a beam is\",round(B,1),\"mT\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnetic field to bend a beam is 3.4 mT\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.12, Page number 135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "m=9.1*10**-31;                #mass of electron(kg)\n",
+      "q=1.6*10**-19;\n",
+      "t=8*10**-9;                   #time(ns)\n",
+      "\n",
+      "#Calculation                        \n",
+      "B=(2*math.pi*m*500)/(q*t);          #magnetic field(T)\n",
+      "\n",
+      "#Result\n",
+      "print \"The magnetic field is\",round(B,2),\"T\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnetic field is 2.23 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 7.13, Page number 135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "v=9.15*10**7;                  #cyclotron frequency of proton(Hz)\n",
+      "m=1.67*10**-27;                #mass of proton(kg)\n",
+      "q=1.6*10**-19;\n",
+      "\n",
+      "#Calculation                        \n",
+      "B=(2*math.pi*v*m)/q;           #magnetic field(T)\n",
+      "\n",
+      "#Result\n",
+      "print \"The magnetic field is\",int(B),\"T\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnetic field is 6 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/Chapter8.ipynb b/Engineering_Physics/Chapter8.ipynb
new file mode 100755
index 00000000..b3ec194e
--- /dev/null
+++ b/Engineering_Physics/Chapter8.ipynb
@@ -0,0 +1,360 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:a95b407b682939fdad30498a4e63981a88538f3262f7c6d2067bc16aa9ba5b35"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "8: Magnetic materials and Spectroscopy"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 8.1, Page number 153"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "mew=0.9*10**-23;             #magnetic dipole moment(J/T)\n",
+      "B=0.72;                     #magnetic field applied(T)\n",
+      "k=1.38*10**-23;             #boltzmann constant\n",
+      "\n",
+      "#Calculation                        \n",
+      "T=(2*mew*B)/(3*k);          #temperature(K)\n",
+      "\n",
+      "#Result\n",
+      "print \"The temperature is\",round(T,2),\"K\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The temperature is 0.31 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 8.2, Page number 153"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#(C=mew0*M*T)/B.\n",
+      "#Therefore M=(C*B)/(mew0*T)\n",
+      "C=2*10**-3;            #C is curies constant(K)\n",
+      "B=0.4;                #applied magnetic field(T)\n",
+      "mew0=4*math.pi*10**-7;\n",
+      "T=300;                #temperature(K)\n",
+      "\n",
+      "#Calculation                        \n",
+      "M=(C*B)/(mew0*T);     #magnetisation(A/m)\n",
+      "\n",
+      "#Result\n",
+      "print \"magnetisation is\",round(M,2),\"A/m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "magnetisation is 2.12 A/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 8.3, Page number 153"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "e=1.6*10**-19;\n",
+      "B=0.35;                  #magnetic field(T)\n",
+      "lamda=500*10**-9;       #wavelength(m)\n",
+      "m=9.1*10**-31;\n",
+      "c=3*10**8;         #speed of light \n",
+      "\n",
+      "#Calculation                        \n",
+      "deltalambda=(e*B*(lamda)**2)/(4*(math.pi)*m*c*10**-9);      #Zeeman shift in wave length(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"Zeeman shift in wave length is\",round(deltalambda,5),\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zeeman shift in wave length is 0.00408 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 8.4, Page number 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#T=(C*B)/(mew0*B)\n",
+      "C=2.1*10**-3;           #C is curie's constant(K)\n",
+      "B=0.38;                #magnetic field(T)\n",
+      "mew0=4*math.pi*10**-7;   #molecular magnetic moment\n",
+      "M=2.15;               #magnetisation(A/m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "T=(C*B)/(mew0*M);     #temperature(K)\n",
+      "\n",
+      "#Result\n",
+      "print \"Temperature is\",round(T,1),\"K\"\n",
+      "print \"answer in the book varies due to rounding off errors\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Temperature is 295.4 K\n",
+        "answer in the book varies due to rounding off errors\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 8.5, Page number 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#(M1*T1)=(M2*T2).Therefore M2=(M1*T1)/T2\n",
+      "M1=2;                 #Initial magnetisation(A/m)\n",
+      "T1=305;               #Initial temperature(K)\n",
+      "T2=321;\t\t      #final temperature(K)\t\n",
+      "\n",
+      "#Calculation                        \n",
+      "M2=(M1*T1)/T2;        #magnetisation at 321K(A/m)\n",
+      "\n",
+      "#Result\n",
+      "print \"Magnetisation at 321 K is\",round(M2,1),\"A/m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnetisation at 321 K is 1.9 A/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 8.6, Page number 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "mew0=4*math.pi*10**-7;        #molecular magnetic moment\n",
+      "M=4;                          #magnetisation(A/m)\n",
+      "T=310;                        #temperature(K)\n",
+      "C=1.9*10**-3;                 #Curie's constant(K)\n",
+      "\n",
+      "#Calculation                        \n",
+      "B=(mew0*M*T)/C;              #magnetic field(T)\n",
+      "\n",
+      "#Result\n",
+      "print \"Magnetic field is\",round(B,2),\"T\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnetic field is 0.82 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 8.7, Page number 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#e/m is gyromagnetic ratio.\n",
+      "deltalambda=0.01*10**-9;                         #Zeeman shift(m)\n",
+      "c=3*10**8;                                       #speed of light in  vacuum(m/s)\n",
+      "lamda=600*10**-9;                              #wavelength(m)\n",
+      "e=1.6*10**-19;\n",
+      "m=9.1*10**-31;\n",
+      "\n",
+      "#Calculation                        \n",
+      "B=(deltalambda*4*math.pi*m*c)/(e*(lamda)**2);    #uniform magnetic field(T)\n",
+      "\n",
+      "#Result\n",
+      "print \"Magnetic field is\",round(B,4),\"T\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnetic field is 0.5956 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 8.8, Page number 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "deltalambda=0.01*10**-9;                           #Zeeman shift(m)\n",
+      "c=3*10**8;                                      #speed of light in vacuum(m/s)\n",
+      "B=0.78;                                          #magnetic field(T)\n",
+      "lamda=550*10**-9;                              #wavelength(m)\n",
+      "\n",
+      "#Calculation    \n",
+      "Y=(deltalambda*4*math.pi*3*10**8)/(B*(lamda)**2);    #e/m ratio(C/kg)\n",
+      "\n",
+      "#Result\n",
+      "print \"e/m ratio is\",round(Y/10**11,1),\"*10**11 C/kg\"\n",
+      "print \"answer in the book varies due to rounding off errors\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "e/m ratio is 1.6 *10**11 C/kg\n",
+        "answer in the book varies due to rounding off errors\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/Chapter9.ipynb b/Engineering_Physics/Chapter9.ipynb
new file mode 100755
index 00000000..29c8edee
--- /dev/null
+++ b/Engineering_Physics/Chapter9.ipynb
@@ -0,0 +1,576 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:495ac96015f20ad80c50d2c1722e924721169f0ca7b7ca56739c5ef92f3f2a43"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "9: Quantum Theory"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.1, Page number 171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "r=0.05;                  #radius of the wire(mm)\n",
+      "l=4;                     #length of the wire(cm)\n",
+      "e=1;\n",
+      "T=3000;                  #temperature(K)\n",
+      "s=5.6703*10**-8;         #stefan's constant \n",
+      "\n",
+      "#Calculation  \n",
+      "A=2*math.pi*r*l*10**-5;      #area(m**2)\n",
+      "p=s*T**4*A*e;            #power radiated by the filament(W)\n",
+      "\n",
+      "#Result\n",
+      "print \"The power radiated by the filament is\",round(p,2),\"W\"\n",
+      "print \"answer given in the book is wrong\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The power radiated by the filament is 57.72 W\n",
+        "answer given in the book is wrong\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.2, Page number 171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                   #plancks constant\n",
+      "c=3*10**8;                         #speed of light(m/s)\n",
+      "lamda=550;                        #wavelength(nm)\n",
+      "\n",
+      "#Calculation                        \n",
+      "E=(h*c)/(lamda*10**-9);           #energy of photon(J)\n",
+      "Es=0.1/E;                          #number of photons(per square cm per second)\n",
+      "\n",
+      "#Result\n",
+      "print \"The number of photons are\",round(Es/10**17,2),\"*10**17 per square cm per second\"\n",
+      "print \"answer in the book varies due to rounding off errors\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of photons are 2.77 *10**17 per square cm per second\n",
+        "answer in the book varies due to rounding off errors\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.3, Page number 171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                      #plancks constant\n",
+      "c=3*10**8;                            #speed of light(m/s)\n",
+      "lamda=300*10**-9;                    #wavelength(m)\n",
+      "e=1.6*10**-19;\n",
+      "phi=2.2;                              #work function(eV)\n",
+      "\n",
+      "#Calculation                        \n",
+      "E=(h*c)/lamda;                       #energy of photon(J)\n",
+      "Kmax=(E-(phi*e))/e;                           #maximum kinetic energy(eV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The maximum kinetic energy  is\",round(Kmax,2),\"eV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The maximum kinetic energy  is 1.94 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.4, Page number 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                      #plancks constant\n",
+      "c=3*10**8;                            #speed of light(m/s)\n",
+      "lamda=175*10**-9;                    #wavelength of light(m)\n",
+      "w=5;                                  #work function of nickel(eV)\n",
+      "\n",
+      "#Calculation                        \n",
+      "E=(h*c)/(lamda*1.6*10**-19);         #Energy of 200 nm photon(eV)\n",
+      "#From photoelectric equation E-w is the potential difference\n",
+      "p=E-w;                                #potential difference required to stop the fastest electron(eV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The potential difference that should be applied is\",round(p,1),\"V\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The potential difference that should be applied is 2.1 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.5, Page number 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                   #plancks constant\n",
+      "c=3*10**8;                         #speed of light(m/s)\n",
+      "e=1.6*10**-19;\n",
+      "V=50;                              #accelerating voltage(kV)\n",
+      "\n",
+      "#Calculation                        \n",
+      "lambdamin=((h*c)/(e*V*10**3))*10**9;      #shortest wavelength of X-rays(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The shortest wavelength of X-rays is\",round(lambdamin,4),\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The shortest wavelength of X-rays is 0.0248 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.6, Page number 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lambda1=0.708;                  #wavelength of a certain line in an X-ray spectrum(angstrom)\n",
+      "Z1=42;                          #atomic number\n",
+      "Z2=24;\n",
+      "a=1;                            #screening constant\n",
+      "\n",
+      "#Calculation                        \n",
+      "lambda2=(lambda1*(Z1-a)**2)/((Z2-a)**2);      #wavelength of same line(angstrom)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength of same line is\",round(lambda2,2),\"angstrom\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of same line is 2.25 angstrom\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.7, Page number 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#From Bragg's law 2*d*sin(teta)=n*lambda\n",
+      "n=1;\n",
+      "lamda=0.32;                    #wavelength(nm)\n",
+      "theta=28;                       #angle at which first order Bragg's reflection is observed(degrees)\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=theta*math.pi/180;        #angle(radian)\n",
+      "d=lamda/(2*math.sin(theta));      #distance between atomic planes(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The distance between atomic planes is\",round(d,2),\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The distance between atomic planes is 0.34 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.8, Page number 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                   #plancks constant\n",
+      "theta=50;                   #angle(degrees)\n",
+      "m=9.1*10**-31;              #mass of electron(kg)\n",
+      "c=3*10**8;                  #speed of light(m/s)\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=theta*math.pi/180;    #angle(radian)\n",
+      "deltalambda=(h/(m*c))*(1-math.cos(theta))*10**12;      \n",
+      "lambdafin=2.5;              #wavelength of scattered X-rays\n",
+      "lambdainit=lambdafin-deltalambda;     #wavelength of X-rays in the incident beam(pm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength of X-rays in the incident beam is\",round(lambdainit,2),\"pm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of X-rays in the incident beam is 1.63 pm\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.9, Page number 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                 #plancks constant\n",
+      "c=3*10**8;                       #speed of light(m/s)\n",
+      "lamda=500*10**-9;               #wavelength of laser(m)\n",
+      "t=20*10**-3;                     #time(s)\n",
+      "N=2.52*10**16;                   #number of photons in a 20ms pulse\n",
+      "\n",
+      "#Calculation                        \n",
+      "E=(h*c)/lamda;                  #Energy of 500 nm photon(J)\n",
+      "p=E*N/t;                         #power of the laser(W)\n",
+      "\n",
+      "#Result\n",
+      "print \"The power of the laser is\",round(p,1),\"W\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The power of the laser is 0.5 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.10, Page number 173"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                        #plancks constant\n",
+      "c=3*10**8;                              #speed of light(m/s)\n",
+      "lamda=350*10**-9;                      #threshold wavelength(m)\n",
+      "e=1.6*10**-19;\n",
+      "\n",
+      "#Calculation  \n",
+      "W=h*c/(lamda*e);             #work function of the surface(eV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The work function of the surface is\",round(W,2),\"eV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The work function of the surface is 3.55 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.11, Page number 173"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                  #plancks constant\n",
+      "c=3*10**8;                        #speed of light(m/s)\n",
+      "e=1.6*10**-19;\n",
+      "lambdamin=0.02*10**-9;            #minimum wavelength(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "V=(h*c/(lambdamin*e))*10**-3;       #accelerating voltage(kV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The accelerating voltage needed to produce minimum wavelength is\",round(V,4),\"kV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The accelerating voltage needed to produce minimum wavelength is 62.1187 kV\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.12, Page number 173"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "#According to Bragg's eq.2*d*sin(teta)=n*lambda\n",
+      "n=2;                     #since second order Bragg's eq.\n",
+      "d=5;                     #since d=5(lambda)\n",
+      "lamda=1;\n",
+      "\n",
+      "#Calculation                        \n",
+      "a=(n*lamda)/(2*5*lamda);\n",
+      "theta=math.asin(a);      #angle of second order Braggs reflection(radian)\n",
+      "theta=theta*180/math.pi;      #angle(degrees)\n",
+      "\n",
+      "#Result\n",
+      "print \"The angle of second order Braggs reflection is\",round(theta,2),\"degrees\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The angle of second order Braggs reflection is 11.54 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 9.13, Page number 173"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "h=6.626*10**-34;                     #plancks constant\n",
+      "c=3*10**8;                           #speed of light(m/s)\n",
+      "lamda=0.03;                         #wavelength(nm)\n",
+      "p=80/100;\n",
+      "\n",
+      "#Calculation                        \n",
+      "E=(h*c)/(lamda*10**-9);             #energy of photon(J) \n",
+      "TE=E/p;                              #Total energy.E=80% of TE(J)\n",
+      "TE=TE*(10**-3)/e;                    #Total energy(keV)\n",
+      "\n",
+      "#Result\n",
+      "print \"The electron must have been accelerated through a potential difference of\",round(TE,3),\"kV\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electron must have been accelerated through a potential difference of 51.766 kV\n"
+       ]
+      }
+     ],
+     "prompt_number": 49
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Engineering_Physics/README.txt b/Engineering_Physics/README.txt
index d99f6a28..98363f45 100755
--- a/Engineering_Physics/README.txt
+++ b/Engineering_Physics/README.txt
@@ -3,8 +3,8 @@ Course: btech
 College/Institute/Organization: JNTUH
 Department/Designation: Computer Science
 Book Title: Engineering Physics
-Author: V Rajendran
-Publisher: Tata McGraw-Hill Publishing Company Limited(New Delhi)
-Year of publication: 2008
-Isbn: 9780070261037
+Author: P. V. Naik
+Publisher: Pearson Education(Singapore)
+Year of publication: 2004
+Isbn: 8129705206
 Edition: 1
\ No newline at end of file
diff --git a/Engineering_Physics/chapter1.ipynb b/Engineering_Physics/chapter1.ipynb
new file mode 100755
index 00000000..69791eee
--- /dev/null
+++ b/Engineering_Physics/chapter1.ipynb
@@ -0,0 +1,862 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:0e6e83846c51774a2df15d43a35bd12afc7130920f3c7a5b4cb2d5a70d8dae4a"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter1:RELATIVISTIC MECHANICS"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.1:pg-12"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# example 1\n",

+      "import math\n",

+      "#to calculate length of the bar measured by the ststionary observer\n",

+      "lo =1  #length in metre\n",

+      "v=0.75*3*10**8 #speed (m/s)\n",

+      "c=3*10**8 #light speed(m/s)\n",

+      "l=lo*math.sqrt(1-(v**2/c**2))\n",

+      "print \"\\n the length of bar in is\",round(l,2),\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "\n",

+        " the length of bar in is 0.66 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.2:pg-12"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# example 2\n",

+      "import math\n",

+      "#to calculate velocity of rocket \n",

+      "#lo be the length at rest \n",

+      "l=99.0/100 #length is 99 per cent of its length at rest is l=(99/100)lo\n",

+      "c=3*10**8   #light speed(m/s)\n",

+      "v=c*math.sqrt(1-l**2) #formula is v=c math.sqrt(1-(l/lo)**2)\n",

+      "print\" the velocity of rocket is v=\",\"{:.2e}\".format(v),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        " the velocity of rocket is v= 4.23e+07 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 21

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.4:pg-13"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to percentage contraction of a rod\n",

+      "c=3.0*10**8 #light speed(m/s)\n",

+      "v=0.8*c #velocity(m/s)\n",

+      "#let lo be the length of the rod in the frame in which it is at rest\n",

+      "#s' is the frame which is moving with a speed 0.8c in a direction making an angle 60 with x-axis\n",

+      "#components of lo along perpendicular to the direction of motion are lo cos60 and lo sin60 respectively\n",

+      "l1=math.cos(math.pi/3)*math.sqrt(1-(v/c)**2) #length of the rod alond the direction of motion =lo math.cos(pi/3)math.sqrt(1-(v/c)**2)\n",

+      "l2=math.sin(math.pi/3)  #length of the rod perpendicular to the direction of motion =lo sin60\n",

+      "l=math.sqrt(l1**2+l2**2) # length of the moving rod\n",

+      "per=(1-l)*100/1\n",

+      "print \"percentage contraction of a rod is\",round(per,2),\"%\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "percentage contraction of a rod is 8.35 %\n"

+       ]

+      }

+     ],

+     "prompt_number": 23

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.7:pg-14"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# example 7\n",

+      "import math\n",

+      "#to calculate velocity of the circular lamina  \n",

+      "c=3*10**8 #light speed (m/s)\n",

+      "#R'=R/2 (radius)\n",

+      "#R'=R math.sqrt(1-(v/c)**2)\n",

+      "v=(math.sqrt(3)/2)*c \n",

+      "print \"velocity of the circular lamina relative to frame s is v=\",v,\"m/s\"\n",

+      "#answer is given in terms of c in the textbook\n",

+      "\n",

+      "\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "velocity of the circular lamina relative to frame s is v= 259807621.135 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.8:pg-17"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# example 8\n",

+      "import math\n",

+      "#to calculate speed of the clock\n",

+      "#clock should record l=59 minutes for each hour recorded by clocks stationary with respect to the observer\n",

+      "l=59.0 \n",

+      "lo=60\n",

+      "c=3*10**8 #light speed (m/s)\n",

+      "v=math.sqrt(c**2*(1-l**2/lo**2))\n",

+      "print \"speed of the clock is v =\",\"{:.2e}\".format(v),\"m/s\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "speed of the clock is v = 5.45e+07 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 31

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.9:pg-17"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate distance travelled by the beam \n",

+      "deltat0=2.5*10**-8 #proper half life of pi mesons in (s)\n",

+      "c=3*10**8 #light speed (m/s)\n",

+      "v=0.8*c #mesons velocity (m/s)\n",

+      "deltat=deltat0/math.sqrt(1-(v/c)**2) #half life (s)\n",

+      "#No=initial flux ,N=flux after time t\n",

+      "#N=N0 e**(-t/T)\n",

+      "#N=N0/e**2 (given)=No e(-t/T)\n",

+      "#t=2 deltat\n",

+      "d=2*deltat*v #d=vt\n",

+      "print \"distance travelled by the beam is d=\",d,\"m\" \n",

+      "#answer is given in the textbook=19.96 m\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "distance travelled by the beam is d= 20.0 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.10:pg-17"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate distance travelled by the particle \n",

+      "deltat0=2*10**-8 #proper half life to of the particle in (s) \n",

+      "c=3*10**8 #light speed (m/s)\n",

+      "v=0.96*c #speed of the particle (m/s)\n",

+      "deltat=(deltat0)/(math.sqrt(1-(v/c)**2)) #half life in the laboratory frame t in (s) \n",

+      "#t=deltat (flux of the beam falls to (1/2) times initial flux)\n",

+      "d=v*deltat #d=vt\n",

+      "print \"distance travelled by the particle in this time is d=\",d,\"m\"\n",

+      "#answer is given wrong in the textbook =20.45 m\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "distance travelled by the particle in this time is d= 20.5714285714 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.11:pg-18"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate speed\n",

+      "deltat0=1440 #proper time interval measured by an observer moving with the clock (min)\n",

+      "deltat=1444 #time interval measured by a stationary observer (min)\n",

+      "c=3*10**8 #light speed (m/s)\n",

+      "v=c*math.sqrt(1-(deltat0/deltat)**2)\n",

+      "print \" moving clock appears to lose 4min in 24 hours from the stationary observer is v=\",\"{:.1e}\".format(v),\"m/s\"\n",

+      "#answer is given wrong in the book =2.32*10**7 m/s\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        " moving clock appears to lose 4min in 24 hours from the stationary observer is v= 3.0e+08 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 33

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.12:pg-18"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate velocity of beta particle\n",

+      "c=3*10**8 #light velocity(m/s)\n",

+      "u1=0.9*c #velocity of the beta particle relative to the atom in the direction of motion\n",

+      "v=0.25*c #velocity of the radioactive atom relative to an experimenter\n",

+      "u=(u1+v)/(1+u1*v/c**2)  \n",

+      "print \" velocity of the beta particle as observed by the experimenter is u=\",\"{:.3e}\".format(u),\"m/s\"\n",

+      "#answer is given in terms of c in the book =0.94c\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        " velocity of the beta particle as observed by the experimenter is u= 2.816e+08 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 34

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.13:pg-18"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate velocity\n",

+      "c=3*10**8 # light velocity\n",

+      "v=0.75*c #speed of A\n",

+      "ux=-0.85*c #speed of B\n",

+      "ux1=(ux-v)/(1-ux*v/c**2)\n",

+      "print\"\\n the velocity of B with respect to A (m/s) is\",\"{:.3e}\".format(ux1),\"m/s\"\n",

+      "#answer is given in terms of c in the book=-0.9771c\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "\n",

+        " the velocity of B with respect to A (m/s) is -2.931e+08 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 36

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.14:pg-19"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate velocity in the laboratory frame\n",

+      "c=3*10**8 #light speed (m/s)\n",

+      "v=0.8*c #velocity relative to laboratory along positive direction of x-axis\n",

+      "#given that u'=3 i+4 j+12 k (m/s)\n",

+      "ux1=3 #in (m/s)\n",

+      "uy1=4 #in (m/s)\n",

+      "uz1=12 #in (m/s)\n",

+      "ux=(ux1+v)/(1+v*ux1/c**2)\n",

+      "uy=(uy1*math.sqrt(1-(v/c)**2))/(1+v*ux1/c**2)\n",

+      "uz=(uz1*math.sqrt(1-(v/c)**2))/(1+v*ux1/c**2)\n",

+      "print \"u=ux i+uy j+uz k\"\n",

+      "print \"where\"\n",

+      "print \"ux=\", \"{:.1e}\".format(ux),\"m/s\"\n",

+      "print \"uy=\",round(uy,1),\"m/s\"\n",

+      "print \"uz=\",round(uz,1),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "u=ux i+uy j+uz k\n",

+        "where\n",

+        "ux= 2.4e+08 m/s\n",

+        "uy= 2.4 m/s\n",

+        "uz= 7.2 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 41

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.17:pg-21"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "# to calculate velocity of the particle\n",

+      "c=3.0*10**8 #light speed (m/s)\n",

+      "v=0.4*c #velocity of frame s' relative to s along axis x\n",

+      "ux=0.8*c*(1.0/2) #component of velocity u(=0.8 c) of the particle along x axis ux=0.8 c cos60\n",

+      "uy=0.8*c*sin (math.pi/3) #component of the velocity u of the particle along y axis \n",

+      "ux1=(ux-v)/(1-ux*v/c**2)\n",

+      "uy1=uy*math.sqrt(1-(v/c)**2)/(1-(ux*v/c**2))\n",

+      "print \"resultant velocity as observed by a person in frame s1 is u1=ux1 i+uy1 j\"\n",

+      "print \"where\"\n",

+      "print \"ux1=\",ux1,\"m/s\"\n",

+      "print \"uy1=\",\"{:.1e}\".format(uy1),\"m/s\"\n",

+      "#answer is given in terms of c in the book i.e. uy1=0.756c m/s\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "resultant velocity as observed by a person in frame s1 is u1=ux1 i+uy1 j\n",

+        "where\n",

+        "ux1= 0.0 m/s\n",

+        "uy1= 2.3e+08 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 48

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.18:pg-25"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate mass, momentum,total energy,kinetic energy\n",

+      "c=3*10**8 #light speed (m/s)\n",

+      "v=c/sqrt (2) #velocity (m/s)\n",

+      "#let mo be the rest mass of the particle \n",

+      "#relativistic mass m of the particle is m=mo/math.sqrt(1-(v/c)**2)\n",

+      "m=1/sqrt (1-v**2/c**2) #in kg\n",

+      "print \"mass m=\",round(m,2),\" mo\"\n",

+      "#momentum p of the particle is p=mv\n",

+      "p=m*v #in kg-m/s\n",

+      "print \"momentum p=\",\"{:.1e}\".format(p),\" mo\"\n",

+      "#total energy E of the particle\n",

+      "E=m*c**2 #in J\n",

+      "print \"energy E=\",\"{:.3e}\".format(E,3),\" mo\"\n",

+      "#kinetic energy K=E-mo c**2\n",

+      "K=E-c**2 #in J\n",

+      "print \"kinetic energy K=\",\"{:.3e}\".format(K),\" mo\"\n",

+      "#answer is given in terms of m0 and c in the book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "mass m= 1.41  mo\n",

+        "momentum p= 3.0e+08  mo\n",

+        "energy E= 1.273e+17  mo\n",

+        "kinetic energy K= 3.728e+16  mo\n"

+       ]

+      }

+     ],

+     "prompt_number": 56

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.19:pg-26"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate velocity of the parcticle \n",

+      "c=3*10**8 #light speed(m/s)\n",

+      "# we know that E(energy)=mc**2\n",

+      "# mo=rest mass\n",

+      "#E=3 moc**2=mc**2 or m=3 mo (given that total energy of the particle is thrice its rest energy)  \n",

+      "m=3.0 # relativistic mass \n",

+      "#formula is v=c math.sqrt(1-(mo/m)**2)\n",

+      "v=math.sqrt(c**2*(1-(1/m)**2))\n",

+      "print \"velocity of the particle is v=\",\"{:.3e}\".format(v),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "velocity of the particle is v= 2.828e+08 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 57

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.20:pg-26"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate mass(m),speed(v) of an electron\n",

+      "K=1.5*10**6*1.6*10**-19 #kinetic energy(J)\n",

+      "m0=9.11*10**-31 #rest mass of an electron(kg)\n",

+      "c=3*10**8 # velocity of light in vacuum(m/s)\n",

+      "m=(K/c**2)+m0 #relativistic kinetic energy(k=(m-mo)c**2)\n",

+      "print \"mass is m=\",\"{:.2e}\".format(m),\"kg \"\n",

+      "v=c*math.sqrt(1-m0**2/m**2)\n",

+      "print \"speed of an electron is v=\",\"{:.1e}\".format(v),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "mass is m= 3.58e-30 kg \n",

+        "speed of an electron is v= 2.9e+08 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 59

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.21:pg-27"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate work to be done \n",

+      "E=0.5*10**6 #rest energy of electron (MeV) E=m0*c**2\n",

+      "v1=0.6*3*10**8 #speed of electron in (m/s)\n",

+      "v2=0.8*3*10**8\n",

+      "c=3.0*10**8 #speed of light in (m/s)\n",

+      "K1=E*((1.0/math.sqrt(1-v1**2/c**2))-1) #kinetic energy in (eV)\n",

+      "K2=E*((1.0/math.sqrt(1-v2**2/c**2))-1)\n",

+      "w=(K2-K1)*1.6*10**-19\n",

+      "print \"amount of work to be done is w=\",\"{:.1e}\".format(w),\"J\"\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "amount of work to be done is w= 3.3e-14 J\n"

+       ]

+      }

+     ],

+     "prompt_number": 64

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.22:pg-27"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate speed\n",

+      "c=3*10**8 #light speed (m/s)\n",

+      "m=2.25 #mass m of a body be 2.25 times its rest mass mo i.e. m=2.25m0\n",

+      "#formula is v=c math.sqrt(1-(m0/m)**2)\n",

+      "v=c*math.sqrt(1-(1/m)**2)\n",

+      "print \" speed is v=\",\"{:.3e}\".format(v),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        " speed is v= 2.687e+08 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 67

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.23:pg-27"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate speed of the rocket\n",

+      "m0=50.0 #weight of man on the earth(kg)\n",

+      "m=50.5 #weight of man in rocket ship (kg)\n",

+      "c=3*10**8 #speed of light(m/s)\n",

+      "v=c*math.sqrt(1-m0**2/m**2)\n",

+      "print \"speed of the rocket is v=\",\"{:.2e}\".format(v),\"m/s\" \n",

+      "#to calculate speed of electron\n",

+      "m0=9.11*10**-31 #mass of electron =rest mass of proton\n",

+      "m=1.67*10**-27\n",

+      "v=c*math.sqrt(1-m0**2/m**2)\n",

+      "print \"speed of an electron is v=\",\"{:.2e}\".format(v),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "speed of the rocket is v= 4.21e+07 m/s\n",

+        "speed of an electron is v= 3.00e+08 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 71

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.24:pg-28"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate velocity\n",

+      "c=3*10**8 #light speed (m/s)\n",

+      "#K(kinetic energy)=(m-mo(rest mass))c**2\n",

+      "#it can also be written as mc**2=K+m0c**2\n",

+      "#given that K=2m0c**2(rest mass energy)\n",

+      "#m=3m0\n",

+      "m=3.0 #relativistic mass\n",

+      "#formula is v=c math.sqrt(1-(m0/m)**2)\n",

+      "v=c*math.sqrt(1-(1/m)**2)\n",

+      "print \"velocity of a body is v=\",\"{:.3e}\".format(v),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "velocity of a body is v= 2.828e+08 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 73

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.25:pg-28"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate kinetic energy ,momentum of electron\n",

+      "m0=9.11*10**-31 #its rest mass (kg)\n",

+      "c=3*10**8 #light velocity in (m/s)\n",

+      "m=11*m0 #mass of moving electron is 11 times its rest mass\n",

+      "K=(m-m0)*c**2/(1.6*10**-19) # kinetic energy\n",

+      "print \"kinetic energy is K=\",\"{:.2e}\".format(K),\"eV\" \n",

+      "v=c*math.sqrt(1-(m0/m)**2) #velocity(m/s)\n",

+      "p=m*v #momentum\n",

+      "print \"momentum is p=\",\"{:.2e}\".format(p),\"kg m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "kinetic energy is K= 5.12e+06 eV\n",

+        "momentum is p= 2.99e-21 kg m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 74

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.26:pg-29\n",

+      " "

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate proton gain in mass\n",

+      "c=3*10**8 #light speed(m/s)\n",

+      "K=500*10**6*1.6*10**-19 #kinetic energy (J)\n",

+      "deltam=K/c**2\n",

+      "print \"proton gain in mass is delm=\",\"{:.2e}\".format(deltam),\"kg\"\n",

+      "#answer is given wrong in the book=8.89*10**28 kg\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        " proton gain in mass is delm= 8.89e-28 kg\n"

+       ]

+      }

+     ],

+     "prompt_number": 76

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex1.27:pg-29"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate speed of 0.1MeV electron\n",

+      "E=0.512*10**6 #rest mass energy E=m0*c**2\n",

+      "c=3*10**8 #velocity of light (m/s)\n",

+      "K=0.1*10**6 #kinetic energy (MeV)\n",

+      "v=c*math.sqrt(1-(E/(K+E))**2) \n",

+      "print \"speed of electron is v=\",\"{:.3e}\".format(v),\"m/s\" \n",

+      "#to calculate mass and speed of 2MeV electron\n",

+      "E=2*10**6*1.6*10**-19 #in (J)\n",

+      "m=E/c**2 \n",

+      "print \"mass is m=\",\"{:.2e}\".format(m),\"kg\"\n",

+      "m0=9.11*10**-31 #electron mass (kg)\n",

+      "v=c*math.sqrt(1-m0**2/m**2)\n",

+      "print \"speed is v=\",\"{:.2e}\".format(v),\"m/s\"\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "speed of electron is v= 1.643e+08 m/s\n",

+        "mass is m= 3.56e-30 kg\n",

+        "speed is v= 2.90e+08 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 78

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [],

+     "language": "python",

+     "metadata": {},

+     "outputs": []

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter10.ipynb b/Engineering_Physics/chapter10.ipynb
new file mode 100755
index 00000000..2fc444d1
--- /dev/null
+++ b/Engineering_Physics/chapter10.ipynb
@@ -0,0 +1,293 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:a79be9375f475037255b00d45fe0971e7606cfc4e70e2a086d7c77b20c6b87d7"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter10:MAGNETIC PROPERTIES OF MATERIALS"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex10.1:pg-288"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate permeability and susceptibility of the bar\n",

+      "phi=2.4*10**-5 #magnetic flux in weber\n",

+      "A=0.2*10**-4 #cross sectional area in m**2\n",

+      "B=phi/A #magnetic induction in N/Am\n",

+      "H=1200 #magnetising field in A/m\n",

+      "mu=B/H\n",

+      "print \"permeability is mu=\",\"{:.2e}\".format(mu),\"N/A**2\"\n",

+      "muo=4*math.pi*10**-7 \n",

+      "chim=(mu/muo)-1\n",

+      "print \"susceptibility is chim=\",round(chim,2),\"unitless\"\n",

+      "#the answer is given wrong in the book (round off error) chim=737\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "permeability is mu= 1.00e-03 N/A**2\n",

+        "susceptibility is chim= 794.77 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex10.2:pg-289"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate current should be sent through the solenoid\n",

+      "l=.10 #length in m\n",

+      "N=50 #number of turns\n",

+      "H=5*10**3 #magnetising field in A/m\n",

+      "i=H*l/N \n",

+      "print \"current is i=\",i,\"A\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "current is i= 10.0 A\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex10.3:pg-289"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate magnetic moment of the rod\n",

+      "#formula is B=muo*(H+I)\n",

+      "#where H=ni\n",

+      "n=500.0 #number of turns in turns/m\n",

+      "i=0.5 #current passed through the solenoid in A\n",

+      "mur=1200.0 #relative permeability\n",

+      "I=(mur-1)*n*i #intensity of magnetisation in A/m\n",

+      "V=10**-3 #volume in m**3\n",

+      "M=I*V\n",

+      "print \"the magnetic moment of the rod is M=\",round(M),\"A-m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the magnetic moment of the rod is M= 300.0 A-m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex10.4:pg-290"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate flux density,magnetic intensity,permeability of iron\n",

+      "phi=2.0*10**-6 #flux in the ring in weber\n",

+      "A=10**-4 #cross-sectional area in m**2\n",

+      "B=phi/A \n",

+      "print \"flux density is B=\",\"{:.2e}\".format(B),\"weber/m**2\"\n",

+      "N=200.0 #number of turns\n",

+      "i=0.30 #current flows in the windings in A\n",

+      "l=0.2 #length in m\n",

+      "H=N*i/l\n",

+      "print \"magnetic intensity is H=\",H,\"A-turn/m\"\n",

+      "mu=B/H\n",

+      "print \"permeability is mu=\",round(mu,6),\"weber/A-m\"\n",

+      "muo=4*math.pi*10**-7 \n",

+      "mur=mu/muo\n",

+      "print \"relative permeability is mur=\",round(mur,2),\"unitless\"\n",

+      "\n",

+      "#the answer for H in the book is wrong\n",

+      "#the answer for mu in book is wrong due to wrong H\n",

+      "#the answer in book for mur is wrong due to \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "flux density is B= 2.00e-02 weber/m**2\n",

+        "magnetic intensity is H= 300.0 A-turn/m\n",

+        "permeability is mu= 6.7e-05 weber/A-m\n",

+        "relative permeability is mur= 53.05 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex10.5:pg-294"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate number of ampere turns\n",

+      "l=0.5 #length in m\n",

+      "mu=6.5*10**-3 #permeability of iron in henry/m\n",

+      "A=2*10**-4 #area of cross-section in m**-4\n",

+      "R=l/(mu*A) #reluctance in A-turns/weber\n",

+      "flux=4*10**-4 #in weber\n",

+      "mmf=flux*R\n",

+      "print \"the number of ampere turns is mmf=\",round(mmf,1),\"ampere-turns\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the number of ampere turns is mmf= 153.8 ampere-turns\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex10.6:pg-294"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate relative permeability of the medium\n",

+      "phi=1.5*10**-3 #magnetic flux in weber\n",

+      "l=math.pi*50*10**-2 #length in m\n",

+      "A=10*10**-4 #area of cross-section\n",

+      "N=1000 #number of turns\n",

+      "i=5 #current in A\n",

+      "muo=4*math.pi*10**-7\n",

+      "#phi(magnetic flux)=m.m.f/reluctance\n",

+      "#phi=N*i*muo*mur*A/l\n",

+      "#we get,\n",

+      "mur=phi*l/(N*i*A*muo)\n",

+      "print \"relative permeability of the medium is mur=\",mur,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "relative permeability of the medium is mur= 375.0 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex10.7:pg-295"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate magnetising current\n",

+      "#formula is phi(magnetic flux)=m.m.f/reluctance\n",

+      "#phi=N*i*mu*A/l--------eq(1)\n",

+      "#phi=BA------------eq(2)\n",

+      "B=0.20 #magnetic flux density in weber/m**2\n",

+      "l=1 #average length of the circuit in m \n",

+      "N=100 #number of turns\n",

+      "mu=7.3*10**-3 #in h.m\n",

+      "#from eq(1)and eq(2),we get\n",

+      "i=B*l/(N*mu)\n",

+      "print \"magnetising current is i=\",round(i,3),\"A\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "magnetising current is i= 0.274 A\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter11.ipynb b/Engineering_Physics/chapter11.ipynb
new file mode 100755
index 00000000..ffad9cdd
--- /dev/null
+++ b/Engineering_Physics/chapter11.ipynb
@@ -0,0 +1,60 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:63e794f26755ea447faa48915f48af2a1824429b5991c82dc73f1b261af07c7e"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter11:ULTRASONICS"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex11.1:pg-303"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate fundemental frequency\n",

+      "Y=7.9*10**10 #Young modulus for quartz in Nm**-2\n",

+      "rho=2.65*10**3 #density of quartz in kg/m**3\n",

+      "#the velocity of longitudinal wave is given by\n",

+      "v=math.sqrt(Y/rho)  #in m/s\n",

+      "#for fundamental mode of vibration ,thickness is given by lamda/2\n",

+      "lamda=2*0.001 #wavelength in m\n",

+      "nu=v/lamda\n",

+      "print \"the fundamental frequency is nu=\",round(nu,2),\"Hz\"\n",

+      "#answer is given wrong in the book ,nu=2730 Hz\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the fundamental frequency is nu= 2729987.21 Hz\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter12.ipynb b/Engineering_Physics/chapter12.ipynb
new file mode 100755
index 00000000..35c30635
--- /dev/null
+++ b/Engineering_Physics/chapter12.ipynb
@@ -0,0 +1,550 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:024efb73c06fed2399cd64a4d2a669b874446e3757757251d146f1996aec28e9"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter12:ELECTROMAGNETICS"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.1:pg-322"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate electric flux\n",

+      "#electric flux through a surface is phi=vector(E)*vector(s)\n",

+      "#where vector E=2i+4j+7k,vector s=10j\n",

+      "E=4 #E=4j\n",

+      "s=10 #s=10j\n",

+      "phi=E*s\n",

+      "print \"electric flux is phi=\",phi,\"units\"\n",

+      "#to calculate flux coming out of any face of the cube\n",

+      "q=1          #charge in coulomb\n",

+      "epsilon0=8.85*10**-12             #permittivity in free space in coul**2/N-m**2\n",

+      "phi1=q/(6*epsilon0)\n",

+      "print \"flux coming out of any face of the cube is phi1=\",\"{:.2e}\".format(phi1),\"N-m**2/coul**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "electric flux is phi= 40 units\n",

+        "flux coming out of any face of the cube is phi1= 1.88e+10 N-m**2/coul**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.2:pg-322"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate electric field at a point from centre of the shell\n",

+      "q=0.2*10**-6 #charge\n",

+      "r=3 #radius\n",

+      "epsilon0=8.85*10**-12\n",

+      "E=q/(4*math.pi*epsilon0*r**2)\n",

+      "print \"electric field at a point from centre of the shell is E=\",round(E),\"N/coulomb\"\n",

+      "#to calculate electric field at a point just outside the shell\n",

+      "R=0.25 #radius\n",

+      "E=q/(4*math.pi*epsilon0*R**2)\n",

+      "print \"electric field at a point just outside the shell is E=\",\"{:.2e}\".format(E),\"N/coulomb\"\n",

+      "#to calculate the electric field at a point inside the shell\n",

+      "#when the point is situated inside the spherical shell,the electric field is zero\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "electric field at a point from centre of the shell is E= 200.0 N/coulomb\n",

+        "electric field at a point just outside the shell is E= 2.88e+04 N/coulomb\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.3:pg-323"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate electric field at a point on earth vertically below the wire\n",

+      "lamda=10**-4 #wavelength in coulomb/m\n",

+      "r=4 #radius in m\n",

+      "epsilon0=8.854*10**-12\n",

+      "E=2*lamda/(4*math.pi*epsilon0*r)\n",

+      "print \"electric field at a point on earth vertically below the wire is E=\",\"{:.1e}\".format(E),\"N/coulomb\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "electric field at a point on earth vertically below the wire is E= 4.5e+05 N/coulomb\n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.4:pg-323"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate separation between those equipotential surfaces \n",

+      "V=5 #potential difference\n",

+      "epsilon0=8.85*10**-12 #permittivity of free space\n",

+      "sigma=1*10**-7  #in c/m**2\n",

+      "#electric field due to an infinite sheet of surface charge density is given by E=sigma/(2*epsilon0)                  eq(1)\n",

+      "#E=V/d                    eq(2)\n",

+      "#from eq(1) and eq(2),we get  \n",

+      "d=(2*epsilon0*V)/sigma\n",

+      "print \"separation between those equipotential surfaces is d=\",\"{:.2e}\".format(d),\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "separation between those equipotential surfaces is d= 8.85e-04 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.5:pg-324"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate force per unit area\n",

+      "#force of attraction per unit area is given by F=(epsilon0*E**2)/2              eq(1)\n",

+      "#E=V/d                            eq(2)\n",

+      "epsilon0=8.85*10**-12 #permittivity  of free space\n",

+      "d=1*10**-3 #distance\n",

+      "V=100 #potential difference in volts\n",

+      "#from eq(1) and eq(2),we get\n",

+      "F=(epsilon0*V**2)/(2*d**2)\n",

+      "print \"force per unit area is F=\",\"{:.2e}\".format(F),\"N/m**2\"\n",

+      "#answer is given incorrect in the book ,F=4.425*10**-12\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "force per unit area is F= 4.42e-02 N/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.6:pg-324"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate charge\n",

+      "#let charge be q coulomb ,then the surface density of charge i.e. sigma=q/(4*math.pi*r**2)..............eq(1)\n",

+      "#outward pull per unit area =sigma**2/(2*epsilon0)............eq(2)\n",

+      "#put eq(1) in eq(2),we get q**2/(4*math.pi*r**2)**2*(2*epsilon0)..............eq(3)\n",

+      "#pressure due to surface tension =4*T/r............eq(4)\n",

+      "T=27\n",

+      "r=1.5*10**-2\n",

+      "epsilon0=8.85*10**-12\n",

+      "#equate eq(3) and eq(4),we get\n",

+      "q=math.sqrt(4*T*((4*math.pi*r**2)**2)*2*epsilon0/r)\n",

+      "print \"charge is q=\",\"{:.3e}\".format(q),\"coulomb\"\n",

+      "#answer is given wrong in the book,square of 4*math.pi*r**2 is not taken in the solution.\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "charge is q= 1.009e-06 coulomb\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.7:pg-325"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate increase in radius \n",

+      "q=4.8*10**-8         #charge in coulomb\n",

+      "r=10*10**-2 #radius in m\n",

+      "epsilon0=8.85*10**-12  #C**2/N-m**2\n",

+      "P=10**5 #N/m**2\n",

+      "dr=(q**2)/(96*((math.pi)**2)*(r**3)*epsilon0*P)\n",

+      "print \"increase in radius is dr=\",\"{:.2e}\".format(dr),\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "increase in radius is dr= 2.75e-09 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.8:pg-340"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#in page no.340,numbering is done wrongly,it should be like ex-8,ex-9,ex-10,ex-11,ex-12,ex-13,ex-14\n",

+      "import math\n",

+      "#to calculate average values of intensities of electric and magnetic fields of radiation\n",

+      "#energy of lamp=1000 J/s\n",

+      "#area illuminated =4*math.pi*r**2=16*math.pi m**2\n",

+      "#energy radiated per unit area per second =1000/16*math.pi\n",

+      "#from poynting theorem |s|=|E*H|=E*H           eq(1)\n",

+      "s=1000/(16*math.pi)\n",

+      "muo=4*math.pi*10**-7             #permeability of free space\n",

+      "epsilon0=8.85*10**-12              #permittivity in free space\n",

+      "#E/H=math.sqrt(muo/epsilon0)        eq(2)\n",

+      "#from eq(1) and eq(2),we get\n",

+      "E=math.sqrt(s*math.sqrt(muo/epsilon0))\n",

+      "H=s/E\n",

+      "print \"average value of intensity of electric fields of radiation is E=\",round(E,2),\"V/m\"\n",

+      "print \"average value of intensity of magnetic fields of radiation is H=\",round(H,2),\"ampere-turn/m\"\n",

+      "#answer is given wrong in the book E=48.87 V/m,solution of magnetic fields is not given in the book .\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "average value of intensity of electric fields of radiation is E= 86.58 V/m\n",

+        "average value of intensity of magnetic fields of radiation is H= 0.23 ampere-turn/m\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.9:pg-340"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate amplitudes of electric and magnetic fields of radiation\n",

+      "#energy received by an electromagnetic wave per sec per unit area is given by    poynting vector |s|=|E*H|=E*H*sin 90 (becoz E is perpendicular to H)\n",

+      "#it is given that energy received by earth's surface is\n",

+      "s=1400.0               #|s|=2 cal min**-1 cm**-2\n",

+      "muo=4.0*math.pi*10**-7 #permittivity of free space\n",

+      "epsilon0=8.85*10**-12 #permeability of free space\n",

+      "#E*H=1400                          eq(1)\n",

+      "#E/H=math.sqrt(muo/epsilon0)               eq(2)\n",

+      "#from eq(1) and eq(2) ,we get\n",

+      "E=math.sqrt(s*math.sqrt(muo/epsilon0))\n",

+      "#from eq(1) ,we get\n",

+      "H=1400.0/E\n",

+      "Eo=E*math.sqrt(2) # at distance 2 m\n",

+      "Ho=H*math.sqrt(2) # at distance 2 m\n",

+      "print \"amplitude of electric field is Eo=\",int(Eo),\"V/m\"\n",

+      "print \"amplitude of magnetic field is Ho=\",round(Ho,3),\"amp-turn/m\"\n",

+      "\n",

+      "# The answers in the textbook are slightly different due to approximation\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "amplitude of electric field is Eo= 1027 V/m\n",

+        "amplitude of magnetic field is Ho= 2.726 amp-turn/m\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.10:pg-341"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# no value to be found out , only equation to be written hence skipped following the TBC guidelines"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [],

+     "prompt_number": 29

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.11:pg-341"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate skin depth \n",

+      "f=10**8 #frequency\n",

+      "sigma=3*10.0**7 #conductivity of the medium\n",

+      "muo=4*math.pi*10**-7 #permeability of free space\n",

+      "Del=math.sqrt(2/(2*math.pi*f*sigma*muo))\n",

+      "print \"skin depth is Del=\",\"{:.1e}\".format(Del),\"cm\"\n",

+      "\n",

+      "# answer in book is wrong"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        " skin depth is Del= 9.2e-06 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.12:pg-341"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate frequency \n",

+      "muo=4*math.pi*10**-7            #permeability of free space\n",

+      "sigma=4.3  # in mhos/m\n",

+      "Del=0.1     #skin depth in m\n",

+      "f=2/(2*math.pi*muo*Del**2)\n",

+      "print \"frequency is f=\",\"{:.2e}\".format(f),\"Hz\"\n",

+      "#value of frequency is given incorrect in the book \n",

+      "#show that for frequencies less than 10**8 ,it can be considered as good conductor\n",

+      "epsilon=80*8.854*10**-12\n",

+      "f=10**8                                    #frequency in Hz\n",

+      "sigma=4.3\n",

+      "#formula is sigma/(omega*epsilon)>4.3/(2*math.pi*10**8*80*epsilon)\n",

+      "sigma1=sigma/(2*math.pi*f*epsilon)  #where sigma1=sigma/(omega*epsilon)\n",

+      "print \"sigma1=\",round(sigma1,2),\"unitless\"\n",

+      "#the ocean water to be good conductor ,the value of sigma/(omega*epsilon) should be greater than 1\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "frequency is f= 2.53e+07 Hz\n",

+        "sigma1= 9.66 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.13:pg-342"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to show that for frequency <10**9 Hz ,a sample of silicon will act like a good conductor\n",

+      "sigma=200 #in mhos/m\n",

+      "omega=2*math.pi*10**9 \n",

+      "epsilon0=8.85*10**-12              #permittivity in free space\n",

+      "epsilon=12*epsilon0 \n",

+      "sigma1=sigma/(omega*epsilon)         #sigma1=sigma/(omega*epsilon)\n",

+      "print \"sigma1=\",round(sigma1),\"unitless\"\n",

+      "#if sigma/(omega*epsilon) is greater than 1 , silicon is a good conductor at frequency <10**9 Hz\n",

+      "#to calculate penetration depth\n",

+      "f=10**6 #frequency in Hz\n",

+      "muo=4*math.pi*10**-7       #permeability of free space\n",

+      "sigma=200\n",

+      "Del=math.sqrt(2/(2*math.pi*f*muo*sigma))\n",

+      "print \"penetration depth is del=\",round(Del*100,1),\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "sigma1= 300.0 unitless\n",

+        "penetration depth is del= 3.6 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 25

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex12.14:pg-343"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate conduction current and displacement current densities \n",

+      "sigma=10**-3        #conductivity in mhos/m\n",

+      "E=4*10**-6        #where E=4*10**-6*math.sin(9*10**9t) v/m\n",

+      "J=sigma*E\n",

+      "print \"conduction current density is J=\",J,\"math.sin(9*10**9t)    A/m\"\n",

+      "epsilon0=8.85*10**-12            #permittivity in free space\n",

+      "epsilonr=2.45                    #relative permittivity\n",

+      "#formula is epsilon0*epsilonr*(delE/delt)\n",

+      "#delE/delt=4*10**-6*9*10**9*math.cos(9*10**9*t)\n",

+      "Jd=epsilon0*epsilonr*4*10**-6*9*10**9\n",

+      "print \"displacement current density is Jd=\",round(Jd,8),\"math.cos(9*10**9*t)  A/m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "conduction current density is J= 4e-09 math.sin(9*10**9t)    A/m\n",

+        "displacement current density is Jd= 7.8e-07 math.cos(9*10**9*t)  A/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 23

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter13.ipynb b/Engineering_Physics/chapter13.ipynb
new file mode 100755
index 00000000..5c4d543b
--- /dev/null
+++ b/Engineering_Physics/chapter13.ipynb
@@ -0,0 +1,101 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:54e553aa602b5b46f788e4b29d82727b714210cbc37d72a1b8625b974bd8b58b"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter13:SUPERCONDUCTIVITY"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "\n",

+      "Ex13.1:pg-357"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 1\n",

+      "#to calculate value of Temperature\n",

+      "import math\n",

+      "Bc=105.0*10**3 #magnetic field in amp/m\n",

+      "Bo=150.0*10**3 #critical field of the metal in amp/m \n",

+      "Tc=9.2 #critical temperature of the metal in K\n",

+      "T=Tc*math.sqrt(1-(Bc/Bo))#temperature\n",

+      "print\"\\n the value of temperature is\",round(T,3),\"K\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "\n",

+        " the value of temperature is 5.039 K\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex13.2:pg-357"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 2\n",

+      "#to calculate temperature\n",

+      "import math\n",

+      "Tc=7.18 #critical temperature in K\n",

+      "Bc=4.5*10**3  #critical field in A/m\n",

+      "Bo=6.5*10**3 #critical magnetic field in A/m\n",

+      "T=Tc*math.sqrt(1-(Bc/Bo))# temperature\n",

+      "print\"\\n the temperature is\",round(T,2),\"K\"\n",

+      "#to calculate critical current density at that temperature\n",

+      "r=1*10**-3 #diameter of the wire in mm\n",

+      "TJc=(Bc*2*math.pi*r)/(math.pi*r**2)# critical current density\n",

+      "print\"\\n the critical current density at that temperature is\",\"{:.1e}\".format(TJc),\"A/m^2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "\n",

+        " the temperature is 3.98 K\n",

+        "\n",

+        " the critical current density at that temperature is 9.0e+06 A/m^2\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter2.ipynb b/Engineering_Physics/chapter2.ipynb
new file mode 100755
index 00000000..8c10ecf8
--- /dev/null
+++ b/Engineering_Physics/chapter2.ipynb
@@ -0,0 +1,1113 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:2b54094513f6b50d68fe3b6c91cd7d7cafc36254b75abea2a0d6c88b266fd509"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter2:INTERFERENCE"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.2:pg-41"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate ratio of intensity\n",

+      "#I1/I2=1/25\n",

+      "#formula is a1/a2=math.sqrt(I1/I2)=1/5\n",

+      "a2=5 #a2=5*a1\n",

+      "a1=1\n",

+      "I=((1+5)**2)/((1-5)**2)\n",

+      "print \"ratio of intensity at the maxima and minima in the interference pattern is Imax/Imin=((a1+a2)**2)/((a1-a2)**2)=\",((a1+a2)**2)/((a1-a2)**2),\"unitless\"\n",

+      "#answer is given in terms of ratio\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "ratio of intensity at the maxima and minima in the interference pattern is Imax/Imin=((a1+a2)**2)/((a1-a2)**2)= 2 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.3:pg-42"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate ratio of intensity at this point to that at the centre of a bright fringe\n",

+      "#the intensity at any pont is I=a1**2+a2**2+2*a1*a2*cos del\n",

+      "#let a1=a2=a\n",

+      "#phase difference del is 0\n",

+      "#then I0=a**2+a**2+2*a*a*cos 0\n",

+      "#we get I0=4a**2\n",

+      "I0=4 #intensity\n",

+      "#path difference is lemda/8\n",

+      "#phase difference =2*math.pi/lemda*path difference=math.pi/4\n",

+      "#I1=a**2+a**2+2a*a*cos math.pi/4\n",

+      "#I1=3.414a**2\n",

+      "I1=3.414\n",

+      "intensity=I1/I0\n",

+      "print \" ratio of intensity =\",intensity,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        " ratio of intensity = 0.8535 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.4:pg-42"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate ratio of maximum intensity to minimum intensity\n",

+      "#formula is I1/I2=a1**2/a2**2=100/1\n",

+      "#a1/a2=10/1\n",

+      "a1=10  #a1=10*a2\n",

+      "a2=1\n",

+      "print \"the ratio of maximum intensity to minmum intensity in the interference pattern Imax/Imin=((a1+a2)**2)/((a1-a2)**2)=\",((a1+a2)**2)/((a1-a2)**2),\"unitless\" \n",

+      "#answer is given in terms of ratio in the book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the ratio of maximum intensity to minmum intensity in the interference pattern Imax/Imin=((a1+a2)**2)/((a1-a2)**2)= 1 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.5:pg-43"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate relative intensities\n",

+      "#Imax/Imin=(a1+a2)**2/(a1-a2)**2+105/95\n",

+      "#(a1+a2)/(a1-a2)=1.051\n",

+      "#we get a1/a2=40 \n",

+      "a1=40 #a1=40*a2\n",

+      "a2=1\n",

+      "print \"the ratio of the intensities of interfering sources is I1/I2=a1**2/a2**2=\",a1**2/a2**2,\"unitless\"\n",

+      "#answer is given in terms of ratio in the book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the ratio of the intensities of interfering sources is I1/I2=a1**2/a2**2= 1600 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.7:pg-52"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate distance between the two coherent sources\n",

+      "lamda=5890*10**-10 #wavelength in m\n",

+      "omega=9.424*10**-4 #width of the fringes in m\n",

+      "D=.80 #distance in m\n",

+      "twod=D*lamda/omega\n",

+      "print \"the distance between two coherent sources is twod=\",twod,\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the distance between two coherent sources is twod= 0.0005 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.8:pg-53"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate fringe width \n",

+      "mu=1.5 #refractive index (unitless)\n",

+      "alpha=math.pi/180 #refracting angle in radian\n",

+      "Y1=20*10**-2 #distance between the source and the biprism in m\n",

+      "Y2=80*10**-2 #distance in m\n",

+      "D=Y1+Y2 # distance in m\n",

+      "lamda=6900*10**-10 #wavelength in m\n",

+      "twod=2*(mu-1)*alpha*Y1 \n",

+      "omega=D*lamda/twod\n",

+      "print \"the fringe width is omega=\",round(omega,7),\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the fringe width is omega= 0.0001977 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.9:pg-53"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength of light\n",

+      "omega=(1.888*10**-2)/20 #in (m)\n",

+      "D=1.20 #distance of eye piece from the source in m\n",

+      "twod=0.00075 #distance between two virtual sources in m\n",

+      "lamda=(omega*twod/D)/(10e-11)\n",

+      "print \"the wavelength of light is lamda=\",lamda,\"Angstrom\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the wavelength of light is lamda= 5900.0 Angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 44

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.10:pg-54"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate thickness of glass plate\n",

+      "n=3\n",

+      "mu=1.5 #refractive index (unitless)\n",

+      "lamda=5450*10**-10 #wavelength in m\n",

+      "t=n*lamda/(mu-1)\n",

+      "print \"the thickness of glass plate is t=\",t,\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the thickness of glass plate is t= 3.27e-06 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.11:pg-54"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate refractive index of the sheet\n",

+      "t=6.3*10**-6 #thickness of thin sheet of transparent material in m\n",

+      "lamda=5460*10**-10 #wavelength in m\n",

+      "n=6\n",

+      "mu=(n*lamda/t)+1\n",

+      "print \"the refractive index of the sheet is mu=\",mu,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the refractive index of the sheet is mu= 1.52 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.12:pg-54"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate refractive index of mica\n",

+      "t=1.2*10**-8 #thickness of thin sheet of mica in m\n",

+      "n=1 \n",

+      "lamda=6*10**-7 #wavelength in m\n",

+      "mu=(n*lamda/t)+1\n",

+      "print \"the refractive index of mica is mu=\",mu,\"unitless\"\n",

+      "#answer is given wrong in the book=1.50\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the refractive index of mica is mu= 51.0 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.13:pg-54"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate intensity\n",

+      "mu=1.5 #refractive index(unitless)\n",

+      "t=1.5*10**-6 #thickness of thin glass plate in m\n",

+      "pathdifference=(mu-1)*t # in m\n",

+      "lamda=5*10**-7 #wavelength in m\n",

+      "#del=2*math.pi*pathdifference/lamda\n",

+      "#del=3*math.pi\n",

+      "a1=1\n",

+      "      #where a1=a2=a\n",

+      "a2=1\n",

+      "#formula is I=a1**2+a2**2+2*a1*a2*cos del\n",

+      "# where cos 3math.pi=-1\n",

+      "I=a1**2+a2**2+2*a1*a2*(-1) \n",

+      "print \"the intensity at the centre of the screen is I=\",I,\"unitless\" \n",

+      "#to calculate lateral shift\n",

+      "D=1 #distance in m\n",

+      "twod=5*10**-4 #distance between two slits in m\n",

+      "mu=1.5 #refractive index (unitless)\n",

+      "t=1.5*10**-6 #thickness of thin glass plate in m\n",

+      "x0=D*(mu-1)*t/twod\n",

+      "print \"the lateral shift of the central maximum is x0=\",x0,\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the intensity at the centre of the screen is I= 0 unitless\n",

+        "the lateral shift of the central maximum is x0= 0.0015 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.14:pg-55"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate spacing between the slits\n",

+      "lamda=6*10**-5 #wavelength in cm\n",

+      "omegatheta=0.1*math.pi/180 #angular width of a fringe in radians\n",

+      "twod=lamda/omegatheta\n",

+      "print \"the spacing between the slits is twod=\",\"{:.2e}\".format(twod),\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the spacing between the slits is twod= 3.44e-02 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.15:pg-55"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate distance of the third bright fringe on the screen from the central maximum \n",

+      "lamda=6.5*10**-5 #wavelength in cm\n",

+      "twod=0.2 #distance between the slits in cm\n",

+      "D=120 #distance between the plane of the slits and the screen in cm\n",

+      "n=3 \n",

+      "X3=D*n*lamda/twod\n",

+      "print \"the distance of the third bright fringe from the central maximum is X3=\",X3,\"cm\"\n",

+      "#to calculate the least distance from the central maximum \n",

+      "lamda1=6.5*10**-5 #wavelength in cm\n",

+      "lamda2=5.2*10**-5 #wavelength in cm\n",

+      "#Xn=Dnlamda1/2d=D(n+1)lamda2/2d\n",

+      "#we get,\n",

+      "n=lamda2/(lamda1-lamda2)\n",

+      "print \"n=\",n,\"unitless\"\n",

+      "Xn=D*n*lamda1/twod\n",

+      "print \"the distance from the central maximum when the bright fringes due to both wavelengths coincide is Xn=\",Xn,\"cm\"\n",

+      " \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the distance of the third bright fringe from the central maximum is X3= 0.117 cm\n",

+        "n= 4.0 unitless\n",

+        "the distance from the central maximum when the bright fringes due to both wavelengths coincide is Xn= 0.156 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.16:pg-56"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate refractive index \n",

+      "D=10 #distance in  cm\n",

+      "twod=0.2 #distance detween the slits in cm\n",

+      "t=0.05 #thickness of transparent plate in cm\n",

+      "deltaX=0.5 #in cm\n",

+      "mu=(deltaX*twod/(D*t))+1\n",

+      "print \"the refractive index of the transparent plate is mu=\",mu,\"unitless\"\n",

+      "#to calculate order\n",

+      "n=10 \n",

+      "lamda=7000*10**-8 #wavelength in cm\n",

+      "#path difference =n*lamda\n",

+      "n1=n*lamda/(5000*10**-8) \n",

+      "print \"the order will be visible is n1=\",n1,\"unitless\"\n",

+      "#to calculate distance between the two coherent sources\n",

+      "D=100 #distance in m \n",

+      "lamda=6000*10**-8 #wavelength in cm\n",

+      "omega=0.05 #distance between two consecutive bright fringes on the screen in cm\n",

+      "twod=D*lamda/omega\n",

+      "print \"the distance between the coherent sources is twod=\",twod,\"cm\"\n",

+      "#to calculate wavelength\n",

+      "Xn=1 #distance of fourth bright fringe from the central fringe in cm\n",

+      "twod=0.02 #distance between the two coherent sources in cm\n",

+      "n=4 \n",

+      "D=100 #distance in cm \n",

+      "lamda=Xn*twod/(n*D)\n",

+      "print \"the wavelength of light is lamda=\",lamda,\"cm\"\n",

+      "#to calculate wavelength\n",

+      "#position of nth bright fringe from the centre of the central fringe is Xn=D*n*lamda/2d----eq(1)\n",

+      "#fringe width umega=D*lamda/2d---------------------eq(2)\n",

+      "#from eq(1) and eq(2) we get, Xn=n*omega\n",

+      "#for 11th bright fringe X11=11*omega\n",

+      "#position for nth dark fringe Xn'=(2n+1)D*lamda/4d\n",

+      "#X4'=(7/2)*omega\n",

+      "#distance between 11th and 4th dark fringe =0.8835 cm\n",

+      "#we get  \n",

+      "omega=0.1178 #in cm\n",

+      "twod=0.05 #distance between slis in cm\n",

+      "D=100 # distance in cm\n",

+      "lamda=omega*twod/D \n",

+      "print \"the wavelength of light is lamda=\",lamda,\"cm\"\n",

+      "#to calculate changed fringe width\n",

+      "#X10-X0=10*omega\n",

+      "#given that X10-X0=14.73-12.34=2.39mm \n",

+      "omega=0.239 #in mm\n",

+      "lamda=6000 #wavelength in angstrom\n",

+      "lamda1=5000 #lamda'=5000 angstrom\n",

+      "omega1=omega*lamda1/lamda\n",

+      "print \"the changed fringe width is omega1=\",omega1,\"mm\"\n",

+      "#to calculate thickness of mica sheet\n",

+      "n=3\n",

+      "mu=1.6 #refractive index(unitless)\n",

+      "lamda=5.89*10**-5 #wavelength in cm\n",

+      "t=n*lamda/(mu-1)\n",

+      "print \"the thickness of mica sheet is t=\",t,\"cm\"\n",

+      "#answer of thickness is given wrong in the book =0.002945 cm\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the refractive index of the transparent plate is mu= 1.2 unitless\n",

+        "the order will be visible is n1= 14.0 unitless\n",

+        "the distance between the coherent sources is twod= 0.12 cm\n",

+        "the wavelength of light is lamda= 5e-05 cm\n",

+        "the wavelength of light is lamda= 5.89e-05 cm\n",

+        "the changed fringe width is omega1= 0.199166666667 mm\n",

+        "the thickness of mica sheet is t= 0.0002945 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.17:pg-75"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate the smallest thickness of the plate\n",

+      "mu=1.5 #refractive index(unitless)\n",

+      "r=60*math.pi/180 #angle of refraction in radians\n",

+      "lamda=5890*10**-10 #wavelength in m\n",

+      "n=1\n",

+      "#formula is t=n*lamda/(2*mu*cosr) where cosr=0.5\n",

+      "t=n*lamda/(2*mu*0.5)\n",

+      "print \"the smallest thickness of the plate which will appear dark by reflection is t=\",\"{:.3e}\".format(t),\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the smallest thickness of the plate which will appear dark by reflection is t= 3.927e-07 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.18:pg-75"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate least thickness of the film\n",

+      "lamda=5893*10**-10#wavelength in m\n",

+      "r=0 #in degree\n",

+      "mu=1.42 #refractive index\n",

+      "n=1\n",

+      "#the formula is t=n*lamda/(2*mu*cosr), where cos0=1\n",

+      "t=n*lamda/(2*mu*1)\n",

+      "print \"the least thickness of the film that will appear black is t=\",t,\"m\"\n",

+      "t=(2*n-1)*lamda/(2*mu*1*2)\n",

+      "print \"the least thickness of the film that will appear bright is t=\",t,\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the least thickness of the film that will appear black is t= 2.075e-07 m\n",

+        "the least thickness of the film that will appear bright is t= 1.0375e-07 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 20

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.19:pg-76"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate thickness of the film\n",

+      "lamda1=6.1*10**-7 #wavelength in m\n",

+      "lamda2=6*10**-7 # wavelength in m\n",

+      "#the two dark consecutive fringes are overlapping for the wavelength lamda1 and lamda2 respectively\n",

+      "#then, n*lamda1=(n+1)*lamda2\n",

+      "#we get,\n",

+      "n=lamda2/(lamda1-lamda2)\n",

+      "sini=4.0/5\n",

+      "mu=4.0/3\n",

+      "#formula is mu=sini/sinr\n",

+      "sinr=0.6\n",

+      "cosr=math.sqrt(1-(sinr)**2)\n",

+      "t=n*lamda1/(2*mu*cosr)\n",

+      "print \"the thickness of the film is t=\",\"{:.2e}\".format(t),\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the thickness of the film is t= 1.72e-05 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.20:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate thickness of the film\n",

+      "mu=1.33 #refractive index of soap film (unitless)\n",

+      "i=45*math.pi/180\n",

+      "#the formula is mu=sini/sinr \n",

+      "sinr=0.5317 \n",

+      "cosr=math.sqrt(1-(sinr)**2)\n",

+      "#for destructive interference\n",

+      "lamda=5890*10**-10 #wavelength in m\n",

+      "n=1\n",

+      "t=n*lamda/(2*mu*cosr)\n",

+      "print \"the thickness of the film is t=\",\"{:.3e}\".format(t),\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the thickness of the film is t= 2.614e-07 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.21:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate angle of the wedge\n",

+      "lamda=6000*10**-10 #wavelength in m\n",

+      "mu=1.4 #refractive index in unitless\n",

+      "omega=2*10.0**-3 #distance in m\n",

+      "theta=lamda/(2*mu*omega)\n",

+      "print \"the angle of the wedge is theta =\",\"{:.2e}\".format(theta),\"radians\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the angle of the wedge is theta = 1.07e-04 radians\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.22:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength of light \n",

+      "theta=10*22.0/(7*60*60*180.0) #angle of wedge in radians\n",

+      "omega=5*10.0**-2 #distance between the successive fringes in m\n",

+      "mu=1.4 #refractive index\n",

+      "lamda=2.0*mu*theta*omega/(10e-10)\n",

+      "print \"the wavelength of light is lamda=\",round(lamda),\"Angstrom\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the wavelength of light is lamda= 6790.0 Angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 23

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.23:pg-78"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength of the light\n",

+      "D15=0.590*10**-2 #diamater of 15th ring in m\n",

+      "D5=0.336*10**-2 #diameter of 5th ring in m\n",

+      "p=1 # in m\n",

+      "R=1 #radius of plano convex lens in m\n",

+      "#formula is lamda=Dn+p**2-Dn**2/4pR\n",

+      "lamda=((D15**2)-(D5**2))/(4*p*R)/(10e-10)\n",

+      "print \"the wavelength of the monochromatic light is lamda=\",int(lamda),\"Angstrom\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the wavelength of the monochromatic light is lamda= 5880 Angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.24:pg-78"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate refractive index of the liquid\n",

+      "n=6\n",

+      "lamda=6000*10**-10 #wavelength in m\n",

+      "R=1 #radius of curvature of the curved surface in m\n",

+      "Dn=3.1*10**-3 #diameter of 6th bright ring in m\n",

+      "mu=2*(2*n-1)*lamda*R/Dn**2\n",

+      "print \"the refractive index of the liquid is mu=\",round(mu,3),\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the refractive index of the liquid is mu= 1.374 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 28

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.25:pg-78"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate radius of curvature\n",

+      "lamda=5900*10**-10 #wavelength in m\n",

+      "n=10\n",

+      "Dn=5*10**-3 # diameter of 10th dark ring in m\n",

+      "R=Dn**2/(4*n*lamda)\n",

+      "print \"the radius of curvature of the lens is R=\",round(R,3),\"m\"\n",

+      "#to calculate thichness\n",

+      "t=n*lamda/2\n",

+      "print \"the thickness of the air film is t=\",t,\"m\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the radius of curvature of the lens is R= 1.059 m\n",

+        "the thickness of the air film is t= 2.95e-06 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.26:pg-79"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate the distance from the apex of the wedge at which the maximum due to the two wavelengths first coincide\n",

+      "#condition for maxima for normal incidence air film is 2t=(2n+1)lamda/2\n",

+      "#let nth order maximum due to lamda1 coincides with (n+1)th order maximum due to lamda2 \n",

+      "#we get , n=(3lamda2-lamda1)/2(lamda1-lamda2)\n",

+      "# we also get, 2t=lamda1*lamda2/(lamda1-lamda2)\n",

+      "#t=X*theta\n",

+      "lamda1=5896.0*10**-8 #wavelength in cm\n",

+      "lamda2=5890.0*10**-8 #wavelength in cm\n",

+      "theta=0.3*math.pi/180 #angle of wedge\n",

+      "X=lamda1*lamda2/(2*(lamda1-lamda2)*theta)\n",

+      "print \"the distance from the apex of the wedge is X=\",round(X,3),\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the distance from the apex of the wedge is X= 5.527 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.27:pg-80"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate radius of curvature \n",

+      "n=10.0\n",

+      "Dn=0.50 #diameter of 10th ring in cm\n",

+      "lamda=6000*10**-8 #wavelength in cm\n",

+      "R=Dn**2/(4*n*lamda)\n",

+      "print \"the radius of curvature of the lens is R=\",R,\"cm\"\n",

+      "#answer is given wrong in the book =106 cm\n",

+      "#to calculate thickness of the film\n",

+      "t=Dn**2/(8*R)\n",

+      "print \"the thickness of the film is t=\",\"{:.1e}\".format(t),\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the radius of curvature of the lens is R= 104.166666667 cm\n",

+        "the thickness of the film is t= 3.0e-04 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 19

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.28:pg-80"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate diameter\n",

+      "#the difference of (n+p)th and nth dark ring is Dn+p**2-Dn**2=4nRlamda\n",

+      "N=12 #where N=n+p\n",

+      "n=4\n",

+      "D12=0.7 #diameter of 12th dark ring in cm\n",

+      "D4=0.4 #diameter of 4th dark ring in cm\n",

+      "#D12**2-D4**2=4pRlamda where p=8 ----eq(1)\n",

+      "#D20**2-D4**2=4pRlamda where p=16 -----eq(2)\n",

+      "#divide eq(2) by eq(1) ,we get\n",

+      "D20=math.sqrt((2*D12**2)-D4**2)\n",

+      "print \"the diameter of 20th dark ring is D20=\",round(D20,2),\"cm\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the diameter of 20th dark ring is D20= 0.91 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 21

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.29:pg-80"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate diameter \n",

+      "lamda1=6*10**-5 #wavelength in cm\n",

+      "lamda2=4.5*10**-5 #wavelength in cm\n",

+      "R=90 #radius of curvature of the curved surface in cm\n",

+      "#Dn**2=4nRlamda1 -------eq(1)\n",

+      "#Dn+1**2=4(n+1)Rlamda2-------eq(2)\n",

+      "#the nth dark ring due to lamda1 coincides with (n+1)th dark ring due to lamda2\n",

+      "#from eq(1) and eq(2)-4nRlamda1=4(n+1)Rlamda2\n",

+      "# we get,\n",

+      "n=lamda2/(lamda1-lamda2)\n",

+      "Dn=math.sqrt(4*n*R*lamda1)\n",

+      "print \"the diameter of nth dark ring for lamda1 is Dn=\",round(Dn,3),\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the diameter of nth dark ring for lamda1 is Dn= 0.255 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 22

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.30:pg-81"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate the difference of square of diameters for nth and (n+p)th ring when light of wavelength lamda is changed to lamda'\n",

+      "lamda=6*10**-5 #wavelength in cm\n",

+      "lamda1=4.5*10**-5 #wavelength in cm\n",

+      "#Let D=(D**2-Dn**2)=0.125 cm**2 \n",

+      "D=0.125\n",

+      "#formula is D'(n+p)**2-D'n**2=lamda'*(D(n+p)**2-Dn**2)/lamda\n",

+      "print \"the difference of square of diameters is D1(n+p)**2-D1n**2=(lamda1*D)/lamda=\",(lamda1*D)/lamda,\"cm**2\"\n",

+      "#to calculate difference of square of diamaters when liqquid of refractive index mu' is introduced\n",

+      "mu=1 #refractive index (unitless)\n",

+      "mu1=1.33 # mu'=1.33\n",

+      "#formula is D'(n+p)**2-D'n**2=(mu/mu')*(D(n+p)**2-Dn**2)\n",

+      "print \"the difference of square of diameters is D1(n+p)**2-D1n**2=(mu*D)/mu1=\",round((mu*D)/mu1,3),\"cm**2\"\n",

+      "#to calculate difference of square of diameters when radius of curvature of convex surface of the plano convex lens is doubled\n",

+      "R1=2 #radius of curvature is R'=2R\n",

+      "R=1\n",

+      "#formula is D'(n+p)**2-D'n**2=(R'/R)*(D(n+p)**2-Dn**2)\n",

+      "print \"the difference of square of diameters is D1(n+p)**2-D1n**2=(R1*D)/R=\",round((R1*D)/R,2),\"cm**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the difference of square of diameters is D1(n+p)**2-D1n**2=(lamda1*D)/lamda= 0.09375 cm**2\n",

+        "the difference of square of diameters is D1(n+p)**2-D1n**2=(mu*D)/mu1= 0.094 cm**2\n",

+        "the difference of square of diameters is D1(n+p)**2-D1n**2=(R1*D)/R= 0.25 cm**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 27

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter3.ipynb b/Engineering_Physics/chapter3.ipynb
new file mode 100755
index 00000000..1c763114
--- /dev/null
+++ b/Engineering_Physics/chapter3.ipynb
@@ -0,0 +1,1365 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:f8c5b92f0cb0a1787021af8dd46e58ab42d75991e4d7ba39c4a4693a16608b3e"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter3:DIFFRACTION"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.1:pg-97"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate angular width and linear width \n",

+      "lamda=6*10**-5\n",

+      "e=0.01 #width of slit in cm\n",

+      "#position of minima is given by\n",

+      "sintheta=lamda/e               #sintheta=m*lamda/e             ,where m=1,2,3,......\n",

+      "print \"sintheta=\",sintheta,\" m\"\n",

+      "#since theta is very small,so sintheta is approximately equal to theta\n",

+      "theta=sintheta\n",

+      "theta1=2*theta\n",

+      "print \"total angular width of central maximum is theta1=\",theta1,\" m radians \"\n",

+      "d=100  #distance in cm\n",

+      "Y=theta*d\n",

+      "Y1=2*Y\n",

+      "print \"linear width of central maximum on the screen is Y1=\",Y1,\" m cm\"\n",

+      "print \"values of m =1,2,3,............ gives the directions of first, second .............minima\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "sintheta= 0.006  m\n",

+        "total angular width of central maximum is theta1= 0.012  m radians \n",

+        "linear width of central maximum on the screen is Y1= 1.2  m cm\n",

+        "values of m =1,2,3,............ gives the directions of first, second .............minima\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.2:pg-97"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength of light\n",

+      "#in a diffraction pattern due to single slit, minima is given by e*sintheta=m*lamda\n",

+      "#since theta is very small, sintheta is approximately equal to theta\n",

+      "#theta=Y/d\n",

+      "e=0.014 #width of slit in cm\n",

+      "d=200 #distance in cm\n",

+      "m=2 \n",

+      "Y=1.6 #in cm\n",

+      "lamda=Y*e/(d*m)\n",

+      "print \"wavelength of light is lamda=\",lamda,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of light is lamda= 5.6e-05 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.3:pg-98"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate width of slit\n",

+      "#direction of minima in fraunhofer diffraction due to single slit is given by math.pi/lamda*e*siuntheta=+m*math.pi,where m=1,2,3\n",

+      "#angular spread of the central maximum on either side of the incident light is sintheta=lamda/e,where m=1,position of first minima\n",

+      "lamda=5000*10**-8\n",

+      "e=lamda/math.sin(math.pi/6)\n",

+      "print \"width of slit is e=\",e,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "width of slit is e= 0.0001 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.4:pg-98"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength of incident light\n",

+      "#direction of minima is given by e*sintheta=+m*lamda\n",

+      "#for first minima m=1,i.e. e*sintheta=lamda,sintheta is approximately equal to theta,then we can write it as e*theta=lamda ...........eq(1)\n",

+      "#theta=Y/d........................eq(2) \n",

+      "e=0.02 #in cm\n",

+      "Y=0.5        #position of first minima from the central maxima in cm\n",

+      "d=200           #distance of screen from the slit in cm\n",

+      "#from eq(1) and eq(2),we get\n",

+      "lamda=e*Y/d\n",

+      "print \"wavelength of incident light is lamda=\",lamda,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of incident light is lamda= 5e-05 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.6:pg-99"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate values of lamda1 and lamda2\n",

+      "#in fraunhofer diffraction pattern ,the direction of minima is given by e*sintheta=+m*lamda,where m=1,2,.......\n",

+      "#direction of fourth minima (m=4) for wavelength lamda1 is given by e*sintheta1=4*lamda1..........eq(1)\n",

+      "#similarly, e*sintheta2=5*lamda2..........eq(2)\n",

+      "#from eq(1) and eq(2),we get e*sintheta=4*lamda1=5*lamda2....eq(3)\n",

+      "y=0.5            #in cm\n",

+      "f=100             #in cm\n",

+      "theta=y/f                 #in radian\n",

+      "sintheta=theta #theta is very small\n",

+      "e=0.05       #width of slit in cm\n",

+      "lamda1=e*sintheta/4\n",

+      "print \"lamda1=\",lamda1,\"cm\"\n",

+      "#from eq(3) we get,\n",

+      "lamda2=4*lamda1/5\n",

+      "print \"lamda2=\",lamda2,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "lamda1= 6.25e-05 cm\n",

+        "lamda2= 5e-05 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.7:pg-100"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate half angular width \n",

+      "e=1.2*10**-4            #width of slit in cm\n",

+      "y=6*10**-5      #wavelength of monochromatic light in cm\n",

+      "theta=y/e\n",

+      "print \"half angular width of central bright maxima is theta=\",theta,\"radian\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "half angular width of central bright maxima is theta= 0.5 radian\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.8:pg-100"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate angle\n",

+      "lamda=6000.0*10**-8      #wavelength of light in cm\n",

+      "e=0.03       #width of slit in cm\n",

+      "#e*sintheta=m*lamda,where m=1\n",

+      "theta=math.degrees(math.asin(lamda/e)) \n",

+      "print \"angle at which the first dark band are formed in the fraunhofer diffraction pattern is theta=\",round(theta,4),\"degree\"\n",

+      "theta1=math.degrees(math.sin(3*lamda/(2*e)))\n",

+      "print \"angle at which the next bright band are formed in the fraunhofer diffraction pattern is theta1=\",round(theta1,4),\"degree\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "angle at which the first dark band are formed in the fraunhofer diffraction pattern is theta= 0.1146 degree\n",

+        "angle at which the next bright band are formed in the fraunhofer diffraction pattern is theta1= 0.1719 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.9:pg-101"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate distances of first dark band and of next bright band on either side of the central maximum\n",

+      "#formula is e*sintheta=m*lamda,where m=1\n",

+      "lamda=5890.0*10**-8     #wavelength of light in cm\n",

+      "e=0.03 #width of slit in cm\n",

+      "sintheta=lamda/e \n",

+      "theta=sintheta #becoz theta is very small,so sintheta is approximately equal to theta\n",

+      "f=50.0\n",

+      "y=f*theta\n",

+      "print \"linear distance of first minimum from the central maximum is y=\",y,\"cm\"\n",

+      "sintheta1=3*lamda/(2*e)\n",

+      "theta1=sintheta1\n",

+      "y1=f*theta1\n",

+      "print \"linear distance of first secondary maxima is y1=\",y1,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "linear distance of first minimum from the central maximum is y= 0.0981666666667 cm\n",

+        "linear distance of first secondary maxima is y1= 0.14725 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.10:pg-105"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength of light and missing orders\n",

+      "omega=0.25  #fringe width in cm\n",

+      "D=170 #distance in cm\n",

+      "twod=0.04 # distance in cm\n",

+      "lamda=omega*twod/D\n",

+      "print \"wavelength of light is lamda=\",lamda,\"cm\"\n",

+      "e=0.08 #width of slit in mm\n",

+      "d=0.4 #in mm\n",

+      "m=1\n",

+      "n=m*(e+d)/e \n",

+      "print \"missing order is n=\",n,\"unitless\"\n",

+      "#we can also find order for m=2,3,....\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of light is lamda= 5.88235294118e-05 cm\n",

+        "missing order is n= 6.0 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.11:pg-112"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength\n",

+      "n=2.0 #order of spectrum\n",

+      "theta=math.pi/6 #in radians\n",

+      "E=1.0/5000 #let (e+d)=E\n",

+      "lamda=E*math.sin(math.pi/6)/n\n",

+      "print \"the wavelength of the spectral line is lamda=\",lamda,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the wavelength of the spectral line is lamda= 5e-05 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.12:pg-112"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate difference in deviations \n",

+      "lamda=5*10**-5    #wavelength of light in cm\n",

+      "eplusd=1/6000.0         #where eplusd=e+d\n",

+      "theta1=math.degrees(math.asin(lamda/eplusd))   #for first order spectrum\n",

+      "theta3=math.degrees(math.asin(3*lamda/eplusd)) #for second order spectrum\n",

+      "difference=theta3-theta1\n",

+      "print \"difference in deviations in first and third order spectra is difference =\",round(difference,1),\"degree\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "difference in deviations in first and third order spectra is difference = 46.7 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.13:pg-112"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate orders\n",

+      "#let E=(e+d) \n",

+      "#formula is (e+d)*sin thita=n*lamda\n",

+      "#for maximum order to be possible thita=90 degree\n",

+      "#sin theta=1\n",

+      "E=2.54/2620 #in cm\n",

+      "lamda=5*10**-5 #wavelength of the incident light in cm\n",

+      "n=E/lamda\n",

+      "print \"the orders will be visible is n=\",n,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the orders will be visible is n= 19.3893129771 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.14:pg-113"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate number of lines in the grating\n",

+      "#theta1=theta2=30 degree\n",

+      "#sin theta1=sin theta2=1/2\n",

+      "lamda1=6*10**-5 \n",

+      "                      #wavelength in cm\n",

+      "lamda2=4.5*10**-5\n",

+      "#let (e+d)=E \n",

+      "#formula is (e+d)*sin theta1=n*lamda1----------eq(1)\n",

+      "#(e+d)*sin theta2=(n+1)*lamda2----------eq(2)\n",

+      "#we get,\n",

+      "n=lamda2/(lamda1-lamda2)  #order of spectrum\n",

+      "E=n*lamda1/math.sin(math.pi/6)\n",

+      "number=1/E\n",

+      "print \"number of lines is number=\",number,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "number of lines is number= 2777.77777778 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 19

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.15:pg-113"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate order when visible light of wavelength in the range 4000 to 7500 angstrom\n",

+      "#let E=(e+d)\n",

+      "E=1.0/4000 #in cm\n",

+      "lamda1=4*10**-5 \n",

+      "                        #wavelength in cm\n",

+      "lamda2=7.5*10**-5\n",

+      "n1=E*math.sin(math.pi/2)/lamda1\n",

+      "n2=E*math.sin(math.pi/2)/lamda2\n",

+      "print \"order when wavelength of 4000 angstrom is n1=\",n1,\"unitless\"\n",

+      "print \"order when wavelength of 7500 angstrom is n2=\",n2,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "order when wavelength of 4000 angstrom is n1= 6.25 unitless\n",

+        "order when wavelength of 7500 angstrom is n2= 3.33333333333 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 21

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.17:pg-114"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate angle of diffraction \n",

+      "n=1 #order\n",

+      "lamda=5000*10**-8             #wavelength of light in cm\n",

+      "eplusd=1/5000.0      # in cm\n",

+      "theta=math.degrees(math.asin(n*lamda/(eplusd)))\n",

+      "minu=(theta-int(theta))*60 # minute\n",

+      "print \"angle of diffraction for maximum intensity in the first order is theta=\",int(theta),\"degree\",round(minu),\"minutes\" \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "angle of diffraction for maximum intensity in the first order is theta= 14 degree 29.0 minutes\n"

+       ]

+      }

+     ],

+     "prompt_number": 21

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.18:pg-115"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate number of lines in one centimeter of the grating\n",

+      "#let E=(e+d)\n",

+      "#formula for grating equation for principal maxima is (e+d)*sin theta=n*lamda\n",

+      "n=2 #order of spectrum\n",

+      "lamda=5*10**-5 #wavelength in cm\n",

+      "E=n*lamda/math.sin(math.pi/6)\n",

+      "number=1/E\n",

+      "print \"number of lines is number=\",number,\"unitless\"\n",

+      "#answer is given wrong in the book ,number of lines=1000\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "number of lines is number= 5000.0 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 23

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.19:pg-115"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate which spectral line in 5th order will overlap with 4th order line of 5890 angstrom\n",

+      "#the grating equation for principal maxima is (e+d)*sin theta =n*lamda\n",

+      "n1=5 \n",

+      "                #order of spectrum \n",

+      "n2=4\n",

+      "lamda2=5890*10**-8 #wavelength of 4th order spectrum in cm\n",

+      "#(e+d)*sin theta=5*lamda-------------eq(1)\n",

+      "#(e+d)*sin theta=4*5890*10**-8-----------------eq(2)\n",

+      "#from eq(1) and eq(2) ,we get\n",

+      "lamda1=n2*lamda2/n1\n",

+      "print \"wavelength of 5th order spectrum is lamda1=\",lamda1,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of 5th order spectrum is lamda1= 4.712e-05 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 24

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.20:pg-115"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate grating element\n",

+      "#grating equation for principal maxima is given by (e+d)*sintheta=n*lamda\n",

+      "#let nth order spectrum for yellow line (lamda=6000 angstrom) coincide with (n+1)th order spectrum for blue line (lamda=4800 angstrom) \n",

+      "#(e+d)*sintheta=n*6000*10**-8..eq(1)\n",

+      "#(e+d)*sintheta=(n+1)*4800*10**-8.....eq(2)\n",

+      "#from eq(1) and eq(2),we get n=4\n",

+      "n=4\n",

+      "lamda=6000*10**-8      #wavelength in cm\n",

+      "sintheta=3.0/4   \n",

+      "eplusd=n*lamda/sintheta\n",

+      "print \"grating element is eplusd=\",eplusd,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "grating element is eplusd= 0.00032 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 26

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.21:pg-116"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate angle of diffraction for third order spectrum and absent spectra if any\n",

+      "n=3\n",

+      "lamda=6000*10**-8\n",

+      "eplusd=1/200.0\n",

+      "theta=math.degrees(math.asin(n*lamda/eplusd))\n",

+      "minu=(theta-int(theta))*60 # minute\n",

+      "print \"angle of refraction is theta=\",int(theta),\"degree\",round(minu),\"minutes\"\n",

+      "d=0.0025\n",

+      "e=eplusd-d #width of wire in cm\n",

+      "m=1\n",

+      "n=eplusd*m/e\n",

+      "print \"order of absent spectrum is n=\",n,\"unitless\"\n",

+      "print \"here,m=1 is considered because the higher values of m result the order of absent spectrum more than the given order 3\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "angle of refraction is theta= 2 degree 4.0 minutes\n",

+        "order of absent spectrum is n= 2.0 unitless\n",

+        "here,m=1 is considered because the higher values of m result the order of absent spectrum more than the given order 3\n"

+       ]

+      }

+     ],

+     "prompt_number": 24

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.22:pg-116"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate difference in the two wavelengths\n",

+      "#grating equation for principal maxima is (e+d)*sintheta=n*lamda...............eq(1)\n",

+      "#differentiate both sides ,we get dtheta=n*dlamda/((e+d)*costheta)...........eq(2)\n",

+      "lamda=5000           #mean value of wavelengths in angstrom\n",

+      "cottheta=1.732       #cot30degree=1.732\n",

+      "dtheta=0.01 #in radian\n",

+      "#put the value of n from eq(2),we can write eq(2)  \n",

+      "dlamda=lamda*dtheta*cottheta\n",

+      "print \"difference in two wavelengths is dlamda=\",dlamda,\"angstrom\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "difference in two wavelengths is dlamda= 86.6 angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.23:pg-117"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate dispersive power \n",

+      "#differentiate grating equation ,we get dtheta/dlamda=n/((e+d)*costheta)\n",

+      "n=2 #order \n",

+      "eplusd=1/4000.0\n",

+      "lamda=5000.0*10**-8 #wavelength in cm\n",

+      "sintheta=n*lamda/(eplusd)\n",

+      "costheta=math.sqrt(1-(sintheta)**2)\n",

+      "dtheta=n/((eplusd)*costheta)   #where dispersive power dtheta/dlamda=dtheta\n",

+      "print \"dispersive power of  grating in the second order spectrum is dtheta=\",int(dtheta),\"unitless\"\n",

+      "\n",

+      "# answer is slightly different due to approximation\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "dispersive power of  grating in the second order spectrum is dtheta= 8728 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 27

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.24:pg-117"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate orders\n",

+      "eplusd=1/4000.0\n",

+      "lamda1=5*10.0**-5 #wavelengh in cm\n",

+      "lamda2=7.5*10**-5\n",

+      "nmax1=eplusd/lamda1\n",

+      "nmax2=eplusd/lamda2\n",

+      "print \"orders will be observed by a grating ,if it is illuminated by light of wavelength of 5000 angstrom is nmax1=\",nmax1,\"unitless \"\n",

+      "print \"orders will be observed ,if it is illuminated by light of wavelength of 7500 angstrom is nmax2=\",round(nmax2,1),\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "orders will be observed by a grating ,if it is illuminated by light of wavelength of 5000 angstrom is nmax1= 5.0 unitless \n",

+        "orders will be observed ,if it is illuminated by light of wavelength of 7500 angstrom is nmax2= 3.3 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 30

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.25:pg-118"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate difference in wavelengths of two lines\n",

+      "#let E=(e+d)=1/5000\n",

+      "#we get\n",

+      "E=2*10**-4 #in cm\n",

+      "n=2 #order of spectrum\n",

+      "lamda=5893*10**-8 #wavelength in cm\n",

+      "#dtheta=2.5'=(2.5/60)*(3.14/180),we get\n",

+      "dtheta=7.27*10**-4 #in radian\n",

+      "dlamda=math.sqrt(((E/n)**2)-lamda**2)*dtheta\n",

+      "print \"the difference in wavelengths of two lines is dlamda=\",dlamda,\"cm\" \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the difference in wavelengths of two lines is dlamda= 5.87353693335e-08 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.26:pg-123"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate aperture of the objective of a telescope\n",

+      "lamda=6*10**-5 #wavelength of light in cm\n",

+      "dtheta=4.88*10**-6 # in radians\n",

+      "a=1.22*lamda/dtheta\n",

+      "print \"the aperture of the objective of a telescope is a=\",a,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the aperture of the objective of a telescope is a= 15.0 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.27:pg-123"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate separation of two points on the moon\n",

+      "lamda=5.5*10**-5 #wavelength of light in cm\n",

+      "a=500 #diameter in cm\n",

+      "dtheta=1.22*lamda/a #limit of resolution of telescope in radians\n",

+      "R=3.8*10**8 #distance between earth and moon in m\n",

+      "X=R*dtheta\n",

+      "print \"the separation of two points on the moon is X=\",X,\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the separation of two points on the moon is X= 50.996 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.28:pg-124"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate numerical aperture of the objective\n",

+      "lamda=5.461*10**-5 #wavelength in cm\n",

+      "S=5.55*10**-5 #distance in cm\n",

+      "NA=1.22*lamda/(2*S)\n",

+      "print \"the numerical aperture of the objective is NA=\",NA,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the numerical aperture of the objective is NA= 0.600218018018 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.29:pg-124"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate resolving power of microscope\n",

+      "NA=0.12 #numerical aperture\n",

+      "lamda=6*10**-5 #wavelength of light in cm\n",

+      "RP=2*NA/lamda #RP=resolving power\n",

+      "print \"the resolving power of microscope is RP=\",RP,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the resolving power of microscope is RP= 4000.0 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.30:pg-124"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate maximum resolving power\n",

+      "lamda=5*10**-5 #wavelength of light in cm\n",

+      "N=40000 #total number of lines on grating\n",

+      "#(e+d)=12.5*10**-5 cm\n",

+      "#formula is nmax=(e+d)/lamda\n",

+      "#we get\n",

+      "nmax=2 #order of spectrum\n",

+      "RP=nmax*N #RP=resolving power\n",

+      "print \"the maximum resolving power is RP=\",RP,\"unitless\" \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the maximum resolving power is RP= 80000 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.31:pg-124"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate minimum number of lines in a grating\n",

+      "lamda1=5890 \n",

+      "             #wavelengh in angstrom\n",

+      "lamda2=5896\n",

+      "dlamda=6 #smallest wavelength difference in angstrom\n",

+      "n=2 #order of spectrum \n",

+      "lamda=(lamda1+lamda2)/2 #average wavelength in angstrom\n",

+      "RP=lamda/dlamda #RP=resolving power\n",

+      "N=RP/n\n",

+      "print \"minimum number of lines in a grating is N=\",N,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "minimum number of lines in a grating is N= 491 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.32:pg-125"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#will the telescope be able to observe the wiremesh\n",

+      "a=3 #aperture in cm\n",

+      "lamda=5.5*10**-5 #wavelength of light in cm\n",

+      "#limit of resolution of telescope is given by\n",

+      "theta=1.22*lamda/a\n",

+      "#alpha=spacing of wire-mesh/distance of objective from wire-mesh\n",

+      "alpha=0.2/(80*10**2)\n",

+      "print \"theta=\",theta,\"radian\"\n",

+      "print \"alpha=\",alpha,\"radian\"\n",

+      "print \"if alpha>theta then telescope will be able to observe the wire-mesh\"\n",

+      "#value of alpha is given wrong in the book 2.25*10**-5 radian\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "theta= 2.23666666667e-05 radian\n",

+        "alpha= 2.5e-05 radian\n",

+        "if alpha>theta then telescope will be able to observe the wire-mesh\n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.33:pg-125"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#distance between the centres of  images of two stars\n",

+      "lamda=5500*10**-8         #wavelength of light in cm\n",

+      "f=4*10**2              #focal length of telescope objective in cm\n",

+      "a=0.01*10**2         #diameter in cm\n",

+      "X=1.22*lamda*f/a\n",

+      "print \"distance between the centres of images of two stars is X=\",X,\"cm \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "distance between the centres of images of two stars is X= 0.02684 cm \n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.34:pg-126"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate diameter of a telescope \n",

+      "lamda=5.0*10**-5 #wavelength in cm\n",

+      "theta=(math.pi/180)*(1.0/1000) #in radians\n",

+      "a=1.22*lamda/theta\n",

+      "print \"the diameter of a telescope is a=\",a,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the diameter of a telescope is a= 3.4950425503 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.35:pg-126"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate smallest angle between two stars\n",

+      "lamda=5*10**-5 #wavelength in cm\n",

+      "a=100*2.54 #diameter in cm\n",

+      "theta=1.22*lamda/a\n",

+      "print \"the smallest angle between two stars is thita=\",theta,\"radians\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the smallest angle between two stars is thita= 2.40157480315e-07 radians\n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.36:pg-126"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate limit of resolution of the telescope\n",

+      "lamda=5890*10**-8 #wavelength in cm\n",

+      "a=1 #diameter in cm\n",

+      "theta=1.22*lamda/a\n",

+      "print \"the limit of resolution of the telescope is theta=\",theta,\"radians \"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the limit of resolution of the telescope is theta= 7.1858e-05 radians \n"

+       ]

+      }

+     ],

+     "prompt_number": 21

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.37:pg-126"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate resolving limit of microscope\n",

+      "lamda=5.5*10**-5 #wavelengh in cm\n",

+      "theta=math.pi/6 #in radians\n",

+      "s=1.22*lamda/(2*math.sin(math.pi/6))\n",

+      "print \"resolving limit of microscope is s=\",s,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "resolving limit of microscope is s= 6.71e-05 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 20

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.38:pg-127"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate resolving power of grating \n",

+      "N=15000 #total number of lines on grating\n",

+      "lamda=6*10**-5 #wavelength in cm\n",

+      "n=2 #order of spectrum\n",

+      "RP=n*N\n",

+      "print \"resolving power is RP =\",RP,\"unitless\"\n",

+      "#to calculate smallest wavelength difference that can be resolved with a light of wavelength 6000angstrom in the second order\n",

+      "dlamda=lamda/(n*N)\n",

+      "print \"smallest wavelength difference dlamda=\",dlamda,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "resolving power is RP = 30000 unitless\n",

+        "smallest wavelength difference dlamda= 2e-09 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 19

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.39:pg-127"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate resolving power in the second order\n",

+      "N=6*10**4 #N=total number of lines on grating\n",

+      "n=2 #order of spectrum\n",

+      "RP=n*N #RP=resoling power\n",

+      "print \"the resolving power is RP=\",RP,\"unitless\"\n",

+      "#to calculate smallest wavelength\n",

+      "lamda=6000*10**-8 #wavelength in cm\n",

+      "n=3 #order of spectrum\n",

+      "dlamda=lamda/(n*N)\n",

+      "print \"smallest wavelength that can be resolved in the third order in 6000angstrom wavelength region is dlamda=\",dlamda,\"cm\" \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the resolving power is RP= 120000 unitless\n",

+        "smallest wavelength that can be resolved in the third order in 6000angstrom wavelength region is dlamda= 3.33333333333e-10 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter4.ipynb b/Engineering_Physics/chapter4.ipynb
new file mode 100755
index 00000000..3e350b0f
--- /dev/null
+++ b/Engineering_Physics/chapter4.ipynb
@@ -0,0 +1,541 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:7c369c2593aa95d4aac8153f9063553bb327aa743223d1fff41c98aa45d77ebe"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter4:POLARISATION"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.1:pg-147"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "# compare the intensities of ordinary and extraordinary rays\n",

+      "#intensity of ordinary rays is given by Io=a**2 *(sin theta)**2\n",

+      "#where theta=30 degree\n",

+      "#we get Io=a**2/4\n",

+      "Io=1.0/4\n",

+      "#intensity of extraordinary ray is given by IE=(a*cos theta)**2\n",

+      "#we get IE=3*a**2/4\n",

+      "IE=3.0/4\n",

+      "I=IE/Io\n",

+      "print \"the intensities of ordinary and extraordinary rays is I=\",I,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the intensities of ordinary and extraordinary rays is I= 3.0 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.2:pg-147"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate angle of refraction\n",

+      "#according to brewster's law  mu=tan ip\n",

+      "mu=1.732   #refractive index\n",

+      "ip=math.degrees(math.atan(mu))   #polarising angle in degree\n",

+      "r=90-ip\n",

+      "print \"angle of refraction of ray is r=\",round(r),\"degree\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "angle of refraction of ray is r= 30.0 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.3:pg-147"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate polarising angle and angle of refraction\n",

+      "mu=1.345    #refractive index, mu=1/sinc=1/sin48degree=1/0.7431 \n",

+      "ip=math.degrees(math.atan(mu))\n",

+      "r=90-ip\n",

+      "print \"polarising angle is ip=\",round(ip,3),\"degree\"\n",

+      "print \"angle of refraction is r=\",round(r,3),\"degree\" \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "polarising angle is ip= 53.369 degree\n",

+        "angle of refraction is r= 36.631 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.4:pg-147"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate thickness of a half wave plate of quartz\n",

+      "lamda=5*10**-5 #wavelength in cm\n",

+      "mue=1.553 \n",

+      "            #refractive index (unitless)\n",

+      "muo=1.544\n",

+      "#for a half plate of positive crystal\n",

+      "t=lamda/(2*(mue-muo))\n",

+      "print \"thickness of a half wave plate of quartz is t=\",\"{:.2e}\".format(t),\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "thickness of a half wave plate of quartz is t= 2.78e-03 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.5:pg-148"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate thickness of quarter wave plate\n",

+      "lamda=5.890*10**-5 #wavelength of light in cm\n",

+      "mue=1.553\n",

+      "              #refractive index\n",

+      "muo=1.544\n",

+      "t=lamda/(4*(mue-muo)) \n",

+      "print \"thickness of quarter wave plate is t=\",\"{:.3e}\".format(t),\"cm\" \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "thickness of quarter wave plate is t= 1.636e-03 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.6:pg-148"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate thickness of a doubly refracting plate\n",

+      "lamda=5.890*10**-5 #wavelength in cm\n",

+      "muo=1.53 \n",

+      "               #refractive index\n",

+      "mue=1.54\n",

+      "t=lamda/(4*(mue-muo))\n",

+      "print \"thickness of a plate is t=\",\"{:.2e}\".format(t),\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "thickness of a plate is t= 1.47e-03 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.7:pg-152"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate angle of rotation\n",

+      "alpha=66 #specific rotation of cane sugar in degree\n",

+      "c=15.0/100 #concentration of the solution in gm/cc\n",

+      "l=20 #length of tube in cm\n",

+      "theta=alpha*l*c/10\n",

+      "print \"the angle of rotation of the plane of polarisation is theta=\",theta,\"degree\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the angle of rotation of the plane of polarisation is theta= 19.8 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.8:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate specific rotation \n",

+      "theta=26.4 #in degree\n",

+      "l=20 #length in cm\n",

+      "c=0.2 #gm/cm**3\n",

+      "alpha=10*theta/(l*c)\n",

+      "print \"the specific rotation is alpha=\",alpha,\"degree\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the specific rotation is alpha= 66.0 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.9:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate strength of solution\n",

+      "theta=11 #degree\n",

+      "l=20.0 #length in cm\n",

+      "alpha=66 #specific rotation of sugar in degree\n",

+      "c=10*theta/(l*alpha)\n",

+      "print \"strength of solution is c=\",round(c,4),\"gm/cm**3\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "strength of solution is c= 0.0833 gm/cm**3\n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.10:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate difference in the refractive indices\n",

+      "#specific rotation is theta/d=29.73 degree/mm\n",

+      "theta=29.73 #where theta=theta/d\n",

+      "lamda=5.086*10**-4 #wavelength in mm\n",

+      "#optical rotation is given by theta=math.pi*d*(mul-mur)/lamda\n",

+      "#where mul and mur are refractive indices for anti-clockwise and clockwise polarised lights\n",

+      "mu=theta*lamda/180 #where mu=mul-mur\n",

+      "print \"difference in refractive indices is mu=\",\"{:.1e}\".format(mu),\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "difference in refractive indices is mu= 8.4e-05 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.11:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate optical rotation\n",

+      "#let theta' be the optical rotation by a solution of strength c' in a tube of length l' then\n",

+      "#we get 10*theta'/l'*c'=10*theta/l*c\n",

+      "c=1.0/3 #it is given that solution is 1/3 of its previous concentration i.e. c'/c=1/3,where c=c'/c\n",

+      "l1=30  #where l1=l'\n",

+      "           #length in cm \n",

+      "l=20.0\n",

+      "theta=13 #degree\n",

+      "#formula is theta'=l'*c'*theta/(l*c)\n",

+      "theta1=l1*c*theta/l\n",

+      "print \"optical rotation is theta1=\",theta1,\"degree\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "optical rotation is theta1= 6.5 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.12:pg-154"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate specific rotation\n",

+      "theta=52.8 #optical rotation in degree\n",

+      "l=20.0 #length of the solution in cm\n",

+      "c=20/50.0 #concentration of the solution in gm/cc\n",

+      "alpha=10*theta/(l*c)\n",

+      "print \"the specific rotation is alpha=\",alpha,\"degree\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the specific rotation is alpha= 66.0 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.13:pg-154"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate length \n",

+      "l=40 #length in cm\n",

+      "c=5.0/100 #concentration in percentage\n",

+      "theta1=35 #optical rotation in degree ,where theta1=theta'\n",

+      "c1=10.0/100 #concentration in % ,where c1=c'\n",

+      "theta=20\n",

+      "#formula of specific rotation is alpha=10*theta/l*c\n",

+      "l1=l*c*theta1/(c1*theta)\n",

+      "print \"length is l1=\",l1,\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "length is l1= 35.0 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.14:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate rotation of plane of polarisation of light\n",

+      "mur=1.53914\n",

+      "                #refractive index\n",

+      "mul=1.53920\n",

+      "lamda=6.5*10**-5 #wavelength in cm\n",

+      "d=0.02 #distance in cm\n",

+      "thetaR=180*(mul-mur)*d/lamda\n",

+      "print \"rotation of plane of polarisation of light is thetaR=\",round(thetaR,3),\"degree\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "rotation of plane of polarisation of light is thetaR= 3.323 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.15:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate % purity of the sugar sample\n",

+      "theta=9.9 #optical rotation in degree\n",

+      "alpha=66 #specific roation of pure sugar solution in dm**-1(gm/cc)**-1\n",

+      "l=20 #length of tube in cm\n",

+      "c=10*theta/(l*alpha) #concentration of solution in gm/c.c\n",

+      "#it is given that 80 gm of impure sugar is dissolved in a litre of water\n",

+      "per=(c*100*10**3)/80 #here c is in gm/litre\n",

+      "print \"percentage of the sugar sample is per=\",per,\"%\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "percentage of the sugar sample is per= 93.75 %\n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter5.ipynb b/Engineering_Physics/chapter5.ipynb
new file mode 100755
index 00000000..bf9aee93
--- /dev/null
+++ b/Engineering_Physics/chapter5.ipynb
@@ -0,0 +1,177 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:141e2987b2be679ae1fc9e807cf81c12805438f836d3be09701fc88866bf9bb5"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter5:LASERS"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.1:pg-164"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate area of the spot on the moon\n",

+      "lamda=6*10**-7 #wavelength in m\n",

+      "d=2 #diameter in m\n",

+      "dtheta=lamda/d #angular spread in radian\n",

+      "D=4*10**8 #distance of the moon\n",

+      "A=(D*dtheta)**2\n",

+      "print \"the areal spread is A=\",\"{:.2e}\".format(A),\"m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the areal spread is A= 1.44e+04 m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.2:pg-164"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate angular spread of the beam\n",

+      "lamda=8*10**-7 #wavelength in m\n",

+      "d=5*10**-3 #aperture in m\n",

+      "dtheta=lamda/d \n",

+      "print \"the angular spread of the beam is dtheta=\",\"{:.1e}\".format(dtheta),\"radian\"\n",

+      "#to calculate the areal spread when it reaches the moon\n",

+      "D=4*10**8 #distance of the moon in m\n",

+      "A=(D*dtheta)**2\n",

+      "print \"the areal spread is A=\",\"{:.3e}\".format(A),\"m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the angular spread of the beam is dtheta= 1.6e-04 radian\n",

+        "the areal spread is A= 4.096e+09 m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.3:pg-165"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate number of oscillations corresponding to the coherence length\n",

+      "L=2.945*10**-2 #coherence length in m\n",

+      "lamda=5890*10**-10 #wavelength of sodium light in m\n",

+      "n=L/lamda\n",

+      "print \"the number of oscillations is n=\",\"{:.1e}\".format(n),\"unitless\"\n",

+      "#to calculate coherence time\n",

+      "c=3*10**8 #light speed in m\n",

+      "Time=L/c #coherence time\n",

+      "print \"the coherence Time=\",\"{:.2e}\".format(Time),\"s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the number of oscillations is n= 5.0e+04 unitless\n",

+        "the coherence Time= 9.82e-11 s\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.4:pg-165"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate area and intensity of the image\n",

+      "lamda=7200*10**-10 #wavelength in m\n",

+      "d=5*10**-3 #aperture in m\n",

+      "dtheta=lamda/d #angular spread in radian \n",

+      "f=0.1 #focal length in m\n",

+      "arealspread=(dtheta*f)**2\n",

+      "print \"areal spread =\",\"{:.3e}\".format(arealspread),\"m**2\"\n",

+      "power=50*10**-3\n",

+      "I=power/arealspread\n",

+      "print \"intensity of the image is I=\",\"{:.3e}\".format(I),\"watts/m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "areal spread = 2.074e-10 m**2\n",

+        "intensity of the image is I= 2.411e+08 watts/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [],

+     "language": "python",

+     "metadata": {},

+     "outputs": []

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter6.ipynb b/Engineering_Physics/chapter6.ipynb
new file mode 100755
index 00000000..26000b31
--- /dev/null
+++ b/Engineering_Physics/chapter6.ipynb
@@ -0,0 +1,230 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:7bd6880823e892a54fce1336eeffd037b53706d16df72c924dbe7c27da815476"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter6:FIBER OPTICS AND HOLOGRAPHY"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex6.1:pg-189"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate critical angle for core-cladding interface\n",

+      "n1=1.5\n",

+      "n2=1.45\n",

+      "thetac=math.degrees(math.asin(n2/n1))\n",

+      "theta1=90-thetac\n",

+      "\n",

+      "print \"critical angle for core-cladding interface is theta1=\",round(theta1),\"degree\"\n",

+      "#to calculate acceptance angle in air for fibre and corresponding angle of obliquences\n",

+      "na=1\n",

+      "thetaa=math.degrees(math.asin(n1*0.26/na))\n",

+      "\n",

+      "print \"acceptance angle thetaa=\",round(thetaa),\"degree\"\n",

+      "#to calculate numerical aperture\n",

+      "NA=((n1+n2)*(n1-n2))**(1/2.0)\n",

+      "print \"numerical aperture of fibre is NA=\",round(NA,4),\"unitless\"\n",

+      "#to calculate % of light\n",

+      "per=(NA)**2*100\n",

+      "print \"light collected is per=\",round(per,2),\"%\"\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "critical angle for core-cladding interface is theta1= 15.0 degree\n",

+        "acceptance angle thetaa= 23.0 degree\n",

+        "numerical aperture of fibre is NA= 0.3841 unitless\n",

+        "light collected is per= 14.75 %\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex6.2:pg-190"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate numerical aperture\n",

+      "Del=0.02 #relative refractive index difference between the core and the cladding of the fibre i.e. del=(n1-n2)/n1\n",

+      "n1=1.46      #refractive index of core of W-step index fibre \n",

+      "n2=n1-Del*n1\n",

+      "NA=((n1+n2)*(n1-n2))**(1/2.0)\n",

+      "print \"numerical aperture is NA=\",round(NA,2),\"unitless\"\n",

+      "#to calculate critical angle at the core cladding interface within the fibre\n",

+      "thetac=math.degrees(math.asin(n2/n1))\n",

+      "print \"thetac=\",int(thetac),\"degree\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "numerical aperture is NA= 0.29 unitless\n",

+        "thetac= 78 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex6.3:pg-190"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate refractive index of the cladding\n",

+      "a=35.0*10**-6 #core diameter in micrometre\n",

+      "#formula is del=(n1-n2)/n1\n",

+      "#we get\n",

+      "Del=1.5/100 \n",

+      "n1=1.46 #refractive index of the fibre \n",

+      "lamda=0.85*10**-6 #wavelength in micrometer\n",

+      "n2=n1-Del*n1\n",

+      "print \"refractive index is n2=\",round(n2,3),\"unitless\"\n",

+      "#to calculate normalised frequency V number of the fibre\n",

+      "V=round((2*math.pi*a*n1*0.173)/lamda,1)\n",

+      "print \"normalised frequency V number of the fibre is V=\",V,\"unitless\"\n",

+      "#to calculate total number of guided modes in the fibre\n",

+      "M=(V**2)/2.0\n",

+      "print \"total number of guided modes in the fibre is M=\",int(M),\"modes\"\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "refractive index is n2= 1.438 unitless\n",

+        "normalised frequency V number of the fibre is V= 65.3 unitless\n",

+        "total number of guided modes in the fibre is M= 2132 modes\n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex6.4:pg-191"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate cut-off wavelength of the fibre\n",

+      "#(2*del)**(1/2)=(2*(n1-n2)/n1)**(1/2)=(0.005)**(1/2)=0.071\n",

+      "a=5*10**-6 #radius in micrometre\n",

+      "n1=1.46 #core refractive index in micrometre\n",

+      "Vc=2.405 #cut-off value of V parametre for single mode operation\n",

+      "#formula is LAMBDAc=(2*math.pi*a*n1*(2*del)**(1/2))/Vc \n",

+      "lamdac=(2*math.pi*a*n1*0.071)/Vc\n",

+      "print \"cut-off wavelength is LAMBDAc=\",round(lamdac/1e-6,2),\"micrometre\"\n",

+      "\n",

+      "# answer is slightly different due to approximation in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "cut-off wavelength is LAMBDAc= 1.35 micrometre\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex6.5:pg-191"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate maximum and minimum value of phase constant\n",

+      "lamda=0.8*10**-6 #wavelength in micrometre\n",

+      "n1=1.6*10**-6 \n",

+      "                   #refractive indices in micrometre\n",

+      "n2=1.44*10**-6\n",

+      "maximum=(2*math.pi*n1)/lamda\n",

+      "minimum=(2*math.pi*n2)/lamda\n",

+      "print \"maximum value of phase constant is maximum=\",round(maximum,3),\"radian/micrometre\"\n",

+      "print \"minimum value of phase constant is minimum=\",round(minimum,2),\"radian/micrometre\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "maximum value of phase constant is maximum= 12.566 radian/micrometre\n",

+        "minimum value of phase constant is minimum= 11.31 radian/micrometre\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter7.ipynb b/Engineering_Physics/chapter7.ipynb
new file mode 100755
index 00000000..b30ad5a1
--- /dev/null
+++ b/Engineering_Physics/chapter7.ipynb
@@ -0,0 +1,912 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:43ad060be6803a5e6c90770bf46ae3612188f9380f800bb70a03161cb97405cb"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Chapter7:WAVE MECHANICS"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.1:pg-200"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate de Broglie wavelength \n",

+      "v=1.5*10**7 #velocity of proton =(1/20)*velocity of light i.e.3*10**8 in m/s\n",

+      "m=1.67*10**-27 #mass of the proton in kg\n",

+      "h=6.6*10**-34 #plank's constant \n",

+      "lamda=h/(m*v)\n",

+      "print \"the de Broglie wavelength is lamda=\",\"{:.3e}\".format(lamda),\"m\" \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the de Broglie wavelength is lamda= 2.635e-14 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.2:pg-200"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate de Broglie wavelength\n",

+      "#mo*c**2=1.507*10**-10/1.6*10**-19=941.87 Mev\n",

+      "#since 12.8 Mev is very small compared to rest mass energy hence relavistic consideration may be ignored\n",

+      "m=1.67*10**-27 #mass in kg\n",

+      "h=6.62*10**-34 #plank's constant\n",

+      "E=12.8*10**6 #energy in Mev\n",

+      "lamda=h/math.sqrt(2*m*E*1.6*10**-19)/(1e-10)\n",

+      "print \"the de Broglie wavelength is lamda=\",round(lamda,5),\"angstrom\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the de Broglie wavelength is lamda= 8e-05 angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.4:pg-201"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength\n",

+      "h=6.6*10**-34 #plank's constant\n",

+      "m=9.1*10**-31 #mass of electron in kg\n",

+      "E=1.25*10**3 #pottential difference keV\n",

+      "lamda=h/math.sqrt(2*m*E*1.6*10**-19)\n",

+      "print \"the wavelength is lamda=\",\"{:.2e}\".format(lamda),\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the wavelength is lamda= 3.46e-11 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5:pg-201"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate kinetic energy of an electron \n",

+      "h=6.63*10**-34 #plank's constant\n",

+      "mo=9.1*10**-31 #rest mass of an electron in kg\n",

+      "lamda=5896*10**-10  #wavelength in angstrom\n",

+      "K=(h**2)/(2*mo*(lamda**2)*1.6*10**-19) \n",

+      "print \"kinetic energy of an electron is K=\",\"{:.2e}\".format(K),\"eV\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "kinetic energy of an electron is K= 4.34e-06 eV\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.6:pg-202"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate the wavelength of an electron of kinetic energy\n",

+      "mo=9.1*10**-31 #mass of an electron in kg\n",

+      "c=3*10**8 #speed of light in m/s \n",

+      "K=1*10**6#kinetic energy in eV\n",

+      "h=6.62*10**-34 #planck's constant in J-s\n",

+      "#E=moc**2=81.9*10**-15/1.6*10**-19 eV=0.51MeV\n",

+      "E=0.51*10**6\n",

+      "lamda=(h*c)/(math.sqrt(K*(K+2*E))*1.6*10**-19)\n",

+      "print \"wavelength of an electron of kinetic energy is lamda=\",round(lamda,14),\"m\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of an electron of kinetic energy is lamda= 8.7e-13 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.7:pg-203"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate de Broglie wavelength\n",

+      "V=100 #potential difference in volts\n",

+      "lamda=12.25/math.sqrt(V)\n",

+      "print \"de Broglie wavelength of any electron is lamda=\",lamda,\"angstrom\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "de Broglie wavelength of any electron is lamda= 1.225 angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.9:pg-203"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate energy of the neutron\n",

+      "h=6.60*10**-34 #plank's constant in J/s\n",

+      "m=1.674*10**-27 #mass of the neutron in kg\n",

+      "lamda=10**-10 #de Broglie wavelength in m\n",

+      "E=(h**2)/(2*m*(lamda**2)*1.6*10**-19)\n",

+      "print \"energy of the neutron is E=\",\"{:.2e}\".format(E),\"eV\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "energy of the neutron is E= 8.13e-02 eV\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.10:pg-204"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength\n",

+      "h=6.6*10**-34 #plank's constant in J/sec\n",

+      "m=9.1*10**-31 #mass of electron in kg\n",

+      "c=3*10**8 #light speed in m/s\n",

+      "lamda=h/(m*c)/(1e-10) # in angstrom\n",

+      "print \"wavelength of quantum of radiant energy is lamda=\",round(lamda,4),\"angstrom\"\n",

+      "#to calculate number of photons \n",

+      "power=12 #power emitted by the lamp =150*(8/100) in watts\n",

+      "E=12.0 #energy emitted per second\n",

+      "lamda=4500*10.0**-10\n",

+      "energy=(h*c)/lamda #energy contained in one photon in J\n",

+      "number=E/energy\n",

+      "print \"number of photons emitted per sec is number=\",round(number,-16),\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of quantum of radiant energy is lamda= 0.0242 angstrom\n",

+        "number of photons emitted per sec is number= 2.727e+19 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 22

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.11:pg-209"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate uncertainity in position\n",

+      "#actual formula is (delx)min*(delp)max=h/2*math.pi-------------eq(1)\n",

+      "#(delp)max=p(momentum of the electron)\n",

+      "#mv=mov/math.sqrt(1-(v/c)**2)---------------------eq(2)\n",

+      "mo=9*10**-31 #mass of an electron in m/s\n",

+      "c=3*10**8 #light speed in m/s\n",

+      "v=3*10**7 #velocity in m/s  \n",

+      "h=6.6*10**-34 #plank's constant in J/s\n",

+      "#from eq(1) and eq(2),we get\n",

+      "delxmin=(h*math.sqrt(1-(v/c)**2))/(2*math.pi*mo*v)\n",

+      "print \"smallest possible uncertainity in the position of an electron is delxmin=\",round(delxmin/1e-10,4),\"angstrom\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "smallest possible uncertainity in the position of an electron is delxmin= 0.0389 angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.12:pg-209"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate minimum uncertainity in the velocity\n",

+      "delxmax=10**-8 #maximum uncertainity in position in m\n",

+      "h=6.626*10**-34 #planck's constant\n",

+      "delpmin=h/(2*math.pi*delxmax) #minimum uncertainity in momentum in kg-m/s**2 \n",

+      "m=9*10**-31 #mass of an electron in kg\n",

+      "delvmin=delpmin/m\n",

+      "print \"minimum uncertainity in the velocity is delvmin=\",\"{:.2e}\".format(delvmin),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "minimum uncertainity in the velocity is delvmin= 1.17e+04 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.13:pg-209"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate uncertainity in the momentum of the parcticle \n",

+      "h=6.626*10**-34 #planck's constant J-s\n",

+      "delx=0.01*10**-2 #uncertainity in position in m\n",

+      "delp=h/(2*math.pi*delx)\n",

+      "print \"uncertainity in the momentum of the parcticle is delp=\",\"{:.2e}\".format(delp),\"kg-m/s**2\"\n",

+      "#to calculate uncertainity in the velocity of an electron\n",

+      "m=9*10**-31 #mass of an electron in kg\n",

+      "delx=5*10**-10 \n",

+      "delv=h/(2*math.pi*m*delx)\n",

+      "print \"uncertainity in the velocity of an electron is delv=\",\"{:.3e}\".format(delv),\"m/s\"\n",

+      "#to calculate uncertainity in the velocity of alpha particle \n",

+      "m=4*1.67*10**-27 #mass of alpha particle in kg\n",

+      "delx=5*10**-10\n",

+      "delv=h/(2*math.pi*m*delx)\n",

+      "print \"uncertainity in the velocity of an electron is delv=\",round(delv,2),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "uncertainity in the momentum of the parcticle is delp= 1.05e-30 kg-m/s**2\n",

+        "uncertainity in the velocity of an electron is delv= 2.343e+05 m/s\n",

+        "uncertainity in the velocity of an electron is delv= 31.57 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.14:pg-210"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate uncertainity in position\n",

+      "m=9.11*10**-31 #mass of electron in kg\n",

+      "delv=40 #uncertainity in velocity in m/s\n",

+      "h=6.6*10**-34 #plank's constant \n",

+      "delx=h/(2*math.pi*m*delv)\n",

+      "print \"uncertainity in the position of the electron is delx=\",\"{:.2e}\".format(delx),\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "uncertainity in the position of the electron is delx= 2.88e-06 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.15:pg-210"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate uncertainity in frequency\n",

+      "#delE*delt=h/2*math.pi----eq(1)\n",

+      "#delE=h*delv-----------eq(2)\n",

+      "delt=10**-8 #uncertainity in time in s\n",

+      "#from eq(1) and eq(2),we get\n",

+      "delnu=1/(2*math.pi*delt)\n",

+      "print \"minimum uncertainity in the frequency of the photon is delv=\",\"{:.3e}\".format(delnu),\"sec**-1\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "minimum uncertainity in the frequency of the photon is delv= 1.592e+07 sec**-1\n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.16:pg-211"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate uncertainity in the energy\n",

+      "h=6.63*10**-34 #plank's constant in J-s\n",

+      "delt=2.5*10**-14 #uncertainity in time in s\n",

+      "delE=h/(2*math.pi*delt*1.6*10**-19)\n",

+      "print \"minimum error with which the energy of the state can be measured is delE=\",round(delE,3),\"ev\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "minimum error with which the energy of the state can be measured is delE= 0.026 ev\n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.17:pg-211"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate time required for the atomic system \n",

+      "#delE=h*c*dellamda/lamda**2 -----eq(1)\n",

+      "#delE*delt=h/2*math.pi----------eq(2)\n",

+      "dellamda=10**-14\n",

+      "c=3*10**8\n",

+      "lamda=6*10**-7\n",

+      "#from eq(1)and eq(2),we get\n",

+      "delt=(lamda**2)/(2*math.pi*c*dellamda)\n",

+      "print \"time required for the atomic system to retain rotational energy is delt=\",\"{:.1e}\".format(delt),\"s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "time required for the atomic system to retain rotational energy is delt= 1.9e-08 s\n"

+       ]

+      }

+     ],

+     "prompt_number": 19

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.18:pg-211"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate minimum uncertainity in the momentum \n",

+      "delxmax=5*10**-14 #uncertainity in position in m\n",

+      "h=6.626*10**-34 #plank's constant in Js\n",

+      "delpmin=h/(2*math.pi*delxmax)\n",

+      "print \"minimum uncertainity in the momentum of the nucleon is delpmin=\",\"{:.2e}\".format(delpmin),\"kg m/s\"\n",

+      "m=1.675*10**-27 #mass in kg\n",

+      "Emin=(delpmin**2)/(2*m*1.6*10**-19)\n",

+      "print \"minimum kinetic energy of the nucleon is Emin=\",round(Emin,2),\"eV\"\n",

+      "#the answer is given wrong in the book Emin=0.039 eV\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "minimum uncertainity in the momentum of the nucleon is delpmin= 2.11e-21 kg m/s\n",

+        "minimum kinetic energy of the nucleon is Emin= 8299.24 eV\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.19:pg-212"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate uncertainity in velocity\n",

+      "delx=1.1*10**-8 #uncertainity in velocity in m\n",

+      "h=6.626*10**-34 #plank's constant\n",

+      "m=9.1*10**-31 #mass of electron in kg\n",

+      "delv=h/(2*math.pi*m*delx)\n",

+      "print \"minimum uncertainity in velocity is delv=\",\"{:.2e}\".format(delv),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "minimum uncertainity in velocity is delv= 1.05e+04 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.20:pg-212"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate uncertainity in frequency\n",

+      "delt=10**-8 #uncertainity in time\n",

+      "delnu=1/(2*math.pi*delt) \n",

+      "print \"minimum uncertainity in the frequency of a photon is delnu=\",\"{:.2e}\".format(delnu),\"sec**-1\"\n",

+      "#to use the uncertainity principle to place a lower limit on the energy an electron must have if it is to be part of a nucleus\n",

+      "delx=5*10**-15 #uncertainity in position\n",

+      "delp=h/(2*2*math.pi*delx) #uncertainbity in momentum\n",

+      "c=3*10**8 #/speed of light in m/s\n",

+      "E=delp*c\n",

+      "print \"energy of an electron is E=\",\"{:.2e}\".format(E),\"J\"\n",

+      "\n",

+      "# the answer is slightlty different due to approximation in textboook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "minimum uncertainity in the frequency of a photon is delnu= 1.59e+07 sec**-1\n",

+        "energy of an electron is E= 3.16e-12 J\n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.22:pg-223"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate probability of finding the particle\n",

+      "a=25*10**-10#width in angstrom \n",

+      "#wave function of the particle is chi(x)=math.sqrt(2/a)*math.sin(n*math.pi*x/a),for the particle in the least energy state n=1\n",

+      "chix=math.sqrt(2/a)*math.sin(math.pi*(a/2)/a)\n",

+      "delx=5*10**-10 #interval in angstrom\n",

+      "P=delx*chix**2\n",

+      "print \"probability of finding the particle is P=\",P,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "probability of finding the particle is P= 0.4 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.24:pg-224"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate energy of an electron\n",

+      "n=1 #least energy of the particle \n",

+      "h=6.63*10**-34 #planck's constant in Js\n",

+      "m=9.11*10**-31 #mass of electron in kg\n",

+      "a=10**-10 #width in angstrom\n",

+      "E=(n**2)*(h**2)/(8*m*(1.602*10**-19)*a**2)\n",

+      "print \"energy of an electron moving in one dimension in an infinitely high potential box is E=\",round(E,2),\"eV\"\n",

+      "#the answer is given wrong in the book E=5.68 eV\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "energy of an electron moving in one dimension in an infinitely high potential box is E= 37.65 eV\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.26:pg-225"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate probability\n",

+      "x1=0.45 #x1=0.45*L\n",

+      "x2=0.55       #x2=0.55*L\n",

+      "n=1                     #for ground state \n",

+      "#formula is P=integrate('(2/L)*math.sin(n*math.pi*x)**2),'x',x1,x2)\n",

+      "from scipy.integrate import quad\n",

+      "def integrand(x):\n",

+      "    return 2*(math.sin(n*math.pi*x)**2)\n",

+      "P1 ,er=quad(integrand,x1,x2)\n",

+      "\n",

+      "print \"P1=\",round(P1,3),\"unitless\"\n",

+      "probability1=P1*100\n",

+      "print \"probability for the ground states is probability1 =\",round(probability1,1),\"%\"\n",

+      "n=2   #for first excited state\n",

+      "P2, er=quad(integrand,x1,x2)\n",

+      "print \"P2=\",round(P2,4),\"unitless\"\n",

+      "probability2=P2*100 \n",

+      "print \"probability for first excited states is probability2=\",round(probability2,2),\"%\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "P1= 0.198 unitless\n",

+        "probability for the ground states is probability1 = 19.8 %\n",

+        "P2= 0.0065 unitless\n",

+        "probability for first excited states is probability2= 0.65 %\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.28:pg-226"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate energy of a neutron\n",

+      "#consider nucleus as a cubical box of size 10**-14m\n",

+      "#x=y=z=a=10**-14=l\n",

+      "#for neutron to be in the lowest energy state nx=ny=nz=1\n",

+      "#formula is E=(math.pi**2*h**2/8*math.pi**2*m)*((nx/lx)**2+(ny/ly)**2+(nz/lz)**2)\n",

+      "h=6.626*10**-34  #planck's constant in Js\n",

+      "m=1.6*10**-27 #mass in kg\n",

+      "l=10**-14 #in m\n",

+      "E=(math.pi**2)*(h**2)*3/(4*(math.pi**2)*2*m*(1.6*10**-19)*l**2)\n",

+      "print \"lowest energy of a neutron is E=\",round(E/(1e6),2),\"MeV\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "lowest energy of a neutron is E= 6.43 MeV\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.29:pg-226"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate zero point energy of a linear harmonic oscillator\n",

+      "h=6.63*10**-34 #planck's constant in Js\n",

+      "nu=50 #frequency in Hz\n",

+      "zeropointenergy=(h*nu)/2\n",

+      "print \"zeropointenergy=\",\"{:.2e}\".format(zeropointenergy),\"J\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "zeropointenergy= 1.66e-32 J\n"

+       ]

+      }

+     ],

+     "prompt_number": 21

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.30:pg-226"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate zero point energy\n",

+      "nu=1 #frequency in Hz\n",

+      "h=6.63*10**-34 #planck's constant in Js\n",

+      "zeropointenergy=(h*nu)/2\n",

+      "print \"zeropointenergy=\",zeropointenergy,\"J\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "zeropointenergy= 3.315e-34 J\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.31:pg-226"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate frequency of vibration\n",

+      "En=0.1*1.6*10**-19 #energy of a linear harmonic oscillator in eV\n",

+      "n=3.0 #third excited state\n",

+      "h=6.63*10**-34 #planck's constant\n",

+      "nu=En/((n+(1/2.0))*h)\n",

+      "print \"the frequency of vibration is nu=\",round(nu,-9),\"Hz\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the frequency of vibration is nu= 6.895e+12 Hz\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter8.ipynb b/Engineering_Physics/chapter8.ipynb
new file mode 100755
index 00000000..106ed7f9
--- /dev/null
+++ b/Engineering_Physics/chapter8.ipynb
@@ -0,0 +1,620 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:2b8beebd2e19262e31711f6c9b2785f35ddc221da552f5b3fe2ed984a495062e"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter8:X-RAY"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.1:pg-240"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate value of planck's constant\n",

+      "e=1.6*10**-19 #in C\n",

+      "V=100*10**3 #voltage in KV\n",

+      "c=3*10**8 #light speed in m/s\n",

+      "lamdamin=12.35*10**-12 #wavelength in m\n",

+      "h=e*V*lamdamin/c\n",

+      "print \"the value of plancks constant is h=\",\"{:.2e}\".format(h),\"J-s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the value of plancks constant is h= 6.59e-34 J-s\n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.2:pg-240"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate maximum frequency\n",

+      "h=6.6*10**-34 #planck's constant in J-s\n",

+      "c=3.0*10**8 #light speed in m/s\n",

+      "Ve=50000 #accelerating potential in V\n",

+      "lamdamin=h*c/Ve #wavelength in m\n",

+      "numax=c/lamdamin\n",

+      "print \"maximum frequency present in the radiation from an X-ray tube is numax=\",\"{:.2e}\".format(numax),\"Hz\"\n",

+      "#answer is given in thec book is incorrect =1.2*10**19 Hz\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "maximum frequency present in the radiation from an X-ray tube is numax= 7.58e+37 Hz\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.3:pg-240"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate number of electrons \n",

+      "I=2*10**-3 #current in mA\n",

+      "e=1.6*10**-19 \n",

+      "n=I/e\n",

+      "print \"number of electrons striking the target per second is n=\",n,\"unitless\"\n",

+      "#to calculate speed\n",

+      "m=9.1*10**-31 #mass of electron in kg\n",

+      "V=12.4*10**3 #potential difference in V\n",

+      "v=math.sqrt(2*V*e/m)\n",

+      "print \"the speed with which electrons strike the target is v=\",\"{:.1e}\".format(v),\"m/s\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "number of electrons striking the target per second is n= 1.25e+16 unitless\n",

+        "the speed with which electrons strike the target is v= 6.6e+07 m/s\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.4:pg-240"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength\n",

+      "n=2 #second order for longest wavelength\n",

+      "d=2.82*10**-10 # spacing in angstrom\n",

+      "sintheta=1 \n",

+      "lamdamax=2*d*sintheta/n\n",

+      "print \"the longest wavelength that can be analysed by a rock salt crystal is lamdamax=\",lamdamax,\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the longest wavelength that can be analysed by a rock salt crystal is lamdamax= 2.82e-10 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.5:pg-241"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate spacing of the crystal\n",

+      "h=6.62*10**-34 #planck's constant in J-s\n",

+      "m=9.1*10**-31 #mass of electron in kg\n",

+      "V=344 #voltage in V\n",

+      "e=1.6*10**-19\n",

+      "lamda=h/math.sqrt(2*m*e*V) #wavelength in m\n",

+      "#according to Bragg's law\n",

+      "n=1\n",

+      "#formula is 2*d*sintheta=n*lamda\n",

+      "d=n*lamda/(2*math.sin(math.pi/6))\n",

+      "print \"the spacing of the crystal is d=\",round(d/1e-10,2),\"angstrom\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the spacing of the crystal is d= 0.66 angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.6:pg-241"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength of Kalpha line for an atom\n",

+      "R=1.1*10**5\n",

+      "z=92\n",

+      "#Ka line is emitted when electron jumps from l shell(n2=2) to k shell(n1=1)\n",

+      "#formula is 1/alphaa=R*(z-b)*((1/n1**2)-(1/n2)**2)\n",

+      "alphaa=4/(3*R*(z-1)**2)\n",

+      "print \"wavelength of Kalpha line for an atom is alphaa=\",\"{:.3e}\".format(alphaa),\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of Kalpha line for an atom is alphaa= 1.464e-09 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.7:pg-241"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate thickness\n",

+      "#mass absorption coefficient mum of an absorber is related with linear absorption coefficient mu and density of the material rho is given by\n",

+      "#mu=rho*mum=2.7*0.6=1.62 cm**-1\n",

+      "mu=1.62\n",

+      "#if initial intensity Io of the X-ray beam is reduced to I in traversing a distance x in absorber I=Io*e**-mu*x\n",

+      "#where I/Io=20\n",

+      "#put above values in the  below equation , we get\n",

+      "x=(2.3026*(math.log(20)/math.log(10)))/1.62\n",

+      "print \"thickness is x=\",round(x,2),\"cm\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "thickness is x= 1.85 cm\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.8:pg-242"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate atomic number of the element\n",

+      "#equation for balmer series in hydrogen spectrum is 1/lamda=R*((1/2**2)-(1/n**2))\n",

+      "#for series limit n=infinity ,R=4/lamdainfinity i.e. R=4/364.6nm\n",

+      "#X-ray wavelength of K series is 1/lamda=R*(z-1)**2*((1/1**2)-(1/n**2))\n",

+      "lamda=0.1*10**-9\n",

+      "R=4/(364.6*10**-9)\n",

+      "#for n=infinity ,minimum wavelength of k series is given by\n",

+      "z=math.sqrt(1/(lamda*R))+1\n",

+      "print \"atomic number is z=\",int(z),\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "atomic number is z= 31 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.9:pg-242"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength\n",

+      "d=1.87*10**-10 #spacing in angstrom\n",

+      "n=2 \n",

+      "#formula is lamda=2*d*sintheta/n\n",

+      "lamda=2*d*math.sin(math.pi/6)/n\n",

+      "print \"the wavelength of X-rays is lamda=\",round(lamda/1e-10,3),\"angstrom\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the wavelength of X-rays is lamda= 0.935 angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.10:pg-242"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength of second X-ray beam\n",

+      "#from bragg's law\n",

+      "#lamda=(d*math.sin(math.pi/3))/n        eq(1)\n",

+      "#it is given that,theta=60,n=3,lamda=1.97 angstrom\n",

+      "#from eq(1) we get,2*d*sin60degree=3*0.97               eq(2)\n",

+      "#let lamda' be the second X-ray beam \n",

+      "#we get 2*d'*sin theta'=n'*lamda'                   eq(3)\n",

+      "#from eq(2) and eq(3),we get\n",

+      "lamda1=math.sin(math.pi/6)*3*0.97/math.sin(math.pi/3)   #where lamda1=lamda'\n",

+      "print \"wavelength of X-ray is lamda1=\",round(lamda1,2),\"angstrom\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of X-ray is lamda1= 1.68 angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.11:pg-243"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength\n",

+      "d=2.82*10**-10 #spacing in m\n",

+      "n=1 \n",

+      "lamda=2*d*math.sin(10*math.pi/180)/n\n",

+      "print \"wavelength of X-ray is lamda=\",round(lamda/1e-10,3),\"angstrom\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of X-ray is lamda= 0.979 angstrom\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.12:pg-243"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#deduce possible spacing of the set of planes\n",

+      "#for first order , 2*d*sintheta1=1*lamda...eq(1)\n",

+      "#for second order ,2*d*sintheta2=2*lamda..eq(2)\n",

+      "#for third order, 2*d*sintheta3=3*lamda......eq(3)\n",

+      "#for fourth order, 2*d*sintheta4=4*lamda..............eq(4)\n",

+      "#divide eq(2) by eq(1),we get sintheta2=2*sintheta1\n",

+      "#similarly,sintheta3=3*sintheta1,sintheta4=4*sintheta1\n",

+      "lamda=1.32*10**-10\n",

+      "sintheta1=0.1650\n",

+      "d1=lamda/(2*sintheta1)#for first order n=1,d1=d/n\n",

+      "d2=lamda/(2*2*sintheta1)   #for second order n=2,d2=d/n\n",

+      "d3=lamda/(2*3*sintheta1)       #for third order n=3,d3=d/n\n",

+      "d4=lamda/(2*4*sintheta1)            #for fourth order n=4,d4=d/n\n",

+      "print \"d1=\",d1,\"m\"\n",

+      "print \"d2=\",d2,\"m\"\n",

+      "print \"d3=\",round(d3,2),\"m\"\n",

+      "print \"d4=\",d4,\"m\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "d1= 4e-10 m\n",

+        "d2= 2e-10 m\n",

+        "d3= 0.0 m\n",

+        "d4= 1e-10 m\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.13:pg-248"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate compton shift and wavelength\n",

+      "h=6.63*10**-34 #planck's constant in J-s\n",

+      "m0=9.11*10**-31 #mass of electron\n",

+      "c=3*10**8 #light speed in m/s\n",

+      "dellamda=h*(1-(1/math.sqrt(2)))/(m0*c)\n",

+      "lamda0=2*10**-10\n",

+      "lamda=dellamda+lamda0\n",

+      "print \"compton shift is dellamda=\",round(dellamda/1e-10,4),\"angstrom\"\n",

+      "print \"wavelength of the scattered X-rays is lamda=\",round(lamda/1e-10,4),\"angstrom\"\n",

+      "#to calculate fraction of energy lost by the photon in the collision\n",

+      "#energy lost =E0-E/E0=(hc/lamda0)-(hc/lamda)/(ha/lamda0)\n",

+      "#we get,\n",

+      "energylost=dellamda/lamda\n",

+      "print \"energylost =\",round(energylost,5),\"unitless\" \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "compton shift is dellamda= 0.0071 angstrom\n",

+        "wavelength of the scattered X-rays is lamda= 2.0071 angstrom\n",

+        "energylost = 0.00354 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.14:pg-249"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength and energy\n",

+      "#formula is lamda'-lamda=h*(1-cos phi)/(m0*c),where phi=90 degree, lamda'=2lamda ---------------eq(1)\n",

+      "#dellamda=2lamda-lamda=lamda ----------------------------eq(2)\n",

+      "h=6.62*10**-34 #planck's constant\n",

+      "c=3*10**8 #light speed in m.s\n",

+      "m0=9*10**-31 #mass of electron in kg\n",

+      "#from eq(1) and eq(2) ,we get\n",

+      "lamda=h/(m0*c)\n",

+      "print \"wavelength is lamda=\",round(lamda/1e-10,4),\"angstrom\"\n",

+      "E=h*c/lamda\n",

+      "print \"energy of the incident photon is E=\",E,\"J\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength is lamda= 0.0245 angstrom\n",

+        "energy of the incident photon is E= 8.1e-14 J\n"

+       ]

+      }

+     ],

+     "prompt_number": 19

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.15:pg-249"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength of radiation and direction of emission\n",

+      "h=6.6*10**-34           #planck's constant in J-s\n",

+      "c=3*10**8                #speed of light in m/s\n",

+      "energy=510*10**3                #energy of photon in eV\n",

+      "lamda=h*c/(energy*1.6*10**-19)\n",

+      "mo=9.1*10**-31             #mass of electron in Kg\n",

+      "lamda1=lamda+h*(1-math.cos(math.pi/2))/(mo*c)\n",

+      "print \"wavelength of radiation is lamda1=\",\"{:.2e}\".format(lamda1),\"m\"\n",

+      "theta=math.degrees(math.atan(lamda*math.sin(math.pi/2)/(lamda1-lamda*math.cos(math.pi/2))))\n",

+      "print\"direction of emission of electron is theta=\",round(theta,2),\"degree\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of radiation is lamda1= 4.84e-12 m\n",

+        "direction of emission of electron is theta= 26.61 degree\n"

+       ]

+      }

+     ],

+     "prompt_number": 21

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.16:pg-249"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate wavelength of two X-rays\n",

+      "h=6.6*10**-34 #planck's constant in J-s\n",

+      "c=3.0*10.0**8 #light speed in m/s\n",

+      "mo=9.1*10**-31 #mass of electron in kg\n",

+      "lamda=10.0*10**-12 #wavelength in pm\n",

+      "lamda1=lamda+((h/(mo*c))*(1-(1/math.sqrt(2))))\n",

+      "print \"wavelength of two X-rays is lamda1=\",round(lamda1*(1e12),1),\"picometer\"\n",

+      "#to calculate maximum wavelength\n",

+      "lamda2=lamda+((2*h)/(mo*c))\n",

+      "print \"maximum wavelength present in the scattered X-rays is lamda2=\",round(lamda2*(1e12),2),\"picometer\"\n",

+      "#to calculate maximum kinetic energy \n",

+      "Kmax=(h*c)*((1/lamda)-(1/lamda2))/(1.6*10**-19)\n",

+      "print \"maximum kinetic energy of the recoil electrons is Kmax=\",round(Kmax/1000.0,1),\"KeV\"\n",

+      "\n",

+      "# the answer is slightly different due to approximation\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "wavelength of two X-rays is lamda1= 10.7 picometer\n",

+        "maximum wavelength present in the scattered X-rays is lamda2= 14.84 picometer\n",

+        "maximum kinetic energy of the recoil electrons is Kmax= 40.3 KeV\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/chapter9.ipynb b/Engineering_Physics/chapter9.ipynb
new file mode 100755
index 00000000..d92ff5fa
--- /dev/null
+++ b/Engineering_Physics/chapter9.ipynb
@@ -0,0 +1,130 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:5dfcc3b8a36b2e69e76da78cbe3cbbcd618d029b3ed8c322ee0560bc514169c3"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter9:DIELECTRIC PROPERTIESOF MATERIALS"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.1:pg-269"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate dielectric constant of the liquid\n",

+      "#capacitance of the air filled dielectric Cair=Q/Vo-----------eq(1)\n",

+      "#when dielectric is filled between the plates ,Cliquid=Q/V\n",

+      "#then Cliquid=epsilonr*Q/Vo------eq(2)\n",

+      "Vo=60\n",

+      "                  #voltage in volts\n",

+      "V=30\n",

+      "#from eq(1) and eq(2),we get\n",

+      "epsilon0=Vo/V\n",

+      "print \"the dielectric constant of the liquid is epsilon0=\",epsilon0,\"unitless\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the dielectric constant of the liquid is epsilon0= 2 unitless\n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.2:pg-269"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate charge on the capacitance\n",

+      "epsilon0=8.854*10**-12 #permittivity\n",

+      "epsilonr=6 #relative permittivity\n",

+      "V=100 #voltage in volts\n",

+      "d=1.5*10**-3 #distance in m\n",

+      "A=4*10**-4#area in m**2\n",

+      "Q=epsilon0*epsilonr*A*V/d\n",

+      "print \"the charge on the capacitance is Q=\",\"{:.2e}\".format(Q),\"Coulomb\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the charge on the capacitance is Q= 1.42e-09 Coulomb\n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.3:pg-269"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "import math\n",

+      "#to calculate voltage\n",

+      "A=6.50*10**-4 #area in m**2\n",

+      "Q=2*10**-10 #charge in C\n",

+      "d=4*10**-3 #plate separation in m\n",

+      "epsilon0=8.854*10**-12\n",

+      "epsilonr=3.5 #dielectric constant\n",

+      "V=Q*d/(epsilon0*epsilonr*A)\n",

+      "print \"the resultant voltage across the capacitor is V=\",round(V,1),\"volt\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "the resultant voltage across the capacitor is V= 39.7 volt\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Engineering_Physics/screenshots/U3.png b/Engineering_Physics/screenshots/U3.png
new file mode 100755
index 00000000..fc148b77
Binary files /dev/null and b/Engineering_Physics/screenshots/U3.png differ
diff --git a/Engineering_Physics/screenshots/Untitled.png b/Engineering_Physics/screenshots/Untitled.png
new file mode 100755
index 00000000..ef585cf3
Binary files /dev/null and b/Engineering_Physics/screenshots/Untitled.png differ
diff --git a/Engineering_Physics/screenshots/Untitled2.png b/Engineering_Physics/screenshots/Untitled2.png
new file mode 100755
index 00000000..3a440c46
Binary files /dev/null and b/Engineering_Physics/screenshots/Untitled2.png differ
diff --git a/Engineering_Physics/screenshots/area_of_the_spot_on_the_moon.png b/Engineering_Physics/screenshots/area_of_the_spot_on_the_moon.png
new file mode 100755
index 00000000..d72ce215
Binary files /dev/null and b/Engineering_Physics/screenshots/area_of_the_spot_on_the_moon.png differ
diff --git a/Engineering_Physics/screenshots/electric_flux.png b/Engineering_Physics/screenshots/electric_flux.png
new file mode 100755
index 00000000..ba949261
Binary files /dev/null and b/Engineering_Physics/screenshots/electric_flux.png differ
diff --git a/Engineering_Physics/screenshots/velocity_of_rocket.png b/Engineering_Physics/screenshots/velocity_of_rocket.png
new file mode 100755
index 00000000..d86b5e4c
Binary files /dev/null and b/Engineering_Physics/screenshots/velocity_of_rocket.png differ
diff --git a/Examples_in_Thermodynamics_Problems/Chapter1.ipynb b/Examples_in_Thermodynamics_Problems/Chapter1.ipynb
new file mode 100755
index 00000000..0d02f117
--- /dev/null
+++ b/Examples_in_Thermodynamics_Problems/Chapter1.ipynb
@@ -0,0 +1,562 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:48ea781a71227cd2ed588b90ba4f6ceb57773ac789c06adb226b03cd21058126"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 1: HEATING AND EXPANSION OF GASES ENTROPY"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.1 Page 1"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p1=280#lb/in^2\n",
+      "v=2#ft^3\n",
+      "p2=20#lb/in^2\n",
+      "v2=18.03#ft^3\n",
+      "\n",
+      "#calculation\n",
+      "W=144*(p1*v-p2*v2)/(1.2-1)#ft/lb\n",
+      "\n",
+      "#result\n",
+      "print\"The volume and work done during the expansion is\",round(W,2),\"ft/lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The volume and work done during the expansion is 143568.0 ft/lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.2 Page 2"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=2#ft^3\n",
+      "v2=20#ft^3\n",
+      "p=100000#ft lb\n",
+      "v2=10.41#lb/in^2\n",
+      "v3=10#lb/in^2\n",
+      "p1=1.3#lb\n",
+      "p2=(v2*199.5)/9.95#lb/in^2\n",
+      "\n",
+      "#calculation\n",
+      "P=(p2/v3-v2)#lb/in^2\n",
+      "\n",
+      "#result\n",
+      "print\"The initial andfinal pressure is\",round(P,4),\"lb/in^2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The initial andfinal pressure is 10.4623 lb/in^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.4 Page 3"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "Cp=0.24#lb/in^2\n",
+      "Cv=0.18#ft^3\n",
+      "p1=5#lb/in^2\n",
+      "T1=20#Degree C\n",
+      "T2=150#Degree C\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=p1*Cp*(T2-T1)#C.H.U\n",
+      "H=p1*Cv*(T2-T1)#C.H.U\n",
+      "Gamma=Cp/Cv#lb/in^2\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the constant pressure is\",round(W,2),\"C.H.U\"\n",
+      "print\"the constant volume the value of gas is\",round(Gamma,2),\"lb/in^2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the constant pressure is 156.0 C.H.U\n",
+        "the constant volume the value of gas is 1.33 lb/in^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.5 Page 4"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "Gama=1.33#ft/lb\n",
+      "p=100#lb/in^2\n",
+      "p1=20#lb/in^2\n",
+      "v2=10.05#ft^3\n",
+      "v=3#ft/lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=144*(p*v-p1*v2)/0.33#ft lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The work done is\",round(W,2),\"lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The work done is 43200.0 lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.8 Page 5"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=3.74#ft/lb\n",
+      "p1=2.48#ft/lb\n",
+      "v=5.70#ft lb\n",
+      "Cv=0.21#ft/lb\n",
+      "P=440.00#lb/in^2\n",
+      "P1=160.00#lb/in^2\n",
+      "P2=14.00#lb/in^2\n",
+      "T=25.00#degree C\n",
+      "T1=100.00#F\n",
+      "vs=(pi*(p1)**2/4)*(p/1728.00)#ft^3\n",
+      "vc=5.70#ft^3\n",
+      "v1=4.70#ft^3\n",
+      "v2=vs/v1#ft^3\n",
+      "v3=0.01273#ft^3\n",
+      "T2=298.00#F\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=(P2*144.00*v3)/(T2*T1)#lb\n",
+      "T3=((P1*144.0*1.0)/(P2*144.0*7.0)*T2)#Degree C\n",
+      "T4=(P*T3)/P1#Degree C\n",
+      "H=W*Cv*(T4-T3)#C.H.U\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The heat supplied during explosion is\",round(H,5),\"C.H.U\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The heat supplied during explosion is 0.15398 C.H.U\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9 Page 6"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "v=10.0#ft^3\n",
+      "p=100.0#lb/in^2\n",
+      "p1=18.0#lb/in^2\n",
+      "v1=50.0#ft^3\n",
+      "n=log(p/p1)/log(5)\n",
+      "gama=1.40#air\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=(144.0*(p*v-p1*v1))/(n-1)#ft lb\n",
+      "H=(gama-n)/(gama-1)*W#ft lb\n",
+      "E=W-H#ft lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The heat supplied and the change of internal energy\",round(E,2),\"ft lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The heat supplied and the change of internal energy 36000.0 ft lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.11 Page 7"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "v=2.0#ft^3\n",
+      "p=1100.0#lb/in^2\n",
+      "t1=44.0#Degree C\n",
+      "t2=15.0#Degree C\n",
+      "p1=300.0#lb/in^2\n",
+      "t3=3.0#Degree c\n",
+      "Cv=0.17#ft/lb\n",
+      "T=273.0#F\n",
+      "R=96.0#ft lb\n",
+      "p3=300.0#lb/in^2\n",
+      "n=1.12#lb\n",
+      "gama=1.404#lb\n",
+      "W=((144*p*v)/(T+t1))/R#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "Wc=W*Cv*(t1-t2)#C.H.U\n",
+      "p2=p*(T+t2)/(T+t1)#lb /in^2\n",
+      "A=(144*p3*v)/(R*276)#lb\n",
+      "W1=(A/W)*v#ft^3\n",
+      "H=((gama-n)/(gama-1))*(144*(p*0.65-p1*v)/(n-1))#ft lb\n",
+      "H1=H/1400#C.H.U\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the heat was lost by all the air in the vessel before leakage began\",round(Wc,4),\"C.H.U\"\n",
+      "print\"the heat was lost or gainned leakage by the air\",round(H1,4),\"C.H.U\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the heat was lost by all the air in the vessel before leakage began 51.3218 C.H.U\n",
+        "the heat was lost or gainned leakage by the air 69.2928 C.H.U\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.13 Page 9"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "h=0.218#ft^3\n",
+      "h1=0.156#ft^3\n",
+      "n=0.249#lb\n",
+      "h2=0.178#lb\n",
+      "c=0.208#lb\n",
+      "c1=0.162#lb\n",
+      "w1=1.0#ft^3\n",
+      "p=150.0#lb/in^2\n",
+      "T=100.0#Degree C\n",
+      "T1=373.0#F\n",
+      "Cp=(h*0.2312)+(n*0.3237)+(c*0.4451)#C.H.U/lb\n",
+      "Cv=(h1*0.2312)+(h2*0.3237)+(c1*0.4451)#C.H.U//lb\n",
+      "R=1400*(Cp-Cv)#ft lb units\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=(144*p*w1)/(R*T1)#lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The characteristic constant of the gas is\",round(W,4),\"lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The characteristic constant of the gas is 0.7157 lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 43
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.20 Page 12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "T=200.0#Degree C\n",
+      "p=150.0#lb/in^2\n",
+      "v=12.0#ft^3\n",
+      "R=96.0#Lb\n",
+      "T1=473.0#F\n",
+      "T2=273.0#F\n",
+      "j=1400.0#lb\n",
+      "Cv=0.169#lb/in^2\n",
+      "v1=(R*T1)/(p*144)#ft^3\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "Fhi=(R/j)*log(v/v1)+Cv*log(T2/T1)#rank\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The change of entropy is\",round(Fhi,4),\"rank\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The change of entropy is 0.0266 rank\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.22 Page 13"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "v=10.0#ft^3\n",
+      "T=20.0#Degree C\n",
+      "p=15.0#lb in^2\n",
+      "p1=200.0#lb//in^2\n",
+      "gama=1.41 #lb\n",
+      "Cv=0.169#lb\n",
+      "v2=1.153#ft^3\n",
+      "j=1400.0#lb\n",
+      "T1=293.0#F\n",
+      "T2=451.0#F\n",
+      "T1=((p1*v2)/(p*v))*T1#Degree C\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "R=Cv*j*(gama-1)\n",
+      "W=0.816#lb\n",
+      "Fhi=Cv*((gama-1.2)/(1.2-1))*log(T1/T2)*W#rnak\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The change of entropy is\",round(Fhi,5),\"rank\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The change of entropy is -0.00018 rank\n"
+       ]
+      }
+     ],
+     "prompt_number": 46
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.23 Page 15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "p=1.0#lb\n",
+      "T=200.0#Degree C\n",
+      "p1=15.0#lb/in^2\n",
+      "v1=4.0#ft^3\n",
+      "gama=1.41#lb\n",
+      "Cv=0.169#lb\n",
+      "J=1400.0#lb\n",
+      "n=1.2\n",
+      "T=473.0#F\n",
+      "v2=16.1#ft^3\n",
+      "T1=473.0#F\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T2=(p1*v2)/(p*v1)*T1#Degree C\n",
+      "R=Cv*J*(gama-p)#lb/in^2\n",
+      "Fhi=0.1772*log(1.317)#rank\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the change of entropy from intial condition is\",round(Fhi,5),\"rank\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the change of entropy from intial condition is 0.04879 rank\n"
+       ]
+      }
+     ],
+     "prompt_number": 47
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.26 Page 16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "w=0.066#ft^3\n",
+      "p=14.7#lb/in^2\n",
+      "w1=14.2#lb/in^2\n",
+      "w2=2780.0#lb/in^2\n",
+      "g=0.038#lb\n",
+      "a=28.9#lb\n",
+      "R=w2/w1#for gas\n",
+      "R1=93.0#for air\n",
+      "T=273.0#F\n",
+      "V=0.4245#ft^3\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=(p*144*w)/(T*R)#lb\n",
+      "m=(g-W)#lb gas\n",
+      "T2=(V+w)#ft^3\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The volume of mixture is\",round(T2,4),\"ft^3\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The volume of mixture is 0.4905 ft^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Examples_in_Thermodynamics_Problems/Chapter2.ipynb b/Examples_in_Thermodynamics_Problems/Chapter2.ipynb
new file mode 100755
index 00000000..d7128b61
--- /dev/null
+++ b/Examples_in_Thermodynamics_Problems/Chapter2.ipynb
@@ -0,0 +1,150 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:8ff0faa4ee8798b8afb099ec4225e3d1dba96fda9be0b2724a96827e87a8c2b0"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 2: AIR CYCLE EFFICIENCIES"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.2 Page 19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "T1=(100+273)#Degree C\n",
+      "T2=(300+273)#degree C\n",
+      "T=(1-T1/T2)*100#F\n",
+      "lam=0.41#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "R=log(T2)-log(T1)#lb/in^2\n",
+      "r=2.849#ratio of compression\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The ideal efficiency and the compression ratio is\",round(r,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ideal efficiency and the compression ratio is 2.849\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.4 Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "r=0.60#in\n",
+      "v=3#in\n",
+      "p=15.4#lb\n",
+      "r=5#in\n",
+      "P=2000#r p m\n",
+      "V=19000#B.Th.U  Per lb\n",
+      "lam=1.41 #lb\n",
+      "n=0.4831#percent\n",
+      "P=15.4/4#lb\n",
+      "H=P*V#B.Th.U\n",
+      "l=4.5#lb\n",
+      "A=9#lb\n",
+      "S=1000#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "R=0.60*n*100#percent\n",
+      "C=H*R#B.Th.U\n",
+      "I=(C*778)/(60*33000)#lb\n",
+      "P1=(I*12*4*33)/(l*A*pi)#lb/in^2\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The mean efficity pressure is\",round(P1,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mean efficity pressure is 10372.115\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.5 Page 21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "v=15#in\n",
+      "S=(5*14/100)#ln\n",
+      "lam=1.4#in\n",
+      "v1=1.7#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "N=(1-0.38)*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The ideal effiecncy for an engine is\",round(N,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ideal effiecncy for an engine is 62.0 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Examples_in_Thermodynamics_Problems/Chapter3.ipynb b/Examples_in_Thermodynamics_Problems/Chapter3.ipynb
new file mode 100755
index 00000000..cdd25fa7
--- /dev/null
+++ b/Examples_in_Thermodynamics_Problems/Chapter3.ipynb
@@ -0,0 +1,469 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:a9b498c87a8bc557e26090cded88daaf4b9544d15a7aef988c258f78451cb8ae"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 3: PROPERTIES OF STEAM"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.1 Page 30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "p=100#lb/in^2\n",
+      "x=0.8#lb\n",
+      "t1=164#degree C\n",
+      "t2=4.45 #ft^3\n",
+      "p1=0.016#ft^3\n",
+      "h1=493.4#C.H.U/lb\n",
+      "h2=165.9#C.H.U/lb\n",
+      "S=h2+h1#C.H.U/lb\n",
+      "w=(144*p)/1400*(t2-p1)#C.H.U/lb\n",
+      "H=h2+(x*h1)#C.H.U//lb\n",
+      "w1=(x*144*p)/1400*(t2-p1)#C.H.U\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "E=S-w#C.H.U/lb\n",
+      "IE=H-w1#C.H.U/lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The steam is total heat dry and satured is\",round(E,3),\"C.H.U/lb\"\n",
+      "print\"Total heat of wet steam\",round(IE,3),\"C.H.U/lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The steam is total heat dry and satured is 614.96 C.H.U/lb\n",
+        "Total heat of wet steam 524.135 C.H.U/lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.2 Page 31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "t1=35#degree C\n",
+      "p=100#lb/in^2\n",
+      "L=435#C.H.U\n",
+      "L2=539.3#C.H.U\n",
+      "h1=165.9#H.C.U/lb\n",
+      "h2=493.4#C.H.U/lb\n",
+      "S=(h1-t1)#C.H.U\n",
+      "h3=304.1#C.H.U\n",
+      "h4=335#C.H.U/lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "X1=h3/h2#C.H.U/lb\n",
+      "X2=h4/L2#C.H.U/lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The heat giving to the water and steam is\",round(X2,3),\"C.H.U/lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The heat giving to the water and steam is 0.621 C.H.U/lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.3 Page 32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "p=35#lb/in^2\n",
+      "w=1425#lb\n",
+      "q=1474#lb\n",
+      "s1=126.7#C.H.U/lb\n",
+      "s2=28#C.H.U/lb\n",
+      "t1=5#degree C\n",
+      "t2=28#degree C\n",
+      "L1=521.4#C.H.U/lb\n",
+      "w1=245#lb\n",
+      "w2=0.2#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=(s1-s2)+L1#C.H.U/lb\n",
+      "H=q*(t2-t1)#C.H.U/lb\n",
+      "T=H/W#lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The total equivalent is\",round(T,3),\"lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The total equivalent is 54.672 lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.4 Page 33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "p=100#lb/in^2\n",
+      "w=2400#lb\n",
+      "t1=15#degree C\n",
+      "s1=165.9#C.H.U/lb\n",
+      "x=0.9#lb\n",
+      "L2=493.4#C.H.U/lb\n",
+      "t2=65#degree\n",
+      "x4=0.8#lb\n",
+      "s3=64.8#C.H.U/lb\n",
+      "w1=2000#lb\n",
+      "w2=2400#lb\n",
+      "b1=12400#lb\n",
+      "b2=22000#lb\n",
+      "p1=4400#lb\n",
+      "n=421.65#lb\n",
+      "h1=w2*[s1+(x*L2)]#C.H.U/hr\n",
+      "h2=w1*[s1+(x4+L2)]#C.H.U/hr\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=w*[(s1-t1)+(x*L2)]#C.H.U/hr\n",
+      "T1=w1*[(s1-s3)+(x4*L2)]#C.H.U/hr\n",
+      "H=T+T1#C.H.U/hr\n",
+      "X=n/L2#C.H.U/lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The thermal capacity of the pipe is\",round(X,3),\"C.H.u/hr\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thermal capacity of the pipe is 0.855 C.H.u/hr\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.5 Page 35"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "w1=4.5#lb\n",
+      "s1=45.5#lb\n",
+      "p1=165#lb/in^2\n",
+      "T=140#Degree C\n",
+      "h1=30#in\n",
+      "h2=4#in\n",
+      "p2=0.49#ln/in^2\n",
+      "T1=(w1+s1)#lb\n",
+      "T2=103.5#Degree C\n",
+      "T3=140#Degree\n",
+      "h3=0.48#in\n",
+      "x=0.988#berfore throttling\n",
+      "T=[103.12+537.1+h3*(T3-T2)]#C.H.U/lb\n",
+      "x1=0.012#lb of water\n",
+      "X=s1*x1#lb water\n",
+      "w=50#lb of steam\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "P=h2+h1#in of mercury\n",
+      "P1=s1*x1#lb/in^2\n",
+      "T4=w1+P1#lb\n",
+      "D=(w-T4)/w#lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The dryness of steam with a combined is\",round(D,3),\"lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The dryness of steam with a combined is 0.899 lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.6 Page 36"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "w=40.0#lb\n",
+      "w1=380.0#lb\n",
+      "t1=80.0#Degree\n",
+      "p=85.0#lb/in^2\n",
+      "p1=15.0#lb/in^2\n",
+      "W=w+w1#lb/hr\n",
+      "P=p+p1#lb/in^2\n",
+      "T=659.3#C.H.U/lb\n",
+      "d=10.0#h.p\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "H=W*T-w1*t1#C.H.U/hr\n",
+      "H1=(d*33000.0*60.0)/1400.0#C.H.U/hr\n",
+      "T1=H1/H*100.0#percent\n",
+      "D=w1/(w1+w)#C.H.U/hr\n",
+      "H2=(W*(99.6+D*539.3)-w1*t1)#C.H.U/hr\n",
+      "T2=H-H2#C.H.U/hr\n",
+      "H3=T2-H1#C.H.U/hr\n",
+      "E=(1400.0*H3)/(60.0*33000.0)#h.p\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The amount of radiations from the engine is\",round(E,3),\"h.p\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The amount of radiations from the engine is 11.311 h.p\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.10 Page 37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "w=40.0#lb\n",
+      "w1=380.0#lb\n",
+      "t1=80.0#Degree\n",
+      "p=85.0#lb/in^2\n",
+      "p1=15.0#lb/in^2\n",
+      "W=w+w1#lb/hr\n",
+      "P=p+p1#lb/in^2\n",
+      "T=659.3#C.H.U/lb\n",
+      "d=10.0#h.p\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "H=W*T-w1*t1#C.H.U/hr\n",
+      "H1=(d*33000*60)/1400#C.H.U/hr\n",
+      "T1=H1/H*100#percent\n",
+      "D=w1/(w1+w)#C.H.U/hr\n",
+      "H2=(W*(99.6+D*539.3)-w1*t1)#C.H.U/hr\n",
+      "T2=H-H2#C.H.U/hr\n",
+      "H3=T2-H1#C.H.U/hr\n",
+      "E=(1400*H3)/(60*33000)#h.p\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The amount of radiations from the engine is\",round(E,3),\"h.p\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The amount of radiations from the engine is 11.311 h.p\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.12 Page 39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "p=120#lb/in^2\n",
+      "ts=264#degree C\n",
+      "T1=(273+130.6)#F\n",
+      "v=0.0171#ft^3/lb\n",
+      "L1=518.4#lb\n",
+      "T2=(273+171.9)#F\n",
+      "L2=487.4#lb\n",
+      "Cp=0.48#lb\n",
+      "L=0.0894/Cp#lb\n",
+      "Ts=T2*1.205#degree\n",
+      "ta=536-273#Degree C\n",
+      "T=649.9#C.H.U\n",
+      "S=131.2#C.H.U\n",
+      "w=(144*40)/1400*(10.49-v)#C.H.U\n",
+      "C=T-S#C.H.U\n",
+      "I=C-w#C.H.U\n",
+      "E=(704.7-57.8)#C.H.U\n",
+      "E1=E-606.5#C.H.U\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "E1=E-606.5#C.H.U\n",
+      "H=(704.7-T)#C.H.U\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"Heat and internal energy after each operation is\",round(H,3),\"h.p\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Heat and internal energy after each operation is 54.8 h.p\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.17 Page 42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "A=28.1#in Hg vacuum\n",
+      "a=0.93#lb/in^2\n",
+      "T=33#Degree\n",
+      "p=0.729#lb/in^2\n",
+      "P=-p+a#lb/in^2\n",
+      "p1=120000#lb\n",
+      "p2=28.1#in\n",
+      "a1=0.9#ln\n",
+      "p3=1000#lb\n",
+      "t=15#degree C\n",
+      "A1=(a1*(p1/(60*p3)))#lb/mim\n",
+      "v=(A1*96*306)/(144*P)#ft^3 of air per min\n",
+      "V=37.3+a1*610#C.H.U/lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "H=(V-T)#C.H.U\n",
+      "W=(H/t)*(p1/60)#gal/min\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The water per minute in cubic feet per minute passing to air extractor\",round(W,3),\"gal/min\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The water per minute in cubic feet per minute passing to air extractor 73773.333 gal/min\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Examples_in_Thermodynamics_Problems/Chapter4.ipynb b/Examples_in_Thermodynamics_Problems/Chapter4.ipynb
new file mode 100755
index 00000000..a68b7f49
--- /dev/null
+++ b/Examples_in_Thermodynamics_Problems/Chapter4.ipynb
@@ -0,0 +1,514 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:cafa634c5fbcfd5447496e6358027f61ba038aded335f02d8eee875e161267c7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 4: THE STEAM ENGINE"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.1 Page 46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=90#lb/in^2\n",
+      "x1=0.9#lb\n",
+      "p1=10#lb/in^2\n",
+      "x2=0.81#lb\n",
+      "s1=161.5#lb.in^2\n",
+      "s2=89.1#lb.in^2\n",
+      "L1=496.8#lb.in^2\n",
+      "L2=545.5#lb.in^2\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "bc=(s1-s2)+(x1*L1)#C.H.U/lb\n",
+      "da=x2*L2#C.H.U/lb\n",
+      "W=bc-da#C.H.U/lb\n",
+      "R=W/bc*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the work done per\",round(R,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the work done per 14.949 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.2 Page 47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "h=1600.0#i.h.p\n",
+      "h1=20000.0#lb\n",
+      "h2=230.0#lb/in^2\n",
+      "T1=293.3#Degree C\n",
+      "x=25.91#in\n",
+      "v=30.0#in\n",
+      "T2=201#Degree C\n",
+      "T=T1-T2#degree C\n",
+      "x2=0.845#lb\n",
+      "L2=566.51#lb\n",
+      "s1=724#lb\n",
+      "h3=1400#C.H.U/hr\n",
+      "x=33000#ft^3\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "H=671.48#C.H.U/lb\n",
+      "ea=x2*L2#C.H.U/lb\n",
+      "W=H-ea#C.H.U/lb\n",
+      "R=W/H*100#percent\n",
+      "S=h2*s1#C.H.U\n",
+      "I=((h*x*60)/(h3*h1*s1))*100#percent\n",
+      "R1=I/R*100#pecent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The indicated thermal efficiency ratio is\",round(R1,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The indicated thermal efficiency ratio is 54.433 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.3 Page 49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "h1=180#lb/in^2\n",
+      "h2=3#lb/in^2\n",
+      "r1=60#percent\n",
+      "r2=90#percent\n",
+      "p3=100#lb/in^2\n",
+      "p4=10#lb/in^2\n",
+      "v1=4.4#ft^3/lb\n",
+      "v2=2*v1#ft^3\n",
+      "p=44#lb/in^2\n",
+      "x2=0.95#ft^3\n",
+      "s1=165.9#lb\n",
+      "s2=89.1#lb\n",
+      "L1=493.4#lb\n",
+      "H=(s1-s2)+L1#C.H.U/lb\n",
+      "W=65.8#C.H.U/lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "R=W/H*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The rankine efficiency of the engine is\",round(R,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The rankine efficiency of the engine is 11.54 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.10 Page 52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=85.0#lb/in^2\n",
+      "h=210.0#i.p.m\n",
+      "h1=8.0#in\n",
+      "h2=2.5#in\n",
+      "h3=20.0#in\n",
+      "x=0.75#in\n",
+      "p1=100.0#ln/in^2\n",
+      "x1=33000.0#in\n",
+      "p2=15.0#lb/in^2\n",
+      "v2=pi/4*(h1/12)**2*(h3/12)#ft^3\n",
+      "A=144*(29.08*1.6931-8.724)#ft/lb\n",
+      "d=x*A#ft/lb\n",
+      "v3=0.5816#ft^3\n",
+      "P=d/(144*v3)#lb/in^2\n",
+      "P1=pi/4*64#in^2\n",
+      "r=25*pi/16#in^2\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "H=P*(h3/12)*P1*h/(x1)\n",
+      "I=(P*(h3/12)*(P1-r)*h)/(x1)#I.h.P\n",
+      "T=H+I#I.h.p\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the h.p diameter of the piston and piston rod is\",round(T,3),\"I.h.p\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the h.p diameter of the piston and piston rod is 52.982 I.h.p\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.14 Page 55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "a=1.025#in^2\n",
+      "h=18.0#in\n",
+      "h1=24.0#in\n",
+      "x=8.2#percent\n",
+      "v=15.0#in\n",
+      "v2=6.9#ft^3\n",
+      "p=0.74#lb/in^2\n",
+      "p1=50.0#lb/in^2\n",
+      "p2=83.0#lb/in^2\n",
+      "P3=48.0#lb/in\n",
+      "P1=29.8#lb/in^2\n",
+      "P2=14.6#lb/in^2\n",
+      "h2=29.8#in\n",
+      "D=(pi/4)*(3.0/2.0)**2*2#ft^3\n",
+      "v1=23400.0#ft.lb\n",
+      "W=a*v1#ft.lb\n",
+      "V=0.082*D#ft^3\n",
+      "Q=1.530#ft^3\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "I=V+Q#ft^3\n",
+      "P=P3+P2#lb/in^2\n",
+      "V1=p*v2#ft^3\n",
+      "W1=I/V1#lb\n",
+      "S=p2+P2#l/in^2\n",
+      "H=659.06#C.H.U/lb\n",
+      "T=W/(H*W1*1400)*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The thermal efficiency of the engine is\",round(T,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thermal efficiency of the engine is 7.294 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.16 Page 57"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=4.6#ft^3\n",
+      "h=5.0#percent\n",
+      "p=60.0#lb/in^2\n",
+      "p1=0.8#ft^3\n",
+      "p2=19.0#lb/in^2\n",
+      "a=100.0#r.p.m\n",
+      "h1=5920.0#lb\n",
+      "W=h1/(2*a*p)#lb\n",
+      "V=(0.25*v)#ft^3\n",
+      "v1=21.07#ft^3\n",
+      "w=V/v1#lb\n",
+      "H=W+w#lb\n",
+      "v2=H*7.17#ft^3\n",
+      "P=w*v2#ft^3\n",
+      "P1=0.675*v#ft^3\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "DP=P1/v2#ft^2\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The assumptions do you make in working out the dryness of the steam is\",round(DP,3),\"ft^3\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The assumptions do you make in working out the dryness of the steam is 0.79 ft^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.17 Page 58"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "h=0.08#lb\n",
+      "p=60#lb/in^2\n",
+      "p1=0.50#lb/in^2\n",
+      "v=0.5#ft^3\n",
+      "v1=7.17#ft^3\n",
+      "V=h*v1#ft^3\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=p1/v1#lb\n",
+      "I=v/v1#lb\n",
+      "M=h-I#lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The dryness of the steam at this pressure and missing quantity is\",round(M,6),\"lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The dryness of the steam at this pressure and missing quantity is 0.010265 lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.19 Page 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p1=120#lb/in^2\n",
+      "p2=15#lb/in^2\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "v=1.65#lb\n",
+      "D=sqrt(v)#lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The above pressure are by gauge is\",round(D,3),\"lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The above pressure are by gauge is 1.285 lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.21 Page 61"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=150.0#lb/in^2\n",
+      "x=198.0#r.p.m\n",
+      "x1=33000.0#lb\n",
+      "h=2700.0#lb\n",
+      "h1=1400.0#lb\n",
+      "h2=51600.0#lb\n",
+      "r=165.0#C.H.U/lb\n",
+      "s=60.0#lb\n",
+      "t=48.0#Degree C\n",
+      "t1=11.0#degree C\n",
+      "t2=36.0#Degree C\n",
+      "P1=(40*75*t2*x)/(12*x1)#lb\n",
+      "P2=(38*70*t2*x)/(12*x1)#lb\n",
+      "L1=(t1*300*t2*x)/(12*x1)#lb\n",
+      "L2=(12*295*t2*x)/(12*x1)#lb\n",
+      "T=P1*P2*L1*L2#lb\n",
+      "H=5294#C.H.U/min\n",
+      "T1=h/s#lb/min\n",
+      "H1=T1*663#lb/min\n",
+      "H2=(h2/s*(36-11)+(h/s)*(t))#C.H.U\n",
+      "H3=(h/60)*t#C.H.U\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "TE=H/H1-H3*100#percent\n",
+      "R=r/(663-t)*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The rankine efficiency is\",round(R,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The rankine efficiency is 26.829 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.23 Page 64"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p1=100#ln/in^2\n",
+      "p2=2.5#lb/in^2\n",
+      "p3=20#lb/in^2\n",
+      "d=0.75#lb\n",
+      "p=0.5#lb\n",
+      "r=16#in\n",
+      "p4=p1/r#lb/in^2\n",
+      "P5=50#lb/in^2\n",
+      "W1=13960#ft/lb\n",
+      "W2=19040#ft/lb\n",
+      "T=33000#ft/lb\n",
+      "v=4.43#ft^3\n",
+      "v1=v*d#ft^3\n",
+      "W3=T*v1#ft/lb\n",
+      "Hp=3416#ft/lb\n",
+      "Lp=3416#ft/lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=Lp*v1#ft lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The thermal efficiency of a compound steam and work done is\",round(W,3),\"ft lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thermal efficiency of a compound steam and work done is 11349.66 ft lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Examples_in_Thermodynamics_Problems/Chapter5.ipynb b/Examples_in_Thermodynamics_Problems/Chapter5.ipynb
new file mode 100755
index 00000000..e3603cbc
--- /dev/null
+++ b/Examples_in_Thermodynamics_Problems/Chapter5.ipynb
@@ -0,0 +1,542 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:983f6479fd716219923fc039ee4060b375eda2b85fbdeb1a9e63c25f153f7ec9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 5: AIR COMPRESSORS AND MOTORS REFRIGERATIONS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.1 Page 66"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "a=7.0#in\n",
+      "b=10.0#in\n",
+      "c=12.0#in\n",
+      "r=96.0#in\n",
+      "p1=15.0#lb/in^2\n",
+      "p2=100.0#lb/in^2\n",
+      "T=16.0#Degree C\n",
+      "gama=1.4#in\n",
+      "h=120.0#r.p.m\n",
+      "T1=T+273#C absolute\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "v1=(pi/4)*(a/c)**2*(b/c)#ft^3\n",
+      "w=(p1*144*v1)/(r*T1)#lb\n",
+      "w1=h*w#lb\n",
+      "W=1680*(1.72-1)#ft lb\n",
+      "I=144*p1*v1*log(p2/p1)#ft lb\n",
+      "E=I/W*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The ideal efficiency is defined as the ratio of tthis work is\",round(E,4),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ideal efficiency is defined as the ratio of tthis work is 75.4482 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.2 Page 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "h1=16#i.h.p\n",
+      "p1=100#lb/in^2\n",
+      "p2=15#lb/in^2\n",
+      "R=275#R.p.m\n",
+      "h=550#ft/min\n",
+      "q=33000#in^2\n",
+      "v1=4.85#lb\n",
+      "B=8.53#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "M=(p1/v1)-p2+(p1/v1-p2)*1/0.2\n",
+      "S=h/(2*R)#ft\n",
+      "I=(q*h1)/(M*S*R)#in^2\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The effect of the clearance volume is\",round(I,3),\"in^2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The effect of the clearance volume is 56.954 in^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.3 Page 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "h=100#ft^3\n",
+      "t=15#degree C\n",
+      "p=120#lb/in^2\n",
+      "gama=1.3#in\n",
+      "t1=15#Degree C\n",
+      "M=((144*t*h*2.6)/(0.3)*(1.271-1))#ft lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=sqrt(p/t)#ft lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"Compare the values of the two cylinders is\",round(V,3),\"ft lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Compare the values of the two cylinders is 2.828 ft lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.5 Page 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "h=0.2#ft^3\n",
+      "v=10#percent\n",
+      "T=15#degree c\n",
+      "p=30#lb/in62\n",
+      "t1=15#Degree C\n",
+      "p1=60#lb/in^2\n",
+      "v1=2.2#ft^3\n",
+      "v3=0.328#ft^3\n",
+      "A=(v1-v3)#ft^3\n",
+      "v2=1.341#ft^3\n",
+      "V=v2-h#ft^\n",
+      "t2=288#Degree C\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T2=(t2*p*v2)/(t1*v1)#Degree C absolute\n",
+      "v5=(t2/T2)*V#ft^3\n",
+      "v7=0.164#ft^3\n",
+      "v8=v5-(v7/11)*v5\n",
+      "v6=v8/(1-v7/11)#ft^3\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The required volume of the H.P cylinder including clearance is\",round(v6,3),\"ft^3\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The required volume of the H.P cylinder including clearance is 0.936 ft^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.6 Page 73"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "p1=80#lb/in^2\n",
+      "p2=20#lb/in^2\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "P=sqrt(p1*p2)#lb/in62\n",
+      "V=P/p1#stroke\n",
+      "W=p2/P#stroke\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the ratio of cut off to length of stroke is\",round(W,3),\"stroke\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the ratio of cut off to length of stroke is 0.5 stroke\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.9 Page 75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "p1=25.0#lb/in^2\n",
+      "p2=50.0#lb/in^2\n",
+      "p3=75.0#lb/in^2\n",
+      "p4=100.0#lb/in^2\n",
+      "v1=29.2#ft^3\n",
+      "v2=28.8#ft^3\n",
+      "v3=28.1#ft^3\n",
+      "v4=27.2#ft^3\n",
+      "h=14.7#lb/in^2\n",
+      "v=3.0#percent\n",
+      "s=5.0#stroke\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=(pi*p1)/(4)*4#in^3\n",
+      "V1=v/p4*V#in^3\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The volume of efficiency of pressure is\",round(V1,3),\"in^3\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The volume of efficiency of pressure is 2.356 in^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.12 Page 78"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "p1=15.0#lb/in^2\n",
+      "p2=60.0#lb/in^2\n",
+      "t=16.0#Degree C\n",
+      "Ta=273.0+t#Degree C absolute\n",
+      "T=1.486#lb/in^2\n",
+      "Td=Ta/T#Degree C absolute\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "P=Td/(Ta-Td)#Degree C absolute\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The lowest temperature and coefficient of per formance is\",round(P,3),\"Degree C absolute\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The lowest temperature and coefficient of per formance is 2.058 Degree C absolute\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.14 Page 79"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "T1=30#Degree c\n",
+      "T2=-10#degree C\n",
+      "t1=263#F\n",
+      "t2=303#F\n",
+      "h1=20#Units\n",
+      "h2=79#C.H.U/lb\n",
+      "h=24#hours\n",
+      "T3=1#Degree C\n",
+      "p=2.2046#C.H.U/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "P=h1*p#C.H.U/sec\n",
+      "T=t1/(t2-t1)#F\n",
+      "H=P*60#C.H.U\n",
+      "W=(H*1400)/T#ft/lb\n",
+      "hp=W/33000#h.p\n",
+      "W1=(H*60*h)/(80*2240)#tons\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the cycle is a perfect one\",round(W1,3),\"tons\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the cycle is a perfect one 21.259 tons\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.15 Page 80"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "p1=930#lb/in^2\n",
+      "p2=440#lb/in^2\n",
+      "T=268#F\n",
+      "t1=25#F\n",
+      "t2=5#F\n",
+      "h1=19.4#C.H.U\n",
+      "h2=-1.8#C.H.U\n",
+      "h3=29#C.H.U\n",
+      "h4=58.6#C.H.U\n",
+      "d=0.6#C.H.U\n",
+      "d1=0.06#lb\n",
+      "d2=-0.01#lb\n",
+      "c=40#percent\n",
+      "h=24#hour\n",
+      "t3=10#C\n",
+      "d3=15#lb\n",
+      "h5=80#C.H.U\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "A=(h1-(h2))-(d1-(d2))*T#C.H.U\n",
+      "FD=A/T#units of entropy\n",
+      "AD=(d*h4/T-0.07-A/T)*T#C.H.U\n",
+      "W=4.28#C.H.U\n",
+      "T=AD/W#C.H.U\n",
+      "P=0.4*T#C.H.U\n",
+      "H=P*W*d3#C.H.U\n",
+      "H1=P*W*d3*60*h#C.H.U\n",
+      "H2=t3+h5#C.H.U\n",
+      "W1=H1/(H2*2240)#tond\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The many tons of ice would a machine working between the same limit and having a relative coefficient is\",round(W1,3),\"tons\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The many tons of ice would a machine working between the same limit and having a relative coefficient is 0.598 tons\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.16 Page 82"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "t1=20.0#Degeree C\n",
+      "t2=-10.0#degree C\n",
+      "h=0.95#dry\n",
+      "t3=35.0#Degree C\n",
+      "h1=0.066#lb\n",
+      "h2=1.089#lb\n",
+      "v1=-0.033#lb\n",
+      "v2=1.193#lb\n",
+      "v3=0.508#lb\n",
+      "T1=263.0#F\n",
+      "T2=293.0#F\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=T1/(T2-T1)#F\n",
+      "E=h1-(v1)#lb\n",
+      "C=0.1079#lb\n",
+      "CP=E/C#lb\n",
+      "A=CP*(T2-T1)-E*T1#C.H.U\n",
+      "F=A/T1#units of entropy\n",
+      "H=254.212#C.H.U\n",
+      "H2=274.447#C.H.U\n",
+      "W=(CP*(T2-T1)+h*1.023*(T2-T1)-E*T1)#C.H.U\n",
+      "P=H/W#C.H.U\n",
+      "V=A+v3*15-T1*v3*0.0507#C.H.U\n",
+      "H1=T1*(v3*0.0507+0.05*1.023)#C.H.U\n",
+      "N=H2/(W+V)#C.H.U\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The upper and lower temperature limits respectively are\",round(T,4),\"F\"\n",
+      "print\"The vapour compression cycle work done is\",round(H,3),\"C.H.U\"\n",
+      "print\"The vapour is now additional work done is\",round(N,3),\"C.H.U\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The upper and lower temperature limits respectively are 8.7667 F\n",
+        "The vapour compression cycle work done is 254.212 C.H.U\n",
+        "The vapour is now additional work done is 8.322 C.H.U\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.18 Page 85"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan,log\n",
+      "h=0.8#dry\n",
+      "p=120#lb/in^2\n",
+      "p1=1#lb/in^2\n",
+      "t=100#Degree C\n",
+      "A=99.6-38.6-0.178*311.8#C.H.U\n",
+      "G=311.8#units of entropy\n",
+      "AF=440.52#C.H.U\n",
+      "H=399.82#lb/in^2\n",
+      "p=307#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=H/p#C.H.U\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"theoretical coefficient pf performance as a refrigeratior is\",round(T,3),\"C.H.U\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "theoretical coefficient pf performance as a refrigeratior is 1.302 C.H.U\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Examples_in_Thermodynamics_Problems/Chapter6.ipynb b/Examples_in_Thermodynamics_Problems/Chapter6.ipynb
new file mode 100755
index 00000000..63b34ea8
--- /dev/null
+++ b/Examples_in_Thermodynamics_Problems/Chapter6.ipynb
@@ -0,0 +1,792 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d4d40e7a0bce77d845a19fb5891f8dca6717a9164c9a3127715de6d72e594b43"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 6: FLOW THROUGH NOZZLES-STEAM TURBINES"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.1 Page 87"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p1=150#lb/in^2\n",
+      "p2=10#lb/in^2\n",
+      "n=10#percent\n",
+      "T=183.6+479.4#C.H.U\n",
+      "x2=0.852#C.H.U\n",
+      "H=553.9#C.H.U/lb\n",
+      "h1=T-H#C.H.U/lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=sqrt(2*32.2*1400*h1)#ft/sec\n",
+      "V1=sqrt(2*32.2*1400*0.9*h1)#ft/sec\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the neglecting friction is\",round(V,3),\"ft/sec\"\n",
+      "print\"the frictional drop in the nozzle is 10 recent of the total heat drop is\",round(V1,3),\"ft/sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the neglecting friction is 3136.312 ft/sec\n",
+        "the frictional drop in the nozzle is 10 recent of the total heat drop is 2975.367 ft/sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.2 Page 88"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=((3140*pi*60*60)/(4*4*144))#ft/sec\n",
+      "v1=0.852*38.37#ft^3\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=(v/v1)#lb\n",
+      "V=(2970*pi*60*60)/(4*4*144)#ft^3\n",
+      "W1=(V/v1)#lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the weight of steam per hour is\",round(W,3),\"lb\"\n",
+      "print\"the weight of steam per hour is\",round(W1,3),\"lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the weight of steam per hour is 471.485 lb\n",
+        "the weight of steam per hour is 445.959 lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.4 Page 89"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p1=300#lb\n",
+      "p=75#lb/in^2\n",
+      "p2=8#lb/in^2\n",
+      "h=90#C.H.U/lb\n",
+      "Pt=0.58*p#lb/in^2 absolute\n",
+      "h1=24#lb/C.H.U\n",
+      "D=0.968#C.H.U\n",
+      "D1=0.886#C.H.U\n",
+      "v=9.7#ft^3\n",
+      "v1=47.24#ft^3\n",
+      "V=sqrt(2*32.2*1400*24)#ft/sec\n",
+      "V1=sqrt(2*32.2*1400*90)#ft/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "H=(p1*v*D/3600)#ft^3\n",
+      "V2=(p1*v1*D1/3600)#ft^3\n",
+      "A=0.768#in^2\n",
+      "A1=1.72#in^2\n",
+      "d=sqrt(4*0.768/pi)#in\n",
+      "d1=sqrt((4*A1)/(pi))#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the diameters at the throat and exit of the nozzle is\",round(d1,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the diameters at the throat and exit of the nozzle is 1.48 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.5 Page 90"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "d=2.15#in^2\n",
+      "a=0.98#dry\n",
+      "p=100#lb/in^2\n",
+      "p1=11000#lb\n",
+      "P=0.58*p#lb/in^2\n",
+      "H=24#C.H.U/lb\n",
+      "D=0.947#lb\n",
+      "s=7.407#ft^3\n",
+      "\n",
+      "#CALCULATION\n",
+      "V=sqrt(2*32.2*1400*H)#ft/sec\n",
+      "V1=V*(d/144)#ft^3\n",
+      "T=V1/(s*D)#lb\n",
+      "A=(p1/3600)#lb\n",
+      "C=A/T#lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the coefficient of discharge for the nozzles is\",round(C,3),\"lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the coefficient of discharge for the nozzles is 0.958 lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.6 Page 91"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=9.5#lb\n",
+      "p1=120.0#lb\n",
+      "e=0.88#in\n",
+      "p2=80.0#lb/in^2\n",
+      "d=25.0#in\n",
+      "d1=0.125#in\n",
+      "t=14.0#degree C\n",
+      "T=e*19.0#C.H.U/lb\n",
+      "D=0.975#in\n",
+      "V=sqrt(2.0*32.2*1400.0*T)#ft/sec\n",
+      "S=5.467#ft^3\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V1=p*S*D#ft^3\n",
+      "T1=(V1*144.0/V)#in ^2\n",
+      "C=25.0*pi#in\n",
+      "N=C/2.5#in\n",
+      "P=C/31.0#in\n",
+      "W=d1/sin(t*pi/180)#in\n",
+      "L=P-W#in\n",
+      "W1=L*sin(t*pi/180)#in\n",
+      "T2=(T1)/(31*W1)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The height of nozzle is\",round(T2,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The height of nozzle is 0.393 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.8 Page 94"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p1=100#lb/in^2\n",
+      "p2=15#lb/in^2\n",
+      "d1=95#percent\n",
+      "d2=30#percent\n",
+      "P=0.58*p1#lb/in^2\n",
+      "H=0.95*25#C.H.U/lb\n",
+      "H1=0.95*76.5#C.H.U/lb\n",
+      "D=0.97#in\n",
+      "D1=0.905#in\n",
+      "V=7.407#ft^3\n",
+      "V1=sqrt(2*32.2*1400*H)#ft/sec\n",
+      "V2=sqrt(2*32.2*1400*H1)#ft/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V3=(2*pi*1*V1)/(64*4*144)#ft^3\n",
+      "W=(V3*3600)/(V*D)#lb\n",
+      "K=V2/(2*32.2)#ft lb sec\n",
+      "E=(((V2)**2*W)/(2*32.2*3600))#ft.lb\n",
+      "W1=(E*d2)/(p1*550)#ft.lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the quantity of steam used per hour and horse power developed is\",round(W1,3),\"ft lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the quantity of steam used per hour and horse power developed is 1.927 ft lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.10 Page 95"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "d=0.15#lb\n",
+      "p=20#lb/in^2\n",
+      "p1=100#lb/iN62\n",
+      "t=200#degree C\n",
+      "f=10#percent\n",
+      "Pt=0.5457*p1#lb/in^2\n",
+      "x1=0.996#in\n",
+      "x2=0.952#in\n",
+      "h=29#C.H.U/lb\n",
+      "h1=65#C.H.U/lb\n",
+      "v=7.73#ft^3\n",
+      "v1=20.12#ft^3\n",
+      "T=0.364#in\n",
+      "T1=0.465#in\n",
+      "v2=sqrt(2*32.2*1400*h)#ft/sec\n",
+      "v3=sqrt(2*32.2*1400*h1)#ft/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V1=d*v*x1#ft^3\n",
+      "V2=d*v1*x2#ft^3\n",
+      "A1=(V1/v2)*144#in^2\n",
+      "A2=(V2/v3)*144#in^2\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the throat area of the nozzle is\",round(A1,3),\"and exit area is\",round(A2,3),\"in^2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the throat area of the nozzle is 0.103 and exit area is 0.171 in^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 51
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.11 Page 96"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "h=0.5#lb\n",
+      "p1=2.5#lb/in^2\n",
+      "p2=100#lb/in^2\n",
+      "t=250#Degree C\n",
+      "pv=1.3#constant\n",
+      "pt=0.5457*p2#lb/in^2\n",
+      "t1=18#degree C\n",
+      "h1=32#C.H.U/lb\n",
+      "h2=151#C.H.U/lb\n",
+      "D=0.887#in\n",
+      "V1=sqrt(2*32.2*1400*h1)#ft/sec\n",
+      "V2=sqrt(2*32.2*1400*h2)#ft.sec\n",
+      "s1=8.74#ft^3\n",
+      "s2=140.8#ft^3\n",
+      "T1=0.687#in\n",
+      "T1=1.77#in\n",
+      "V3=h*s1#ft^3/sec\n",
+      "V4=h*s2#ft^3/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "A1=(V3/V1)*144#in^2\n",
+      "A2=(V4/V2)*144#in^2\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the size os nozzle is\",round(A2,3),\"in^2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the size os nozzle is 2.748 in^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 52
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.13 Page 97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "h=500.0#gallons\n",
+      "p1=150.0#lb/in^2\n",
+      "p2=0.6#lb/in^2\n",
+      "P=p2*p1#lb/in^2\n",
+      "h=25.0#C.H.U/lb\n",
+      "p=62.4#lb/ft^2\n",
+      "V=sqrt(2.0*32.2*1400.0*h)#ft/sec\n",
+      "D=0.996#in^2\n",
+      "d=4.898#in^2\n",
+      "v1=1.2#in\n",
+      "vi=163.2#ft/sec\n",
+      "m=V/32.2#ft.lb.sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=V/vi-1#lb\n",
+      "W1=(5000.0)/(3600.0*W)#ft/sec\n",
+      "V1=W1*d*D#ft^3\n",
+      "A=V1/V*144.0#in^2\n",
+      "I=(50.0/36.0+W1)#lb/sec\n",
+      "A1=(I*144.0)/(62.4*vi)#in^2\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the aera of the stream and water orifices is\",round(A1,3),\"in^2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the aera of the stream and water orifices is 0.022 in^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 54
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.15 Page 100"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "a=50#degree c\n",
+      "v=2000#ft/sec\n",
+      "p=800#ft/sec\n",
+      "b=20#Degree C\n",
+      "v1=0.9#in^2\n",
+      "v2=513#ft/sec\n",
+      "W=(1/32.2)*(1810-(-313))*p#ft/lb lb stream /sec\n",
+      "K=(v**2)/(2*32.2)#ft/lb sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "D=(W/K)*100#percent/lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the work done per lb is\",round(D,3),\"%/lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the work done per lb is 84.92 %/lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 56
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.16 Page 102"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "t=65#B.Th.U per lb\n",
+      "n=0.98#dry\n",
+      "p=105#lb/in^2\n",
+      "a=14#Degree C\n",
+      "b=20#Degree C\n",
+      "p1=800#ft/sec\n",
+      "v=0.80#ft/lb\n",
+      "p2=3.5#lb/sec\n",
+      "q=1400#in\n",
+      "V=sqrt(2*32.2*778*t)#ft/sec\n",
+      "W=(p1)*(1750-b)/32.2#ft lb/lb stream/sec\n",
+      "H=(W*p2/550)#ft/lb\n",
+      "E=1/64.4*((1053)**2-(825)**2)#ft.lb steam /sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "Hd=(E/q)#C.H.U\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the steam as it leaves the blades and horse power is\",round(Hd,3),\"C.H.U\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the steam as it leaves the blades and horse power is 4.749 C.H.U\n"
+       ]
+      }
+     ],
+     "prompt_number": 57
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.18 Page 103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=300#ft/sec\n",
+      "W=880#ft/sec\n",
+      "a=18#degree C\n",
+      "g=32.2#ft\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "Wd=(p*W)/g#ft lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the work done /lb steam sec is\",round(Wd,3),\"ft lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the work done /lb steam sec is 8198.758 ft lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 58
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.19 Page 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "a=35.0#Degree C\n",
+      "b=20.0#degree C\n",
+      "f=2.0#ft\n",
+      "w=422.0#ft\n",
+      "w1=222.0#ft\n",
+      "g=32.2#ft\n",
+      "s=1500.0#r p m\n",
+      "j=0.8#ft\n",
+      "p=3.0#lb/sec\n",
+      "h=80.0#percent\n",
+      "i=1400.0#ft\n",
+      "P=(pi*(31.0/12.0)*(s/60))#ft/sec\n",
+      "W=P/g*(w-(-w1))#ft lb\n",
+      "H=(p*W)/550#ft lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "E=W/(j*i)#C.H.U\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the house -power developed per pair of rings if the steam is\",round(E,3),\"ft lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the house -power developed per pair of rings if the steam is 3.623 ft lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 61
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.23 Page 106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "d=73#ft\n",
+      "h=2#in\n",
+      "s=750#r p m\n",
+      "s1=31.3#lb/sec\n",
+      "h1=1.5#in\n",
+      "a=25#Degree c\n",
+      "p=5.7#lb/in^2\n",
+      "d1=0.97#in\n",
+      "h2=370#ft/sec\n",
+      "j=32.2#in\n",
+      "k=1400#in\n",
+      "e=0.75#percent\n",
+      "w=326#in\n",
+      "p=290#in\n",
+      "vi=155#ft/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "P=(pi*7.69*s)/(60)#ft/sec\n",
+      "H=(P*h2*s1)/(550*j)#ft/sec\n",
+      "E=(P*h2)/(j*e*k)#C.H.U/lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the drop in pressure while the steam is passing through the turbine is\",round(E,3),\"C.H.U/lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the drop in pressure while the steam is passing through the turbine is 3.305 C.H.U/lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 63
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.25 Page 108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=300#lb/in^2\n",
+      "ab=100#degree C\n",
+      "w=26.4#C\n",
+      "t=40#lb/in^2\n",
+      "t1=180#Degree C\n",
+      "p1=0.5#lb/in^2\n",
+      "T=732.38#C.H.U\n",
+      "W=26.2#C.H.U/lb\n",
+      "W1=102#C.H.U/lb\n",
+      "x=0.963#in\n",
+      "d=335#C.H.U/lb\n",
+      "E=743.85#C.H.U/lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "H=T-w#C.H.U/lb\n",
+      "h=T-W1#C.H.U/lb\n",
+      "H1=E-h#C.H.U/lb\n",
+      "T1=H+H1#C.H.U/lb\n",
+      "Wd=W1+d#C.H.U\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The total work done per lb steam is\",round(Wd,3),\"C.H.U\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The total work done per lb steam is 437.0 C.H.U\n"
+       ]
+      }
+     ],
+     "prompt_number": 64
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.28 Page 110"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=100#lb/in62\n",
+      "p1=0.5#lb/in^2\n",
+      "T1=659.3#C.H.U/lb\n",
+      "T2=26.2#C H U/lb\n",
+      "W=181#C H U/lb\n",
+      "H1=66#C H U/lb\n",
+      "H2=115#C H U /lb\n",
+      "D=0.912#C H U/lb\n",
+      "H3=533.4#C H U/lb\n",
+      "T3=108.5 #Degree C\n",
+      "T4=26.4#Degree C\n",
+      "W1=82.1/(D*H3)#lb\n",
+      "s=1-W1#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=W/(T1-T2)*100#percent\n",
+      "Wd=H1+(H2*s)#C H U/lb\n",
+      "H=T1-T3#C H U//lb\n",
+      "TE=Wd/H*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the without bleeding is\",round(T,3),\"%\"\n",
+      "print\"the proper weight of steam is bled is\",round(TE,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the without bleeding is 28.589 %\n",
+        "the proper weight of steam is bled is 29.338 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 66
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Examples_in_Thermodynamics_Problems/Chapter7.ipynb b/Examples_in_Thermodynamics_Problems/Chapter7.ipynb
new file mode 100755
index 00000000..c07f5f58
--- /dev/null
+++ b/Examples_in_Thermodynamics_Problems/Chapter7.ipynb
@@ -0,0 +1,539 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3a5f70d3bf4cb3a553b5fa0666639707f168933e92d2f8256330898382eb0c39"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 7: COMBUSTION BOILER TRIALS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.1 Page112"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "C=86#percent\n",
+      "h=4.2#percent\n",
+      "w=20#lb\n",
+      "a=w+0.902#lb\n",
+      "C2=44/12#lb\n",
+      "N=0.77#lb\n",
+      "CO2=3.15\n",
+      "H2O=0.042*9#lb\n",
+      "N2=w*N#lb\n",
+      "Ox=a-CO2-H2O-N2#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "Co2=CO2/a*100#percent\n",
+      "H2o=H2O/a*100#percent\n",
+      "n2=N2/a#percent\n",
+      "o2=Ox/a*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The composition of the products of combutions by weight is\",round(o2,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The composition of the products of combutions by weight is 9.444 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.2 Page 113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "g=0.05#percent\n",
+      "n=0.35#percent\n",
+      "c=0.5#percent\n",
+      "h=10#percent\n",
+      "m=167#C H U\n",
+      "h1=162#C H U\n",
+      "v=1#ft^3\n",
+      "H2=0.5#ft^3\n",
+      "Co=0.05#ft^3\n",
+      "v2=3#ft\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "G=(g*c)+(n*H2)#ft^3\n",
+      "Tv=(g*h1)+(n*m)#C H U\n",
+      "M=Tv/v2#C H U/ft^3\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The gas with twice its volume of air is\",round(M,3),\"C.H.U/ft^3\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The gas with twice its volume of air is 22.183 C.H.U/ft^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.4 Page 114"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "g=8#percent\n",
+      "f=88#percent\n",
+      "C=12#percent\n",
+      "w=20#lb\n",
+      "C1=11/3#lb\n",
+      "CO2=3/11#lb\n",
+      "e=0.08#lb\n",
+      "D=0.0218#lb C\n",
+      "w1=0.88#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W1=w1/D#lb lb fuel\n",
+      "T=w1/D*w#lb/hr\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the total weight of exaust gas leaving the engine per hour is\",round(T,3),\"lb/hr\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the total weight of exaust gas leaving the engine per hour is 807.339 lb/hr\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.6 Page 116"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "a=30#percent\n",
+      "b=20#percent\n",
+      "c=8#percent\n",
+      "h=42#percent\n",
+      "t1=20#degree C\n",
+      "g=0.24#in\n",
+      "t2=320#degree c\n",
+      "M=7.654#lb/lb fuel\n",
+      "A=3*M#lb/lb fuel\n",
+      "W=0.08+0.04#lb\n",
+      "T=A+0.8#lb\n",
+      "w1=0.72+0.3#lb\n",
+      "w=T-w1#lb\n",
+      "d=w*0.24*(t2-b)#C H U/lb fuel\n",
+      "H=1.02*(639+0.49*220-t1)#C H U/lb fuel\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T1=d+H#C H U/lb fuel\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"total heat carried away by flue gases is\",round(T1,3),\"C H U/lb fuel\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "total heat carried away by flue gases is 2378.76 C H U/lb fuel\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.7 Page 117"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "h=40#percent\n",
+      "g=30#percent\n",
+      "c=8#percent\n",
+      "n=10#percent\n",
+      "w=6#percent\n",
+      "g1=10#percent\n",
+      "g2=4.14#ft^3\n",
+      "Ch4=4.562#ft^3 of air\n",
+      "Co2=0.44#ft\n",
+      "H2o=1.18#ft^3\n",
+      "N2=3.7#ft63\n",
+      "x=41.4/11#ft63\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=Ch4+x#ft^3\n",
+      "v=1+T#ft^3\n",
+      "V=x+g2#ft^3\n",
+      "D=v-V#ft^3\n",
+      "P=D/v*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the volueme of air suplied per is\",round(P,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the volueme of air suplied per is 15.248 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.9 Page 119"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "Ox=2.679#lb\n",
+      "O2=Ox-0.03#lb O2/lb fuel\n",
+      "o2=O2*100.0/23.0#lb air lb fuel\n",
+      "E=o2/2.0#lb\n",
+      "a=17.325#lb /lb fuel\n",
+      "Co2=3.294#lb\n",
+      "H2o=0.315#lb\n",
+      "N2o=13.34#lb\n",
+      "O2=23.0/100.0*E#lb\n",
+      "So2=0.005*2#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "W=Co2+N2o+O2+So2#lb /lb fuel\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the total weight of dry products is\",round(W,3),\"lb /lb fuel\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the total weight of dry products is 17.969 lb /lb fuel\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.11 Page 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "l=8.7#percent\n",
+      "Co2=42.0#percent\n",
+      "N=28.0#percent\n",
+      "O2=32.0#percent\n",
+      "x=27.65#lb air\n",
+      "W=(O2/12.0)*(100.0/23.0)#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "A=x-W#lb\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the air to flues /lb carbon is\",round(A,3),\"lb\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the air to flues /lb carbon is 16.056 lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.13 Page 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "Co=2420#C H U\n",
+      "a=3400/6#C H U\n",
+      "R=Co/3246#C H U\n",
+      "T=1+0.745#lb\n",
+      "n=1.12 #lb\n",
+      "O2=1.33/1.745#lb\n",
+      "C=O2*100/23#lb\n",
+      "CB=n/T#lb\n",
+      "m=1.74#lb\n",
+      "k=2.33#lb\n",
+      "l=1.33#lb\n",
+      "c=77#lb\n",
+      "d=23#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "Y=l*c/d#N2\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the weight of air and steam is\",round(Y,3),\"N2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the weight of air and steam is 4.453 N2\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.15 Page 123"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "w=20#lb\n",
+      "t=320#degree C\n",
+      "t1=22#Degree C\n",
+      "w1=0.0807#lb\n",
+      "A=0.03901#AH\n",
+      "W=0.07469#AH\n",
+      "g=5.2#A\n",
+      "Q=W-A#A\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "H=(g*0.625)/(Q)#ft\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"weight of equal column of external air is\",round(H,3),\"ft\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "weight of equal column of external air is 91.087 ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.16 Page 124"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=120#lb/in^2\n",
+      "h=30#in\n",
+      "t=48#degree C\n",
+      "C=1000#lb\n",
+      "t1=26#degree C\n",
+      "m=2.2#percent\n",
+      "g=18#lb\n",
+      "f=127#lb\n",
+      "j=33000#in\n",
+      "q=1400#in\n",
+      "L=0.978*8000#C.H.U\n",
+      "b=50#in\n",
+      "t2=320#degree C\n",
+      "g1=0.24#in\n",
+      "d=0.90#in\n",
+      "a=0.4912*30#lb/in^2\n",
+      "P=p+a#lb/in^2 abs\n",
+      "T=178.62+d*483.45#C.H.U/lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "Wt=C/f#lb\n",
+      "H=Wt*(T-t)#C.H.U\n",
+      "F=0.022*(638.9+0.48*220-t1)#C.H.U\n",
+      "G=g*0.24*(t2-t1)#C.H.U\n",
+      "E=H/L*100#percent\n",
+      "E1=b*j*60/(L*f*q)*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the heat balance for the boiler and find its efficiency and the overall efficiency of the plant is\",round(E1,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the heat balance for the boiler and find its efficiency and the overall efficiency of the plant is 7.117 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.17 Page 126"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=7950#lb C.H.U /lb\n",
+      "w=15#percent\n",
+      "c=0.85#lb\n",
+      "w1=14#percent\n",
+      "w2=9#percent\n",
+      "t1=15#degree C\n",
+      "t2=325#degree C\n",
+      "g=0.25#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "H=c*v#C.H.U\n",
+      "H1=0.15*(638.9+0.48*225-15)#C.H.U\n",
+      "C=c*c#lb\n",
+      "A=19.2#lb\n",
+      "Wt=A+C#lb\n",
+      "P=Wt*g*(t2-t1)#C.H.U/lb coal\n",
+      "R=0.14*H#C.H.U\n",
+      "R1=H-H1-P-R#C.H.U\n",
+      "B=R1/H*100#percent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the efficiency of a boiler is\",round(B,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the efficiency of a boiler is 61.527 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Examples_in_Thermodynamics_Problems/Chapter8.ipynb b/Examples_in_Thermodynamics_Problems/Chapter8.ipynb
new file mode 100755
index 00000000..417f17af
--- /dev/null
+++ b/Examples_in_Thermodynamics_Problems/Chapter8.ipynb
@@ -0,0 +1,502 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:7a4f335b4806f25fef0bf94c3a05e4c422a4dc1cb839f62bebcb4060f38f97a2"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 8: INTERNAL COMBUSTION ENGINES: VARIABLE SPECIFIC HEATS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.1 Page 128"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "b=6#in\n",
+      "b1=9.0#in\n",
+      "r1=4.0#ratio\n",
+      "r2=1.0#ratio\n",
+      "p=50#lb/in^2\n",
+      "s=300#r p m\n",
+      "e=30#per cent\n",
+      "v=260#C.H.U\n",
+      "a=1.41\n",
+      "h=0.30#in\n",
+      "g=33000#in\n",
+      "g1=1400#in\n",
+      "A=1-(r2/r1)**0.41#lb/in^2\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "I=(p*pi*36/4*9/12*s/2)*1/g#ft^3\n",
+      "X=(I*g)/(g1*v*h)#ft^3\n",
+      "C=X*60/I#ft^3\n",
+      "R=h/A*100#per cent\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The fuel consumption in ft^3/h p hr and the efficiency relative to the air standard cycle is\",round(R,3),\"%\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fuel consumption in ft^3/h p hr and the efficiency relative to the air standard cycle is 69.195 %\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.3 Page 129"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "h=200.0#r p m\n",
+      "h1=50.0#i h p\n",
+      "P4=33.4#lb/in^2\n",
+      "W=9000.0#ft lb\n",
+      "x=33000.0#ft.lb\n",
+      "p=1728.0#ft/lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "w=h1*x/100.0#ft lb\n",
+      "T=w/W#ft^3\n",
+      "V =13.0/14.0*T#ft^3\n",
+      "D=((V*p*8)/(3*pi))**(1.0/3.0)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The diameter of the cylinder of a single acting and swept volume is\",round(D,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The diameter of the cylinder of a single acting and swept volume is 13.567 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6 Page 132"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "h=12#in\n",
+      "h1=18#in\n",
+      "v=19000#B.Th.U/lb\n",
+      "T=12600#lb/in^2\n",
+      "m=90#lb/in^2\n",
+      "w=120#gal\n",
+      "t1=140#F\n",
+      "t2=60#F\n",
+      "t3=570#F\n",
+      "Cv=0.24#ft/lb\n",
+      "q=810#ft/lb\n",
+      "n=16.9#lb\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "H=(n/t2*v)#B.Th.U\n",
+      "H1=(m*pi*(144/4)*(h1/h)*(T/t2))/(778*2)#B.TH.U/min\n",
+      "H2=1750#B.Th.U\n",
+      "H3=(H1-H2)#B.Th.U\n",
+      "W=(w*10/t2)*(t1-t2)#B,Th.U\n",
+      "G=((q+n)/(t2))*(t3-t2)*Cv#B.TH.U\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The heat balance showing heat quantities received and the discharged per min is\",round(G,3),\"B.TH.u\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The heat balance showing heat quantities received and the discharged per min is 1686.876 B.TH.u\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.8 Page 133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=12.5 #i.p.h\n",
+      "p1=8.25#in\n",
+      "p2=12.0#in\n",
+      "t=110.0#per min\n",
+      "g1=280.0#C.H.U/ft^3\n",
+      "g2=215.0#ft^3\n",
+      "V=25.0#percent\n",
+      "e=0.875#in\n",
+      "T=33000.0#in\n",
+      "v1=0.4170#ft^3\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "M=(T*v)/((pi*(p1)**2.0)/(4.0)*(p2/p2)*(t))#lb.in^2\n",
+      "V1=pi*(p1)**2.0/4.0*p2/1728.0*e#ft^3\n",
+      "V2=(pi*(p1)**2.0*p2)/(4.0*4.0*1728.0)#ft^3\n",
+      "G=(g2/60.0*1.0/t)#ft^3\n",
+      "T1=G*g1#C.H.U\n",
+      "T2=(T1/v1)#C.H.U\n",
+      "F=(M/T2)#C.H.U\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The value of the Tookey factor for gas engine is\",round(F,3),\"C.H.U\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of the Tookey factor for gas engine is 3.207 C.H.U\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.10 Page 135 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p1=140#lb/in^2\n",
+      "p2=6.6#lb/in^2\n",
+      "v1=122#r.p.m\n",
+      "v2=1250#b.h.p\n",
+      "t=1425#i.h.p\n",
+      "p3=77.8#lb/in^2\n",
+      "h=0.356#lb\n",
+      "v=10000#C.H.U/lb\n",
+      "h2=2400#lb\n",
+      "q=33000#in\n",
+      "j=1400#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "t=(v2*q*60)/(j*h*v2*v)*100#percent\n",
+      "V=(p3*144*v1)/(q*2)#V\n",
+      "V1=(p2*144*v1)/q#V\n",
+      "T=24.16#V\n",
+      "V2=t/T#ft^3\n",
+      "I=V*V2#ft^3\n",
+      "I1=V1*V2#ft^3\n",
+      "H=24904#C/.H.U//mim\n",
+      "T=(I*q*60)/(j*h*v2*v)*100#percent\n",
+      "T1=(I1*q)/(j*H)*100#percent\n",
+      "T2=(h*v2*v)/(60)#C.H.U\n",
+      "H1=(v2*q)/(j)#C.H.U/mim\n",
+      "H2=H-(I1*q*v2)/(j*t)#C.H.U/mim\n",
+      "T3=H1+H2#C.H.U/mim\n",
+      "Tn=T2-T3#C.H.U/mim\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the overall thermal effciency is\",round(t,3),\"%\"\n",
+      "print\"the cylinder volume is\",round(V,3),\"ft^3\"\n",
+      "print\"the thermal efficiency of steam engine is\",round(T1,3),\"%\"\n",
+      "print\"total heat in oil.min is\",round(Tn,3),\"C.H.U/min\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the overall thermal effciency is 39.727 %\n",
+        "the cylinder volume is 20.709 ft^3\n",
+        "the thermal efficiency of steam engine is 0.547 %\n",
+        "total heat in oil.min is 24083.671 C.H.U/min\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.12 Page 138"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "r=14#in\n",
+      "r1=1.8#in\n",
+      "t=30.4#lb\n",
+      "e=0.6#lb\n",
+      "lam=1.4\n",
+      "d=12#in\n",
+      "d1=18#in\n",
+      "v=10000#C.H.U/lb\n",
+      "P=200#r m p\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "A=1-(1/(lam*(r)**0.4))*((r1)**lam-1)/(r1-1)#percent\n",
+      "T=e*A#percent\n",
+      "H=t/60*v#C.H.U\n",
+      "H1=H*T#C.H.U\n",
+      "I=(H1*1400)/(33000)#ln/in^2\n",
+      "M=(I*33000)/(2*pi*144/4*d1/12*P/2)#lb/in^2\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the indicated hourse-power and the mean effiective pressure of the engine is\",round(M,3),\"lb/in^2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the indicated hourse-power and the mean effiective pressure of the engine is 75.666 lb/in^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.19 Page 140"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "cv=0.1714#C.H.U\n",
+      "R=100.3#ft.lb\n",
+      "T=500#degree c\n",
+      "J=1400#in\n",
+      "Lam=R/J#C.H.U percent C\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "Cp=Lam+cv#C.H.U percent C\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The specific heat at constant volume of a gaseous mixture is\",round(Cp,3),\"C.H.U %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The specific heat at constant volume of a gaseous mixture is 0.243 C.H.U %\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.20 Page 141"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "a=0.124#in\n",
+      "b=0.000025#in\n",
+      "R=0.0671#heat units\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "Cp=(R+a+b)+b#T\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the specific heat of a gas at constant volume is\",round(Cp,3),\"T\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the specific heat of a gas at constant volume is 0.191 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.21 Page 142"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=18#ft^3\n",
+      "p=14#lb/in^2\n",
+      "p1=150#lb/in^2\n",
+      "Cp=0.242#T\n",
+      "Cv=0.171#T\n",
+      "j=1400#ft\n",
+      "R=j*(Cp-Cv)#ft.lb\n",
+      "p2=144#ft\n",
+      "I1=137500#ft/lb\n",
+      "I2=6.37#ft/lb\n",
+      "v2=3.282#ft^3\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=(p2*p*v)/R#Degree C\n",
+      "T2=(p2*p1*v2)/(R)#Degree c\n",
+      "W=Cp*(T2-T)+0.00002*((T2)**2-(T)**2)#C.H.U/lb\n",
+      "C=v/v2#ratio\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The work done the temperatures at the beginning and end of compression ratio is\",round(C,3),\"ratio\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The work done the temperatures at the beginning and end of compression ratio is 5.484 ratio\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.22 Page 144"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "r=12.5#rario\n",
+      "p=0.39*10**6#ft.lb\n",
+      "p1=14#lb/in^2\n",
+      "t=373#Degree C\n",
+      "g=18#ft^3\n",
+      "t1=100#Degree C\n",
+      "V=g/r#ft^3\n",
+      "I=0.2*10**6#ft lb/lb\n",
+      "T=0.59*10**6#ft.lb/lb\n",
+      "D=0.221*10**6#ft.lb/lb\n",
+      "A=0.095*10**6#ft.lb/lb\n",
+      "E=0.264*10**6#ft.lb/lb\n",
+      "E1=0.390*10**6#t.lb/lb\n",
+      "\n",
+      "#ALCULATIONS\n",
+      "W=(E/E1)*100#ercent\n",
+      "M=(E)/(144*(g-V))#b.in^2\n",
+      "\n",
+      "#RSULTS\n",
+      "print\"the efficiency of the engine and the m e p on the assumption that the specific heats is\",round(M,3),\"lb in^2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the efficiency of the engine and the m e p on the assumption that the specific heats is 110.709 lb in^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Examples_in_Thermodynamics_Problems/Chapter9.ipynb b/Examples_in_Thermodynamics_Problems/Chapter9.ipynb
new file mode 100755
index 00000000..320477a8
--- /dev/null
+++ b/Examples_in_Thermodynamics_Problems/Chapter9.ipynb
@@ -0,0 +1,227 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:023bb2358c5a7a6740b1b9a08290e11f954e790555a353817bbe84615e4679e6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 9: VALVE DIAGRAMS AND VALVE GEARS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 Page 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=20#in\n",
+      "l=100#in\n",
+      "r=120#r.p.m\n",
+      "v=3.5#in\n",
+      "l2=1#in\n",
+      "l3=1/8#in\n",
+      "v1=1.44#omega in/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=p*(1.06/1.166)#omega in./sec\n",
+      "R=(V/v1)#omega in/sec\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The ratio of velocity of the piston to the velocity is\",round(R,3),\"Omega in/sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of velocity of the piston to the velocity is 12.626 Omega in/sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.7 Page 151"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=0.6#in\n",
+      "m=1.0#in\n",
+      "t=0.75#in\n",
+      "p=4#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "D=t/m#in\n",
+      "A=(p*m/D)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel and laps of the value is\",round(A,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel and laps of the value is 5.333 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.10 Page 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "l=1.5#in\n",
+      "p=4.0#in\n",
+      "v=0.98#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=(l*p/v)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the particulars of a value and it eccentric is\",round(T,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the particulars of a value and it eccentric is 6.122 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.12 Page 156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=1/10#in\n",
+      "v1=3/4#in\n",
+      "v2=3/5#in\n",
+      "m=1*1/2#in\n",
+      "l=4#cranks\n",
+      "a1=1.25#in\n",
+      "a2=0.7#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "C=a1/a2#in\n",
+      "A=l*a1/a2#in\n",
+      "S=(A/2-a1)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel of the value is\",round(S,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel of the value is 2.321 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17 Page 161"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=3*1/2#in\n",
+      "a=30#degree\n",
+      "l=0.8#in\n",
+      "v1=0.2#in\n",
+      "L=0.13#in\n",
+      "m=1.075#in\n",
+      "d=0.58#in\n",
+      "p=1.875#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=(p-d)#in\n",
+      "P=V+1.25#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the main value and the maximum opening to steam is\",round(P,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the main value and the maximum opening to steam is 2.545 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Examples_in_Thermodynamics_Problems/README.txt b/Examples_in_Thermodynamics_Problems/README.txt
new file mode 100755
index 00000000..b203a218
--- /dev/null
+++ b/Examples_in_Thermodynamics_Problems/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Tarun Kumar Das
+Course: btech
+College/Institute/Organization: College of Engineering
+Department/Designation: Industrial Engineering
+Book Title: Examples in Thermodynamics Problems
+Author: W. R. Crawford
+Publisher: Sir Isaac Pitman, London
+Year of publication: 1937
+Isbn: 978-0471862567
+Edition: 3
\ No newline at end of file
diff --git a/Examples_in_Thermodynamics_Problems/screenshots/Heat_supplied.png b/Examples_in_Thermodynamics_Problems/screenshots/Heat_supplied.png
new file mode 100755
index 00000000..da1352c8
Binary files /dev/null and b/Examples_in_Thermodynamics_Problems/screenshots/Heat_supplied.png differ
diff --git a/Examples_in_Thermodynamics_Problems/screenshots/Ideal_efficiency.png b/Examples_in_Thermodynamics_Problems/screenshots/Ideal_efficiency.png
new file mode 100755
index 00000000..09dc192c
Binary files /dev/null and b/Examples_in_Thermodynamics_Problems/screenshots/Ideal_efficiency.png differ
diff --git a/Examples_in_Thermodynamics_Problems/screenshots/Thermal_capacity.png b/Examples_in_Thermodynamics_Problems/screenshots/Thermal_capacity.png
new file mode 100755
index 00000000..75f29503
Binary files /dev/null and b/Examples_in_Thermodynamics_Problems/screenshots/Thermal_capacity.png differ
diff --git a/Fundamentals_of_Electrical_Drives/Chapter10_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter10_2.ipynb
new file mode 100755
index 00000000..07becb3f
--- /dev/null
+++ b/Fundamentals_of_Electrical_Drives/Chapter10_2.ipynb
@@ -0,0 +1,470 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10:Traction Drives"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:10.1,Page No:320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "Ma=480             #mass of each motor armature in kg  0.48tonne=480kg\n",
+      "Da=0.5             #average diameter of each motor in m\n",
+      "m=450              #mass of each wheel in kg\n",
+      "R=0.54             #radius of each wheel tread in m\n",
+      "M=40               #combine wight of one motor and one trailer coach in ton\n",
+      "alpha=5            #accelaration\n",
+      "N=4                #number of DC motors \n",
+      "a=0.4              #gear ratio\n",
+      "r=20               #train resistance\n",
+      "\n",
+      "#calculation\n",
+      "Jw=1/2*m*R**2      #inertia of the each wheel\n",
+      "nw=2*(N*2)         #total number of wheels\n",
+      "J1=nw*Jw           #total inertia of all the wheels\n",
+      "\n",
+      "Jm=N*(1/2*Ma*(Da/2)**2)  #approximate inertia of all the motors\n",
+      "J2=Jm/a**2               #approximate innertia of the motor referred to the wheels\n",
+      "\n",
+      "Fa2=(J1+J2)*alpha*1000/3600/R    #Tractive efforts for driving rorating parts\n",
+      "Fa1=277.8*M*alpha                #tractive efforts to accelerate the train mass horizontally\n",
+      "Fr=r*M                           #Tractive efforts required to overcome train resistance\n",
+      "Ft=Fa1+Fa2+Fr                    #Tractive efforts required to move the train\n",
+      "Tm=a*R*Ft/N                      #torque per motor\n",
+      "\n",
+      "#results\n",
+      "print\"\\nTorque per motor:Tm=\",round(Tm,1),\"N-m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Torque per motor:Tm= 3241.3 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:10.2,Page No:321"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "M=100              #mass of each motor armature in tonne\n",
+      "Me=100\n",
+      "Tm=5000            #torque of each motor in N-m\n",
+      "Da=0.5             #average diameter of each motor in m\n",
+      "m=450              #mass of each wheel in kg\n",
+      "R=0.54             #radius of each wheel tread in m\n",
+      "N=4                #number of DC motors \n",
+      "r=25               #train resistance N/tonne\n",
+      "a=0.25             #gear ratio \n",
+      "nt=0.98            #gear transmission efficiency\n",
+      "G=50               #up gradient\n",
+      "Vm=100             #speed in kmph\n",
+      "\n",
+      "#calculation        \n",
+      "Ft=nt*Tm*N/a/R     #Tractive efforts required to move the train\n",
+      "alpha=(Ft-(9.81*M*G+M*r))/(277.8*1.1*Me)  #accelaration\n",
+      "t=Vm/alpha         #time taken to attain speed of Vm\n",
+      "\n",
+      "#results\n",
+      "print\"\\n time taken to reach a speed of 100kmph is :t=\",round(t,1),\"sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        " time taken to reach a speed of 100kmph is :t= 32.6 sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:10.3,Page No:321"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "G=8               #up gradient\n",
+      "r=25              #train resistance N/tonne\n",
+      "M=500             #mass of the electric train in tonne\n",
+      "n=0.8             #combine effiency of transmission and motor\n",
+      "#speed time curve characteristics\n",
+      "t1=60       #characteristic for uniform accelaration at v1 in sec\n",
+      "alpha=2.5   #given accelaration in km/hr/sec at t1\n",
+      "t2=5*60     #characteristic for constant speed in sec \n",
+      "t3=3*60     #characteristic for coasting in sec\n",
+      "B=3         #dynamic braking deceleration in km/hr/sec\n",
+      "\n",
+      "#calculation\n",
+      "Vm=alpha*t1  #peak voltage\n",
+      "Fg=9.81*M*G  #tractive effort required to overcome the force of gravity\n",
+      "Fr=M*r       #tractive effort required to overcome the train resistance\n",
+      "F_bc=Fg+Fr   #retarding force during coasting\n",
+      "\n",
+      "Me=1.1*M\n",
+      "B_c=F_bc/(277.8*Me)   #deceleration during coasting\n",
+      "V=Vm-B_c*t3           #speed after coasting\n",
+      "t4=V/B                #characteristic for a dynamic braking of 3km/hr/sec\n",
+      "\n",
+      "d1=1/2*Vm*t1/3600     #distance covered during accelaration \n",
+      "d2=Vm*t2/3600         #distance covered during constant speed\n",
+      "d3=1/2*(Vm+V)*t3/3600 #distance covered coasting\n",
+      "d4=1/2*V*t4/3600      #distance covered during braking\n",
+      "D=d1+d2+d3+d4         #distance during stops\n",
+      "D1=d1+d2\n",
+      "x=D1/D\n",
+      "y=1-x\n",
+      "E=(0.01072*Vm**2/D)*(Me/M)+2.725*G*x+0.2778*r*x   #specific energy output\n",
+      "Eo=E/n              #specific energy consumption\n",
+      "\n",
+      "#results\n",
+      "print\"\\n Specific energy consumption is :Eo=\",round(Eo,1),\"Whptpkm\"    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        " Specific energy consumption is :Eo= 41.1 Whptpkm\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:10.4,Page No:323"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "G=20              #up gradient\n",
+      "r=25              #train resistance N/tonne\n",
+      "M=500             #mass of the electric train in tonne\n",
+      "n=0.8             #combine effiency of transmission and motor\n",
+      "#speed time curve characteristics\n",
+      "t1=50       #characteristic for uniform accelaration at v1 in sec\n",
+      "alpha=3     #given accelaration in km/hr/sec at t1\n",
+      "t2=10*60    #characteristic for constant speed in sec \n",
+      "B=2.5       #uniform braking deceleration in kmphs to rest\n",
+      "\n",
+      "\n",
+      "#calculation \n",
+      "Vm=alpha*t1  #peak voltage\n",
+      "t3=Vm/B      #characteristic for a uniform braking of B=2.5 kmphs\n",
+      "\n",
+      "#(i)during accelaration total tractive effort \n",
+      "Me=1.1*M\n",
+      "Fta=277.8*Me*alpha-9.81*M*G+M*r   #total tractive effort during accelaration\n",
+      "Da=1/2*Vm*t1/3600     #distance covered during accelaration ,and t1 is in seconds\n",
+      "Ea=Fta*Da*1000/3600   #energy output during accleration in Wh\n",
+      "\n",
+      "#(ii)during uniform speed net tractive effort\n",
+      "Ftu=-9.81*M*G+M*r     #total tractive effort during uniform speed\n",
+      "#the answer for Ftu in the book is -105220 N  which is wrong which leads to the other incorrect answers in the book\n",
+      "\n",
+      "Du=Vm*t2/3600         #distance traveled,and t2 is in seconds\n",
+      "Eu=Ftu*Du*1000/3600   #energy output in Wh\n",
+      "\n",
+      "#(iii)during braking net tractive effort\n",
+      "Ftb=-277.8*Me*B-9.81*M*G+M*r  #total tractive effort for the net braking\n",
+      "Db=1/2*Vm*t3/3600     #distance covered during braking\n",
+      "Eb=Ftb*Db*1000/3600   #energy output during braking in Wh\n",
+      "\n",
+      "E=Ea/n+n*(Eu+Eb)      #net energy consumption\n",
+      "D=Da+Du+Db            #total distance traveled\n",
+      "Eo=E/(M*D)            #specific energy consumption\n",
+      "\n",
+      "#results \n",
+      "print\"(i)Energy consumption during accelaration is :Ea :\",round(Ea),\"Wh\"\n",
+      "print\"   There is a slight difference in the answer due to the number of decimal place\"\n",
+      "print\"\\n(ii)Energy consumption during uniform speed is :Eu :\",round(Eu),\"Wh\" \n",
+      "print\"\\n(iii)Energy consumption during braking is :Eb :\",round(Eb,1),\"Wh\"    \n",
+      "print\"\\n Net Energy consumption  is E :\",round(E,1),\"Wh\"    \n",
+      "print\"\\n Total Distance traveled is D :\",round(D,4),\"km\"\n",
+      "print\"\\n Specific Energy consumption  is Eo :\",round(Eo,2),\"Whptpkm\"\n",
+      "#answers in the book are incorrect\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Energy consumption during accelaration is :Ea : 107862.0 Wh\n",
+        "   There is a slight difference in the answer due to the number of decimal place\n",
+        "\n",
+        "(ii)Energy consumption during uniform speed is :Eu : -594444.0 Wh\n",
+        "\n",
+        "(iii)Energy consumption during braking is :Eb : -162352.4 Wh\n",
+        "\n",
+        " Net Energy consumption  is E : -470610.4 Wh\n",
+        "\n",
+        " Total Distance traveled is D : 27.2917 km\n",
+        "\n",
+        " Specific Energy consumption  is Eo : -34.49 Whptpkm\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:10.5,Page No:325"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "Mm=40       #weight of the motor coach in tonne\n",
+      "Mt=35       #weight of the trailer in tonne\n",
+      "u=0.2       #co-efficient of adhesion\n",
+      "r=30        #train resistance N/tonne\n",
+      "\n",
+      "#calculation\n",
+      "#(a)when the motor to trailer ratio is 1:2\n",
+      "M=Mm+2*Mt     #weight of one unit\n",
+      "Me=1.1*M\n",
+      "Md=40         #weight on the driving wheels\n",
+      "Fm=9810*u*Md  #total tractive effort without the wheel\n",
+      "Ft=Fm         #at maximum accelaration    \n",
+      "alpha=(Ft-M*r)/(277.8*Me) #required accelaration since Ft=277.8*u*alpha*M*r\n",
+      "\n",
+      "#(b)when the motor to trailer ratio is 1:1\n",
+      "M=Mm+Mt       #weight of one unit\n",
+      "Me=1.1*M\n",
+      "Md=40         #weight on the driving wheels\n",
+      "Fm=9810*u*Md  #total tractive effort wihout the wheel\n",
+      "Ft=Fm         #at maximum accelaration    \n",
+      "alpha1=(Ft-M*r)/(277.8*Me) #required accelaration since Ft=277.8*u*alpha*M*r\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(a)maximum accelaration on a level track  is alpha :\",round(alpha,4),\"kmphps\"\n",
+      "print\"\\n(b)maximum accelaration when motor to trailer coaches ratio is 1:1 is alpha :\",round(alpha1,3),\"kmphps\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)maximum accelaration on a level track  is alpha : 2.2366 kmphps\n",
+        "\n",
+        "(b)maximum accelaration when motor to trailer coaches ratio is 1:1 is alpha : 3.326 kmphps\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:10.6,Page No:326"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "G=10        #up gradient of the locomotive\n",
+      "Ml=110      #weight of the locomotive coach in tonne\n",
+      "Mt=500      #weight of the train in tonne\n",
+      "r=35        #train resistance N/tonne\n",
+      "n=0.8       #80% of the locomotive weight is carried by the driving wheels\n",
+      "alpha=1     #acelaration in kmphps\n",
+      "\n",
+      "#calculation\n",
+      "#when only the 110 tonne locomotive is present\n",
+      "Md=Ml*n     #weight of the motor\n",
+      "M=Mt+Ml     #total mass of the train\n",
+      "Me=1.1*M\n",
+      "Ft=277.8*Me*alpha+9.81*M*G+M*r  #total tractive effort required to move the train\n",
+      "Fm=Ft\n",
+      "u=Fm/(9810*Md)   #co-efficient of adhesion ,since Fm=9810*u*Md\n",
+      "\n",
+      "#when another locomotive of 70 is added together\n",
+      "Md=Ml*n+70      # mass of the motor\n",
+      "M_=Mt+Ml+70     # mass of the train\n",
+      "Fm=9810*u*Md\n",
+      "Ft=Fm\n",
+      "M=Ft/(277.8*1.1*alpha+9.81*G+r)  #total mass of the train, since Ft=277.8*Me*alpha+9.81*M*G+M*r\n",
+      "W=M-M_          #weight of additional bogies to be attached\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"\\n Given co-efficient of adhesion is:\",round(u,2)\n",
+      "print\"\\n Weight of additional bogies to be attached is:\",round(W,1),\"T\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        " Given co-efficient of adhesion is: 0.31\n",
+        "\n",
+        " Weight of additional bogies to be attached is: 415.2 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:10.7,Page No:327"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from sympy import Symbol\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "Ml=1000      #weight of the empty train in tonne\n",
+      "Mt=5000      #weight of the fully loaded train in tonne\n",
+      "G=15         #gradient of the track\n",
+      "V=30         #maximum speed of the train \n",
+      "r=40         #train resistance in N/tonne\n",
+      "u=0.25       #co-efficient of adhesion\n",
+      "alpha=0.3    #acelaration in kmphps\n",
+      "\n",
+      "n = Symbol('n')  #number of locomotive required\n",
+      "W=100            #weight of each locomotive\n",
+      "\n",
+      "#calculation\n",
+      "Md=W*n\n",
+      "Fm=9810*u*Md\n",
+      "Fb=9.81*(Mt+W*n)*G-(Mt+W*n)*r\n",
+      "print\"\\nFm=\",Fm\n",
+      "print\"\\nFb=\",Fb\n",
+      "print\"\\nequating Fb and Fm we get\"\n",
+      "n=535750/(245250-10715)\n",
+      "if (n>2) : \n",
+      "    n=3\n",
+      "print\"\\nThe number of locomotives is n:\",n    \n",
+      "Md=W*n\n",
+      "M=Ml+W*n\n",
+      "Ft=277.8*1.1*M*alpha+9.81*M*G+M*r  \n",
+      "Fm=9810*0.3*Md\n",
+      "if (Fm>Ft) :\n",
+      "    print\"\\nThe train can be accelarated with \",n,\"locomotives\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Fm= 245250.0*n\n",
+        "\n",
+        "Fb= 10715.0*n + 535750.0\n",
+        "\n",
+        "equating Fb and Fm we get\n",
+        "\n",
+        "The number of locomotives is n: 3\n",
+        "\n",
+        "The train can be accelarated with  3 locomotives\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Fundamentals_of_Electrical_Drives/Chapter2_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter2_2.ipynb
new file mode 100755
index 00000000..631ed1b1
--- /dev/null
+++ b/Fundamentals_of_Electrical_Drives/Chapter2_2.ipynb
@@ -0,0 +1,190 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      " Chapter 2:Dynamics of Electric Drives"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:2.1,Page no:16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#variable declaration\n",
+      "Jo=0.2     # inertia of the motor in kg-m2\n",
+      "a1=0.1     # reduction gear\n",
+      "J1=10      # inertia of the load in kg-m2\n",
+      "Tl1=10     # load torque\n",
+      "v=1.5      # speed of the translational load \n",
+      "M1=1000    # mass of the translational load\n",
+      "N=1420     # speed of the motor\n",
+      "n1=.9      # efficiency of the reduction gear\n",
+      "n1_=0.85   # efficiency of the translational load and the motor\n",
+      "F1=M1*9.81 # force of the translational load \n",
+      "\n",
+      "#Calculation\n",
+      "Wm=N*math.pi/30 #angular speed\n",
+      "J=Jo+a1**2*J1+ M1*(v/Wm)**2 # total equivalent moment of inertia\n",
+      "Tl= a1*Tl1/n1+F1/n1_*(v/Wm) # total equivalent torque\n",
+      "\n",
+      "#Result\n",
+      "print\"\\nEquivalent moment of inertia is :\",round(J,1),\"kg-m2\"\n",
+      "print\"\\nEquivalent load torque :\",round(Tl,2),\"N-m\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Equivalent moment of inertia is: 0.4 kg-m2\n",
+        "\n",
+        "Equivalent load torque : 117.53 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:2.2,Page no:22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import scipy\n",
+      "from scipy import integrate\n",
+      "import math\n",
+      "\n",
+      "# variable declaration\n",
+      "J=10           #moment of inertia of the drive in kg-m2\n",
+      "print(\"Passive load torque during steady state is :Tl=0.05*N in N-m\")\n",
+      "print(\"And load torque : T=100-0.1*N in N-m \")\n",
+      "print(\"load torque  when the direction is reversed T=-100-0.1*N  in N-m\")\n",
+      "\n",
+      "#Calculation\n",
+      "print(\"T-Tl=0\")\n",
+      "print(\"100-0.1*N-0.05*N=0\")\n",
+      "N=100/0.15     #Required speed of the motor in rpm during steady state\n",
+      "N2=-100/0.15   #During reversal speed is in opposite direction\n",
+      "print(\"\\nJdWm/dt=-100-0.1*N-0.05*N during reversing\")\n",
+      "print(\"dN/dt=30/(J*pi)*(-100-0.15*N)\")\n",
+      "print(\"dN/dt=(-95.49-0.143*N)\")\n",
+      "N1=N\n",
+      "N2=N2*0.95 #for speed reversal \n",
+      "x2 = lambda N: 1/(-95.49-0.143*N)\n",
+      "t=integrate.quad(x2, round(N1), round(N2))\n",
+      "\n",
+      "#result\n",
+      "print\"\\nHence Time of reversal is :\",round(t[0],2),\"s\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Passive load torque during steady state is :Tl=0.05*N in N-m\n",
+        "And load torque : T=100-0.1*N in N-m \n",
+        "load torque  when the direction is reversed T=-100-0.1*N  in N-m\n",
+        "T-Tl=0\n",
+        "100-0.1*N-0.05*N=0\n",
+        "\n",
+        "JdWm/dt=-100-0.1*N-0.05*N during reversing\n",
+        "dN/dt=30/(J*pi)*(-100-0.15*N)\n",
+        "dN/dt=(-95.49-0.143*N)\n",
+        "\n",
+        "Hence Time of reversal is : 25.51 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:2.3,Page no:27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "Tlh=1000     # load torque in N-m\n",
+      "Tmax=700     # maximum motor torque\n",
+      "Tll=200      # light load for the motor to regain its steady state\n",
+      "Tmin=Tll     # minimum torque\n",
+      "t_h=10       # period for which a load torque of 1000 N-m is apllied in sec\n",
+      "Jm=10        # moment of inertia of the motor in Kg-m2\n",
+      "No=500       # no load speed in rpm\n",
+      "Tr=500       # torque at a given no load speed in N-m\n",
+      "\n",
+      "#Calculation\n",
+      "Wmo=No*2*math.pi/60 # angular no load speed in rad/sec\n",
+      "s=0.05              # slip at a torque of 500 N-m\n",
+      "Wmr=(1-s)*Wmo       # angular speed at a torque of 500 N-m in rad/sec\n",
+      "\n",
+      "y=math.log((Tlh-Tmin)/(Tlh-Tmax))\n",
+      "x=Tr/(Wmo-Wmr)\n",
+      "\n",
+      "J=x*t_h/y\n",
+      "Jf=J-Jm\n",
+      "\n",
+      "#Result \n",
+      "#answer in the book is wrong\n",
+      "print\"\\n\\nMoment of inertia of the flywheel : \", round(Jf,1),\"Kg-m2\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "\n",
+        "Moment of inertia of the flywheel :  1937.2 Kg-m2\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb
new file mode 100755
index 00000000..88441d35
--- /dev/null
+++ b/Fundamentals_of_Electrical_Drives/Chapter4_2.ipynb
@@ -0,0 +1,348 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4: Selection of Motor Power Rating"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:4.1, Page No:47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "T_min=40        # minimum temperature rise in degree Celsius\n",
+      "T_r=15          # temperature rise when the load is declutched continously in degree Celsius\n",
+      "t_c=10          # time for which the motor is clutched to its load in sec\n",
+      "t_d=20          # time for which the motor is declutched to run on no-load in sec\n",
+      "C= 60           # time constants for both heating and cooling  \n",
+      "\n",
+      "#calculation\n",
+      "x=math.exp(-t_d/C)\n",
+      "y=math.exp(-t_c/C)\n",
+      "\n",
+      "theta2= (T_min-T_r*(1-x))/x       #since T_min=T_r(1-x)+theta2*x\n",
+      "theta_ss=(theta2-T_min*y)/(1-y)   #since theta2=theta_ss(1-y)+T_min*y\n",
+      "\n",
+      "#results\n",
+      "print\"\\n maximum temperature during the duty cycle :\",round(theta2,1),\"\u00b0C\"\n",
+      "print\"\\n temperature when the load is clutched continously :\",round(theta_ss,1),\"\u00b0C\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        " maximum temperature during the duty cycle : 49.9 \u00b0C\n",
+        "\n",
+        " temperature when the load is clutched continously : 104.4 \u00b0C\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:4.2, Page No:52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "N=200         #full speed of the motor in rpm\n",
+      "Tc=25000      #constant torque in N-m\n",
+      "J=10000       #moment of inertia referred to te motor shaft in Kg-m2\n",
+      "\n",
+      "#duty cycles\n",
+      "t1=10         #rolling at full speed and at constant torque\n",
+      "t2=1          #no load operation at full speed\n",
+      "t3=5          #speed reversal from N to -N\n",
+      "t4=1          #no load operation at full speed\n",
+      "\n",
+      "T5=20000      #torque in N-m\n",
+      "t5=15         #rolling at full speed and at a torque T1\n",
+      "\n",
+      "t6=1          #no operation at full speed\n",
+      "t7=5          #speed reversal from -N to N\n",
+      "t8=1          #no load operation\n",
+      "\n",
+      "#calculation\n",
+      "Tr=J*(N-(-N))*2*math.pi/60/5   #torque during reversal\n",
+      "x=Tc**2*t1+Tr**2*t3+T5**2*t5+Tr**2*t7\n",
+      "t=t1+t2+t3+t4+t5+t6+t7+t8      #total time\n",
+      "Trms=math.sqrt(x/t)            #rms torque\n",
+      "\n",
+      "Trated=Trms                   #rated torque is equal to the rms torque\n",
+      "Pr=Trated*2*math.pi*200/60    #power rating\n",
+      "ratio=Tr/Trms                 #ratio of reversal torque to the rms torque\n",
+      "\n",
+      "#results\n",
+      "#answer in the book is wrong\n",
+      "print\"\\n motor torque is :Trms=\",round(Trms),\"N-m\"\n",
+      "if ratio<2:\n",
+      "  print\" motor can be rated as equal to Trms\"\n",
+      "print\" Power rating : P=\",round(Pr*1e-3,3),\"kW\"    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        " motor torque is :Trms= 45975.0 N-m\n",
+        " motor can be rated as equal to Trms\n",
+        " Power rating : P= 962.895 kW\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:4.3, Page No:53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math \n",
+      "import scipy\n",
+      "from scipy import integrate\n",
+      "\n",
+      "#variable declaration\n",
+      "P1=400     #load in kW\n",
+      "P2=500     #load in KW\n",
+      "Pmax=P2\n",
+      "#duty cycles in minutes\n",
+      "t1=5       #load rising from 0 to P1 \n",
+      "t2=5       #uniform load of P2 \n",
+      "t3=4       #regenerative power equal to P1\n",
+      "t4=2       #motor remains idle\n",
+      "\n",
+      "#calculation\n",
+      "a = lambda x: (P1/5*x)**2\n",
+      "t=integrate.quad(a,0,t1)\n",
+      "P11=math.sqrt(t[0]/t1)\n",
+      "x=P11**2*t1+P2**2*t2+P1**2*t3\n",
+      "t=t1+t2+t3+t4    #total time\n",
+      "Prms=math.sqrt(x/t)\n",
+      "\n",
+      "#results\n",
+      "y=2*Prms\n",
+      "if P2<y:\n",
+      "  print \" Hence Pmax:\",Pmax,\"kW is less than twice Prms:\",2*round(Prms,1),\"kW\"\n",
+      "print\"\\n Hence Motor rating is: \",round(Prms),\"kW\"    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Hence Pmax: 500 kW is less than twice Prms: 734.2 kW\n",
+        "\n",
+        " Hence Motor rating is:  367.0 kW\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:4.4, Page No:55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "Cr=60      #heating time constant in minutes\n",
+      "Cs=90      #cooling time constant in minutes\n",
+      "P=20       #full load in kW\n",
+      "\n",
+      "#calculation\n",
+      "\n",
+      "#part(i)\n",
+      "alpha=0  #constant copper losses are assumed to be proportional to Power**2 which is zero\n",
+      "tr=10    #time for the load motor to deliver in minutes\n",
+      "x=math.exp(-tr/Cr)\n",
+      "K=math.sqrt(1/(1-x))\n",
+      "P1=K*P  #permitted load\n",
+      "\n",
+      "#part(ii)\n",
+      "alpha=0 #constant copper losses are assumed to be proportional to Power**2 which is zero\n",
+      "tr=10   #intermittent load period allowed in minutes\n",
+      "ts=10   #shutdown period in minutes\n",
+      "x=math.exp(-(tr/Cr+ts/Cs))\n",
+      "y=math.exp(-tr/Cr)\n",
+      "K=math.sqrt((1-x)/(1-y))\n",
+      "P2=K*P  #permitted load\n",
+      "\n",
+      "#results\n",
+      "print\"\\ni)required permitted load:\",round(P1),\"kW\"\n",
+      "print\"\\nii)required permitted load:\",round(P2,2),\"kW\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "i)required permitted load: 51.0 kW\n",
+        "\n",
+        "ii)required permitted load: 25.14 kW\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:4.5, Page No:56"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from sympy import Symbol\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "P=100     #Half hour rating of the motor\n",
+      "Cr=80     #heating time constant in minutes\n",
+      "n=0.7     #maximum efficiency at full load\n",
+      "\n",
+      "#calculation\n",
+      "Pc = Symbol('Pc')   #constant loss\n",
+      "Pcu=Pc/n**2   #coppper loss\n",
+      "alpha=Pc/Pcu\n",
+      "K=math.sqrt((1+alpha)/(1-math.e**(-30/Cr))-alpha)  \n",
+      "Pco=P/K     \n",
+      "print\"Therefore continous rating is:\",round(Pco,2),\"kW\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Therefore continous rating is: 48.37 kW\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:4.6, Page No:57"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "I=500       #rated armature current in A\n",
+      "Ra=0.01     #armature resistance in ohm\n",
+      "P=1000      #core loss in W\n",
+      "B=0.5       \n",
+      "\n",
+      "#duty cycles\n",
+      "tst=10       #interval for accelaration at twice the rated current\n",
+      "tr=10        #interval for running at full load \n",
+      "tb=10        #inteval fordecelaration at twice the rated armature current\n",
+      "\n",
+      "#calculations\n",
+      "Es=tst*(2*I)**2*Ra+P\n",
+      "Eb=Es\n",
+      "p1s_tr=(I**2*Ra+P)*tr\n",
+      "p1r=I**2*Ra+P\n",
+      "gamma=(1+B)/2\n",
+      "x=(Es+p1s_tr+Eb)/p1r\n",
+      "y=gamma*tst+tr+gamma*tb\n",
+      "ts=(x-y)/B               #idling interval\n",
+      "\n",
+      "fmax=3600/(tst+tr+tb+ts) #maximum frequency of drive operation   \n",
+      "\n",
+      "#results\n",
+      "#answer in the book is wrong\n",
+      "print\"\\nmaximum frequency of drive operation: fmax = \",round(fmax,2),\"per hour\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "maximum frequency of drive operation: fmax =  31.19 per hour\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Fundamentals_of_Electrical_Drives/Chapter5_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter5_2.ipynb
new file mode 100755
index 00000000..650a814b
--- /dev/null
+++ b/Fundamentals_of_Electrical_Drives/Chapter5_2.ipynb
@@ -0,0 +1,1915 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:f20d8b5a5913a9f02b40c1bc779b6f178287c3bedb89723b4661d7c15c29c1bd"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5:Dc Motor Drives"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.1,Page No:63"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from sympy import Symbol\n",
+      "\n",
+      "#variable declaration\n",
+      "#motor ratings\n",
+      "V1=200     #rated voltage\n",
+      "Ia1=10.5   #rated current\n",
+      "N1=2000    #speed in rpm\n",
+      "Ra=0.5     #armature resistance\n",
+      "Rs=400     #field resistance\n",
+      "V2=175     #drop in source voltage \n",
+      "\n",
+      "#calculation\n",
+      "flux1 = Symbol('flux1')\n",
+      "flux2=V2/V1*flux1\n",
+      "Ia2=flux1/flux2*Ia1    #since load torque\n",
+      "E1=V1-Ia1*Ra\n",
+      "E2=V2-Ia2*Ra\n",
+      "N2=(E2/E1)*(flux1/flux2)*N1\n",
+      "\n",
+      "#results\n",
+      "#answer in the book is wrong due to accuracy\n",
+      "print\"\\nmotor speed is:N2=\",round(N2,1),\"rpm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "motor speed is:N2= 1983.5 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.2,Page No:63"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from sympy import Symbol\n",
+      "\n",
+      "#variable declaration\n",
+      "V1=220      #rated voltage\n",
+      "Ia1=100     #rated current\n",
+      "N1=1000     #rated speed in rpm clockwise\n",
+      "Ra=0.05     #armature resistance\n",
+      "Rs=0.05     #field resistance\n",
+      "\n",
+      "#calculation\n",
+      "#turns is reduced to 80% then flux is also reduced by the same value and hence current is also reduced\n",
+      "Ke = Symbol('Ke')\n",
+      "Ia2 = Symbol('Ia2')\n",
+      "T1=Ke*Ia1**2      #flux is directly proportional to current Ia\n",
+      "T2=Ke*0.8*Ia2**2  #flux is directly proportional to current Ia\n",
+      "Ia2=-Ia1/math.sqrt(0.8)   #since T1=T2 and the direction is opposite\n",
+      "\n",
+      "E1=V1-Ia1*(Ra+Rs)\n",
+      "\n",
+      "Rs=.8*Rs       #Rs=80% of the field resistance 0.05ohm since the flux is reduced to 80%\n",
+      "E2=-(V1+Ia2*(Ra+Rs))   \n",
+      "\n",
+      "N2=(E2/E1)*(Ia1/Ia2)*(N1/0.8)   #since E=Kn*flux*N\n",
+      "\n",
+      "#results\n",
+      "print\"\\nmotor speed is:N2=\",round(N2,1),\"rpm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "motor speed is:N2= 1117.7 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.3,Page No:70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#motor ratings\n",
+      "V1=220     #rated voltage\n",
+      "Ia1=200    #rated current\n",
+      "Ra=0.06    #armature resistance\n",
+      "Rb=0.04    #internal resistance of the variable source\n",
+      "N1=800     #speed in rpm\n",
+      "N2=600     #speed when motor is operatingin regenerative braking\n",
+      "\n",
+      "#Calculation\n",
+      "Ia2=0.8*Ia1        #motor is opereting in regenerative braking at 80% of Ia1\n",
+      "E1=V1-Ia1*Ra       #back emf at rated operation\n",
+      "E2=(N2/N1)*E1      #back emf at the given speed N2\n",
+      "V2=E2-Ia2*(Ra+Rb)  #internal voltage of thevariable source\n",
+      "\n",
+      "#results\n",
+      "print\"\\n internal voltage of thevariable source:\",round(V2),\"V\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        " internal voltage of thevariable source: 140.0 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 161
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.4,Page No:70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from sympy import Symbol\n",
+      "\n",
+      "#variable declaration\n",
+      "#The ratings of the motor is same as that of Ex-5.2\n",
+      "V1=220      #rated voltage\n",
+      "Ia1=100     #rated current\n",
+      "N1=1000     #speed in rpm clockwise\n",
+      "N2=800      #given speed during the dynamic braking\n",
+      "Ra=0.05     #armature resistance\n",
+      "Rs=0.05     #field resistance\n",
+      "\n",
+      "#calculation\n",
+      "T1 = Symbol('T1')\n",
+      "T2 = 2*T1   #dynamic torque is twice the rated torque\n",
+      "Ia2=Ia1*math.sqrt(T2/T1)   #since T=Kf*Ia**2\n",
+      "E1=V1-Ia1*(Ra+Rs)\n",
+      "E2=(Ia2/Ia1)*(N2/N1)*E1    #since E=Ke*Ia*N\n",
+      "Rb=E2/Ia2-(Ra+Rs)          #since E2=Ia2(Rb+Ra+Rs)  during braking\n",
+      "\n",
+      "#results\n",
+      "print\"\\n braking current Ia2:\",round(Ia2,1),\"A\"\n",
+      "print\"\\n required braking resistance Rb:\",round(Rb,2),\"ohm\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        " braking current Ia2: 141.4 A\n",
+        "\n",
+        " required braking resistance Rb: 1.58 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.5,Page No:70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from array import array\n",
+      "import numpy\n",
+      "import matplotlib.pyplot as plt\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the DC shunt motor which operated under dynamic braking\n",
+      "Rb=1      #braking resisance\n",
+      "Ra=0.04   #armature resistance\n",
+      "Rf=10     #field resistance\n",
+      "T=400     #load torque in N-m\n",
+      "\n",
+      "#magnetisation curve at N1\n",
+      "N1=600    #speed in rpm\n",
+      "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25]    #field current\n",
+      "E =[25,50,73.5,90,102.5,110,116,121,125,129] #back emf\n",
+      "\n",
+      "#calculation\n",
+      "print\"Field current   If:\",If,\"A\"\n",
+      "x=(Rb+Rf)/Rb\n",
+      "Ia = [If * x for If in If]    #armature current\n",
+      "Wm=2*math.pi*N1/60\n",
+      "Ke_flux=[E / Wm for E in E]    #Ke*flux=constant\n",
+      "Ke_flux=[round(Ke_flux,3) for Ke_flux in Ke_flux]  \n",
+      "\n",
+      "Ke_flux=numpy.array(Ke_flux)\n",
+      "Ia=numpy.array(Ia)\n",
+      "T=numpy.array(Ke_flux)*numpy.array(Ia)   #torque\n",
+      "print\"\\nKe_flux :\",Ke_flux\n",
+      "T=[round(T,1) for T in T]\n",
+      "print\"\\nTorque  :\",T,\"N-m\"\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "#plotting the values of Ke*flux vs If \n",
+      "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25]    #field current\n",
+      "plt.subplot(2,1,1)\n",
+      "plt.plot(If,Ke_flux,'y')\n",
+      "plt.xlabel('field current $I_f$')\n",
+      "plt.ylabel('$Ke*flux$')\n",
+      "plt.title('$If  vs  Ke*flux$')\n",
+      "plt.grid(True)\n",
+      "\n",
+      "#plotting the values of  T vs If \n",
+      "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25]    #field current\n",
+      "plt.subplot(2,1,2)\n",
+      "plt.plot(T,If)\n",
+      "plt.xlabel('Torque $T$')\n",
+      "plt.ylabel('field current $I_f$')\n",
+      "plt.title('$T vs If$')\n",
+      "plt.grid()\n",
+      "plt.tight_layout()\n",
+      "plt.show()\n",
+      "\n",
+      "print\"\\nFrom the plot we can see that when the torque is 400 N-m, \"\n",
+      "print\"the field current is If=19.3 A, and Ke*flux=1.898 when If=19.3 A\"\n",
+      "T=400          # braking torque\n",
+      "If=19.13       # field current\n",
+      "Ke_flux=1.898  # Ke*flux\n",
+      "Ia=x*If\n",
+      "E=If*Rf+Ia*Ra    #since E=V+Ia*Ra\n",
+      "N2=(E/Ke_flux)*(60/(2*math.pi))  #required speed\n",
+      "print\"Hence the required speed in is :\",round(N2),\"rpm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Field current   If: [2.5, 5, 7.5, 10, 12.5, 15, 17.5, 20, 22.5, 25] A\n",
+        "\n",
+        "Ke_flux : [ 0.398  0.796  1.17   1.432  1.631  1.751  1.846  1.926  1.989  2.053]\n",
+        "\n",
+        "Torque  : [10.9, 43.8, 96.5, 157.5, 224.3, 288.9, 355.4, 423.7, 492.3, 564.6] N-m\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n9On6/bdu3WLbtm2sX78eV1fXRi2DELZGEpUQjahLly506NABgEOHDvHggw/q33NxcaFr164mna+s\nrIz4+Hjeffddg/0JCQmEhYURFRXV8KCFsHFyj0qIRjRo0CD9nw8dOsSIESP0223btuXgwYNMmzYN\n0HXdrVmzhtzcXDZs2EBsbCyvvvqqwflOnTqFr68vPj4++n0JCQmsX7+e0tJSdu7caeYSCWF9kqiE\nMJO4uDiGDx+u375w4QLh4eFotVoAZsyYgYODAzt37iQtLY2BAwdy7tw5g3McPHjQINkBREdH07p1\naxYvXsykSZPMXxAhrEwSlRBmkJKSQmFhIX369NHvGzFiBO+//z5z584FIDs7m1GjRvHQQw+RlZVF\ncHAw/fr1MzhP9WRX4fz58wQFBZm1DELYCklUQpjBoUOHGDZsWI39iYmJREdHA5CUlERRUREvvPAC\n77//PomJiRw+fFh/bElJCUePHq1xnvT0dNq3b49GozFnEYSwGTI8XYhGdO7cOf71r3/xzjvv4Ojo\nSFFREWFhYfqkUl5eTkJCAllZWfTv3x9XV1cKCwu5du0aX331Fc888wxt2rQhISGBtWvXcubMGbp0\n6UJERIT+GgcPHsTBwYGRI0daq5hCWJRGmTpetpGkpaUxe/ZsMjIy0Gg0PPbYYzz11FMsX76cf/zj\nH/qRU6+88gq/+tWvrBGiEDYlMTGR9957Dy8vL6ZPn27S81hCNGVWG57u7OzMunXrCAsLIy8vj379\n+jF69Gg0Gg1LlixhyZIl1gpNCJvk6OiIn58fLi4ukqSEXbFaovL19cXX1xcANzc3AgMDuXr1KoDJ\nD0UKYQ/CwsIMZqYQwl7YxGCK1NRUkpKSGDBgAABvvPEGoaGhLFiwgJycHCtHJ4QQwpqsnqjy8vKY\nOnUq69evx83NjUWLFpGSkkJycjIdO3bk2WeftXaIQgghrElZUXFxsRozZoxat25dre+npKSovn37\n1tjfrl07BchLXvKSl7yawMvf379BucJq96iUUixYsICgoCAWL16s33/9+nU6duwIwM6dOwkODq7x\nuzdu3LC7+1hz587ln//8p7XDsCh7K7O9lRekzOZ08yacPg3fflv5On8eOnWC0FDD1333gTkfy2vo\nM39WS1RHjx5l06ZNhISEEB4eDsDKlSvZsmULycnJaDQaunfvzjvvvGOtEG1Kt27drB2Cxdlbme2t\n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\nbSMxMZE5c+awY8cOXnrpJaZNm2auGGuoSzPyxg3YuFHXWnJy0nXtzZoFnp4WClIIIQRgpeeozp8/\nz4EDBwAYMWKExVf4vVuhlYKjR+Hvf4c9eyAmRpegBg6U1pMQQlhLs3zg15jaCn37ti4hlZbqktPs\n2XCXiS2apLi4OP3wT3thb2W2t/KClNleNDRR1fke1eDBgzly5Ih+1vTqQdy+fbveQTSGNm10XX0R\nEdJ6EkKI5qTOLaqZM2eyadMmXnvtNRYvXmzuuO6pqSzzIYQQwoLD00+dOsW1a9f44IMPyM7OrvES\nQgghzKHOiWrhwoWMHDmSH374gX79+tV4NaZ9+/bRu3dvevbsyerVqxv13E2VPT57YW9ltrfygpRZ\n1E2dE9VTTz3F+fPnmTdvHikpKTVejaWsrIw//vGP7Nu3j3PnzrFlyxbOnz/faOdvqirmB7Mn9lZm\neysvSJlF3Zj8pO7f//53c8Shd+LECXr06EG3bt1wdnZmxowZfPbZZ2a9ZlNQMcGjPbG3MttbeUHK\nLOrG5qaUuHr1Kl26dNFv+/n5cfXqVStGJIQQwppsLlFpZGx5rRpjqvymxt7KbG/lBSmzqCNlY77+\n+ms1duxY/fbKlSvVqlWrDI7x9/dXgLzkJS95yasJvPz9/RuUF2xuZorS0lICAgI4cOAAnTp1Iioq\nii1bthAYGGjt0IQQQliBybOnm5uTkxMbNmxg7NixlJWVsWDBAklSQghhx2yuRSWEEEJUZXODKe6l\nuT4IPH/+fHx8fAgODtbvy87OZvTo0fTq1YsxY8YYDGl95ZVX6NmzJ71792b//v3WCLnB0tLSGD58\nOH369KFv3768/vrrQPMud1FREdHR0YSFhREUFKRfFLQ5lxl0z0aGh4czfvx4oPmXt1u3boSEhBAe\nHk5UVBTQ/Muck5PD1KlTCQwMJCgoiISEhMYtc4PucFlQaWmp8vf3VykpKaq4uFiFhoaqc+fOWTus\nRvHVV1+pU6dOqb59++r3/elPf1KrV69WSim1atUq9dxzzymllPruu+9UaGioKi4uVikpKcrf31+V\nlZVZJe6GuH79ukpKSlJKKZWbm6t69eqlzp071+zLnZ+fr5RSqqSkREVHR6v4+PhmX+a1a9eqRx99\nVI0fP14p1fw/2926dVM3btww2Nfcyzx79mz1/vvvK6V0n+2cnJxGLXOTSVTHjh0zGA34yiuvqFde\n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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x7ff4f028dc10>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "From the plot we can see that when the torque is 400 N-m, \n",
+        "the field current is If=19.3 A, and Ke*flux=1.898 when If=19.3 A\n",
+        "Hence the required speed in is : 1005.0 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.6,Page No:71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from array import array\n",
+      "import numpy as np\n",
+      "import matplotlib.pyplot as plt\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#variable declaration\n",
+      "#the motor rating is same as that of Ex-5.5\n",
+      "N=600      #value of the speed given from the magnetization curve in Ex-5.5\n",
+      "\n",
+      "Ra=0.04    #armature resistance\n",
+      "Rf=10      #field resistance\n",
+      "T=400      #load torque in N-m\n",
+      "N1=1200    #given speed in rpm to hold the overhauling torque\n",
+      "\n",
+      "#calculation\n",
+      "Wm=2*math.pi*N1/60    #angular speed at the given speed N1\n",
+      "\n",
+      "#magnetisation curve at N=600rpm\n",
+      "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25]       #field current\n",
+      "E =[25,50,73.5,90,102.5,110,116,121,125,129]    #value of the back emf as given in Ex-5.5 for the speed N\n",
+      "\n",
+      "#magnetisation curve at N=1200rpm\n",
+      "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25]       #field current\n",
+      "E1=[N1/N*E for E in E]                          #back emf at the speed N1\n",
+      "print\"Hence the magnetization curve at 1200rpm is\"\n",
+      "print\"Field current   If:\",If,\"A\"\n",
+      "print\"Back emf is     E1:\",E1,\"V\"\n",
+      "\n",
+      "Pd=round(T*Wm,2)                               #power developed\n",
+      "x=round(Pd*Ra,1)\n",
+      "V=[(E1-Pd*Ra/E1) for E1 in E1]       #terminal voltage\n",
+      "V=[round(V,2) for V in V]\n",
+      "print\"Terminal voltage V:\",V,\"V\"\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "#plotting the values of V vs If\n",
+      "plt.subplot(2,1,1)\n",
+      "plt.plot(V,If)\n",
+      "plt.xlabel('Terminal voltage $V$')\n",
+      "plt.ylabel('Field current $I_f$')\n",
+      "plt.title('$V vs If$')\n",
+      "plt.grid()\n",
+      "\n",
+      "#plotting the values of E vs If\n",
+      "If=[2.5,5,7.5,10,12.5,15,17.5,20,22.5,25]       #field current\n",
+      "E =[25,50,73.5,90,102.5,110,116,121,125,129]    #value of the back emf as given in Ex-5.5 for the speed N\n",
+      "E1=[N1/N*E for E in E]                          #back emf at the speed N1\n",
+      "\n",
+      "plt.subplot(2,1,2)\n",
+      "plt.plot(E1,If,'y')\n",
+      "plt.xlabel('$E$')\n",
+      "plt.ylabel('Field current $I_f$')\n",
+      "plt.title('$E vs If$')\n",
+      "plt.grid()\n",
+      "plt.tight_layout()\n",
+      "plt.show()\n",
+      "print\"\\nFrom the plot we can see that when the current If=25 A the terminal voltage is V=250 V with the back emf E=258V\"\n",
+      "\n",
+      "E=258           #value of the back emf in V at from the plot \n",
+      "V=250           #value of terminal voltage in V from the plot at E=258 V\n",
+      "If=25           #value of If in A from the plot at E=258 V\n",
+      "Ia=(E-V)/Ra     #armature current\n",
+      "If=V/Rf         #field current\n",
+      "Ir=Ia-If \n",
+      "Rb=V/Ir         #braking resistance\n",
+      "\n",
+      "print\"Hence the rquired braking resistance is \",round(Rb,3),\"ohm\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Hence the magnetization curve at 1200rpm is\n",
+        "Field current   If: [2.5, 5, 7.5, 10, 12.5, 15, 17.5, 20, 22.5, 25] A\n",
+        "Back emf is     E1: [50.0, 100.0, 147.0, 180.0, 205.0, 220.0, 232.0, 242.0, 250.0, 258.0] V\n",
+        "Terminal voltage V: [9.79, 79.89, 133.32, 168.83, 195.19, 210.86, 223.33, 233.69, 241.96, 250.21] V\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEbCAYAAACP7BAbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xtc1FX++PHXgCAqqOAFSFSIFAEREIM2ljJNtPp6IVu1\ni+Itt/ra5trmpTaj3VLcb2Zs1taWtbaVm2sraqlrq6L83ALloqZmaqCIjKigAoLAcH5/TIzcQZgb\nzPv5eHwezOczzHze58zI23M+53OORimlEEIIIayMnaUDEEIIIRoiCUoIIYRVkgQlhBDCKkmCEkII\nYZUkQQkhhLBKkqCEEEJYJUlQQgghrJIkKCGEEFZJEpQQRnDu3DlmzJiBh4cHf//73w3HT548SWBg\nIIsWLaKwsLDF75ecnMzYsWOJiIhg3bp1tZ5bvXo1L730Eu+//77R4hfCGmlkJgkhjCM9PZ1f/epX\nnD592nAsNzeX/fv3M2XKlFt+v4kTJ/LYY48xdepUw7GrV68ybtw4EhIS6NatG4GBgUaJXQhrJC0o\nIYzE29ubnJwcqqqqDMc2bNjQquSk0+lITk5m5MiRtY6npKQQEhJCeHi4JCfR4UmCEsJI3Nzc6Nat\nG2fPngXgyy+/5M477yQxMdGQpFavXs0bb7wBwLVr11izZg3btm3jzTffrPVe6enpeHh44O7ubjiW\nkpJCQkIClZWVbNq0yUylEsJyJEEJYUS33347WVlZ5OXlUVFRQXl5OSEhIWi1WgCmTZuGnZ3+n11i\nYiI5OTncfffdHDt2rNb77N69m1GjRtU6FhERQZcuXViwYAExMTHmKZAQFiQJSggjuv322zl9+jTr\n169n2rRpjBo1io8++oiZM2cCUFBQwP333w/AAw88wKVLlwgKCiIsLKzW+yQlJXHffffVe//jx48T\nEBBg8nIIYQ0kQQlhRN7e3vz1r3+t1cJJS0sjIiICgIyMDIYNG0ZKSgovvfQSa9euJS0tjb179xp+\nv6Kigv3799e7/nThwgV69+6NRqMxS1mEsLROlg5AiI5k8ODB+Pj44OPjYzg2bdo0EhMTOXHiBHff\nfTcAffv2JSwsjC1btvDTTz+xatUqQH+d6fPPP8fe3p5NmzYxd+5cw/ukpKQQGRlp3gIJYUFmHWae\nk5PDjBkzyM/PR6PRMG/ePH7zm98QFxfHhx9+SJ8+fQBYsWIF48aNM1dYQli1tLQ0PvjgA9zc3Jg6\ndSrBwcGWDkkIszBrC8rBwYHVq1cTEhJCcXExYWFhjBkzBo1Gw8KFC1m4cKE5wxGiXbC3t8fLy4uu\nXbtKchI2xawJysPDAw8PDwCcnZ3x9/cnNzcXALlfWIiGhYSEEBISYukwhDA7iw2SyM7OJiMjg7vu\nuguAt99+m+DgYObMmcOVK1csFZYQQggrYZEEVVxczCOPPEJCQgLOzs48/fTTZGVlkZmZiaenJ88/\n/7wlwhJCCGFNlJmVl5er6OhotXr16gafz8rKUkOHDm3wudtuu00Bsskmm2yytYPN19e3TfnCrC0o\npRRz5swhICCABQsWGI7n5eUZHm/atImgoKAGX3/+/HmUUja1vfLKKxaPQcorZZYyt247flwxaJDi\nt79VvPyybZS55lZz4uTWMOsgif379/Ppp58ybNgwQkNDAVi+fDnr168nMzMTjUaDj4+PLCNQQ3Z2\ntqVDMCtbKy9ImTuqf/8bpk+H+HiYPRtmzsy2dEjtjlkT1C9/+ctaMz1Xe+CBB8wZhhBCmIxS8Oc/\n6xPTv/4Fv/ylpSNqv2QmCStXPYebrbC18oKUuSMpL4f//V9ISYFvvwVv75vPddQym9ItzySRkJDA\nc889R35+Pn379jVVXA3SaDTcYrhCCGEWFy/C5Mng5gZ//zu4uFg6Istr69/sWx4k0bt3b+Li4li2\nbBlbt27l0qVLrT65aF5SUpKlQzArWysvSJk7giNHICICoqL03XoNJaeOVmZzuOUuvscffxyAU6dO\nUVpayubNm3F2dq61LLUQQtiKLVtg7lx46y147DFLR9OxGGWy2C+++MIsCUq6+IQQ1kIpWLkS1qzR\nt5rCwy0dkfVp69/sJhPURx99xOzZs1v95sYmCUoIYQ1KS/Wtph9/hMRE6NfP0hFZJ5Neg1qyZAmz\nZs3ivffeIz09HZ1OZ3jOFu5jsAa21m9ta+UFKXN7c/483HsvVFXBvn0tT07tucyW0uQ1qOeff56I\niAhSUlJYvnw5R44coXfv3oSHh6PValm/fr254hRCCIs7eBBiYuCpp+DFF0EWNzatJrv4lFL1lpfW\narWkpKSwZs0avvnmm1s6WWMLFhYUFDB16lTOnDmDt7c3GzZsoGfPnvWDlS4+IYSF/OMf8Oyz8Ne/\n6pOUaJ5Jr0E1Zd++fdxzzz239BqtVotWq621YGFiYiIff/wxvXv3ZtGiRaxcuZLCwkLi4+PrBysJ\nSghhZlVVsGwZfPYZbN4Mw4ZZOqL2w+z3QVW71eQE+gULqxdeq7lg4ZYtW4iNjQUgNjaWxMTE1obV\n4dhav7WtlRekzNasuFh/8+2+ffrZIdqSnNpLma2JxRcsjIiI4MKFC7i7uwPg7u7OhQsXLBWWEEIA\nkJ0NkZHQuzf85z9g5olzBEa6D+pWFRcXc++99/Lyyy8zadIkXF1dKSwsNDzv5uZGQUFBvddJF58Q\nwhy2bIFf/xqWLtVfd5LBEK3T1r/ZLZpJYvHixaxcubLZYy1RUVHB5MmTmT59OpMmTQL0rSatVouH\nhwd5eXlNzvE3c+ZMvH+egbFnz56EhIQwcuRI4GYTWvZlX/ZlvzX7V6/Chg0jSU2FJUuSGDYMNBrr\nic/a9zMzM7ly5QpgpFuRVAuEhITUO9bYqrdNqaqqUtOnT1cLFiyodfyFF15Q8fHxSimlVqxYoRYv\nXtzg61sYboeyZ88eS4dgVrZWXqWkzNbin/9UysNDqYULlSopMf77W2OZTa2tf7ObbEH95S9/4d13\n3+X06dO1VrktKioiMjLylpNhQwsWrlixgiVLljBlyhTWrl1rGGYuhBDmkJ+vXyLj++/1Uxb94heW\njkhUa/Ia1NWrVyksLGTJkiW1uvNcXFxwc3MzS4A1yTUoIYSxKAXr18NvfwuzZkFcHDg5WTqqjsUs\n90GVlZXx5Zdfkp2dTWVlpeHEy5Yta/WJW0MSlBDCGPLy9LNB/PQTfPQR3HmnpSPqmMxyH9TEiRPZ\nsmULDg4OODs74+zsTLdu3Vp9UtFy1RcibYWtlRekzOakFKxbB8HB+u3gQfMlJ1v8nNuqRaP4cnNz\n+fe//23qWIQQwmRycvRDx/PyYOdO+HnOAGHFWtTFN2/ePObPn88wC8/xIV18QohbVVkJH34IL78M\nzz0HixeDg4Olo7INZrkG5e/vz6lTp/Dx8aFz586GEx8+fLjVJ24NSVBCiJZSCrZt0yek3r31CwsO\nHWrpqGyLWRJU9Q1XdU9WfcOsudhigkpKSjLcCGcLbK28IGU2hQMHYNEiuHAB/vQneOghy88GYYuf\ns1kGSQwYMIDk5GTWrVuHt7c3dnZ25Ofnt/qkQghhCj/9BI8+CpMmwWOPweHD8D//Y/nkJFqnRS2o\np556Cjs7O3bv3s0PP/xAQUEB0dHRHDx48JZPOHv2bL7++mv69u3LkSNHAIiLi+PDDz+kT58+gP7m\n3XHjxtUP1gZbUEKI5l2+DK+9Bp98AgsWwMKFIAONLc8sLaiUlBTeffddunTpAugnc62oqGjVCWfN\nmsWOHTtqHdNoNCxcuJCMjAwyMjIaTE5CCFFXaSmsXAl+flBeDseO6QdDSHLqGFqUoBwdHdHpdIb9\nixcvYmfXupU6oqKicHV1rXdcWkYNs7V7J2ytvCBlbg2dTt9a8vPTr9O0fz+88w78vGqPVbLFz7mt\nWpRlnn32WWJiYsjPz+fFF18kMjKSpUuXGjWQt99+m+DgYObMmWOYDVcIIerauRPCwuC99/RTFf3r\nX/pEJTqeFq8Hdfz4cXbt2gXA6NGj8ff3b/VJs7OzGT9+vOEaVH5+vuH608svv0xeXh5r166tH6xc\ngxLCZmVm6kfmZWdDfDzExMjgB2tn8vWglFKcO3cOf3//NiWlptRc/2nu3LmMHz++0d+V9aBkX/Zt\nZ7+qCm7cGMlbb8GBA0lMnw5ffz0SBwfriE/2LbweVFVVlQoMDGzTmh51ZWVl1VpP6vz584bHb775\npnr00UcbfF0Lwu1wbG0NGVsrr1JS5oYUFSn1zjtK+fkpFRKi1McfK1VaapbQTMYWP+e2/s1utgWl\n0WgICwsjNTWV8PDwNifERx99lL1793Lp0iX69+/Pq6++asi8Go0GHx8f3n///TafRwjR/pw5o5/x\n4eOP4Z574P339T+lK882tegalJ+fH6dOnWLgwIGGWcxlqiMhhDEopR+F99ZbsGcPzJwJ8+eDj4+l\nIxNtZfKpjpRSJCcnM2DAgHrPyVRHQojWKi+HL76AhAS4ehV+8xt9cnJxsXRkwljMcqPuM888g7e3\nd71NmF71hUhbYWvlBdsrc34+zJqVhLe3/l6muDg4cQKefbZjJydb+5yNodkEVfMalBBCtFZmpn5p\ndT8/uHhRfz/TN9/o58qza919/6KDk2tQQgiT0elg61Z9N97Jk/DMMzBvnn75C9HxmWW5jTNnzjR4\nfODAga0+cWtIghLC+hUUwN69sHs3fPUV9O2rn8D1kUdkoUBbY/IbdQH+9re/1TqR5ucxn8uWLWv1\niUXLJNnYGjK2Vl5o/2UuLob/9//0CWnXLn1LKTISRo2CTZsaXlq9vZe5NWyxzG3VogTVrVs3Q1Iq\nLS3lq6++IiAgwKSBCSGs040b8N13NxNSZiaMGKFPSAkJEB4Ojo6WjlJ0BC2ei6+mGzduEB0dzd69\ne00RU6Oki08I89PpIC1Nn5B274ZvvwV/fxg9Wp+UIiOha1dLRymskVm6+OoqKSkhNze3VSdsaMHC\ngoICpk6dypkzZ/D29mbDhg307NmzVe8vhGgbpeDoUX3raPdu2LcPvLz0yWj+fNiwAeSfpzCHFg3u\nDAoKMmyBgYH4+fnx3HPPteqEDS1YGB8fz5gxY/jxxx8ZPXo08fHxrXrvjsjW7p2wtfKC5cusFJw+\nDR98ANOmgYeHfsn0o0f1y6f/8AMcOaLvvpswwTjJydJltgRbLHNbtagFtXXr1psv6NQJd3d3HFo5\nHCcqKqreLLdbtmwxdBfGxsYycuRISVJCmFBurn5aoepWUkWFvstu7Fj9CrVmHqArRINadQ2qrequ\nB+Xq6kphYSGgn1rJzc3NsF+TXIMSonUuX4akpJsDGy5ehPvu03fbjRqlv3lWJmQVxmaWqY5mzJhR\nK2EUFBQwe/bsVp+0KRqNxjBiUAhx66qq9EO9N2yA3/0Ohg/XT7y6di3cfrt+FdqLF2HjRv2Ns0OG\nSHIS1qlFXXyHDx/G1dXVsO/m5kZ6errRgnB3d0er1eLh4UFeXl6tBQzrsrUFCzMzM1mwYIHVxCPl\nNf5+9bHWvL6yEvr0GUlGBmzdmsTJk5CdPRJXV+jfPwk/P1izZiR33gn79+tfHxpq+fLXLbul4zHH\n/ltvvWUTf6+MuWBhi7r4goOD2bNnD25uboC+BXXvvfcauuhuVd0uvkWLFtGrVy8WL15MfHw8V65c\nafAalC128SXZ2M19tlZeaHmZr1+Hw4chPR0yMvTbsWP660XDh0NoqH4LCYFevUwfd1vI52wbzDLV\n0SeffMLrr7/OlClTUErxz3/+k5deeokZM2bc8glrLljo7u7OH/7wByZOnMiUKVM4e/Zsk8PMbTFB\nCdtUWKhPQDWTUXa2/v6j0NCbCWnYMPh5ekwhrI5ZEhTA0aNH2b17NxqNhlGjRllkJglJUKKjUQrO\nn7+ZhKoTUkEBBAfXTkb+/jJDg2hfzJagrIEtJihb6xboyOWtqtLfb1SdjKoTUnl5EhERIw1ddMOH\ng69vx16CoiN/zo2xxTJbZCYJIUTTKirg+PHaXXSHDoGr681rRf/7v/pk9OOP+iHfQojapAUlRBs1\nNnjB2/tmMqrefh5nJIRNMGkX36pVqxo8UfV9SgsXLmz1iVtDEpSwJKVAq9W3jGpeL8rOhoCA2olI\nBi8IYeIuvqKiIjQaDSdOnODAgQNMmDABpRRfffUV4eHhrT6paDlb67e2ZHmV0g9OyMrSJ52srNqP\nz5wBFxcYPFjfNTdmDCxapE9ObVmIz9Y+Y5Ayi5ZpMkHFxcUB+vnz0tPTcXFxAeDVV1/lwQcfNHlw\nQhhbUVH9xFPzsb29ftYFb2/9z4AAePDBm8ekVSSE+bToGpSfnx+HDh3CyckJgLKyMoKDgzlx4oTJ\nA6xJuvhEc0pL9S2dxpJQaak+2dRMQjUfyzISQhiPWUbxzZgxg/DwcB5++GGUUiQmJhIbG9vqkwrR\nWhUVkJNzM+nUTUKFhTBgQO3EExZ283GfPjLvnBDtRYtH8aWlpZGcnIxGoyEqKorhw4cbPRhvb2+6\nd++Ovb09Dg4OpKam1g7WBltQttZvvWtXEoMHj6yVdGomIa0WPD1vJqC6LSFPz/Z3/5CtfcYgZbYV\nZrsPKiwsjLCwsFafqCU0Gg1JSUmGOf9Ex6MU5OfXb/lU7585o2/l1Ew6UVEwY4b+sZdX2wYkCCHa\njyZbUM7Ozo0ufaHRaLh27ZpRg/Hx8eHgwYP0amSmS1tsQbU3SsGVKw13v1WPhOvatfFrQAMHws+X\nOoUQ7VyHmuro9ttvp0ePHtjb2/PrX/+aJ598stbzkqCsQ3FxwyPgqjdofCCCt7d+qLYQouMzSxdf\nVVUVn332GVlZWSxbtoyzZ8+i1WqNfi/U/v378fT05OLFi4wZM4YhQ4YQFRVl1HO0N+bst75xQ3+N\nJy/v5lZ3/+xZKCm5mXiqf0ZG3tx3dW39QARb7KeXMtsGWyxzW7UoQT3zzDPY2dmxe/duli1bhrOz\nM8888wwHDx40ajCenp4A9OnTh5iYGFJTU+slKFtcsLCt7zdixEjy8mDbtiQuXwY3N/1+RoZ+/8YN\n/f7Vq0m4uoKPz0g8PUGpJNzc4O679fvnzyfRpw/ExIxEo2n4fIcPW7687W2/mrXEI/um2c/MzLSq\neEyxb5EFC0NDQ8nIyDD8BP0ihocOHWpzANWuX7+OTqfDxcWFkpISoqOjeeWVV4iOjr4ZrHTxGVTP\nelCzddPYppR+dJunJ3h43Hxcd+vVq/2NgBNCWC+zdPE5Ojqi0+kM+xcvXsTOyH/JLly4QExMDACV\nlZU8/vjjtZKTrais1I9yq5tkGup669q1fpIZMAAiImofc3GRe3+EEO1Pi1pQn376KRs2bCAtLY3Y\n2Fg2btzIa6+9xpQpU8wRo0F7bkGVldVPMg1tly/rWzLVyQWSGD58ZL2Wj4cHdOli6VIZX5IN9tNL\nmW2DLZbZLC2oJ554grCwMHbt2gVAYmKiRVbUtTZK6ed2a0k32/Xr4O5ev8Vz11219/v2hU41PpWk\nJLCx77QQQgBWNsy8OeZqQVVV6VsyzXWz5eXpu84au6ZTs7XTq5d0swkhbItJ74OKjIxk//79Dd6w\na4obdZvT1sJWVDR8fafuduGC/rpNUwMKal7fEUIIUZ9JE9SZM2cYOHBgq9/c2FpaWKXg97+H8+dr\nJ57CQujdu2Utns6dzVCgFrC1fmtbKy9ImW2FLZbZpNegYmJiSE9PB2Dy5Ml8+eWXrT6ROWk00KPH\nzclDa17fsbe3dHRCCCFaoskWVM37nmo+tpT2PIpPCCFsTVv/ZsttmUIIIaxSkwnq8OHDuLi44OLi\nwpEjRwyPXVxc6N69u9GD2bFjB0OGDGHQoEGsXLnS6O/fHtWdDqejs7XygpTZVthimduqyQSl0+ko\nKiqiqKiIyspKw+OioiKjj+DT6XTMnz+fHTt2cOzYMdavX8/x48eNeo72qHr+Lltha+UFKbOtsMUy\nt5XVdPGlpqZyxx134O3tjYODA9OmTWPz5s2WDsviqidetBW2Vl6QMtsKWyxzW1lNgsrNzaV///6G\nfS8vL3Jzcy0YkRBCCEuymgTV2Mq9ts4YU9a3J7ZWXpAy2wpbLHObKSvx7bffqrFjxxr2ly9fruLj\n42v9jq+vrwJkk0022WRrB5uvr2+b8oLVzMVXWVmJn58fu3bt4rbbbiM8PJz169fj7+9v6dCEEEJY\nQItmMzeHTp06sWbNGsaOHYtOp2POnDmSnIQQwoZZTQtKCCGEqMlqBkk0xVZu4PX29mbYsGGEhoYS\nHh4OQEFBAWPGjGHw4MFER0e3+6Gqs2fPxt3dnaCgIMOxpsq4YsUKBg0axJAhQ9i5c6clQm6zhsoc\nFxeHl5cXoaGhhIaGsn37dsNz7b3MOTk53HfffQQGBjJ06FD+/Oc/Ax37c26szB35cy4rKyMiIoKQ\nkBACAgJYunQpYOTPuU1XsMygsrJS+fr6qqysLFVeXq6Cg4PVsWPHLB2WSXh7e6vLly/XOvbCCy+o\nlStXKqWUio+PV4sXL7ZEaEazb98+lZ6eroYOHWo41lgZjx49qoKDg1V5ebnKyspSvr6+SqfTWSTu\ntmiozHFxcWrVqlX1frcjlDkvL09lZGQopZQqKipSgwcPVseOHevQn3NjZe7In7NSSpWUlCillKqo\nqFAREREqOTnZqJ+z1begbO0GXlWnx3XLli3ExsYCEBsbS2JioiXCMpqoqChcXV1rHWusjJs3b+bR\nRx/FwcEBb29v7rjjDlJTU80ec1s1VGao/1lDxyizh4cHISEhADg7O+Pv709ubm6H/pwbKzN03M8Z\noGvXrgCUl5ej0+lwdXU16uds9QnKlm7g1Wg03H///YwYMYIPPvgAgAsXLuDu7g6Au7s7Fy5csGSI\nJtFYGc+fP4+Xl5fh9zraZ//2228THBzMnDlzDN0gHa3M2dnZZGRkEBERYTOfc3WZ77rrLqBjf85V\nVVWEhITg7u5u6OI05uds9QnKlm7g3b9/PxkZGWzfvp133nmH5OTkWs9rNJoOXx/NlbGjlP/pp58m\nKyuLzMxMPD09ef755xv93fZa5uLiYiZPnkxCQgIudZae7qifc3FxMY888ggJCQk4Ozt3+M/Zzs6O\nzMxMzp07x759+9izZ0+t59v6OVt9gurXrx85OTmG/ZycnFpZuCPx9PQEoE+fPsTExJCamoq7uzta\nrRaAvLw8+vbta8kQTaKxMtb97M+dO0e/fv0sEqOx9e3b1/CPd+7cuYaujo5S5oqKCiZPnsz06dOZ\nNGkS0PE/5+oyP/HEE4Yyd/TPuVqPHj146KGHSEtLM+rnbPUJasSIEZw8eZLs7GzKy8v54osvmDBh\ngqXDMrrr169TVFQEQElJCTt37iQoKIgJEyawbt06ANatW2f44nckjZVxwoQJ/OMf/6C8vJysrCxO\nnjxpGN3Y3uXl5Rkeb9q0yTDCryOUWSnFnDlzCAgIYMGCBYbjHflzbqzMHflzvnTpkqHLsrS0lG++\n+YbQ0FDjfs4mG95hRNu2bVODBw9Wvr6+avny5ZYOxyR++uknFRwcrIKDg1VgYKChnJcvX1ajR49W\ngwYNUmPGjFGFhYUWjrRtpk2bpjw9PZWDg4Py8vJSH330UZNlfP3115Wvr6/y8/NTO3bssGDkrVe3\nzGvXrlXTp09XQUFBatiwYWrixIlKq9Uafr+9lzk5OVlpNBoVHBysQkJCVEhIiNq+fXuH/pwbKvO2\nbds69Od8+PBhFRoaqoKDg1VQUJD605/+pJRq+m/WrZZZbtQVQghhlay+i08IIYRtkgQlhBDCKkmC\nEkIIYZUkQQkhhLBKkqCEEEJYJUlQQgghrJIkKCGEEFZJEpQQQgirJAlKtHuXL182LAjn6elpWCBu\n+PDhVFRUGP18kZGRrX6ts7OzUWKofp+rV6/yl7/8xSjv2Zhjx44RHh7O9OnTuXjxIgAZGRkEBgay\nbds2k55b2DaZSUJ0KK+++iouLi4sXLiwxa+p/idgjtmkXVxcDHMuGuN9srOzGT9+PEeOHDFCdI17\n9dVXGThwIDNnzgQgMzMTR0dHAgICTHpeYdukBSU6nLr/5/r000+JiIggNDSUp556iqqqKrKzs/Hz\n8yM2NpagoCCSk5MZMmQIs2bNws/Pj8cff5ydO3cSGRnJ4MGDOXDggOH9nJ2dOXPmDP7+/sybN4+h\nQ4cyduxYysrKDL8TExPDiBEjGDp0qGFtr8YsXbqUd99917AfFxfHqlWrAHjzzTcJCgoiKCiIhISE\neq9dsmQJp0+fJjQ0lMWLFzd57j/+8Y8MGTKEqKgoHnvsMcM5Gqqfury8vGrNRH306FFJTsL0TDCH\noBAWExcXp9544w3D/rFjx9T48eNVZWWlUkqpp59+Wn3yyScqKytL2dnZqZSUFKWUUllZWapTp07q\n+++/V1VVVSosLEzNnj1bKaXU5s2b1aRJkwzv6ezsrLKzs1WnTp3UoUOHlFJKTZkyRX366aeG3yko\nKFBKKXX9+nU1dOhQw76zs3O9mDMyMtS9995r2A8ICFDnzp1TBw8eVEFBQer69euquLhYBQYGqszM\nzFrvk52dXWsp+YbOffnyZZWamqpCQkLUjRs3VFFRkRo0aJBatWpVo/VT144dO9S8efOUUkr95z//\nUXl5eU18CkIYRydLJ0ghTGnXrl2kpaUxYsQIQL8sgIeHB/fccw8DBw6sNd2/j48PgYGBAAQGBnL/\n/fcDMHToULKzs+u9t4+PD8OGDQMgLCys1u8kJCQYlrrOyclpcmmBkJAQ8vPzycvLIz8/H1dXV/r1\n68fGjRt5+OGH6dKlCwAPP/ww+/btIzg42PBa1UAPfc1znzt3jpMnT/Ltt98yadIkHB0dcXR0ZPz4\n8Sil2L17d4P1U1d1C0qn05Gfn8/o0aMbLIsQxiQJSnR4sbGxLF++vNax7OxsunXrVutY586dDY/t\n7OxwdHQ0PK6srKz3vjV/397entLSUgCSkpLYtWsX3333HU5OTtx33321uv8a8qtf/YqNGzei1WqZ\nNm0aoL8mVjMBKaWavU7W2Lkbeq/qnw3VT11eXl6cO3eOzZs3d8j12IR1kmtQokMbPXo0GzduNIw+\nKygo4OwFbYPFAAAf0UlEQVTZsyY957Vr13B1dcXJyYkffviB7777rtnXTJ06lfXr17Nx40Z+9atf\nARAVFUViYiKlpaWUlJSQmJhIVFRUrdfVHXTR0Lk1Gg2RkZFs3bqVGzduUFxczNdff41Go2lx/fTo\n0YOCggLs7OzqJXYhTEVaUKLDqdnK8Pf357XXXiM6OpqqqiocHBx49913DUtxN/a6uvsNPW7s98eN\nG8d7771HQEAAfn5+/OIXv2j0HNUCAgIoLi7Gy8sLd3d3AEJDQ5k5c6aha/DJJ580dO9Vv0+vXr2I\njIwkKCiIBx98kD/+8Y8NnnvEiBFMmDCBYcOG4e7uTlBQED169Gi0fgYMGFAvxsjISGk9CbOSYeZC\n2IiSkhK6devG9evXuffee/nggw8ICQmxdFhCNEpaUELYiHnz5nHs2DHKysqYOXOmJCdh9aQFJYQQ\nwirJIAkhhBBWSRKUEEIIqyQJSgghhFWSBCWEEMIqSYISQghhlSRBCSGEsEqSoIQQQlglSVBCCCGs\nkiQoIYQQVkkSlBBCCKskCUoIIYRVkgQlhBDCKkmCEsJI0tLSeOihh/jFL37B2rVr+fDDD3njjTe4\n/fbbycrKuuX3S05OZuzYsURERLBu3bpaz61evZqXXnqJ999/31jhC2F1ZLkNIYwkLCwMFxcXHnvs\nMR5//HHDcWdnZ2677bZbfr+oqCicnJxYuHAhU6dONRy/evUqGzZsICEhQVa3FR2atKCEMKJ9+/Yx\nduxYAD777DMARo0aRefOnW/5vXQ6HcnJyYwcObLW8ZSUFEJCQggPDycwMLDNMQthrSRBCWEkR48e\nxcHBgY0bN/Lkk09y5MgRALp27UpiYiJTpkwB9N1zb7zxBgDXrl1jzZo1bNu2jTfffLPW+6Wnp+Ph\n4WFYAh70ySkhIYHKyko2bdpkppIJYRmSoIQwkj179jB58mSeeuopli5dyn333QfoW1WhoaFotVoA\npk2bhp2d/p9eYmIiOTk53H333Rw7dqzW++3evZtRo0bVOhYREUGXLl1YsGABMTExZiiVEJYjCUoI\nI0lKSiIyMhKAfv36MXr0aAoKCnB2dmbt2rXMnDkTgIKCAu6//34AHnjgAS5dukRQUBBhYWH13q86\nydV0/PhxAgICTFsYIayAJCghjEApxd69ew0JqnPnznTq1Ik333yTcePGkZaWRkREBAAZGRkMGzaM\nlJQUXnrpJdauXUtaWhp79+41vF9FRQX79++vd/3pwoUL9O7dG41GY7ayCWEpMopPiDY6fPgwn3/+\nOWVlZXz99dcAlJSUsH37doKCgnB0dGTatGkkJiZy4sQJ7r77bgD69u1LWFgYW7Zs4aeffmLVqlWA\n/jrT559/jr29PZs2bWLu3LmGc6WkpBiSoBAdnUYppcx1spycHGbMmEF+fj4ajYZ58+bxm9/8hri4\nOD788EP69OkDwIoVKxg3bpy5whLC6qWlpfHBBx/g5ubG1KlTCQ4OtnRIQpicWVtQDg4OrF69mpCQ\nEIqLiwkLC2PMmDFoNBoWLlzIwoULzRmOEO2Gvb09Xl5edO3aVZKTsBlmTVAeHh54eHgA+psX/f39\nyc3NBfR9+EKIhoWEhBASEmLpMIQwK4sNksjOziYjI4O77roLgLfffpvg4GDmzJnDlStXLBWWEEII\nK2GRBFVcXMwjjzxCQkICzs7OPP3002RlZZGZmYmnpyfPP/+8JcISQghhTZSZlZeXq+joaLV69eoG\nn8/KylJDhw5t8LnbbrtNAbLJJptssrWDzdfXt035wqwtKKUUc+bMISAggAULFhiO5+XlGR5v2rSJ\noKCgBl9//vx5lFKyNbG98sorFo/B2jepI6kjU9dRWVkehw6N4+DBcEpKTlo8Vkttp0+fblPOMOsg\nif379/Ppp58ybNgwQkNDAVi+fDnr168nMzMTjUaDj4+PLCHQBtnZ2ZYOwepJHTVP6qh5jdXRpUtf\n8eOPT+LpOZeBA5dhZ+dg3sA6ELMmqF/+8pdUVVXVO/7AAw+YMwwhhDA6ne46p0+/wOXLXxMQsIGe\nPaMsHVK7JzNJdDDV872JxkkdNU/qqHk166ioKJPjxx/D2TmEESMycXDoabnAOpBbnkkiISGB5557\njvz8fPr27WuquBqk0Wi4xXCFEMJklKri3LnVnD0bzx13vIW7++PNv8iGtPVv9i0PkujduzdxcXEs\nW7aMrVu3cunSpVafXBhfUlKSpUOwelJHzZM6at7Onf/k0KFoLl78F8OHp0pyMoFb7uKrXsr61KlT\nlJaWsnnzZpydnWstSS2EEB3ZxYubOHFiHoMHL2TAgKXY2cnVElMwymSxX3zxhVkSlHTxCSEsqbKy\nmNOnf0th4W78/T+jR4+7LB2SVTNpF99HH33UojeR1pMQoqO7du0AaWnDqaqqYMSITElOZtBkglqy\nZAmzZs3ivffeIz09HZ1OZ3hO7pOwTnLtoHlSR82TOrpJKR1nzqzgyJGH8PH5I/7+f6NTJxepIzNo\nsuP0+eefJyIigpSUFJYvX86RI0fo3bs34eHhaLVa1q9ff0sna2w9qIKCAqZOncqZM2fw9vZmw4YN\n9OwpwzSFEJZVVnaW48enAxrCwg7i5DTA0iHZlCavQSml6i0trdVqSUlJYc2aNXzzzTe3dDKtVotW\nq621HlRiYiIff/wxvXv3ZtGiRaxcuZLCwkLi4+PrByvXoIQQZpKf/wUnTz6Ll9dCBgx4AY3G3tIh\ntTtt/Zvd6kES+/bt45577mn1iQEmTZrE/PnzmT9/Pnv37sXd3R2tVsvIkSP54Ycf6gcrCUoIYWKV\nldc4efJZrl37Fn//z+nefYSlQ2q3zH4fVLW2Jqfq9aAiIiK4cOEC7u7uALi7u3PhwoU2vbctk37x\n5kkdNc9W6+jq1W85eDAUOztHwsLSm0xOtlpH5mSRwfvFxcVMnjyZhIQEXFxcaj2n0WjqdSsKIYQp\nVVVVcPbsCnJz32Hw4L/Qp8/Dlg5JYIEEVVFRweTJk5k+fTqTJk0CMHTteXh4kJeX1+QUSjNnzsTb\n2xuAnj17EhISwsiRI4Gb/6Ox9f1q1hKP7Le//ZEjR1pVPKbaV0oxbNh1Tp16nu+/707//msMyam5\n11cfs6byWHo/MzPTsCK6MUZ6t+ga1OLFi1m5cmWzx5qjlCI2NpZevXqxevVqw/FFixbRq1cvFi9e\nTHx8PFeuXJFBEkIIkyou/p7TpxdSVnaWO+5YhZvbg9J7Y2RmuQa1c+fOese2bdt2yyerXg9qz549\nhIaGEhoayo4dO1iyZAnffPMNgwcPZvfu3SxZsuSW31voVf+vRjRO6qh5HbmOyssv8uOPz3Do0Ch6\n9fof7rzzCL16PXTLyakj15G1aLKL7y9/+Qvvvvsup0+frrXKbVFREZGRkbd8ssbWgwL4z3/+c8vv\nJ4QQLVVVVU5u7tucObMCd/fHCQ//AQcHN0uHJZrQZBff1atXKSwsZMmSJbW681xcXHBzM/8HK118\nQohbpZTi8uUtnD79O7p0GYyv7xt06+Zv6bBsglnugyorK+PLL78kOzubyspKw4mXLVvW6hO3hiQo\nIcStKC4+xKlTv6W8/AJ33PEmbm5jLR2STTHLNaiJEyeyZcsWHBwccHZ2xtnZmW7durX6pMJ0pF+8\neVJHzWvvdVRefoETJ+Zx6FA0ffr8ihEjDhk9ObX3OmoPWjTMPDc3l3//+9+mjkUIIdpEpysjNzeB\ns2f/Dw+PWMLDT8jy6+1Yi7r45s2bx/z58xk2bJg5YmqUdPEJIRqi05Wi1X7E2bN/wtk5FF/f/6Nr\n10GWDsvmmeUalL+/P6dOncLHx4fOnTsbTnz48OFWn7g1JEEJIWqqrLxKbu67nDuXQPfuEQwYsFTW\nabIibf2b3aIuvu3btxvlZML0at7ZLhomddQ8a6+j8vJ8zp17i/Pn/0qvXg8QHPwfnJ2HmjUGa6+j\njqBFgyQGDBhAcnIy69atw9vbGzs7O/Lz800dmxBC1FJWdoaTJ58lNXUIlZVXCAs7gL//382enIR5\ntKiL76mnnsLOzo7du3fzww8/UFBQQHR0NAcPHrzlE86ePZuvv/6avn37cuTIEQDi4uL48MMP6dOn\nDwArVqxg3Lhx9YOVFpwQNqmk5Bhnz67k8uWv8PSci5fXb+nc2cPSYYlmmGWYeUpKCu+++y5dunQB\nwM3NjYqKiladcNasWezYsaPWMY1Gw8KFC8nIyCAjI6PB5CSEsD3Xrh3g++8fJjPzPrp0GURExCl8\nfVdKcrIRLUpQjo6O6HQ6w/7Fixexs2vdUlJRUVG4urrWOy4tI+OQezOaJ3XUPEvWkVKKwsLdZGbe\nz9GjD9Oz50juuusnvL1/j4ND/b8dliLfI9NrUZZ59tlniYmJIT8/nxdffJHIyEiWLl1q1EDefvtt\ngoODmTNnjmG6diGE7VCqiosXE0lPv4sff3wGd/fHiYg4jZfXb7C3l4kBbFGLl3w/fvw4u3btAmD0\n6NH4+7d+Lqvs7GzGjx9vuAaVn59vuP708ssvk5eXx9q1a+sHK9eghOhwKiqukJ//D3Jz38bOzokB\nA5bSp08MGo29pUMTbWTyYeZKKc6dO4e/v3+bklJTai5QOHfuXMaPH9/o78qChbIv++1/X6kqtm59\nk4KC7fj6puHmNgatdhYuLmH07XufxeOT/XayYKFSiqCgIL7//vs2n6xa3RZUXl4enp6eAKxevZoD\nBw7w+eef1w9WWlDNSpJ7M5olddQ8U9VRaelptNq/odWuw8GhNx4es3B3fwwHh15GP5epyfeoeSZv\nQWk0GsLCwkhNTSU8PLzVJ6r26KOPsnfvXi5dukT//v159dVXDZlXo9Hg4+PD+++/3+bzCCGsg05X\nwsWLG8nL+5jr14/St+/jBAVtxdk52NKhCSvXomtQfn5+nDp1ioEDBxpmMZepjoQQjVFKcfXqfrTa\nj7l06V907x6Jp+csevUaj52do6XDE2Zi8rn4lFIkJyczYMCAes9VXwsyF0lQQli3srJzXLjwCVrt\n39Bo7H/uwptO586elg5NWIBZEpSxr0G1liSo5km/ePOkjpp3K3Wk05Vx+fIWtNqPuXYthT59HsHD\nYzbdu0eg0WhMG6gFyfeoee3uGpQQov1TSlFcnE5e3sfk5/8DZ+dgPDxmERj4Jfb2XS0dnugg5BqU\nEKJFlFKUlp7k8uWv0Wo/RqcrwsNjJu7usXTp4m3p8IQVMst6UGfOnGnw+MCBA1t94taQBCWE+eh0\npRQVHeTatf9y9ep+rl79L/b23ejZ8z48PGLp2fNeNJrWTXkmbINZEtSrr75a60TV/crLli1r9Ylb\nQxJU86RfvHlSRw27cSOPq1f3c+3af9m1awf+/mfo1i2Q7t3vpkePu+ne/W6cnLwsHabVkO9R88yy\nYGG3bt0MSam0tJSvvvqKgICAVp9UCGFZVVWVlJR8z7Vr+pbRtWv/pbLymiER9es3j8jIeXI9SVhU\ni+fiq+nGjRtER0ezd+9eU8TUKGlBCdE6lZVXuXbtO0NXXVFRKp07e9VqHXXt6tehR90J8zNLC6qu\nkpIScnNzW3XChhYsLCgoYOrUqZw5cwZvb282bNhAz549W/X+Qtg6/WCG0z9fO/ov167tp7Q0CxeX\nEfToEUn//r+le/e72uX0QsK2tOgKZ1BQkGELDAzEz8+P5557rlUnbGjBwvj4eMaMGcOPP/7I6NGj\niY+Pb9V7C1mjpiU6Wh3pdGVcvbqfs2f/j++/j+G///UgM3Mkly9/TbduAfj5fcwvf1lIaGgSt9/+\nOr16PdRscupodWQKUkem16IW1NatW2++oFMn3N3dcXBwaNUJo6Ki6s1yu2XLFkN3YWxsLCNHjpQk\nJUQjbtzQ1mgd/Zfi4kN07epPjx5306fPVO644884OfW3dJhCtFmrrkG1Vd3ZzF1dXSksLAT03RNu\nbm6G/ZrkGpSwNUrpKCk5auiqu3r1v1RWFtK9+y8M1466dw+XBf2EVTLLNagZM2aQkJBgWKq9oKCA\n3/3ud3z00UetPnFjNBqNXKgVNkcpRXn5BUpKvv95O0JJyfdcv34MR8fb6NEjkh497mXAgKV07TpE\n7j8SNqFFCerw4cOG5ATg5uZGenq60YJwd3dHq9Xi4eFBXl5erQUM65IFC5tfMGzBggVWE4817lcf\ns9T5IyNDKCn5nm+++RdlZVkMHVpIScn3ZGRU0KWLD/feG0X37uGcOhWCk5MPUVH/U+P1+YwcGWDy\neOvWlTnrp73sv/XWW/L3p86+2RcsBAgODmbPnj24ubkB+hbUvffea+iiu1V1u/gWLVpEr169WLx4\nMfHx8Vy5cqXBa1DSxde8JLl5sFnmqiOd7jrXrx+v0SrSb5WVV+jaNZBu3YbW2hwd3a2m90C+R82T\nOmqeWWaS+OSTT3j99deZMmUKSin++c9/8tJLLzFjxoxbPmHNBQvd3d35wx/+wMSJE5kyZQpnz55t\ncpi5JChhjaqqKigtPVmve+7GjXN06TK4XiJychooXXTCJpglQQEcPXqU3bt3o9FoGDVqlEVmkpAE\nJSxJqSrKys7USkIlJd9TWnqSzp3710lEQXTpcgd2dq0b7SpER2C2BGUNJEE1T7odmtdcHekHLGjr\ndc1dv36MTp161kpC3boNpWvXIR1uSiD5HjVP6qh5FplJQoiOoqKikJKSo/WSESi6dQvC2TmI7t3D\n8fScTdeugTg4yAwnQpiLtKCETag5YKG4+Gb3nE531eoHLAjRXpm0i2/VqlUNnqj6H+7ChQtbfeLW\nkAQlGqOUorKykLKyM5SVneHGDf3P0tKfuH79qAxYEMICTNrFV1RUhEaj4cSJExw4cIAJEyaglOKr\nr76S5d+tVEftF1eqivJybb0EVHMf7HByGoiT00A6d9b/7N79F3TrFkiXLoMMAxY6ah0Zk9RR86SO\nTK/JBBUXFwfo589LT0/HxcUF0C9g+OCDD5o8OGE7qqrKuXHjXBMJ6BydOvWolYC6dvXHzW2cYV+u\nDwnRsbToGpSfnx+HDh3CyckJgLKyMoKDgzlx4oTJA6xJuvjaL52upF6Lp+Z+RUU+jo6e9VpAN/cH\nYG/fxdLFEELcArPNxRceHs7DDz+MUorExERiY2NbfdLGeHt70717d+zt7XFwcCA1NdXo5xDGp7/+\nU9BkAqqqKqFz5wG1EpCb2wOGfUfHftjZyaBSIcRNLR7Fl5aWRnJyMhqNhqioKIYPH270YHx8fEhL\nSzNMqVSXtKCaZ4p+cf31n7wmE5BG06lOi6d2C8jBoa/VjIqTawfNkzpqntRR88x2H1RYWBhhYWGt\nPlFLSQIyP/31n5xGE5D++o9rrYTTtWsgbm4PGvY7deph6WIIITqYJltQzs7Ojf6vV6PRcO3aNaMG\nc/vtt9OjRw/s7e359a9/zZNPPlnvnJLAbl1lZXGDo95uXv+5ROfOtzV43efm9R8nSxdDCNHOmLQF\nVVxc3Oo3bo39+/fj6enJxYsXGTNmDEOGDCEqKsqsMbQ3+u63fG7cyOHGjbOUlZ2tl4Cqqkrrdbs5\nO/+PYb9z59vQaOwtXRQhhKilRV18VVVVfPbZZ2RlZbFs2TLOnj2LVqs1+r1Qnp6eAPTp04eYmBhS\nU1PrJShbWg9qz5496HRF3HXXQMrKctiz5z9UVOQTEmLHjRs5fPvtj5SXX+bOO3vSuXN/Dh/uwunT\ndjz11CR69owiNfUSjo7u3H//RDQaTSPnO83Ikf2torzm2q8+Zi3xWON+3bqydDzWuC/rQdXft8h6\nUE899RR2dnbs3r2bH374gYKCAqKjozl48GCbA6h2/fp1dDodLi4ulJSUEB0dzSuvvEJ0dPTNYDtY\nF5++6y3HsJWVna3xWP9To3HAyak/nTvf3PT7A37e96rV/ZYkF26bJXXUPKmj5kkdNc8ss5mHhoaS\nkZFh+An6RQwPHTrU6hPXlZWVRUxMDACVlZU8/vjjLF26tHaw7ShBVVXd+PnG04YT0I0bOVRV3aiT\ndGomIX0C6tTJxdJFEUKIVjHLKD5HR0d0Op1h/+LFi9jZGXf+Mh8fHzIzM436nqZSVVVJeXlevdaO\n/hqQ/nFlZSGdO/erlXScnYPo1etBw76DQy+rGXothBDWpkUJ6tlnnyUmJob8/HxefPFFNm7cyGuv\nvWbq2CxCKUVFRX6tls/NJKRvAZWXX8DBoXetlo6Tkzc9ekQZWkL62bDNP/BAuh2aJ3XUPKmj5kkd\nmV6LEtQTTzxBWFgYu3btAiAxMdEiK+q2lX7GgysNtHxqdsHlYm/vXKPLbQBOTv1xdg6t0Rq6DTs7\nR0sXRwghOrQOtR6Ufr63hlo+NxOQRmPXwHWfATUee3W41VGFEMISTDpIIjIykv379zd4w64pbtRt\njkajobAwqdEkVFV1nc6dvRod8ebk1F9mPBBCCDMxaYI6c+YMAwcObPWbG5tGoyEtLbLREW8ODr1t\nftCB9Is3T+qoeVJHzZM6ap5JR/HFxMSQnp4OwOTJk/nyyy9bfSJjGT78/1k6BCGEEGbQZAuq5n1P\nNR9bSnu6D0oIIWxdW/9mG/dmJiGEEMJImkxQhw8fxsXFBRcXF44cOWJ47OLiQvfu3Y0ezI4dOxgy\nZAiDBg1i5cqVRn9/W1BzDjXRMKmj5kkdNU/qyPSaTFA6nY6ioiKKioqorKw0PC4qKjL6CD6dTsf8\n+fPZsWMHx44dY/369Rw/ftyo57AF7WU2DkuSOmqe1FHzpI5Mz2q6+FJTU7njjjvw9vbGwcGBadOm\nsXnzZkuH1e5UzyQsGid11Dypo+ZJHZme1SSo3Nxc+vfvb9j38vIiNzfXghEJIYSwJKtJULZ+/5Kx\nGGMNlo5O6qh5UkfNkzoyvRbNxWcO/fr1Iycnx7Cfk5ODl5dXrd/x9fWVRNYC69ats3QIVk/qqHlS\nR82TOmqar69vm15vNXPxVVZW4ufnx65du7jtttsIDw9n/fr1+Pv7Wzo0IYQQFmA1LahOnTqxZs0a\nxo4di06nY86cOZKchBDChllNC0oIIYSoyWoGSdTl7e3NsGHDCA0NJTw8HICCggLGjBnD4MGDiY6O\ntrlhnrNnz8bd3Z2goCDDsabqZMWKFQwaNIghQ4awc+dOS4Rsdg3VUVxcHF5eXoSGhhIaGsr27dsN\nz9liHeXk5HDfffcRGBjI0KFD+fOf/wzId6mmxupIvks3lZWVERERQUhICAEBASxduhQw8vdIWSlv\nb291+fLlWsdeeOEFtXLlSqWUUvHx8Wrx4sWWCM1i9u3bp9LT09XQoUMNxxqrk6NHj6rg4GBVXl6u\nsrKylK+vr9LpdBaJ25waqqO4uDi1atWqer9rq3WUl5enMjIylFJKFRUVqcGDB6tjx47Jd6mGxupI\nvku1lZSUKKWUqqioUBERESo5Odmo3yOrbUEB9SYZ3LJlC7GxsQDExsaSmJhoibAsJioqCldX11rH\nGquTzZs38+ijj+Lg4IC3tzd33HEHqampZo/Z3BqqI6j/XQLbrSMPDw9CQkIAcHZ2xt/fn9zcXPku\n1dBYHYF8l2rq2lW/uGt5eTk6nQ5XV1ejfo+sNkFpNBruv/9+RowYwQcffADAhQsXcHd3B8Dd3Z0L\nFy5YMkSr0FidnD9/vtYwfVu/8fntt98mODiYOXPmGLocpI709/JkZGQQEREh36VGVNfRXXfdBch3\nqaaqqipCQkJwd3c3dIka83tktQlq//79ZGRksH37dt555x2Sk5NrPa/RaOSeqDqaqxNbra+nn36a\nrKwsMjMz8fT05Pnnn2/0d22pjoqLi5k8eTIJCQm4uLjUek6+S3rFxcU88sgjJCQk4OzsLN+lOuzs\n7MjMzOTcuXPs27ePPXv21Hq+rd8jq01Qnp6eAPTp04eYmBhSU1Nxd3dHq9UCkJeXR9++fS0ZolVo\nrE7q3vh87tw5+vXrZ5EYLa1v376Gfyhz5841dCvYch1VVFQwefJkpk+fzqRJkwD5LtVVXUdPPPGE\noY7ku9SwHj168NBDD5GWlmbU75FVJqjr169TVFQEQElJCTt37iQoKIgJEyYY7txet26d4Utjyxqr\nkwkTJvCPf/yD8vJysrKyOHnypGE0pK3Jy8szPN60aZNhhJ+t1pFSijlz5hAQEMCCBQsMx+W7dFNj\ndSTfpZsuXbpk6OIsLS3lm2++ITQ01LjfI5MN72iDn376SQUHB6vg4GAVGBioli9frpRS6vLly2r0\n6NFq0KBBasyYMaqwsNDCkZrXtGnTlKenp3JwcFBeXl7qo48+arJOXn/9deXr66v8/PzUjh07LBi5\n+dSto7Vr16rp06eroKAgNWzYMDVx4kSl1WoNv2+LdZScnKw0Go0KDg5WISEhKiQkRG3fvl2+SzU0\nVEfbtm2T71INhw8fVqGhoSo4OFgFBQWpP/3pT0qppv9O32odyY26QgghrJJVdvEJIYQQkqCEEEJY\nJUlQQgghrJIkKCGEEFZJEpQQQgirJAlKCCGEVZIEJYQQwipJghJCCGGVrGbJdyFs0fvvv8/vf/97\nli9fjkajISsrC61Wy9q1ay0dmhAWJwlKCAuKiIggOjqaJ5980nDM1tY5E6Ix0sUnhAV99913REZG\nAvD1118D+qQlhJAEJYRFHThwgMuXL/O73/2OY8eOATeXmhHC1kkXnxAWdPjwYT744APy8/M5ceIE\nN27coLy8vN4CgkLYImlBCWEhRUVF2NvbY2dnR69evYiMjGTPnj04OTlZOjQhrIIkKCEs5MCBAwQH\nBwPg4OCAnZ0dJ0+exMHBwcKRCWEdpItPCAs4cOAACQkJODo6snbtWkpLS9m4cSOLFy+2dGhCWA1Z\nsFAIIYRVki4+IYQQVkkSlBBCCKskCUoIIYRVkgQlhBDCKkmCEkIIYZUkQQkhhLBKkqCEEEJYJUlQ\nQgghrNL/B/LwApWB5UraAAAAAElFTkSuQmCC\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x7f7432763950>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "From the plot we can see that when the current If=25 A the terminal voltage is V=250 V with the back emf E=258V\n",
+        "Hence the rquired braking resistance is  1.429 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.7,Page No:72"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from array import array\n",
+      "import numpy \n",
+      "import matplotlib.pyplot as plt\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the DC series motor which operated under dynamic braking\n",
+      "Ra=0.5         #total resistance of armature and field windings\n",
+      "Rf=10          #field resistance\n",
+      "T=500          #overhauling load torque in N-m\n",
+      "N=600          #speed at the overhauling torque T\n",
+      "\n",
+      "#magnetisation curve at a speed of 500 rpm\n",
+      "N1=500    #speed in rpm\n",
+      "Ia=[20, 30, 40, 50, 60, 70, 80]       #armature current\n",
+      "E =[215,310,381,437,482,519,550]     #back emf\n",
+      "\n",
+      "#calculation\n",
+      "Wm1=2*math.pi*N1/60\n",
+      "print\"\\nArmature current :\",Ia,\"A\"\n",
+      "Ke_flux=[E / Wm1 for E in E]    #Ke*flux=constant\n",
+      "Ke_flux=[round(Ke_flux,3) for Ke_flux in Ke_flux]  \n",
+      "print\"\\nKe_flux :\",Ke_flux\n",
+      "Ke_flux=numpy.array(Ke_flux)\n",
+      "Ia=numpy.array(Ia)\n",
+      "T=numpy.array(Ke_flux)*numpy.array(Ia)   #torque\n",
+      "T=[round(T,1) for T in T]\n",
+      "print\"\\nTorque  :\",T,\"N-m\"\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "#plotting the values of Ke*flux vs Ia and T vs Ia\n",
+      "plt.subplot(2,1,1)\n",
+      "plt.plot(Ia,Ke_flux,'y')\n",
+      "plt.xlabel('Armature current $I_a$')\n",
+      "plt.ylabel('$Ke*flux$')\n",
+      "plt.title('$Ke*flux vs Ia$')\n",
+      "plt.grid()\n",
+      "\n",
+      "plt.subplot(2,1,2)\n",
+      "plt.plot(T,Ia)\n",
+      "plt.xlabel('Torque $T$')\n",
+      "plt.ylabel('Armature current $I_a$')\n",
+      "plt.title('$T vs Ia$')\n",
+      "plt.grid(True)\n",
+      "plt.tight_layout()\n",
+      "plt.show()\n",
+      "\n",
+      "print\"\\nFrom the plot we can see that at the given torque T=500 N-m the current Ia is 56 A, and Ke*flux is 8.9 at Ia=56 A\"\n",
+      "Ke_flux=8.9    #value of Ke*flux at T=500 N-m from the plot\n",
+      "Ia=56          #value of Ia at at T=500 N-m from the plot\n",
+      "Wm=2*math.pi*N/60\n",
+      "E=Ke_flux*Wm   #required emf\n",
+      "x=E/Ia         #x=Ra+Rb\n",
+      "Rb=x-Ra        #required braking resistance\n",
+      "print\"Hence the rquired braking resistance is \",round(Rb,3),\"ohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Armature current : [20, 30, 40, 50, 60, 70, 80] A\n",
+        "\n",
+        "Ke_flux : [4.106, 5.921, 7.277, 8.346, 9.206, 9.912, 10.504]\n",
+        "\n",
+        "Torque  : [82.1, 177.6, 291.1, 417.3, 552.4, 693.8, 840.3] N-m\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\nsXixthAFBWmXjP/rX9Dwvo85OTkGi62pJEb9MPYYjT0+kBj1xRRibJWmTl7NmTNHpaSktHjyq15V\nVZWKjo5Wb7/9tu45Hx8fderUKaWUUidPnlQ+Pj5XfJ+Xl5cC5CEPechDHib28PLyanHNaPJ1Uj4+\nPhw9epR+/fphb28PNH9OSinF3Llz6d69O2+//bbu+QULFtC9e3cWLlxIXFwcJSUlJjEnJYQQom01\nuUjVdynrL8rKzc0lLi6OjRs3Nrmxn3/+mTFjxjB48GDdkN7ixYsJCwsjNjaW3Nxc3S7oTk5Ozc9G\nCCFEh9KsXdD37t3L6tWr+frrr/H09GTatGk89thjbRmfEEIIM3bd66SOHDnCSy+9xKBBg3jiiSfo\n27cvdXV1JCUltVuB+uGHH/D19WXgwIEsWbKkXdq8mnnz5uHu7k5gYKDuuaKiIiZOnIi3tzfR0dGN\nloMuXryYgQMH4uvry+bNm9s8vry8PMaNG4e/vz8BAQG8++67RhejRqMhPDyc4OBg/Pz8eOaZZ4wu\nxnq1tbWEhIQwdepUo4zR09OTwYMHExISQlhYmFHGWFJSwvTp0xk0aBB+fn6kpKQYTYxHjhwhJCRE\n9+jWrRvvvvuu0cTXsE1/f38CAwO56667qKysNLoYly5dSmBgIAEBASxduhTQ49/F605aWVioqVOn\nquPHj+ue8/T0bPEkWHPV1NQoLy8vlZ2draqqqlRQUJA6ePBgu7Xf0Pbt29XevXtVQECA7rmnn35a\nLVmyRCmlVFxcnO6uwgcOHFBBQUGqqqpKZWdnKy8vL1VbW9um8Z06dUqlp6crpZQqLS1V3t7e6uDB\ng0YVo1JKlZWVKaWUqq6uVuHh4So5OdnoYlRKqTfffFPdddddaurUqUop4/pZK6X9d3j27NlGzxlb\njHPmzFGffPKJUkr78y4pKTG6GJVSqra2Vnl4eKjc3Fyjii87O1v1799faTQapZRSsbGx6j//+Y9R\nxbhv3z4VEBCgKioqVE1NjZowYYI6evSo3mK8bpFas2aNio2NVf369VMPPfSQSkhIUP369dNPdk2w\nY8cONWnSJN3x4sWL1eLFi9ut/ctlZ2c3KlI+Pj4qPz9fKaUtEvUrE19//XUVFxf3/9u715Cmvz8O\n4O95AUPDSrzltERyNl3bahpE60GaEdnyUpSGWYnR5UEXoZ4FUgp2f1IPEqLISDNSbGip2WWl5rxM\n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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x7f989876da50>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "From the plot we can see that at the given torque T=500 N-m the current Ia is 56 A, and Ke*flux is 8.9 at Ia=56 A\n",
+        "Hence the rquired braking resistance is  9.486 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 170
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.8,Page No:74"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor\n",
+      "V=220     # rated voltage\n",
+      "N=970     # rated speed\n",
+      "Ia=100    # rated current\n",
+      "Ra=0.05   # armature resistance\n",
+      "N1=1000   # initial speed of the motor in rpm\n",
+      "\n",
+      "#calculation\n",
+      "E=V-Ia*Ra\n",
+      "E1=N1/N*E   #value of back emf at the speed N1\n",
+      "#(a)the resistance to be placed\n",
+      "Ia1=2*Ia         #value of the braking current is twice the rated current\n",
+      "Rb=(E1+V)/Ia1-Ra  #required resistance\n",
+      "\n",
+      "#(b)The braking torque\n",
+      "Wm=(2*math.pi*N1)/60\n",
+      "T=E1*Ia1/Wm\n",
+      "\n",
+      "#(c)when the speed has fallen to zero the back emf is zero\n",
+      "E2=0\n",
+      "Ia2=V/(Ra+Rb)\n",
+      "T2=Ia2/Ia1*T   #since the torque is directly proportional to the current\n",
+      "\n",
+      "\n",
+      "#results \n",
+      "print\"(a)Hence required resistance is :\",round(Rb,2),\"ohm\"\n",
+      "#answer for the resistance in the book is wrong due to accuracy\n",
+      "print\"\\n(b)Hence the required braking torque is :\",round(T,1),\"N-m\"\n",
+      "print\"\\n(c)Hence the required torque is :\",round(T2,1),\"N-m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)Hence required resistance is : 2.16 ohm\n",
+        "\n",
+        "(b)Hence the required braking torque is : 423.3 N-m\n",
+        "\n",
+        "(c)Hence the required torque is : 210.9 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 171
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.9,Page No:84"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor which operates under rheostatic braking\n",
+      "V=220     # rated voltage\n",
+      "N=1000    # rated speed\n",
+      "Ia=175    # rated current\n",
+      "Ra=0.08   # armature resistance\n",
+      "N1=1050   # initial speed of the motor in rpm\n",
+      "J=8       # moment of inertia of the motor load system kg-m2\n",
+      "La=0.12   # armature curcuit inductance in H\n",
+      "\n",
+      "#calculation\n",
+      "E=V-Ia*Ra\n",
+      "Wm=N*2*math.pi/60     #rated speed in rad/s\n",
+      "\n",
+      "#(a)when  the braking current is twice the rated current\n",
+      "Ia1=2*Ia\n",
+      "E1=N1/N*E\n",
+      "x=E1/Ia1   #x=Rb+Ra\n",
+      "Rb=x-Ra    #required braking resistance\n",
+      "\n",
+      "#(b)to obtain the expression for the transient value of speed and current including the effect of armature inductance\n",
+      "Ra=x                   #total armature current\n",
+      "K1=N1*2*math.pi/60     #initial speed in rad/s\n",
+      "K=E/Wm\n",
+      "B=0\n",
+      "ta=La/Ra                    #time constant in sec\n",
+      "Trated=E*Ia/Wm              #rated torque\n",
+      "Tl=0.15*Trated              #load torque is 15% of the rated torque\n",
+      "tm1= float('inf')           #tm1=J/B and B=0 which is equal to infinity\n",
+      "tm2=J*Ra/(B*Ra+K**2)\n",
+      "\n",
+      "a = ta\n",
+      "b = -(1+ta/tm1)\n",
+      "c = 1/tm2\n",
+      "# calculate the discriminant\n",
+      "d = (b**2) - (4*a*c)\n",
+      "# find two solutions\n",
+      "alpha1 = (-b-cmath.sqrt(d))/(2*a)\n",
+      "alpha2 = (-b+cmath.sqrt(d))/(2*a)\n",
+      "\n",
+      "K3=tm2*Tl/J\n",
+      "K4=tm2*K*Tl/J/Ra\n",
+      "\n",
+      "#transient value for speed\n",
+      "x1=((J*alpha2-B)*K1-(Tl-J*alpha2*K3))/(J*(alpha2-alpha1))\n",
+      "y1=((J*alpha1-B)*K1-(Tl-J*alpha1*K3))/(J*(alpha1-alpha2))\n",
+      "\n",
+      "#transient value for the current\n",
+      "x2=(K*K1+alpha2*La*K4)/(La*(alpha2-alpha1))\n",
+      "y2=(K*K1+alpha1*La*K4)/(La*(alpha1-alpha2))\n",
+      "\n",
+      "\n",
+      "#(c) to calculate the time taken by braking operation and the maximum value of the armature current\n",
+      "#now Wm=0 for the braking operation and hence 151.5 exp(-0.963*t1)- 8.247 = 0 from the previous answer in (b)\n",
+      "a=K3/x1    #a=exp(-0.963*t1)\n",
+      "t1=-alpha1*math.log(a.real)        #take log base e on both sides\n",
+      "#now d/dt(ia)=0 for themaximum current and hence d/dt(26.25-593.1exp(-0.963*t)+566.8exp(-4.19*t) = 0 from the previous answer in (b)\n",
+      "b=abs(alpha2*y2)/abs(alpha1*x2)    #b=exp(-0.963*t)/exp(-4.19*t)\n",
+      "t2=math.log(b)/(-alpha1+alpha2)    #take log base e on both sides\n",
+      "t2=abs(t2)\n",
+      "ia=K4-x2.real*math.exp(-alpha1.real*t2)-y2.real*math.exp(-alpha2.real*t2)\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(a)Hence the braking resistance is :\",round(Rb,3),\"ohm\"\n",
+      "print\"\\nb)The value of alpha1 :\",round(alpha1.real,3),\"and alpha2 :\",round(alpha2.real,3)\n",
+      "print\"\\nHence the expression for the transient value for the speed is\"\n",
+      "print\"Wm=\",round(x1.real,1),\"exp(\",-round(alpha1.real,3),\"*t)\",round(y1.real,1),\"exp(\",-round(alpha2.real,2),\"*t)\",\"-\",round(K3,3)\n",
+      "print\"\\nHence the expression for the transient value for the current is\"\n",
+      "print\"ia=\",round(K4,2),\"-\",round(x2.real,1),\"exp(\",-round(alpha1.real,3),\"*t) +\",-round(y2.real,1),\"exp(\",-round(alpha2.real,2),\"*t)\"\n",
+      "print\"\\n(c)Hence the time taken is :\",round(t2,2),\"sec\"\n",
+      "print\"   Hence the maximum current is: \",round(ia,2),\"A\"\n",
+      "print\"\\n Note : There is a slight difference in the answers due to more number of the decimal place \""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)Hence the braking resistance is : 0.538 ohm\n",
+        "\n",
+        "b)The value of alpha1 : 0.963 and alpha2 : 4.187\n",
+        "\n",
+        "Hence the expression for the transient value for the speed is\n",
+        "Wm= 151.5 exp( -0.963 *t) -33.3 exp( -4.19 *t) - 8.247\n",
+        "\n",
+        "Hence the expression for the transient value for the current is\n",
+        "ia= 26.25 - 593.1 exp( -0.963 *t) + 566.8 exp( -4.19 *t)\n",
+        "\n",
+        "(c)Hence the time taken is : 0.44 sec\n",
+        "   Hence the maximum current is:  -272.23 A\n",
+        "\n",
+        " Note : There is a slight difference in the answers due to more number of the decimal place \n"
+       ]
+      }
+     ],
+     "prompt_number": 151
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.10,Page No:86"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "import numpy as np\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor of Ex-5.9 which operates plugging\n",
+      "V=220     # rated voltage\n",
+      "N=1000    # rated speed\n",
+      "Ia=175    # rated current\n",
+      "Ra=0.08   # armature resistance\n",
+      "N1=1050   # initial speed of the motor in rpm\n",
+      "J=8       # moment of inertia of the motor load system kg-m2\n",
+      "La=0.12   # armature curcuit inductance in H\n",
+      "\n",
+      "#calculation\n",
+      "E=V-Ia*Ra\n",
+      "Wm=N*2*math.pi/60     #rated speed in rad/s\n",
+      "#(a)when  the braking current is twice the rated current\n",
+      "Ia1=2*Ia\n",
+      "E1=N1/N*E\n",
+      "x=(V+E1)/Ia1   #x=Rb+Ra\n",
+      "Rb=x-Ra        #required braking resistance\n",
+      "\n",
+      "#(b)to obtain the expression for the transient value of speed and current including the effect of armature inductance\n",
+      "#the values given below are taken from Ex-5.9\n",
+      "ta=0.194                    #time constant in sec\n",
+      "B=0\n",
+      "tm1= float('inf')           #tm1=J/B and B=0 which is equal to infinity\n",
+      "tm2=1.274\n",
+      "K=1.967\n",
+      "Trated=E*Ia/Wm             #rated torque\n",
+      "Tl=0.5*Trated              #load torque is 50% of the rated torque\n",
+      "Ra=Rb\n",
+      "K1=N1*2*math.pi/60         #initial speed in rad/s\n",
+      "#values of the coefficient of the quadratic equation for Wm\n",
+      "x1=(1+ta/tm1)/ta\n",
+      "x2=1/tm2/ta\n",
+      "x3=-(K*V+Ra*Tl)/J/Ra/ta   \n",
+      "#values of the coefficient of the quadratic equation ia\n",
+      "y1=(1+ta/tm1)/ta\n",
+      "y2=1/tm2/ta\n",
+      "y3=-B*V/J/Ra/ta+K*Tl/J/Ra/ta   \n",
+      "\n",
+      "#solving the quadratic equation\n",
+      "a = 1 \n",
+      "b = x1\n",
+      "c = x2\n",
+      "# calculate the discriminant\n",
+      "d = (b**2) - (4*a*c)\n",
+      "# find two solutions\n",
+      "alpha1 = (-b+cmath.sqrt(d))/(2*a)\n",
+      "alpha2 = (-b-cmath.sqrt(d))/(2*a)\n",
+      "\n",
+      "K3=x3/x2\n",
+      "K4=y3/y2\n",
+      "\n",
+      "Wm_0=K1                       ;ia_0=0\n",
+      "d_Wm_dt_0=(K*ia_0-B*Wm-Tl)/J  ;d_ia_dt_0=(-V-Ra*ia_0-K*K1)/La    #Wm=K1 at t=0 and during braking rated voltage V is equal to -V\n",
+      "\n",
+      "A = np.array([[1,1],[alpha1.real,alpha2.real]])\n",
+      "B = np.array([Wm_0,d_Wm_dt_0])\n",
+      "x = np.linalg.solve(A,B)\n",
+      "C = np.array([[1,1],[alpha1.real,alpha2.real]])\n",
+      "D = np.array([-K4,d_ia_dt_0])\n",
+      "y = np.linalg.solve(C,D)\n",
+      "\n",
+      "#(c)to calculate the time taken for the speed to fall to zero value\n",
+      "a=-K3/x[0]                      #a=exp(-0.966*t1)\n",
+      "t1=alpha1*math.log(a)           #take log base e on both sides\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(a)Hence the braking resistance is :\",round(Rb,3),\"ohm\"\n",
+      "print\"\\n(b)The solution for alpha are \",round(alpha1.real,3),\"and\",round(alpha2.real,3)\n",
+      "print\"   Wm=\",round(K3,2),\"+ A*exp(\",round(alpha1.real,3),\"*t) +\",\"+ B*exp(\",round(alpha2.real,2),\"*t)\"\n",
+      "print\"   ia=\",round(K4,2),\"+ C*exp(\",round(alpha1.real,3),\"*t) +\",\"+ D*exp(\",round(alpha2.real,2),\"*t)\"\n",
+      "print\"   We have to find the value of A,B,C and D in the linear equation using the initial condition\"\n",
+      "print\"   A=\",round(x[0],2),\"B=\",round(x[1],2), \"C=\",round(y[0],2),\"D=\",round(y[1],2)\n",
+      "print\"\\nHence the expression for the transient value for the speed is\"\n",
+      "print\"   Wm=\",round(K3,2),\"+\",round(x[0],2),\"*exp(\",round(alpha1.real,3),\"*t)\",round(x[1],2),\"*exp(\",round(alpha2.real,2),\"*t)\"\n",
+      "print\"\\nHence the expression for the transient value for the current is\"\n",
+      "print\"   ia=\",round(K4,2),round(y[0],2),\"*exp(\",round(alpha1.real,3),\"*t) +\",round(y[1],2),\"*exp(\",round(alpha2.real,2),\"*t)\"\n",
+      "print\"\\n(c)Hence the time taken is :\",round(t1.real,2),\"sec\"\n",
+      "print\"\\n Note :There is slight difference in the answers due to accuracy i.e more number of decimal place\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)Hence the braking resistance is : 1.167 ohm\n",
+        "\n",
+        "(b)The solution for alpha are  -0.966 and -4.189\n",
+        "   Wm= -86.48 + A*exp( -0.966 *t) + + B*exp( -4.19 *t)\n",
+        "   ia= 46.22 + C*exp( -0.966 *t) + + D*exp( -4.19 *t)\n",
+        "   We have to find the value of A,B,C and D in the linear equation using the initial condition\n",
+        "   A= 136.24 B= -26.28 C= -1188.2 D= 1141.98\n",
+        "\n",
+        "Hence the expression for the transient value for the speed is\n",
+        "   Wm= -86.48 + 136.24 *exp( -0.966 *t) -26.28 *exp( -4.19 *t)\n",
+        "\n",
+        "Hence the expression for the transient value for the current is\n",
+        "   ia= 46.22 -1188.2 *exp( -0.966 *t) + 1141.98 *exp( -4.19 *t)\n",
+        "\n",
+        "(c)Hence the time taken is : 0.44 sec\n",
+        "\n",
+        " Note :There is slight difference in the answers due to accuracy i.e more number of decimal place\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.11,Page No:89"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor\n",
+      "V=220     # rated voltage\n",
+      "N=600     # rated speed\n",
+      "Ia=500   # rated current\n",
+      "Ra=0.02   # armature resistance\n",
+      "Rf=10     # field resistance\n",
+      "\n",
+      "#calculation   \n",
+      "E1=V-Ia*Ra            #rated back emf at rated operation\n",
+      "Wm1=2*math.pi*N/60    #angular speed\n",
+      "Trated=E1*Ia1/Wm1     #rated torque\n",
+      "#(i) when the speed of the motor is 450rpm\n",
+      "N1=450             #given speed in rpm\n",
+      "Tl=2000-2*N1       #load torque is a function of the speed as given\n",
+      "Ia2=Tl/Trated*Ia1  #for a torque of  Tl as a function of current\n",
+      "E2=N1/N*E1         #for a given speed of 450rpm\n",
+      "V2=E2+Ia2*Ra       #terminal voltage for a given speed of 450 rpm\n",
+      "\n",
+      "#(ii) when the speed of the motor is 750rpm\n",
+      "N1=750          #given speed in rpm\n",
+      "Tl=2000-2*N1    #load torque is a function of the speed as given\n",
+      "Wm_=2*math.pi*N1/60\n",
+      "Ke_phi1=E1/Wm1\n",
+      "\n",
+      "#Since we know that V=Ke*phi*Wm+Ia*Ra  by solving we get that  0.02*(Ia_)**2 -220*Ia_ + 39270 = 0\"\n",
+      "a = 0.02\n",
+      "b = -220\n",
+      "c = 39270\n",
+      "# calculate the discriminant\n",
+      "d = (b**2) - (4*a*c)\n",
+      "# find two solutions\n",
+      "Ia_1 = (-b-cmath.sqrt(d))/(2*a)\n",
+      "Ia_2 = (-b+cmath.sqrt(d))/(2*a)\n",
+      "\n",
+      "Ke_phi=Tl/abs(Ia_1)\n",
+      "V1=V*Ke_phi/Ke_phi1   #required field voltage\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Hence motor terminal voltage is :\",round(V2),\"V\"\n",
+      "print\"   And the armature current is :\",round(Ia2),\"A\"\n",
+      "print\"\\n(ii)The solution for Ia_ are \",round(abs(Ia_1),1),\"A and\",round(abs(Ia_2)),\"A\"\n",
+      "print\"    We ignore \",round(abs(Ia_2)),\"A since it is unfeasible,\\n    Hence armature current is :\",round(abs(Ia_1),1),\"A\"\n",
+      "print\"    Hence the required field voltage is :\",round(V1,1),\"V\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Hence motor terminal voltage is : 164.0 V\n",
+        "   And the armature current is : 329.0 A\n",
+        "\n",
+        "(ii)The solution for Ia_ are  181.5 A and 10819.0 A\n",
+        "    We ignore  10819.0 A since it is unfeasible,\n",
+        "    Hence armature current is : 181.5 A\n",
+        "    Hence the required field voltage is : 181.3 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 67
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.12,Page No:91"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import cmath\n",
+      "from __future__ import division\n",
+      "import numpy\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the 2-pole separately excited DC motor with the fields coils connected in parallel\n",
+      "V=220      # rated voltage\n",
+      "N=750      # rated speed\n",
+      "Ia1=100    # rated current\n",
+      "Ra=0.1     # armature resistance\n",
+      "\n",
+      "#calculation\n",
+      "E1=V-Ia1*Ra            #rated back emf at rated operation\n",
+      "Wm1=2*math.pi*N/60     #angular speed\n",
+      "Trated=E1*Ia1/Wm1      #rated torque\n",
+      "Ke_phi1=E1/Wm1\n",
+      "#(i) when the armature voltage is reduced to 110V\n",
+      "Wm2=2*math.pi*N2/60    #angular speed\n",
+      "E2=Ke_phi1*Wm2\n",
+      "#Now there are two linear equations...that we have to solve\n",
+      "#They are given by 0.3*N2+2.674*Ia2=500 and 0.28*N2+0.1*Ia2=110\n",
+      "a = np.array([[0.3,2.674], [0.28,0.1]])\n",
+      "b = np.array([500,110])\n",
+      "x = np.linalg.solve(a, b)\n",
+      "N2=round(x[0],1)      #let the motor speed be N2\n",
+      "Ia2=round(x[1],1)     #let the motor current be Ia2\n",
+      "\n",
+      "#(ii)when the field coils are connected in series\n",
+      "K=Ke_phi1/2\n",
+      "Wm3=2*math.pi*N3/60    #angular speed\n",
+      "E3=K*Wm3\n",
+      "#Now there are two linear equations...that we have to solve\"\n",
+      "#They are given by 0.3*N3+1.337*Ia3=500 and 0.14*N3+0.1*Ia3=220\"\n",
+      "a = np.array([[0.3,1.337], [0.14,0.1]])\n",
+      "b = np.array([500,220])\n",
+      "x = np.linalg.solve(a, b)\n",
+      "N3=round(x[0],1)            #let the motor speed be N3\n",
+      "Ia3=round(x[1],2)           #let the motor current be Ia3\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Hence the motor armature current is Ia2 :\",Ia2,\"A\"\n",
+      "print\"   And the required speed is N2 :\",N2,\"rpm\"\n",
+      "print\"\\n(ii)Hence the motor armature current is Ia3 :\",Ia3,\"A\"\n",
+      "print\"    And the required speed is N3 :\",N3,\"rpm\"\n",
+      " "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Hence the motor armature current is Ia2 : 148.9 A\n",
+        "   And the required speed is N2 : 339.7 rpm\n",
+        "\n",
+        "(ii)Hence the motor armature current is Ia3 : 25.45 A\n",
+        "    And the required speed is N3 : 1553.3 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 173
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.13,Page No:102"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor\n",
+      "V=200    # rated voltage\n",
+      "N=875    # rated speed\n",
+      "Ia=150   # rated current\n",
+      "Ra=0.06  # armature resistance\n",
+      "Vs=220   # source voltage\n",
+      "f=50     # frequency of the source voltage\n",
+      "\n",
+      "#calculation\n",
+      "E=V-Ia*Ra            #back emf\n",
+      "Vm=math.sqrt(2)*Vs   #peak voltage\n",
+      "\n",
+      "#(i)when the speed is 750 rpm and at rated torque\n",
+      "N1=750         #given speed in rpm\n",
+      "E1=N1/N*E      #back emf at the given speed N1\n",
+      "Va=E1+Ia*Ra    #terminal voltage\n",
+      "cos_alpha=Va*math.pi/2/Vm\n",
+      "alpha=math.acos(cos_alpha)   #required firing angle in radian\n",
+      "alpha1=math.degrees(alpha)    #required firing angle in degrees\n",
+      "\n",
+      "#(ii)when the speed is -500rpm and at rated torque\n",
+      "N1=-500         #given speed in rpm\n",
+      "E1=N1/N*E       #back emf at the given speed N1\n",
+      "Va=E1+Ia*Ra     #terminal voltage\n",
+      "cos_alpha=Va*math.pi/2/Vm\n",
+      "alpha=math.acos(cos_alpha)   #required firing angle in radian\n",
+      "alpha2=math.degrees(alpha)    #required firing angle in degrees\n",
+      "\n",
+      "#(iii)when the firing angle is 160 degrees\n",
+      "alpha=160    #firing angle in degrees\n",
+      "Va=2*Vm/math.pi*math.cos(math.radians(alpha))\n",
+      "E1=Va-Ia*Ra    #since Va=E1+Ia*Ra\n",
+      "N1=E1/E*N      #the required speed at the given firing angle\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Hence the required firing angle is :\",round(alpha1,1),\"\u00b0\"\n",
+      "print\"\\n(ii)Hence the required firing angle is :\",round(alpha2),\"\u00b0\"\n",
+      "print\"\\n(iii)Hence the required speed is :\",round(N1,1),\"rpm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Hence the required firing angle is : 29.3 \u00b0\n",
+        "\n",
+        "(ii)Hence the required firing angle is : 120.0 \u00b0\n",
+        "\n",
+        "(iii)Hence the required speed is : -893.9 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 81
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.14,Page No:103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor is same as that of Ex-5.13\n",
+      "V=200    # rated voltage\n",
+      "N=875    # rated speed\n",
+      "Ia=150   # rated current\n",
+      "Ra=0.06  # armature resistance\n",
+      "Vs=220   # source voltage\n",
+      "f=50     #frequency of the source voltage\n",
+      "La=0.85e-3   # armature curcuit inductance in H\n",
+      "\n",
+      "#calculation\n",
+      "E=V-Ia*Ra            #back emf\n",
+      "Vm=math.sqrt(2)*Vs   #peak voltage\n",
+      "Wm=2*math.pi*N/60    #synchronous angular speed\n",
+      "\n",
+      "#(i)when the speed is 400 rpm and firing angle is 60 degrees\n",
+      "N1=400         #given speed in rpm\n",
+      "alpha=60       #firing angle in degrees\n",
+      "W=2*math.pi*f  \n",
+      "x=W*La/Ra\n",
+      "phi=math.atan(x)\n",
+      "cot_phi=1/math.tan(phi)\n",
+      "Z=math.sqrt(Ra**2+(W*La)**2)\n",
+      "K=E/Wm\n",
+      "\n",
+      "y=Ra*Vm/Z/K\n",
+      "a=(1+math.exp(-(math.pi*cot_phi)))/(math.exp(-(math.pi*cot_phi))-1)\n",
+      "Wmc=y*math.sin(math.radians(alpha)-phi)*a   #required angular speed in rps\n",
+      "Nmc=Wmc*60/2/math.pi     #required angular speed in rpm\n",
+      "\n",
+      "E1=N1/N*E    \n",
+      "\n",
+      "#The equation Vm/Z*sin(beta-phi)-E/Ra+(E/Ra-Vm/Z*sin(alpha-phi))*exp(-(beta-alpha)*cot_phi)=0\n",
+      "#can be solved using trial method such that beta=230 degrees\n",
+      "beta=230                   #in degrees\n",
+      "beta=math.radians(beta)    #in radians\n",
+      "alpha=math.radians(alpha)  #in radians\n",
+      "\n",
+      "Va=(Vm*(math.cos(alpha)-math.cos(beta))+(math.pi+alpha-beta)*E1)/math.pi\n",
+      "Ia=(Va-E1)/Ra\n",
+      "T1=K*Ia\n",
+      "\n",
+      "#(ii)when the speed is -400 rpm and firing angle is 120 degrees\n",
+      "Le=2e-3        #external inductance added to the armature\n",
+      "L=La+Le\n",
+      "N2=-400         #given speed in rpm\n",
+      "alpha=120       #firing angle in degrees\n",
+      "x=W*L/Ra\n",
+      "phi=math.atan(x)\n",
+      "cot_phi=1/math.tan(phi)\n",
+      "Z=math.sqrt(Ra**2+(W*L)**2)\n",
+      "K=E/Wm\n",
+      "\n",
+      "y=Ra*Vm/Z/K\n",
+      "a=(1+math.exp(-(math.pi*cot_phi)))/(math.exp(-(math.pi*cot_phi))-1)\n",
+      "Wmc=y*math.sin(math.radians(alpha)-phi)*a   #required angular speed in rps\n",
+      "Nmc1=Wmc*60/2/math.pi     #required angular speed in rpm\n",
+      "#The motor is operating under discontinous condition\"\n",
+      "E2=N2/N*E    \n",
+      "\n",
+      "#The equation Vm/Z*sin(beta-phi)-E/Ra+(E/Ra-Vm/Z*sin(alpha-phi))*exp(-(beta-alpha)*cot_phi)=0\n",
+      "#can be solved using trial method such that beta=281 degrees\n",
+      "beta=281                   #in degrees\n",
+      "beta=math.radians(beta)    #in radians\n",
+      "alpha=math.radians(alpha)  #in radians\n",
+      "\n",
+      "Va=(Vm*(math.cos(alpha)-math.cos(beta))+(math.pi+alpha-beta)*E2)/math.pi\n",
+      "Ia=(Va-E2)/Ra\n",
+      "T2=K*Ia\n",
+      "\n",
+      "#(iii)when the speed is -600 rpm and firing angle is 120 degrees\n",
+      "N3=-600        #speed in rpm\n",
+      "alpha=120      #firing angle in degrees\n",
+      "Va=2*Vm/math.pi*math.cos(math.radians(alpha))\n",
+      "E3=N3/N*E    #since Va=E1+Ia*Ra\n",
+      "Ia=(Va-E3)/Ra\n",
+      "T3=K*Ia\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Hence the required torque is :\",round(T1),\"N-m \"\n",
+      "print\"\\n(ii)Hence the required torque is :\",round(T2,1),\"N-m\"\n",
+      "print\"\\n(iii)Hence the required torque is :\",round(T3),\"N-m\"    \n",
+      "print\"\\nNote : There is a slight difference in the answers because of accuracy i.e more number of decimal place\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Hence the required torque is : 1067.0 N-m \n",
+        "\n",
+        "(ii)Hence the required torque is : 336.4 N-m\n",
+        "\n",
+        "(iii)Hence the required torque is : 1110.0 N-m\n",
+        "\n",
+        "Note : There is a slight difference in the answers because of accuracy i.e more number of decimal place\n"
+       ]
+      }
+     ],
+     "prompt_number": 179
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.15,Page No:105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor is same as that of Ex-5.13\n",
+      "V=200    # rated voltage\n",
+      "N=875    # rated speed\n",
+      "Ia=150   # rated current\n",
+      "Ra=0.06  # armature resistance\n",
+      "Vs=220   # source voltage\n",
+      "f=50     #frequency of the source voltage\n",
+      "La=2.85e-3   # armature curcuit inductance in H\n",
+      "\n",
+      "#calculation\n",
+      "E=V-Ia*Ra            #back emf\n",
+      "Vm=math.sqrt(2)*Vs   #peak voltage\n",
+      "Wm=2*math.pi*N/60    #angular speed\n",
+      "W=2*math.pi*f\n",
+      "\n",
+      "alpha=120       #firing angle in degrees\n",
+      "x=W*La/Ra\n",
+      "phi=math.atan(x)\n",
+      "cot_phi=1/math.tan(phi)\n",
+      "Z=math.sqrt(Ra**2+(W*La)**2)\n",
+      "K=E/Wm\n",
+      "\n",
+      "y=Ra*Vm/Z/K\n",
+      "a=(1+math.exp(-(math.pi*cot_phi)))/(math.exp(-(math.pi*cot_phi))-1)\n",
+      "Wmc=round(y,3)*math.sin(math.radians(alpha)-phi)*a   #required angular speed in rps\n",
+      "Nmc=Wmc*60/2/math.pi     #required angular speed in rpm\n",
+      "\n",
+      "Va=2*Vm/math.pi*math.cos(math.radians(alpha))\n",
+      "E1=Nmc/N*E     #value of back emf at the critical speed of Nmc     \n",
+      "Ia=(Va-E1)/Ra\n",
+      "Tc=K*Ia\n",
+      "\n",
+      "#(i)when the torque is 1200 N-m and firing angle is 120 degrees\n",
+      "T2=1200         #given torque in N-m\n",
+      "Ia2=T2/K        #given terminal current for the given torque and the answer in the book is wrong\n",
+      "E2=Va-Ia*Ra   \n",
+      "N2=E2/E*N\n",
+      "\n",
+      "#(ii)when the torque is 300 N-m and firing angle is 120 degrees\n",
+      "T=300    #required torque in N-m\n",
+      "beta=233.492   #required angle in degrees\n",
+      "beta=math.radians(beta)    #in radians\n",
+      "alpha=math.radians(alpha)  #in radians\n",
+      "x=beta-alpha\n",
+      "E1=(Vm*(math.cos(alpha)-math.cos(beta)))/x-(math.pi*Ra*T)/(K*x)\n",
+      "N1=E1/E*N   #required speed \n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"The motor is operating under continuous condition\"\n",
+      "print\"The torque Tc is :\",round(Tc),\"N-m\"\n",
+      "print\"The answer for torque Tc in the book is wrong  due to accuracy in the decimal place  which leads to subsequent \"\n",
+      "print\"incorrect answers\"\n",
+      "print\"\\n(i)Hence the required speed is :\",round(N2),\"rpm\"\n",
+      "print\"\\n(ii)The equation Vm/Z*sin(beta-phi)-sin(alpha-phi))*exp(-(beta-alpha)*cot_phi)=\"\n",
+      "print\"    (Vm*(cos(alpha)-cos(beta))/Ra/(beta-alpha)-pi*T/K/(beta-alpha) )*(1-exp(-(beta-alpha)*cot_phi)\"\n",
+      "print\"    can be solved using trial method such that beta=233.492 degrees\"\n",
+      "print\"\\n  Hence the required speed is :\",round(N1,1),\"rpm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The motor is operating under continuous condition\n",
+        "The torque Tc is : 396.0 N-m\n",
+        "The answer for torque Tc in the book is wrong  due to accuracy in the decimal place  which leads to subsequent \n",
+        "incorrect answers\n",
+        "\n",
+        "(i)Hence the required speed is : -506.0 rpm\n",
+        "\n",
+        "(ii)The equation Vm/Z*sin(beta-phi)-sin(alpha-phi))*exp(-(beta-alpha)*cot_phi)=\n",
+        "    (Vm*(cos(alpha)-cos(beta))/Ra/(beta-alpha)-pi*T/K/(beta-alpha) )*(1-exp(-(beta-alpha)*cot_phi)\n",
+        "    can be solved using trial method such that beta=233.492 degrees\n",
+        "\n",
+        "  Hence the required speed is : 5.6 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 181
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.16,Page No:110"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor\n",
+      "V=220       # rated voltage\n",
+      "N=960       # rated speed\n",
+      "Ia=12.8     # rated current\n",
+      "Ra=2        # armature resistance\n",
+      "Vs=230      # source voltage\n",
+      "f=50        #frequency of the source voltage\n",
+      "La=150e-3   # armature curcuit inductance in H\n",
+      "\n",
+      "#calculation\n",
+      "E=V-Ia*Ra            #back emf\n",
+      "Vm=math.sqrt(2)*Vs   #peak voltage\n",
+      "Wm=2*math.pi*N/60    #angular speed\n",
+      "W=2*math.pi*f\n",
+      "\n",
+      "#(i)when speed is 600rpm and the firing angle is 60 degrees\n",
+      "alpha=60       #firing angle in degrees\n",
+      "N1=600         #motor speed in rpm\n",
+      "x=W*La/Ra\n",
+      "phi=math.atan(x)\n",
+      "cot_phi=1/math.tan(phi)\n",
+      "Z=math.sqrt(Ra**2+(W*La)**2)\n",
+      "K=E/Wm\n",
+      "\n",
+      "y=Ra*Vm/Z/K\n",
+      "b=math.sin(phi)*math.exp(-(math.radians(alpha)*cot_phi))\n",
+      "c=math.sin(math.radians(alpha)-phi)*math.exp(-(math.pi*cot_phi))\n",
+      "a=1-math.exp(-(math.pi*cot_phi))\n",
+      "Wmc=round(y,3)*(b-c)/a   #required angular speed in rps\n",
+      "Nmc=Wmc*60/2/math.pi     #required angular speed in rpm\n",
+      "\n",
+      "Va=Vm/math.pi*(1+math.cos(math.radians(alpha)))\n",
+      "E1=N1/N*E     #value of back emf at the speed of N1\n",
+      "Ia=(Va-E1)/Ra\n",
+      "T=K*Ia\n",
+      "\n",
+      "#(ii)when the torque is 20 N-m and firing angle is 60 degrees\n",
+      "T1=20       #required torque in N-m\n",
+      "alpha=60   #required firing angle in degrees\n",
+      "Ec=Nmc/N*E #motor back emf at critical speed of Nmc\n",
+      "Tc=K*(Va-Ec)/Ra    #torque at the critical speed\n",
+      "\n",
+      "Ia=T1/K\n",
+      "E1=Va-Ia*Ra\n",
+      "N1=E1/E*N   #required speed \n",
+      "\n",
+      "\n",
+      "#results\n",
+      "if N1<Nmc :\n",
+      "    print\"(i)The motor is operating under continuous condition\"\n",
+      "print\"   Hence the required torque is :\",round(T,2),\"N-m\"\n",
+      "if Tc<T1 :\n",
+      "    print\"\\n(ii)The motor is operating under continuous condition\"\n",
+      "print\"    Hence the required speed is :\",round(N1,1),\"rpm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)The motor is operating under continuous condition\n",
+        "   Hence the required torque is : 32.68 N-m\n",
+        "\n",
+        "(ii)The motor is operating under continuous condition\n",
+        "    Hence the required speed is : 664.8 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 182
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.17,Page No:113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor\n",
+      "V=220    # rated voltage\n",
+      "N=1500   # rated speed\n",
+      "Ia=50    # rated current\n",
+      "Ra=0.5   # armature resistance\n",
+      "Vl=440   # line  voltage with 3-phase ac supply\n",
+      "f=50     #frequency of the source voltage\n",
+      "\n",
+      "#calculation\n",
+      "#(i) tranformer ratio\n",
+      "alpha=0    #firing angle\n",
+      "Va=V       #motor terminal voltage is equal to the rated voltage when the firing angle is 0 degrees\n",
+      "Vm=math.pi/3*Va/math.cos(alpha)\n",
+      "Vrms=Vm/math.sqrt(2)        #rms value of the converter input voltage\n",
+      "a=(Vl/math.sqrt(3))/Vrms    #required transformer ratio\n",
+      "\n",
+      "#(ii)value of the firing angle\n",
+      "E=V-Ia*Ra      #back emf at the rated speed\n",
+      "\n",
+      "#(a)when the speed of the motor is 1200 rpm and rated torque\n",
+      "N1=1200        #speed of the motor\n",
+      "E1=N1/N*E      #back emf at the given speed N1\n",
+      "Va=E1+Ia*Ra    #terminal voltage at the given speed N1\n",
+      "alpha=math.acos(math.pi/3*Va/Vm)  #required firing angle in radians\n",
+      "alpha1=math.degrees(alpha)         #required firing angle in degrees\n",
+      "\n",
+      "#(b)when the speed of the motor is -800 rpm and twice the rated torque\n",
+      "N1=-800        #speed of the motor\n",
+      "E1=N1/N*E      #back emf at the given speed N1\n",
+      "Ia=2*Ia        #torque is directly proportional to the current hence twice the rated current\n",
+      "Va=E1+Ia*Ra    #terminal voltage at the given speed N1\n",
+      "alpha=math.acos(math.pi/3*Va/Vm)  #required firing angle in radians\n",
+      "alpha2=math.degrees(alpha)         #required firing angle in degrees\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Hence the required transformer ratio is :\",round(a,3)\n",
+      "print\"\\n(ii)(a)Hence the required firing angle is :\",round(alpha1,2),\"\u00b0\"\n",
+      "print\"\\n    (b)Hence the required firing angle is :\",round(alpha2,2),\"\u00b0\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Hence the required transformer ratio is : 1.559\n",
+        "\n",
+        "(ii)(a)Hence the required firing angle is : 34.64 \u00b0\n",
+        "\n",
+        "    (b)Hence the required firing angle is : 104.21 \u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 183
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.18,Page No:117"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor is same as that of Ex-5.17 but is fed from a circulating dual converter\n",
+      "V=220    # rated voltage\n",
+      "N=1500   # rated speed\n",
+      "Ia=50    # rated current\n",
+      "Ra=0.5   # armature resistance\n",
+      "Vl=165   # line  voltage \n",
+      "f=50     # frequency of the source voltage\n",
+      "\n",
+      "#calculation\n",
+      "E=V-Ia*Ra            #back emf at the rated speed\n",
+      "Vm=Vl*math.sqrt(2)   #peak voltage\n",
+      "\n",
+      "#(i)during motoring operation when the speed is 1000 rpm and at rated torque\n",
+      "N1=1000        #speed of the motor\n",
+      "E1=N1/N*E      #back emf at the given speed N1\n",
+      "Va=E1+Ia*Ra    #terminal voltage at the given speed N1\n",
+      "alpha_A=math.acos(math.pi/3*Va/Vm)      \n",
+      "alpha_B=180-math.degrees(alpha_A)         #required converter firing angle in degrees\n",
+      "\n",
+      "#(ii)during braking operation when the speed is 1000 rpm and at rated torque\n",
+      "N1=1000        #speed of the motor in the book it is given as 100 rpm which is wrong\n",
+      "E1=N1/N*E      #back emf at the given speed N1\n",
+      "Va=E1-Ia*Ra    #terminal voltage at the given speed N1\n",
+      "alpha_A1=math.acos(math.pi/3*Va/Vm)      \n",
+      "alpha_B1=180-math.degrees(alpha_A1)         #required converter firing angle in degrees\n",
+      "\n",
+      "#(iii)during motoring operation when the speed is -1000 rpm and at rated torque\n",
+      "N1=-1000        #speed of the motor\n",
+      "E1=N1/N*E      #back emf at the given speed N1\n",
+      "Va=E1-Ia*Ra    #terminal voltage at the given speed N1\n",
+      "alpha_A2=math.acos(math.pi/3*Va/Vm)      \n",
+      "alpha_B2=180-math.degrees(alpha_A2)         #required converter firing angle in degrees\n",
+      "\n",
+      "#(iv)during braking operation when the speed is -1000 rpm and at rated torque\n",
+      "N1=-1000       #speed of the motor in the book it is given as 100 rpm which is wrong\n",
+      "E1=N1/N*E      #back emf at the given speed N1\n",
+      "Va=E1+Ia*Ra    #terminal voltage at the given speed N1\n",
+      "alpha_A3=math.acos(math.pi/3*Va/Vm)      \n",
+      "alpha_B3=180-math.degrees(alpha_A3)         #required converter firing angle in degrees\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"\\n(i)Hence the required firing angle is :\",round(alpha_B,1),\"\u00b0\"\n",
+      "print\"\\n(ii)Hence the required firing angle is :\",round(alpha_B1,1),\"\u00b0\"\n",
+      "print\"\\n(iii)Hence for negative speed during motoring operation the required firing angle are :\"\n",
+      "print\"     alpha_A :\",round(math.degrees(alpha_A2),1),\"\u00b0 and alpha_B :\",round(alpha_B2,1),\"\u00b0\"\n",
+      "print\"\\n(iv)Hence for negative speed during braking operation the required firing angle are :\"\n",
+      "print\"    alpha_A :\",round(math.degrees(alpha_A3),1),\"\u00b0 and alpha_B :\",round(alpha_B3,1),\"\u00b0\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "(i)Hence the required firing angle is : 134.1 \u00b0\n",
+        "\n",
+        "(ii)Hence the required firing angle is : 118.1 \u00b0\n",
+        "\n",
+        "(iii)Hence for negative speed during motoring operation the required firing angle are :\n",
+        "     alpha_A : 134.1 \u00b0 and alpha_B : 45.9 \u00b0\n",
+        "\n",
+        "(iv)Hence for negative speed during braking operation the required firing angle are :\n",
+        "    alpha_A : 118.1 \u00b0 and alpha_B : 61.9 \u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 184
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.19,Page No:126"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor\n",
+      "V=230    # rated voltage\n",
+      "N=960    # rated speed\n",
+      "Ia=200   # rated current\n",
+      "Ra=0.02  # armature resistance\n",
+      "Vs=230   # source voltage\n",
+      "\n",
+      "#calculation\n",
+      "E=V-Ia*Ra    #back emf\n",
+      "\n",
+      "#(i) When the speed of motor is 350 rpm with the rated torque during motoring operation\n",
+      "N1=350      #given speed in rpm\n",
+      "E1=N1/N*E   #given back emf at N1\n",
+      "Va=E1+Ia*Ra  #motor terminal voltage\n",
+      "delta=Va/V  #duty ratio\n",
+      "\n",
+      "#(ii) When the speed of motor is 350 rpm with the rated torque during braking operation\n",
+      "Va=E1-Ia*Ra  #motor terminal voltage\n",
+      "delta1=Va/V   #duty ratio\n",
+      "\n",
+      "#(iii)maximum duty ratio is 0.95\n",
+      "delta2=0.95   #maximum duty ratio\n",
+      "Va=delta2*V   #terminal voltage\n",
+      "Ia1=2*Ia      #maximum permissable current\n",
+      "E1=Va+Ia1*Ra  #back emf\n",
+      "N1=E1/E*N     #maximum permissible speed\n",
+      "Pa=Va*Ia1     #power fed to the source\n",
+      "\n",
+      "#(iv) if the speed of the motor is 1200 rpm and the field of the motor is also controlled\n",
+      "N2=1200      #given speed\n",
+      "#now the field current is directly proportional to the speed of the motor\n",
+      "If=N/N2     #field current as a ratio of the rated current\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i) Duty ratio is :\",round(delta,3)\n",
+      "print\"\\n(ii)Duty ratio is :\",round(delta1,2)\n",
+      "print\"\\n(iii)Maximum permissible speed is :\",round(N1),\"rpm\"\n",
+      "print\"     Power fed to the source is :\",round(Pa/1000,1),\"kW\"\n",
+      "print\"\\n(iv)Field current as a ratio of the rated current is :\",If"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Duty ratio is : 0.376\n",
+        "\n",
+        "(ii)Duty ratio is : 0.34\n",
+        "\n",
+        "(iii)Maximum permissible speed is : 962.0 rpm\n",
+        "     Power fed to the source is : 87.4 kW\n",
+        "\n",
+        "(iv)Field current as a ratio of the rated current is : 0.8\n"
+       ]
+      }
+     ],
+     "prompt_number": 185
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.20,Page No:127"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the separately excited motor when it is operated in dynamic breaking\n",
+      "V=230    # rated voltage\n",
+      "N=960    # rated speed\n",
+      "Ia=200   # rated current\n",
+      "Ra=0.02  # armature resistance\n",
+      "Vs=230   # source voltage\n",
+      "Rb=2     # braking resistance in ohm\n",
+      "\n",
+      "#calculation\n",
+      "#when the motor speed is 600 rpm and the braking torque is twice the rated value\n",
+      "Ia1=2*Ia     #torque is directly proportional to current\n",
+      "N1=600       #speed of the motor in rpm\n",
+      "E=V-Ia*Ra    #back emf\n",
+      "E1=N1/N*E\n",
+      "x=E1/Ia1-Ra  #x=(1-delta)*Rb\n",
+      "y=x/Rb       #y=1-delta\n",
+      "delta=1-y    #duty ratio\n",
+      "\n",
+      "#(ii)if the duty ratio is 0.6 and and the braking torque is twice the rated value\n",
+      "delta1=0.6  #duty ratio\n",
+      "Ia1=2*Ia   #torque is directly proportional to current\n",
+      "E1=Ia1*((1-delta1)*Rb+Ra)   #back emf\n",
+      "N1=E1/E*N\n",
+      "\n",
+      "\n",
+      "#results \n",
+      "print\"(i)Duty ratio is :\",round(delta,2)\n",
+      "print\"\\n(ii)Hence the motor speed is :\",round(N1,1),\"rpm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Duty ratio is : 0.83\n",
+        "\n",
+        "(ii)Hence the motor speed is : 1393.3 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 140
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.21,Page No:128"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from array import array\n",
+      "import numpy as np\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the series motor\n",
+      "N=600     #speed in rpm\n",
+      "Vs=220    #source voltage\n",
+      "Ra_Rf=0.12    #combine armature resistance field resistance\n",
+      "#magnetisation curve at N\n",
+      "If=[10, 20,30, 40, 50,  60, 70, 80]    #field current\n",
+      "E =[64,118,150,170,184,194,202,210]    #terminal voltage\n",
+      "\n",
+      "#calculation\n",
+      "#(i)when the duty ratio is 0.6 and motor current is 60 A\n",
+      "delta=0.6    #duty ratio\n",
+      "Ia1=60       #motor current\n",
+      "Va1=delta*Vs #terminal voltage for the given duty ratio\n",
+      "E1=Va1-Ia1*Ra_Rf      #back emf for the given duty ratio\n",
+      "\n",
+      "#for Ia1=60 A the terminal voltage is 194 V as given in the magnetization curve\n",
+      "N1=E1/E[5]*N          #motor speed for the given duty ratio\n",
+      "\n",
+      "#(ii)when the speed is 400rpm and the duty ratio is 0.65\n",
+      "delta=0.65    #duty ratio\n",
+      "N2=400        #speed in rpm\n",
+      "Va1=delta*Vs #terminal voltage for the given duty ratio\n",
+      "\n",
+      "#from the magnetization characteristic for the speed of 400rpm the current Ia=70 A\n",
+      "E1=Va1-If[6]*Ra_Rf      #back emf for the given duty ratio\n",
+      "T=(E1*If[6])/N2/(2*math.pi/60)    #required torque\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Hence the motor speed is :\",round(N1),\"rpm\"\n",
+      "print\"\\n(ii)Hence the required torque is :\",round(T),\"N-m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Hence the motor speed is : 386.0 rpm\n",
+        "\n",
+        "(ii)Hence the required torque is : 225.0 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 186
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.22,Page No:129"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from array import array\n",
+      "import numpy as np\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the series motor which is the same as that of Ex-6.21\n",
+      "#The motor is operated using regenarative braking method\n",
+      "N=600     #speed in rpm\n",
+      "Vs=220    #source voltage\n",
+      "Ra_Rf=0.12    #combine armature resistance field resistance\n",
+      "#magnetisation curve at N\n",
+      "If=[10, 20,30, 40, 50,  60, 70, 80]    #field current\n",
+      "E =[64,118,150,170,184,194,202,210]    #terminal voltage\n",
+      "\n",
+      "#calculation\n",
+      "#(i)when  the duty ratio is 0.5 and the braking torque is equal to the motor torque\n",
+      "delta=0.5       #duty ratio\n",
+      "Va1=delta*Vs    #terminal voltage\n",
+      "Ia1=If[6]       #current at rated motor torque\n",
+      "E1=Va1+Ia1*Ra_Rf      #back emf for the given duty ratio\n",
+      "N1=E1/E[6]*N          #for a current of 70 A E=202 V from the magnetization curve\n",
+      "\n",
+      "#(ii)when maximum permisssible duty ratio is 0.95 and current is 70A\n",
+      "delta_max=0.95      #maximum duty ratio\n",
+      "Va1=delta_max*Vs    #terminal voltage\n",
+      "Ia1=70              #maximum permissible current\n",
+      "E2=Va1+Ia1*Ra_Rf    #back emf for the given duty ratio\n",
+      "N2=E2/E[6]*N        #for a current of 70 A E=202 V\n",
+      "\n",
+      "#(iii)when the motor speed is 1000rpm and maximum current is 70A with duty ratio in the range of 0.05 to 0.95\n",
+      "Ia1=70              #maximum permissible current\n",
+      "N3=1000             #given speed in rpm\n",
+      "delta_max=0.95      #maximum duty ratio\n",
+      "E3=N3/N*E[6]        #terminal voltage\n",
+      "x=(E3-delta_max*Vs)/Ia1    #x=R+Ra_Rf   where R is the required external resistance\n",
+      "R=x-Ra_Rf    #external resistance\n",
+      "\n",
+      "#(iv)when the motor is running at 1000rpm with current at 70 \n",
+      "Ia1=70              #maximum permissible current\n",
+      "N4=1000             #given speed in rpm\n",
+      "Ra=Ra_Rf            #total value of armature resistance is assumed to be the same\n",
+      "E4=Va1+Ia1*Ra       #back emf for the given speed N4\n",
+      "E_=N/N4*E4\n",
+      "ratio=E_/E[6]       #fraction of the requuired number of turns to be reduced\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Hence the motor speed is :\",round(N1,1),\"rpm\"\n",
+      "print\"\\n(ii)Hence the motor speed is :\",round(N2,1),\"rpm\"\n",
+      "print\"\\n(iii)Hence the required external resistance is :\",round(R,1),\"ohm\"\n",
+      "print\"\\n(iv)Hence fraction of the  number of turns to be reduced is :\",round(ratio,3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Hence the motor speed is : 351.7 rpm\n",
+        "\n",
+        "(ii)Hence the motor speed is : 645.7 rpm\n",
+        "\n",
+        "(iii)Hence the required external resistance is : 1.7 ohm\n",
+        "\n",
+        "(iv)Hence fraction of the  number of turns to be reduced is : 0.646\n"
+       ]
+      }
+     ],
+     "prompt_number": 187
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:5.23,Page No:130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from array import array\n",
+      "import numpy as np\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the series motor which is the same as that of Ex-6.21\n",
+      "#The motor is operated using dynamic braking method\n",
+      "N=600     #speed in rpm\n",
+      "Vs=220    #source voltage\n",
+      "Ra=0.12   # armature resistance\n",
+      "delta_min=0.1   #manimum value of duty ratio\n",
+      "delta_max=0.9   #maximum value of duty ratio\n",
+      "#magnetisation curve at N\n",
+      "If=[10, 20,30, 40, 50,  60, 70, 80]    #field current\n",
+      "E =[64,118,150,170,184,194,202,210]    #terminal voltage\n",
+      "\n",
+      "#calculation\n",
+      "#(i) maximum braking speed is 800rpm with armature current of 70 A\n",
+      "N1=800   #maximum braking speed \n",
+      "Ia=70    #armature current\n",
+      "E1=N1/N*E[6]   #at 70A motor back emf is 202V \n",
+      "Rbe=E1/Ia-Ra   #effective value of braking resistance\n",
+      "Rb=Rbe/(1-delta_min)   #required braking resistance\n",
+      "\n",
+      "#(ii)when the speed of the motor is 87 rpm\n",
+      "#now torque is maximum when the duty ratio is maximum\n",
+      "N1=87   #speed in rpm\n",
+      "R=Rb*(1-delta_max)+Ra\n",
+      "\n",
+      "Ia=If[4]   #value of armature current for the given value of E=184V \n",
+      "Ke_phi=E[4]/(2*math.pi*N)*60\n",
+      "T=Ke_phi*Ia   #required torque\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Hence braking resistance is:\",round(Rb,2),\"ohm\"\n",
+      "print\"\\n(ii)Hence the required torque is :\",round(T,1),\"N-m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Hence braking resistance is: 4.14 ohm\n",
+        "\n",
+        "(ii)Hence the required torque is : 146.4 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 188
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Fundamentals_of_Electrical_Drives/Chapter6_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter6_2.ipynb
new file mode 100755
index 00000000..8dc92854
--- /dev/null
+++ b/Fundamentals_of_Electrical_Drives/Chapter6_2.ipynb
@@ -0,0 +1,1817 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6: Induction Motor Drives"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.1,Page No:147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the Y-connected induction motor \n",
+      "f=50           # frequency in HZ\n",
+      "Vl=440         #line voltage in V\n",
+      "P=6            # number of poles\n",
+      "N=950          #speed in rpm\n",
+      "\n",
+      "#parameters referred to the stator\n",
+      "Xr_=1.2        # rotor winding reactance in ohm\n",
+      "Rr_=0.4        # resistance of the rotor windings in ohm\n",
+      "Rs=0.5         # resistance of the stator windings in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Xm=50          # no load reactance\n",
+      " \n",
+      "#calculation\n",
+      "Ns=120*f/P     #synchronous speed in rpm\n",
+      "s=(Ns-N)/Ns    #full load slip\n",
+      "x=math.sqrt((Rs+Rr_/s)**2+(Xs+Xr_)**2)   #total impedance\n",
+      "Ir_=(Vl/math.sqrt(3))/x                  #full load rotor current\n",
+      "angle=-math.atan((Xs+Xr_)/(Rs+Rr_/s))    #angle in radian\n",
+      "Ir_=cmath.rect(Ir_,angle)                #full load rotor current in rectangular form\n",
+      "Im=Vl/math.sqrt(3)/Xm*(-1j)              #magnetizing current\n",
+      "Is=Ir_+Im                                #full load current\n",
+      "\n",
+      "Zf=Rs+Xs*1j+1j*Xm*(Rr_/s+1j*Xr_)/(Rr_/s+1j*(Xr_+Xm))\n",
+      "Zb=Rs+Xs*1j+1j*Xm*(Rr_/(2-s)+1j*Xr_)/(Rr_/(2-s)+1j*(Xr_+Xm))\n",
+      "Z=Zf+Zb\n",
+      "I=(Vl/math.sqrt(3))/abs(Z)             #motor current\n",
+      "Wms=2*math.pi*Ns/60\n",
+      "\n",
+      "#torque due to positive sequence\n",
+      "Tp=(1/Wms)*(3*I**2*Xm**2*Rr_/s)/((Rr_/s)**2+(Xr_+Xm)**2)\n",
+      "#torque due to negative sequence\n",
+      "Tn=-(1/Wms)*(3*I**2*Xm**2*Rr_/(2-s))/((Rr_/(2-s))**2+(Xr_+Xm)**2)\n",
+      "T=Tp+Tn          #net torque\n",
+      "Wm=Wms*(1-s)     #rated speed in in rad/sec\n",
+      "Tl=0.0123*Wm**2 #required torque of the load\n",
+      "\n",
+      "#results\n",
+      "print\"Full load motor current Is:\",round(abs(Is),1),round(math.degrees(cmath.phase(Is))),\"\u00b0\",\"A\"\n",
+      "print\"Tp:\",round(Tp,2),\"N-m\"\n",
+      "print\"Tn:\",round(Tn,3),\"N-m\"\n",
+      "print\"\\nSince I:\",round(I,2),\"A and N:\",N,\"rpm\"\n",
+      "print\"And I:\",round(I,2),\"A <\",\"Is:\",round(abs(Is),2),\"A, the motor will run safely\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Full load motor current Is: 30.5 -25.0 \u00b0 A\n",
+        "Tp: 125.61 N-m\n",
+        "Tn: -3.299 N-m\n",
+        "\n",
+        "Since I: 24.26 A and N: 950 rpm\n",
+        "And I: 24.26 A < Is: 30.54 A, the motor will run safely\n"
+       ]
+      }
+     ],
+     "prompt_number": 197
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.2,Page No:156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the Delta connected Induction motor\n",
+      "f=50           #frequency in HZ\n",
+      "Vl=2200        #line voltage in V\n",
+      "P=8            #number of poles\n",
+      "N=735          #rated speed in rpm\n",
+      "#parameters referred to the stator\n",
+      "Xr_=0.55        # rotor winding reactance in ohm\n",
+      "Xs=0.45         # stator winding reactance in ohm\n",
+      "Rr_=0.1         # resistance of the rotor windings in ohm\n",
+      "Rs=0.075        # resistance of the stator windings in ohm\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P     #synchronous speed in rpm\n",
+      "s=(Ns-N)/Ns    #full load slip\n",
+      "x=math.sqrt((Rs+Rr_/s)**2+(Xs+Xr_)**2)   #total impedance\n",
+      "Ip=(Vl)/x                  #full load phase current\n",
+      "Il=math.sqrt(3)*Ip         #full load line current\n",
+      "Wms=2*math.pi*Ns/60        \n",
+      "Tl=(1/Wms)*(3*Ip**2*Rr_/s) #full load torque\n",
+      "\n",
+      "#(i)if the motor is started by star-delta switching\n",
+      "y=math.sqrt((Rs+Rr_)**2+(Xs+Xr_)**2)\n",
+      "Ist=(Vl/math.sqrt(3))/y                #Maximum line current during starting\n",
+      "Tst=(1/Wms)*(3*Ist**2*Rr_)             #Starting torque\n",
+      "ratio1=Tst/Tl                          #ratio of starting torque to full load torque\n",
+      "z=Rs+math.sqrt(Rs**2+(Xs+Xr_)**2)\n",
+      "Tmax=3/(2*Wms)*(Vl/math.sqrt(3))**2/z  #maximum torque\n",
+      "ratio2=Tmax/Tl                         #ratio of maximum torque to full load torque\n",
+      "\n",
+      "#(ii) If the motor is started using auto transformer\n",
+      "y=math.sqrt((Rs+Rr_)**2+(Xs+Xr_)**2)\n",
+      "Ist1=Vl*math.sqrt(3)/y         #starting current direct online\n",
+      "aT=math.sqrt(2*Il/Ist1)        #transofrmation ratio\n",
+      "Ilst=2*Il/aT                   #starting motor line current\n",
+      "Ipst=Ilst/math.sqrt(3)         #starting motor phase current\n",
+      "Tst1=(1/Wms)*(3*Ipst**2*Rr_)    #starting torque\n",
+      "\n",
+      "#(iii) If motor is started using part winding method\n",
+      "Rs_=2*Rs\n",
+      "Xs_=2*Xs\n",
+      "y=math.sqrt((Rs_+Rr_)**2+(Xs_+Xr_)**2)\n",
+      "Ist2=(Vl*math.sqrt(3))/y      #starting line current \n",
+      "Ip=Ist2/math.sqrt(3)          #starting phase current\n",
+      "Tst2=(1/Wms)*(3*Ip**2*Rr_)    #starting torque\n",
+      "\n",
+      "#(iv) motor is started using series reactors in line\n",
+      "Rs_=Rs/3  ;  Rr_=Rr_/3\n",
+      "Xs_=Xs/3  ;  Xr_=Xr_/3\n",
+      "Il=2*Il        #line current at start\n",
+      "x=(Vl/math.sqrt(3))**2/(Il**2)    #x=(Rs_+Rr_)**2+(Xs_+Xr_+Xe)**2\n",
+      "y=x-(Rs_+Rr_)**2                  #y=(Xs_+Xr_+Xe)**2\n",
+      "z=math.sqrt(y)                    #z=(Xs_+Xr_+Xe)\n",
+      "Xe=z-Xs_-Xr_\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Maximum value of line current during starting Ist:\",round(Ist),\"A\"\n",
+      "print\"   Ratio of starting torque to full load torque :\",round(ratio1,3)\n",
+      "print\"   Ratio of maximum torque to full load torque :\",round(ratio2,2)\n",
+      "print\"\\n(ii)transofrmation ratio aT:\",round(aT,3)\n",
+      "print\"    starting torque :\",round(Tst1),\"N-m\"\n",
+      "#answer for the starting torque in the book is wrong due to accuracy\n",
+      "print\"\\n(iii)maixmum line current during starting :\",round(Ist2),\"A\"\n",
+      "print\"     Starting torque :\",round(Tst2),\"N-m\"\n",
+      "#answer for the starting torque in the book is wrong due to accuracy\n",
+      "print\"\\n(iv)value of the reactor Xe:\",round(Xe,3),\"ohm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Maximum value of line current during starting Ist: 1251.0 A\n",
+        "   Ratio of starting torque to full load torque : 0.173\n",
+        "   Ratio of maximum torque to full load torque : 0.83\n",
+        "\n",
+        "(ii)transofrmation ratio aT: 0.627\n",
+        "    starting torque : 7041.0 N-m\n",
+        "\n",
+        "(iii)maixmum line current during starting : 2590.0 A\n",
+        "     Starting torque : 8539.0 N-m\n",
+        "\n",
+        "(iv)value of the reactor Xe: 0.527 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 199
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.3,Page No:159"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected Induction motor\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=400         # line voltage in V\n",
+      "P=6            # number of poles\n",
+      "#parameters referred to the stator\n",
+      "Xr_=2         # rotor winding reactance in ohm\n",
+      "Xs=Xr_        # stator winding reactance in ohm\n",
+      "Rr_=1         # resistance of the rotor windings in ohm\n",
+      "Rs=Rr_        # resistance of the stator windings in ohm\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P     #synchronous speed in rpm\n",
+      "Wms=2*math.pi*Ns/60        \n",
+      "\n",
+      "#(i)\n",
+      "Sm=-Rr_/math.sqrt(Rs**2+(Xs+Xr_)**2)   #slip at maximum torque\n",
+      "x=math.sqrt((Rs+Rr_/Sm)**2+(Xs+Xr_)**2)\n",
+      "Ir_=(Vl/math.sqrt(3))/x        #current at maximum torque \n",
+      "Tmax=(1/Wms)*3*Ir_**2*Rr_/Sm   #maximum torque\n",
+      "N=(1-Sm)*Ns                    #range of speed\n",
+      "\n",
+      "#(ii)an overhauling torque of 100Nm\n",
+      "Tl=100   #overhauling torque in Nm\n",
+      "# Tl=(3/Wms)*(Vl**2*Rr_/s)/y\n",
+      "# where y=(Rs+Rr_/s)**2+(Xs+Xr_)**2\n",
+      "a=(1/Wms)*(Vl**2*Rr_)/(-Tl)    #a=s*(Rs+Rr_/s)**2+(Xs+Xr_)**2\n",
+      "a = 17\n",
+      "b = 17.3\n",
+      "c = 1\n",
+      "# calculate the discriminant\n",
+      "d = (b**2) - (4*a*c)\n",
+      "# find two solutions\n",
+      "s1 = (-b-cmath.sqrt(d))/(2*a)\n",
+      "s2 = (-b+cmath.sqrt(d))/(2*a)\n",
+      "\n",
+      "N2=(1-s2)*Ns           #motor speed and we neglect s1 \n",
+      "\n",
+      "#slight difference in the answer due to accuracy\n",
+      "\n",
+      "#(iii)when a capacitive reactance of 2 ohm is inserted in each phase stator\n",
+      "Xc=2      #reactance of the capacitor\n",
+      "Sm=-Rr_/math.sqrt(Rs**2+(Xs+Xr_-Xc)**2)   #slip at maximum torque \n",
+      "x=math.sqrt((Rs+Rr_/Sm)**2+(Xs+Xr_-Xc)**2)\n",
+      "Ir_=(Vl/math.sqrt(3))/x        #current at maximum torque \n",
+      "Tmax_=(1/Wms)*3*Ir_**2*Rr_/Sm   #maximum overhauling torque with capacitor\n",
+      "ratio=Tmax_/Tmax\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Maximum overhauling torque that the motor can hold is:\",round(abs(Tmax),1),\"N-m\"\n",
+      "print\"   Range of speed is from \",Ns,\"to\",round(N),\"rpm\"\n",
+      "print\"\\n(ii)Now s*(1+1/s)**2+16s=\",a\n",
+      "print\"    Or 17s**s+17.3s+1=0\"\n",
+      "print\"The solution for s are \",round(s1.real,3),\"and\",round(s2.real,3)\n",
+      "print\"\\nTherefore Motor speed is: \",round(abs(N2)),\"rpm\"\n",
+      "print\"Note :There is a slight difference in the answer due to the decimal place\"\n",
+      "print\"\\n(iii) Ratio of maximum torque with capacitor and to maximum torque without capacitor is:\",round(ratio,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Maximum overhauling torque that the motor can hold is: 244.6 N-m\n",
+        "   Range of speed is from  1000.0 to 1243.0 rpm\n",
+        "\n",
+        "(ii)Now s*(1+1/s)**2+16s= 17\n",
+        "    Or 17s**s+17.3s+1=0\n",
+        "The solution for s are  -0.956 and -0.062\n",
+        "\n",
+        "Therefore Motor speed is:  1062.0 rpm\n",
+        "Note :There is a slight difference in the answer due to the decimal place\n",
+        "\n",
+        "(iii) Ratio of maximum torque with capacitor and to maximum torque without capacitor is: 2.53\n"
+       ]
+      }
+     ],
+     "prompt_number": 202
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.4,Page No:162\n"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the motor is same as that of Ex-6.3\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=400         #line voltage in V\n",
+      "P=6            # number of poles\n",
+      "#parameters referred to the stator\n",
+      "Xr_=2         # rotor winding reactance in ohm\n",
+      "Xs=Xr_        # stator winding reactance in ohm\n",
+      "Rr_=1         # resistance of the rotor windings in ohm\n",
+      "Rs=Rr_        # resistance of the stator windings in ohm\n",
+      "N=950         #full load speed in rpm\n",
+      "SR=2.3        #stator to rotor turns ratio\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P     #synchronous speed in rpm\n",
+      "Wms=2*math.pi*Ns/60        \n",
+      "s=(Ns-N)/Ns     #full load slip\n",
+      "x=math.sqrt((Rs+Rr_/s)**2+(Xs+Xr_)**2)\n",
+      "Irf_=(Vl/math.sqrt(3))/x         #full load current\n",
+      "Tf=(1/Wms)*3*Irf_**2*Rr_/s       #full load  torque\n",
+      "\n",
+      "#(i)initial braking current and torque\n",
+      "S=2-s     #during plugging at 950rpm\n",
+      "y=math.sqrt((Rs+Rr_/S)**2+(Xs+Xr_)**2)\n",
+      "Ir_=(Vl/math.sqrt(3))/y         #initial braking current\n",
+      "ratio1=Ir_/Irf_\n",
+      "T=(1/Wms)*3*Ir_**2*Rr_/S       #initial braking  torque\n",
+      "ratio2=T/Tf\n",
+      "\n",
+      "#(ii)when an external resistance is connected such \n",
+      "#that maximum braking current is 1.5 times the full load current\n",
+      "Ir_=1.5*Irf_\n",
+      "x=(Vl/math.sqrt(3))/Ir_    #x=math.sqrt((Rs+(Rr_+Re_)/S)**2+(Xs+Xr_)**2)\n",
+      "y=x**2                     #y=(Rs+(Rr_+Re_)/S)**2+(Xs+Xr_)**2\n",
+      "z=y-(Xs+Xr_)**2            #z=(Rs+(Rr_+Re_)/S)**2\n",
+      "a=math.sqrt(z)             #a=(Rs+(Rr_+Re_)/S)\n",
+      "b=(a-Rs)*S                 #b=(Rr_+Re_)\n",
+      "Re_=b-Rs\n",
+      "Re=Re_/SR**2\n",
+      "T=(1/Wms)*3*Ir_**2*(Rr_+Re_)/S       #initial braking  torque\n",
+      "ratio=T/Tf\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Ratio of initial braking current to full load current is:\",round(ratio1)\n",
+      "print\"    Ratio of initial braking torque to full load torque is:\",round(ratio2,2)\n",
+      "print\"\\n(ii)Ratio of initial braking torque to full load torque when the resistance is added is:\",round(ratio,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Ratio of initial braking current to full load current is: 5.0\n",
+        "    Ratio of initial braking torque to full load torque is: 0.64\n",
+        "\n",
+        "(ii)Ratio of initial braking torque to full load torque when the resistance is added is: 1.426\n"
+       ]
+      }
+     ],
+     "prompt_number": 203
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.5,Page No:165"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected Induction motor\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=440         # line voltage in V\n",
+      "P=6            # number of poles\n",
+      "Vp=Vl/math.sqrt(3)  #phase voltage\n",
+      "#parameters referred to the stator\n",
+      "Xr_=1.2       # rotor winding reactance in ohm\n",
+      "Xs=Xr_        # stator winding reactance in ohm\n",
+      "Rr_=0.4       # resistance of the rotor windings in ohm\n",
+      "Rs=0.5        # resistance of the stator windings in ohm\n",
+      "Xm=50         # no load reactance\n",
+      "N=950         # full load speed\n",
+      "Sm=2          # slip at maximum torque\n",
+      "\n",
+      "#calculation\n",
+      "Rr_=Sm*math.sqrt(Rs**2+(Xs+Xr_)**2)    #Since Sm=Rr_/math.sqrt(Rs**2+(Xs+Xr_)**2)\n",
+      "Ns=120*f/P      #synchronous speed in rpm\n",
+      "Wms=2*math.pi*Ns/60        \n",
+      "s=(Ns-N)/Ns            #slip at 950 rpm\n",
+      "\n",
+      "x=1j*Xm*(Rr_/s+1j*Xr_)\n",
+      "y=Rr_/s+1j*(Xr_+Xm)\n",
+      "Zp=Rs+1j*Xs+x/y\n",
+      "Ip=Vp/math.sqrt(3)/Zp    #In the book the value of Ip is wrong which leads to other subsequent wrong answers in the book\n",
+      "Irp_=Ip*(1j*Xm)/(Rr_/s+1j*(Xr_+Xm))\n",
+      "Tp=(1/Wms)*3*abs(Irp_)**2*Rr_/s\n",
+      "x=1j*Xm*(Rr_/(2-s)+1j*Xr_)\n",
+      "y=Rr_/(2-s)+1j*(Xr_+Xm)\n",
+      "Zn=Rs+1j*Xs+x/y\n",
+      "In=Vp/math.sqrt(3)/Zn\n",
+      "Irn_=In*(1j*Xm)/(Rr_/(2-s)+1j*(Xr_+Xm))\n",
+      "Tn=-(1/Wms)*3*abs(Irn_)**2*Rr_/(2-s)    #In the book the value of In is wrong\n",
+      "\n",
+      "T=Tp-Tn\n",
+      "I=abs(Ip)+abs(In)\n",
+      "Rr_=0.4    # from the parameters of the motor referred to the stator\n",
+      "x=math.sqrt((Rs+Rr_/s)**2+(Xs+Xr_)**2)\n",
+      "If=(Vl/math.sqrt(3))/x       #full load current\n",
+      "Tf=(1/Wms)*3*If**2*Rr_/s     #full load  torque\n",
+      "\n",
+      "ratio1=I/If\n",
+      "ratio2=abs(T)/Tf\n",
+      "\n",
+      "#results\n",
+      "print\"Ratio of braking current to full load current is:\",round(ratio1,3)\n",
+      "print\"Ratio of braking torque to full load torque is:\",round(ratio2,3)\n",
+      "#answer in the book is wrong\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ratio of braking current to full load current is: 1.448\n",
+        "Ratio of braking torque to full load torque is: 0.565\n"
+       ]
+      }
+     ],
+     "prompt_number": 204
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.6,Page No:171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from array import array\n",
+      "import numpy as np\n",
+      "import matplotlib.pyplot as plt\n",
+      "import matplotlib.cbook as cbook\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected Induction motor which operates under dynamic braking\n",
+      "f=50           # frequency in HZ\n",
+      "P=4            # number of poles\n",
+      "#parameters referred to the stator\n",
+      "Xr_=3.01       # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=4.575      # resistance of the rotor windings in ohm\n",
+      "Rs=1.9         # resistance of the stator windings in ohm\n",
+      "J=0.1          # moment of inertia of the motor load system in kg-m2\n",
+      "Id=12          # given DC current\n",
+      "\n",
+      "N=1500         #given asynchronous speed\n",
+      "#magnetization chacrateristic at the given asynchronous speed\n",
+      "Im=[0.13,0.37,0.6,0.9,1.2,1.7,2.24,2.9,3.9,4.9,6,8,9,9.5]       #magnetization current\n",
+      "E=[12.8,32,53.8,80,106,142,173,200,227,246,260,280,288,292]     #back emf\n",
+      "\n",
+      "#calculation\n",
+      "torque=[]\n",
+      "speed=[]\n",
+      "temp=[]\n",
+      "Is=math.sqrt(2/3)*Id   #value of stator current for two lead connection\n",
+      "Wms=2*math.pi*N/60\n",
+      "for i in range (1,14,1):\n",
+      "    x=(Is**2-Im[i]**2)/(1+2*Xr_*Im[i]/E[i])   #x=Ir_**2\n",
+      "    Ir_=math.sqrt(x)       #required rotor current\n",
+      "    y=(E[i]/Ir_)**2-Xr_**2\n",
+      "    S=Rr_/math.sqrt(y)        #required slip\n",
+      "    N=S*Ns                    #required speed\n",
+      "    T=(3/Wms)*(Ir_)**2*Rr_/S  #required torque\n",
+      "    speed.append(round(N))\n",
+      "    torque.append(round(T,1))\n",
+      "    temp.append(round(T,1))\n",
+      "print\"Hence the magnetizatioin curve is\"\n",
+      "print\"Speed             :\",speed,\"rpm\"\n",
+      "for i in range(0,13,1):\n",
+      "    torque[i]=-1*torque[i]\n",
+      "print\"Braking torque is :\",torque,\"N-m\"\n",
+      "\n",
+      "#results\n",
+      "#plot of of torque vs speed\n",
+      "plt.figure(1)\n",
+      "plt.plot(torque,speed)\n",
+      "plt.xlabel('Torque, N-m') \n",
+      "plt.ylabel('Speed, rpm')\n",
+      "plt.title('Torque vs Speed')\n",
+      "plt.grid(True)\n",
+      "plt.tight_layout()\n",
+      "plt.show()\n",
+      "\n",
+      "#plot of Wm vs J/T\n",
+      "inertia_over_torque=[]\n",
+      "for i in range(2,13,1):\n",
+      "    J_T=1000*J/temp[i]\n",
+      "    inertia_over_torque.append(round(J_T,4))\n",
+      "print\"J/t :\",inertia_over_torque \n",
+      "\n",
+      "Wm=[1,4,8,12,16,20,25,55,95,125,160]  \n",
+      "#the values of Wm are taken for the angular frequency with maximum value of Wms=50*pi rad/s\n",
+      "plt.figure(2)\n",
+      "plt.plot(Wm,inertia_over_torque)\n",
+      "plt.xlabel(r'Angular speed $\\omega_m$') \n",
+      "plt.ylabel(' $J/T,1*10^-2$')\n",
+      "plt.title(r'$J/T   vs   \\omega_m$')\n",
+      "plt.grid(True)\n",
+      "x=[6.5,6.5]\n",
+      "y=[2,4.5]\n",
+      "plt.plot(x,y,'blue')\n",
+      "plt.annotate('A',xy=(8,2), xytext=(8,2.1), arrowprops=dict(facecolor='black', shrink=0),)\n",
+      "plt.annotate('B',xy=(8,4.5), xytext=(8,4.6), arrowprops=dict(facecolor='black', shrink=0),)\n",
+      "plt.annotate('C',xy=(80,3.4), xytext=(80,3.5), arrowprops=dict(facecolor='black', shrink=0),)\n",
+      "plt.annotate('D',xy=(157,8.3), xytext=(157,8.4), arrowprops=dict(facecolor='black', shrink=0),)\n",
+      "plt.annotate('E',xy=(157,2), xytext=(157,2.1), arrowprops=dict(facecolor='black', shrink=0),)\n",
+      "plt.show()\n",
+      "\n",
+      "print\"Hence from the plot the area ABCDEA between the curve and the speed axis for speed change \"\n",
+      "print\"for synchronous to 0.02 times synchrnous speed is the stopping time is which equal to: 9.36 sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Hence the magnetizatioin curve is\n",
+        "Speed             : [2975.0, 949.0, 578.0, 421.0, 306.0, 246.0, 207.0, 174.0, 150.0, 128.0, 86.0, 56.0, 34.0] rpm\n",
+        "Braking torque is : [-2.6, -8.3, -13.5, -18.4, -24.8, -30.0, -34.0, -36.9, -37.5, -35.9, -27.9, -19.5, -12.2] N-m\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\nmxqdxn7S3SeEEI3A+vUQHa1XgbKXFCmD6dj/DXrm1jEzSG5X0zH3G2+kNciuPpAiJYQQWsvLg6NH\nYfBgo5M4h4xJCSGExl56Cb77Dt54w+gkN07GpIQQooFrqLP6KkmRMpiO/d+gZ24dM4PkdjWdcmdl\nQWEhVFSkGR3FaaRICSGEptasgZgY8PQ0OonzyJiUEEJoSCkIDYXly2HAAKPT1I+hY1JHjx5l4MCB\nhIaGEhYWxpIlSwA4ffo0Q4YM4Y477mDo0KGcPXvW9pzExESCgoIIDg5m8+bNtv27d++mZ8+eBAUF\n8eSTTzorshBCaOObb6xX4e3f3+gkzuW0IuXt7c3LL7/MgQMH+Oqrr3jttdf49ttvSUpKYsiQIWRl\nZTFo0CCSkpIAyMzMZM2aNWRmZpKamsr06dNtFXbatGksX76c7OxssrOzSU1NdVZsl9Op/7sqHXPr\nmBkkt6vpkjs5GWJjwWTSJ3N9OK1IdezYkfDwcABatGhBjx49KCgoYOPGjcTHxwMQHx/Phg0bAEhJ\nSSEuLg5vb28sFguBgYGkp6dTVFTE+fPniYyMBGDSpEm25wghRGOkVMOf1VfJJRMncnNzycjI4M47\n7+T48eP4+voC4Ovry/HjxwEoLCzEbDbbnmM2mykoKLhmv5+fHwUFBa6I7RJRUVFGR6gXHXPrmBkk\nt6vpkPvrr8HLC348DtAic315OfsNLly4wLhx41i8eDEtW7as9juTyYTJZHLYeyUkJGCxWADw8fEh\nPDzc9h+v8nBYtmVbtmVb9+2XXkqjf38wmdwjj73blfdzc3Oxm3Ki0tJSNXToUPXyyy/b9nXv3l0V\nFRUppZQqLCxU3bt3V0oplZiYqBITE22PGzZsmPrqq69UUVGRCg4Otu1/55131COPPHLNezn5ozjN\n1q1bjY5QLzrm1jGzUpLb1dw9d3m5Un5+Sh04cGWfu2eujT3f207r7lNKMWXKFEJCQnjqqads+6Oj\no1m5ciUAK1euZMyYMbb9ycnJlJaWkpOTQ3Z2NpGRkXTs2JFWrVqRnp6OUorVq1fbniOEEI3N9u3Q\ntq310hyNgdPOk/riiy+455576NWrl61LLzExkcjISGJiYjhy5AgWi4W1a9fi4+MDwIIFC1ixYgVe\nXl4sXryYYcOGAdYp6AkJCRQXFzNixAjbdPZqH0TOkxJCNAK/+Q2YzTBnjtFJbp4939tyMq8QQmii\nrAz8/GDHDujWzeg0N08WmNVA1QFFneiYW8fMILldzZ1zb90KFsu1BcqdM98sKVJCCKGJxnJuVFXS\n3SeEEBooKYHOnWHfPmuXX0Mg3X1CCNFAbN4MYWENp0DZS4qUwXTtS9Yxt46ZQXK7mrvmvl5Xn7tm\ndgQpUkII4eYuXoRNm2DcOKOTuF6dY1Jnzpxh1apV5ObmUlZWZn2SyVTjuUpGkjEpIURDtW4dvPkm\nfPyx0Ukcy57v7TrX7hsxYgQDBgygV69eeHh4oJRy6Hp7Qgghrq8xzuqrVGd3X0lJCX/5y1+YPHky\n8fHxJCQk2C61IW6ern3JOubWMTNIbldzt9znzsGWLTB2bO2PcbfMjlRnkRo/fjx/+9vfKCoq4vTp\n07abEEII50tJgago+HH1uEanzjGpV199leeeew4fHx88PKw1zWQycfjwYZcEtJeMSQkhGqKRI2HC\nBIiLMzqJ4zlk7b6uXbuya9cu2rVr59BwjiZFSgjR0Jw6BQEBkJ8PLVoYncbxHHIyb1BQEM2aNXNY\nKFGdrn3JOubWMTNIbldzp9zvvQfDhtVdoNwps6PVObuvefPmhIeHM3DgQG655RbAPaegCyFEQ5Oc\nDI89ZnQKY9XZ3ff2229bH/jjtPPKKejuNsNPuvuEEA1JUZH1woZFRdC0qdFpnMNh15MqKSnh4MGD\nmEwmgoODadKkicNCOooUKSFEQ7J0KXz9Nfx4IfMGySFjUps2bSIwMJAnnniCxx9/nICAAD788EOH\nhWzsdO1L1jG3jplBcruau+S+kRN43SWzM9Q5JjVjxgy2bt1KYGAgAIcOHWLEiBGMGDHC6eGEEKIx\nysuDrCwYPNjoJMars7vvJz/5Cbt27bJtK6WIjIysts8dSHefEKKheOkl+O47eOMNo5M4l0PGpB59\n9FGOHDlCTEwMAOvWrcPf358hQ4YAcP/99zso7s2RIiWEaCj69oWFC2HgQKOTOJdDxqRKSkrw9fVl\n27ZtbNu2jfbt23Pp0iXef/993n//fYeFbax07UvWMbeOmUFyu5rRubOyoLAQ7rnH/ucYndmZrjsm\nVV5eTs+ePZkxY4ar8gghRKO2Zg3ExICnp9FJ3MMNj0m5K+nuE0LoTikIDYXly2HAAKPTOJ9DxqSe\nfvppLl++TGxsLLfeeqvtZN4+ffo4NOzNkiIlhNDd/v0wahTk5EBjuGyfQ8akMjIyOHDgAH/4wx+Y\nOXMmv/3tb5k5c6bDQjZ2uvYl65hbx8wguV3NyNzJyRAbe+MFSte2tked50k15A8vhBDuQilrkVq/\n3ugk7sWuZZF0IN19Qgid7dplvW7UwYONo6sPHNTdJ4QQwvkql0FqLAXKXk4tUg899BC+vr707NnT\ntm/evHmYzWYiIiKIiIjgo48+sv0uMTGRoKAggoOD2bx5s23/7t276dmzJ0FBQTz55JPOjOxyunan\n6phbx8wguV3NiNwVFdap57Gx9Xu+rm1tjxsuUrt27aKwsNCux06ePJnU1NRq+0wmEzNmzCAjI4OM\njAzuu+8+ADIzM1mzZg2ZmZmkpqYyffp022HgtGnTWL58OdnZ2WRnZ1/zmkIIobPt26FtW+ulOUR1\nN1ykli5dysiRI4m1o+TffffdtG7d+pr9NfVBpqSkEBcXh7e3NxaLhcDAQNLT0ykqKuL8+fNERkYC\nMGnSJDZs2HCjsd1WVFSU0RHqRcfcOmYGye1qRuS+kRXPa6JrW9ujztl9V1u1ahUA586dq/ebLl26\nlFWrVtGvXz8WLVqEj48PhYWF9O/f3/YYs9lMQUEB3t7emM1m234/Pz8KCgrq/d5CCOFOysqsM/p2\n7DA6iXuq9Uhq9+7d7Nmzx/bz6lurVq3q9YbTpk0jJyeHvXv30qlTp0Z/zpWufck65tYxM0huV3N1\n7q1bwWKBbt3q/xq6trU9aj2SmjlzJiaTieLiYnbv3k2vXr0A2LdvH/369WNHPct+hw4dbPenTp3K\nqFGjAOsR0tGjR22/y8/Px2w24+fnR35+frX9fn5+Nb52QkICFosFAB8fH8LDw22HwZX/Ed1tu5K7\n5LF3e+/evW6Vx57tvXv3ulWehr4t7W3fdnIy9OuXRlpaw///sfJ+bm4udlN1GDt2rNq3b59te//+\n/er++++v62k2OTk5KiwszLZdWFhou/+Xv/xFxcXFKaWUOnDggOrdu7cqKSlRhw8fVt26dVMVFRVK\nKaUiIyPVV199pSoqKtR9992nPvroo2vex46PIoQQbuXSJaXatFEqP9/oJMaw53u7zjGpgwcPVptC\nHhYWxrfffmtXAYyLi2Pbtm2cPHmSLl268Pzzz9v+wjKZTHTt2pU3fryqV0hICDExMYSEhODl5cWy\nZcsw/XjCwLJly0hISKC4uJgRI0YwfPhw+6uwEEK4qc2bISwMaukcEtix4sQDDzxAixYtmDBhAkop\n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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x7ffe2bee9150>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "J/t : [7.4074, 5.4348, 4.0323, 3.3333, 2.9412, 2.71, 2.6667, 2.7855, 3.5842, 5.1282, 8.1967]\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\ntwyXs3z58owcOZIaNWrg6emJu7s77dq1M1xOi9xyxcbGUq1aNevzjPT/av78+TzzzDOA8XL+/PPP\nVKtWLcudycB4OU+ePMmWLVt48sknCQkJISoqCihYTkMVBMsZR0aWmJhIz549mT59OmXKlMnymJOT\nk65/hl9++YVKlSoRHByc64yHemcE9bL7vXv38sYbb7B3715KlSrF559/nuU5Rsh5+vRppk2bRkxM\nDLGxsSQmJrJw4cIszzFCzpw8LJcRMn/22WcUL16cfv365focvXImJSUxfvx4Pv74Y+u63P5Pgb7v\nZ3p6On///Tc7d+5k0qRJPP/887k+92E5DVUQqlatyvnz563L58+fz1Lh9JaWlkbPnj156aWXeO65\n5wD1m9ilS5cAuHjxIpUqVdIt3/bt21m5ciVeXl688MILbNy4kZdeeslQGUH9plKtWjUaN24MQK9e\nvdi7dy+VK1c2VM6oqCiaNWtGhQoVKFasGD169GDHjh2Gy2mR299z9v9XFy5coGrVqrpktFiwYAGr\nV6/m+++/t64zUs7Tp08TExNDYGAgXl5eXLhwgSeeeILLly8bKieo/5969OgBQOPGjXF2dubatWsF\nymmogtCoUSNOnjxJTEwMqampLFmyhK5du+odC1C/Hbz88sv4+vpmubK6a9eufPPNNwB888031kKh\nh/Hjx3P+/Hmio6NZvHgxbdq04bvvvjNURlAnN6xevTonTpwAYP369fj5+dGlSxdD5fTx8WHnzp0k\nJyejKArr16/H19fXcDktcvt77tq1K4sXLyY1NZXo6GhOnjxJkyZNdMu5du1aJk2axM8//4ybm5t1\nvZFyBgQEcPnyZaKjo4mOjqZatWrs3bsXDw8PQ+UEeO6556yTeZ44cYLU1FQee+yxguXUps2hndWr\nVyt169ZVvL29lfHjx+sdx2rr1q2Kk5OTEhgYqAQFBSlBQUHKmjVrlOvXryuhoaFKnTp1lHbt2il/\n//233lEVRVGUiIgI61lGRsy4f/9+pVGjRkqDBg2U7t27K/Hx8YbMOXHiRMXX11fx9/dXwsLClNTU\nVEPk7Nu3r1KlShXF1dVVqVatmjJ//vwH5vrss88Ub29vpV69esratWt1yzlv3jyldu3aSo0aNaz/\nj4YMGWKYnMWLF7e+n/fy8vKyNpWNljM1NVV58cUXFX9/f6Vhw4bKpk2bCpxTLkwTQggBGGzISAgh\n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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x7ffe2beb9490>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Hence from the plot the area ABCDEA between the curve and the speed axis for speed change \n",
+        "for synchronous to 0.02 times synchrnous speed is the stopping time is which equal to: 9.36 sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.7,Page No:176"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected Induction motor\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=2200        # line voltage in V\n",
+      "P=6            # number of poles\n",
+      "#parameters referred to the stator\n",
+      "Xr_=0.5        # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=0.12       # resistance of the rotor windings in ohm\n",
+      "Rs=0.075       # resistance of the stator windings in ohm\n",
+      "J=100          # combine inertia of motor and load in kg-m2\n",
+      "\n",
+      "#calculation\n",
+      "#(i) during starting of the motor\n",
+      "Sm=Rr_/math.sqrt(Rs**2+(Xs+Xr_)**2)   #slip at maximum torque\n",
+      "Wms=4*math.pi*f/P                     #angular frequency\n",
+      "x=Rs+math.sqrt(Rs**2+(Xs+Xr_)**2)\n",
+      "Tmax=(3/2/Wms)*(Vl/math.sqrt(3))**2/x  #maximum torque\n",
+      "tm=J*Wms/Tmax                          #mechanical time constant of the motor\n",
+      "ts=tm*(1/4/Sm+1.5*Sm)                  #time taken during starting\n",
+      "Es=1/2*J*Wms**2*(1+Rs/Rr_)             #energy disspated during starting\n",
+      "\n",
+      "#(ii) when the motor is stopped by plugging method\n",
+      "tb=tm*(0.345*Sm+0.75/Sm)        #time required to stop by plugging\n",
+      "Eb=3/2*J*Wms**2*(1+Rs/Rr_)      #energy disspated during braking \n",
+      "\n",
+      "#(iii)required resistance to be inserted during plugging\n",
+      "tb1=1.027*tm       #minimum value of stopping time during braking\n",
+      "x=1.47*(Xs+Xr_)    #x=Rr_+Re\n",
+      "Re=x-Rr_           #Re is the required external resistance to be connected\n",
+      "Ee=3/2*J*Wms**2*(Re/(Re+Rr_))      #energy disspated in the external resistor\n",
+      "Eb1=Eb-Ee                           #total energy disspated during braking \n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Time taken during starting is ts:\",round(ts,4),\"s\"\n",
+      "print\"   Energy disspated during starting is Es:\",round(Es/1000),\"kilo-watt-sec\"\n",
+      "print\"\\n(ii)Time taken to stop by plugging is tb:\",round(tb,2),\"s\"\n",
+      "print\"    Energy disspated during braking is Eb:\",round(Eb/1000),\"kilo-watt-sec\"\n",
+      "print\"\\n(iii)Minimum Time taken to stop by plugging is tb:\",round(tb1,2),\"s\"\n",
+      "print\"     Required external resistance to be connected is Re:\",round(Re,2),\"ohm\"\n",
+      "print\"     Total Energy dissipated during braking is Eb:\",round(Eb1/1000,2),\"kilo-watt-sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Time taken during starting is ts: 1.108 s\n",
+        "   Energy disspated during starting is Es: 891.0 kilo-watt-sec\n",
+        "\n",
+        "(ii)Time taken to stop by plugging is tb: 3.08 s\n",
+        "    Energy disspated during braking is Eb: 2673.0 kilo-watt-sec\n",
+        "\n",
+        "(iii)Minimum Time taken to stop by plugging is tb: 0.5 s\n",
+        "     Required external resistance to be connected is Re: 1.35 ohm\n",
+        "     Total Energy dissipated during braking is Eb: 1162.36 kilo-watt-sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 206
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.8,Page No:184"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "from sympy import Symbol\n",
+      "from array import array\n",
+      "import numpy as np\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the delta connected Induction motor\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=400         # line voltage in V\n",
+      "P=4            # number of poles\n",
+      "Pm=2.8*1000    # rated mechanical power developed\n",
+      "N=1370         # rated speed in rpm\n",
+      "#parameters referred to the stator\n",
+      "Xr_=5          # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=5          # resistance of the rotor windings in ohm\n",
+      "Rs=2           # resistance of the stator windings in ohm\n",
+      "Xm=80          # no load reactance\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P                    #synchronous speed in rpm\n",
+      "Wms=2*math.pi*Ns/60           #synchronous speed in rad/s\n",
+      "s=(Ns-N)/Ns                   #full load slip\n",
+      "x=(Rs+Rr_/s)**2+(Xs+Xr_)**2   #total impedance\n",
+      "T=(3/Wms)*(Vl**2*Rr_/s)/x     #full load torque\n",
+      "Tl=T\n",
+      "K=Tl/(1-s)**2                 #since Tl=K*(1-s)**2\n",
+      "\n",
+      "#(i) when the motor is running at 1200 rpm\n",
+      "N1=1200            #speed in rpm\n",
+      "s1=(Ns-N1)/Ns      #slip at the given speed N1\n",
+      "Tl=K*(1-s1)**2     #torque at the given speed N1\n",
+      "\n",
+      "y=(Rs+Rr_/s1)**2+(Xs+Xr_)**2   #total impedance\n",
+      "a=Tl*(Wms/3)*y*(s1/Rr_)        #Since T=(3/Wms)*(Vl**2*Rr_/s)/x      and a=V**2\n",
+      "V=math.sqrt(a)                 #required voltage at the given speed N1\n",
+      "Ir_=V/((Rs+Rr_/s1)+1j*(Xs+Xr_))#rotor current\n",
+      "Im=V/(1j*Xm)                   #magnetizing current\n",
+      "Is=Ir_+Im                      #total current\n",
+      "Il=abs(Is)*math.sqrt(3)        #line current\n",
+      "\n",
+      "#(ii)when the terminal voltage is 300 V\n",
+      "V1=300  #terminal voltage in V\n",
+      "s = Symbol('s')\n",
+      "x=(Rs+Rr_/s)**2+(Xs+Xr_)**2   \n",
+      "T=(3/Wms)*(V1**2*Rr_/s)/x\n",
+      "\n",
+      "#Now we have to solve for the value of slip 's' from the given equation 104s**4- 188s**3 + 89s**2 - 179s + 25=0\"\n",
+      "coeff = [104,-188,89,-179,25]    #coeffcient of the polynomial equation \n",
+      "s=np.roots(coeff)                #roots of the polynomial equation\n",
+      "\n",
+      "T=K*(1-s[3].real)**2     #torque at the given terminal voltage of 300 V\n",
+      "N=Ns*(1-s[3].real)       #speed at the given terminal voltage of 300 V\n",
+      "Ir_=V1/((Rs+Rr_/s[3].real)+1j*(Xs+Xr_))#rotor current\n",
+      "Im=V1/(1j*Xm)                   #magnetizing current\n",
+      "Is=Ir_+Im                       #total current\n",
+      "Il1=abs(Is)*math.sqrt(3)        #line current\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Required torque is Tl:\",round(Tl,1),\"N-m\"\n",
+      "print\"   Required motor terminal voltage is V:\",round(V,1),\"V\"\n",
+      "print\"   Required line current is Il:\",round(Il,2),\"A\"\n",
+      "print\"\\n(ii)The roots of the polynomial equation are \"\n",
+      "print\"  s1:\",round(s[0].real,3),\"s2:\",round(s[1].real,3),\"s3:\",round(s[2].real,3),\"s4:\",round(s[3].real,3)\n",
+      "print\"  Hence Only s4:\",round(s[3].real,3),\"is valid\"\n",
+      "print\"\\nRequired torque is Tl:\",round(T,2),\"N-m\"\n",
+      "print\"Required speed is N:\",round(N),\"rpm\"\n",
+      "print\"Required line current is Il:\",round(Il1,2),\"A\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Required torque is Tl: 36.9 N-m\n",
+        "   Required motor terminal voltage is V: 253.2 V\n",
+        "   Required line current is Il: 17.89 A\n",
+        "\n",
+        "(ii)The roots of the polynomial equation are \n",
+        "  s1: 1.818 s2: -0.079 s3: -0.079 s4: 0.147\n",
+        "  Hence Only s4: 0.147 is valid\n",
+        "\n",
+        "Required torque is Tl: 41.94 N-m\n",
+        "Required speed is N: 1279.0 rpm\n",
+        "Required line current is Il: 16.88 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.9,Page No:199"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from array import array\n",
+      "import numpy as np\n",
+      "import matplotlib.pyplot as plt\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected squirrel Induction motor\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=400         # line voltage in V\n",
+      "P=4            # number of poles\n",
+      "N=1370         # rated speed\n",
+      "\n",
+      "#the frequency variation is from 10 Hz to 50 Hz\n",
+      "fmin=10     \n",
+      "fmax=50\n",
+      "#parameters referred to the stator\n",
+      "Xr_=3.5        # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=3          # resistance of the rotor windings in ohm\n",
+      "Rs=2           # resistance of the stator windings in ohm\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P     #synchronous speed\n",
+      "N1=Ns-N        #increase in speed from no load to full torque rpm\n",
+      "Wms=2*math.pi*Ns/60\n",
+      "s=(Ns-N)/Ns    #full load slip\n",
+      "#(i)to obtain the plot between the breakdown torque and the frequency\n",
+      "K=0.1\n",
+      "k=[]\n",
+      "frequency=[]\n",
+      "torque=[]\n",
+      "for i in range (0,9):\n",
+      "    K=K+0.1\n",
+      "    f1=K*f\n",
+      "    x=Rs/K+math.sqrt((Rs/K)**2+(Xs+Xr_)**2)\n",
+      "    Tmax=(3/2/Wms)*(Vl/math.sqrt(3))**2/x\n",
+      "    k.append(round(K,1))\n",
+      "    frequency.append(round(f1))\n",
+      "    torque.append(round(Tmax,2))\n",
+      "print\"K    :\",k\n",
+      "print\"f    :\",frequency,\"Hz\"\n",
+      "print\"Tmax :\",torque,\"N-m\"\n",
+      "\n",
+      "#plotting the values of Tmax vs f \n",
+      "plt.figure(1)\n",
+      "plt.plot(frequency,torque,'y')\n",
+      "plt.xlabel('$f$,Hz')\n",
+      "plt.ylabel('$Tmax$,N-m')\n",
+      "plt.grid(True)\n",
+      "plt.title('Torque  vs frequency characteristic')\n",
+      "plt.show()\n",
+      "\n",
+      "#(ii) to obtain the starting torque and current at rated frequency and voltage\n",
+      "x=(Rs+Rr_)**2+(Xs+Xr_)**2\n",
+      "Tst=(3/Wms)*(Vl/math.sqrt(3))**2*Rr_/x     #starting torque at 50 Hz frequency\n",
+      "Ist=(Vl/math.sqrt(3))/math.sqrt(x)         #starting current at 50 Hz frequency\n",
+      "\n",
+      "K=fmin/fmax     #minimum is available at 10 Hz\n",
+      "y=((Rs+Rr_)/K)**2+(Xs+Xr_)**2\n",
+      "Tst_=(3/Wms)*(Vl/math.sqrt(3))**2*Rr_/K/y     #starting torque at 10 Hz frequency\n",
+      "Ist_=(Vl/math.sqrt(3))/math.sqrt(y)           #starting current at 10 Hz frequency\n",
+      "\n",
+      "ratio1=Tst_/Tst    #ratio of starting torque to the rated starting torque\n",
+      "ratio2=Ist_/Ist    #ratio of starting current to the rated starting current\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"\\n(i)Hence from the plot we can see that for a constant (V/f) ratio breakdown torque decreases with frequency\"\n",
+      "print\"\\n(ii)Hence the required ratio of starting torque to the rated starting torque is :\",round(ratio1,3)\n",
+      "print\"    Hence the required ratio of starting current to the rated starting current is :\",round(ratio2,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "K    : [0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]\n",
+        "f    : [10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0] Hz\n",
+        "Tmax : [22.93, 31.18, 37.44, 42.22, 45.94, 48.89, 51.27, 53.24, 54.88] N-m\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\nB9dt23sqOyvAAAAAAElFTkSuQmCC\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x7f4a42462310>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "(i)Hence from the plot we can see that for a constant (V/f) ratio breakdown torque decreases with frequency\n",
+        "\n",
+        "(ii)Hence the required ratio of starting torque to the rated starting torque is : 0.549\n",
+        "    Hence the required ratio of starting current to the rated starting current is : 0.33\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.10,Page No:201"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from array import array\n",
+      "import numpy as np\n",
+      "import matplotlib.pyplot as plt\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected squirrel Induction motor is same as that of Ex-6.9\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=400         # line voltage in V\n",
+      "P=4            # number of poles\n",
+      "N=1370         # rated speed\n",
+      "\n",
+      "#the frequency variation is from 5 Hz to 50 Hz\n",
+      "fmin=5     \n",
+      "fmax=50\n",
+      "#parameters referred to the stator\n",
+      "Xr_=3.5        # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=3          # resistance of the rotor windings in ohm\n",
+      "Rs=2           # resistance of the stator windings in ohm\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P     #synchronous speed\n",
+      "N1=Ns-N        #increase in speed from no load to full torque rpm\n",
+      "Wms=2*math.pi*Ns/60\n",
+      "s=(Ns-N)/Ns    #full load slip\n",
+      "Tmax=torque[8]   #maximum torque as obtain from Ex-6.9\n",
+      "#to obtain the plot between the voltage and the frequency\n",
+      "K=0\n",
+      "k=[]\n",
+      "frequency=[]\n",
+      "line_voltage=[]\n",
+      "for i in range (0,10):\n",
+      "    K=K+0.1\n",
+      "    f1=K*f\n",
+      "    x=2*K*Wms*Tmax/3\n",
+      "    y=Rs+math.sqrt((Rs)**2+(K*(Xs+Xr_))**2)\n",
+      "    Vl_square=3*x*y\n",
+      "    Vl=math.sqrt(Vl_square)\n",
+      "    k.append(round(K,1))\n",
+      "    frequency.append(round(f1))\n",
+      "    line_voltage.append(round(Vl,1))\n",
+      "print\"K    :\",k\n",
+      "print\"f    :\",frequency,\"Hz\"\n",
+      "print\"Vl   :\",line_voltage,\"V\"\n",
+      "#plotting the values of line voltage Vl vs f \n",
+      "plt.figure(1)\n",
+      "plt.plot(frequency,line_voltage,'b')\n",
+      "plt.xlabel('$f$,Hz')\n",
+      "plt.ylabel('Line voltae,volts')\n",
+      "plt.grid(True)\n",
+      "plt.title('Line voltage  vs frequency characteristic')\n",
+      "#for constant V/f ratio\n",
+      "x=[0,10,20,30,40,50]\n",
+      "y=[0,80,160,240,320,400]\n",
+      "plt.plot(x,y,'--')\n",
+      "plt.annotate('Constant V/f ratiuo', xy=(21, 160), xytext=(30, 160),arrowprops=dict(facecolor='black', shrink=0),)\n",
+      "plt.show()\n",
+      "\n",
+      "print\"\\nHence for a constant breakdown torque at all frequencies,\"\n",
+      "print\"V/f ratio has to be progressively increased with increase in frequency\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "K    : [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]\n",
+        "f    : [5.0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0] Hz\n",
+        "Vl   : [84.3, 123.8, 159.2, 193.7, 228.0, 262.3, 296.7, 331.1, 365.5, 400.0] V\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\nTkSuQmCC\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x7f443fefdb90>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Hence for a constant breakdown torque at all frequencies,\n",
+        "V/f ratio has to be progressively increased with increase in frequency\n"
+       ]
+      }
+     ],
+     "prompt_number": 209
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.11,Page No:202"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected squirrel Induction motor is same as that of Ex-6.9\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=400         # line voltage in V\n",
+      "P=4            # number of poles\n",
+      "N=1370         # rated speed\n",
+      "#parameters referred to the stator\n",
+      "Xr_=3.5        # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=3          # resistance of the rotor windings in ohm\n",
+      "Rs=2           # resistance of the stator windings in ohm\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P     #synchronous speed\n",
+      "N1=Ns-N        #increase in speed from no load to full torque rpm\n",
+      "Wms=2*math.pi*Ns/60 #synchronous speed\n",
+      "s=(Ns-N)/Ns    #full load slip\n",
+      "D=Ns-N        #drop in speed from no load to full load torque at 50 Hz\n",
+      "\n",
+      "#(i)when the frequency is 30 Hz and 80% of full load torque\n",
+      "f1=30          #given frequency in Hz\n",
+      "d=D*0.8        #drop in speed from no load to 80% full load torque\n",
+      "Ns1=120*f1/P   #synchronous speed at the given frequency f1=30 Hz\n",
+      "N1=Ns1-d       #required motor speed \n",
+      "\n",
+      "#(ii)when the speed is 1000 rpm for a full load torque\n",
+      "N2=1000       #given speed in rpm\n",
+      "Ns2=N2+D      #synchronous speed\n",
+      "f2=P*Ns2/120   #required frequency\n",
+      "\n",
+      "#when the speed is 1100 rpm and the frequency is 40 Hz\n",
+      "N3=1100       #given speed in rpm\n",
+      "f3=40         #given frequency in Hz\n",
+      "Ns3=120*f3/P  #synchronous speed at the given frequency f1=40 Hz\n",
+      "D1=Ns3-N3     #drop in speed from no load to N1=1100 rpm\n",
+      "x=(Rs+Rr_/s)**2+(Xs+Xr_)**2\n",
+      "Tf=(3/Wms)*(Vl/math.sqrt(3))**2*(Rr_/s)/x      #full load  torque\n",
+      "T1=D1/D*Tf    #required torque \n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Hence the required motor speed is :\",round(N1),\"rpm\"\n",
+      "print\"\\n(ii)Hence the required frequency is :\",round(f2,2),\"Hz\"\n",
+      "print\"\\n(iii)Hence the required torque is :\",round(T1,2),\"N-m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Hence the required motor speed is : 796.0 rpm\n",
+        "\n",
+        "(ii)Hence the required frequency is : 37.67 Hz\n",
+        "\n",
+        "(iii)Hence the required torque is : 19.52 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 210
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.12,Page No:204"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected Induction motor is same as that of Ex-6.9\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=400         #line voltage in V\n",
+      "P=4            # number of poles\n",
+      "N=1370         #rated speed\n",
+      "\n",
+      "#parameters referred to the stator\n",
+      "Xr_=3.5        # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=3          # resistance of the rotor windings in ohm\n",
+      "Rs=2           # resistance of the stator windings in ohm\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P     #synchronous speed\n",
+      "N1=Ns-N        #increase in speed from no load to full torque rpm\n",
+      "#(i)when f1=30Hz and 80% of full load\n",
+      "Ns=120*f/P\n",
+      "f1=30          #frequency \n",
+      "N2=0.8*N1      #increase in speed from no load to 80% of full torque rpm\n",
+      "Ns1=f1/f*Ns\n",
+      "N=Ns1+N2       #machine speed\n",
+      "\n",
+      "#(ii)at a speed of 1000rpm\n",
+      "N2=1000         #given speed in rpm\n",
+      "N3=N2-N1        #synchronous speed\n",
+      "f3=P*N3/120     #required frequency\n",
+      "\n",
+      "#(iii)when frequency is 40Hz and speed is 1300 rpm\n",
+      "f4=40          #frequency in hz\n",
+      "N2=1300        #speed in rpm\n",
+      "Ns=120*f4/P    #required synchronous speed in rpm\n",
+      "N4=N2-Ns       #increase in speed from no load speed in rpm\n",
+      "Tf=25.37       #full load torque as calculated in Ex-6.11\n",
+      "Tm=-N4/N1*Tf   #motor torque\n",
+      "\n",
+      "#(iv) when the motor is under dynamic braking\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Required speed is :\",N,\"rpm\"\n",
+      "print\"\\n(ii)required frequency is:\",f3,\"Hz\"\n",
+      "print\"\\n(iii)Required motor torque :\",round(Tm,2),\"N-m\"\n",
+      "print\"\\n(iv)The value of the frequency,speed and motor torque calculated in (i),(ii) and(iii)\"\n",
+      "print\"    will be the same  when the motor is operated under dynamic braking\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Required speed is : 1004.0 rpm\n",
+        "\n",
+        "(ii)required frequency is: 29.0 Hz\n",
+        "\n",
+        "(iii)Required motor torque : -19.52 N-m\n",
+        "\n",
+        "(iv)The value of the frequency,speed and motor torque calculated in (i),(ii) and(iii)\n",
+        "    will be the same  when the motor is operated under dynamic braking\n"
+       ]
+      }
+     ],
+     "prompt_number": 211
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.13,Page No:204"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected Induction motor is same as that of Ex-6.9\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=400         #line voltage in V\n",
+      "P=4            # number of poles\n",
+      "N=1370         #rated speed\n",
+      "#parameters referred to the stator\n",
+      "Xr_=3.5        # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=3          # resistance of the rotor windings in ohm\n",
+      "Rs=2           # resistance of the stator windings in ohm\n",
+      "\n",
+      "#calculation\n",
+      "Wms=4*math.pi*f/P\n",
+      "f1=60          #frequency in Hz during speed control of the motor\n",
+      "K=f1/f         #the value of K at 60Hz \n",
+      "x=Rs+math.sqrt(Rs**2+K**2*(Xs+Xr_)**2)\n",
+      "Tmax_=3/(2*K*Wms)*(Vl/math.sqrt(3))**2/x       #torque at 60 Hz frequency\n",
+      "z=Rs+math.sqrt(Rs**2+(Xs+Xr_)**2)\n",
+      "Tmax=3/(2*Wms)*(Vl/math.sqrt(3))**2/z          #maximum torque\n",
+      "ratio=Tmax_/Tmax  #ratio\n",
+      "\n",
+      "#results\n",
+      "print\"Ratio of Motor breakdown torque at 60Hz to rated torque at 50Hz is:\",round(ratio,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ratio of Motor breakdown torque at 60Hz to rated torque at 50Hz is: 0.727\n"
+       ]
+      }
+     ],
+     "prompt_number": 212
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.14,Page No:209"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "print\"When operating at a frequency K times rated frequency f then\"\n",
+      "print\"Im**2=[((Rr_/Ksf)**2+(2*pi*Lr_)**2)/((Rr_/Ksf)**2+(2*pi*Lm+2*Pi*Lr_)**2)]*Is**2----(1)\"\n",
+      "print\"Since Im is constant for constant flux therefore\"\n",
+      "print\"K*s*f=constant--------(2)\"\n",
+      "print\"K*Wms*s=constant-------(3) which is the slip speed\"\n",
+      "print\"s*K=constant----------(4)\"\n",
+      "print\"Thereofre for a frequency K*f\"\n",
+      "print\"T=(3/K/Wms)*[(Is*K*Xm)**2*(Rr_/s)/((Rr_/s)**2+K**2*(Xm+Xr_)**2]\"\n",
+      "print\"T=(3/K/Wms*s)*[(Is*Xm)**2*(Rr_)/((Rr_/s/K)**2+(Xm+Xr_)**2]-------(5)\"\n",
+      "print\"\\nHence for a given slip speed (K*Wms*s),K*s is constant and from (1) for a given K*s*f and constant flux\"\n",
+      "print\"operation Is is fixed. Now from (5) T is also fixed. Thus, motor develps a constant torque and draws a\"\n",
+      "print\"constant current from the inverter at all frequencies for a given slip speed\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When operating at a frequency K times rated frequency f then\n",
+        "Im**2=[((Rr_/Ksf)**2+(2*pi*Lr_)**2)/((Rr_/Ksf)**2+(2*pi*Lm+2*Pi*Lr_)**2)]*Is**2----(1)\n",
+        "Since Im is constant for constant flux therefore\n",
+        "K*s*f=constant--------(2)\n",
+        "K*Wms*s=constant-------(3) which is the slip speed\n",
+        "s*K=constant----------(4)\n",
+        "Thereofre for a frequency K*f\n",
+        "T=(3/K/Wms)*[(Is*K*Xm)**2*(Rr_/s)/((Rr_/s)**2+K**2*(Xm+Xr_)**2]\n",
+        "T=(3/K/Wms*s)*[(Is*Xm)**2*(Rr_)/((Rr_/s/K)**2+(Xm+Xr_)**2]-------(5)\n",
+        "\n",
+        "Hence for a given slip speed (K*Wms*s),K*s is constant and from (1) for a given K*s*f and constant flux\n",
+        "operation Is is fixed. Now from (5) T is also fixed. Thus, motor develps a constant torque and draws a\n",
+        "constant current from the inverter at all frequencies for a given slip speed\n"
+       ]
+      }
+     ],
+     "prompt_number": 213
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.15,Page No:210"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected Induction motor \n",
+      "f=50           # frequency in HZ\n",
+      "Vl=400         #line voltage in V\n",
+      "P=4            # number of poles\n",
+      "N=1370         #rated speed\n",
+      "#parameters referred to the stator\n",
+      "Xr_=3.5        # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=3          # resistance of the rotor windings in ohm\n",
+      "Rs=2           # resistance of the stator windings in ohm\n",
+      "Xm=55          # magnetizing reactance in ohm\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P     #synchronous speed in rpm\n",
+      "s=(Ns-N)/Ns    #full load slip\n",
+      "x=1j*Xm*(Rr_/s+1j*Xr_)\n",
+      "y=Rr_/s+1j*(Xr_+Xm)\n",
+      "Z=Rs+1j*Xs+x/y        #total motor impedance\n",
+      "Isf=(Vl/math.sqrt(3))/abs(Z)                  #full load stator current\n",
+      "Irf_=Isf*(1j*Xm)/(Rr_/s+1j*(Xr_+Xm))          #full load rotor current\n",
+      "Tf=(3/Wms)*abs(Irf_)**2*Rr_/s                 #full load  torque\n",
+      "N1=Ns-N        #full load slip speed\n",
+      "#(i) when the motor is operating at 30Hz\n",
+      "f1=30          #given frequency in Hz\n",
+      "#at rated slep speedvalue of torque and stator current is same as the rated value\n",
+      "T=Tf \n",
+      "Is=abs(Isf)    \n",
+      "Ns1=f1/f*Ns    #synchronous at f1=30Hz\n",
+      "N2=Ns1-N1      #required motor speed at 30Hz\n",
+      "\n",
+      "#(ii)at a speed of 1200 rpm\n",
+      "N3=1200       #speed in rpm\n",
+      "Ns1=N3+N1     #required synchronous speed\n",
+      "f1=Ns1/Ns*f   #required frequency at N2=1200rpm\n",
+      "\n",
+      "#(iii)when speed-torque curves are assumed to be straight lines at 30Hz at half the rated motor torque\n",
+      "f2=30          #frequency in Hz\n",
+      "N1_=N1/2       #slip at half the rated torque\n",
+      "Ns1=f2/f*Ns    #synchronous at f1=30Hz\n",
+      "N4=Ns1-N1_     #required motor speed\n",
+      "\n",
+      "#(iv) When the motor is operating at 45hz  and braking torque is equal to rated torque\n",
+      "f3=45          #given frequency in Hz\n",
+      "N1_=-N1        #slip speed when braking at rated torque\n",
+      "Ns1=f3/f*Ns    #synchronous at f1=45Hz\n",
+      "N5=Ns1-N1_     #required motor speed\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)At 30Hz the required value of Torque is T:\",round(T,2),\"N-m \"\n",
+      "print\"   Stator current is Is:\",round(Is,4),\"A\"\n",
+      "print\"   Motor speed is :\",N2,\"rpm\"\n",
+      "print\"\\n(ii)Required inverter frequency is :\",round(f1,2),\"Hz\"\n",
+      "print\"\\n(iii)Required motor speed at 30Hz is:\",N4,\"rpm\"\n",
+      "print\"\\n(iv)Required motor speed at 45Hz is:\",N5,\"rpm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)At 30Hz the required value of Torque is T: 22.71 N-m \n",
+        "   Stator current is Is: 7.2442 A\n",
+        "   Motor speed is : 770.0 rpm\n",
+        "\n",
+        "(ii)Required inverter frequency is : 44.33 Hz\n",
+        "\n",
+        "(iii)Required motor speed at 30Hz is: 835.0 rpm\n",
+        "\n",
+        "(iv)Required motor speed at 45Hz is: 1480.0 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 214
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.16,Page No:215"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "import cmath\n",
+      "from __future__ import division\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the Delta connected slipring Induction motor\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=400         #line voltage in V\n",
+      "P=6            # number of poles\n",
+      "SR=2.2         #ratio of stator to rotor\n",
+      "#parameters referred to the stator\n",
+      "Xr_=1          # rotor winding reactance in ohm \n",
+      "Rr_=0.2        # resistance of the rotor windings in ohm\n",
+      "s=0.04         # given slip when motor runs at full load\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P     #synchronous speed\n",
+      "Wms=2*math.pi*Ns/60\n",
+      "x=(Rr_/s)**2+Xr_**2\n",
+      "Tf=(3/Wms)*(Vl)**2*(Rr_/s)/x      #full load  torque\n",
+      "K=Tf/(Ns*(1-s))**2\n",
+      "N=850                  #speed of the motor in rpm\n",
+      "Tl=K*N**2              #torque at the given speed N\n",
+      "s=(Ns-N)/Ns            #slip at the given speed N\n",
+      "y=Tl*(Wms/3)/Vl**2     #y=X/(X**2+Xr_**2) and X=(Re+Rr_)/s\n",
+      "print\"The torque at the given speed of 850rpm is:\",round(Tl),\"N-m\"\n",
+      "print\"With a slip of s:\",s\n",
+      "print\"To find the external resistance connected the given quadratic equation is X**2-6.633X+1=0\"\n",
+      "print\"With X=(Re-Rr_)/s where Re is the required external resistance\" \n",
+      "a = 1\n",
+      "b = -1/y\n",
+      "c = 1\n",
+      "# calculate the discriminant\n",
+      "d = (b**2) - (4*a*c)\n",
+      "# find two solutions\n",
+      "X1 = (-b-cmath.sqrt(d))/(2*a)\n",
+      "X2 = (-b+cmath.sqrt(d))/(2*a)\n",
+      "\n",
+      "#results\n",
+      "print\"The solution for X are \",round(X1.real,4),\"and\",round(X2.real,4)\n",
+      "Re1=X1*s-Rr_\n",
+      "Re2=X2*s-Rr_\n",
+      "\n",
+      "if (Re1.real>0) :\n",
+      "    print\"\\nThe number Re1:\",round(abs(Re1),3),\"ohm is feasible:\"\n",
+      "    R=Re1.real/SR**2\n",
+      "    print\"Rotor referred value of the external resistance is:\",round(R,3),\"ohm\"\n",
+      "\n",
+      "if (Re2.real>0) :\n",
+      "    print\"\\nThen  Re2:\",round(abs(Re2),3),\"ohm is feasible\" \n",
+      "    R=Re2.real/SR**2\n",
+      "    print\"Hence Rotor referred value of the external resistance is:\",round(R,3),\"ohm\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The torque at the given speed of 850rpm is: 691.0 N-m\n",
+        "With a slip of s: 0.15\n",
+        "To find the external resistance connected the given quadratic equation is X**2-6.633X+1=0\n",
+        "With X=(Re-Rr_)/s where Re is the required external resistance\n",
+        "The solution for X are  0.1544 and 6.4786\n",
+        "\n",
+        "Then  Re2: 0.772 ohm is feasible\n",
+        "Hence Rotor referred value of the external resistance is: 0.159 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 217
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.17,Page No:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "from sympy import Symbol\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected Induction motor \n",
+      "f=50           # frequency in HZ\n",
+      "Vl=440         #line voltage in V\n",
+      "P=6            # number of poles\n",
+      "Ns=120*f/P     #synchronous speed\n",
+      "#parameters referred to the stator\n",
+      "Xr_=1.2        # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=0.4        # resistance of the rotor windings in ohm\n",
+      "Rs=0.5         # resistance of the stator windings in ohm\n",
+      "Xm=50          # magnetizing reatance\n",
+      "a=3.5          # stator to rotor turns ratio\n",
+      "delta=0        # duty ratio  at the given breakdown torque\n",
+      "Sm=1           # slip at standstill\n",
+      "#calculation\n",
+      "#slip at maximum torque without an external resistance is Sm=Rr_/math.sqrt(Rs**2+(Xs+Xr_)**2)   \n",
+      "#when an external resistanc Re referred to the stator is connected \n",
+      "x=Sm*math.sqrt(Rs**2+(Xs+Xr_)**2)     #x=Re+Rr_\n",
+      "Re=x-Rr_\n",
+      "y=0.5*a**2*(1-delta)    # y=0.5*a**2*R*(1-delta)   #y=Re\n",
+      "R=Re/y\n",
+      "\n",
+      "N = Symbol('N')\n",
+      "Sm=(Ns-N)/Ns\n",
+      "c=(x*Sm-Rr_)/(0.5*a**2*R)  #c=(1-delta)\n",
+      "delta=1-c                  #given duty ratio\n",
+      "\n",
+      "#results\n",
+      "print\"variation of the duty ratio is\",round(delta*1000/N,3),\"*N*10**(-3)\"\n",
+      "print\"Hence the duty ratio must change linearly with speed N\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "variation of the duty ratio is 1.195 *N*10**(-3)\n",
+        "Hence the duty ratio must change linearly with speed N\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.18,Page No:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected Induction motor \n",
+      "f=50         # frequency in HZ\n",
+      "Vl=440       # line voltage in V\n",
+      "P=6          # number of poles\n",
+      "N=970        # rated speed\n",
+      "n=2          # ratio of stator to rotor\n",
+      "Sm=0.25      # it is given the speed range is 25% below the synchronous speed which is proportional to the Slip\n",
+      "#parameters referred to the stator\n",
+      "Xr_=0.4      # rotor winding reactance in ohm\n",
+      "Xs=0.3       # stator winding reactance in ohm\n",
+      "Rr_=0.08     # resistance of the rotor windings in ohm\n",
+      "Rs=0.1       # resistance of the stator windings in ohm\n",
+      "alpha=165    # maximum value of the firing angle in degress\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P   # synchronous speed\n",
+      "Wms=2*math.pi*Ns/60\n",
+      "#(i) transformer turns ratio\n",
+      "a=-Sm/math.cos(math.radians(alpha))  #since  Sm=a*math.cos(alpha)   \n",
+      "m=n/a        #since a=n/m where m is the transformer ratio\n",
+      "\n",
+      "#(ii)When speed is 780 rpm and firing angle is 140 degrees\n",
+      "N1=780           #given speed\n",
+      "alpha1=140       #given firing angle\n",
+      "s1=(Ns-N1)/Ns    #slip at the given speed N1\n",
+      "Vd1=(3*math.sqrt(6)/math.pi)*s1*(Vl/math.sqrt(3))/n\n",
+      "Vd2=(3*math.sqrt(6)/math.pi)*(Vl/math.sqrt(3))/m*math.cos(math.radians(alpha1))\n",
+      "Rs_=Rs*(1/n)**2   #stator resistance referred to the rotor\n",
+      "Rr=Rr_*(1/n)**2   #rotor resistance referred to the rotor\n",
+      "Rd=0.01           #equivalent resistance of the DC link inductor\n",
+      "Id=(Vd1+Vd2)/(2*(s1*Rs_+Rr)+Rd)\n",
+      "T1=abs(Vd2)*Id/s1/Wms     #required torque\n",
+      "\n",
+      "#(iii)when speed is 800rpm and firing angle is half the rated motor torque\n",
+      "N1=800           #given speed\n",
+      "s=(Ns-N)/Ns      #rated slip\n",
+      "x=(Rs+Rr_/s)**2+(Xs+Xr_)**2\n",
+      "Trated=(3/Wms)*(Vl/math.sqrt(3))**2*(Rr_/s)/x          #rated torque\n",
+      "T_half=Trated/2        #half rated torque\n",
+      "s1=(Ns-N1)/Ns          #given slip at speed N1=800rpm\n",
+      "Vd1=(3*math.sqrt(6)/math.pi)*s1*(Vl/math.sqrt(3))/n\n",
+      "cos_alpha1 = Symbol('cos_alpha1')\n",
+      "Vd2=(3*math.sqrt(6)/math.pi)*(Vl/math.sqrt(3))/m*cos_alpha1\n",
+      "Id=(Vd1+Vd2)/(2*(s1*Rs_+Rr)+Rd)\n",
+      "T=abs(Vd2)*Id/s1/Wms     #required torque\n",
+      "#let cos_alpha1=-X\n",
+      "X=-cos_alpha1\n",
+      "#since the given torque is half of the rated value\n",
+      "#To find the find the firing angle we assumed cos(alpha1)=-X\n",
+      "#The given quadratic equation is X**2-0.772X+0.06425=0\n",
+      "a = 1\n",
+      "b = -0.772\n",
+      "c = 0.06425\n",
+      "# calculate the discriminant\n",
+      "d = (b**2) - (4*a*c)\n",
+      "# find two solutions\n",
+      "X1 = (-b-cmath.sqrt(d))/(2*a)\n",
+      "X2 = (-b+cmath.sqrt(d))/(2*a)\n",
+      "alpha1=-math.acos(X2.real)   #since cos(alpha1)=-X where alpha1 is radians\n",
+      "alpha1=math.degrees(alpha1)  #angle in degrees\n",
+      "alpha1=180+alpha1            #required firing angle\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"(i)Transformer ratio is: \",round(m,3)\n",
+      "print\"\\n(ii)Required torque is :\",round(T1),\"N-m\"\n",
+      "print\"    There is a slight difference in the answer for the torque due to accuracy i.e more number of decimal place\"\n",
+      "print\"\\n(iii)The half rated torque at the given speed of\",N1,\"rpm is:\",round(T_half,2),\"N-m\"\n",
+      "print\"      With a slip of s:\",s1\n",
+      "print\"The solution for X are \",round(X1.real,4),\"and\",round(X2.real,4)\n",
+      "print\"For X1:\",round(X1.real,4),\" the motor is unstable hence we discard this value and we use X2:\",round(X2.real,4)\n",
+      "print\"\\nHence the required firing angle is :\",round(alpha1,1),\"\u00b0\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)Transformer ratio is:  7.727\n",
+        "\n",
+        "(ii)Required torque is : 271.0 N-m\n",
+        "    There is a slight difference in the answer for the torque due to accuracy i.e more number of decimal place\n",
+        "\n",
+        "(iii)The half rated torque at the given speed of 800 rpm is: 302.66 N-m\n",
+        "      With a slip of s: 0.2\n",
+        "The solution for X are  0.0949 and 0.6771\n",
+        "For X1: 0.0949  the motor is unstable hence we discard this value and we use X2: 0.6771\n",
+        "\n",
+        "Hence the required firing angle is : 132.6 \u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 219
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.19,Page No:225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the star connected Induction motor is same as that of Ex-6.17\n",
+      "f=50           # frequency in HZ\n",
+      "Vs=440         # line voltage in V\n",
+      "P=4            # number of poles\n",
+      "#parameters referred to the stator\n",
+      "Xr_=1.2        # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=0.4        # resistance of the rotor windings in ohm\n",
+      "Rs=0.5         # resistance of the stator windings in ohm\n",
+      "Xm=50          # magnetizing reatance\n",
+      "a=3.5          # stator to rotor turns ratio\n",
+      "\n",
+      "#calculation\n",
+      "Ns=120*f/P              # synchronous speed in rpm\n",
+      "Wms=2*math.pi*Ns/60     # synchronous speed in rad/s\n",
+      "#(i)when motor speed is 1200rpm with a voltage of 15+0j V\n",
+      "V=cmath.rect(15,0)\n",
+      "N1=1200  #speed in rpm\n",
+      "Vr_=a*V          #rotor voltage\n",
+      "s1=(Ns-N1)/Ns    #slip at the given speed N1=1200 rpm\n",
+      "Z=Rs+Rr_/s1+1j*(Xs+Xr_)                   #total impedance\n",
+      "Ir_=(Vs/math.sqrt(3)-Vr_/s1)/Z            #rotor current\n",
+      "phi_r=cmath.phase(Vr_)-cmath.phase(Ir_)   #angle between Vr_ and Ir_\n",
+      "Pr=3*(abs(Ir_))**2*Rr_                    #rotor copper loss\n",
+      "P1=3*abs(Vr_)*abs(Ir_)*math.cos(phi_r)    #power absorbed by Vr_\n",
+      "Pg=(Pr+P1)/s1              #gross power \n",
+      "T=Pg/Wms                   #required motor torque\n",
+      "\n",
+      "#(ii)when motor speed is 1200rpm with a unity power factor \n",
+      "N1=1200  #speed in rpm\n",
+      "Ir_=cmath.rect(abs(Ir_),0)   #machine is operating at unity power factor\n",
+      "x=Ir_*Z                      #x=(Vs-Vr_/s1)*phi_r   where phi_r is the angle between Vr_ and Ir_\n",
+      "\n",
+      "#x=a+b\n",
+      "d=(Vs/math.sqrt(3)-Vr_/s1*math.cos(phi_r))**2\n",
+      "e=(Vr_/s1*math.sin(phi_r))**2\n",
+      "f=x/(d+e)\n",
+      "theta=cmath.phase(f)        #required angle in radian\n",
+      "\n",
+      "#Now we should solve for the quadratice equation for the rotor current\n",
+      "#  0.9*Ir_**2 + 50.8*Ir_ + 90.12 = 0\n",
+      "a1 = 0.9\n",
+      "b1 = 50.8\n",
+      "c1 = 90.12\n",
+      "# calculate the discriminant\n",
+      "d = (b1**2) - (4*a1*c1)\n",
+      "# find two solutions\n",
+      "Ir_1 = (-b1-cmath.sqrt(d))/(2*a1)\n",
+      "Ir_2 = (-b1+cmath.sqrt(d))/(2*a1)\n",
+      "\n",
+      "Ir_=Ir_2           #Ir_2 is chosen because for Ir_1 the motor is unstable\n",
+      "Vr_sin_phi_r=abs(Ir_)/2.083\n",
+      "Vr_cos_phi_r=s1*(Vs/math.sqrt(3)+2.5*Vr_sin_phi_r)\n",
+      "Vr_=Vr_cos_phi_r+1j*Vr_sin_phi_r   #total rotor voltage referred to the stator\n",
+      "Vr_=Vr_/a                          #total  rotor voltage referred to the rotor\n",
+      "phase=round(math.degrees(cmath.phase(Vr_)))   #required phase of the voltage in degrees\n",
+      "\n",
+      "#results\n",
+      "print\"(i)The torque is :\",round(T,2),\"N-m and since it is negative the motor is operating in regenerative braking \"\n",
+      "print\"\\n(ii)Now theta \u03b8:\",round(math.degrees(theta),2),\"\u25e6\"\n",
+      "print\"    The solution for Ir_ are \",round(Ir_1.real,3),\"and\",round(Ir_2.real,3)\n",
+      "print\"    We choose Ir_:\",round(Ir_2.real,3),\"A since higher value corresponds to unstable region\"\n",
+      "print\"\\n    Hence the required voltage magnitude is Vr:\",round(abs(Vr_),2),\"V\",\";phase:\",phase,\"\u25e6\"\n",
+      "print\"\\n    Note :There is a slight difference in the answers due to accuracy i.e more number of decimal place\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)The torque is : -8.61 N-m and since it is negative the motor is operating in regenerative braking \n",
+        "\n",
+        "(ii)Now theta \u03b8: 43.83 \u25e6\n",
+        "    The solution for Ir_ are  -54.611 and -1.834\n",
+        "    We choose Ir_: -1.834 A since higher value corresponds to unstable region\n",
+        "\n",
+        "    Hence the required voltage magnitude is Vr: 14.64 V ;phase: 1.0 \u25e6\n",
+        "\n",
+        "    Note :There is a slight difference in the answers due to accuracy i.e more number of decimal place\n"
+       ]
+      }
+     ],
+     "prompt_number": 220
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example No:6.20,Page No:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the single phase Induction motor \n",
+      "f=50           # frequency in HZ\n",
+      "Vs=220         # supply voltage in V\n",
+      "P=4            # number of poles\n",
+      "N=1425         # rated speed in rpm\n",
+      "#parameters referred to the stator\n",
+      "Xr_=6          # rotor winding reactance in ohm\n",
+      "Xs=Xr_         # stator winding reactance in ohm\n",
+      "Rr_=5          # resistance of the rotor windings in ohm\n",
+      "Rs=2           # resistance of the stator windings in ohm\n",
+      "Xm=60          # magnetizing reatance\n",
+      "\n",
+      "#calculation\n",
+      "N1=1200      #when the motor is operating at the given speed in rpm\n",
+      "Ns=120*f/P   # synchronous speed\n",
+      "Wms=2*math.pi*Ns/60\n",
+      "s=(Ns-N)/Ns   #rated slip\n",
+      "\n",
+      "Zf=1j*(Xm)*(Rr_/s+1j*Xr_)/2/(Rr_/s+1j*(Xr_+Xm))\n",
+      "Rf=Zf.real  ;    Xf=Zf.imag\n",
+      "Zb=1j*(Xm)*(Rr_/(2-s)+1j*Xr_)/2/(Rr_/(2-s)+1j*(Xr_+Xm))\n",
+      "Rb=Zb.real  ;    Xb=Zb.imag\n",
+      "Zs=Rs+1j*Xs\n",
+      "Z=Zs+Zf+Zb\n",
+      "Is=(Vs)/Z\n",
+      "T=(abs(Is))**2/Wms*(Rf-Rb)\n",
+      "Tl=T\n",
+      "K=Tl/N**2\n",
+      "\n",
+      "#therefore for a speed of  of N1=1200 rpm we get \n",
+      "Tl=K*N1**2      #required load torque for the given speed N1\n",
+      "s1=(Ns-N1)/Ns   # slip for the given speed N1\n",
+      "\n",
+      "Zf=1j*(Xm)*(Rr_/s1+1j*Xr_)/2/(Rr_/s1+1j*(Xm))\n",
+      "Rf=Zf.real  ;    Xf=Zf.imag\n",
+      "Zb=1j*(Xm)*(Rr_/(2-s1)+1j*Xr_)/2/(Rr_/(2-s1)+1j*(Xr_+Xm))\n",
+      "Rb=Zb.real  ;    Xb=Zb.imag\n",
+      "x=(Wms*Tl)/(Rf-Rb)    #since Tl=(abs(Is))**2/Wms*(Rf-Rb)   and x=Is**2\n",
+      "Is=math.sqrt(x)\n",
+      "Z=Zs+Zf+Zb\n",
+      "V=Is*abs(Z)\n",
+      "\n",
+      "#results\n",
+      "print\"Hence the motor terminal voltage at the speed of\",N1,\"rpm is : \",round(V,1),\"V\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Hence the motor terminal voltage at the speed of 1200 rpm is :  127.9 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 221
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Fundamentals_of_Electrical_Drives/Chapter7_2.ipynb b/Fundamentals_of_Electrical_Drives/Chapter7_2.ipynb
new file mode 100755
index 00000000..8b58c041
--- /dev/null
+++ b/Fundamentals_of_Electrical_Drives/Chapter7_2.ipynb
@@ -0,0 +1,416 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7: Synchronous Motor and Brushless dc Motor Drives"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:7.1,Page no:247"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the synchronous motor\n",
+      "Pm1=500*1000   # power rating in W\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=3.3*1000    # line voltage in V\n",
+      "pf=0.8         # power factor lagging\n",
+      "P=4            # number of poles\n",
+      "I=10           # field current in A\n",
+      "Xs=15          # reactance of the windings in ohm\n",
+      "Rs=0           # resistance of the windings in ohm\n",
+      "Wms=50*math.pi # synchronous speed in rad/sec\n",
+      "Pm=Pm1/2       # power at half the rated torque when the losses are neglected\n",
+      "\n",
+      "#calculation\n",
+      "V=Vl/math.sqrt(3)  #phase voltage\n",
+      "Is=Pm1/(math.sqrt(3)*Vl*pf)   #rated current\n",
+      "rad=math.acos(pf)\n",
+      "\n",
+      "Is=cmath.rect(Is,-rad)        #rated current in vector form\n",
+      "V=cmath.rect(V,0)             #rated phase voltage in rectangular form\n",
+      "E=V-Is*1j*Xs                  #back emf\n",
+      "\n",
+      "#(i) when field current has not changed\n",
+      "sin_delta=Pm*Xs/(3*abs(V)*abs(E))  \n",
+      "delta=math.asin(sin_delta)                 #angle delta\n",
+      "Is=(V-cmath.rect(abs(E),-delta))/(1j*Xs)   #armature current\n",
+      "Is1=cmath.polar(Is)\n",
+      "x=math.degrees(Is1[1])           #where x=Is which is the required armature current           \n",
+      "power_factor=math.cos(Is1[1])    #power factor \n",
+      "\n",
+      "#(ii) At unity power factor and rated torque\n",
+      "cos_phi=1\n",
+      "Is=Pm1/(3*V)         #since Pm1=3*V*Is\n",
+      "E1=V-Is*1j*Xs\n",
+      "If=abs(E1)/abs(E)*I  #field current\n",
+      "\n",
+      "#(iii) At the field current of 12.5 A\n",
+      "If1=12.5      #field current \n",
+      "E2=If1/I*abs(E)\n",
+      "Is=math.sqrt(E2**2-abs(V)**2)/Xs  #since E2=abs(V-Is*1j*Xs)\n",
+      "Pm=3*abs(V)*Is*cos_phi            #power output at the given field current\n",
+      "T=Pm/Wms                          #required torque\n",
+      "\n",
+      "#results\n",
+      "print\"i)armature current :\",round(Is1[0],2),round(x),\"\u00b0\",\"A\"\n",
+      "print\"  power factor\",round(power_factor,2),\"lagging\"\n",
+      "print\"\\nii)field current at unity power factor at rated torque:\",round(If,2),\"A\"\n",
+      "print\"\\niii)Required torque is:\",round(T,1),\"N-m\"\n",
+      "print\"Note: there is a slight difference in the answer due to the decimal place\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i)armature current : 52.76 -34.0 \u00b0 A\n",
+        "  power factor 0.83 lagging\n",
+        "\n",
+        "ii)field current at unity power factor at rated torque: 14.43 A\n",
+        "\n",
+        "iii)Required torque is: 1507.2 N-m\n",
+        "Note: there is a slight difference in the answer due to the decimal place\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:7.2,Page no:249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the synchronous motor is same as that of Example-7.1\n",
+      "Pm1=500*1000   # power rating in W\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=3.3*1000    # line voltage in V\n",
+      "pf=0.8         # power factor lagging\n",
+      "P=4            # number of poles\n",
+      "I=10           # field current in A\n",
+      "Xs=15          # reactance of the windings in ohm\n",
+      "Rs=0           # resistance of the windings in ohm\n",
+      "Pm=Pm1/2       # power at half the rated torque when the losses are neglected\n",
+      "\n",
+      "#calculation\n",
+      "Wms=50*math.pi     # synchronous speed in rad/sec\n",
+      "V=Vl/math.sqrt(3)  # phase voltage\n",
+      "Is=Pm1/(math.sqrt(3)*Vl*pf)  #rated current\n",
+      "rad=math.acos(pf)\n",
+      "\n",
+      "Is=cmath.rect(Is,-rad)       #rated current in vector form\n",
+      "V=cmath.rect(V,0) \n",
+      "E=V-Is*1j*Xs                 #back emf\n",
+      "\n",
+      "#(i) at rated current and unity power factor\n",
+      "E1=V-abs(Is)*1j*Xs\n",
+      "delta=cmath.phase(E1)       #phase angle of E1\n",
+      "Pm=3*abs(V)*abs(E1)*math.sin(delta)/Xs   #mechanical power developed\n",
+      "T=Pm/Wms                #braking torque\n",
+      "If=abs(E1)/abs(E)*I     #field current\n",
+      "\n",
+      "#(ii) at field current of 15A and 500kW output\n",
+      "If1=15           #field current\n",
+      "Pm=-500*1000    #output power \n",
+      "E2=If1/I*abs(E)\n",
+      "sin_delta=Pm*Xs/(3*abs(V)*abs(E2))  \n",
+      "delta=math.asin(sin_delta)               #angle delta\n",
+      "Is=(cmath.rect(E2,abs(delta))-V)/(1j*Xs) #armature current\n",
+      "Is=cmath.polar(Is)\n",
+      "x=(Is[1])*180/math.pi        #phase angle of Is\n",
+      "power_factor=math.cos(Is[1]) #power factor\n",
+      "\n",
+      "\n",
+      "#results\n",
+      "print\"i)braking torque :\",round(T,1),\"N-m\"\n",
+      "print\"  Field current\",round(If,2),\"A\"\n",
+      "print\"\\nii)armature current :\",round(Is[0],2),round(x,2),\"\u00b0\",\"A\"\n",
+      "print\"   power factor\",round(power_factor,3),\"lagging\"\n",
+      "print\"\\nNote :There is a slight difference in the answers due to the decimal place\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i)braking torque : -3978.9 N-m\n",
+        "  Field current 15.68 A\n",
+        "\n",
+        "ii)armature current : 87.78 -4.79 \u00b0 A\n",
+        "   power factor 0.997 lagging\n",
+        "\n",
+        "Note :There is a slight difference in the answers due to the decimal place\n"
+       ]
+      }
+     ],
+     "prompt_number": 66
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:7.3,Page no:257"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "from sympy import Symbol\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the synchronous motor\n",
+      "Pm1=6*10**6     # power rating in W\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=11*1000     # line voltage in V\n",
+      "pf=0.9         # power factor leading\n",
+      "P=6            # number of poles\n",
+      "I=10           # rated field current in A\n",
+      "Xs=9           # reactance of the windings in ohm\n",
+      "Rs=0           # resistance of the windings in ohm\n",
+      "N=120*f/P      # synchronous speed\n",
+      "\n",
+      "#calculation\n",
+      "V=Vl/math.sqrt(3)           #phase voltage\n",
+      "Is=Pm1/(math.sqrt(3)*Vl*pf)  #rated current\n",
+      "rad=math.acos(pf)\n",
+      "\n",
+      "#(i)to find torque and field current at rated armature current\n",
+      "#   at 750 rpm and 0.8 leading power factor\n",
+      "Is=cmath.rect(Is,rad)       #rated current in vector form\n",
+      "V=cmath.rect(V,0)\n",
+      "E=V-Is*1j*Xs                #back emf\n",
+      "\n",
+      "N1=750          #speeed in rpm\n",
+      "pf1=0.8         #given leading power factor\n",
+      "f1=N1/N*f       #required frequency\n",
+      "V1=abs(V)*f1/f  #required voltage\n",
+      "Xs1=Xs*f1/f     #required field resistance\n",
+      "E1=V1-Xs1*1j*cmath.rect(abs(Is),math.acos(pf1))   #rated back emf  in complex form \n",
+      "E1_polar=cmath.polar(E1)                          #rated back emf in rectangular form        \n",
+      "#at rated field current and 750 rpm\n",
+      "E2=abs(E)*N1/N             #back emf at the given speed N1           \n",
+      "If=abs(E1)/E2*f            #field current at the given speed N1     \n",
+      "Pm=3*abs(V1)*abs(Is)*pf1   #power input at the given speed N1\n",
+      "Wm1=2*math.pi*N1/60        #angular motor speed in rad/s\n",
+      "T=Pm/Wm1\n",
+      "\n",
+      "#(ii) at half the rated motor torque and 1500 rpm and rated field current\n",
+      "Pm=6*10**6       #rated power rating in W\n",
+      "N1=1500          #speeed in rpm\n",
+      "f1=N1/N*f        #required frequency\n",
+      "Xs1=f1/f*Xs      #required field resistance\n",
+      "E1=abs(E)*f1/f   #back emf at rated field current \n",
+      "\n",
+      "Wms = Symbol('Wms')           #rated speed in rad/sec\n",
+      "T_rated = Symbol('T_rated')   #rated torque\n",
+      "Wms=Pm/T_rated\n",
+      "Wms_=N1/N*Wms\n",
+      "Pm_= (0.5*T_rated)*Wms_       #required power developed at N1=1500 rpm \n",
+      "\n",
+      "sin_delta=Pm_*Xs1/(3*abs(V)*abs(E1))       #since Pm=3*abs(V)*abs(E1)*math.sin(delta)/Xs  \n",
+      "delta=math.asin(sin_delta)                 #angle delta\n",
+      "Is=(abs(V)-cmath.rect(E1,-delta))/(1j*Xs1) #armature current\n",
+      "Is1=cmath.polar(Is)                         #aramture current in rectangular form\n",
+      "x1=math.degrees(Is1[1])\n",
+      "power_factor1=math.cos(Is1[1])               #power factor\n",
+      " \n",
+      "#(iii) at 750 rpm and rated field current from part(i)\n",
+      "N1=750         #speeed in rpm\n",
+      "pf1=0.8        #given leading power factor\n",
+      "f1=N1/N*f      #required frequency at N1=750 rpm\n",
+      "V1=abs(V)*f1/f #required voltage at N1=750 rpm\n",
+      "Xs1=Xs*f1/f    #required field resistance\n",
+      "E2=abs(E)*N1/N    \n",
+      "\n",
+      "Pm=-4.2*10**6 #braking power output\n",
+      "sin_delta=Pm*Xs1/(3*abs(V1)*abs(E2))       #since Pm=3*abs(V)*abs(E1)*math.sin(delta)/Xs  \n",
+      "delta=math.asin(sin_delta)                 #angle delta\n",
+      "Is=(cmath.rect(E2,abs(delta))-V1)/(1j*Xs1) #armature current \n",
+      "Is2=cmath.polar(Is)                         #aramture current in rectangular form\n",
+      "x2=math.degrees(Is2[1]) \n",
+      "power_factor2=math.cos(Is2[1]) #power factor\n",
+      "\n",
+      "#(iv)from part (ii) at 1500 rpm and from part(iii) the armature current of 349.9 A is taken\n",
+      "Is=Pm1/(math.sqrt(3)*Vl*pf)        #armature current as given from (i)\n",
+      "N1=1500           #speeed in rpm\n",
+      "f1=N1/N*f         #required frequency at N1=1500 rpm\n",
+      "Xs1=f1/f*Xs       #required field resistance\n",
+      "E1=abs(E)*f1/f    #at rated field current \n",
+      "E2=V-1j*Xs1*Is\n",
+      "E2=cmath.polar(E2)\n",
+      "\n",
+      "If1=E2[0]/abs(E1)*f   #required field current\n",
+      "Pm=3*abs(V)*E2[0]*math.sin(abs(E2[1]))/Xs1   #power input\n",
+      "Wm1=2*math.pi*N1/60   #motor speed in rad/sec\n",
+      "T1=Pm/Wm1\n",
+      "\n",
+      "#results\n",
+      "print\"\\ni)Required torque is:\",round(T,1),\"N-m\"\n",
+      "print\"  Field current :\",round(If,2),\"A\"\n",
+      "print\"\\nii)armature current :\",round(Is1[0],1),round(x1,2),\"\u00b0\",\"A\"\n",
+      "print\"   power factor :\",round(power_factor1,1),\"leading\"\n",
+      "print\"\\niii)armature current :\",round(Is2[0],2),round(x2,2),\"\u00b0\",\"A\"\n",
+      "print\"    power factor :\",round(power_factor2,3),\"lagging\"\n",
+      "print\"\\niv)Field current :\",round(If1,2),\"A\"\n",
+      "print\"   Required torque is:\",round(T1),\"N-m\"\n",
+      "print\"\\nNote :There is a slight difference in the answers due to the decimal place\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "i)Required torque is: 50929.6 N-m\n",
+        "  Field current : 52.37 A\n",
+        "\n",
+        "ii)armature current : 475.5 60.21 \u00b0 A\n",
+        "   power factor : 0.5 leading\n",
+        "\n",
+        "iii)armature current : 334.62 -28.55 \u00b0 A\n",
+        "    power factor : 0.878 lagging\n",
+        "\n",
+        "iv)Field current : 32.07 A\n",
+        "   Required torque is: 42441.0 N-m\n",
+        "\n",
+        "Note :There is a slight difference in the answers due to the decimal place\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:7.4,Page no:265"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "from __future__ import division\n",
+      "import cmath\n",
+      "\n",
+      "#variable declaration\n",
+      "#ratings of the synchronous motor\n",
+      "Pm=8*10**6     # power rating in W\n",
+      "f=50           # frequency in HZ\n",
+      "Vl=6600        # line voltage in V\n",
+      "pf=1           # unity power factor \n",
+      "P=6            # number of poles\n",
+      "I=10           # rated field current in A\n",
+      "Xs=2.8         # reactance of the windings in ohm\n",
+      "Rs=0           # resistance of the windings in ohm\n",
+      "Rd=0.1         # Dc link inductor resistance\n",
+      "alpha=140      # constant firing angle in degrees \n",
+      "\n",
+      "#calculation\n",
+      "N=120*f/P                   #synchronous speed\n",
+      "V=Vl/math.sqrt(3)           #phase voltage\n",
+      "Is=Pm/(math.sqrt(3)*Vl*pf)  #rated current\n",
+      "\n",
+      "Id=math.pi/math.sqrt(6)*Is  #Dc line current\n",
+      "phi=180-alpha  #phase angle between Is and V in degrees\n",
+      "\n",
+      "#(i) when motor operates at rated current and 500rpm\n",
+      "N1=500     #motor speed in rpm\n",
+      "f1=N1/N*f  #frequency at N1\n",
+      "V1=f1/f*V  #voltge at N1\n",
+      "Pm1=3*V1*Is*math.cos(math.radians(phi)) #power developed by the motor\n",
+      "#for the 3-phase load commutated inverter\n",
+      "Vdl=(3*math.sqrt(6)/math.pi)*V1*math.cos(math.radians(alpha))\n",
+      "Vds=-Vdl+Id*Rd\n",
+      "cos_alpha_s=Vds/(3*math.sqrt(6)/math.pi*V)\n",
+      "alpha_s=math.acos(cos_alpha_s)  #in radian\n",
+      "alpha_s1=math.degrees(alpha_s)   #in degrees\n",
+      "\n",
+      "#(ii) regenerative braking at 500rpm and at rated motor current\n",
+      "alpha=0  #firing angle\n",
+      "#when firng angle is zero then power factor is unity\n",
+      "pf=1\n",
+      "\n",
+      "Pm2=3*V1*Is*pf   #power developed by the motor\n",
+      "Ps=Pm2-Id**2*Rd  #power supplied to the source\n",
+      "Vdl=(3*math.sqrt(6)/math.pi)*V1*math.cos(math.radians(alpha))\n",
+      "Vds=-Vdl+Id*Rd\n",
+      "cos_alpha_s=Vds/(3*math.sqrt(6)/math.pi*V)\n",
+      "alpha_s=math.acos(cos_alpha_s)   #in radian\n",
+      "alpha_s2=math.degrees(alpha_s)   #in degrees\n",
+      "\n",
+      "#results\n",
+      "print\"i)power developed by the motor is:\",round(Pm1/10**6,3),\"MW\"\n",
+      "print\"  Source side converter firing angle is\",round(alpha_s1,2),\"\u00b0\"\n",
+      "print\"\\nii)power supplied to the source is:\",round(Ps/10**6,3),\"MW\"\n",
+      "print\"  Source side converter firing angle is\",round(alpha_s2,2),\"\u00b0\"\n",
+      "#answer for firing angle in the book is wrong"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i)power developed by the motor is: 3.064 MW\n",
+        "  Source side converter firing angle is 66.85 \u00b0\n",
+        "\n",
+        "ii)power supplied to the source is: 3.919 MW\n",
+        "  Source side converter firing angle is 119.34 \u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Fundamentals_of_Electrical_Drives/README.txt b/Fundamentals_of_Electrical_Drives/README.txt
new file mode 100755
index 00000000..e670d298
--- /dev/null
+++ b/Fundamentals_of_Electrical_Drives/README.txt
@@ -0,0 +1,10 @@
+Contributed By: boston shullai
+Course: be
+College/Institute/Organization: SJCE Mysore
+Department/Designation: Electrical
+Book Title: Fundamentals of Electrical Drives
+Author: GK Dubey
+Publisher: Narosa Publishing House New Delhi
+Year of publication: 2004
+Isbn: 8173194289
+Edition: 2
\ No newline at end of file
diff --git a/Fundamentals_of_Electrical_Drives/screenshots/braking_resistance_1.png b/Fundamentals_of_Electrical_Drives/screenshots/braking_resistance_1.png
new file mode 100755
index 00000000..6e9335cf
Binary files /dev/null and b/Fundamentals_of_Electrical_Drives/screenshots/braking_resistance_1.png differ
diff --git a/Fundamentals_of_Electrical_Drives/screenshots/dc_motor_speed.png b/Fundamentals_of_Electrical_Drives/screenshots/dc_motor_speed.png
new file mode 100755
index 00000000..66143381
Binary files /dev/null and b/Fundamentals_of_Electrical_Drives/screenshots/dc_motor_speed.png differ
diff --git a/Fundamentals_of_Electrical_Drives/screenshots/torque_vs_frequency_1.png b/Fundamentals_of_Electrical_Drives/screenshots/torque_vs_frequency_1.png
new file mode 100755
index 00000000..0bb53ca6
Binary files /dev/null and b/Fundamentals_of_Electrical_Drives/screenshots/torque_vs_frequency_1.png differ
diff --git a/Materials_Science/Chapter02.ipynb b/Materials_Science/Chapter02.ipynb
new file mode 100755
index 00000000..e709048c
--- /dev/null
+++ b/Materials_Science/Chapter02.ipynb
@@ -0,0 +1,328 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:dd88e5202fe8cb4f62cee212896e4620a6a485517d90fb3c0293ab4baa871eef"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter02: Structure of atoms"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.1:pg-12"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.1 : radius of the first bohr\"s orbit \n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "ep=8.854*10**-12;#\n",

+      "h=6.626*10**-34;#\n",

+      "m=9.1*10**-31;#in Kg\n",

+      "e=1.602*10**-19;#\n",

+      "r1=((ep*(h**2))/((math.pi*m*(e**2))));#\n",

+      "print round(r1*10**10,2),\"is radius,r1(in angstrom) \"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.53 is radius,r1(in angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.2:pg-12"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 2.2 : radius of the second bohr\"s orbit \n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "r1_h=0.529; # radius for hydrozen atom in Angstrum\n",

+      "n1=1;# for the first bohr's orbit of electron in hydrozen atom\n",

+      "Z1=1; # for the first bohr's orbit of electron in hydrozen atom\n",

+      "k=(r1_h*Z1)/n1**2; # where k is constant\n",

+      "n2=2; # for the second bohr orbit\n",

+      "Z2=2; #for the second bohr orbit\n",

+      "r2_he=k*(n2**2/Z2);\n",

+      "print r2_he,\" is radius of the second bohr orbit,r2 in (Angstrom) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.058  is radius of the second bohr orbit,r2 in (Angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.3:pg-13"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 2.3: to prove\n",

+      " \n",

+      "Z=1;#assume\n",

+      "n1=1;#orbit 1\n",

+      "n2=2;#orbit 2\n",

+      "n3=3;#orbit 3\n",

+      "e1=((-13.6*Z)/(n1**2));#energy for the first orbit\n",

+      "e2=((-13.6*Z)/(n2**2));#energy for the second orbit\n",

+      "e3=((-13.6*Z)/(n3**2));#energy for the third orbit\n",

+      "e31=e3-e1;#energy emitted by an electron jumping from orbit nuber 3 to orbit nimber 1\n",

+      "e21=e2-e1;#energy emitted by an electron jumping from orbit nuber 2 to orbit nimber 1\n",

+      "re=e31/e21;#ratio of energy\n",

+      "print re,\" is equal to ratio of energy for an electron to jump from orbit 3 to orbit 1 and from orbit 2 to orbit 1 is 32/27 \\n hence proved\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.18518518519  is equal to ratio of energy for an electron to jump from orbit 3 to orbit 1 and from orbit 2 to orbit 1 is 32/27 \n",

+        " hence proved\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.4:pg-13"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.4 : velocity\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "h=6.626*10**-34;\n",

+      "e=1.6*10**-19;\n",

+      "epsilon_o=8.825*10**-12;\n",

+      "n=1;\n",

+      "Z=1;\n",

+      "vn=(Z*e**2)/(2*epsilon_o*n*h);\n",

+      "print vn,\" is velocity,vn in (m/s) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2188990.2342  is velocity,vn in (m/s) \n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.5:pg-14"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.5 : velocity\n",

+      " \n",

+      "#given data :\n",

+      "n=1;\n",

+      "Z=1;\n",

+      "k=6.56*10**15; # k is constant\n",

+      "fn=k*(Z**2/n**3);\n",

+      "print fn,\" is orbital frequency,fn in (Hz) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "6.56e+15  is orbital frequency,fn in (Hz) \n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.6.a:pg-14"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.6.a : the energy of the photon emitted\n",

+      " \n",

+      "#given data :\n",

+      "Z=1;#for hydrozen\n",

+      "n1=3;\n",

+      "n2=2;\n",

+      "E3=-(13.6*Z**2)/n1**2;\n",

+      "E2=-(13.6*Z**2)/n2**2;\n",

+      "del_E=E3-E2;\n",

+      "print round(del_E,2),\" is the energy of photon emitted, del_E in (eV) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.89  is the energy of photon emitted, del_E in (eV) \n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.6.b:pg-14"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.6.b : frequency\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "Z=1;#for hydrozen\n",

+      "n1=3;\n",

+      "n2=2;\n",

+      "m=6.626*10**-34;# mass of electron in kg\n",

+      "E3=-(13.6*Z**2)/n1**2;\n",

+      "E2=-(13.6*Z**2)/n2**2;\n",

+      "del_E=E3-E2;\n",

+      "E=del_E*1.6*10**-19;# in joules\n",

+      "v=(E/m);\n",

+      "print round(v,2),\"frequency of the photon emitted,v(Hz) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.5611563873e+14 frequency of the photon emitted,v(Hz) \n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.6.c:pg-15"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.6.c : wave length of the photon emitted\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "Z=1;#for hydrozen\n",

+      "n1=3;\n",

+      "n2=2;\n",

+      "m=6.626*10**-34;# mass of electron in kg\n",

+      "C=3*10**8;\n",

+      "E3=-(13.6*Z**2)/n1**2;\n",

+      "E2=-(13.6*Z**2)/n2**2;\n",

+      "del_E=E3-E2;\n",

+      "E=del_E*1.6*10**-19;\n",

+      "v=E/m;\n",

+      "lamda=C/v;\n",

+      "print round(lamda,9),\" is wavelength of the photon emitted,(m) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "6.58e-07  is wavelength of the photon emitted,(m) \n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter02_1.ipynb b/Materials_Science/Chapter02_1.ipynb
new file mode 100755
index 00000000..3f4eb274
--- /dev/null
+++ b/Materials_Science/Chapter02_1.ipynb
@@ -0,0 +1,330 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:1f19c621c1710fca6ce3cb6f7f8c868a9f6c8ea08665855d38ed65721b994246"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter02: Structure of atoms"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.1:pg-12"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.1 : radius of the first bohr\"s orbit \n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "ep=8.854*10**-12;#\n",

+      "h=6.626*10**-34;#\n",

+      "m=9.1*10**-31;#in Kg\n",

+      "e=1.602*10**-19;#\n",

+      "r1=((ep*(h**2))/((math.pi*m*(e**2))));#\n",

+      "print round(r1*10**10,2),\"is radius,r1(in angstrom) \"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.53 is radius,r1(in angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.2:pg-12"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 2.2 : radius of the second bohr\"s orbit \n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "r1_h=0.529; # radius for hydrozen atom in Angstrum\n",

+      "n1=1;# for the first bohr's orbit of electron in hydrozen atom\n",

+      "Z1=1; # for the first bohr's orbit of electron in hydrozen atom\n",

+      "k=(r1_h*Z1)/n1**2; # where k is constant\n",

+      "n2=2; # for the second bohr orbit\n",

+      "Z2=2; #for the second bohr orbit\n",

+      "r2_he=k*(n2**2/Z2);\n",

+      "print r2_he,\" is radius of the second bohr orbit,r2 in (Angstrom) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.058  is radius of the second bohr orbit,r2 in (Angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.3:pg-13"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 2.3: to prove\n",

+      " \n",

+      "Z=1;#assume\n",

+      "n1=1;#orbit 1\n",

+      "n2=2;#orbit 2\n",

+      "n3=3;#orbit 3\n",

+      "e1=((-13.6*Z)/(n1**2));#energy for the first orbit\n",

+      "e2=((-13.6*Z)/(n2**2));#energy for the second orbit\n",

+      "e3=((-13.6*Z)/(n3**2));#energy for the third orbit\n",

+      "e31=e3-e1;#energy emitted by an electron jumping from orbit nuber 3 to orbit nimber 1\n",

+      "e21=e2-e1;#energy emitted by an electron jumping from orbit nuber 2 to orbit nimber 1\n",

+      "re=e31/e21;#ratio of energy\n",

+      "print round(re,2),\" is equal to ratio of energy for an electron to jump from orbit 3 to orbit 1 and from orbit 2 to orbit 1 is 32/27 \\n hence proved\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.19  is equal to ratio of energy for an electron to jump from orbit 3 to orbit 1 and from orbit 2 to orbit 1 is 32/27 \n",

+        " hence proved\n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.4:pg-13"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.4 : velocity\n",

+      "\n",

+      "import decimal\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "h=6.626*10**-34;\n",

+      "e=1.6*10**-19;\n",

+      "epsilon_o=8.825*10**-12;\n",

+      "n=1;\n",

+      "Z=1;\n",

+      "vn=(Z*e**2)/(2*epsilon_o*n*h);\n",

+      "print \"{:.3e}\".format(vn),\" is velocity,vn in (m/s) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.189e+06  is velocity,vn in (m/s) \n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.5:pg-14"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.5 : velocity\n",

+      " \n",

+      "#given data :\n",

+      "n=1;\n",

+      "Z=1;\n",

+      "k=6.56*10**15; # k is constant\n",

+      "fn=k*(Z**2/n**3);\n",

+      "print fn,\" is orbital frequency,fn in (Hz) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "6.56e+15  is orbital frequency,fn in (Hz) \n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.6.a:pg-14"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.6.a : the energy of the photon emitted\n",

+      " \n",

+      "#given data :\n",

+      "Z=1;#for hydrogen\n",

+      "n1=3;\n",

+      "n2=2;\n",

+      "E3=-(13.6*Z**2)/n1**2;\n",

+      "E2=-(13.6*Z**2)/n2**2;\n",

+      "del_E=E3-E2;\n",

+      "print round(del_E,2),\" is the energy of photon emitted, del_E in (eV) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.89  is the energy of photon emitted, del_E in (eV) \n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.6.b:pg-14"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.6.b : frequency\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "Z=1;#for hydrozen\n",

+      "n1=3;\n",

+      "n2=2;\n",

+      "m=6.626*10**-34;# mass of electron in kg\n",

+      "E3=-(13.6*Z**2)/n1**2;\n",

+      "E2=-(13.6*Z**2)/n2**2;\n",

+      "del_E=E3-E2;\n",

+      "E=del_E*1.6*10**-19;# in joules\n",

+      "v=(E/m);\n",

+      "print round(v,-12),\"frequency of the photon emitted,v(Hz) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.56e+14 frequency of the photon emitted,v(Hz) \n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex2.6.c:pg-15"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 2.6.c : wave length of the photon emitted\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "Z=1;#for hydrozen\n",

+      "n1=3;\n",

+      "n2=2;\n",

+      "m=6.626*10**-34;# mass of electron in kg\n",

+      "C=3*10**8;\n",

+      "E3=-(13.6*Z**2)/n1**2;\n",

+      "E2=-(13.6*Z**2)/n2**2;\n",

+      "del_E=E3-E2;\n",

+      "E=del_E*1.6*10**-19;\n",

+      "v=E/m;\n",

+      "lamda=C/v;\n",

+      "print round(lamda,9),\" is wavelength of the photon emitted,(m) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "6.58e-07  is wavelength of the photon emitted,(m) \n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter03.ipynb b/Materials_Science/Chapter03.ipynb
new file mode 100755
index 00000000..f10c658e
--- /dev/null
+++ b/Materials_Science/Chapter03.ipynb
@@ -0,0 +1,1338 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:296c4bd8d9302a92dd3772adca6817eea05f8e0c9e58e45daf4ced8630943a9e"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter03:Crystal Structure"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.1:pg-50"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.1: miller indices\n",

+      "import math \n",

+      "#given data \n",

+      "x1=1.0;#\n",

+      "x2=1.0;#\n",

+      "x3=2.0;#\n",

+      "h1=1/x1;#\n",

+      "h2=1/x2;#\n",

+      "h3=1/x3;#\n",

+      "print \"Miller indices of the plane (112) are: \",h1,\",\",h2,\",\",h3\n",

+      "x11=0.0;#\n",

+      "x21=0.0;#\n",

+      "x31=1.0;#\n",

+      "h11=inf;#\n",

+      "h21=inf;#\n",

+      "h31=1/x31;#\n",

+      "print \"Miller indices of the plane (001) are : \",h11,\",\",h21,\",\",h31\n",

+      "x111=1.0;#\n",

+      "x211=0.0;#\n",

+      "x311=1.0;#\n",

+      "h111=1/x111;#\n",

+      "h211=inf;#\n",

+      "h311=1/x311;#\n",

+      "print \"Miller indices of the plane (101) are : \",h111,\",\",h211,\",\",h311\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Miller indices of the plane (112) are:  1.0 , 1.0 , 0.5\n",

+        "Miller indices of the plane (001) are :  inf , inf , 1.0\n",

+        "Miller indices of the plane (101) are :  1.0 , inf , 1.0\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.2:pg-51"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.2: miller indices\n",

+      " \n",

+      "#given data \n",

+      "x1=0.0;#\n",

+      "x2=2.0;#\n",

+      "x3=0.0;#\n",

+      "h1=inf;#\n",

+      "h2=1/x2;#\n",

+      "h3=inf;#\n",

+      "print\"Miller indices of the plane (020) are: \",h1,\",\",h2,\",\",h3\n",

+      "x11=1.0;#\n",

+      "x21=2.0;#\n",

+      "x31=0;#\n",

+      "h11=1/x11;#\n",

+      "h21=1/x21;#\n",

+      "h31=inf;#\n",

+      "print\"Miller indices of the plane (120) are : \",h11,\",\",h21,\",\",h31\n",

+      "x111=2.0;#\n",

+      "x211=2.0;#\n",

+      "x311=0.0;#\n",

+      "h111=1/x111;#\n",

+      "h211=1/x211;#\n",

+      "h311=inf;#\n",

+      "print\"Miller indices of the plane (220) are : \",h111,\",\",h211,\",\",h311\n",

+      "#miller indices for plane (120) is calculated wrong in the book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Miller indices of the plane (020) are:  inf , 0.5 , inf\n",

+        "Miller indices of the plane (120) are :  1.0 , 0.5 , inf\n",

+        "Miller indices of the plane (220) are :  0.5 , 0.5 , inf\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.3:pg-52"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.3: miller indices\n",

+      " \n",

+      "x=1/2.0;#\n",

+      "x1=1/x;#\n",

+      "r2=0;#\n",

+      "r3=0;#\n",

+      "x10=-1;#\n",

+      "x2=1.0/x10;#\n",

+      "r4=0;#\n",

+      "r5=0;#\n",

+      "print\"miller indices (Case 1) of the given plane are \",x1,\" : \",r2,\" : \",r3\n",

+      "print\"miller indices (Case 2) of the given plane are \",x2,\" : \",r3,\" : \",r4 \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "miller indices (Case 1) of the given plane are  2.0  :  0  :  0\n",

+        "miller indices (Case 2) of the given plane are  -1.0  :  0  :  0\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.4:pg-52"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.4: miller indices\n",

+      " \n",

+      "a=0.529;#\n",

+      "b=1;#\n",

+      "c=0.477;#\n",

+      "a1=0.264;#\n",

+      "b1=1;#\n",

+      "c1=0.238;#\n",

+      "r1=round(a/a1);#\n",

+      "r2=b/b1;#\n",

+      "r3=round(c/c1);#\n",

+      "print\"miller indices of the given plane are \",r1,\" : \",r2,\" : \",r3\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "miller indices of the given plane are  2.0  :  1  :  2.0\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.5:pg-53"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.5: miller indices\n",

+      " \n",

+      "#given data \n",

+      "x1=1;#\n",

+      "x2=1;#\n",

+      "x3=0;#\n",

+      "h1=1/x1#\n",

+      "h2=1/x2;#\n",

+      "h3=inf;#\n",

+      "print\"Miller indices of the plane (110) are: \",h1,\",\",h2,\",\",h3\n",

+      "x11=1;#\n",

+      "x21=1;#\n",

+      "x31=1;#\n",

+      "h11=1/x11;#\n",

+      "h21=1/x21;#\n",

+      "h31=1/x31;#\n",

+      "print\"Miller indices of the plane (111) are : \",h11,\",\",h21,\",\",h31\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Miller indices of the plane (110) are:  1 , 1 , inf\n",

+        "Miller indices of the plane (111) are :  1 , 1 , 1\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.9:pg-58"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.9: atoms per unit cell\n",

+      " \n",

+      "c=8;#corners\n",

+      "f=6;#faces\n",

+      "nf=(1/2.0)*f;#no. of atoms in all six faces\n",

+      "nc=(1/8.0)*c;#no. of atoms in all corners\n",

+      "ta=nf+nc;#\n",

+      "print ta,\"are total number of atoms \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.0 are total number of atoms \n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.10:pg-61"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.10 : largest diameter\n",

+      "import math \n",

+      "#given data :\n",

+      "\n",

+      "a=3.61; # edge length in angstrum\n",

+      "r=(a*math.sqrt(2))/4;\n",

+      "d=2*r;\n",

+      "print round(d,4),\"= largest diameter,d(angstrom) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.5527 = largest diameter,d(angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.11:pg-62"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.11 : volume change in percentage\n",

+      "import math\n",

+      "#given data :\n",

+      "r_bcc=0.1258; # in nm\n",

+      "r_fcc=0.1292;# in nm\n",

+      "a_bcc=(r_bcc*4)/math.sqrt(3);\n",

+      "a_fcc=(r_fcc*4)/math.sqrt(2);\n",

+      "v_fcc=(a_fcc)**3;# in nmn**3\n",

+      "v_bcc=(a_bcc)**3; # in nm**3\n",

+      "V=((v_fcc-v_bcc)/v_bcc)*100;\n",

+      "print round(V,2),\"=volume change in percentage,V(%) \""

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "99.01 =volume change in percentage,V(%) \n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.12:pg-64"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 3.12 : number of atom/mm**2\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "a=3.03*10**-7; # lattice constant in mm\n",

+      "A=1/a**2;# for 100 planes \n",

+      "B=0.707/a**2;#for(110) planes\n",

+      "C=0.58/a**2;# for(111) planes\n",

+      "print round(A,-11),\"=number of atoms for (100) plane \"\n",

+      "print round(B,-10),\"=number of atoms for (110) plane \"\n",

+      "print round(C,-11),\"=number of atoms for (111) plane \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.09e+13 =number of atoms for (100) plane \n",

+        "7.7e+12 =number of atoms for (110) plane \n",

+        "6.3e+12 =number of atoms for (111) plane \n"

+       ]

+      }

+     ],

+     "prompt_number": 36

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.13:pg-66"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 3.13 : number of atom/mm**2 of planes\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "a=2.87*10**-7; # lattice constant in mm\n",

+      "A=1/a**2;# for 100 planes \n",

+      "B=1.414/a**2;#for(110) planes\n",

+      "C=1.732/a**2;# for(111) planes\n",

+      "print round(A,-11),\"=number of atoms for (100) plane \"\n",

+      "print round(B,-11),\"=number of atoms for (110) plane \"\n",

+      "print round(C,-11),\"=number of atoms for (111) plane \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.21e+13 =number of atoms for (100) plane \n",

+        "1.72e+13 =number of atoms for (110) plane \n",

+        "2.1e+13 =number of atoms for (111) plane \n"

+       ]

+      }

+     ],

+     "prompt_number": 41

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.14:pg-69"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 3.14 : number of atom/mm**2 surface area\n",

+      " \n",

+      "#given data :\n",

+      "a=4.93*10**-7; # lattice constant in mm\n",

+      "A=2/a**2;# for 100 planes \n",

+      "B=1.414/a**2;#for(110) planes\n",

+      "C=2.31/a**2;# for(111) planes\n",

+      "print round(A,-11),\"=number of atoms for (100) plane \"\n",

+      "print round(B,-11),\"=number of atoms for (110) plane \"\n",

+      "print round(C,-11),\"=number of atoms for (111) plane \"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "8.2e+12 =number of atoms for (100) plane \n",

+        "5.8e+12 =number of atoms for (110) plane \n",

+        "9.5e+12 =number of atoms for (111) plane \n"

+       ]

+      }

+     ],

+     "prompt_number": 42

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.15:pg-69"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.15 : planar density\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "a=0.143*10**-6; # atomic radius in mm\n",

+      "A=2.31/(a**2);# for(111) planes\n",

+      "print round(A,-10),\"= atom,A(atoms/mm**2) \"\n",

+      "# answer is wrong in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.1296e+14 = atom,A(atoms/mm**2) \n"

+       ]

+      }

+     ],

+     "prompt_number": 48

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.16:pg-71"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.16 : volume\n",

+      " \n",

+      "import math\n",

+      "#given data :\n",

+      "a=0.2665; # in mm\n",

+      "c=0.4947;# in mm\n",

+      "V=(3*math.sqrt(3)*a**2*c)/2.0;\n",

+      "print round(V,4),\"=volume,V(mm**3) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.0913 =volume,V(mm**3) \n"

+       ]

+      }

+     ],

+     "prompt_number": 51

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.17:pg-72"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 3.17 : find the packing efficiency and lattice parameter\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "r=1.22# in angstrum\n",

+      "a=(4*r)/math.sqrt(3);\n",

+      "efficiency=(math.pi*math.sqrt(3))/8;\n",

+      "print round(efficiency,2),\"=efficiency  \"\n",

+      "print round(a,2),\"= lattice parameter,a(angstrom) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.68 =efficiency  \n",

+        "2.82 = lattice parameter,a(angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 53

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.18:pg-73"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.18 : interplanar distance\n",

+      "import math \n",

+      "#given data :\n",

+      "h=1;\n",

+      "k=1;\n",

+      "l=1;\n",

+      "#d=a/math.sqrt(h**2+k**2+l**2)\n",

+      "dBYa=1/math.sqrt(h**2+k**2+l**2);\n",

+      "print \"Interplanor distance in (Angstrom) is a*\",round(dBYa,3)\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Interplanor distance in (Angstrom) is a* 0.577\n"

+       ]

+      }

+     ],

+     "prompt_number": 55

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.19:pg-74"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.19 : spacing\n",

+      "import math\n",

+      "#given data :\n",

+      "h1=2;\n",

+      "k1=0;\n",

+      "l1=0;\n",

+      "h2=2;\n",

+      "k2=2;\n",

+      "l2=0;\n",

+      "h3=1;\n",

+      "k3=1;\n",

+      "l3=1;\n",

+      "r=1.246;\n",

+      "a=(4*r)/math.sqrt(2);# in angstrum\n",

+      "#d=a/math.sqrt(h**2+k**2+l**2)\n",

+      "d1=a/math.sqrt(h1**2+k1**2+l1**2);\n",

+      "d2=a/math.sqrt(h2**2+k2**2+l2**2);\n",

+      "d3=a/math.sqrt(h3**2+k3**2+l3**2);\n",

+      "print round(d1,2),\"=d_200 spacind,d1(angstrom)  \"\n",

+      "print round(d2,2),\"=d_220 spacind,d2(angstrom)  \"\n",

+      "print round(d3,2),\"=d_111 spacind,d3(angstrom)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.76 =d_200 spacind,d1(angstrom)  \n",

+        "1.25 =d_220 spacind,d2(angstrom)  \n",

+        "2.03 =d_111 spacind,d3(angstrom)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 57

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.20:pg-74"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.20 : interplaner spacing d_220\n",

+      "import math \n",

+      "\n",

+      "#given data :\n",

+      "a=0.316;# in nm\n",

+      "h=2;\n",

+      "k=2;\n",

+      "l=0;\n",

+      "d=a/math.sqrt(h**2+k**2+l**2);\n",

+      "print round(d,3),\"= inter planer spacing d_220,d(nm)  \"\n",

+      "# answer is wrong in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.112 = inter planer spacing d_220,d(nm)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 59

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.21:pg-74"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.21: interplanar spacing d220\n",

+      " \n",

+      "import math\n",

+      "a=1;#constant assume\n",

+      "a1=[1,0,0];#lattice planes\n",

+      "a2=[1,1,0];#lattice planes\n",

+      "a3=[1,1,1];#lattice planes\n",

+      "d100=a/(math.sqrt(a1[0]+a1[1]**2+a1[2]**2));#interplanar distance between (100)planes\n",

+      "d110=a/(math.sqrt(a2[0]**2+a2[1]**2+a2[2]**2));#interplanar distance between (110)planes\n",

+      "d111=a/(math.sqrt(a3[0]**2+a3[1]**2+a3[2]**2));#interplanar distance between (111)planes\n",

+      "print \"ratio of interplanar distances is \",d100,\":\",round(d110,2),\":\",round(d111,2)\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "ratio of interplanar distances is  1.0 : 0.71 : 0.58\n"

+       ]

+      }

+     ],

+     "prompt_number": 63

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.22:pg-75"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.22: perpendicular distance\n",

+      "import math \n",

+      "a=1;#constant assume\n",

+      "a1=[1,1,1];#lattice planes\n",

+      "a2=[2,2,2];#lattice planes\n",

+      "d1=a/(math.sqrt(a1[0]**2+a1[1]**2+a1[2]**2));#perpendicular distance between origin and (111)planes\n",

+      "d2=a/(math.sqrt(a2[0]**2+a2[1]**2+a2[2]**2));#perpendicular distance between origin and (222)planes\n",

+      "d22 = d1-d2;#perpendicular distance between the planes (111) and (222)\n",

+      "print round(d22,2),\"= perpendicular distance between the planes (111) and (222)\"\n",

+      "\n",

+      "# a is assumed to be 1\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.29 = perpendicular distance between the planes (111) and (222)\n"

+       ]

+      }

+     ],

+     "prompt_number": 65

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.23:pg-76"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.23: angle between planes (122) and (111)\n",

+      "import math\n",

+      "a=1;# assume\n",

+      "a1=[1,2,2];#lattice planes\n",

+      "a2=[1,1,1];#lattice planes\n",

+      "d1=a/(math.sqrt(a1[0]**2+a1[1]**2+a1[2]**2));#perpendicular distance between origin and (111)planes\n",

+      "d2=a/(math.sqrt(a2[0]**2+a2[1]**2+a2[2]**2));#perpendicular distance between origin and (222)planes\n",

+      "cphi= ((a1[0]*a2[0])+(a1[1]*a2[1])+(a1[2]*a2[2]))*(d1*d2);#\n",

+      "d=math.degrees(math.acos((cphi)));# in degree\n",

+      "d1=math.floor(d);#\n",

+      "d2=d-d1;#\n",

+      "print\"angle between planes (122) and (111) is \",d1,\" degree \",round(60*d2),\" minutes\"\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "angle between planes (122) and (111) is  15.0  degree  48.0  minutes\n"

+       ]

+      }

+     ],

+     "prompt_number": 72

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.24:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.24 : concentration of iron\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "d=7.87;\n",

+      "N=6.023*10**23; # avogadro's number\n",

+      "A=55.85;# atomic weight\n",

+      "I=A/N;# mass of iron atom\n",

+      "atom=d/I;\n",

+      "print round(atom,-20),\"= number of atoms(atoms/cm**3)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "8.49e+22 = number of atoms(atoms/cm**3)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 83

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.25:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.25 : lattice constant\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "n=2;\n",

+      "A=55.8;\n",

+      "N=6.023*10**26; # avogadro's number in /kg-mole\n",

+      "b=7.87*10**3;# in kg/m**3\n",

+      "a=((A*n)/(N*b))**(1/3.0);\n",

+      "print round(a*10**10,3),\"= lattice constant,a(angstrom)\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.866 = lattice constant,a(angstrom)\n"

+       ]

+      }

+     ],

+     "prompt_number": 85

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.26:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.26 : density\n",

+      "import math\n",

+      "#given data :\n",

+      "\n",

+      "n=4;\n",

+      "N=6.023*10**23; # avogadro's number\n",

+      "r=1.278*10**-8;# in cm\n",

+      "A=63.5;\n",

+      "a=(r*4)/math.sqrt(2);# in cm\n",

+      "b=(A*n)/(a**3*N);\n",

+      "print round(b,2),\"= density of copper,b(g/cc) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "8.93 = density of copper,b(g/cc) \n"

+       ]

+      }

+     ],

+     "prompt_number": 87

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.27:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.27 : number of atoms\n",

+      " \n",

+      "#given data :\n",

+      "n=4;\n",

+      "N=6.023*10**23; # avogadro's number\n",

+      "A=55.85;\n",

+      "a=2.9*10**-8;\n",

+      "b=7.87;#density in g/cc\n",

+      "#a**3=(A*n)/(N*b)\n",

+      "n=round((a**3*N*b)/A);\n",

+      "print n,\"= number of atoms,n \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.0 = number of atoms,n \n"

+       ]

+      }

+     ],

+     "prompt_number": 88

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.28:pg-78"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.28 : lattice constant\n",

+      " \n",

+      "#given data :\n",

+      "d=6250;#density\n",

+      "N=6.02*10**23;#avogadro's number\n",

+      "n=4;\n",

+      "m=60.2*10**-3;# atomic mass\n",

+      "M=(n*m)/N;\n",

+      "V=M/d;\n",

+      "a=V**(1/3.0)*10**9;\n",

+      "print a,\"= the lattice constant,a(nm) \"\n",

+      "#ANSWER IS WRONG IN THE TEXT BOOK\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.4 = the lattice constant,a(nm) \n"

+       ]

+      }

+     ],

+     "prompt_number": 89

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.29:pg-78"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.29 : the number of atoms\n",

+      " \n",

+      "#given data :\n",

+      "d=7.87;#in g/cm**3\n",

+      "A=55.85;\n",

+      "a=2.9*10**-8;# in cm\n",

+      "N=6.02*10**23;#avogadro's number\n",

+      "n=(d*a**3*N)/A;\n",

+      "print round(n),\"= the number of atom,n \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.0 = the number of atom,n \n"

+       ]

+      }

+     ],

+     "prompt_number": 90

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.30:pg-83"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.30: calculate the number of vacancies in the copper\n",

+      "import math \n",

+      "B=1.38*10**-23;#boltzman constant in J/atom-K\n",

+      "B1=8.62*10**-5;# bolzman constant in ev/atom-K\n",

+      "Qv=0.9;# eV/atom\n",

+      "t=27;# room temperatyre in degree celsius\n",

+      "pcu=8.4;#in g/cm**3\n",

+      "Acv=63.5;# in g/mol\n",

+      "T=t+273;#temperture in kelvin\n",

+      "Nv=6.023*10**23;#\n",

+      "P=8.4;#\n",

+      "Ns=(Nv*P)/Acv;# number of regular lattice sites\n",

+      "Nv1=Ns*math.exp(-Qv/(B1*T));#\n",

+      "print Nv1,\"is number of vacancies in copper in vacancies/cm**3\"\n",

+      "#answer is wrong in the textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "61187298.8086 is number of vacancies in copper in vacancies/cm**3\n"

+       ]

+      }

+     ],

+     "prompt_number": 91

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.31:pg-86"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.31 : interplanar spacing\n",

+      "import math \n",

+      "#given data :\n",

+      "\n",

+      "theta=20.3;#in degree\n",

+      "lamda=1.54;# in angstrum\n",

+      "n=1.0;\n",

+      "a=math.sin(math.radians(theta))\n",

+      "d=lamda/(2*a);\n",

+      "print round(d,2),\"= interplanar spacing,d(angstrom) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.22 = interplanar spacing,d(angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 101

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.32:pg-86"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.32 : interatomic spacing\n",

+      "import math \n",

+      "#given data :\n",

+      "\n",

+      "theta=30;#in degree\n",

+      "lamda=1.54;# in angstrum\n",

+      "n=1;\n",

+      "a=math.sin(math.radians(theta))\n",

+      "d=lamda/(2*a);\n",

+      "print d,\"=interatomic spacing,d(angstrom) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.54 =interatomic spacing,d(angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 102

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.33:pg-87"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.33 : number of per order\n",

+      "import math \n",

+      "#given data :\n",

+      "\n",

+      "theta=90;#in degree\n",

+      "lamda=1.54;# in angstrum\n",

+      "a=math.sin(math.radians(theta))\n",

+      "d=1.181;\n",

+      "n=(2*d*a)/lamda;\n",

+      "print round(n,2),\"= number of order,n \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.53 = number of order,n \n"

+       ]

+      }

+     ],

+     "prompt_number": 106

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.34:pg-87"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.34: size of unit cell\n",

+      "import math \n",

+      "n=1.0;#\n",

+      "a=1.0;#assume\n",

+      "h=0.58;#wavelnegth in armstrong\n",

+      "th=9.5;#reflection angle in degree\n",

+      "a1=[2.0,0,0];#miller indices\n",

+      "d200=a/(math.sqrt(a1[0]**2+a1[1]**2+a1[2]**2));#interplanar distance between (200)planes\n",

+      "a=((n*h)/(2*d200*math.sin(math.radians(th))));#zsize of unit cell\n",

+      "print round(a,3),\"= size of unit cell in \u00c4\"\n",

+      "#amswer is wrong in the textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "3.514 = size of unit cell in \u00c4\n"

+       ]

+      }

+     ],

+     "prompt_number": 111

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.35:pg-87"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.35: bragg angle\n",

+      "import math\n",

+      "n=1;#\n",

+      "a=3.57;#in \u00c4\n",

+      "h=0.54;#wavelnegth in \u00c4 \n",

+      "a1=[1,1,1];#miller indices\n",

+      "d111=a/(math.sqrt(a1[0]**2+a1[1]**2+a1[2]**2));#interplanar distance between (111)planes\n",

+      "snd=((n*h)/(2*d111));#\n",

+      "th=math.degrees(math.asin(snd));# bragg angle in degree\n",

+      "d1=math.floor(th);#\n",

+      "d2=th-math.floor(d1);#\n",

+      "print\"angle between planes (122) and (111) is \",d1,\" degree \",round(60*d2),\" minutes\"\n",

+      "#wavelength is given wrong in example it is 0.54\u00c4 and it is taken as 1.54\u00c4\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "angle between planes (122) and (111) is  7.0  degree  32.0  minutes\n"

+       ]

+      }

+     ],

+     "prompt_number": 113

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.36:pg-88"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.36: interplanner spacing and miller indices\n",

+      " \n",

+      "a=3.16;# in \u00c4\n",

+      "h=1.54;# in \u00c4\n",

+      "n=1;#\n",

+      "th=20.3;# in degree\n",

+      "d=((n*h)/(2*math.sin(math.radians(th))));# interplanner spacing in \u00c4\n",

+      "x=a/d;#\n",

+      "y=x**2;#\n",

+      "print round(d,2),\"= interplanner spacing in \u00c4 \"\n",

+      "print \"miller indices are (110) , (011) or (101)\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.22 = interplanner spacing in \u00c4 \n",

+        "miller indices are (110) , (011) or (101)\n"

+       ]

+      }

+     ],

+     "prompt_number": 115

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.37:pg-88"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.36: interplanner spacing and diffraction angle\n",

+      "import math \n",

+      "a=.2866;# in \u00c4\n",

+      "h=0.1542;# in nm\n",

+      "n=1.0;#\n",

+      "a1=[2.0,1.0,1.0];#miller indices\n",

+      "d211=a/(math.sqrt(a1[0]**2+a1[1]**2+a1[2]**2));#interplanar distance between (211)planes\n",

+      "snd=((n*h)/(2*d211));#\n",

+      "th=math.degrees(math.asin(snd));# bragg angle in degree\n",

+      "d1=math.floor(th);#\n",

+      "d2=th-math.floor(d1);#\n",

+      "print\"angle between planes (122) and (111) is \",d1,\" degree \",round(60*d2),\" minutes\"\n",

+      "print round(d211,2),\"=interplanner spacing in \u00c4 \"\n",

+      "#answer is wrong in the textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "angle between planes (122) and (111) is  41.0  degree  13.0  minutes\n",

+        "0.12 =interplanner spacing in \u00c4 \n"

+       ]

+      }

+     ],

+     "prompt_number": 121

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter03_1.ipynb b/Materials_Science/Chapter03_1.ipynb
new file mode 100755
index 00000000..43781fda
--- /dev/null
+++ b/Materials_Science/Chapter03_1.ipynb
@@ -0,0 +1,1338 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:8787be2af1a94b63ca8412df85bcd749a00e2c5c652303af986ee37d2e29e569"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter03:Crystal Structure"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.1:pg-50"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.1: miller indices\n",

+      "import math \n",

+      "#given data \n",

+      "x1=1.0;#\n",

+      "x2=1.0;#\n",

+      "x3=2.0;#\n",

+      "h1=1/x1;#\n",

+      "h2=1/x2;#\n",

+      "h3=1/x3;#\n",

+      "print \"Miller indices of the plane (112) are: \",h1,\",\",h2,\",\",h3\n",

+      "x11=0.0;#\n",

+      "x21=0.0;#\n",

+      "x31=1.0;#\n",

+      "h11=inf;#\n",

+      "h21=inf;#\n",

+      "h31=1/x31;#\n",

+      "print \"Miller indices of the plane (001) are : \",h11,\",\",h21,\",\",h31\n",

+      "x111=1.0;#\n",

+      "x211=0.0;#\n",

+      "x311=1.0;#\n",

+      "h111=1/x111;#\n",

+      "h211=inf;#\n",

+      "h311=1/x311;#\n",

+      "print \"Miller indices of the plane (101) are : \",h111,\",\",h211,\",\",h311\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Miller indices of the plane (112) are:  1.0 , 1.0 , 0.5\n",

+        "Miller indices of the plane (001) are :  inf , inf , 1.0\n",

+        "Miller indices of the plane (101) are :  1.0 , inf , 1.0\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.2:pg-51"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.2: miller indices\n",

+      " \n",

+      "#given data \n",

+      "x1=0.0;#\n",

+      "x2=2.0;#\n",

+      "x3=0.0;#\n",

+      "h1=inf;#\n",

+      "h2=1/x2;#\n",

+      "h3=inf;#\n",

+      "print\"Miller indices of the plane (020) are: \",h1,\",\",h2,\",\",h3\n",

+      "x11=1.0;#\n",

+      "x21=2.0;#\n",

+      "x31=0;#\n",

+      "h11=1/x11;#\n",

+      "h21=1/x21;#\n",

+      "h31=inf;#\n",

+      "print\"Miller indices of the plane (120) are : \",h11,\",\",h21,\",\",h31\n",

+      "x111=2.0;#\n",

+      "x211=2.0;#\n",

+      "x311=0.0;#\n",

+      "h111=1/x111;#\n",

+      "h211=1/x211;#\n",

+      "h311=inf;#\n",

+      "print\"Miller indices of the plane (220) are : \",h111,\",\",h211,\",\",h311\n",

+      "#miller indices for plane (120) is calculated wrong in the book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Miller indices of the plane (020) are:  inf , 0.5 , inf\n",

+        "Miller indices of the plane (120) are :  1.0 , 0.5 , inf\n",

+        "Miller indices of the plane (220) are :  0.5 , 0.5 , inf\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.3:pg-52"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.3: miller indices\n",

+      " \n",

+      "x=1/2.0;#\n",

+      "x1=1/x;#\n",

+      "r2=0;#\n",

+      "r3=0;#\n",

+      "x10=-1;#\n",

+      "x2=1.0/x10;#\n",

+      "r4=0;#\n",

+      "r5=0;#\n",

+      "print\"miller indices (Case 1) of the given plane are \",x1,\" : \",r2,\" : \",r3\n",

+      "print\"miller indices (Case 2) of the given plane are \",x2,\" : \",r3,\" : \",r4 \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "miller indices (Case 1) of the given plane are  2.0  :  0  :  0\n",

+        "miller indices (Case 2) of the given plane are  -1.0  :  0  :  0\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.4:pg-52"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.4: miller indices\n",

+      " \n",

+      "a=0.529;#\n",

+      "b=1;#\n",

+      "c=0.477;#\n",

+      "a1=0.264;#\n",

+      "b1=1;#\n",

+      "c1=0.238;#\n",

+      "r1=round(a/a1);#\n",

+      "r2=b/b1;#\n",

+      "r3=round(c/c1);#\n",

+      "print\"miller indices of the given plane are \",r1,\" : \",r2,\" : \",r3\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "miller indices of the given plane are  2.0  :  1  :  2.0\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.5:pg-53"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.5: miller indices\n",

+      " \n",

+      "#given data \n",

+      "x1=1;#\n",

+      "x2=1;#\n",

+      "x3=0;#\n",

+      "h1=1/x1#\n",

+      "h2=1/x2;#\n",

+      "h3=inf;#\n",

+      "print\"Miller indices of the plane (110) are: \",h1,\",\",h2,\",\",h3\n",

+      "x11=1;#\n",

+      "x21=1;#\n",

+      "x31=1;#\n",

+      "h11=1/x11;#\n",

+      "h21=1/x21;#\n",

+      "h31=1/x31;#\n",

+      "print\"Miller indices of the plane (111) are : \",h11,\",\",h21,\",\",h31\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Miller indices of the plane (110) are:  1 , 1 , inf\n",

+        "Miller indices of the plane (111) are :  1 , 1 , 1\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.9:pg-58"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.9: atoms per unit cell\n",

+      " \n",

+      "c=8;#corners\n",

+      "f=6;#faces\n",

+      "nf=(1/2.0)*f;#no. of atoms in all six faces\n",

+      "nc=(1/8.0)*c;#no. of atoms in all corners\n",

+      "ta=nf+nc;#\n",

+      "print ta,\"are total number of atoms \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.0 are total number of atoms \n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.10:pg-61"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.10 : largest diameter\n",

+      "import math \n",

+      "#given data :\n",

+      "\n",

+      "a=3.61; # edge length in angstrum\n",

+      "r=(a*math.sqrt(2))/4;\n",

+      "d=2*r;\n",

+      "print round(d,4),\"= largest diameter,d(angstrom) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.5527 = largest diameter,d(angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.11:pg-62"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.11 : volume change in percentage\n",

+      "import math\n",

+      "#given data :\n",

+      "r_bcc=0.1258; # in nm\n",

+      "r_fcc=0.1292;# in nm\n",

+      "a_bcc=(r_bcc*4)/math.sqrt(3);\n",

+      "a_fcc=(r_fcc*4)/math.sqrt(2);\n",

+      "v_fcc=(a_fcc)**3;# in nmn**3\n",

+      "v_bcc=(a_bcc)**3; # in nm**3\n",

+      "V=((v_fcc-v_bcc)/v_bcc)*100;\n",

+      "print round(V,2),\"=volume change in percentage,V(%) \""

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "99.01 =volume change in percentage,V(%) \n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.12:pg-64"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 3.12 : number of atom/mm**2\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "a=3.03*10**-7; # lattice constant in mm\n",

+      "A=1/a**2;# for 100 planes \n",

+      "B=0.707/a**2;#for(110) planes\n",

+      "C=0.58/a**2;# for(111) planes\n",

+      "print round(A,-11),\"=number of atoms for (100) plane \"\n",

+      "print round(B,-10),\"=number of atoms for (110) plane \"\n",

+      "print round(C,-11),\"=number of atoms for (111) plane \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.09e+13 =number of atoms for (100) plane \n",

+        "7.7e+12 =number of atoms for (110) plane \n",

+        "6.3e+12 =number of atoms for (111) plane \n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.13:pg-66"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 3.13 : number of atom/mm**2 of planes\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "a=2.87*10**-7; # lattice constant in mm\n",

+      "A=1/a**2;# for 100 planes \n",

+      "B=1.414/a**2;#for(110) planes\n",

+      "C=1.732/a**2;# for(111) planes\n",

+      "print round(A,-11),\"=number of atoms for (100) plane \"\n",

+      "print round(B,-11),\"=number of atoms for (110) plane \"\n",

+      "print round(C,-11),\"=number of atoms for (111) plane \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.21e+13 =number of atoms for (100) plane \n",

+        "1.72e+13 =number of atoms for (110) plane \n",

+        "2.1e+13 =number of atoms for (111) plane \n"

+       ]

+      }

+     ],

+     "prompt_number": 41

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.14:pg-69"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 3.14 : number of atom/mm**2 surface area\n",

+      " \n",

+      "#given data :\n",

+      "a=4.93*10**-7; # lattice constant in mm\n",

+      "A=2/a**2;# for 100 planes \n",

+      "B=1.414/a**2;#for(110) planes\n",

+      "C=2.31/a**2;# for(111) planes\n",

+      "print round(A,-11),\"=number of atoms for (100) plane \"\n",

+      "print round(B,-11),\"=number of atoms for (110) plane \"\n",

+      "print round(C,-11),\"=number of atoms for (111) plane \"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "8.2e+12 =number of atoms for (100) plane \n",

+        "5.8e+12 =number of atoms for (110) plane \n",

+        "9.5e+12 =number of atoms for (111) plane \n"

+       ]

+      }

+     ],

+     "prompt_number": 42

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.15:pg-69"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.15 : planar density\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "a=0.143*10**-6; # atomic radius in mm\n",

+      "A=2.31/(a**2);# for(111) planes\n",

+      "print round(A,-10),\"= atom,A(atoms/mm**2) \"\n",

+      "# answer is wrong in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.1296e+14 = atom,A(atoms/mm**2) \n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.16:pg-71"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.16 : volume\n",

+      " \n",

+      "import math\n",

+      "#given data :\n",

+      "a=0.2665; # in mm\n",

+      "c=0.4947;# in mm\n",

+      "V=(3*math.sqrt(3)*a**2*c)/2.0;\n",

+      "print round(V,4),\"=volume,V(mm**3) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.0913 =volume,V(mm**3) \n"

+       ]

+      }

+     ],

+     "prompt_number": 51

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.17:pg-72"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 3.17 : find the packing efficiency and lattice parameter\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "r=1.22# in angstrum\n",

+      "a=(4*r)/math.sqrt(3);\n",

+      "efficiency=(math.pi*math.sqrt(3))/8;\n",

+      "print round(efficiency,2),\"=efficiency  \"\n",

+      "print round(a,2),\"= lattice parameter,a(angstrom) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.68 =efficiency  \n",

+        "2.82 = lattice parameter,a(angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 53

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.18:pg-73"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.18 : interplanar distance\n",

+      "import math \n",

+      "#given data :\n",

+      "h=1;\n",

+      "k=1;\n",

+      "l=1;\n",

+      "#d=a/math.sqrt(h**2+k**2+l**2)\n",

+      "dBYa=1/math.sqrt(h**2+k**2+l**2);\n",

+      "print \"Interplaner distance in (Angstrom) is a*\",round(dBYa,3)\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Interplaner distance in (Angstrom) is a* 0.577\n"

+       ]

+      }

+     ],

+     "prompt_number": 19

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.19:pg-74"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.19 : spacing\n",

+      "import math\n",

+      "#given data :\n",

+      "h1=2;\n",

+      "k1=0;\n",

+      "l1=0;\n",

+      "h2=2;\n",

+      "k2=2;\n",

+      "l2=0;\n",

+      "h3=1;\n",

+      "k3=1;\n",

+      "l3=1;\n",

+      "r=1.246;\n",

+      "a=(4*r)/math.sqrt(2);# in angstrum\n",

+      "#d=a/math.sqrt(h**2+k**2+l**2)\n",

+      "d1=a/math.sqrt(h1**2+k1**2+l1**2);\n",

+      "d2=a/math.sqrt(h2**2+k2**2+l2**2);\n",

+      "d3=a/math.sqrt(h3**2+k3**2+l3**2);\n",

+      "print round(d1,2),\"=d_200 spacind,d1(angstrom)  \"\n",

+      "print round(d2,2),\"=d_220 spacind,d2(angstrom)  \"\n",

+      "print round(d3,2),\"=d_111 spacind,d3(angstrom)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.76 =d_200 spacind,d1(angstrom)  \n",

+        "1.25 =d_220 spacind,d2(angstrom)  \n",

+        "2.03 =d_111 spacind,d3(angstrom)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 57

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.20:pg-74"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.20 : interplaner spacing d_220\n",

+      "import math \n",

+      "\n",

+      "#given data :\n",

+      "a=0.316;# in nm\n",

+      "h=2;\n",

+      "k=2;\n",

+      "l=0;\n",

+      "d=a/math.sqrt(h**2+k**2+l**2);\n",

+      "print round(d,3),\"= inter planer spacing d_220,d(nm)  \"\n",

+      "# answer is wrong in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.112 = inter planer spacing d_220,d(nm)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 21

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.21:pg-74"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.21: interplanar spacing d220\n",

+      " \n",

+      "import math\n",

+      "a=1;#constant assume\n",

+      "a1=[1,0,0];#lattice planes\n",

+      "a2=[1,1,0];#lattice planes\n",

+      "a3=[1,1,1];#lattice planes\n",

+      "d100=a/(math.sqrt(a1[0]+a1[1]**2+a1[2]**2));#interplanar distance between (100)planes\n",

+      "d110=a/(math.sqrt(a2[0]**2+a2[1]**2+a2[2]**2));#interplanar distance between (110)planes\n",

+      "d111=a/(math.sqrt(a3[0]**2+a3[1]**2+a3[2]**2));#interplanar distance between (111)planes\n",

+      "print \"ratio of interplanar distances is \",d100,\":\",round(d110,2),\":\",round(d111,2)\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "ratio of interplanar distances is  1.0 : 0.71 : 0.58\n"

+       ]

+      }

+     ],

+     "prompt_number": 63

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.22:pg-75"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.22: perpendicular distance\n",

+      "import math \n",

+      "a=1;#constant assume\n",

+      "a1=[1,1,1];#lattice planes\n",

+      "a2=[2,2,2];#lattice planes\n",

+      "d1=a/(math.sqrt(a1[0]**2+a1[1]**2+a1[2]**2));#perpendicular distance between origin and (111)planes\n",

+      "d2=a/(math.sqrt(a2[0]**2+a2[1]**2+a2[2]**2));#perpendicular distance between origin and (222)planes\n",

+      "d22 = d1-d2;#perpendicular distance between the planes (111) and (222)\n",

+      "print round(d22,2),\"= perpendicular distance between the planes (111) and (222)\"\n",

+      "\n",

+      "# a is assumed to be 1\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.29 = perpendicular distance between the planes (111) and (222)\n"

+       ]

+      }

+     ],

+     "prompt_number": 65

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.23:pg-76"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.23: angle between planes (122) and (111)\n",

+      "import math\n",

+      "a=1;# assume\n",

+      "a1=[1,2,2];#lattice planes\n",

+      "a2=[1,1,1];#lattice planes\n",

+      "d1=a/(math.sqrt(a1[0]**2+a1[1]**2+a1[2]**2));#perpendicular distance between origin and (111)planes\n",

+      "d2=a/(math.sqrt(a2[0]**2+a2[1]**2+a2[2]**2));#perpendicular distance between origin and (222)planes\n",

+      "cphi= ((a1[0]*a2[0])+(a1[1]*a2[1])+(a1[2]*a2[2]))*(d1*d2);#\n",

+      "d=math.degrees(math.acos((cphi)));# in degree\n",

+      "d1=math.floor(d);#\n",

+      "d2=d-d1;#\n",

+      "print\"angle between planes (122) and (111) is \",d1,\" degree \",round(60*d2),\" minutes\"\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "angle between planes (122) and (111) is  15.0  degree  48.0  minutes\n"

+       ]

+      }

+     ],

+     "prompt_number": 72

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.24:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.24 : concentration of iron\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "d=7.87;\n",

+      "N=6.023*10**23; # avogadro's number\n",

+      "A=55.85;# atomic weight\n",

+      "I=A/N;# mass of iron atom\n",

+      "atom=d/I;\n",

+      "print round(atom,-20),\"= number of atoms(atoms/cm**3)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "8.49e+22 = number of atoms(atoms/cm**3)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 83

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.25:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.25 : lattice constant\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "n=2;\n",

+      "A=55.8;\n",

+      "N=6.023*10**26; # avogadro's number in /kg-mole\n",

+      "b=7.87*10**3;# in kg/m**3\n",

+      "a=((A*n)/(N*b))**(1/3.0);\n",

+      "print round(a*10**10,3),\"= lattice constant,a(angstrom)\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.866 = lattice constant,a(angstrom)\n"

+       ]

+      }

+     ],

+     "prompt_number": 85

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.26:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.26 : density\n",

+      "import math\n",

+      "#given data :\n",

+      "\n",

+      "n=4;\n",

+      "N=6.023*10**23; # avogadro's number\n",

+      "r=1.278*10**-8;# in cm\n",

+      "A=63.5;\n",

+      "a=(r*4)/math.sqrt(2);# in cm\n",

+      "b=(A*n)/(a**3*N);\n",

+      "print round(b,2),\"= density of copper,b(g/cc) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "8.93 = density of copper,b(g/cc) \n"

+       ]

+      }

+     ],

+     "prompt_number": 87

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.27:pg-77"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.27 : number of atoms\n",

+      " \n",

+      "#given data :\n",

+      "n=4;\n",

+      "N=6.023*10**23; # avogadro's number\n",

+      "A=55.85;\n",

+      "a=2.9*10**-8;\n",

+      "b=7.87;#density in g/cc\n",

+      "#a**3=(A*n)/(N*b)\n",

+      "n=round((a**3*N*b)/A);\n",

+      "print n,\"= number of atoms,n \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.0 = number of atoms,n \n"

+       ]

+      }

+     ],

+     "prompt_number": 88

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.28:pg-78"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.28 : lattice constant\n",

+      " \n",

+      "#given data :\n",

+      "d=6250;#density\n",

+      "N=6.02*10**23;#avogadro's number\n",

+      "n=4;\n",

+      "m=60.2*10**-3;# atomic mass\n",

+      "M=(n*m)/N;\n",

+      "V=M/d;\n",

+      "a=V**(1/3.0)*10**9;\n",

+      "print a,\"= the lattice constant,a(nm) \"\n",

+      "#ANSWER IS WRONG IN THE TEXT BOOK\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.4 = the lattice constant,a(nm) \n"

+       ]

+      }

+     ],

+     "prompt_number": 89

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.29:pg-78"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.29 : the number of atoms\n",

+      " \n",

+      "#given data :\n",

+      "d=7.87;#in g/cm**3\n",

+      "A=55.85;\n",

+      "a=2.9*10**-8;# in cm\n",

+      "N=6.02*10**23;#avogadro's number\n",

+      "n=(d*a**3*N)/A;\n",

+      "print round(n),\"= the number of atom,n \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.0 = the number of atom,n \n"

+       ]

+      }

+     ],

+     "prompt_number": 90

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.30:pg-83"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.30: calculate the number of vacancies in the copper\n",

+      "import math \n",

+      "B=1.38*10**-23;#boltzman constant in J/atom-K\n",

+      "B1=8.62*10**-5;# bolzman constant in ev/atom-K\n",

+      "Qv=0.9;# eV/atom\n",

+      "t=27;# room temperatyre in degree celsius\n",

+      "pcu=8.4;#in g/cm**3\n",

+      "Acv=63.5;# in g/mol\n",

+      "T=t+273;#temperture in kelvin\n",

+      "Nv=6.023*10**23;#\n",

+      "P=8.4;#\n",

+      "Ns=(Nv*P)/Acv;# number of regular lattice sites\n",

+      "Nv1=Ns*math.exp(-Qv/(B1*T));#\n",

+      "print \"{:.1e}\".format(Nv1),\"is number of vacancies in copper in vacancies/cm**3\"\n",

+      "#answer is wrong in the textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "6.1e+07 is number of vacancies in copper in vacancies/cm**3\n"

+       ]

+      }

+     ],

+     "prompt_number": 23

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.31:pg-86"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.31 : interplanar spacing\n",

+      "import math \n",

+      "#given data :\n",

+      "\n",

+      "theta=20.3;#in degree\n",

+      "lamda=1.54;# in angstrum\n",

+      "n=1.0;\n",

+      "a=math.sin(math.radians(theta))\n",

+      "d=lamda/(2*a);\n",

+      "print round(d,2),\"= interplanar spacing,d(angstrom) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.22 = interplanar spacing,d(angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 101

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.32:pg-86"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.32 : interatomic spacing\n",

+      "import math \n",

+      "#given data :\n",

+      "\n",

+      "theta=30;#in degree\n",

+      "lamda=1.54;# in angstrum\n",

+      "n=1;\n",

+      "a=math.sin(math.radians(theta))\n",

+      "d=lamda/(2*a);\n",

+      "print d,\"=interatomic spacing,d(angstrom) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.54 =interatomic spacing,d(angstrom) \n"

+       ]

+      }

+     ],

+     "prompt_number": 102

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.33:pg-87"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 3.33 : number of per order\n",

+      "import math \n",

+      "#given data :\n",

+      "\n",

+      "theta=90;#in degree\n",

+      "lamda=1.54;# in angstrum\n",

+      "a=math.sin(math.radians(theta))\n",

+      "d=1.181;\n",

+      "n=(2*d*a)/lamda;\n",

+      "print round(n,2),\"= number of order,n \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.53 = number of order,n \n"

+       ]

+      }

+     ],

+     "prompt_number": 106

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.34:pg-87"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.34: size of unit cell\n",

+      "import math \n",

+      "n=1.0;#\n",

+      "a=1.0;#assume\n",

+      "h=0.58;#wavelnegth in armstrong\n",

+      "th=9.5;#reflection angle in degree\n",

+      "a1=[2.0,0,0];#miller indices\n",

+      "d200=a/(math.sqrt(a1[0]**2+a1[1]**2+a1[2]**2));#interplanar distance between (200)planes\n",

+      "a=((n*h)/(2*d200*math.sin(math.radians(th))));#zsize of unit cell\n",

+      "print round(a,3),\"= size of unit cell in \u00c4\"\n",

+      "#amswer is wrong in the textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "3.514 = size of unit cell in \u00c4\n"

+       ]

+      }

+     ],

+     "prompt_number": 36

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.35:pg-87"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.35: bragg angle\n",

+      "import math\n",

+      "n=1;#\n",

+      "a=3.57;#in \u00c4\n",

+      "h=0.54;#wavelnegth in \u00c4 \n",

+      "a1=[1,1,1];#miller indices\n",

+      "d111=a/(math.sqrt(a1[0]**2+a1[1]**2+a1[2]**2));#interplanar distance between (111)planes\n",

+      "snd=((n*h)/(2*d111));#\n",

+      "th=math.degrees(math.asin(snd));# bragg angle in degree\n",

+      "d1=math.floor(th);#\n",

+      "d2=th-math.floor(d1);#\n",

+      "print\"angle between planes (122) and (111) is \",d1,\" degree \",round(60*d2),\" minutes\"\n",

+      "#wavelength is given wrong in example it is 0.54\u00c4 and it is taken as 1.54\u00c4\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "angle between planes (122) and (111) is  7.0  degree  32.0  minutes\n"

+       ]

+      }

+     ],

+     "prompt_number": 113

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.36:pg-88"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.36: interplanner spacing and miller indices\n",

+      " \n",

+      "a=3.16;# in \u00c4\n",

+      "h=1.54;# in \u00c4\n",

+      "n=1;#\n",

+      "th=20.3;# in degree\n",

+      "d=((n*h)/(2*math.sin(math.radians(th))));# interplanner spacing in \u00c4\n",

+      "x=a/d;#\n",

+      "y=x**2;#\n",

+      "print round(d,2),\"= interplanner spacing in \u00c4 \"\n",

+      "print \"miller indices are (110) , (011) or (101)\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.22 = interplanner spacing in \u00c4 \n",

+        "miller indices are (110) , (011) or (101)\n"

+       ]

+      }

+     ],

+     "prompt_number": 115

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex3.37:pg-88"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 3.36: interplanner spacing and diffraction angle\n",

+      "import math \n",

+      "a=.2866;# in \u00c4\n",

+      "h=0.1542;# in nm\n",

+      "n=1.0;#\n",

+      "a1=[2.0,1.0,1.0];#miller indices\n",

+      "d211=a/(math.sqrt(a1[0]**2+a1[1]**2+a1[2]**2));#interplanar distance between (211)planes\n",

+      "snd=((n*h)/(2*d211));#\n",

+      "th=math.degrees(math.asin(snd));# bragg angle in degree\n",

+      "d1=math.floor(th);#\n",

+      "d2=th-math.floor(d1);#\n",

+      "print\"angle between planes (122) and (111) is \",d1,\" degree \",round(60*d2),\" minutes\"\n",

+      "print round(d211,2),\"=interplanner spacing in \u00c4 \"\n",

+      "#answer is wrong in the textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "angle between planes (122) and (111) is  41.0  degree  13.0  minutes\n",

+        "0.12 =interplanner spacing in \u00c4 \n"

+       ]

+      }

+     ],

+     "prompt_number": 121

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter05.ipynb b/Materials_Science/Chapter05.ipynb
new file mode 100755
index 00000000..39b44fee
--- /dev/null
+++ b/Materials_Science/Chapter05.ipynb
@@ -0,0 +1,666 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:ef6d9a0d23fffdb9f7c392e83ea5acb91eccb75cc2e53a11277239fd4fc34966"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter05:Electron Theory of Metals"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.1.i:pg-110"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.1.i: probability for diamond\n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "Eg=5.6; # in eV\n",

+      "k=86.2*10**-6; # in eVk**-1\n",

+      "T=273+25.0; # in K\n",

+      "E_Ef=Eg/2;\n",

+      "f_E=1/(1+math.exp(E_Ef/(k*T)));\n",

+      "print f_E,\" is probability for diamond\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.58172567644e-48  is probability for diamond\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.1.ii:pg-110"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.1.ii: probability for silicon\n",

+      " \n",

+      "# given :\n",

+      "Eg=1.07; # in eV\n",

+      "k=86.2*10**-6; # in eVk**-1\n",

+      "T=273+25.0; # in K\n",

+      "E_Ef=Eg/2;\n",

+      "f_E=1/(1+math.exp(E_Ef/(k*T)));\n",

+      "print f_E,\"is probability for diamond \"\n",

+      "# answer is wrong in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "9.01312095705e-10 is probability for diamond \n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.2:pg-119"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.2: resistance\n",

+      " \n",

+      "# given :\n",

+      "l=1; # length in m\n",

+      "A=4*10**-4; # area of cross section in m**2\n",

+      "p=0.01*10**-2; # resistivity in ohm-m\n",

+      "R=p*(l/A);\n",

+      "print R,\"is resistance of wire,R(ohm) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.25 is resistance of wire,R(ohm) \n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.3:pg-120"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.3: resistance\n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "p=1.7*10**-8; #  resistivity i ohm-m\n",

+      "d=0.0005; # diameter of the wire in m\n",

+      "l=31.4; # length in m\n",

+      "A=(math.pi*d**2)/4;\n",

+      "R=p*(l/A);\n",

+      "print round(R,2),\"is resistance of wire,R(ohm) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.72 is resistance of wire,R(ohm) \n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.4:pg-120"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.4: conductivity\n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "V=.432; # voltage drop across the wire in volts\n",

+      "I=10; # current through the wire in A\n",

+      "l=1; # length in m\n",

+      "d=1*10**-3; # diameter in m\n",

+      "R=V/I;\n",

+      "A=(math.pi*d**2)/4;\n",

+      "p=(R*A)/l;\n",

+      "b=1/p;\n",

+      "print round(b,2),\" is conductivitty,b(ohm**-1.m**-1) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "29473137.61  is conductivitty,b(ohm**-1.m**-1) \n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.5:pg-124"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.5: drift velocity\n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "n=10**19; # in m**3\n",

+      "b=0.01; # conductivity in ohm**-1. m**-1\n",

+      "V=0.17; # in volts\n",

+      "d=.27*10**-3; # in m\n",

+      "e=1.602*10**-19; # in C\n",

+      "m=9.1*10**-31; # in kg\n",

+      "E=V/d; # in volt/m\n",

+      "v=((b*E)/(n*e));\n",

+      "print round(v,2),\"is drift velocity of electron,v (m/sec) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "3.93 is drift velocity of electron,v (m/sec) \n"

+       ]

+      }

+     ],

+     "prompt_number": 20

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.6:pg-124"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.6: conductivity\n",

+      " \n",

+      "# given :\n",

+      "e=1.6*10**-19; # in C\n",

+      "T=300; # temerature in K\n",

+      "t=2*10**-14; # time in sec\n",

+      "c=63.54; # atomic weight of copper in a.m.u\n",

+      "m=9.1*10**-31; # mass in kg\n",

+      "# we know that 63.45 grams of copper contains 6.023*10**23 free electrons since one atom contributes one electron.the volume of 63.54 gram of copper is 8.9 cubic centimetre(c.c).\n",

+      "n=6.023*10**23/(c/8.9); #number of electrons per unit volume(c.c)\n",

+      "n1=n*10**6; # the number of electrons per m**3\n",

+      "b=(e**2*n1*t)/m;\n",

+      "print round(b,2),\"is conductivity,b(mho/m) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "47466174.12 is conductivity,b(mho/m) \n"

+       ]

+      }

+     ],

+     "prompt_number": 22

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.7:pg-125"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.7: mobility of electrons\n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "e=1.602*10**-19; # in C\n",

+      "m=9.1*10**-31; # in kg\n",

+      "t=10**-14; # time in sec\n",

+      "mu=(e*t)/m;\n",

+      "print mu,\"is mobility of electrons,mu(m**2/volts.sec) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.00176043956044 is mobility of electrons,mu(m**2/volts.sec) \n"

+       ]

+      }

+     ],

+     "prompt_number": 25

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.8:pg-125"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.8: mobility \n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "d=10.5; # density of silver in gm/c.c\n",

+      "w=107.9; # atomic weight\n",

+      "b=6.8*10**5; # conductivity in mhos/cm\n",

+      "e=1.602*10**-19; # in C\n",

+      "N=6.023*10**23;\n",

+      "n=(N*d)/w;\n",

+      "mu=b/(e*n);\n",

+      "print round(mu,2),\"is mobility of electron,mu(m**2/volt-sec) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "72.42 is mobility of electron,mu(m**2/volt-sec) \n"

+       ]

+      }

+     ],

+     "prompt_number": 27

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.9:pg-126"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.9: mobility and drift velocity\n",

+      " \n",

+      "# given :\n",

+      "b=6.5*10**7; # conductivity in ohm**-1.m**-1\n",

+      "e=1.602*10**-19; # in C\n",

+      "n=6*10**23; #\n",

+      "E=1; # in V/m\n",

+      "mu=b/(e*n);\n",

+      "v=mu*E;\n",

+      "print round(mu,2),\"is mobility ,mu(m**2/volt-sec) \"\n",

+      "print round(v,2),\"is drift velocity,v(m/sec) \"\n",

+      "# mobility and drift is calculated wrong in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "676.24 is mobility ,mu(m**2/volt-sec) \n",

+        "676.24 is drift velocity,v(m/sec) \n"

+       ]

+      }

+     ],

+     "prompt_number": 29

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.10:pg-126"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.10 : density and drift velocity \n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "e=1.602 *10**-19;\n",

+      "b=58*10**6;# in ohm**-1 m**-1\n",

+      "mu_n=3.5*10**-3;# in m**2/V s\n",

+      "E=0.5; # in V/m\n",

+      "n=b/(e*mu_n);\n",

+      "print n,\"is density,n(m**-3) \"\n",

+      "v=mu_n*E;\n",

+      "print v,\"is drift velocity,v(m/s) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.03442125914e+29 is density,n(m**-3) \n",

+        "0.00175 is drift velocity,v(m/s) \n"

+       ]

+      }

+     ],

+     "prompt_number": 30

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.11:pg-127"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.11 : velocity\n",

+      "import math\n",

+      "#given data :\n",

+      "m=9.109*10**-31; # in kg\n",

+      "e=1.602 *10**-19;\n",

+      "Ef=2.1# in ev\n",

+      "Wf=e*Ef;# in J\n",

+      "vf=math.sqrt((2*Wf)/m);\n",

+      "print vf,\"is velocity,vf(m/s) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "859449.869617 is velocity,vf(m/s) \n"

+       ]

+      }

+     ],

+     "prompt_number": 34

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.12.a:pg-127"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.12.a : velocity\n",

+      " \n",

+      "#given data :\n",

+      "m=9.1*10**-31; # in kg\n",

+      "e=1.602 *10**-19;\n",

+      "Ef=3.75;# in ev\n",

+      "Wf=(e*Ef);# in J\n",

+      "vf=math.sqrt(((2*Wf)/m));\n",

+      "print vf,\" is velocity,vf(m/s) \"\n",

+      "# answer is wrong in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1149055.99095  is velocity,vf(m/s) \n"

+       ]

+      }

+     ],

+     "prompt_number": 35

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.12.b:pg-127"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 5.12.b : mobility of electron\n",

+      " \n",

+      "#given data :\n",

+      "m=9.1*10**-31; # in kg\n",

+      "e=1.602 *10**-19;\n",

+      "Ef=3.75;# in ev\n",

+      "t=10**-14;# in sec\n",

+      "mu=(e*t)/m;\n",

+      "print mu,\"is mobility,mu(m**2/V-sec) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.00176043956044 is mobility,mu(m**2/V-sec) \n"

+       ]

+      }

+     ],

+     "prompt_number": 37

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.13:pg-127"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.13 : the mean free path\n",

+      "import math\n",

+      "#given data :\n",

+      "\n",

+      "t=10**-9; # in sec\n",

+      "m=9.109*10**-31; # in kg\n",

+      "e=1.602 *10**-19;\n",

+      "Ef=7# in ev\n",

+      "Wf=e*Ef;# in J\n",

+      "vf=math.sqrt((2*Wf)/m);\n",

+      "lamda=vf*t*10**3;\n",

+      "print round(lamda,2),\"is the mean free path,lamda(mm) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.57 is the mean free path,lamda(mm) \n"

+       ]

+      }

+     ],

+     "prompt_number": 39

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.14:pg-128"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.14 : mobility and average time\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "m=9.109*10**-31; # in kg\n",

+      "e=1.602 *10**-19;\n",

+      "d=8.92*10**3;# in kg/m**3\n",

+      "p=1.73*10**-8;# ohm-m\n",

+      "A=63.5;#atomic weight\n",

+      "N=6.023*10**22; # avogadro's number\n",

+      "n=(N*d)/A;\n",

+      "b=1/p;# conductivity\n",

+      "mu=b/(n*e);\n",

+      "print round(mu,1),\"= mobility,mu(m**2/V-s)  \"\n",

+      "t=(mu*m)/e;\n",

+      "print round(t*10**9,3),\"= average time,t(ns)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "42.6 = mobility,mu(m**2/V-s)  \n",

+        "0.242 = average time,t(ns)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 42

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.15:pg-129"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.15 : electrical resistivity\n",

+      "import math\n",

+      "#given data :\n",

+      "\n",

+      "r=1.86*10**-10;# in m\n",

+      "t=3*10**-14;# in sec\n",

+      "a=2;\n",

+      "m=9.1*10**-31; # in kg\n",

+      "e=1.602 *10**-9;\n",

+      "A=23*10**-3;#in kg/m\n",

+      "N=6.023*10**23; # avogadro's number\n",

+      "M=(a*A)/N;\n",

+      "V=((4/math.sqrt(3))*r)**3;\n",

+      "d=M/V;\n",

+      "mu=((e*t)/m);\n",

+      "n=(N*d)/A;\n",

+      "b=1.602 *10**-19*n*mu;\n",

+      "p=(1/b);\n",

+      "print p,\"= resistivity,p(ohm-m) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.68383991207e-18 = resistivity,p(ohm-m) \n"

+       ]

+      }

+     ],

+     "prompt_number": 43

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter05_1.ipynb b/Materials_Science/Chapter05_1.ipynb
new file mode 100755
index 00000000..9fc4b13d
--- /dev/null
+++ b/Materials_Science/Chapter05_1.ipynb
@@ -0,0 +1,666 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:859e62ff55be1adb7e0ffa3b9bad3364efebc199777a4f4b53bff54dedf01e6c"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter05:Electron Theory of Metals"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.1.i:pg-110"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.1.i: probability for diamond\n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "Eg=5.6; # in eV\n",

+      "k=86.2*10**-6; # in eVk**-1\n",

+      "T=273+25.0; # in K\n",

+      "E_Ef=Eg/2;\n",

+      "f_E=1/(1+math.exp(E_Ef/(k*T)));\n",

+      "print \"{:.2e}\".format(f_E),\" is probability for diamond\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.58e-48  is probability for diamond\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.1.ii:pg-110"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.1.ii: probability for silicon\n",

+      " \n",

+      "# given :\n",

+      "Eg=1.07; # in eV\n",

+      "k=86.2*10**-6; # in eVk**-1\n",

+      "T=273+25.0; # in K\n",

+      "E_Ef=Eg/2;\n",

+      "f_E=1/(1+math.exp(E_Ef/(k*T)));\n",

+      "print \"{:.2e}\".format(f_E),\"is probability for diamond \"\n",

+      "# answer is wrong in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "9.01e-10 is probability for diamond \n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.2:pg-119"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.2: resistance\n",

+      " \n",

+      "# given :\n",

+      "l=1; # length in m\n",

+      "A=4*10**-4; # area of cross section in m**2\n",

+      "p=0.01*10**-2; # resistivity in ohm-m\n",

+      "R=p*(l/A);\n",

+      "print R,\"is resistance of wire,R(ohm) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.25 is resistance of wire,R(ohm) \n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.3:pg-120"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.3: resistance\n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "p=1.7*10**-8; #  resistivity i ohm-m\n",

+      "d=0.0005; # diameter of the wire in m\n",

+      "l=31.4; # length in m\n",

+      "A=(math.pi*d**2)/4;\n",

+      "R=p*(l/A);\n",

+      "print round(R,2),\"is resistance of wire,R(ohm) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.72 is resistance of wire,R(ohm) \n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.4:pg-120"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.4: conductivity\n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "V=.432; # voltage drop across the wire in volts\n",

+      "I=10; # current through the wire in A\n",

+      "l=1; # length in m\n",

+      "d=1*10**-3; # diameter in m\n",

+      "R=V/I;\n",

+      "A=(math.pi*d**2)/4;\n",

+      "p=(R*A)/l;\n",

+      "b=1/p;\n",

+      "print \"{:.2e}\".format(b),\" is conductivitty,b(ohm**-1.m**-1) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.95e+07  is conductivitty,b(ohm**-1.m**-1) \n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.5:pg-124"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.5: drift velocity\n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "n=10**19; # in m**3\n",

+      "b=0.01; # conductivity in ohm**-1. m**-1\n",

+      "V=0.17; # in volts\n",

+      "d=.27*10**-3; # in m\n",

+      "e=1.602*10**-19; # in C\n",

+      "m=9.1*10**-31; # in kg\n",

+      "E=V/d; # in volt/m\n",

+      "v=((b*E)/(n*e));\n",

+      "print round(v,2),\"is drift velocity of electron,v (m/sec) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "3.93 is drift velocity of electron,v (m/sec) \n"

+       ]

+      }

+     ],

+     "prompt_number": 20

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.6:pg-124"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.6: conductivity\n",

+      " \n",

+      "# given :\n",

+      "e=1.6*10**-19; # in C\n",

+      "T=300; # temerature in K\n",

+      "t=2*10**-14; # time in sec\n",

+      "c=63.54; # atomic weight of copper in a.m.u\n",

+      "m=9.1*10**-31; # mass in kg\n",

+      "# we know that 63.45 grams of copper contains 6.023*10**23 free electrons since one atom contributes one electron.the volume of 63.54 gram of copper is 8.9 cubic centimetre(c.c).\n",

+      "n=6.023*10**23/(c/8.9); #number of electrons per unit volume(c.c)\n",

+      "n1=n*10**6; # the number of electrons per m**3\n",

+      "b=(e**2*n1*t)/m;\n",

+      "print \"{:.2e}\".format(b),\"is conductivity,b(mho/m) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.75e+07 is conductivity,b(mho/m) \n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.7:pg-125"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.7: mobility of electrons\n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "e=1.602*10**-19; # in C\n",

+      "m=9.1*10**-31; # in kg\n",

+      "t=10**-14; # time in sec\n",

+      "mu=(e*t)/m;\n",

+      "print \"{:.2e}\".format(mu),\"is mobility of electrons,mu(m**2/volts.sec) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.76e-03 is mobility of electrons,mu(m**2/volts.sec) \n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.8:pg-125"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.8: mobility \n",

+      " \n",

+      "# given :\n",

+      "\n",

+      "d=10.5; # density of silver in gm/c.c\n",

+      "w=107.9; # atomic weight\n",

+      "b=6.8*10**5; # conductivity in mhos/cm\n",

+      "e=1.602*10**-19; # in C\n",

+      "N=6.023*10**23;\n",

+      "n=(N*d)/w;\n",

+      "mu=b/(e*n);\n",

+      "print round(mu,2),\"is mobility of electron,mu(m**2/volt-sec) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "72.42 is mobility of electron,mu(m**2/volt-sec) \n"

+       ]

+      }

+     ],

+     "prompt_number": 27

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.9:pg-126"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 5.9: mobility and drift velocity\n",

+      " \n",

+      "# given :\n",

+      "b=6.5*10**7; # conductivity in ohm**-1.m**-1\n",

+      "e=1.602*10**-19; # in C\n",

+      "n=6*10**23; #\n",

+      "E=1; # in V/m\n",

+      "mu=b/(e*n);\n",

+      "v=mu*E;\n",

+      "print \"{:.2e}\".format(mu),\"is mobility ,mu(m**2/volt-sec) \"\n",

+      "print \"{:.2e}\".format(v),\"is drift velocity,v(m/sec) \"\n",

+      "# mobility and drift is calculated wrong in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "6.76e+02 is mobility ,mu(m**2/volt-sec) \n",

+        "6.76e+02 is drift velocity,v(m/sec) \n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.10:pg-126"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.10 : density and drift velocity \n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "e=1.602 *10**-19;\n",

+      "b=58*10**6;# in ohm**-1 m**-1\n",

+      "mu_n=3.5*10**-3;# in m**2/V s\n",

+      "E=0.5; # in V/m\n",

+      "n=b/(e*mu_n)\n",

+      "print \"{:.2e}\".format(n),\"is density,n(m**-3) \"\n",

+      "v=mu_n*E;\n",

+      "print \"{:.2e}\".format(v),\"is drift velocity,v(m/s) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.03e+29 is density,n(m**-3) \n",

+        "1.75e-03 is drift velocity,v(m/s) \n"

+       ]

+      }

+     ],

+     "prompt_number": 24

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.11:pg-127"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.11 : velocity\n",

+      "import math\n",

+      "#given data :\n",

+      "m=9.109*10**-31; # in kg\n",

+      "e=1.602 *10**-19;\n",

+      "Ef=2.1# in ev\n",

+      "Wf=e*Ef;# in J\n",

+      "vf=math.sqrt((2*Wf)/m);\n",

+      "print \"{:.1e}\".format(vf),\"is velocity,vf(m/s) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "8.6e+05 is velocity,vf(m/s) \n"

+       ]

+      }

+     ],

+     "prompt_number": 26

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.12.a:pg-127"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.12.a : velocity\n",

+      " \n",

+      "#given data :\n",

+      "m=9.1*10**-31; # in kg\n",

+      "e=1.602 *10**-19;\n",

+      "Ef=3.75;# in ev\n",

+      "Wf=(e*Ef);# in J\n",

+      "vf=math.sqrt(((2*Wf)/m));\n",

+      "print \"{:.2e}\".format(vf),\" is velocity,vf(m/s) \"\n",

+      "# answer is wrong in book\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.15e+06  is velocity,vf(m/s) \n"

+       ]

+      }

+     ],

+     "prompt_number": 27

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.12.b:pg-127"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 5.12.b : mobility of electron\n",

+      " \n",

+      "#given data :\n",

+      "m=9.1*10**-31; # in kg\n",

+      "e=1.602 *10**-19;\n",

+      "Ef=3.75;# in ev\n",

+      "t=10**-14;# in sec\n",

+      "mu=(e*t)/m;\n",

+      "print \"{:.2e}\".format(mu),\"is mobility,mu(m**2/V-sec) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.76e-03 is mobility,mu(m**2/V-sec) \n"

+       ]

+      }

+     ],

+     "prompt_number": 28

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.13:pg-127"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.13 : the mean free path\n",

+      "import math\n",

+      "#given data :\n",

+      "\n",

+      "t=10**-9; # in sec\n",

+      "m=9.109*10**-31; # in kg\n",

+      "e=1.602 *10**-19;\n",

+      "Ef=7# in ev\n",

+      "Wf=e*Ef;# in J\n",

+      "vf=math.sqrt((2*Wf)/m);\n",

+      "lamda=vf*t*10**3;\n",

+      "print round(lamda,2),\"is the mean free path,lamda(mm) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.57 is the mean free path,lamda(mm) \n"

+       ]

+      }

+     ],

+     "prompt_number": 39

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.14:pg-128"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.14 : mobility and average time\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "m=9.109*10**-31; # in kg\n",

+      "e=1.602 *10**-19;\n",

+      "d=8.92*10**3;# in kg/m**3\n",

+      "p=1.73*10**-8;# ohm-m\n",

+      "A=63.5;#atomic weight\n",

+      "N=6.023*10**22; # avogadro's number\n",

+      "n=(N*d)/A;\n",

+      "b=1/p;# conductivity\n",

+      "mu=b/(n*e);\n",

+      "print round(mu,1),\"= mobility,mu(m**2/V-s)  \"\n",

+      "t=(mu*m)/e;\n",

+      "print round(t*10**9,3),\"= average time,t(ns)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "42.6 = mobility,mu(m**2/V-s)  \n",

+        "0.242 = average time,t(ns)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 42

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex5.15:pg-129"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 5.15 : electrical resistivity\n",

+      "import math\n",

+      "#given data :\n",

+      "\n",

+      "r=1.86*10**-10;# in m\n",

+      "t=3*10**-14;# in sec\n",

+      "a=2;\n",

+      "m=9.1*10**-31; # in kg\n",

+      "e=1.602 *10**-9;\n",

+      "A=23*10**-3;#in kg/m\n",

+      "N=6.023*10**23; # avogadro's number\n",

+      "M=(a*A)/N;\n",

+      "V=((4/math.sqrt(3))*r)**3;\n",

+      "d=M/V;\n",

+      "mu=((e*t)/m);\n",

+      "n=(N*d)/A;\n",

+      "b=1.602 *10**-19*n*mu;\n",

+      "p=(1/b);\n",

+      "print \"{:.1e}\".format(p),\"= resistivity,p(ohm-m) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.7e-18 = resistivity,p(ohm-m) \n"

+       ]

+      }

+     ],

+     "prompt_number": 30

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter07.ipynb b/Materials_Science/Chapter07.ipynb
new file mode 100755
index 00000000..82a2c634
--- /dev/null
+++ b/Materials_Science/Chapter07.ipynb
@@ -0,0 +1,724 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:c09a61f5f13016fbda07546fd7ab3e30960d55a34ee491901311869fc5da9a32"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter07:Mechanical Tests of Metals"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.1:pg-146"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 7.1 : shear modulus of the material\n",

+      " \n",

+      "#given data :\n",

+      "E=210  # youngs's modulus in GN/m**2\n",

+      "v=0.3  # poisson ratio\n",

+      "G=E/(2*(1+v)) # shear modulus\n",

+      "\n",

+      "print \"shear modulus,G(GN/m**2) = \",round(G,2)\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "shear modulus,G(GN/m**2) =  80.77\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.2:pg-152"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 7.2 : young's modulus of elasticity,yield point stress, ultimate stress and percentage elongation\n",

+      " \n",

+      "#given data :\n",

+      "d=40.0*10**-3 #in m\n",

+      "W=40.0*10**3 # load in N\n",

+      "del_l=3.04*10**-5 # in m\n",

+      "L=200.0*10**-3 # in m\n",

+      "load_max=242.0*10**3 #in N\n",

+      "l=249*10.0**-3 # length of specimen in m\n",

+      "l0=(d+L)  # in m\n",

+      "A=(math.pi*d**2)/4.0\n",

+      "\n",

+      "b=W/A\n",

+      "\n",

+      "epsilon=del_l/L\n",

+      "\n",

+      "E=(b/epsilon)\n",

+      "\n",

+      "print\"young modulus,E(N/m**2) = \",E\n",

+      "\n",

+      "Y_load=161*10**3\n",

+      "\n",

+      "Y_stress=Y_load/A\n",

+      "\n",

+      "print \"yield point stress,Y_stress(N/m**2) =  \",Y_stress\n",

+      "\n",

+      "U_stress=load_max/A\n",

+      "\n",

+      "print \"ultimate stress,U_stress(N/m**2) = \",U_stress\n",

+      "\n",

+      "p_elongation=((l-l0)/l0)*100\n",

+      "\n",

+      "print \"percentage elongation,p_elongation(%) = \",p_elongation\n",

+      "#percentage elongation is calculated wrong in textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "young modulus,E(N/m**2) =  2.09414398805e+11\n",

+        "yield point stress,Y_stress(N/m**2) =   128119729.189\n",

+        "ultimate stress,U_stress(N/m**2) =  192577481.141\n",

+        "percentage elongation,p_elongation(%) =  3.75\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.a:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.a: yield point stress\n",

+      " \n",

+      "\n",

+      "yl=40.0 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2)/4.0 # in meter square\n",

+      "ylp=((yl*10.0**3)/(A)) #yeild point stress in N/m**2\n",

+      "print \"yeild point stress in N/m**2 is \",ylp \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "yeild point stress in N/m**2 is  325949323.452\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.b:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.b: ultimate tensile strength\n",

+      " \n",

+      "yl=40.0 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2)/4.0 # in meter square\n",

+      "ylp=((yl*10.0**3)/(A)) #yeild point stress in N/m**2\n",

+      "uts=((ml*10.0**3)/(A)) #ultimate tensile strangth in N/m**2\n",

+      "print uts,\"is ultimate tensile strangth in N/m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "582634415.671 is ultimate tensile strangth in N/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.c:pg153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.c: percentage elongation\n",

+      " \n",

+      "yl=40 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "a=(math.pi*d*10**-3)**2/4 # in meter square\n",

+      "pel=((glf-sl)/sl)*100 #percentage elongation\n",

+      "print pel,\"% is percentage elongation\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "27.2 % is percentage elongation\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.d:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.d:modulus of elasticity\n",

+      "import math\n",

+      "yl=40 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2)/4.0 # in meter square\n",

+      "ylp=((yl*10**3)/(A)) #yeild point stress in N/m**2\n",

+      "uts=((ml*10**3)/(A)) #ultimate tensile strangth in N/m**2\n",

+      "pel=((glf-sl)/sl)*100 #percentage elongation\n",

+      "strss=((20*10**3)/A) #stress at 20kN in N/m**2\n",

+      "mel=strss/st #modulus of elasticity in N/m**2\n",

+      "print round(mel,2),\"is modulus of elasticity in N/m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.10289886098e+11 is modulus of elasticity in N/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.e:pg153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.e: yield point stress\n",

+      "import math\n",

+      "yl=40.0 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4.0  #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2)/4.0  # in meter square\n",

+      "ylp=((yl*10**3)/(A)) #yeild point stress in N/m**2\n",

+      "uts=((ml*10**3)/(A)) #ultimate tensile strangth in N/m**2\n",

+      "pel=((glf-sl)/sl)*100 #percentage elongation\n",

+      "strss=((20*10**3)/A) #stress at 20kN in N/m**2\n",

+      "mel=strss/st #modulus of elasticity in N/m**2\n",

+      "mrs=((ylp*10**-3)**2/(2*mel)) #modulus of resilience \n",

+      "print mrs,\" is modulus of resilience\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.252610725675  is modulus of resilience\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.f:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.f: fracture stress\n",

+      " \n",

+      "yl=40 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5#specimen diamter in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2.0)/4 # in meter square\n",

+      "ylp=((yl*10**3)/(A)) #yeild point stress in N/m**2\n",

+      "uts=((ml*10**3)/(A)) #ultimate tensile strangth in N/m**2\n",

+      "pel=((glf-sl)/sl)*100 #percentage elongation\n",

+      "strss=((20*10.0**3)/A) #stress at 20kN in N/m**2\n",

+      "mel=strss/st #modulus of elasticity in N/m**2\n",

+      "mrs=((ylp*10**-3)**2.0/(2*mel)) #modulus of resilience \n",

+      "fs=((fl*10.0**3)/(A)) #fracture stress in N/m**2\n",

+      "print fs,\"is fracture stress in N/m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "411511020.858 is fracture stress in N/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.g:pg153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "# Example 7.3.g: modulus of toughness\n",

+      " \n",

+      "yl=40.0 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2)/4 # in meter square\n",

+      "ylp=((yl*10**3)/(A)) #yeild point stress in N/m**2\n",

+      "uts=((ml*10**3)/(A)) #ultimate tensile strangth in N/m**2\n",

+      "pel=((glf-sl)/sl)*100 #percentage elongation\n",

+      "strss=((20*10**3)/A) #stress at 20kN in N/m**2\n",

+      "mel=strss/st #modulus of elasticity in N/m**2\n",

+      "mrs=((ylp*10**-3)**2/(2*mel)) #modulus of resilience \n",

+      "fs=((fl*10**3)/(A)) #fracture stress in N/m**2\n",

+      "mth=((ylp+uts)*(pel/100))/2 #modulus of toughness in N/m**2\n",

+      "print mth,\" is modulus of toughness in N/m**2\"\n",

+      "#percentage reduction in area is not calulated in the textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "123567388.521  is modulus of toughness in N/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.4:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 7.4 : true breaking stress and nominal breaking stress \n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "d1=12.7; # in mm\n",

+      "B_load=14;# in K-N\n",

+      "A1=(math.pi*d1**2)/4;# original cross section area\n",

+      "d2=7.87; # in mm\n",

+      "A2=(math.pi*d2**2)/4;# final cross sction area\n",

+      "T_stress=B_load/A2;\n",

+      "print T_stress*1000,\" is true breaking stress,T_stress in (N/mm**2) \"\n",

+      "N_stress=B_load/A1;\n",

+      "print N_stress*1000,\" is nominal breaking stress,N_stress in (N/mm**2) \"\n",

+      "#true breaking stress unit is wrong in the textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "287.798608363  is true breaking stress,T_stress in (N/mm**2) \n",

+        "110.517413518  is nominal breaking stress,N_stress in (N/mm**2) \n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5.a:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.5.a: yield point stress\n",

+      " \n",

+      "\n",

+      "yl=34.0;#yeild load in kN\n",

+      "ul=61.0;#ultimate load in kN\n",

+      "fl=78.0;#final length in mm\n",

+      "glf=60.0;#gauge length of fratture in mm\n",

+      "fd=7.0;#final diamtere in mm\n",

+      "d=12.0;#specimen diamtere in mm\n",

+      "sl=62.5;#specimen length in mm\n",

+      "A=(math.pi*(d)**2)/4;# in meter square\n",

+      "ylp=((yl*10**3)/(A));# yeild point stress in N/mm**2\n",

+      "print floor(ylp),\" is yeild point stress in N/mm**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "300.0  is yeild point stress in N/mm**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5.b:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.5.b: ultimate tensile stress\n",

+      " \n",

+      "\n",

+      "yl=34.0;#yeild load in kN\n",

+      "ul=61.0;#ultimate load in kN\n",

+      "fl=78.0;#final length in mm\n",

+      "glf=60.0;#gauge length of fratture in mm\n",

+      "fd=7.0;#final diamtere in mm\n",

+      "d=12.0;#specimen diamtere in mm\n",

+      "sl=62.5;#specimen length in mm\n",

+      "A=(math.pi*(d)**2)/4;# in meter square\n",

+      "uts=((ul*10**3)/(A));#ultimate tensile strangth in N/mm**2\n",

+      "print uts,\" is ultimate tensile strangth in N/mm**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "539.358418256  is ultimate tensile strangth in N/mm**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 19

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5.c:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.5.c: percentage reduction\n",

+      " \n",

+      "    \n",

+      "yl=34;#yeild load in kN\n",

+      "ul=61;#ultimate load in kN\n",

+      "fl=78;#final length in mm\n",

+      "glf=60;#gauge length of fratture in mm\n",

+      "fd=7;#final diamtere in mm\n",

+      "d=12;#specimen diamtere in mm\n",

+      "sl=62.5;#specimen length in mm\n",

+      "A=(math.pi*(d)**2)/4;# in mm square\n",

+      "A1=(math.pi*(fd)**2)/4;# in mm square\n",

+      "pr=(A-A1)/A;# reduction\n",

+      "print round(pr*100,2),\"% is percentage reduction\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "65.97 % is percentage reduction\n"

+       ]

+      }

+     ],

+     "prompt_number": 21

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5.d:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.5.d: percentage elonagtion\n",

+      " \n",

+      "\n",

+      "yl=34.0;#yeild load in kN\n",

+      "ul=61.0;#ultimate load in kN\n",

+      "fl=78.0;#final length in mm\n",

+      "glf=60.0;#gauge length of fratture in mm\n",

+      "fd=7.0;#final diamtere in mm\n",

+      "d=12.0;#specimen diamtere in mm\n",

+      "sl=62.5;#specimen length in mm\n",

+      "A=(math.pi*(d)**2)/4;# in mm square\n",

+      "A1=(math.pi*(fd)**2)/4;# in mm square\n",

+      "pr=(fl-glf)/glf;# elongation\n",

+      "print round(pr*100,2),\"% is percentage elongtion \"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "30.0 % is percentage elongtion \n"

+       ]

+      }

+     ],

+     "prompt_number": 24

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.6:pg-156"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 7.6 : strain \n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "b=44.5*10**3;#force\n",

+      "E=1.1*10**5;# in N/mm**2\n",

+      "A=15.2*19.1# in mm**2\n",

+      "epsilon=b/(A*E);\n",

+      "print \"strain,epsilon (mm) = \",epsilon"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "strain,epsilon (mm) =  0.00139344672963\n"

+       ]

+      }

+     ],

+     "prompt_number": 25

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.7:pg-156"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 7.7 :stress and strain \n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "sigma=450;#in MPa\n",

+      "epsilon=0.63;\n",

+      "sigma_t=sigma*(1+epsilon);\n",

+      "print \"true stress,sigma_t(MPa) = \",sigma_t\n",

+      "epsilon_t=math.log(1+epsilon);\n",

+      "print \"true strain,epsilon_t(MPa) = \",epsilon_t\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "true stress,sigma_t(MPa) =  733.5\n",

+        "true strain,epsilon_t(MPa) =  0.488580014819\n"

+       ]

+      }

+     ],

+     "prompt_number": 27

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.8:pg-157"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.8: which part has a greater stress\n",

+      " \n",

+      "l=24.0;#length in mm\n",

+      "b=30;#breadth in mm\n",

+      "ld=7000;#load in kg\n",

+      "sd=10;#steel bar diamtere in mm\n",

+      "sl=5000.0;#load in kg\n",

+      "al=ld/(l*b);#stress on aluminium bar in kg/mm**2\n",

+      "a=((math.pi*sd**2)/4.0);#area in mm**2\n",

+      "slb=sl/a;#stress on steel bar in kg/mm**2\n",

+      "print\"stress on aluminium bar is \",round(al,2),\" kg/mm**2 is less than stress on steel bar \",round(slb,2),\" kg/mm**2 \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "stress on aluminium bar is  9.72  kg/mm**2 is less than stress on steel bar  63.66  kg/mm**2 \n"

+       ]

+      }

+     ],

+     "prompt_number": 29

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter07_1.ipynb b/Materials_Science/Chapter07_1.ipynb
new file mode 100755
index 00000000..f2f4b357
--- /dev/null
+++ b/Materials_Science/Chapter07_1.ipynb
@@ -0,0 +1,724 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:b247ec2e1379385ed0f35ffe97eee5f72043d6e428051be379a0d7ae0011dd3e"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter07:Mechanical Tests of Metals"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.1:pg-146"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 7.1 : shear modulus of the material\n",

+      " \n",

+      "#given data :\n",

+      "E=210  # youngs's modulus in GN/m**2\n",

+      "v=0.3  # poisson ratio\n",

+      "G=E/(2*(1+v)) # shear modulus\n",

+      "\n",

+      "print \"shear modulus,G(GN/m**2) = \",round(G,2)\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "shear modulus,G(GN/m**2) =  80.77\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.2:pg-152"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 7.2 : young's modulus of elasticity,yield point stress, ultimate stress and percentage elongation\n",

+      " \n",

+      "#given data :\n",

+      "d=40.0*10**-3 #in m\n",

+      "W=40.0*10**3 # load in N\n",

+      "del_l=3.04*10**-5 # in m\n",

+      "L=200.0*10**-3 # in m\n",

+      "load_max=242.0*10**3 #in N\n",

+      "l=249*10.0**-3 # length of specimen in m\n",

+      "l0=(d+L)  # in m\n",

+      "A=(math.pi*d**2)/4.0\n",

+      "\n",

+      "b=W/A\n",

+      "\n",

+      "epsilon=del_l/L\n",

+      "\n",

+      "E=(b/epsilon)\n",

+      "\n",

+      "print\"young modulus,E(N/m**2) = \",\"{:.2e}\".format(E)\n",

+      "\n",

+      "Y_load=161*10**3\n",

+      "\n",

+      "Y_stress=Y_load/A\n",

+      "\n",

+      "print \"yield point stress,Y_stress(N/m**2) =  \",\"{:.2e}\".format(Y_stress)\n",

+      "\n",

+      "U_stress=load_max/A\n",

+      "\n",

+      "print \"ultimate stress,U_stress(N/m**2) = \",\"{:.2e}\".format(U_stress)\n",

+      "\n",

+      "p_elongation=((l-l0)/l0)*100\n",

+      "\n",

+      "print \"percentage elongation,p_elongation(%) = \",p_elongation\n",

+      "#percentage elongation is calculated wrong in textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "young modulus,E(N/m**2) =  2.09e+11\n",

+        "yield point stress,Y_stress(N/m**2) =   1.28e+08\n",

+        "ultimate stress,U_stress(N/m**2) =  1.93e+08\n",

+        "percentage elongation,p_elongation(%) =  3.75\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.a:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.a: yield point stress\n",

+      " \n",

+      "\n",

+      "yl=40.0 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2)/4.0 # in meter square\n",

+      "ylp=((yl*10.0**3)/(A)) #yeild point stress in N/m**2\n",

+      "print \"yeild point stress in N/m**2 is \",\"{:.2e}\".format(ylp) \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "yeild point stress in N/m**2 is  3.26e+08\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.b:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.b: ultimate tensile strength\n",

+      " \n",

+      "yl=40.0 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2)/4.0 # in meter square\n",

+      "ylp=((yl*10.0**3)/(A)) #yeild point stress in N/m**2\n",

+      "uts=((ml*10.0**3)/(A)) #ultimate tensile strangth in N/m**2\n",

+      "print \"{:.2e}\".format(uts),\"is ultimate tensile strangth in N/m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "5.83e+08 is ultimate tensile strangth in N/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.c:pg153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.c: percentage elongation\n",

+      " \n",

+      "yl=40 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "a=(math.pi*d*10**-3)**2/4 # in meter square\n",

+      "pel=((glf-sl)/sl)*100 #percentage elongation\n",

+      "print pel,\"% is percentage elongation\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "27.2 % is percentage elongation\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.d:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.d:modulus of elasticity\n",

+      "import math\n",

+      "yl=40 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2)/4.0 # in meter square\n",

+      "ylp=((yl*10**3)/(A)) #yeild point stress in N/m**2\n",

+      "uts=((ml*10**3)/(A)) #ultimate tensile strangth in N/m**2\n",

+      "pel=((glf-sl)/sl)*100 #percentage elongation\n",

+      "strss=((20*10**3)/A) #stress at 20kN in N/m**2\n",

+      "mel=strss/st #modulus of elasticity in N/m**2\n",

+      "print \"{:.2e}\".format(mel),\"is modulus of elasticity in N/m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2.10e+11 is modulus of elasticity in N/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.e:pg153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.e: yield point stress\n",

+      "import math\n",

+      "yl=40.0 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4.0  #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2)/4.0  # in meter square\n",

+      "ylp=((yl*10**3)/(A)) #yeild point stress in N/m**2\n",

+      "uts=((ml*10**3)/(A)) #ultimate tensile strangth in N/m**2\n",

+      "pel=((glf-sl)/sl)*100 #percentage elongation\n",

+      "strss=((20*10**3)/A) #stress at 20kN in N/m**2\n",

+      "mel=strss/st #modulus of elasticity in N/m**2\n",

+      "mrs=((ylp*10**-3)**2/(2*mel)) #modulus of resilience \n",

+      "print round(mrs,4),\" is modulus of resilience\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.2526  is modulus of resilience\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.f:pg-153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.3.f: fracture stress\n",

+      " \n",

+      "yl=40 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5#specimen diamter in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2.0)/4 # in meter square\n",

+      "ylp=((yl*10**3)/(A)) #yeild point stress in N/m**2\n",

+      "uts=((ml*10**3)/(A)) #ultimate tensile strangth in N/m**2\n",

+      "pel=((glf-sl)/sl)*100 #percentage elongation\n",

+      "strss=((20*10.0**3)/A) #stress at 20kN in N/m**2\n",

+      "mel=strss/st #modulus of elasticity in N/m**2\n",

+      "mrs=((ylp*10**-3)**2.0/(2*mel)) #modulus of resilience \n",

+      "fs=((fl*10.0**3)/(A)) #fracture stress in N/m**2\n",

+      "print \"{:.2e}\".format(fs),\"is fracture stress in N/m**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.12e+08 is fracture stress in N/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3.g:pg153"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "# Example 7.3.g: modulus of toughness\n",

+      " \n",

+      "yl=40.0 #yeild load in kN\n",

+      "ml=71.5 #maximum load in kN\n",

+      "fl=50.5 #fracture load in kN\n",

+      "glf=79.5 #gauge length of fratture in mm\n",

+      "st=7.75*10**-4 #strain at load of 20kN\n",

+      "d=12.5 #specimen diamtere in mm\n",

+      "sl=62.5 #specimen length in mm\n",

+      "A=(math.pi*(d*10**-3)**2)/4 # in meter square\n",

+      "ylp=((yl*10**3)/(A)) #yeild point stress in N/m**2\n",

+      "uts=((ml*10**3)/(A)) #ultimate tensile strangth in N/m**2\n",

+      "pel=((glf-sl)/sl)*100 #percentage elongation\n",

+      "strss=((20*10**3)/A) #stress at 20kN in N/m**2\n",

+      "mel=strss/st #modulus of elasticity in N/m**2\n",

+      "mrs=((ylp*10**-3)**2/(2*mel)) #modulus of resilience \n",

+      "fs=((fl*10**3)/(A)) #fracture stress in N/m**2\n",

+      "mth=((ylp+uts)*(pel/100))/2 #modulus of toughness in N/m**2\n",

+      "print \"{:.2e}\".format(mth),\" is modulus of toughness in N/m**2\"\n",

+      "#percentage reduction in area is not calulated in the textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.24e+08  is modulus of toughness in N/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.4:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#Example 7.4 : true breaking stress and nominal breaking stress \n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "d1=12.7; # in mm\n",

+      "B_load=14;# in K-N\n",

+      "A1=(math.pi*d1**2)/4;# original cross section area\n",

+      "d2=7.87; # in mm\n",

+      "A2=(math.pi*d2**2)/4;# final cross sction area\n",

+      "T_stress=B_load/A2;\n",

+      "print round(T_stress*1000),\" is true breaking stress,T_stress in (N/mm**2) \"\n",

+      "N_stress=B_load/A1;\n",

+      "print int(N_stress*1000),\" is nominal breaking stress,N_stress in (N/mm**2) \"\n",

+      "#true breaking stress unit is wrong in the textbook\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "288.0  is true breaking stress,T_stress in (N/mm**2) \n",

+        "110  is nominal breaking stress,N_stress in (N/mm**2) \n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5.a:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.5.a: yield point stress\n",

+      " \n",

+      "\n",

+      "yl=34.0;#yeild load in kN\n",

+      "ul=61.0;#ultimate load in kN\n",

+      "fl=78.0;#final length in mm\n",

+      "glf=60.0;#gauge length of fratture in mm\n",

+      "fd=7.0;#final diamtere in mm\n",

+      "d=12.0;#specimen diamtere in mm\n",

+      "sl=62.5;#specimen length in mm\n",

+      "A=(math.pi*(d)**2)/4;# in meter square\n",

+      "ylp=((yl*10**3)/(A));# yeild point stress in N/mm**2\n",

+      "print floor(ylp),\" is yeild point stress in N/mm**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "300.0  is yeild point stress in N/mm**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5.b:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.5.b: ultimate tensile stress\n",

+      " \n",

+      "\n",

+      "yl=34.0;#yeild load in kN\n",

+      "ul=61.0;#ultimate load in kN\n",

+      "fl=78.0;#final length in mm\n",

+      "glf=60.0;#gauge length of fratture in mm\n",

+      "fd=7.0;#final diamtere in mm\n",

+      "d=12.0;#specimen diamtere in mm\n",

+      "sl=62.5;#specimen length in mm\n",

+      "A=(math.pi*(d)**2)/4.0;# in meter square\n",

+      "uts=((ul*10**3)/(A));#ultimate tensile strangth in N/mm**2\n",

+      "print round(uts),\" is ultimate tensile strangth in N/mm**2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "539.0  is ultimate tensile strangth in N/mm**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 19

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5.c:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.5.c: percentage reduction\n",

+      " \n",

+      "    \n",

+      "yl=34;#yeild load in kN\n",

+      "ul=61;#ultimate load in kN\n",

+      "fl=78;#final length in mm\n",

+      "glf=60;#gauge length of fratture in mm\n",

+      "fd=7;#final diamtere in mm\n",

+      "d=12;#specimen diamtere in mm\n",

+      "sl=62.5;#specimen length in mm\n",

+      "A=(math.pi*(d)**2)/4;# in mm square\n",

+      "A1=(math.pi*(fd)**2)/4;# in mm square\n",

+      "pr=(A-A1)/A;# reduction\n",

+      "print round(pr*100),\"% is percentage reduction\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "66.0 % is percentage reduction\n"

+       ]

+      }

+     ],

+     "prompt_number": 20

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5.d:pg-155"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.5.d: percentage elonagtion\n",

+      " \n",

+      "\n",

+      "yl=34.0;#yeild load in kN\n",

+      "ul=61.0;#ultimate load in kN\n",

+      "fl=78.0;#final length in mm\n",

+      "glf=60.0;#gauge length of fratture in mm\n",

+      "fd=7.0;#final diamtere in mm\n",

+      "d=12.0;#specimen diamtere in mm\n",

+      "sl=62.5;#specimen length in mm\n",

+      "A=(math.pi*(d)**2)/4;# in mm square\n",

+      "A1=(math.pi*(fd)**2)/4;# in mm square\n",

+      "pr=(fl-glf)/glf;# elongation\n",

+      "print round(pr*100,2),\"% is percentage elongtion \"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "30.0 % is percentage elongtion \n"

+       ]

+      }

+     ],

+     "prompt_number": 21

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.6:pg-156"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 7.6 : strain \n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "b=44.5*10**3;#force\n",

+      "E=1.1*10**5;# in N/mm**2\n",

+      "A=15.2*19.1# in mm**2\n",

+      "epsilon=b/(A*E);\n",

+      "print \"strain,epsilon (mm) = \",\"{:.2e}\".format(epsilon)"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "strain,epsilon (mm) =  1.39e-03\n"

+       ]

+      }

+     ],

+     "prompt_number": 22

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.7:pg-156"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 7.7 :stress and strain \n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "sigma=450;#in MPa\n",

+      "epsilon=0.63;\n",

+      "sigma_t=sigma*(1+epsilon);\n",

+      "print \"true stress,sigma_t(MPa) = \",sigma_t\n",

+      "epsilon_t=math.log(1+epsilon);\n",

+      "print \"true strain,epsilon_t(MPa) = \",round(epsilon_t,3)\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "true stress,sigma_t(MPa) =  733.5\n",

+        "true strain,epsilon_t(MPa) =  0.489\n"

+       ]

+      }

+     ],

+     "prompt_number": 25

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.8:pg-157"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 7.8: which part has a greater stress\n",

+      " \n",

+      "l=24.0;#length in mm\n",

+      "b=30;#breadth in mm\n",

+      "ld=7000;#load in kg\n",

+      "sd=10;#steel bar diamtere in mm\n",

+      "sl=5000.0;#load in kg\n",

+      "al=ld/(l*b);#stress on aluminium bar in kg/mm**2\n",

+      "a=((math.pi*sd**2)/4.0);#area in mm**2\n",

+      "slb=sl/a;#stress on steel bar in kg/mm**2\n",

+      "print\"stress on aluminium bar is \",round(al,2),\" kg/mm**2 is less than stress on steel bar \",round(slb,2),\" kg/mm**2 \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "stress on aluminium bar is  9.72  kg/mm**2 is less than stress on steel bar  63.66  kg/mm**2 \n"

+       ]

+      }

+     ],

+     "prompt_number": 26

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter08.ipynb b/Materials_Science/Chapter08.ipynb
new file mode 100755
index 00000000..7ab3ee40
--- /dev/null
+++ b/Materials_Science/Chapter08.ipynb
@@ -0,0 +1,179 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:34ae042b330defbf3a9166ffcdabea3a9847c3ed545aa16f3851917a2138bfe6"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter08:Deformation of Metals"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.1:pg-175"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 8.1: critical resolved shear stress of silver\n",

+      " \n",

+      "\n",

+      "Ts=15;#tensile stress in Mpa\n",

+      "d=[1,1,0];\n",

+      "d1=[1,1,1];\n",

+      "csda=((d[0]*d1[0])+(d[1]*d1[1])+(d[2]*d1[2]))/((math.sqrt(d[0]**2+d[1]**2+d[2]**2))*math.sqrt(d1[0]**2+d1[1]**2+d1[2]**2));#angle degree\n",

+      "d2=[0,1,1];\n",

+      "csdb=((d[0]*d2[0])+(d[1]*d2[1])+(d[2]*d2[2]))/((math.sqrt(d[0]**2+d[1]**2+d[2]**2))*math.sqrt(d2[0]**2+d2[1]**2+d2[2]**2));#angle degree\n",

+      "t=Ts*csda*csdb;#critical resolved shear stress in MPa\n",

+      "print round(t,2),\"= critical resolved shear stress in MPa\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "6.12 = critical resolved shear stress in MPa\n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.2:pg-186"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 8.2: yield strength of material\n",

+      " \n",

+      "import numpy.linalg as lin\n",

+      "import math\n",

+      "ys1=115;# yeild strength in MN/mm**2\n",

+      "ys2=215;# yeild strength in MN/mm**2\n",

+      "d1=0.04;#diamtere in mm\n",

+      "d2=0.01;#diamtere in mm\n",

+      "A=numpy.array([[2 ,10], [1 ,10]]);\n",

+      "B=numpy.array([230,215]);\n",

+      "x=lin.solve(A,B)\n",

+      "si=x[0];# in MN/mm**2\n",

+      "k=x[1];#\n",

+      "d3=0.016;#in mm\n",

+      "sy= si +(k/math.sqrt(d3));#yeild strength for a grain size in MN/mm**2\n",

+      "print round(sy,2),\"=yeild strength for a grain size in MN/mm**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "173.11 =yeild strength for a grain size in MN/mm**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 7

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.3:pg-186"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 8.3: yield strength of material\n",

+      "import numpy.linalg as lin\n",

+      "import math\n",

+      "ys1=120;# yeild strength in MN/mm**2\n",

+      "ys2=220;# yeild strength in MN/mm**2\n",

+      "d1=0.04;#diamtere in mm\n",

+      "d2=0.01;#diamtere in mm\n",

+      "A=numpy.array([[2 ,10], [1 ,10]]);\n",

+      "B=numpy.array([240,220]);\n",

+      "x=lin.solve(A,B)\n",

+      "si=x[0];# in MN/mm**2\n",

+      "k=x[1];#\n",

+      "d3=0.025;#in mm\n",

+      "sy= si +(k/math.sqrt(d3));#yeild strength for a grain size in MN/mm**2\n",

+      "print round(sy,2),\"= yeild strength for a grain size in MN/mm**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "146.49 = yeild strength for a grain size in MN/mm**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.4:pg-193"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 8.4 : grain diameter\n",

+      "import math \n",

+      "\n",

+      "#given data :\n",

+      "N=9; # ASTM number\n",

+      "m=8*2**N; # no. of grains [er square millimetre\n",

+      "grain=1/math.sqrt(m);\n",

+      "print round(grain,4),\"=the grain diameter(mm)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.0156 =the grain diameter(mm)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter08_1.ipynb b/Materials_Science/Chapter08_1.ipynb
new file mode 100755
index 00000000..cab232b8
--- /dev/null
+++ b/Materials_Science/Chapter08_1.ipynb
@@ -0,0 +1,179 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:12bc74eaed4218a18fa109df85a443dc199f78a3b2cafffe1198babaf1458444"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter08:Deformation of Metals"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.1:pg-175"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 8.1: critical resolved shear stress of silver\n",

+      " \n",

+      "\n",

+      "Ts=15;#tensile stress in Mpa\n",

+      "d=[1,1,0];\n",

+      "d1=[1,1,1];\n",

+      "csda=((d[0]*d1[0])+(d[1]*d1[1])+(d[2]*d1[2]))/((math.sqrt(d[0]**2+d[1]**2+d[2]**2))*math.sqrt(d1[0]**2+d1[1]**2+d1[2]**2));#angle degree\n",

+      "d2=[0,1,1];\n",

+      "csdb=((d[0]*d2[0])+(d[1]*d2[1])+(d[2]*d2[2]))/((math.sqrt(d[0]**2+d[1]**2+d[2]**2))*math.sqrt(d2[0]**2+d2[1]**2+d2[2]**2));#angle degree\n",

+      "t=Ts*csda*csdb;#critical resolved shear stress in MPa\n",

+      "print round(t,2),\"= critical resolved shear stress in MPa\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "6.12 = critical resolved shear stress in MPa\n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.2:pg-186"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 8.2: yield strength of material\n",

+      " \n",

+      "import numpy.linalg as lin\n",

+      "import math\n",

+      "ys1=115;# yeild strength in MN/mm**2\n",

+      "ys2=215;# yeild strength in MN/mm**2\n",

+      "d1=0.04;#diamtere in mm\n",

+      "d2=0.01;#diamtere in mm\n",

+      "A=numpy.array([[2 ,10], [1 ,10]]);\n",

+      "B=numpy.array([230,215]);\n",

+      "x=lin.solve(A,B)\n",

+      "si=x[0];# in MN/mm**2\n",

+      "k=x[1];#\n",

+      "d3=0.016;#in mm\n",

+      "sy= si +(k/math.sqrt(d3));#yeild strength for a grain size in MN/mm**2\n",

+      "print round(sy,1),\"=yeild strength for a grain size in MN/mm**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "173.1 =yeild strength for a grain size in MN/mm**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.3:pg-186"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 8.3: yield strength of material\n",

+      "import numpy.linalg as lin\n",

+      "import math\n",

+      "ys1=120;# yeild strength in MN/mm**2\n",

+      "ys2=220;# yeild strength in MN/mm**2\n",

+      "d1=0.04;#diamtere in mm\n",

+      "d2=0.01;#diamtere in mm\n",

+      "A=numpy.array([[2 ,10], [1 ,10]]);\n",

+      "B=numpy.array([240,220]);\n",

+      "x=lin.solve(A,B)\n",

+      "si=x[0];# in MN/mm**2\n",

+      "k=x[1];#\n",

+      "d3=0.025;#in mm\n",

+      "sy= si +(k/math.sqrt(d3));#yeild strength for a grain size in MN/mm**2\n",

+      "print round(sy,1),\"= yeild strength for a grain size in MN/mm**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "146.5 = yeild strength for a grain size in MN/mm**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.4:pg-193"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 8.4 : grain diameter\n",

+      "import math \n",

+      "\n",

+      "#given data :\n",

+      "N=9; # ASTM number\n",

+      "m=8*2**N; # no. of grains [er square millimetre\n",

+      "grain=1/math.sqrt(m);\n",

+      "print round(grain,4),\"=the grain diameter(mm)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.0156 =the grain diameter(mm)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter09.ipynb b/Materials_Science/Chapter09.ipynb
new file mode 100755
index 00000000..f9450a23
--- /dev/null
+++ b/Materials_Science/Chapter09.ipynb
@@ -0,0 +1,200 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:8681b8cb87a35e316321fbab8aecdb38b5b347586e7dea8acd0d04d98e829c88"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter09:Fracture of Metals"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.1:pg-200"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 9.1 : difference\n",

+      "import math \n",

+      "#given data :\n",

+      "E=200*10**9; # in N/m**2\n",

+      "C=(4*10**-6)/2;# in m\n",

+      "gama=1.48; # in J/m**2\n",

+      "sigma=math.sqrt((2*E*gama)/(math.pi*C));\n",

+      "print round(sigma*10**-6),\"= fracture strength,sigma(MN/m**2) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "307.0 = fracture strength,sigma(MN/m**2) \n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.2:pg-200"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 9.2 : the fracture strength and compare\n",

+      " \n",

+      "import math\n",

+      "#given data :\n",

+      "E=70*10**9; # in N/m**2\n",

+      "C=(4.2*10**-6)/2;# in m\n",

+      "gama=1.1; # in J/m**2\n",

+      "sigma=math.sqrt((2*E*gama)/(math.pi*C));\n",

+      "print sigma,\"= fracture strength,sigma(N/m**2)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "152783261.475 = fracture strength,sigma(N/m**2)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.3:pg-200"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 9.3 : maximum length of surface\n",

+      "import math\n",

+      "\n",

+      "#given data :\n",

+      "sigma=36;#in MN/m**2\n",

+      "gama=0.27;# in J/m**2\n",

+      "E=70*10**9;#in N/m**2\n",

+      "C=((2*E*gama)/(sigma**2*math.pi))*10**-6;\n",

+      "C2=2*C;\n",

+      "print round(C2,3),\"= maximum length of surface flow,C2(micro-m)   \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "18.568 = maximum length of surface flow,C2(micro-m)   \n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.4a:pg-203"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 9.4.a: Temperature\n",

+      " \n",

+      "import math\n",

+      "E=350;# in GN/m**2\n",

+      "Y=2;# in J/m**2\n",

+      "C=2;# in micro meter\n",

+      "sg=math.sqrt((2*E*10**9*Y)/(math.pi*C*10**-6));# IN mn/M**2\n",

+      "e=10**-2;# per second\n",

+      "T=173600/(round(sg*10**-6)-20.6-61.3*(math.log10(e)));# in kelvin\n",

+      "print round(T,1),\"= temperature in kelvin for ductile to brittle transition at a strain rate of 10**-2 per second\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "302.4 = temperature in kelvin for ductile to brittle transition at a strain rate of 10**-2 per second\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.4b:pg-203"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 9.4.b: Temperature\n",

+      "import math\n",

+      "\n",

+      "E=350;# in GN/m**2\n",

+      "Y=2;# in J/m**2\n",

+      "C=2;# in micro meter\n",

+      "sg=math.sqrt((2*E*10**9*Y)/(math.pi*C*10**-6));# IN mn/M**2\n",

+      "e=10**-5;# per second\n",

+      "T=173600/(round(sg*10**-6)-20.6-61.3*(math.log10(e)));# in kelvin\n",

+      "print round(T),\"= temperature in kelvin for ductile to brittle transition at a strain rate of 10**-5 per second\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "229.0 = temperature in kelvin for ductile to brittle transition at a strain rate of 10**-5 per second\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter09_1.ipynb b/Materials_Science/Chapter09_1.ipynb
new file mode 100755
index 00000000..51e1c31d
--- /dev/null
+++ b/Materials_Science/Chapter09_1.ipynb
@@ -0,0 +1,200 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:99acc61267a81b1afad3a95ee2f2b991fd04bf73d9065c7e2427d0f97c316207"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter09:Fracture of Metals"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.1:pg-200"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 9.1 : difference\n",

+      "import math \n",

+      "#given data :\n",

+      "E=200*10**9; # in N/m**2\n",

+      "C=(4*10**-6)/2;# in m\n",

+      "gama=1.48; # in J/m**2\n",

+      "sigma=math.sqrt((2*E*gama)/(math.pi*C));\n",

+      "print round(sigma*10**-6),\"= fracture strength,sigma(MN/m**2) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "307.0 = fracture strength,sigma(MN/m**2) \n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.2:pg-200"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 9.2 : the fracture strength and compare\n",

+      " \n",

+      "import math\n",

+      "#given data :\n",

+      "E=70*10**9; # in N/m**2\n",

+      "C=(4.2*10**-6)/2;# in m\n",

+      "gama=1.1; # in J/m**2\n",

+      "sigma=math.sqrt((2*E*gama)/(math.pi*C));\n",

+      "print \"{:.3e}\".format(sigma),\"= fracture strength,sigma(N/m**2)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.528e+08 = fracture strength,sigma(N/m**2)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.3:pg-200"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 9.3 : maximum length of surface\n",

+      "import math\n",

+      "\n",

+      "#given data :\n",

+      "sigma=36;#in MN/m**2\n",

+      "gama=0.27;# in J/m**2\n",

+      "E=70*10**9;#in N/m**2\n",

+      "C=((2*E*gama)/(sigma**2*math.pi))*10**-6;\n",

+      "C2=2*C;\n",

+      "print round(C2,3),\"= maximum length of surface flow,C2(micro-m)   \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "18.568 = maximum length of surface flow,C2(micro-m)   \n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.4a:pg-203"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 9.4.a: Temperature\n",

+      " \n",

+      "import math\n",

+      "E=350;# in GN/m**2\n",

+      "Y=2;# in J/m**2\n",

+      "C=2;# in micro meter\n",

+      "sg=math.sqrt((2*E*10**9*Y)/(math.pi*C*10**-6));# IN mn/M**2\n",

+      "e=10**-2;# per second\n",

+      "T=173600/(round(sg*10**-6)-20.6-61.3*(math.log10(e)));# in kelvin\n",

+      "print round(T,1),\"= temperature in kelvin for ductile to brittle transition at a strain rate of 10**-2 per second\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "302.4 = temperature in kelvin for ductile to brittle transition at a strain rate of 10**-2 per second\n"

+       ]

+      }

+     ],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.4b:pg-203"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 9.4.b: Temperature\n",

+      "import math\n",

+      "\n",

+      "E=350;# in GN/m**2\n",

+      "Y=2;# in J/m**2\n",

+      "C=2;# in micro meter\n",

+      "sg=math.sqrt((2*E*10**9*Y)/(math.pi*C*10**-6));# IN mn/M**2\n",

+      "e=10**-5;# per second\n",

+      "T=173600/(round(sg*10**-6)-20.6-61.3*(math.log10(e)));# in kelvin\n",

+      "print round(T),\"= temperature in kelvin for ductile to brittle transition at a strain rate of 10**-5 per second\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "229.0 = temperature in kelvin for ductile to brittle transition at a strain rate of 10**-5 per second\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter15.ipynb b/Materials_Science/Chapter15.ipynb
new file mode 100755
index 00000000..f927d51b
--- /dev/null
+++ b/Materials_Science/Chapter15.ipynb
@@ -0,0 +1,61 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:7315f4cd0dbe1ea8c121564011c9ce9945618f308024d617157c5ed6076bc7d9"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter15:Composite Materials and Ceramics"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex15.1:pg-299"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 15.1 : colume ratio of aluminium and boron\n",

+      " \n",

+      "import numpy.linalg as lin\n",

+      "yal=715;# in GN/,**2\n",

+      "yfe=210;# in GN/,**2\n",

+      "yb=440;# in GN/,**2\n",

+      "A=numpy.array([[71, 71],[71, 440]]);#\n",

+      "B=numpy.array([71,210]);#\n",

+      "X=lin.solve(A,B)\n",

+      "print round(X[0],3),\"is volume ratio of aluminium \"\n",

+      "print round(X[1],3),\"is volume ratio of boron \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.623 is volume ratio of aluminium \n",

+        "0.377 is volume ratio of boron \n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter15_1.ipynb b/Materials_Science/Chapter15_1.ipynb
new file mode 100755
index 00000000..f927d51b
--- /dev/null
+++ b/Materials_Science/Chapter15_1.ipynb
@@ -0,0 +1,61 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:7315f4cd0dbe1ea8c121564011c9ce9945618f308024d617157c5ed6076bc7d9"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter15:Composite Materials and Ceramics"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex15.1:pg-299"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 15.1 : colume ratio of aluminium and boron\n",

+      " \n",

+      "import numpy.linalg as lin\n",

+      "yal=715;# in GN/,**2\n",

+      "yfe=210;# in GN/,**2\n",

+      "yb=440;# in GN/,**2\n",

+      "A=numpy.array([[71, 71],[71, 440]]);#\n",

+      "B=numpy.array([71,210]);#\n",

+      "X=lin.solve(A,B)\n",

+      "print round(X[0],3),\"is volume ratio of aluminium \"\n",

+      "print round(X[1],3),\"is volume ratio of boron \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.623 is volume ratio of aluminium \n",

+        "0.377 is volume ratio of boron \n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter16.ipynb b/Materials_Science/Chapter16.ipynb
new file mode 100755
index 00000000..3ff4c3db
--- /dev/null
+++ b/Materials_Science/Chapter16.ipynb
@@ -0,0 +1,275 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:267ebfe4747dc282d89f7efa1dce2f2f4b1f305bd03bf7fa58c0d8bd7749c9c1"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter16:Semiconductors"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.1:pg-315"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.1 : concentration\n",

+      "\n",

+      "#given data :\n",

+      "e=1.602*10**-19;# Coulomb\n",

+      "sigma_i=5*10**-4;# in ohm/m\n",

+      "mu_n=0.14;# in m**2/V-sec\n",

+      "mu_p=0.05;# in m**2/V-sec\n",

+      "n_i=sigma_i/(e*(mu_n+mu_p));\n",

+      "print round(n_i*10**6,-20),\"= the concentration,n_i(/cm**3)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.64e+22 = the concentration,n_i(/cm**3)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 27

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.2:pg-315"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.2 : intrinsic carrier\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "e=1.602*10**-19; # Coulomb\n",

+      "p_i=2*10**-4;# in ohm-m\n",

+      "mu_n=6;# in m**2/V-sec\n",

+      "mu_p=0.2;# in m**2/V-sec\n",

+      "n_i=1/(e*(mu_n+mu_p)*p_i);\n",

+      "print round(n_i,-19),\"= the intrinsic carrier,n_i(/m**3) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "5.03e+21 = the intrinsic carrier,n_i(/m**3) \n"

+       ]

+      }

+     ],

+     "prompt_number": 28

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.3:pg-315"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.3 : neglect the intrinsic conductivity\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "e=1.6*10**-19; # Coulomb\n",

+      "sigma=10**-12;# in mhos/m\n",

+      "mu_n=0.18;# in m**2/V-sec\n",

+      "n=sigma/(e*mu_n);\n",

+      "N=n; # amount of n type impurity\n",

+      "print round(N),\"in(/m**3)  \"\n",

+      "# The answer is slightly different in textbook due to approximation"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "34722222.0 in(/m**3)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 15

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.4:pg-315"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.4 : number of electron carriers\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "e=1.6*10**-19; # Coulomb\n",

+      "p=20*10**-2;# in ohm-m\n",

+      "mu_n=100*10**-4;# in m**2/V-sec\n",

+      "n=1/(e*mu_n*p);\n",

+      "print round(n,-19),\"= number of electrons carrier,n(/m**3)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "3.12e+21 = number of electrons carrier,n(/m**3)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 30

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.5:pg-316"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.5 : concentration of impurity\n",

+      "import math\n",

+      "e=1.6*10**-19;# Coulomb\n",

+      "l=10;#in mm\n",

+      "d=1;#in mm\n",

+      "r=100;#in ohms\n",

+      "up=0.19;#mobilty of electrons in V-sec\n",

+      "a=(math.pi*((d*10**-3)**2))/4;#area in m**2\n",

+      "p=((r*a))/(l*10**-3);#resistivity in Ohm-cm\n",

+      "n=((1/(p*e*up)));#concentration in per m**3\n",

+      "print round(n,-19),\"is impurity concentration is in per m**3\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.19e+21 is impurity concentration is in per m**3\n"

+       ]

+      }

+     ],

+     "prompt_number": 32

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.6:pg-316"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.6 : intrinsic carrier density\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "e=1.602*10**-19; # in coulomb\n",

+      "p=3000.0;# in ohm/m\n",

+      "sigma=1/p;# in ohm/m\n",

+      "mu_n=0.14;# in m**2/V-sec\n",

+      "mu_p=0.05;# in m**2/V-sec\n",

+      "n_i=sigma/(e*(mu_n+mu_p));\n",

+      "print round(n_i,-13),\"is the concentration,n_i(/m**3) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.095e+16 is the concentration,n_i(/m**3) \n"

+       ]

+      }

+     ],

+     "prompt_number": 39

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.7:pg-317"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.7 : conductivity\n",

+      " \n",

+      "#given data :\n",

+      "e=1.602*10**-19; # in coulomb\n",

+      "n_i=5.021*10**15; # in m**-3\n",

+      "mu_n=0.48;# in m**2/V-sec\n",

+      "mu_p=0.013;# in m**2/V-sec\n",

+      "sigma=n_i*(e*(mu_n+mu_p));\n",

+      "print round(sigma,9),\"= the conductivity,sigma(ohm**-1 m**-1)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.000396552 = the conductivity,sigma(ohm**-1 m**-1)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 42

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter16_1.ipynb b/Materials_Science/Chapter16_1.ipynb
new file mode 100755
index 00000000..cdcb3cb0
--- /dev/null
+++ b/Materials_Science/Chapter16_1.ipynb
@@ -0,0 +1,275 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:7de7bac9701b444eddc88961b7eb9eeb7cb67a83da1ca69ef2052c0cb80692d5"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter16:Semiconductors"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.1:pg-315"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.1 : concentration\n",

+      "\n",

+      "#given data :\n",

+      "e=1.602*10**-19;# Coulomb\n",

+      "sigma_i=5*10**-4;# in ohm/m\n",

+      "mu_n=0.14;# in m**2/V-sec\n",

+      "mu_p=0.05;# in m**2/V-sec\n",

+      "n_i=sigma_i/(e*(mu_n+mu_p));\n",

+      "print round(n_i*10**6,-20),\"= the concentration,n_i(/cm**3)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.64e+22 = the concentration,n_i(/cm**3)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 27

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.2:pg-315"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.2 : intrinsic carrier\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "e=1.602*10**-19; # Coulomb\n",

+      "p_i=2*10**-4;# in ohm-m\n",

+      "mu_n=6;# in m**2/V-sec\n",

+      "mu_p=0.2;# in m**2/V-sec\n",

+      "n_i=1/(e*(mu_n+mu_p)*p_i);\n",

+      "print round(n_i,-19),\"= the intrinsic carrier,n_i(/m**3) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "5.03e+21 = the intrinsic carrier,n_i(/m**3) \n"

+       ]

+      }

+     ],

+     "prompt_number": 28

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.3:pg-315"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.3 : neglect the intrinsic conductivity\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "e=1.6*10**-19; # Coulomb\n",

+      "sigma=10**-12;# in mhos/m\n",

+      "mu_n=0.18;# in m**2/V-sec\n",

+      "n=sigma/(e*mu_n);\n",

+      "N=n; # amount of n type impurity\n",

+      "print \"{:.2e}\".format(N),\"in(/m**3)  \"\n",

+      "# The answer is slightly different in textbook due to approximation"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "3.47e+07 in(/m**3)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.4:pg-315"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.4 : number of electron carriers\n",

+      " \n",

+      "\n",

+      "#given data :\n",

+      "e=1.6*10**-19; # Coulomb\n",

+      "p=20*10**-2;# in ohm-m\n",

+      "mu_n=100*10**-4;# in m**2/V-sec\n",

+      "n=1/(e*mu_n*p);\n",

+      "print round(n,-19),\"= number of electrons carrier,n(/m**3)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "3.12e+21 = number of electrons carrier,n(/m**3)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 30

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.5:pg-316"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.5 : concentration of impurity\n",

+      "import math\n",

+      "e=1.6*10**-19;# Coulomb\n",

+      "l=10;#in mm\n",

+      "d=1;#in mm\n",

+      "r=100;#in ohms\n",

+      "up=0.19;#mobilty of electrons in V-sec\n",

+      "a=(math.pi*((d*10**-3)**2))/4;#area in m**2\n",

+      "p=((r*a))/(l*10**-3);#resistivity in Ohm-cm\n",

+      "n=((1/(p*e*up)));#concentration in per m**3\n",

+      "print round(n,-19),\"is impurity concentration is in per m**3\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "4.19e+21 is impurity concentration is in per m**3\n"

+       ]

+      }

+     ],

+     "prompt_number": 32

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.6:pg-316"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.6 : intrinsic carrier density\n",

+      " \n",

+      "#given data :\n",

+      "\n",

+      "e=1.602*10**-19; # in coulomb\n",

+      "p=3000.0;# in ohm/m\n",

+      "sigma=1/p;# in ohm/m\n",

+      "mu_n=0.14;# in m**2/V-sec\n",

+      "mu_p=0.05;# in m**2/V-sec\n",

+      "n_i=sigma/(e*(mu_n+mu_p));\n",

+      "print round(n_i,-13),\"is the concentration,n_i(/m**3) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.095e+16 is the concentration,n_i(/m**3) \n"

+       ]

+      }

+     ],

+     "prompt_number": 39

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex16.7:pg-317"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 16.7 : conductivity\n",

+      " \n",

+      "#given data :\n",

+      "e=1.602*10**-19; # in coulomb\n",

+      "n_i=5.021*10**15; # in m**-3\n",

+      "mu_n=0.48;# in m**2/V-sec\n",

+      "mu_p=0.013;# in m**2/V-sec\n",

+      "sigma=n_i*(e*(mu_n+mu_p));\n",

+      "print \"{:.3e}\".format(sigma),\"= the conductivity,sigma(ohm**-1 m**-1)  \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "3.966e-04 = the conductivity,sigma(ohm**-1 m**-1)  \n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter17.ipynb b/Materials_Science/Chapter17.ipynb
new file mode 100755
index 00000000..9a4bd8d7
--- /dev/null
+++ b/Materials_Science/Chapter17.ipynb
@@ -0,0 +1,60 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:03648571a8c8e1b4e8f8e6dad5bff5a090472aa9ccf6236105c75aa2a594a7be"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter17:Insulating Materials"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex17.1:pg-333"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 17.1: greater chanrge\n",

+      " \n",

+      "\n",

+      "er1=6;#\n",

+      "d1=0.25;# in mm\n",

+      "a=1;# assume\n",

+      "er2=2.6;#\n",

+      "d2=0.1;# in mm\n",

+      "c1=(er1/d1);# in ampere\n",

+      "c2=(er2/d2);# in amperes\n",

+      "print\" C1 \",c1,\"A will hold the more charge than C2 \",c2,\"A \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        " C1  24.0 A will hold the more charge than C2  26.0 A \n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter17_1.ipynb b/Materials_Science/Chapter17_1.ipynb
new file mode 100755
index 00000000..9a4bd8d7
--- /dev/null
+++ b/Materials_Science/Chapter17_1.ipynb
@@ -0,0 +1,60 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:03648571a8c8e1b4e8f8e6dad5bff5a090472aa9ccf6236105c75aa2a594a7be"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter17:Insulating Materials"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex17.1:pg-333"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "# Example 17.1: greater chanrge\n",

+      " \n",

+      "\n",

+      "er1=6;#\n",

+      "d1=0.25;# in mm\n",

+      "a=1;# assume\n",

+      "er2=2.6;#\n",

+      "d2=0.1;# in mm\n",

+      "c1=(er1/d1);# in ampere\n",

+      "c2=(er2/d2);# in amperes\n",

+      "print\" C1 \",c1,\"A will hold the more charge than C2 \",c2,\"A \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        " C1  24.0 A will hold the more charge than C2  26.0 A \n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter18.ipynb b/Materials_Science/Chapter18.ipynb
new file mode 100755
index 00000000..287d3fc7
--- /dev/null
+++ b/Materials_Science/Chapter18.ipynb
@@ -0,0 +1,251 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:6d6e15c1e7376b50229c166646322c80b0a7d8183966dd1596145061fc9a1c4d"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter18:Magnetic Materials"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.1:pg-346"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.1 : magnetization and flux density\n",

+      "import math\n",

+      "#given data :\n",

+      "mu0=4*math.pi*10**-7;\n",

+      "H=10**4;# in A/m\n",

+      "Xm=3.7*10**-3;# room temperature\n",

+      "mu_r=1+Xm;\n",

+      "B=mu0*mu_r*H;\n",

+      "M=Xm*H;\n",

+      "print B,\"= the flux density,B(Wb/m**2) \"\n",

+      "print M,\"= magnetization,M(A/m) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.0126128661856 = the flux density,B(Wb/m**2) \n",

+        "37.0 = magnetization,M(A/m) \n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.2a:pg-350"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.2.a : saturation magnetization\n",

+      " \n",

+      "#given data :\n",

+      "mu_b=9.27*10**-24;# A.m**2\n",

+      "p=8.9; # in g/cm**3\n",

+      "Na=6.023*10**23;# avogadro's number\n",

+      "A=58.71; # in g/mol\n",

+      "n=((p*Na)/A)*10**6;\n",

+      "Ms=0.60*mu_b*n;\n",

+      "print Ms,\"= saturation magnetization,Ms(A/m) \"\n",

+      "# the answe ris slightly different in textbook due to approximation"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "507834.0 = saturation magnetization,Ms(A/m) \n"

+       ]

+      }

+     ],

+     "prompt_number": 2

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.2b:pg-350"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.2.b : saturation flux density\n",

+      "import math\n",

+      "#given data :\n",

+      "\n",

+      "mu0=4*math.pi*10**-7;\n",

+      "mu_b=9.27*10**-24;# A.m**2\n",

+      "p=8.9; # in g/cm**3\n",

+      "Na=6.023*10**23;# avogadro's number\n",

+      "A=58.71; # in g/mol\n",

+      "n=((p*Na)/A)*10**6;\n",

+      "Ms=0.60*mu_b*n;\n",

+      "Bs=mu0*Ms;\n",

+      "print round(Bs,2),\"= saturation flux density,Bs(tesla) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.64 = saturation flux density,Bs(tesla) \n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.3:pg-351"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.3 : magnetic moment\n",

+      "import math \n",

+      "#given data :\n",

+      "\n",

+      "mu0=4*math.pi*10**-7;\n",

+      "mu_b=9.27*10**-24;# A.m**2\n",

+      "p=8.9; # in g/cm**3\n",

+      "Na=6.023*10**23;# avogadro's number\n",

+      "A=58.71; # in g/mol\n",

+      "n=((p*Na)/A)*10**6;\n",

+      "Bs=0.65;#in Wb/m**2\n",

+      "Ms=Bs/mu0;\n",

+      "m_mu_b=Ms/n;\n",

+      "print round(m_mu_b,26),\" is saturation magnetisation,m_mu_b(A.m**2) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "5.67e-24  is saturation magnetisation,m_mu_b(A.m**2) \n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.4:pg-355"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.4 : power loss\n",

+      " \n",

+      "#given data :\n",

+      "V=0.01;#in m**3\n",

+      "f=50;# in Hz\n",

+      "area=600;#in jm**-1\n",

+      "Wh=area*V*f;\n",

+      "print Wh,\"= power loss,Wh(watts) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "300.0 = power loss,Wh(watts) \n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.5:pg-355"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.4 : los of energy\n",

+      " \n",

+      "#given data :\n",

+      "mass=10.0;# in kg\n",

+      "energy_loss=250.0;# in J/m**2\n",

+      "#energy loss at the rate of 50 cycles/s\n",

+      "E=energy_loss*50.0;# in J/m**3\n",

+      "E_loss=E*3600.0;#in J/m**3\n",

+      "D=7500.0;#density in kg/m**3\n",

+      "Volume=mass/D;\n",

+      "energy_loss_per_hour=E_loss/Volume;\n",

+      "print energy_loss_per_hour,\"= energy_loss_per_hour(J/hour) \"\n",

+      "\n",

+      "# answer is incorrect in textbook"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "33750000000.0 = energy_loss_per_hour(J/hour) \n"

+       ]

+      }

+     ],

+     "prompt_number": 22

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/Chapter18_1.ipynb b/Materials_Science/Chapter18_1.ipynb
new file mode 100755
index 00000000..5ae109b8
--- /dev/null
+++ b/Materials_Science/Chapter18_1.ipynb
@@ -0,0 +1,251 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:bc4f145530554f550ad02c41bb92fc1d8f9fdac80b4d0ae7b519b9e02a3d9b4f"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter18:Magnetic Materials"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.1:pg-346"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.1 : magnetization and flux density\n",

+      "import math\n",

+      "#given data :\n",

+      "mu0=4*math.pi*10**-7;\n",

+      "H=10**4;# in A/m\n",

+      "Xm=3.7*10**-3;# room temperature\n",

+      "mu_r=1+Xm;\n",

+      "B=mu0*mu_r*H;\n",

+      "M=Xm*H;\n",

+      "print \"{:.2e}\".format(B),\"= the flux density,B(Wb/m**2) \"\n",

+      "print M,\"= magnetization,M(A/m) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.26e-02 = the flux density,B(Wb/m**2) \n",

+        "37.0 = magnetization,M(A/m) \n"

+       ]

+      }

+     ],

+     "prompt_number": 1

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.2a:pg-350"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.2.a : saturation magnetization\n",

+      " \n",

+      "#given data :\n",

+      "mu_b=9.27*10**-24;# A.m**2\n",

+      "p=8.9; # in g/cm**3\n",

+      "Na=6.023*10**23;# avogadro's number\n",

+      "A=58.71; # in g/mol\n",

+      "n=((p*Na)/A)*10**6;\n",

+      "Ms=0.60*mu_b*n;\n",

+      "print \"{:.1e}\".format(Ms),\"= saturation magnetization,Ms(A/m) \"\n",

+      "# the answe ris slightly different in textbook due to approximation"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "5.1e+05 = saturation magnetization,Ms(A/m) \n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.2b:pg-350"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.2.b : saturation flux density\n",

+      "import math\n",

+      "#given data :\n",

+      "\n",

+      "mu0=4*math.pi*10**-7;\n",

+      "mu_b=9.27*10**-24;# A.m**2\n",

+      "p=8.9; # in g/cm**3\n",

+      "Na=6.023*10**23;# avogadro's number\n",

+      "A=58.71; # in g/mol\n",

+      "n=((p*Na)/A)*10**6;\n",

+      "Ms=0.60*mu_b*n;\n",

+      "Bs=mu0*Ms;\n",

+      "print round(Bs,2),\"= saturation flux density,Bs(tesla) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.64 = saturation flux density,Bs(tesla) \n"

+       ]

+      }

+     ],

+     "prompt_number": 4

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.3:pg-351"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.3 : magnetic moment\n",

+      "import math \n",

+      "#given data :\n",

+      "\n",

+      "mu0=4*math.pi*10**-7;\n",

+      "mu_b=9.27*10**-24;# A.m**2\n",

+      "p=8.9; # in g/cm**3\n",

+      "Na=6.023*10**23;# avogadro's number\n",

+      "A=58.71; # in g/mol\n",

+      "n=((p*Na)/A)*10**6;\n",

+      "Bs=0.65;#in Wb/m**2\n",

+      "Ms=Bs/mu0;\n",

+      "m_mu_b=Ms/n;\n",

+      "print round(m_mu_b,26),\" is saturation magnetisation,m_mu_b(A.m**2) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "5.67e-24  is saturation magnetisation,m_mu_b(A.m**2) \n"

+       ]

+      }

+     ],

+     "prompt_number": 11

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.4:pg-355"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.4 : power loss\n",

+      " \n",

+      "#given data :\n",

+      "V=0.01;#in m**3\n",

+      "f=50;# in Hz\n",

+      "area=600;#in jm**-1\n",

+      "Wh=area*V*f;\n",

+      "print Wh,\"= power loss,Wh(watts) \"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "300.0 = power loss,Wh(watts) \n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex18.5:pg-355"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Example 18.4 : los of energy\n",

+      " \n",

+      "#given data :\n",

+      "mass=10.0;# in kg\n",

+      "energy_loss=250.0;# in J/m**2\n",

+      "#energy loss at the rate of 50 cycles/s\n",

+      "E=energy_loss*50.0;# in J/m**3\n",

+      "E_loss=E*3600.0;#in J/m**3\n",

+      "D=7500.0;#density in kg/m**3\n",

+      "Volume=mass/D;\n",

+      "energy_loss_per_hour=E_loss/Volume;\n",

+      "print \"{:.1e}\".format(energy_loss_per_hour),\"= energy_loss_per_hour(J/hour) \"\n",

+      "\n",

+      "# answer is incorrect in textbook"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "3.4e+10 = energy_loss_per_hour(J/hour) \n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Materials_Science/screenshots/chp3.png b/Materials_Science/screenshots/chp3.png
new file mode 100755
index 00000000..45282e89
Binary files /dev/null and b/Materials_Science/screenshots/chp3.png differ
diff --git a/Materials_Science/screenshots/chp3_1.png b/Materials_Science/screenshots/chp3_1.png
new file mode 100755
index 00000000..45282e89
Binary files /dev/null and b/Materials_Science/screenshots/chp3_1.png differ
diff --git a/Materials_Science/screenshots/chp5.png b/Materials_Science/screenshots/chp5.png
new file mode 100755
index 00000000..3ab2bb3f
Binary files /dev/null and b/Materials_Science/screenshots/chp5.png differ
diff --git a/Materials_Science/screenshots/chp5_1.png b/Materials_Science/screenshots/chp5_1.png
new file mode 100755
index 00000000..a0dd86b2
Binary files /dev/null and b/Materials_Science/screenshots/chp5_1.png differ
diff --git a/Materials_Science/screenshots/chp9.png b/Materials_Science/screenshots/chp9.png
new file mode 100755
index 00000000..80dbbe99
Binary files /dev/null and b/Materials_Science/screenshots/chp9.png differ
diff --git a/Materials_Science/screenshots/chp9_1.png b/Materials_Science/screenshots/chp9_1.png
new file mode 100755
index 00000000..80dbbe99
Binary files /dev/null and b/Materials_Science/screenshots/chp9_1.png differ
diff --git a/Mechanical_Metallurgy/Chapter_1.ipynb b/Mechanical_Metallurgy/Chapter_1.ipynb
new file mode 100755
index 00000000..7660f24c
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_1.ipynb
@@ -0,0 +1,73 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 1: Introduction"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 1.1, Shear Stress, Page No. 16"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Shear Stress Required to nucleate a grain boundary crack in high temperature deformation = 158.887 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "from math import pi\n",
+    "from math import sqrt\n",
+    "y_b=2;\n",
+    "G=75;\n",
+    "G=G*10**9;       #conversion to Pa\n",
+    "L=0.01;\n",
+    "L=L*10**-3;       #conversion to m\n",
+    "nu=0.3;\n",
+    "\n",
+    "#calculation\n",
+    "T=sqrt((3*pi*y_b*G)/(8*(1-nu)*L));\n",
+    "T=T/10**6;\n",
+    "\n",
+    "#result\n",
+    "print ('Shear Stress Required to nucleate a grain boundary crack in high temperature deformation = %g MPa') %(T)"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_11.ipynb b/Mechanical_Metallurgy/Chapter_11.ipynb
new file mode 100755
index 00000000..c0c024dd
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_11.ipynb
@@ -0,0 +1,165 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 11: Fracture Mechanics"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 11.1, Fracture Toughness, Page No. 354"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Since Fracture Toughness of the material is = 172.852 MPa\n",
+      " and the applied stress is 172 MPa thus the flaw will propagate as a brittle fracture\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sqrt\n",
+    "from math import pi\n",
+    "from math import cos\n",
+    "\n",
+    "#variable declaration\n",
+    "a=5;\n",
+    "a=a*10**-3;             #conversion to m\n",
+    "t=1.27;          #in cm\n",
+    "t=t*10**-2;        #conversion to m\n",
+    "def sec(x):\n",
+    "    return 1/cos(x);\n",
+    "\n",
+    "#calculation\n",
+    "K_Ic=24;\n",
+    "sigma=K_Ic/(sqrt(pi*a)*sqrt(sec(pi*a/(2*t))));\n",
+    "\n",
+    "#result\n",
+    "print('Since Fracture Toughness of the material is = %g MPa\\n and the applied stress is 172 MPa thus the flaw will propagate as a brittle fracture')%(sigma);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 11.2, Fracture Toughness, Page No. 354"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Critical Crack depth = 15.4981 mm\n",
+      "which is greater than the thickness of the vessel wall, 12mm\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "K_Ic=57;\n",
+    "sigma0=900;\n",
+    "sigma=360;\n",
+    "Q=2.35;\n",
+    "\n",
+    "#calculation\n",
+    "a_c=K_Ic**2*Q/(1.21*pi*sigma**2);\n",
+    "a_c=a_c*1000;                         #conversion to mm\n",
+    "\n",
+    "#result\n",
+    "print('\\nCritical Crack depth = %g mm\\nwhich is greater than the thickness of the vessel wall, 12mm')%(a_c);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 11.3, Plasticity, Page No. 361"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Plastic zone size = 0.113177 mm\n",
+      "Stress Intensity Factor = 42.8659 MPa m^(1/2)\n",
+      "\n",
+      "\n",
+      "Note: Calculation Errors in book\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "a=10;\n",
+    "a=a*10**-3;                 #conversion to m\n",
+    "sigma=400;\n",
+    "sigma0=1500;\n",
+    "\n",
+    "#calculation\n",
+    "rp=sigma**2*a/(2*pi*sigma0**2);\n",
+    "rp=rp*1000;                      #conversion to mm\n",
+    "K=sigma*sqrt(pi*a);\n",
+    "K_eff=sigma*sqrt(pi*a)*sqrt(a+pi*rp);\n",
+    "\n",
+    "#result\n",
+    "print('\\nPlastic zone size = %g mm\\nStress Intensity Factor = %g MPa m^(1/2)\\n\\n\\nNote: Calculation Errors in book')%(rp,K_eff);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_11_1.ipynb b/Mechanical_Metallurgy/Chapter_11_1.ipynb
new file mode 100755
index 00000000..c0c024dd
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_11_1.ipynb
@@ -0,0 +1,165 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 11: Fracture Mechanics"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 11.1, Fracture Toughness, Page No. 354"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Since Fracture Toughness of the material is = 172.852 MPa\n",
+      " and the applied stress is 172 MPa thus the flaw will propagate as a brittle fracture\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sqrt\n",
+    "from math import pi\n",
+    "from math import cos\n",
+    "\n",
+    "#variable declaration\n",
+    "a=5;\n",
+    "a=a*10**-3;             #conversion to m\n",
+    "t=1.27;          #in cm\n",
+    "t=t*10**-2;        #conversion to m\n",
+    "def sec(x):\n",
+    "    return 1/cos(x);\n",
+    "\n",
+    "#calculation\n",
+    "K_Ic=24;\n",
+    "sigma=K_Ic/(sqrt(pi*a)*sqrt(sec(pi*a/(2*t))));\n",
+    "\n",
+    "#result\n",
+    "print('Since Fracture Toughness of the material is = %g MPa\\n and the applied stress is 172 MPa thus the flaw will propagate as a brittle fracture')%(sigma);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 11.2, Fracture Toughness, Page No. 354"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Critical Crack depth = 15.4981 mm\n",
+      "which is greater than the thickness of the vessel wall, 12mm\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "K_Ic=57;\n",
+    "sigma0=900;\n",
+    "sigma=360;\n",
+    "Q=2.35;\n",
+    "\n",
+    "#calculation\n",
+    "a_c=K_Ic**2*Q/(1.21*pi*sigma**2);\n",
+    "a_c=a_c*1000;                         #conversion to mm\n",
+    "\n",
+    "#result\n",
+    "print('\\nCritical Crack depth = %g mm\\nwhich is greater than the thickness of the vessel wall, 12mm')%(a_c);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 11.3, Plasticity, Page No. 361"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Plastic zone size = 0.113177 mm\n",
+      "Stress Intensity Factor = 42.8659 MPa m^(1/2)\n",
+      "\n",
+      "\n",
+      "Note: Calculation Errors in book\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "a=10;\n",
+    "a=a*10**-3;                 #conversion to m\n",
+    "sigma=400;\n",
+    "sigma0=1500;\n",
+    "\n",
+    "#calculation\n",
+    "rp=sigma**2*a/(2*pi*sigma0**2);\n",
+    "rp=rp*1000;                      #conversion to mm\n",
+    "K=sigma*sqrt(pi*a);\n",
+    "K_eff=sigma*sqrt(pi*a)*sqrt(a+pi*rp);\n",
+    "\n",
+    "#result\n",
+    "print('\\nPlastic zone size = %g mm\\nStress Intensity Factor = %g MPa m^(1/2)\\n\\n\\nNote: Calculation Errors in book')%(rp,K_eff);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_12.ipynb b/Mechanical_Metallurgy/Chapter_12.ipynb
new file mode 100755
index 00000000..ac9b05ec
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_12.ipynb
@@ -0,0 +1,346 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 12: Fatigue of Metals"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 12.1, Mean Stress, Page No. 387"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Bar Diameter = 1.45673 in\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma_u=158;             # in ksi\n",
+    "sigma0=147;             # in ksi\n",
+    "sigma_e=75;             # in ksi\n",
+    "l_max=75;             # in ksi\n",
+    "l_min=-25;             # in ksi\n",
+    "sf=2.5;\n",
+    "\n",
+    "#calculation\n",
+    "sigma_m=(l_max+l_min)/2;\n",
+    "sigma_a=(l_max-l_min)/2;\n",
+    "sigma_e=sigma_e/sf;\n",
+    "A=sigma_a/sigma_e+sigma_m/sigma_u;\n",
+    "D=sqrt(4*A/pi);\n",
+    "\n",
+    "#result\n",
+    "print('\\nBar Diameter = %g in')%(D);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 12.2, Low Cycle Fatigue, Page No. 391"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "d_e_e = 0.000681818\n",
+      "d_e_p = 0.000608182\n",
+      "Number of Cycles = 48884 cycles\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma_b=75.0;\n",
+    "e_b=0.000645;\n",
+    "e_f=0.3;\n",
+    "E=22*10**4;\n",
+    "c=-0.6;\n",
+    "\n",
+    "#calculation\n",
+    "d_e_e=float(2*sigma_b/E);\n",
+    "d_e_p=2*e_b-d_e_e;\n",
+    "N=((d_e_p/(2*e_f))**(1/c))/2;\n",
+    "\n",
+    "#result\n",
+    "print('\\nd_e_e = %g\\nd_e_p = %g\\nNumber of Cycles = %g cycles')%(d_e_e,d_e_p,N);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 12.3, Fatigue Crack Proportion, Page No. 401"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Fatigue Cycles = 261417 cycles\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "ai=0.5;\n",
+    "ai=ai*10**-3;           #conversion to m\n",
+    "sigma_max=180.0;\n",
+    "Kc=100.0;\n",
+    "alpha=1.12;\n",
+    "p=3.0;\n",
+    "A=6.9*10**-12;\n",
+    "\n",
+    "#calculation\n",
+    "af=(Kc/(sigma_max*alpha))**2/pi;\n",
+    "Nf=float(af**(1-(p/2))-ai**(1-(p/2)))/float((1-p/2)*A*(sigma_max**3)*(pi**(p/2))*(alpha**p));\n",
+    "\n",
+    "#result\n",
+    "print('Fatigue Cycles = %g cycles')%(Nf);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 12.4, Stress Concentration of Fatigue, Page No. 404"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Mean Stress = 25464.8 psi\n",
+      "Fluctuating Bending Stress = 33658.4 psi\n",
+      "Effective Maximum Stress = 59123.2 psi\n",
+      "Effective Minimum Stress = 8193.63 psi\n",
+      "sigma_a = 39834.1 psi\n",
+      "\n",
+      "\n",
+      "Note: Calculation Errors in the book\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import sqrt\n",
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "rho=0.0004;\n",
+    "S_u=190000;\n",
+    "M=200;\n",
+    "Pm=5000;\n",
+    "D=0.5;\n",
+    "dh=0.05;\n",
+    "r=dh/2;\n",
+    "Kt=2.2;\n",
+    "\n",
+    "#calculation\n",
+    "Kf=1+(Kt-1)/(1+sqrt(rho/r));\n",
+    "q=(Kf-1)/(Kt-1);\n",
+    "A=pi/4*D**2;\n",
+    "sigma_m=Pm/A;\n",
+    "I=pi/64*D**4;\n",
+    "sigma_a=Kf*((M*D)/(2*I));\n",
+    "sigma_max=sigma_a+sigma_m;\n",
+    "sigma_min=sigma_a-sigma_m;\n",
+    "sigma_e=S_u/2;\n",
+    "sigma_a1=sigma_e/Kf*(1-sigma_m/S_u);\n",
+    "\n",
+    "#result\n",
+    "print('\\nMean Stress = %g psi\\nFluctuating Bending Stress = %g psi\\nEffective Maximum Stress = %g psi\\nEffective Minimum Stress = %g psi\\nsigma_a = %g psi\\n\\n\\nNote: Calculation Errors in the book')%(sigma_m,sigma_a,sigma_max,sigma_min,sigma_a1);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 12.5, Infinite Life Design, Page No. 422"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Fatigue Limit = 14245.3 psi\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "#variable declaration\n",
+    "Kt=1.68;\n",
+    "q=0.9;\n",
+    "sigma_ed=42000;\n",
+    "Cs=0.9;\n",
+    "Cf=0.75;\n",
+    "Cz=0.81;\n",
+    "\n",
+    "#calculation\n",
+    "Kf=q*(Kt-1)+1;\n",
+    "sigma_e=sigma_ed*Cs*Cf*Cz;\n",
+    "sigma_en=sigma_e/Kf;\n",
+    "\n",
+    "#result\n",
+    "print('\\nFatigue Limit = %g psi')%(sigma_en);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 12.6, Local Strain method, Page No. 424"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false,
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Number of cycles = 14785.5 cycles\n",
+      "Fatigue damage per cycle = 6.7634e-05\n",
+      "Number of cycles with correction of mean stress= 129289 cycles\n",
+      "Fatigue damage per cycle  with correction of mean stress= 7.7346e-06 damage per year\n",
+      "Shaft will fail in 2.2446 days\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from scipy.optimize import fsolve\n",
+    "\n",
+    "#variable declaration\n",
+    "K=189;\n",
+    "n=0.12;\n",
+    "ef=1.06;\n",
+    "sigma_f=190;\n",
+    "b=-0.08;\n",
+    "c=-0.66;\n",
+    "E=30000000.0;\n",
+    "E=E/1000;        #conversion to ksi\n",
+    "s=200.0;\n",
+    "sigma_m=167.0;\n",
+    "sigma_a=17.0;\n",
+    "se=s**2/E;\n",
+    "\n",
+    "#calculation\n",
+    "def f(ds):\n",
+    "    return (ds**2)/(2*E)+(ds**((1+n)/n))/((2*K)**(1/n))-se/2;\n",
+    "ds=fsolve(f,1)\n",
+    "de=se/ds;\n",
+    "def f1(N2):\n",
+    "    return (N2**(b))*(sigma_f/E)+ef*(N2**(c))-de/2;\n",
+    "N2=fsolve(f1,1);\n",
+    "N_1=N2/2;\n",
+    "de_e2=sigma_a/E;\n",
+    "def f2(N2):\n",
+    "    return (N2**b)*((sigma_f-sigma_m)/E)+ef*(N2**c)-de_e2;\n",
+    "N2=fsolve(f2,1);\n",
+    "N_2=N2/2;\n",
+    "C_pd=2*60*60*8;\n",
+    "f=N_2/C_pd;\n",
+    "\n",
+    "#result\n",
+    "print('\\nNumber of cycles = %g cycles\\nFatigue damage per cycle = %g\\nNumber of cycles with correction of mean stress= %g cycles\\nFatigue damage per cycle  with correction of mean stress= %g damage per year\\nShaft will fail in %g days')%(N_1,1/N_1,N_2,1/N_2,f);\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_12_1.ipynb b/Mechanical_Metallurgy/Chapter_12_1.ipynb
new file mode 100755
index 00000000..ac9b05ec
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_12_1.ipynb
@@ -0,0 +1,346 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 12: Fatigue of Metals"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 12.1, Mean Stress, Page No. 387"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Bar Diameter = 1.45673 in\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma_u=158;             # in ksi\n",
+    "sigma0=147;             # in ksi\n",
+    "sigma_e=75;             # in ksi\n",
+    "l_max=75;             # in ksi\n",
+    "l_min=-25;             # in ksi\n",
+    "sf=2.5;\n",
+    "\n",
+    "#calculation\n",
+    "sigma_m=(l_max+l_min)/2;\n",
+    "sigma_a=(l_max-l_min)/2;\n",
+    "sigma_e=sigma_e/sf;\n",
+    "A=sigma_a/sigma_e+sigma_m/sigma_u;\n",
+    "D=sqrt(4*A/pi);\n",
+    "\n",
+    "#result\n",
+    "print('\\nBar Diameter = %g in')%(D);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 12.2, Low Cycle Fatigue, Page No. 391"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "d_e_e = 0.000681818\n",
+      "d_e_p = 0.000608182\n",
+      "Number of Cycles = 48884 cycles\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma_b=75.0;\n",
+    "e_b=0.000645;\n",
+    "e_f=0.3;\n",
+    "E=22*10**4;\n",
+    "c=-0.6;\n",
+    "\n",
+    "#calculation\n",
+    "d_e_e=float(2*sigma_b/E);\n",
+    "d_e_p=2*e_b-d_e_e;\n",
+    "N=((d_e_p/(2*e_f))**(1/c))/2;\n",
+    "\n",
+    "#result\n",
+    "print('\\nd_e_e = %g\\nd_e_p = %g\\nNumber of Cycles = %g cycles')%(d_e_e,d_e_p,N);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 12.3, Fatigue Crack Proportion, Page No. 401"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Fatigue Cycles = 261417 cycles\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "ai=0.5;\n",
+    "ai=ai*10**-3;           #conversion to m\n",
+    "sigma_max=180.0;\n",
+    "Kc=100.0;\n",
+    "alpha=1.12;\n",
+    "p=3.0;\n",
+    "A=6.9*10**-12;\n",
+    "\n",
+    "#calculation\n",
+    "af=(Kc/(sigma_max*alpha))**2/pi;\n",
+    "Nf=float(af**(1-(p/2))-ai**(1-(p/2)))/float((1-p/2)*A*(sigma_max**3)*(pi**(p/2))*(alpha**p));\n",
+    "\n",
+    "#result\n",
+    "print('Fatigue Cycles = %g cycles')%(Nf);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 12.4, Stress Concentration of Fatigue, Page No. 404"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Mean Stress = 25464.8 psi\n",
+      "Fluctuating Bending Stress = 33658.4 psi\n",
+      "Effective Maximum Stress = 59123.2 psi\n",
+      "Effective Minimum Stress = 8193.63 psi\n",
+      "sigma_a = 39834.1 psi\n",
+      "\n",
+      "\n",
+      "Note: Calculation Errors in the book\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import sqrt\n",
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "rho=0.0004;\n",
+    "S_u=190000;\n",
+    "M=200;\n",
+    "Pm=5000;\n",
+    "D=0.5;\n",
+    "dh=0.05;\n",
+    "r=dh/2;\n",
+    "Kt=2.2;\n",
+    "\n",
+    "#calculation\n",
+    "Kf=1+(Kt-1)/(1+sqrt(rho/r));\n",
+    "q=(Kf-1)/(Kt-1);\n",
+    "A=pi/4*D**2;\n",
+    "sigma_m=Pm/A;\n",
+    "I=pi/64*D**4;\n",
+    "sigma_a=Kf*((M*D)/(2*I));\n",
+    "sigma_max=sigma_a+sigma_m;\n",
+    "sigma_min=sigma_a-sigma_m;\n",
+    "sigma_e=S_u/2;\n",
+    "sigma_a1=sigma_e/Kf*(1-sigma_m/S_u);\n",
+    "\n",
+    "#result\n",
+    "print('\\nMean Stress = %g psi\\nFluctuating Bending Stress = %g psi\\nEffective Maximum Stress = %g psi\\nEffective Minimum Stress = %g psi\\nsigma_a = %g psi\\n\\n\\nNote: Calculation Errors in the book')%(sigma_m,sigma_a,sigma_max,sigma_min,sigma_a1);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 12.5, Infinite Life Design, Page No. 422"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Fatigue Limit = 14245.3 psi\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "#variable declaration\n",
+    "Kt=1.68;\n",
+    "q=0.9;\n",
+    "sigma_ed=42000;\n",
+    "Cs=0.9;\n",
+    "Cf=0.75;\n",
+    "Cz=0.81;\n",
+    "\n",
+    "#calculation\n",
+    "Kf=q*(Kt-1)+1;\n",
+    "sigma_e=sigma_ed*Cs*Cf*Cz;\n",
+    "sigma_en=sigma_e/Kf;\n",
+    "\n",
+    "#result\n",
+    "print('\\nFatigue Limit = %g psi')%(sigma_en);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 12.6, Local Strain method, Page No. 424"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false,
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Number of cycles = 14785.5 cycles\n",
+      "Fatigue damage per cycle = 6.7634e-05\n",
+      "Number of cycles with correction of mean stress= 129289 cycles\n",
+      "Fatigue damage per cycle  with correction of mean stress= 7.7346e-06 damage per year\n",
+      "Shaft will fail in 2.2446 days\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from scipy.optimize import fsolve\n",
+    "\n",
+    "#variable declaration\n",
+    "K=189;\n",
+    "n=0.12;\n",
+    "ef=1.06;\n",
+    "sigma_f=190;\n",
+    "b=-0.08;\n",
+    "c=-0.66;\n",
+    "E=30000000.0;\n",
+    "E=E/1000;        #conversion to ksi\n",
+    "s=200.0;\n",
+    "sigma_m=167.0;\n",
+    "sigma_a=17.0;\n",
+    "se=s**2/E;\n",
+    "\n",
+    "#calculation\n",
+    "def f(ds):\n",
+    "    return (ds**2)/(2*E)+(ds**((1+n)/n))/((2*K)**(1/n))-se/2;\n",
+    "ds=fsolve(f,1)\n",
+    "de=se/ds;\n",
+    "def f1(N2):\n",
+    "    return (N2**(b))*(sigma_f/E)+ef*(N2**(c))-de/2;\n",
+    "N2=fsolve(f1,1);\n",
+    "N_1=N2/2;\n",
+    "de_e2=sigma_a/E;\n",
+    "def f2(N2):\n",
+    "    return (N2**b)*((sigma_f-sigma_m)/E)+ef*(N2**c)-de_e2;\n",
+    "N2=fsolve(f2,1);\n",
+    "N_2=N2/2;\n",
+    "C_pd=2*60*60*8;\n",
+    "f=N_2/C_pd;\n",
+    "\n",
+    "#result\n",
+    "print('\\nNumber of cycles = %g cycles\\nFatigue damage per cycle = %g\\nNumber of cycles with correction of mean stress= %g cycles\\nFatigue damage per cycle  with correction of mean stress= %g damage per year\\nShaft will fail in %g days')%(N_1,1/N_1,N_2,1/N_2,f);\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_13.ipynb b/Mechanical_Metallurgy/Chapter_13.ipynb
new file mode 100755
index 00000000..cc8ad5e6
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_13.ipynb
@@ -0,0 +1,181 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 13: Creep and Stress Rupture"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 13.1, Engineering Creep, Page No. 461"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "-----------------------------------------------------------\n",
+      "\n",
+      "Temperature\tCreep Strength, psi\tWorking Stress, psi\n",
+      "\n",
+      "------------------------------------------------------------\n",
+      "\n",
+      "1100 F\t\t\t30000\t\t\t10000\n",
+      "\n",
+      "\n",
+      "1500 F\t\t\t4000\t\t\t1333\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "#variable declaration\n",
+    "sf=3;\n",
+    "per=1/1000;\n",
+    "T=[1100, 1500];\n",
+    "C=[30000, 4000];              \n",
+    "W=[0, 0];\n",
+    "#calculation\n",
+    "W[0]=C[0]/sf;\n",
+    "W[1]=C[1]/sf;\n",
+    "\n",
+    "#result\n",
+    "print('\\n-----------------------------------------------------------\\n');\n",
+    "print('Temperature\\tCreep Strength, psi\\tWorking Stress, psi\\n');\n",
+    "print('------------------------------------------------------------');\n",
+    "print('\\n1100 F\\t\\t\\t%i\\t\\t\\t%i\\n')%(C[0],W[0]);\n",
+    "print('\\n1500 F\\t\\t\\t%i\\t\\t\\t%i\\n')%(C[1],W[1]);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 13.2, Engineering Creep, Page No. 461"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Activation Energy = 157867 cal/mol\n",
+      "\n",
+      "\n",
+      "\n",
+      "Note: Calculation Errors in book\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "def C(f):\n",
+    "    return (f-32)*5/9;\n",
+    "R=1.987;\n",
+    "T2=1300;\n",
+    "T1=1500;\n",
+    "\n",
+    "#calculation\n",
+    "T2=C(T2)+273.15;\n",
+    "T1=C(T1)+273.15;\n",
+    "e2=0.0001;\n",
+    "e1=0.4;\n",
+    "Q=R*log(e1/e2)/(1/T2-1/T1);\n",
+    "\n",
+    "#result\n",
+    "print('\\nActivation Energy = %g cal/mol')%(Q)\n",
+    "print('\\n\\n\\nNote: Calculation Errors in book');"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 13.3, Prediction of long time properties, Page No. 464"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "At T = 1200 F, P = 41500\n",
+      "At T = 1600 F, P = 51500\n",
+      "And from the master ploy of Astroploy, corresponding stress required are sigma = 78000 psi and sigma = 11000 psi\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import log10\n",
+    "\n",
+    "#variable declaration\n",
+    "t=10**5;\n",
+    "C1=20;\n",
+    "T1=1200;\n",
+    "T2=1600;\n",
+    "\n",
+    "#calculation\n",
+    "P_1200=(T1+460)*(log10(t)+C1);\n",
+    "P_1600=(T2+460)*(log10(t)+C1);\n",
+    "\n",
+    "#result\n",
+    "print('\\nAt T = 1200 F, P = %g\\nAt T = 1600 F, P = %g\\nAnd from the master ploy of Astroploy, corresponding stress required are sigma = 78000 psi and sigma = 11000 psi')%(P_1200,P_1600);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_13_1.ipynb b/Mechanical_Metallurgy/Chapter_13_1.ipynb
new file mode 100755
index 00000000..cc8ad5e6
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_13_1.ipynb
@@ -0,0 +1,181 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 13: Creep and Stress Rupture"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 13.1, Engineering Creep, Page No. 461"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "-----------------------------------------------------------\n",
+      "\n",
+      "Temperature\tCreep Strength, psi\tWorking Stress, psi\n",
+      "\n",
+      "------------------------------------------------------------\n",
+      "\n",
+      "1100 F\t\t\t30000\t\t\t10000\n",
+      "\n",
+      "\n",
+      "1500 F\t\t\t4000\t\t\t1333\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "#variable declaration\n",
+    "sf=3;\n",
+    "per=1/1000;\n",
+    "T=[1100, 1500];\n",
+    "C=[30000, 4000];              \n",
+    "W=[0, 0];\n",
+    "#calculation\n",
+    "W[0]=C[0]/sf;\n",
+    "W[1]=C[1]/sf;\n",
+    "\n",
+    "#result\n",
+    "print('\\n-----------------------------------------------------------\\n');\n",
+    "print('Temperature\\tCreep Strength, psi\\tWorking Stress, psi\\n');\n",
+    "print('------------------------------------------------------------');\n",
+    "print('\\n1100 F\\t\\t\\t%i\\t\\t\\t%i\\n')%(C[0],W[0]);\n",
+    "print('\\n1500 F\\t\\t\\t%i\\t\\t\\t%i\\n')%(C[1],W[1]);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 13.2, Engineering Creep, Page No. 461"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Activation Energy = 157867 cal/mol\n",
+      "\n",
+      "\n",
+      "\n",
+      "Note: Calculation Errors in book\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "def C(f):\n",
+    "    return (f-32)*5/9;\n",
+    "R=1.987;\n",
+    "T2=1300;\n",
+    "T1=1500;\n",
+    "\n",
+    "#calculation\n",
+    "T2=C(T2)+273.15;\n",
+    "T1=C(T1)+273.15;\n",
+    "e2=0.0001;\n",
+    "e1=0.4;\n",
+    "Q=R*log(e1/e2)/(1/T2-1/T1);\n",
+    "\n",
+    "#result\n",
+    "print('\\nActivation Energy = %g cal/mol')%(Q)\n",
+    "print('\\n\\n\\nNote: Calculation Errors in book');"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 13.3, Prediction of long time properties, Page No. 464"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "At T = 1200 F, P = 41500\n",
+      "At T = 1600 F, P = 51500\n",
+      "And from the master ploy of Astroploy, corresponding stress required are sigma = 78000 psi and sigma = 11000 psi\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import log10\n",
+    "\n",
+    "#variable declaration\n",
+    "t=10**5;\n",
+    "C1=20;\n",
+    "T1=1200;\n",
+    "T2=1600;\n",
+    "\n",
+    "#calculation\n",
+    "P_1200=(T1+460)*(log10(t)+C1);\n",
+    "P_1600=(T2+460)*(log10(t)+C1);\n",
+    "\n",
+    "#result\n",
+    "print('\\nAt T = 1200 F, P = %g\\nAt T = 1600 F, P = %g\\nAnd from the master ploy of Astroploy, corresponding stress required are sigma = 78000 psi and sigma = 11000 psi')%(P_1200,P_1600);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_14.ipynb b/Mechanical_Metallurgy/Chapter_14.ipynb
new file mode 100755
index 00000000..bd230ae6
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_14.ipynb
@@ -0,0 +1,90 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 14: Brittle Fracture and Impact Testing"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 14.1, Stress Corrosion Cracking, Page No. 494"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Estimated Life = 11.5741 days\n",
+      "\n",
+      "\n",
+      "\n",
+      "---------------------------------\n",
+      "Stress, MPa\tCrack Length, mm\n",
+      "---------------------------------\n",
+      "\n",
+      "\t500\t\t0.105226\n",
+      "\n",
+      "\t300\t\t0.292296\n",
+      "\n",
+      "\t100\t\t2.63066\n",
+      "\n",
+      "---------------------------------\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "cg=0.01;\n",
+    "gr=10**-8;\n",
+    "\n",
+    "#calculation\n",
+    "l=cg/(gr*3600*24);\n",
+    "K_l_SCC=10;\n",
+    "a_sigma2=K_l_SCC**2/(1.21*pi);\n",
+    "s=[500,300,100];\n",
+    "\n",
+    "#result\n",
+    "print('\\nEstimated Life = %g days')%(l);\n",
+    "print('\\n\\n\\n---------------------------------\\nStress, MPa\\tCrack Length, mm\\n---------------------------------\\n');\n",
+    "for i in range (0,3):\n",
+    "    print('\\t%g\\t\\t%g\\n')%(s[i],a_sigma2*1000/s[i]**2);\n",
+    "print('---------------------------------');"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_14_1.ipynb b/Mechanical_Metallurgy/Chapter_14_1.ipynb
new file mode 100755
index 00000000..bd230ae6
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_14_1.ipynb
@@ -0,0 +1,90 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 14: Brittle Fracture and Impact Testing"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 14.1, Stress Corrosion Cracking, Page No. 494"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Estimated Life = 11.5741 days\n",
+      "\n",
+      "\n",
+      "\n",
+      "---------------------------------\n",
+      "Stress, MPa\tCrack Length, mm\n",
+      "---------------------------------\n",
+      "\n",
+      "\t500\t\t0.105226\n",
+      "\n",
+      "\t300\t\t0.292296\n",
+      "\n",
+      "\t100\t\t2.63066\n",
+      "\n",
+      "---------------------------------\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "cg=0.01;\n",
+    "gr=10**-8;\n",
+    "\n",
+    "#calculation\n",
+    "l=cg/(gr*3600*24);\n",
+    "K_l_SCC=10;\n",
+    "a_sigma2=K_l_SCC**2/(1.21*pi);\n",
+    "s=[500,300,100];\n",
+    "\n",
+    "#result\n",
+    "print('\\nEstimated Life = %g days')%(l);\n",
+    "print('\\n\\n\\n---------------------------------\\nStress, MPa\\tCrack Length, mm\\n---------------------------------\\n');\n",
+    "for i in range (0,3):\n",
+    "    print('\\t%g\\t\\t%g\\n')%(s[i],a_sigma2*1000/s[i]**2);\n",
+    "print('---------------------------------');"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_15.ipynb b/Mechanical_Metallurgy/Chapter_15.ipynb
new file mode 100755
index 00000000..4b4e7632
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_15.ipynb
@@ -0,0 +1,294 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 15: Fundamentals of Metalworking"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 15.1, Mechanics of Metal Working, Page No. 506"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Enginering Strain = 1\n",
+      "True Strain = 0.693147\n",
+      "Reduction = 1\n",
+      "\n",
+      "\n",
+      "Enginering Strain = -0.5\n",
+      "True Strain = -0.693147\n",
+      "Reduction = -1\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import log\n",
+    "\n",
+    "#For Bar which is double in length\n",
+    "#variable declaration 1\n",
+    "L2=2;\n",
+    "L1=1;\n",
+    "\n",
+    "#calculation 1\n",
+    "e=(L2-L1)/L1;\n",
+    "e1=log(L2/L1);\n",
+    "r=1-L1/L2;\n",
+    "\n",
+    "#result 1\n",
+    "print('\\nEnginering Strain = %g\\nTrue Strain = %g\\nReduction = %g')%(e,e1,r);\n",
+    "\n",
+    "\n",
+    "\n",
+    "#For bar which is halved in length\n",
+    "#variable declaration 2\n",
+    "L1=1;\n",
+    "L2=0.5;\n",
+    "\n",
+    "#calculation 2\n",
+    "e=(L2-L1)/L1;\n",
+    "e1=log(L2/L1);\n",
+    "r=1-L1/L2;\n",
+    "\n",
+    "#result 2\n",
+    "print('\\n\\nEnginering Strain = %g\\nTrue Strain = %g\\nReduction = %g')%(e,e1,r);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 15.2, Mechanics of Metal Working, Page No. 511"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Plastic work done in 1st step = 39752.1 lb/in^2\n",
+      "Plastic work done in 2nd step = 97934.8 lb/in^2\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from scipy.integrate import quad\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "D0=25.0;\n",
+    "D1=20.0;\n",
+    "D2=15.0;\n",
+    "def integrand(e):\n",
+    "    return 200000*e**0.5\n",
+    "\n",
+    "#calculation\n",
+    "ep1=log((D0/D1)**2);\n",
+    "U1,U1_err=quad(integrand,0,ep1);\n",
+    "ep2=log((D1/D2)**2);\n",
+    "U2,U2_err=quad(integrand,ep1,ep1+ep2);\n",
+    "\n",
+    "#result\n",
+    "print('\\nPlastic work done in 1st step = %g lb/in^2\\nPlastic work done in 2nd step = %g lb/in^2\\n')%(U1,U2);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 15.3, Hodography, Page No. 517"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Pressure  = 2.88675\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sin\n",
+    "from math import radians\n",
+    "\n",
+    "#variable declaration\n",
+    "alpha=60;\n",
+    "\n",
+    "#calculation\n",
+    "r=radians(alpha);\n",
+    "mu=1/sin(r);\n",
+    "p_2k=mu*5/2;\n",
+    "\n",
+    "#result\n",
+    "print('Pressure  = %g')%(p_2k);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 15.4, Temperature in Metalworking, Page No. 526"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Temperature Rise for aluminium = 78.4808 C\n",
+      "Temperature Rise for titanium = 162.686 C\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "Al_s=200;\n",
+    "Al_e=1;\n",
+    "Al_p=2.69;\n",
+    "Al_c=0.215;\n",
+    "Ti_s=400;\n",
+    "Ti_e=1;\n",
+    "Ti_p=4.5;\n",
+    "Ti_c=0.124;\n",
+    "J=4.186;\n",
+    "b=0.95;\n",
+    "\n",
+    "#calculation\n",
+    "Al_Td=Al_s*Al_e*b/(Al_p*Al_c*J);\n",
+    "Ti_Td=Ti_s*Ti_e*b/(Ti_p*Ti_c*J);\n",
+    "\n",
+    "#result\n",
+    "print('\\nTemperature Rise for aluminium = %g C\\nTemperature Rise for titanium = %g C\\n')%(Al_Td,Ti_Td);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 15.5, Friction and Lubrication, Page No. 546"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "For OD after deformation being 70 mm, Di = 22.3607 mm\n",
+      "Precent change in inside diameter = 25.4644 percent\n",
+      "Peak pressure = 1.93531\n",
+      "\n",
+      "\n",
+      "\n",
+      "\n",
+      "For OD after deformation being 81.4 mm, Di = 35.0137 mm\n",
+      "Precent change in inside diameter = -16.7124 percent\n",
+      "Peak pressure = 1.17321\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "Do=60;\n",
+    "Di=30;\n",
+    "def1=70;\n",
+    "def2=81.4;\n",
+    "h=10;\n",
+    "a=30;\n",
+    "\n",
+    "#calculation1\n",
+    "di=sqrt((Do**2-Di**2)*2-def1**2);\n",
+    "pr=(Di-di)/Di*100;\n",
+    "m=0.27;\n",
+    "p_s=1+2*m*a/(sqrt(3)*h);\n",
+    "\n",
+    "#result 1\n",
+    "print('\\nFor OD after deformation being 70 mm, Di = %g mm\\nPrecent change in inside diameter = %g percent\\nPeak pressure = %g')%(di,pr,p_s);\n",
+    "\n",
+    "#calculation 2\n",
+    "di=sqrt(def2**2-(Do**2-Di**2)*2);\n",
+    "pr=(Di-di)/Di*100;\n",
+    "m=0.05;\n",
+    "p_s=1+2*m*a/(sqrt(3)*h);\n",
+    "\n",
+    "#result 2\n",
+    "print('\\n\\n\\n\\nFor OD after deformation being 81.4 mm, Di = %g mm\\nPrecent change in inside diameter = %g percent\\nPeak pressure = %g')%(di,pr,p_s);\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_15_1.ipynb b/Mechanical_Metallurgy/Chapter_15_1.ipynb
new file mode 100755
index 00000000..4b4e7632
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_15_1.ipynb
@@ -0,0 +1,294 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 15: Fundamentals of Metalworking"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 15.1, Mechanics of Metal Working, Page No. 506"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Enginering Strain = 1\n",
+      "True Strain = 0.693147\n",
+      "Reduction = 1\n",
+      "\n",
+      "\n",
+      "Enginering Strain = -0.5\n",
+      "True Strain = -0.693147\n",
+      "Reduction = -1\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import log\n",
+    "\n",
+    "#For Bar which is double in length\n",
+    "#variable declaration 1\n",
+    "L2=2;\n",
+    "L1=1;\n",
+    "\n",
+    "#calculation 1\n",
+    "e=(L2-L1)/L1;\n",
+    "e1=log(L2/L1);\n",
+    "r=1-L1/L2;\n",
+    "\n",
+    "#result 1\n",
+    "print('\\nEnginering Strain = %g\\nTrue Strain = %g\\nReduction = %g')%(e,e1,r);\n",
+    "\n",
+    "\n",
+    "\n",
+    "#For bar which is halved in length\n",
+    "#variable declaration 2\n",
+    "L1=1;\n",
+    "L2=0.5;\n",
+    "\n",
+    "#calculation 2\n",
+    "e=(L2-L1)/L1;\n",
+    "e1=log(L2/L1);\n",
+    "r=1-L1/L2;\n",
+    "\n",
+    "#result 2\n",
+    "print('\\n\\nEnginering Strain = %g\\nTrue Strain = %g\\nReduction = %g')%(e,e1,r);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 15.2, Mechanics of Metal Working, Page No. 511"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 10,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Plastic work done in 1st step = 39752.1 lb/in^2\n",
+      "Plastic work done in 2nd step = 97934.8 lb/in^2\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from scipy.integrate import quad\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "D0=25.0;\n",
+    "D1=20.0;\n",
+    "D2=15.0;\n",
+    "def integrand(e):\n",
+    "    return 200000*e**0.5\n",
+    "\n",
+    "#calculation\n",
+    "ep1=log((D0/D1)**2);\n",
+    "U1,U1_err=quad(integrand,0,ep1);\n",
+    "ep2=log((D1/D2)**2);\n",
+    "U2,U2_err=quad(integrand,ep1,ep1+ep2);\n",
+    "\n",
+    "#result\n",
+    "print('\\nPlastic work done in 1st step = %g lb/in^2\\nPlastic work done in 2nd step = %g lb/in^2\\n')%(U1,U2);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 15.3, Hodography, Page No. 517"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Pressure  = 2.88675\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sin\n",
+    "from math import radians\n",
+    "\n",
+    "#variable declaration\n",
+    "alpha=60;\n",
+    "\n",
+    "#calculation\n",
+    "r=radians(alpha);\n",
+    "mu=1/sin(r);\n",
+    "p_2k=mu*5/2;\n",
+    "\n",
+    "#result\n",
+    "print('Pressure  = %g')%(p_2k);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 15.4, Temperature in Metalworking, Page No. 526"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Temperature Rise for aluminium = 78.4808 C\n",
+      "Temperature Rise for titanium = 162.686 C\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "Al_s=200;\n",
+    "Al_e=1;\n",
+    "Al_p=2.69;\n",
+    "Al_c=0.215;\n",
+    "Ti_s=400;\n",
+    "Ti_e=1;\n",
+    "Ti_p=4.5;\n",
+    "Ti_c=0.124;\n",
+    "J=4.186;\n",
+    "b=0.95;\n",
+    "\n",
+    "#calculation\n",
+    "Al_Td=Al_s*Al_e*b/(Al_p*Al_c*J);\n",
+    "Ti_Td=Ti_s*Ti_e*b/(Ti_p*Ti_c*J);\n",
+    "\n",
+    "#result\n",
+    "print('\\nTemperature Rise for aluminium = %g C\\nTemperature Rise for titanium = %g C\\n')%(Al_Td,Ti_Td);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 15.5, Friction and Lubrication, Page No. 546"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "For OD after deformation being 70 mm, Di = 22.3607 mm\n",
+      "Precent change in inside diameter = 25.4644 percent\n",
+      "Peak pressure = 1.93531\n",
+      "\n",
+      "\n",
+      "\n",
+      "\n",
+      "For OD after deformation being 81.4 mm, Di = 35.0137 mm\n",
+      "Precent change in inside diameter = -16.7124 percent\n",
+      "Peak pressure = 1.17321\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "Do=60;\n",
+    "Di=30;\n",
+    "def1=70;\n",
+    "def2=81.4;\n",
+    "h=10;\n",
+    "a=30;\n",
+    "\n",
+    "#calculation1\n",
+    "di=sqrt((Do**2-Di**2)*2-def1**2);\n",
+    "pr=(Di-di)/Di*100;\n",
+    "m=0.27;\n",
+    "p_s=1+2*m*a/(sqrt(3)*h);\n",
+    "\n",
+    "#result 1\n",
+    "print('\\nFor OD after deformation being 70 mm, Di = %g mm\\nPrecent change in inside diameter = %g percent\\nPeak pressure = %g')%(di,pr,p_s);\n",
+    "\n",
+    "#calculation 2\n",
+    "di=sqrt(def2**2-(Do**2-Di**2)*2);\n",
+    "pr=(Di-di)/Di*100;\n",
+    "m=0.05;\n",
+    "p_s=1+2*m*a/(sqrt(3)*h);\n",
+    "\n",
+    "#result 2\n",
+    "print('\\n\\n\\n\\nFor OD after deformation being 81.4 mm, Di = %g mm\\nPrecent change in inside diameter = %g percent\\nPeak pressure = %g')%(di,pr,p_s);\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_16.ipynb b/Mechanical_Metallurgy/Chapter_16.ipynb
new file mode 100755
index 00000000..df731606
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_16.ipynb
@@ -0,0 +1,131 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 16: Forging"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 16.1, Forging in Plain Strain, Page No. 574"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "At the centerline of the slab = 63044.5 psi\n",
+      "\n",
+      "\n",
+      "Pressure Distributon from the centerline:\n",
+      "\n",
+      "---------------------------------\n",
+      "\n",
+      "x\tp (ksi)\t\tt_i (ksi)\n",
+      "\n",
+      "---------------------------------\n",
+      "\n",
+      "0\t63.0445\t\t15.7611\n",
+      "\n",
+      "0.25\t38.2384\t\t9.55961\n",
+      "\n",
+      "0.5\t23.1928\t\t5.7982\n",
+      "\n",
+      "0.75\t14.0671\t\t3.51678\n",
+      "\n",
+      "1\t8.53215\t\t2.13304\n",
+      "\n",
+      "1.25\t5.17501\t\t1.29375\n",
+      "\n",
+      "1.5\t3.1388\t\t0.7847\n",
+      "\n",
+      "1.75\t1.90378\t\t0.475945\n",
+      "\n",
+      "2\t1.1547\t\t0.288675\n",
+      "\n",
+      "---------------------------------\n",
+      "\n",
+      "\n",
+      "For sticking friction:\n",
+      "p_max = 10.3923 ksi\n",
+      "\n",
+      "\n",
+      "The Forging load = 62.7695 tons\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "from math import exp\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma=1000;\n",
+    "mu=0.25;\n",
+    "a=2;\n",
+    "b=6;\n",
+    "h=0.25;\n",
+    "x=0;\n",
+    "mu=0.25;\n",
+    "\n",
+    "#calculation\n",
+    "p_max=2*sigma*exp(2*mu*(a-x)/h)/sqrt(3);\n",
+    "print('\\nAt the centerline of the slab = %g psi\\n')%(p_max);\n",
+    "print('\\nPressure Distributon from the centerline:');\n",
+    "print('\\n---------------------------------\\n');\n",
+    "print('x\\tp (ksi)\\t\\tt_i (ksi)\\n');\n",
+    "print('---------------------------------\\n');\n",
+    "while x<=2:\n",
+    "    p=2*sigma*exp(2*mu*(a-x)/h)/(1000*sqrt(3));             #in ksi\n",
+    "    t_i=mu*p;\n",
+    "    print('%g\\t%g\\t\\t%g\\n')%(x,p,t_i);\n",
+    "    x+=0.25;\n",
+    "print('---------------------------------\\n');\n",
+    "k=sigma/sqrt(3);\n",
+    "x=0;\n",
+    "p_max1=2*sigma*((a-x)/h+1)/sqrt(3);\n",
+    "x1=a-h/(2*mu)*log(1/(2*mu));\n",
+    "p=2*sigma*(a/(2*h)+1)/sqrt(3);\n",
+    "P=2*p*a*b;\n",
+    "P=P*0.000453;                      #conversion to metric tons\n",
+    "\n",
+    "#result\n",
+    "print('\\nFor sticking friction:\\np_max = %g ksi')%(p_max1/1000);\n",
+    "print('\\n\\nThe Forging load = %g tons')%(P);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_16_1.ipynb b/Mechanical_Metallurgy/Chapter_16_1.ipynb
new file mode 100755
index 00000000..df731606
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_16_1.ipynb
@@ -0,0 +1,131 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 16: Forging"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 16.1, Forging in Plain Strain, Page No. 574"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "At the centerline of the slab = 63044.5 psi\n",
+      "\n",
+      "\n",
+      "Pressure Distributon from the centerline:\n",
+      "\n",
+      "---------------------------------\n",
+      "\n",
+      "x\tp (ksi)\t\tt_i (ksi)\n",
+      "\n",
+      "---------------------------------\n",
+      "\n",
+      "0\t63.0445\t\t15.7611\n",
+      "\n",
+      "0.25\t38.2384\t\t9.55961\n",
+      "\n",
+      "0.5\t23.1928\t\t5.7982\n",
+      "\n",
+      "0.75\t14.0671\t\t3.51678\n",
+      "\n",
+      "1\t8.53215\t\t2.13304\n",
+      "\n",
+      "1.25\t5.17501\t\t1.29375\n",
+      "\n",
+      "1.5\t3.1388\t\t0.7847\n",
+      "\n",
+      "1.75\t1.90378\t\t0.475945\n",
+      "\n",
+      "2\t1.1547\t\t0.288675\n",
+      "\n",
+      "---------------------------------\n",
+      "\n",
+      "\n",
+      "For sticking friction:\n",
+      "p_max = 10.3923 ksi\n",
+      "\n",
+      "\n",
+      "The Forging load = 62.7695 tons\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "from math import exp\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma=1000;\n",
+    "mu=0.25;\n",
+    "a=2;\n",
+    "b=6;\n",
+    "h=0.25;\n",
+    "x=0;\n",
+    "mu=0.25;\n",
+    "\n",
+    "#calculation\n",
+    "p_max=2*sigma*exp(2*mu*(a-x)/h)/sqrt(3);\n",
+    "print('\\nAt the centerline of the slab = %g psi\\n')%(p_max);\n",
+    "print('\\nPressure Distributon from the centerline:');\n",
+    "print('\\n---------------------------------\\n');\n",
+    "print('x\\tp (ksi)\\t\\tt_i (ksi)\\n');\n",
+    "print('---------------------------------\\n');\n",
+    "while x<=2:\n",
+    "    p=2*sigma*exp(2*mu*(a-x)/h)/(1000*sqrt(3));             #in ksi\n",
+    "    t_i=mu*p;\n",
+    "    print('%g\\t%g\\t\\t%g\\n')%(x,p,t_i);\n",
+    "    x+=0.25;\n",
+    "print('---------------------------------\\n');\n",
+    "k=sigma/sqrt(3);\n",
+    "x=0;\n",
+    "p_max1=2*sigma*((a-x)/h+1)/sqrt(3);\n",
+    "x1=a-h/(2*mu)*log(1/(2*mu));\n",
+    "p=2*sigma*(a/(2*h)+1)/sqrt(3);\n",
+    "P=2*p*a*b;\n",
+    "P=P*0.000453;                      #conversion to metric tons\n",
+    "\n",
+    "#result\n",
+    "print('\\nFor sticking friction:\\np_max = %g ksi')%(p_max1/1000);\n",
+    "print('\\n\\nThe Forging load = %g tons')%(P);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_17.ipynb b/Mechanical_Metallurgy/Chapter_17.ipynb
new file mode 100755
index 00000000..b223cd0f
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_17.ipynb
@@ -0,0 +1,239 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 17: Rolling of Metals"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 17.1, Forces in rolling, Page No. 596"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Maximum possible reduction when mu is 0.08 = 0.0768 in\n",
+      "\n",
+      "Maximum possible reduction when mu is 0.5 = 3 in\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import atan\n",
+    "\n",
+    "#variable declaration\n",
+    "mu1=0.08;\n",
+    "mu2=0.5;\n",
+    "R=12;\n",
+    "\n",
+    "#calculation\n",
+    "alpha=atan(mu1);\n",
+    "dh1=mu1**2*R;\n",
+    "dh2=mu2**2*R;\n",
+    "\n",
+    "#result\n",
+    "print('\\nMaximum possible reduction when mu is 0.08 = %g in\\n')%(dh1);\n",
+    "print('Maximum possible reduction when mu is 0.5 = %g in')%(dh2);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 17.2, Rolling Load, Page No. 598"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Rolling Load = 3039.51 kips\n",
+      "\n",
+      "Rolling Load  if sticking friction occurs = 5509.54 kips\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sqrt\n",
+    "from math import exp\n",
+    "\n",
+    "#variable declaration\n",
+    "h0=1.5;\n",
+    "mu=0.3;\n",
+    "D=36;\n",
+    "s_en=20;\n",
+    "s_ex=30;\n",
+    "\n",
+    "#calculation\n",
+    "h1=h0-0.3*h0;\n",
+    "dh=h0-h1;\n",
+    "h_=(h1+h0)/2;\n",
+    "Lp=sqrt(D/2*dh);\n",
+    "Q=mu*Lp/h_;\n",
+    "sigma0=(s_en+s_ex)/2;\n",
+    "P=sigma0*(exp(Q)-1)*s_ex*Lp/Q;\n",
+    "Ps=sigma0*(Lp/(4*dh)+1)*s_ex*Lp;\n",
+    "\n",
+    "#result\n",
+    "print('\\nRolling Load = %g kips')%(P);\n",
+    "print('\\nRolling Load  if sticking friction occurs = %g kips')%(Ps);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 17.3, Rolling Load, Page No. 599"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "P2 = 1410.35\n",
+      "R2 = 18.6281\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import sqrt\n",
+    "from math import exp\n",
+    "\n",
+    "#variable declaration\n",
+    "h0=1.5;\n",
+    "mu=0.3;\n",
+    "D=36;\n",
+    "s_en=20;\n",
+    "s_ex=30;\n",
+    "C=3.34*10**-4;\n",
+    "P_=1357;\n",
+    "\n",
+    "#calculation\n",
+    "h1=h0-0.3*h0;\n",
+    "dh=h0-h1;\n",
+    "h_=(h1+h0)/2;\n",
+    "R=D/2;\n",
+    "R1=R*(1+C*P_/(s_ex*(dh)));\n",
+    "Lp=sqrt(R1*dh);\n",
+    "Q=mu*Lp/h_;\n",
+    "sigma0=(s_en+s_ex)/2;\n",
+    "P2=sigma0*(exp(Q)-1)*s_ex*Lp/Q;\n",
+    "P2=P2*0.45359                         #conversion to tons\n",
+    "R2=R*(1+C*P2/(s_ex*(dh)));\n",
+    "\n",
+    "#result\n",
+    "print('\\nP2 = %g\\nR2 = %g')%(P2,R2);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 17.4, Torque and Horsepower, Page No. 614"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Rolling Load = 540.012\n",
+      "Horsepower = 1713.63\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sqrt\n",
+    "from math import pi\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "w=12;\n",
+    "hi=0.8;\n",
+    "hf=0.6;\n",
+    "D=40;\n",
+    "N=100;\n",
+    "\n",
+    "#calculation\n",
+    "R=D/2;\n",
+    "dh=abs(hf-hi);\n",
+    "e1=log(hi/hf);\n",
+    "r=(hi-hf)/hi;\n",
+    "sigma=20*e1**0.2/1.2;\n",
+    "Qp=1.5;\n",
+    "P=2*sigma*w*sqrt(R*(hi-hf))*Qp/sqrt(3);\n",
+    "a=0.5*sqrt(R*dh);\n",
+    "a=a/12;                             #conversion to ft\n",
+    "hp=4*pi*a*P*N*1000/33000;\n",
+    "\n",
+    "#result\n",
+    "print('\\nRolling Load = %g\\nHorsepower = %g')%(P,hp);\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_17_1.ipynb b/Mechanical_Metallurgy/Chapter_17_1.ipynb
new file mode 100755
index 00000000..b223cd0f
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_17_1.ipynb
@@ -0,0 +1,239 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 17: Rolling of Metals"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 17.1, Forces in rolling, Page No. 596"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Maximum possible reduction when mu is 0.08 = 0.0768 in\n",
+      "\n",
+      "Maximum possible reduction when mu is 0.5 = 3 in\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import atan\n",
+    "\n",
+    "#variable declaration\n",
+    "mu1=0.08;\n",
+    "mu2=0.5;\n",
+    "R=12;\n",
+    "\n",
+    "#calculation\n",
+    "alpha=atan(mu1);\n",
+    "dh1=mu1**2*R;\n",
+    "dh2=mu2**2*R;\n",
+    "\n",
+    "#result\n",
+    "print('\\nMaximum possible reduction when mu is 0.08 = %g in\\n')%(dh1);\n",
+    "print('Maximum possible reduction when mu is 0.5 = %g in')%(dh2);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 17.2, Rolling Load, Page No. 598"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Rolling Load = 3039.51 kips\n",
+      "\n",
+      "Rolling Load  if sticking friction occurs = 5509.54 kips\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sqrt\n",
+    "from math import exp\n",
+    "\n",
+    "#variable declaration\n",
+    "h0=1.5;\n",
+    "mu=0.3;\n",
+    "D=36;\n",
+    "s_en=20;\n",
+    "s_ex=30;\n",
+    "\n",
+    "#calculation\n",
+    "h1=h0-0.3*h0;\n",
+    "dh=h0-h1;\n",
+    "h_=(h1+h0)/2;\n",
+    "Lp=sqrt(D/2*dh);\n",
+    "Q=mu*Lp/h_;\n",
+    "sigma0=(s_en+s_ex)/2;\n",
+    "P=sigma0*(exp(Q)-1)*s_ex*Lp/Q;\n",
+    "Ps=sigma0*(Lp/(4*dh)+1)*s_ex*Lp;\n",
+    "\n",
+    "#result\n",
+    "print('\\nRolling Load = %g kips')%(P);\n",
+    "print('\\nRolling Load  if sticking friction occurs = %g kips')%(Ps);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 17.3, Rolling Load, Page No. 599"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "P2 = 1410.35\n",
+      "R2 = 18.6281\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import sqrt\n",
+    "from math import exp\n",
+    "\n",
+    "#variable declaration\n",
+    "h0=1.5;\n",
+    "mu=0.3;\n",
+    "D=36;\n",
+    "s_en=20;\n",
+    "s_ex=30;\n",
+    "C=3.34*10**-4;\n",
+    "P_=1357;\n",
+    "\n",
+    "#calculation\n",
+    "h1=h0-0.3*h0;\n",
+    "dh=h0-h1;\n",
+    "h_=(h1+h0)/2;\n",
+    "R=D/2;\n",
+    "R1=R*(1+C*P_/(s_ex*(dh)));\n",
+    "Lp=sqrt(R1*dh);\n",
+    "Q=mu*Lp/h_;\n",
+    "sigma0=(s_en+s_ex)/2;\n",
+    "P2=sigma0*(exp(Q)-1)*s_ex*Lp/Q;\n",
+    "P2=P2*0.45359                         #conversion to tons\n",
+    "R2=R*(1+C*P2/(s_ex*(dh)));\n",
+    "\n",
+    "#result\n",
+    "print('\\nP2 = %g\\nR2 = %g')%(P2,R2);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 17.4, Torque and Horsepower, Page No. 614"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Rolling Load = 540.012\n",
+      "Horsepower = 1713.63\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sqrt\n",
+    "from math import pi\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "w=12;\n",
+    "hi=0.8;\n",
+    "hf=0.6;\n",
+    "D=40;\n",
+    "N=100;\n",
+    "\n",
+    "#calculation\n",
+    "R=D/2;\n",
+    "dh=abs(hf-hi);\n",
+    "e1=log(hi/hf);\n",
+    "r=(hi-hf)/hi;\n",
+    "sigma=20*e1**0.2/1.2;\n",
+    "Qp=1.5;\n",
+    "P=2*sigma*w*sqrt(R*(hi-hf))*Qp/sqrt(3);\n",
+    "a=0.5*sqrt(R*dh);\n",
+    "a=a/12;                             #conversion to ft\n",
+    "hp=4*pi*a*P*N*1000/33000;\n",
+    "\n",
+    "#result\n",
+    "print('\\nRolling Load = %g\\nHorsepower = %g')%(P,hp);\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_18.ipynb b/Mechanical_Metallurgy/Chapter_18.ipynb
new file mode 100755
index 00000000..8fcdfd7b
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_18.ipynb
@@ -0,0 +1,94 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 18: Extrusion"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 18.1, Extrusion Process, Page No. 629"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Force required for the Operation = 3827.95 metric tons\n",
+      "\n",
+      "\n",
+      "Note: Slight calculation errors in book\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import log\n",
+    "from math import radians\n",
+    "from math import tan\n",
+    "from math import sqrt\n",
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "def cot(x):\n",
+    "    return 1/tan(x);\n",
+    "Db=6;\n",
+    "Df=2;\n",
+    "L=15;\n",
+    "v=2;\n",
+    "alpha=60;\n",
+    "mu=0.1;\n",
+    "\n",
+    "#calculations\n",
+    "R=Db**2/Df**2;\n",
+    "e=6*v*log(R)/Db\n",
+    "sigma=200*e**0.15;\n",
+    "alpha=radians(alpha);\n",
+    "B=mu*cot(alpha);\n",
+    "p_d=sigma*((1+B)/B)*(1-R**B);\n",
+    "p_d=abs(p_d);\n",
+    "t_i=sigma/sqrt(3);\n",
+    "p_e=p_d+4*t_i*L/Db;\n",
+    "p_e=p_e*145.0377;                    #conversion to psi\n",
+    "A=pi*Db**2/4;\n",
+    "P=p_e*A;\n",
+    "P=P*0.000453;                      #conversion to metric tons\n",
+    "\n",
+    "#result\n",
+    "print('\\nForce required for the Operation = %g metric tons\\n\\n\\nNote: Slight calculation errors in book')%(P);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_18_1.ipynb b/Mechanical_Metallurgy/Chapter_18_1.ipynb
new file mode 100755
index 00000000..8fcdfd7b
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_18_1.ipynb
@@ -0,0 +1,94 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 18: Extrusion"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 18.1, Extrusion Process, Page No. 629"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Force required for the Operation = 3827.95 metric tons\n",
+      "\n",
+      "\n",
+      "Note: Slight calculation errors in book\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import log\n",
+    "from math import radians\n",
+    "from math import tan\n",
+    "from math import sqrt\n",
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "def cot(x):\n",
+    "    return 1/tan(x);\n",
+    "Db=6;\n",
+    "Df=2;\n",
+    "L=15;\n",
+    "v=2;\n",
+    "alpha=60;\n",
+    "mu=0.1;\n",
+    "\n",
+    "#calculations\n",
+    "R=Db**2/Df**2;\n",
+    "e=6*v*log(R)/Db\n",
+    "sigma=200*e**0.15;\n",
+    "alpha=radians(alpha);\n",
+    "B=mu*cot(alpha);\n",
+    "p_d=sigma*((1+B)/B)*(1-R**B);\n",
+    "p_d=abs(p_d);\n",
+    "t_i=sigma/sqrt(3);\n",
+    "p_e=p_d+4*t_i*L/Db;\n",
+    "p_e=p_e*145.0377;                    #conversion to psi\n",
+    "A=pi*Db**2/4;\n",
+    "P=p_e*A;\n",
+    "P=P*0.000453;                      #conversion to metric tons\n",
+    "\n",
+    "#result\n",
+    "print('\\nForce required for the Operation = %g metric tons\\n\\n\\nNote: Slight calculation errors in book')%(P);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_19.ipynb b/Mechanical_Metallurgy/Chapter_19.ipynb
new file mode 100755
index 00000000..33c96b04
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_19.ipynb
@@ -0,0 +1,145 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 19: Drawing of Rods, Wires and Tubes"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 19.1, Analysis of Wiredrawing, Page No. 640"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Drawing Stress = 240.422 MPa\n",
+      "Drawing Force = 12.0849 kN\n",
+      "Power = 36.2548 kW\n",
+      "Horsepower = 48.599 hp\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "from math import radians\n",
+    "from math import tan\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "def cot(x):\n",
+    "    return 1/tan(x);\n",
+    "Ab=10;\n",
+    "r=0.2;\n",
+    "alpha=12;\n",
+    "mu=0.09;\n",
+    "n=0.3;\n",
+    "K=1300;\n",
+    "v=3;\n",
+    "\n",
+    "#calculation\n",
+    "alpha=radians(alpha);\n",
+    "B=mu*cot(alpha/2);\n",
+    "e1=log(1/(1-r));\n",
+    "sigma=K*e1**0.3/(n+1);\n",
+    "Aa=Ab*(1-r);\n",
+    "sigma_xa=sigma*((1+B)/B)*(1-(Aa/Ab)**B);\n",
+    "Aa=pi*Aa**2/4;\n",
+    "Pd=sigma_xa*Aa;\n",
+    "Pd=Pd/1000;                        #conversion to kilo units\n",
+    "P=Pd*v;\n",
+    "H=P/0.746;\n",
+    "\n",
+    "#result\n",
+    "print('\\nDrawing Stress = %g MPa\\nDrawing Force = %g kN\\nPower = %g kW\\nHorsepower = %g hp')%(sigma_xa,Pd,P,H);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 19.2, Analysis of Wiredrawing, Page No. 645"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "By First Approximation, r = 0.514412\n",
+      "By Second Approximation, r = 0.830601\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import radians\n",
+    "from math import tan\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "def cot(x):\n",
+    "    return 1/tan(x);\n",
+    "alpha=12;\n",
+    "r=0.2;\n",
+    "mu=0.09;\n",
+    "n=0.3;\n",
+    "K=1300;\n",
+    "v=3;\n",
+    "\n",
+    "#calculation\n",
+    "alpha=radians(alpha);\n",
+    "B=mu*cot(alpha/2);\n",
+    "e1=log(1/(1-r));\n",
+    "sigma_xa=K*e1**0.3/(n+1);\n",
+    "r1=1-((1-(B/(B+1)))**(1/B));\n",
+    "e=log(1/(1-r1));\n",
+    "sigma0=1300*e**0.3;\n",
+    "r2=1-(1-((sigma0/sigma_xa)*(B/(B+1)))**(1/B));\n",
+    "\n",
+    "#result\n",
+    "print('\\nBy First Approximation, r = %g\\nBy Second Approximation, r = %g')%(r1,r2);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_19_1.ipynb b/Mechanical_Metallurgy/Chapter_19_1.ipynb
new file mode 100755
index 00000000..33c96b04
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_19_1.ipynb
@@ -0,0 +1,145 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 19: Drawing of Rods, Wires and Tubes"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 19.1, Analysis of Wiredrawing, Page No. 640"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Drawing Stress = 240.422 MPa\n",
+      "Drawing Force = 12.0849 kN\n",
+      "Power = 36.2548 kW\n",
+      "Horsepower = 48.599 hp\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "from math import radians\n",
+    "from math import tan\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "def cot(x):\n",
+    "    return 1/tan(x);\n",
+    "Ab=10;\n",
+    "r=0.2;\n",
+    "alpha=12;\n",
+    "mu=0.09;\n",
+    "n=0.3;\n",
+    "K=1300;\n",
+    "v=3;\n",
+    "\n",
+    "#calculation\n",
+    "alpha=radians(alpha);\n",
+    "B=mu*cot(alpha/2);\n",
+    "e1=log(1/(1-r));\n",
+    "sigma=K*e1**0.3/(n+1);\n",
+    "Aa=Ab*(1-r);\n",
+    "sigma_xa=sigma*((1+B)/B)*(1-(Aa/Ab)**B);\n",
+    "Aa=pi*Aa**2/4;\n",
+    "Pd=sigma_xa*Aa;\n",
+    "Pd=Pd/1000;                        #conversion to kilo units\n",
+    "P=Pd*v;\n",
+    "H=P/0.746;\n",
+    "\n",
+    "#result\n",
+    "print('\\nDrawing Stress = %g MPa\\nDrawing Force = %g kN\\nPower = %g kW\\nHorsepower = %g hp')%(sigma_xa,Pd,P,H);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 19.2, Analysis of Wiredrawing, Page No. 645"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "By First Approximation, r = 0.514412\n",
+      "By Second Approximation, r = 0.830601\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import radians\n",
+    "from math import tan\n",
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "def cot(x):\n",
+    "    return 1/tan(x);\n",
+    "alpha=12;\n",
+    "r=0.2;\n",
+    "mu=0.09;\n",
+    "n=0.3;\n",
+    "K=1300;\n",
+    "v=3;\n",
+    "\n",
+    "#calculation\n",
+    "alpha=radians(alpha);\n",
+    "B=mu*cot(alpha/2);\n",
+    "e1=log(1/(1-r));\n",
+    "sigma_xa=K*e1**0.3/(n+1);\n",
+    "r1=1-((1-(B/(B+1)))**(1/B));\n",
+    "e=log(1/(1-r1));\n",
+    "sigma0=1300*e**0.3;\n",
+    "r2=1-(1-((sigma0/sigma_xa)*(B/(B+1)))**(1/B));\n",
+    "\n",
+    "#result\n",
+    "print('\\nBy First Approximation, r = %g\\nBy Second Approximation, r = %g')%(r1,r2);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_1_1.ipynb b/Mechanical_Metallurgy/Chapter_1_1.ipynb
new file mode 100755
index 00000000..7660f24c
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_1_1.ipynb
@@ -0,0 +1,73 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 1: Introduction"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 1.1, Shear Stress, Page No. 16"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Shear Stress Required to nucleate a grain boundary crack in high temperature deformation = 158.887 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "from math import pi\n",
+    "from math import sqrt\n",
+    "y_b=2;\n",
+    "G=75;\n",
+    "G=G*10**9;       #conversion to Pa\n",
+    "L=0.01;\n",
+    "L=L*10**-3;       #conversion to m\n",
+    "nu=0.3;\n",
+    "\n",
+    "#calculation\n",
+    "T=sqrt((3*pi*y_b*G)/(8*(1-nu)*L));\n",
+    "T=T/10**6;\n",
+    "\n",
+    "#result\n",
+    "print ('Shear Stress Required to nucleate a grain boundary crack in high temperature deformation = %g MPa') %(T)"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_2.ipynb b/Mechanical_Metallurgy/Chapter_2.ipynb
new file mode 100755
index 00000000..535881a6
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_2.ipynb
@@ -0,0 +1,251 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 2: Stress and Strain Relationships for Elastic Behavior"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 2.1, State of Stress in two dimensions, Page No. 25"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "sigma_x= -12.5 MPa\n",
+      "sigma_y= -2.5 MPa\n",
+      "T_xy= 57.5 MPa\n",
+      "sigma_y`= -65 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sin\n",
+    "from math import cos\n",
+    "from math import radians\n",
+    "from numpy.linalg import inv\n",
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma_x=25;\n",
+    "sigma_y=5;\n",
+    "theta=45;\n",
+    "sigma_x_=50;\n",
+    "T_x_y_=5;\n",
+    "\n",
+    "#calculation\n",
+    "theta=radians(theta);\n",
+    "A=[[(sigma_x+sigma_y)/2+(sigma_x-sigma_y)/2*cos(2*theta),sin(2*theta)],[(sigma_y-sigma_x)/2*sin(2*theta),cos(2*theta)]];\n",
+    "B=[[sigma_x_],[T_x_y_]];\n",
+    "X=np.dot(inv(A),B);\n",
+    "p=X[0];\n",
+    "T_xy=X[1];\n",
+    "sigma_x1=sigma_x*p;\n",
+    "sigma_y1=sigma_y*p;\n",
+    "sigma_y_=sigma_x1+sigma_y1-sigma_x_;\n",
+    "\n",
+    "#result\n",
+    "print ('\\nsigma_x= %g MPa\\nsigma_y= %g MPa\\nT_xy= %g MPa\\nsigma_y`= %g MPa') %(sigma_x1,sigma_y1,T_xy,sigma_y_);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 2.2, State of Stress in three dimensions, Page No. 29"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "sigma0 = 360 MPa\n",
+      "\n",
+      "sigma1 = -280 MPa\n",
+      "\n",
+      "sigma2 = -160 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "A=[[0,-240,0],[-240,200,0],[0,0,-280]];\n",
+    "\n",
+    "#calcualtion\n",
+    "p=[1, -(A[0][0]+A[1][1]+A[2][2]), (A[0][0]*A[1][1]+A[1][1]*A[2][2]+A[0][0]*A[2][2]-A[1][0]**2-A[2][1]**2-A[2][0]**2), -(A[0][0]*A[1][1]*A[2][2]+2*A[1][0]*A[2][1]*A[2][0]-A[0][0]*A[2][1]**2-A[1][1]*A[2][0]**2-A[2][2]*A[1][0]**2)];\n",
+    "X=np.roots(p);\n",
+    "\n",
+    "#result\n",
+    "for i in range (0,3):\n",
+    "    print('\\nsigma%i = %g MPa')%(i,X[i]);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 2.3, Calculation of Stresses from elastic strains, Page No. 52"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "sigma1 = 971.833 MPa\n",
+      "sigma2 = 520.705 MPa\n",
+      "\n",
+      "\n",
+      "Note: Slight calculation errors in Book\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "E=200;\n",
+    "nu=0.33;\n",
+    "e1=0.004;\n",
+    "e2=0.001;\n",
+    "\n",
+    "#calculation\n",
+    "sigma1=E*(e1+nu*e2)/(1-nu**2);\n",
+    "sigma2=E*(e2+nu*e1)/(1-nu**2);\n",
+    "sigma1=sigma1*1000;        #conversion to MPa\n",
+    "sigma2=sigma2*1000;        #conversion to MPa\n",
+    "\n",
+    "#result\n",
+    "print('\\nsigma1 = %g MPa\\nsigma2 = %g MPa\\n')%(sigma1,sigma2);\n",
+    "print('\\nNote: Slight calculation errors in Book')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 2.4, Elastic Anisotropy, Page No. 60"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "For Iron:\n",
+      "\n",
+      "\n",
+      "E_111 = 2.72727 x 10^11 Pa\n",
+      "E_100 = 1.25 x 10^11 Pa\n",
+      "\n",
+      "\n",
+      "\n",
+      "\n",
+      "For Tungten:\n",
+      "\n",
+      "\n",
+      "E_111 = 3.84615 x 10^11 Pa\n",
+      "E_100 = 3.84615 x 10^11 Pa\n",
+      "\n",
+      "Therefore tungsten is elastically isotropic while iron is elasitcally anisotropic\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "from math import sqrt\n",
+    "S11_Fe=0.8;\n",
+    "S12_Fe=-0.28;\n",
+    "S44_Fe=0.86;\n",
+    "S11_W=0.26;\n",
+    "S12_W=-0.07;\n",
+    "S44_W=0.66;\n",
+    "D_100_l=1;\n",
+    "D_100_m=0;\n",
+    "D_100_n=0;\n",
+    "D_110_l=1/sqrt(2);\n",
+    "D_110_m=1/sqrt(2);\n",
+    "D_110_n=0;\n",
+    "D_111_l=1/sqrt(3);\n",
+    "D_111_m=1/sqrt(3);\n",
+    "D_111_n=1/sqrt(3);\n",
+    "\n",
+    "#calculation\n",
+    "Fe_E_111=1/(S11_Fe-2*((S11_Fe-S12_Fe)-S44_Fe/2)*(D_111_l**2*D_111_m**2+D_111_n**2*D_111_m**2+D_111_l**2*D_111_n**2));\n",
+    "Fe_E_100=1/(S11_Fe-2*((S11_Fe-S12_Fe)-S44_Fe/2)*(D_100_l**2*D_100_m**2+D_100_n**2*D_100_m**2+D_100_l**2*D_100_n**2));\n",
+    "W_E_111=1/(S11_W-2*((S11_W-S12_W)-S44_W/2)*(D_111_l**2*D_111_m**2+D_111_n**2*D_111_m**2+D_111_l**2*D_111_n**2));\n",
+    "W_E_100=1/(S11_W-2*((S11_W-S12_W)-S44_W/2)*(D_100_l**2*D_100_m**2+D_100_n**2*D_100_m**2+D_100_l**2*D_100_n**2));\n",
+    "\n",
+    "#result\n",
+    "print '\\nFor Iron:\\n\\n'\n",
+    "print 'E_111 = %g x 10^11 Pa\\nE_100 = %g x 10^11 Pa\\n' %(Fe_E_111,Fe_E_100)\n",
+    "print '\\n\\n\\nFor Tungten:\\n\\n'\n",
+    "print 'E_111 = %g x 10^11 Pa\\nE_100 = %g x 10^11 Pa\\n\\nTherefore tungsten is elastically isotropic while iron is elasitcally anisotropic' %(W_E_111,W_E_100)\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_20.ipynb b/Mechanical_Metallurgy/Chapter_20.ipynb
new file mode 100755
index 00000000..90519f65
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_20.ipynb
@@ -0,0 +1,109 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 20: Sheet-Metal Forming"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 20.1, Deep Drawing, Page No. 672"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Limiting ratio = 1.98104\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "le=0.3;\n",
+    "wd=-0.16;\n",
+    "\n",
+    "#calcualtion\n",
+    "l_l0=1+le;\n",
+    "w_w0=1+wd;\n",
+    "R=log(1/w_w0)/log((w_w0)*l_l0);\n",
+    "\n",
+    "#result\n",
+    "print('\\nLimiting ratio = %g')%(R);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 20.2, Forming Limit Criteria, Page No. 675"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Major Strain = 80 percent \n",
+      "Minor Strain = -20 percent\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "d=0.1;\n",
+    "mj_d=0.18;\n",
+    "mn_d=0.08;\n",
+    "\n",
+    "#calculation\n",
+    "e1=(mj_d-d)/d;\n",
+    "e2=(mn_d-d)/d;\n",
+    "\n",
+    "#result\n",
+    "print('\\nMajor Strain = %g percent \\nMinor Strain = %g percent')%(e1*100,e2*100);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_20_1.ipynb b/Mechanical_Metallurgy/Chapter_20_1.ipynb
new file mode 100755
index 00000000..90519f65
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_20_1.ipynb
@@ -0,0 +1,109 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 20: Sheet-Metal Forming"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 20.1, Deep Drawing, Page No. 672"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Limiting ratio = 1.98104\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import log\n",
+    "\n",
+    "#variable declaration\n",
+    "le=0.3;\n",
+    "wd=-0.16;\n",
+    "\n",
+    "#calcualtion\n",
+    "l_l0=1+le;\n",
+    "w_w0=1+wd;\n",
+    "R=log(1/w_w0)/log((w_w0)*l_l0);\n",
+    "\n",
+    "#result\n",
+    "print('\\nLimiting ratio = %g')%(R);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 20.2, Forming Limit Criteria, Page No. 675"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Major Strain = 80 percent \n",
+      "Minor Strain = -20 percent\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "d=0.1;\n",
+    "mj_d=0.18;\n",
+    "mn_d=0.08;\n",
+    "\n",
+    "#calculation\n",
+    "e1=(mj_d-d)/d;\n",
+    "e2=(mn_d-d)/d;\n",
+    "\n",
+    "#result\n",
+    "print('\\nMajor Strain = %g percent \\nMinor Strain = %g percent')%(e1*100,e2*100);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_21.ipynb b/Mechanical_Metallurgy/Chapter_21.ipynb
new file mode 100755
index 00000000..1f68c4e7
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_21.ipynb
@@ -0,0 +1,252 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 21: Machining of Metals"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 21.1, Mechanics of Machining, Page No. 685"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Shear Plane Angle for 1040 steel= 22.2946 deg\n",
+      "\n",
+      "Shear Plane Angle for Copper = 10.6433 deg\n"
+     ]
+    }
+   ],
+   "source": [
+    "from scipy.optimize import fsolve\n",
+    "from math import radians, degrees, pi, cos, sin\n",
+    "\n",
+    "#variable declaration\n",
+    "a=6;\n",
+    "sigma_s=60000.0;\n",
+    "su_s=91000.0;\n",
+    "sigma_c=10000.0;\n",
+    "su_c=30000;\n",
+    "a=radians(a);\n",
+    "\n",
+    "\n",
+    "#calculation\n",
+    "def s(fi):\n",
+    "    return cos(fi-a)*sin(fi)-sigma_s/su_s*(cos(pi/4-a/2)*sin(pi/4+a/2))\n",
+    "def c(fi):\n",
+    "    return cos(fi-a)*sin(fi)-sigma_c/su_c*(cos(pi/4-a/2)*sin(pi/4+a/2))\n",
+    "fi1=fsolve(s,0);\n",
+    "fi2=fsolve(c,0);\n",
+    "fi1=degrees(fi1);\n",
+    "fi2=degrees(fi2);\n",
+    "\n",
+    "#result\n",
+    "print('\\nShear Plane Angle for 1040 steel= %g deg')%(fi1);\n",
+    "print('\\nShear Plane Angle for Copper = %g deg')%(fi2);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 21.2, Mechanics of Machining, Page No. 687"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Slip plane angle = 33.1927 deg\n",
+      "Percentage of total energy that goes into friction = 30.918 percent\n",
+      "Percentage of total energy that goes into shear = 69.082 percent\n",
+      "Total energy per unit volume = 0.197285 hp min/in^3\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import sin\n",
+    "from math import cos\n",
+    "from math import tan\n",
+    "from math import atan\n",
+    "from math import radians\n",
+    "from math import sqrt\n",
+    "from math import degrees\n",
+    "\n",
+    "#variable declaration\n",
+    "v=500;\n",
+    "alpha=6;\n",
+    "b=0.4;\n",
+    "t=0.008;\n",
+    "Fv=100;\n",
+    "Fh=250;\n",
+    "L=20;\n",
+    "rho=0.283;\n",
+    "m=13.36;\n",
+    "m=m/454;            #conversion to lb\n",
+    "\n",
+    "#calculation\n",
+    "tc=m/(rho*b*L);\n",
+    "r=t/tc;\n",
+    "alpha=radians(alpha);\n",
+    "fi=atan(r*cos(alpha)/(1-r*sin(alpha)));\n",
+    "#fi=degrees(fi);\n",
+    "mu=(Fv+Fh*tan(alpha))/(Fh-Fv*tan(alpha));\n",
+    "be=atan(mu);\n",
+    "Pr=sqrt(Fv**2+Fh**2);\n",
+    "Ft=Pr*sin(be);\n",
+    "p_fe=Ft*r/Fh;\n",
+    "Fs=Fh*cos(fi)-Fv*sin(fi);\n",
+    "vs=v*cos(alpha)/cos(fi-alpha);\n",
+    "p_se=Fs*vs/(Fh*v);\n",
+    "U=Fh*v/(b*t*v);\n",
+    "U=U/33000;                     #conversion to hp\n",
+    "U=U/12;                         #conversion of ft units to in units\n",
+    "fi=degrees(fi);\n",
+    "\n",
+    "#result\n",
+    "print('\\nSlip plane angle = %g deg\\nPercentage of total energy that goes into friction = %g percent\\nPercentage of total energy that goes into shear = %g percent\\nTotal energy per unit volume = %g hp min/in^3')%(fi,p_fe*100,p_se*100,U);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 21.3, Tool Materials and Tool Life, Page No. 698"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "For High Speed steel tool, increase in tool life is given by: t2 = 322.54 t1\n",
+      "\n",
+      "For Cemented carbide tool, increase in tool life is given by: t2 = 10.0794 t1\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "d=0.5;\n",
+    "\n",
+    "#calculation\n",
+    "t1=(1/d)**(1/0.12);\n",
+    "t2=(1/d)**(1/0.3);\n",
+    "\n",
+    "#result\n",
+    "print('\\nFor High Speed steel tool, increase in tool life is given by: t2 = %g t1')%(t1);\n",
+    "print('\\nFor Cemented carbide tool, increase in tool life is given by: t2 = %g t1')%(t2);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 21.4, Grinding Processes, Page No. 703"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Tangential force = 24 N\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "U=40;\n",
+    "uw=0.3;\n",
+    "b=1.2;\n",
+    "v=30;\n",
+    "d=0.05;\n",
+    "\n",
+    "#calculation\n",
+    "b=b*10**-3;                   #conversion to m\n",
+    "d=d*10**-3;                     #conversion to m\n",
+    "U=U*10**9;                     #conversion to Pa\n",
+    "M=uw*b*d;\n",
+    "P=U*M;\n",
+    "F=P/v;\n",
+    "\n",
+    "#result\n",
+    "print('Tangential force = %g N')%(F);\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_21_1.ipynb b/Mechanical_Metallurgy/Chapter_21_1.ipynb
new file mode 100755
index 00000000..1f68c4e7
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_21_1.ipynb
@@ -0,0 +1,252 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 21: Machining of Metals"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 21.1, Mechanics of Machining, Page No. 685"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Shear Plane Angle for 1040 steel= 22.2946 deg\n",
+      "\n",
+      "Shear Plane Angle for Copper = 10.6433 deg\n"
+     ]
+    }
+   ],
+   "source": [
+    "from scipy.optimize import fsolve\n",
+    "from math import radians, degrees, pi, cos, sin\n",
+    "\n",
+    "#variable declaration\n",
+    "a=6;\n",
+    "sigma_s=60000.0;\n",
+    "su_s=91000.0;\n",
+    "sigma_c=10000.0;\n",
+    "su_c=30000;\n",
+    "a=radians(a);\n",
+    "\n",
+    "\n",
+    "#calculation\n",
+    "def s(fi):\n",
+    "    return cos(fi-a)*sin(fi)-sigma_s/su_s*(cos(pi/4-a/2)*sin(pi/4+a/2))\n",
+    "def c(fi):\n",
+    "    return cos(fi-a)*sin(fi)-sigma_c/su_c*(cos(pi/4-a/2)*sin(pi/4+a/2))\n",
+    "fi1=fsolve(s,0);\n",
+    "fi2=fsolve(c,0);\n",
+    "fi1=degrees(fi1);\n",
+    "fi2=degrees(fi2);\n",
+    "\n",
+    "#result\n",
+    "print('\\nShear Plane Angle for 1040 steel= %g deg')%(fi1);\n",
+    "print('\\nShear Plane Angle for Copper = %g deg')%(fi2);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 21.2, Mechanics of Machining, Page No. 687"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Slip plane angle = 33.1927 deg\n",
+      "Percentage of total energy that goes into friction = 30.918 percent\n",
+      "Percentage of total energy that goes into shear = 69.082 percent\n",
+      "Total energy per unit volume = 0.197285 hp min/in^3\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import sin\n",
+    "from math import cos\n",
+    "from math import tan\n",
+    "from math import atan\n",
+    "from math import radians\n",
+    "from math import sqrt\n",
+    "from math import degrees\n",
+    "\n",
+    "#variable declaration\n",
+    "v=500;\n",
+    "alpha=6;\n",
+    "b=0.4;\n",
+    "t=0.008;\n",
+    "Fv=100;\n",
+    "Fh=250;\n",
+    "L=20;\n",
+    "rho=0.283;\n",
+    "m=13.36;\n",
+    "m=m/454;            #conversion to lb\n",
+    "\n",
+    "#calculation\n",
+    "tc=m/(rho*b*L);\n",
+    "r=t/tc;\n",
+    "alpha=radians(alpha);\n",
+    "fi=atan(r*cos(alpha)/(1-r*sin(alpha)));\n",
+    "#fi=degrees(fi);\n",
+    "mu=(Fv+Fh*tan(alpha))/(Fh-Fv*tan(alpha));\n",
+    "be=atan(mu);\n",
+    "Pr=sqrt(Fv**2+Fh**2);\n",
+    "Ft=Pr*sin(be);\n",
+    "p_fe=Ft*r/Fh;\n",
+    "Fs=Fh*cos(fi)-Fv*sin(fi);\n",
+    "vs=v*cos(alpha)/cos(fi-alpha);\n",
+    "p_se=Fs*vs/(Fh*v);\n",
+    "U=Fh*v/(b*t*v);\n",
+    "U=U/33000;                     #conversion to hp\n",
+    "U=U/12;                         #conversion of ft units to in units\n",
+    "fi=degrees(fi);\n",
+    "\n",
+    "#result\n",
+    "print('\\nSlip plane angle = %g deg\\nPercentage of total energy that goes into friction = %g percent\\nPercentage of total energy that goes into shear = %g percent\\nTotal energy per unit volume = %g hp min/in^3')%(fi,p_fe*100,p_se*100,U);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 21.3, Tool Materials and Tool Life, Page No. 698"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "For High Speed steel tool, increase in tool life is given by: t2 = 322.54 t1\n",
+      "\n",
+      "For Cemented carbide tool, increase in tool life is given by: t2 = 10.0794 t1\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "d=0.5;\n",
+    "\n",
+    "#calculation\n",
+    "t1=(1/d)**(1/0.12);\n",
+    "t2=(1/d)**(1/0.3);\n",
+    "\n",
+    "#result\n",
+    "print('\\nFor High Speed steel tool, increase in tool life is given by: t2 = %g t1')%(t1);\n",
+    "print('\\nFor Cemented carbide tool, increase in tool life is given by: t2 = %g t1')%(t2);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 21.4, Grinding Processes, Page No. 703"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Tangential force = 24 N\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "U=40;\n",
+    "uw=0.3;\n",
+    "b=1.2;\n",
+    "v=30;\n",
+    "d=0.05;\n",
+    "\n",
+    "#calculation\n",
+    "b=b*10**-3;                   #conversion to m\n",
+    "d=d*10**-3;                     #conversion to m\n",
+    "U=U*10**9;                     #conversion to Pa\n",
+    "M=uw*b*d;\n",
+    "P=U*M;\n",
+    "F=P/v;\n",
+    "\n",
+    "#result\n",
+    "print('Tangential force = %g N')%(F);\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_2_1.ipynb b/Mechanical_Metallurgy/Chapter_2_1.ipynb
new file mode 100755
index 00000000..535881a6
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_2_1.ipynb
@@ -0,0 +1,251 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 2: Stress and Strain Relationships for Elastic Behavior"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 2.1, State of Stress in two dimensions, Page No. 25"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "sigma_x= -12.5 MPa\n",
+      "sigma_y= -2.5 MPa\n",
+      "T_xy= 57.5 MPa\n",
+      "sigma_y`= -65 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sin\n",
+    "from math import cos\n",
+    "from math import radians\n",
+    "from numpy.linalg import inv\n",
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma_x=25;\n",
+    "sigma_y=5;\n",
+    "theta=45;\n",
+    "sigma_x_=50;\n",
+    "T_x_y_=5;\n",
+    "\n",
+    "#calculation\n",
+    "theta=radians(theta);\n",
+    "A=[[(sigma_x+sigma_y)/2+(sigma_x-sigma_y)/2*cos(2*theta),sin(2*theta)],[(sigma_y-sigma_x)/2*sin(2*theta),cos(2*theta)]];\n",
+    "B=[[sigma_x_],[T_x_y_]];\n",
+    "X=np.dot(inv(A),B);\n",
+    "p=X[0];\n",
+    "T_xy=X[1];\n",
+    "sigma_x1=sigma_x*p;\n",
+    "sigma_y1=sigma_y*p;\n",
+    "sigma_y_=sigma_x1+sigma_y1-sigma_x_;\n",
+    "\n",
+    "#result\n",
+    "print ('\\nsigma_x= %g MPa\\nsigma_y= %g MPa\\nT_xy= %g MPa\\nsigma_y`= %g MPa') %(sigma_x1,sigma_y1,T_xy,sigma_y_);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 2.2, State of Stress in three dimensions, Page No. 29"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 22,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "sigma0 = 360 MPa\n",
+      "\n",
+      "sigma1 = -280 MPa\n",
+      "\n",
+      "sigma2 = -160 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "A=[[0,-240,0],[-240,200,0],[0,0,-280]];\n",
+    "\n",
+    "#calcualtion\n",
+    "p=[1, -(A[0][0]+A[1][1]+A[2][2]), (A[0][0]*A[1][1]+A[1][1]*A[2][2]+A[0][0]*A[2][2]-A[1][0]**2-A[2][1]**2-A[2][0]**2), -(A[0][0]*A[1][1]*A[2][2]+2*A[1][0]*A[2][1]*A[2][0]-A[0][0]*A[2][1]**2-A[1][1]*A[2][0]**2-A[2][2]*A[1][0]**2)];\n",
+    "X=np.roots(p);\n",
+    "\n",
+    "#result\n",
+    "for i in range (0,3):\n",
+    "    print('\\nsigma%i = %g MPa')%(i,X[i]);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 2.3, Calculation of Stresses from elastic strains, Page No. 52"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 15,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "sigma1 = 971.833 MPa\n",
+      "sigma2 = 520.705 MPa\n",
+      "\n",
+      "\n",
+      "Note: Slight calculation errors in Book\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "E=200;\n",
+    "nu=0.33;\n",
+    "e1=0.004;\n",
+    "e2=0.001;\n",
+    "\n",
+    "#calculation\n",
+    "sigma1=E*(e1+nu*e2)/(1-nu**2);\n",
+    "sigma2=E*(e2+nu*e1)/(1-nu**2);\n",
+    "sigma1=sigma1*1000;        #conversion to MPa\n",
+    "sigma2=sigma2*1000;        #conversion to MPa\n",
+    "\n",
+    "#result\n",
+    "print('\\nsigma1 = %g MPa\\nsigma2 = %g MPa\\n')%(sigma1,sigma2);\n",
+    "print('\\nNote: Slight calculation errors in Book')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 2.4, Elastic Anisotropy, Page No. 60"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "For Iron:\n",
+      "\n",
+      "\n",
+      "E_111 = 2.72727 x 10^11 Pa\n",
+      "E_100 = 1.25 x 10^11 Pa\n",
+      "\n",
+      "\n",
+      "\n",
+      "\n",
+      "For Tungten:\n",
+      "\n",
+      "\n",
+      "E_111 = 3.84615 x 10^11 Pa\n",
+      "E_100 = 3.84615 x 10^11 Pa\n",
+      "\n",
+      "Therefore tungsten is elastically isotropic while iron is elasitcally anisotropic\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "from math import sqrt\n",
+    "S11_Fe=0.8;\n",
+    "S12_Fe=-0.28;\n",
+    "S44_Fe=0.86;\n",
+    "S11_W=0.26;\n",
+    "S12_W=-0.07;\n",
+    "S44_W=0.66;\n",
+    "D_100_l=1;\n",
+    "D_100_m=0;\n",
+    "D_100_n=0;\n",
+    "D_110_l=1/sqrt(2);\n",
+    "D_110_m=1/sqrt(2);\n",
+    "D_110_n=0;\n",
+    "D_111_l=1/sqrt(3);\n",
+    "D_111_m=1/sqrt(3);\n",
+    "D_111_n=1/sqrt(3);\n",
+    "\n",
+    "#calculation\n",
+    "Fe_E_111=1/(S11_Fe-2*((S11_Fe-S12_Fe)-S44_Fe/2)*(D_111_l**2*D_111_m**2+D_111_n**2*D_111_m**2+D_111_l**2*D_111_n**2));\n",
+    "Fe_E_100=1/(S11_Fe-2*((S11_Fe-S12_Fe)-S44_Fe/2)*(D_100_l**2*D_100_m**2+D_100_n**2*D_100_m**2+D_100_l**2*D_100_n**2));\n",
+    "W_E_111=1/(S11_W-2*((S11_W-S12_W)-S44_W/2)*(D_111_l**2*D_111_m**2+D_111_n**2*D_111_m**2+D_111_l**2*D_111_n**2));\n",
+    "W_E_100=1/(S11_W-2*((S11_W-S12_W)-S44_W/2)*(D_100_l**2*D_100_m**2+D_100_n**2*D_100_m**2+D_100_l**2*D_100_n**2));\n",
+    "\n",
+    "#result\n",
+    "print '\\nFor Iron:\\n\\n'\n",
+    "print 'E_111 = %g x 10^11 Pa\\nE_100 = %g x 10^11 Pa\\n' %(Fe_E_111,Fe_E_100)\n",
+    "print '\\n\\n\\nFor Tungten:\\n\\n'\n",
+    "print 'E_111 = %g x 10^11 Pa\\nE_100 = %g x 10^11 Pa\\n\\nTherefore tungsten is elastically isotropic while iron is elasitcally anisotropic' %(W_E_111,W_E_100)\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_3.ipynb b/Mechanical_Metallurgy/Chapter_3.ipynb
new file mode 100755
index 00000000..3168a0f9
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_3.ipynb
@@ -0,0 +1,212 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 3: Elements of the Theory of Plasticity"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 3.1, True Stress and True Strain, Page No. 76"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Engineering Stress at maximum load = 99852.1 psi\n",
+      "True Fracture Stress = 112785 psi\n",
+      "True Strain at fracture = 0.344939\n",
+      "Engineering strain at fracture = 0.411903\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "from math import log\n",
+    "from math import exp\n",
+    "\n",
+    "#variable declaration\n",
+    "D_i=0.505;\n",
+    "L=2;\n",
+    "P_max=20000;\n",
+    "P_f=16000;\n",
+    "D_f=0.425;\n",
+    "\n",
+    "#calculation\n",
+    "E_St= P_max*4/(pi*D_i**2);\n",
+    "T_fr_St= P_f*4/(pi*D_f**2);\n",
+    "e_f=log(D_i**2/D_f**2);\n",
+    "e=exp(e_f)-1;\n",
+    "\n",
+    "#result\n",
+    "print('\\nEngineering Stress at maximum load = %g psi\\nTrue Fracture Stress = %g psi\\nTrue Strain at fracture = %g\\nEngineering strain at fracture = %g')%(E_St,T_fr_St,e_f,e);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 3.2, Yielding Criteria for Ductile Metals, Page No. 78"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Since the calculated value of sigma0 = 224.054 MPa, which is less than the yield strength of the aluminium alloy\n",
+      "Thus safety factor is = 2.23161\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma00=500;\n",
+    "sigma_z=-50;\n",
+    "sigma_y=100;\n",
+    "sigma_x=200;\n",
+    "T_xy=30;\n",
+    "T_yz=0;\n",
+    "T_xz=0;\n",
+    "\n",
+    "#calculation\n",
+    "sigma0=sqrt((sigma_x-sigma_y)**2+(sigma_y-sigma_z)**2+(sigma_z-sigma_x)**2+6*(T_xy**2+T_yz**2+T_xz**2))/sqrt(2);\n",
+    "s=sigma00/sigma0;\n",
+    "\n",
+    "#result\n",
+    "print('\\nSince the calculated value of sigma0 = %g MPa, which is less than the yield strength of the aluminium alloy\\nThus safety factor is = %g')%(sigma0,s);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 3.3, Tresca Criterion, Page No. 81"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Since the calculated value of sigma0 = 250 MPa, which is less than the yield strength of the aluminium alloy\n",
+      "Thus safety factor is = 2\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma00=500;\n",
+    "sigma_z=-50;\n",
+    "sigma_y=100;\n",
+    "sigma_x=200;\n",
+    "T_xy=30;\n",
+    "T_yz=0;\n",
+    "T_xz=0;\n",
+    "\n",
+    "#calculation\n",
+    "sigma0=sigma_x-sigma_z;\n",
+    "s=sigma00/sigma0;\n",
+    "\n",
+    "#result\n",
+    "print('\\nSince the calculated value of sigma0 = %g MPa, which is less than the yield strength of the aluminium alloy\\nThus safety factor is = %g')%(sigma0,s);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 3.4, Levy-Mises Equation, Page No. 91"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Plastic Strain = 0.199532\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "r_t=20;\n",
+    "p=1000;\n",
+    "\n",
+    "#calculation\n",
+    "sigma1=p*r_t;\n",
+    "sigma1=sigma1/1000;                     #conversion to ksi\n",
+    "sigma=sqrt(3)*sigma1/2;\n",
+    "e=(sigma/25)**(1/0.25);\n",
+    "e1=sqrt(3)*e/2;\n",
+    "\n",
+    "#result\n",
+    "print('\\nPlastic Strain = %g')%(e1);\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_3_1.ipynb b/Mechanical_Metallurgy/Chapter_3_1.ipynb
new file mode 100755
index 00000000..3168a0f9
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_3_1.ipynb
@@ -0,0 +1,212 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 3: Elements of the Theory of Plasticity"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 3.1, True Stress and True Strain, Page No. 76"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Engineering Stress at maximum load = 99852.1 psi\n",
+      "True Fracture Stress = 112785 psi\n",
+      "True Strain at fracture = 0.344939\n",
+      "Engineering strain at fracture = 0.411903\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "from math import log\n",
+    "from math import exp\n",
+    "\n",
+    "#variable declaration\n",
+    "D_i=0.505;\n",
+    "L=2;\n",
+    "P_max=20000;\n",
+    "P_f=16000;\n",
+    "D_f=0.425;\n",
+    "\n",
+    "#calculation\n",
+    "E_St= P_max*4/(pi*D_i**2);\n",
+    "T_fr_St= P_f*4/(pi*D_f**2);\n",
+    "e_f=log(D_i**2/D_f**2);\n",
+    "e=exp(e_f)-1;\n",
+    "\n",
+    "#result\n",
+    "print('\\nEngineering Stress at maximum load = %g psi\\nTrue Fracture Stress = %g psi\\nTrue Strain at fracture = %g\\nEngineering strain at fracture = %g')%(E_St,T_fr_St,e_f,e);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 3.2, Yielding Criteria for Ductile Metals, Page No. 78"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Since the calculated value of sigma0 = 224.054 MPa, which is less than the yield strength of the aluminium alloy\n",
+      "Thus safety factor is = 2.23161\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma00=500;\n",
+    "sigma_z=-50;\n",
+    "sigma_y=100;\n",
+    "sigma_x=200;\n",
+    "T_xy=30;\n",
+    "T_yz=0;\n",
+    "T_xz=0;\n",
+    "\n",
+    "#calculation\n",
+    "sigma0=sqrt((sigma_x-sigma_y)**2+(sigma_y-sigma_z)**2+(sigma_z-sigma_x)**2+6*(T_xy**2+T_yz**2+T_xz**2))/sqrt(2);\n",
+    "s=sigma00/sigma0;\n",
+    "\n",
+    "#result\n",
+    "print('\\nSince the calculated value of sigma0 = %g MPa, which is less than the yield strength of the aluminium alloy\\nThus safety factor is = %g')%(sigma0,s);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 3.3, Tresca Criterion, Page No. 81"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Since the calculated value of sigma0 = 250 MPa, which is less than the yield strength of the aluminium alloy\n",
+      "Thus safety factor is = 2\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma00=500;\n",
+    "sigma_z=-50;\n",
+    "sigma_y=100;\n",
+    "sigma_x=200;\n",
+    "T_xy=30;\n",
+    "T_yz=0;\n",
+    "T_xz=0;\n",
+    "\n",
+    "#calculation\n",
+    "sigma0=sigma_x-sigma_z;\n",
+    "s=sigma00/sigma0;\n",
+    "\n",
+    "#result\n",
+    "print('\\nSince the calculated value of sigma0 = %g MPa, which is less than the yield strength of the aluminium alloy\\nThus safety factor is = %g')%(sigma0,s);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 3.4, Levy-Mises Equation, Page No. 91"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Plastic Strain = 0.199532\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "r_t=20;\n",
+    "p=1000;\n",
+    "\n",
+    "#calculation\n",
+    "sigma1=p*r_t;\n",
+    "sigma1=sigma1/1000;                     #conversion to ksi\n",
+    "sigma=sqrt(3)*sigma1/2;\n",
+    "e=(sigma/25)**(1/0.25);\n",
+    "e1=sqrt(3)*e/2;\n",
+    "\n",
+    "#result\n",
+    "print('\\nPlastic Strain = %g')%(e1);\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_4.ipynb b/Mechanical_Metallurgy/Chapter_4.ipynb
new file mode 100755
index 00000000..4d124b41
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_4.ipynb
@@ -0,0 +1,82 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 4: Plastic Deformation of Single Crystals"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 4.1, Critical Resolved Shear Stress for Slip, Page No. 125"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Tensile Stress applied = 14.6969 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "a=[1,-1,0];\n",
+    "n=[1,-1,-1];\n",
+    "s=[0,-1,-1];\n",
+    "Tr=6;\n",
+    "\n",
+    "#calculation\n",
+    "cos_fi=np.dot(a,n)/(sqrt(a[0]**2+a[1]**2+a[2]**2)*sqrt(n[0]**2+n[1]**2+n[2]**2));\n",
+    "cos_lm=np.dot(a,s)/(sqrt(a[0]**2+a[1]**2+a[2]**2)*sqrt(s[0]**2+s[1]**2+s[2]**2));\n",
+    "sigma=Tr/(cos_fi*cos_lm);\n",
+    "\n",
+    "#result\n",
+    "print('Tensile Stress applied = %g MPa')%(sigma);"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_4_1.ipynb b/Mechanical_Metallurgy/Chapter_4_1.ipynb
new file mode 100755
index 00000000..4d124b41
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_4_1.ipynb
@@ -0,0 +1,82 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 4: Plastic Deformation of Single Crystals"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 4.1, Critical Resolved Shear Stress for Slip, Page No. 125"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Tensile Stress applied = 14.6969 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "import numpy as np\n",
+    "\n",
+    "#variable declaration\n",
+    "a=[1,-1,0];\n",
+    "n=[1,-1,-1];\n",
+    "s=[0,-1,-1];\n",
+    "Tr=6;\n",
+    "\n",
+    "#calculation\n",
+    "cos_fi=np.dot(a,n)/(sqrt(a[0]**2+a[1]**2+a[2]**2)*sqrt(n[0]**2+n[1]**2+n[2]**2));\n",
+    "cos_lm=np.dot(a,s)/(sqrt(a[0]**2+a[1]**2+a[2]**2)*sqrt(s[0]**2+s[1]**2+s[2]**2));\n",
+    "sigma=Tr/(cos_fi*cos_lm);\n",
+    "\n",
+    "#result\n",
+    "print('Tensile Stress applied = %g MPa')%(sigma);"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "collapsed": true
+   },
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_5.ipynb b/Mechanical_Metallurgy/Chapter_5.ipynb
new file mode 100755
index 00000000..50279cb5
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_5.ipynb
@@ -0,0 +1,74 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 5: Dislocation theory"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 5.1, Forces Between Dislocations, Page No. 166"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "The Total force on the dislocation is = 1.32629e-07 N\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "from math import pi\n",
+    "G=40;\n",
+    "G=G*10**9;          #conversion to N/m^2\n",
+    "b=2.5;\n",
+    "b=b*10**-10;          #conversion to m\n",
+    "r=1200;\n",
+    "r=r*10**-10;          #conversion to m\n",
+    "l=0.04;\n",
+    "l=l*10**-3;            #conversion to m\n",
+    "\n",
+    "#calculation\n",
+    "F=G*b**2/(2*pi*r);\n",
+    "Ft=F*l;\n",
+    "\n",
+    "#result\n",
+    "print('The Total force on the dislocation is = %g N')%(Ft);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_5_1.ipynb b/Mechanical_Metallurgy/Chapter_5_1.ipynb
new file mode 100755
index 00000000..50279cb5
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_5_1.ipynb
@@ -0,0 +1,74 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 5: Dislocation theory"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 5.1, Forces Between Dislocations, Page No. 166"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "The Total force on the dislocation is = 1.32629e-07 N\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "from math import pi\n",
+    "G=40;\n",
+    "G=G*10**9;          #conversion to N/m^2\n",
+    "b=2.5;\n",
+    "b=b*10**-10;          #conversion to m\n",
+    "r=1200;\n",
+    "r=r*10**-10;          #conversion to m\n",
+    "l=0.04;\n",
+    "l=l*10**-3;            #conversion to m\n",
+    "\n",
+    "#calculation\n",
+    "F=G*b**2/(2*pi*r);\n",
+    "Ft=F*l;\n",
+    "\n",
+    "#result\n",
+    "print('The Total force on the dislocation is = %g N')%(Ft);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_6.ipynb b/Mechanical_Metallurgy/Chapter_6.ipynb
new file mode 100755
index 00000000..f1ec6bb6
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_6.ipynb
@@ -0,0 +1,223 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 6: Strengthening Mechanisms"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 6.1, Grain Size Measurement, Page No. 193"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Yield Stress = 254.464 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma_i=150;\n",
+    "k=0.7;\n",
+    "n=6;\n",
+    "\n",
+    "#calculation\n",
+    "N_x=2**(n-1);\n",
+    "N=N_x/(0.01)**2;             #in grains/in^2\n",
+    "N=N*10**6/25.4**2;             # in grains/m^2\n",
+    "D=sqrt(1/N);\n",
+    "sigma0=sigma_i+k/sqrt(D);\n",
+    "\n",
+    "#result\n",
+    "print ('\\nYield Stress = %g MPa')%(sigma0);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 6.2, Strengthing Mechanism, Page No. 219"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Particle Spacing = 2.3e-08 m\n",
+      "Particle Size = 7.35948e-10 m\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "sigma0=600;\n",
+    "G=27.6;\n",
+    "G=G*10**9           #conversion to Pa\n",
+    "b=2.5*10**-8;\n",
+    "b=b*10**-2;            #conversion to m\n",
+    "T0=sigma0/2;\n",
+    "T0=T0*10**6;             #conversion to Pa\n",
+    "\n",
+    "#calculation\n",
+    "lambda1=G*b/T0;\n",
+    "Cu_max=54;\n",
+    "Cu_eq=4;\n",
+    "Cu_min=0.5;\n",
+    "rho_al=2.7;\n",
+    "rho_theta=4.43;\n",
+    "wt_a=(Cu_max-Cu_eq)/(Cu_max-Cu_min);\n",
+    "wt_theta=(Cu_eq-Cu_min)/(Cu_max-Cu_min);\n",
+    "V_a=wt_a/rho_al;\n",
+    "V_theta=wt_theta/rho_theta;\n",
+    "f=V_theta/(V_a+V_theta);\n",
+    "r=(3*f*lambda1)/(4*(1-f));\n",
+    "\n",
+    "#result\n",
+    "print('\\nParticle Spacing = %g m\\nParticle Size = %g m')%(lambda1,r);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 6.3, Fiber Strengthing, Page No. 222"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Ec for 10 vol% = 92 GPa\n",
+      "\n",
+      "\n",
+      "Ec for 60 vol% = 252 GPa\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "Ef=380;\n",
+    "Em=60;\n",
+    "\n",
+    "#calculation\n",
+    "#Case 1\n",
+    "f_f1=0.1;\n",
+    "Ec1=Ef*f_f1+(1-f_f1)*Em;\n",
+    "\n",
+    "#Case 2\n",
+    "f_f2=0.6;\n",
+    "Ec2=Ef*f_f2+(1-f_f2)*Em;\n",
+    "\n",
+    "#result\n",
+    "print('\\nEc for 10 vol%% = %g GPa\\n')%(Ec1);\n",
+    "print('\\nEc for 60 vol%% = %g GPa\\n')%(Ec2);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 6.4, Load Transfer, Page No. 225"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "sigma_cu = 2.55 GPa for L=100um\n",
+      "\n",
+      "sigma_cu = 0.596875 GPa for L=2mm\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "sigma_fu=5;\n",
+    "sigma_fu=sigma_fu*10**9;         #Conversion to Pa\n",
+    "sigma_m=100;\n",
+    "sigma_m=sigma_m*10**6;        #Conversion to Pa\n",
+    "T0=80;\n",
+    "T0=T0*10**6;                   #Conversion to Pa\n",
+    "f_f=0.5;\n",
+    "d=100;\n",
+    "d=d*10**-6;\n",
+    "B=0.5;\n",
+    "L1=10;\n",
+    "L1=L1*10**2;                  #conversion to m\n",
+    "Lc=sigma_fu*d/(2*T0);\n",
+    "sigma_cu1=sigma_fu*f_f*(1-Lc/(2*L1))+sigma_m*(1-f_f);\n",
+    "sigma_cu1=sigma_cu1*10**-9;\n",
+    "print('\\nsigma_cu = %g GPa for L=100um\\n')%(sigma_cu1);\n",
+    "\n",
+    "L2=2;\n",
+    "L2=L2*10**-3;          #conversion to m\n",
+    "sigma_cu2=sigma_fu*f_f*(1-Lc/(2*L2))+sigma_m*(1-f_f);\n",
+    "sigma_cu2=sigma_cu2*10**-9;\n",
+    "print('sigma_cu = %g GPa for L=2mm')%(sigma_cu2);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_6_1.ipynb b/Mechanical_Metallurgy/Chapter_6_1.ipynb
new file mode 100755
index 00000000..f1ec6bb6
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_6_1.ipynb
@@ -0,0 +1,223 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 6: Strengthening Mechanisms"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 6.1, Grain Size Measurement, Page No. 193"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Yield Stress = 254.464 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma_i=150;\n",
+    "k=0.7;\n",
+    "n=6;\n",
+    "\n",
+    "#calculation\n",
+    "N_x=2**(n-1);\n",
+    "N=N_x/(0.01)**2;             #in grains/in^2\n",
+    "N=N*10**6/25.4**2;             # in grains/m^2\n",
+    "D=sqrt(1/N);\n",
+    "sigma0=sigma_i+k/sqrt(D);\n",
+    "\n",
+    "#result\n",
+    "print ('\\nYield Stress = %g MPa')%(sigma0);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 6.2, Strengthing Mechanism, Page No. 219"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Particle Spacing = 2.3e-08 m\n",
+      "Particle Size = 7.35948e-10 m\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "sigma0=600;\n",
+    "G=27.6;\n",
+    "G=G*10**9           #conversion to Pa\n",
+    "b=2.5*10**-8;\n",
+    "b=b*10**-2;            #conversion to m\n",
+    "T0=sigma0/2;\n",
+    "T0=T0*10**6;             #conversion to Pa\n",
+    "\n",
+    "#calculation\n",
+    "lambda1=G*b/T0;\n",
+    "Cu_max=54;\n",
+    "Cu_eq=4;\n",
+    "Cu_min=0.5;\n",
+    "rho_al=2.7;\n",
+    "rho_theta=4.43;\n",
+    "wt_a=(Cu_max-Cu_eq)/(Cu_max-Cu_min);\n",
+    "wt_theta=(Cu_eq-Cu_min)/(Cu_max-Cu_min);\n",
+    "V_a=wt_a/rho_al;\n",
+    "V_theta=wt_theta/rho_theta;\n",
+    "f=V_theta/(V_a+V_theta);\n",
+    "r=(3*f*lambda1)/(4*(1-f));\n",
+    "\n",
+    "#result\n",
+    "print('\\nParticle Spacing = %g m\\nParticle Size = %g m')%(lambda1,r);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 6.3, Fiber Strengthing, Page No. 222"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Ec for 10 vol% = 92 GPa\n",
+      "\n",
+      "\n",
+      "Ec for 60 vol% = 252 GPa\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "Ef=380;\n",
+    "Em=60;\n",
+    "\n",
+    "#calculation\n",
+    "#Case 1\n",
+    "f_f1=0.1;\n",
+    "Ec1=Ef*f_f1+(1-f_f1)*Em;\n",
+    "\n",
+    "#Case 2\n",
+    "f_f2=0.6;\n",
+    "Ec2=Ef*f_f2+(1-f_f2)*Em;\n",
+    "\n",
+    "#result\n",
+    "print('\\nEc for 10 vol%% = %g GPa\\n')%(Ec1);\n",
+    "print('\\nEc for 60 vol%% = %g GPa\\n')%(Ec2);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 6.4, Load Transfer, Page No. 225"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "sigma_cu = 2.55 GPa for L=100um\n",
+      "\n",
+      "sigma_cu = 0.596875 GPa for L=2mm\n"
+     ]
+    }
+   ],
+   "source": [
+    "#variable declaration\n",
+    "sigma_fu=5;\n",
+    "sigma_fu=sigma_fu*10**9;         #Conversion to Pa\n",
+    "sigma_m=100;\n",
+    "sigma_m=sigma_m*10**6;        #Conversion to Pa\n",
+    "T0=80;\n",
+    "T0=T0*10**6;                   #Conversion to Pa\n",
+    "f_f=0.5;\n",
+    "d=100;\n",
+    "d=d*10**-6;\n",
+    "B=0.5;\n",
+    "L1=10;\n",
+    "L1=L1*10**2;                  #conversion to m\n",
+    "Lc=sigma_fu*d/(2*T0);\n",
+    "sigma_cu1=sigma_fu*f_f*(1-Lc/(2*L1))+sigma_m*(1-f_f);\n",
+    "sigma_cu1=sigma_cu1*10**-9;\n",
+    "print('\\nsigma_cu = %g GPa for L=100um\\n')%(sigma_cu1);\n",
+    "\n",
+    "L2=2;\n",
+    "L2=L2*10**-3;          #conversion to m\n",
+    "sigma_cu2=sigma_fu*f_f*(1-Lc/(2*L2))+sigma_m*(1-f_f);\n",
+    "sigma_cu2=sigma_cu2*10**-9;\n",
+    "print('sigma_cu = %g GPa for L=2mm')%(sigma_cu2);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_7.ipynb b/Mechanical_Metallurgy/Chapter_7.ipynb
new file mode 100755
index 00000000..9111bb76
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_7.ipynb
@@ -0,0 +1,113 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 7: Fracture"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 7.1, Cohesive Strength, Page No. 245"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Cohesive strength of a silica fiber = 24.367 GPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "E=95;\n",
+    "E=E*10**9;\n",
+    "Ys=1000;\n",
+    "Ys=Ys*10**-3;                 #conversion to J/m^2\n",
+    "a0=1.6;\n",
+    "a0=a0*10**-10;                   #conversion to m\n",
+    "\n",
+    "#calculation\n",
+    "sigma_max=sqrt(E*Ys/a0)\n",
+    "sigma_max=sigma_max*10**-9;\n",
+    "\n",
+    "#result\n",
+    "print('Cohesive strength of a silica fiber = %g GPa')%(sigma_max);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 7.2, Fracture Stress, Page No. 246"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Fracture Stress = 100 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "E=100;\n",
+    "E=E*10**9;\n",
+    "Ys=1;\n",
+    "a0=2.5*10**-10;\n",
+    "c=10**4*a0;\n",
+    "\n",
+    "#calculation\n",
+    "sigma_f=sqrt(E*Ys/(4*c));\n",
+    "sigma_f=sigma_f*10**-6;\n",
+    "\n",
+    "#result\n",
+    "print('Fracture Stress = %g MPa')%(sigma_f);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_7_1.ipynb b/Mechanical_Metallurgy/Chapter_7_1.ipynb
new file mode 100755
index 00000000..9111bb76
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_7_1.ipynb
@@ -0,0 +1,113 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 7: Fracture"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 7.1, Cohesive Strength, Page No. 245"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Cohesive strength of a silica fiber = 24.367 GPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "E=95;\n",
+    "E=E*10**9;\n",
+    "Ys=1000;\n",
+    "Ys=Ys*10**-3;                 #conversion to J/m^2\n",
+    "a0=1.6;\n",
+    "a0=a0*10**-10;                   #conversion to m\n",
+    "\n",
+    "#calculation\n",
+    "sigma_max=sqrt(E*Ys/a0)\n",
+    "sigma_max=sigma_max*10**-9;\n",
+    "\n",
+    "#result\n",
+    "print('Cohesive strength of a silica fiber = %g GPa')%(sigma_max);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 7.2, Fracture Stress, Page No. 246"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Fracture Stress = 100 MPa\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "E=100;\n",
+    "E=E*10**9;\n",
+    "Ys=1;\n",
+    "a0=2.5*10**-10;\n",
+    "c=10**4*a0;\n",
+    "\n",
+    "#calculation\n",
+    "sigma_f=sqrt(E*Ys/(4*c));\n",
+    "sigma_f=sigma_f*10**-6;\n",
+    "\n",
+    "#result\n",
+    "print('Fracture Stress = %g MPa')%(sigma_f);"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_8.ipynb b/Mechanical_Metallurgy/Chapter_8.ipynb
new file mode 100755
index 00000000..9609602d
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_8.ipynb
@@ -0,0 +1,255 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 8: The Tension Test"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 8.1, Standard properties of the material, Page No. 281"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Ultimate Tensile Strength = 92363.2 psi\n",
+      "0.2 percent offset yield strength = 74889.1 psi\n",
+      "Breaking Stress = 80880.2 psi\n",
+      "Elongation = 26.5 percent\n",
+      "Reduction of Area = 61.092 percent\n",
+      "\n",
+      "\n",
+      "Note: Slight Computational Errors in book\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "D=0.505;\n",
+    "Lo=2;\n",
+    "Lf=2.53;\n",
+    "Py=15000;\n",
+    "Pmax=18500;\n",
+    "Pf=16200;\n",
+    "D_f=0.315;\n",
+    "\n",
+    "#calculation\n",
+    "A0=pi*D**2/4;\n",
+    "Af=pi*D_f**2/4;\n",
+    "s_u=Pmax/A0;\n",
+    "s0=Py/A0;\n",
+    "s_f=Pf/A0;\n",
+    "e_f=(Lf-Lo)/Lo;\n",
+    "q=(A0-Af)/A0;\n",
+    "\n",
+    "#result\n",
+    "print('\\nUltimate Tensile Strength = %g psi\\n0.2 percent offset yield strength = %g psi\\nBreaking Stress = %g psi\\nElongation = %g percent\\nReduction of Area = %g percent\\n\\n\\nNote: Slight Computational Errors in book')%(s_u,s0,s_f,e_f*100,q*100);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 8.2, True Strain, Page No. 288"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "True Strain to fracture using changes in length = 0.405465\n",
+      "True Strain to fracture using changes in area = 0.405465\n",
+      "\n",
+      "\n",
+      "\n",
+      "For More ductile metals\n",
+      "True Strain to fracture using changes in length = 0.729961\n",
+      "True Strain to fracture using changes in diameter = 0.940007\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import log\n",
+    "\n",
+    "#case 1\n",
+    "#variable declaration\n",
+    "Af=100.0;\n",
+    "Lf1=60.0;\n",
+    "A0=150.0;\n",
+    "L01=40.0;\n",
+    "Lf=83.0;\n",
+    "L0=40.0;\n",
+    "Df=8.0;\n",
+    "D0=12.8;\n",
+    "\n",
+    "#calculation\n",
+    "L1=float (Lf1/L01);\n",
+    "A1=float (A0/Af);\n",
+    "ef11=log(L1);\n",
+    "ef21=log(A1);\n",
+    "L2=(Lf/L0);\n",
+    "D2=D0/Df;5\n",
+    "ef12=log(L2);\n",
+    "ef22=2*log(D2);\n",
+    "\n",
+    "#result\n",
+    "print('\\nTrue Strain to fracture using changes in length = %g\\nTrue Strain to fracture using changes in area = %g')%(ef11,ef21);\n",
+    "print('\\n\\n\\nFor More ductile metals\\nTrue Strain to fracture using changes in length = %g\\nTrue Strain to fracture using changes in diameter = %g')%(ef12,ef22);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 8.3, Ultimate Tensile Strength, Page No. 290"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Ultimate Tensile Strength = 99729.2 psi\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import exp\n",
+    "\n",
+    "#variable declaration\n",
+    "def sigma(e):\n",
+    "    return 200000*e**0.33;\n",
+    "E_u=0.33;\n",
+    "\n",
+    "#calculation\n",
+    "sigma_u=sigma(E_u);\n",
+    "s_u=sigma_u/exp(E_u);\n",
+    "\n",
+    "#result\n",
+    "print('Ultimate Tensile Strength = %g psi')%(s_u);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 8.4, Effect of Strain Rate, Page No. 298"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "At 70deg F\n",
+      "\n",
+      "sigma_a = 10.2 ksi\n",
+      "sigma_b = 13.8229 ksi\n",
+      "sigma_b/sigma_a = 1.35519\n",
+      "\n",
+      "\n",
+      "\n",
+      "At 825deg F\n",
+      "\n",
+      "sigma_a = 2.1 ksi\n",
+      "sigma_b = 5.54906 ksi\n",
+      "sigma_b/sigma_a = 2.64241\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "C_70=10.2;\n",
+    "C_825=2.1;\n",
+    "m_70=0.066;\n",
+    "m_825=0.211;\n",
+    "e1=1;\n",
+    "e2=100;\n",
+    "\n",
+    "#calculation 1\n",
+    "print('\\nAt 70deg F\\n');\n",
+    "sigma_a=C_70*e1**m_70;\n",
+    "sigma_b=C_70*e2**m_70;\n",
+    "\n",
+    "#result 1\n",
+    "print('sigma_a = %g ksi\\nsigma_b = %g ksi\\nsigma_b/sigma_a = %g\\n')%(sigma_a,sigma_b,sigma_b/sigma_a);\n",
+    "\n",
+    "\n",
+    "#calculation 2\n",
+    "print('\\n\\nAt 825deg F\\n');\n",
+    "sigma_a=C_825*e1**m_825;\n",
+    "sigma_b=C_825*e2**m_825;\n",
+    "\n",
+    "#result 2\n",
+    "print('sigma_a = %g ksi\\nsigma_b = %g ksi\\nsigma_b/sigma_a = %g\\n')%(sigma_a,sigma_b,sigma_b/sigma_a);\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/Chapter_8_1.ipynb b/Mechanical_Metallurgy/Chapter_8_1.ipynb
new file mode 100755
index 00000000..9609602d
--- /dev/null
+++ b/Mechanical_Metallurgy/Chapter_8_1.ipynb
@@ -0,0 +1,255 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 8: The Tension Test"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 8.1, Standard properties of the material, Page No. 281"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Ultimate Tensile Strength = 92363.2 psi\n",
+      "0.2 percent offset yield strength = 74889.1 psi\n",
+      "Breaking Stress = 80880.2 psi\n",
+      "Elongation = 26.5 percent\n",
+      "Reduction of Area = 61.092 percent\n",
+      "\n",
+      "\n",
+      "Note: Slight Computational Errors in book\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import pi\n",
+    "\n",
+    "#variable declaration\n",
+    "D=0.505;\n",
+    "Lo=2;\n",
+    "Lf=2.53;\n",
+    "Py=15000;\n",
+    "Pmax=18500;\n",
+    "Pf=16200;\n",
+    "D_f=0.315;\n",
+    "\n",
+    "#calculation\n",
+    "A0=pi*D**2/4;\n",
+    "Af=pi*D_f**2/4;\n",
+    "s_u=Pmax/A0;\n",
+    "s0=Py/A0;\n",
+    "s_f=Pf/A0;\n",
+    "e_f=(Lf-Lo)/Lo;\n",
+    "q=(A0-Af)/A0;\n",
+    "\n",
+    "#result\n",
+    "print('\\nUltimate Tensile Strength = %g psi\\n0.2 percent offset yield strength = %g psi\\nBreaking Stress = %g psi\\nElongation = %g percent\\nReduction of Area = %g percent\\n\\n\\nNote: Slight Computational Errors in book')%(s_u,s0,s_f,e_f*100,q*100);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 8.2, True Strain, Page No. 288"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "True Strain to fracture using changes in length = 0.405465\n",
+      "True Strain to fracture using changes in area = 0.405465\n",
+      "\n",
+      "\n",
+      "\n",
+      "For More ductile metals\n",
+      "True Strain to fracture using changes in length = 0.729961\n",
+      "True Strain to fracture using changes in diameter = 0.940007\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import log\n",
+    "\n",
+    "#case 1\n",
+    "#variable declaration\n",
+    "Af=100.0;\n",
+    "Lf1=60.0;\n",
+    "A0=150.0;\n",
+    "L01=40.0;\n",
+    "Lf=83.0;\n",
+    "L0=40.0;\n",
+    "Df=8.0;\n",
+    "D0=12.8;\n",
+    "\n",
+    "#calculation\n",
+    "L1=float (Lf1/L01);\n",
+    "A1=float (A0/Af);\n",
+    "ef11=log(L1);\n",
+    "ef21=log(A1);\n",
+    "L2=(Lf/L0);\n",
+    "D2=D0/Df;5\n",
+    "ef12=log(L2);\n",
+    "ef22=2*log(D2);\n",
+    "\n",
+    "#result\n",
+    "print('\\nTrue Strain to fracture using changes in length = %g\\nTrue Strain to fracture using changes in area = %g')%(ef11,ef21);\n",
+    "print('\\n\\n\\nFor More ductile metals\\nTrue Strain to fracture using changes in length = %g\\nTrue Strain to fracture using changes in diameter = %g')%(ef12,ef22);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 8.3, Ultimate Tensile Strength, Page No. 290"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Ultimate Tensile Strength = 99729.2 psi\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "from math import exp\n",
+    "\n",
+    "#variable declaration\n",
+    "def sigma(e):\n",
+    "    return 200000*e**0.33;\n",
+    "E_u=0.33;\n",
+    "\n",
+    "#calculation\n",
+    "sigma_u=sigma(E_u);\n",
+    "s_u=sigma_u/exp(E_u);\n",
+    "\n",
+    "#result\n",
+    "print('Ultimate Tensile Strength = %g psi')%(s_u);"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 8.4, Effect of Strain Rate, Page No. 298"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "At 70deg F\n",
+      "\n",
+      "sigma_a = 10.2 ksi\n",
+      "sigma_b = 13.8229 ksi\n",
+      "sigma_b/sigma_a = 1.35519\n",
+      "\n",
+      "\n",
+      "\n",
+      "At 825deg F\n",
+      "\n",
+      "sigma_a = 2.1 ksi\n",
+      "sigma_b = 5.54906 ksi\n",
+      "sigma_b/sigma_a = 2.64241\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "C_70=10.2;\n",
+    "C_825=2.1;\n",
+    "m_70=0.066;\n",
+    "m_825=0.211;\n",
+    "e1=1;\n",
+    "e2=100;\n",
+    "\n",
+    "#calculation 1\n",
+    "print('\\nAt 70deg F\\n');\n",
+    "sigma_a=C_70*e1**m_70;\n",
+    "sigma_b=C_70*e2**m_70;\n",
+    "\n",
+    "#result 1\n",
+    "print('sigma_a = %g ksi\\nsigma_b = %g ksi\\nsigma_b/sigma_a = %g\\n')%(sigma_a,sigma_b,sigma_b/sigma_a);\n",
+    "\n",
+    "\n",
+    "#calculation 2\n",
+    "print('\\n\\nAt 825deg F\\n');\n",
+    "sigma_a=C_825*e1**m_825;\n",
+    "sigma_b=C_825*e2**m_825;\n",
+    "\n",
+    "#result 2\n",
+    "print('sigma_a = %g ksi\\nsigma_b = %g ksi\\nsigma_b/sigma_a = %g\\n')%(sigma_a,sigma_b,sigma_b/sigma_a);\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Mechanical_Metallurgy/screenshots/IMG_20150404_102341663.png b/Mechanical_Metallurgy/screenshots/IMG_20150404_102341663.png
new file mode 100755
index 00000000..d254f68a
Binary files /dev/null and b/Mechanical_Metallurgy/screenshots/IMG_20150404_102341663.png differ
diff --git a/Mechanical_Metallurgy/screenshots/IMG_20150404_102419517.png b/Mechanical_Metallurgy/screenshots/IMG_20150404_102419517.png
new file mode 100755
index 00000000..07095177
Binary files /dev/null and b/Mechanical_Metallurgy/screenshots/IMG_20150404_102419517.png differ
diff --git a/Mechanical_Metallurgy/screenshots/IMG_20150404_102430251.png b/Mechanical_Metallurgy/screenshots/IMG_20150404_102430251.png
new file mode 100755
index 00000000..de0cf410
Binary files /dev/null and b/Mechanical_Metallurgy/screenshots/IMG_20150404_102430251.png differ
diff --git a/Mechanical_Metallurgy/screenshots/Ques_12.6.png b/Mechanical_Metallurgy/screenshots/Ques_12.6.png
new file mode 100755
index 00000000..d254f68a
Binary files /dev/null and b/Mechanical_Metallurgy/screenshots/Ques_12.6.png differ
diff --git a/Mechanical_Metallurgy/screenshots/Ques_21.2_1.png b/Mechanical_Metallurgy/screenshots/Ques_21.2_1.png
new file mode 100755
index 00000000..07095177
Binary files /dev/null and b/Mechanical_Metallurgy/screenshots/Ques_21.2_1.png differ
diff --git a/Mechanical_Metallurgy/screenshots/Ques_21.2_2.png b/Mechanical_Metallurgy/screenshots/Ques_21.2_2.png
new file mode 100755
index 00000000..de0cf410
Binary files /dev/null and b/Mechanical_Metallurgy/screenshots/Ques_21.2_2.png differ
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch10.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch10.ipynb
new file mode 100755
index 00000000..3a48029f
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch10.ipynb
@@ -0,0 +1,321 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:0de7fdc3a9080098412999030f35bc2fb5913b94ca2786fe525f30a16f00b7a8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10: Molecules, Lasers and Solids"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.1, Page 342"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "m = 2.33e-026;    # Mass of a nitrogen atom, kg\n",
+      "R = 1.1e-010;    # Interatomic separation between two nitrogen atoms, m\n",
+      "h = 6.626e-034;    # Planck's constant, Js\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "\n",
+      "#Calculations\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "I = m*R**2/2;    # Momemt of rotational inertia of nitrogen gas molecule, kg-Sq.m\n",
+      "l = 1;    # Rotational angular momentum quantum number\n",
+      "E_rot = h_bar**2*l*(l+1)/(2*I);    # The energy for lowest rotational state of the nitrogen molecule, J\n",
+      "\n",
+      "#Result\n",
+      "print \"The energy for lowest rotational state of the nitrogen molecule = %4.2e eV\"%(E_rot/e)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy for lowest rotational state of the nitrogen molecule = 4.93e-04 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.2, Page 343"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "h = 6.626e-034;    # Planck's constant, Js\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "u = 1.67e-027;    # Mass equivalent of 1 amu, kg\n",
+      "\n",
+      "#Calculations\n",
+      "m1 = 34.97*u;    # Atomic mass of chlorine atom, kg\n",
+      "m2 = 1.008*u;    # Atomic mass of hydrogen atom, kg\n",
+      "mu = m1*m2/(m1 + m2);    # Reduced mass of the HCl system, kg\n",
+      "delta_E = 0.36;    # Spacing between vibrational energy levels of the HCl molecule, eV\n",
+      "omega = delta_E*e/h_bar;    # Angular frequency of vibration, rad/s\n",
+      "kapa = mu*omega**2;    # Effective force constant for HCl molecule, N/m\n",
+      "T = delta_E*e/k;    # Classical temperature associated with the rotational energy spacing, K\n",
+      "\n",
+      "#Results\n",
+      "print \"The effective force constant for HCl molecule = %3d N/m\"%(math.ceil(kapa))\n",
+      "print \"The classical temperature associated with the rotational energy spacing = %4d K\"%(math.ceil(T))\n",
+      "#answers differ due to rounding errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The effective force constant for HCl molecule = 489 N/m\n",
+        "The classical temperature associated with the rotational energy spacing = 4174 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.4, Page 358"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "e = 1.602e-019;    # Charge on an electron, C\n",
+      "N_A = 6.023e+023;    # Avogadro's number\n",
+      "alpha = 1.7476;    # Madelung constant\n",
+      "E = -764.4e+003;    # Dissociation energy of NaCl molecule, J/mol\n",
+      "V = E/N_A;    # Repulsive potential energy, J\n",
+      "k = 8.988e+009;    # Coulomb's constant, N-Sq.m/C^2\n",
+      "r0 = 0.282e-009;    # Equilibrium separation for nearest neighbour in NaCl, m\n",
+      "\n",
+      "#Calculations\n",
+      "rho = r0*(1+r0*V/(k*alpha*e**2));    # Range parameter for NaCl, nm\n",
+      "\n",
+      "#Result\n",
+      "print \"The range parameter for NaCl = %6.4f nm\"%(rho/1e-009)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The range parameter for NaCl = 0.0316 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.5, Page 365"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "e = 1.602e-019;    # Charge on an electron, C\n",
+      "r = 5.29e-011;    # Orbital radius of electron equal to Bohr radius, m\n",
+      "B = 2.0;    # Applied magnetic field, T\n",
+      "m = 9.11e-031;    # Mass of an electron, kg\n",
+      "\n",
+      "#Calculations\n",
+      "delta_mu = e**2*r**2*B/(4*m);    # Induced diamagnetic moment in the atom, J/T\n",
+      "\n",
+      "#Result\n",
+      "print \"The induced diamagnetic moment in the atom = %3.1e J/T\"%delta_mu"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The induced diamagnetic moment in the atom = 3.9e-29 J/T\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.6, Page 366"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "mu_B = 9.27e-024;    # Bohr's magneton, J/T\n",
+      "B = 0.50;    # Applied magnetic field, T\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "\n",
+      "#Calculations&Results\n",
+      "T = 10*mu_B*B/k;    # Temperature at which mu*B = 0.1k*T, K\n",
+      "b_muB = mu_B*B/(k*T);\n",
+      "ratio = b_muB/math.tanh(b_muB);    # Ratio of b_muB and tanh(b_muB)\n",
+      "if (ratio - 1) < 0.01:\n",
+      "    print \"The value of T = %4.2f K is suitable as a classical temperature.\"%T\n",
+      "else:\n",
+      "    print \"The value of T = %4.2f K is not suitable as a classical temperature.\"%T\n",
+      "\n",
+      "# For higher temperature\n",
+      "T = 100;    # Given temperature\n",
+      "b_muB = mu_B*B/(k*T);\n",
+      "ratio = b_muB/math.tanh(b_muB);    # Ratio of b_muB and tanh(b_muB)\n",
+      "if (ratio - 1) < 0.001:\n",
+      "    print \"At the value of T = %4.2f K, the approximation is an excellent one.\"%T\n",
+      "else:\n",
+      "    print \"At the value of T = %4.2f K, the approximation is not an excellent.\"%T"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of T = 3.36 K is suitable as a classical temperature.\n",
+        "At the value of T = 100.00 K, the approximation is an excellent one.\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.7, Page 374"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "T_c = 9.25;    # Critical temperature for niobium, K\n",
+      "\n",
+      "#Calculations\n",
+      "E_g = 3.54*k*T_c;    # Energy gap for niobium from BCS theory, J\n",
+      "lamda = h*c/E_g;    # Minimum photon wavelength needed to break the Cooper pair, m\n",
+      "\n",
+      "#Results\n",
+      "print \"The energy gap for niobium = %4.2f meV\"%(E_g/(e*1e-003))\n",
+      "print \"The minimum photon wavelength needed to break the Cooper pair = %4.2e m\"%lamda"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy gap for niobium = 2.82 meV\n",
+        "The minimum photon wavelength needed to break the Cooper pair = 4.39e-04 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.8, Page 382"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "r = 1e-002;    # Radius of the loop, m\n",
+      "phi0 = 2.068e-015;    # Magnetic flux penetrating to the loop, T-Sq.m\n",
+      "\n",
+      "#Calculations\n",
+      "A = math.pi*r**2;    # Area of the loop, Sq.m\n",
+      "B = phi0/A;    # Magnetic field perpendicular to the loop, T\n",
+      "\n",
+      "#Result\n",
+      "print \"The magnetic field perpendicular to the loop = %4.2e T\"%B"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnetic field perpendicular to the loop = 6.58e-12 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch11.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch11.ipynb
new file mode 100755
index 00000000..5100297e
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch11.ipynb
@@ -0,0 +1,238 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dd227268a9d19f5e7b124ff2e3d8219b9fcc3bf4655f5f8e908de4958335cce5"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11: Semiconductor Theory and Devices"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.1, Page 400"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import numpy\n",
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "T = 293;    # Room temperature, K\n",
+      "\n",
+      "#Calculations&Results\n",
+      "dE = [0.10, 1.0, 10.0];    # Energies above the valence band, eV\n",
+      "F_FD = numpy.zeros(3);\n",
+      "for i in range(0,3):\n",
+      "    F_FD[i] = 1/(math.exp(dE[i]*e/(k*T)) + 1);\n",
+      "    print \"For E - E_F = %4.2f eV, F_FD = %4.2e\"%(dE[i], F_FD[i])\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For E - E_F = 0.10 eV, F_FD = 1.88e-02\n",
+        "For E - E_F = 1.00 eV, F_FD = 6.53e-18\n",
+        "For E - E_F = 10.00 eV, F_FD = 1.40e-172\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.3, Page 402"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "rho = 5.92e-008;    # Resistivity of the zinc at room temperature, ohm-m\n",
+      "B = 0.25;    # Magnetic field applied perpendicular to the strip, T\n",
+      "x = 10.0e-002;    # Length of the zinc strip, m\n",
+      "y = 2.0e-002;    # Width of the zinc strip, m\n",
+      "V = 20e-003;    # Potential difference applied across the strip, V\n",
+      "I = 0.400;    # Current through the strip, A\n",
+      "V_H = 0.56e-006;    # Hall voltage that appeared across the strip, V\n",
+      "\n",
+      "#Calculations\n",
+      "z = rho*x*I/(y*V);    # Thickness of the strip, m\n",
+      "n = I*B/(e*V_H*z);    # Number density of the charge carriers, per metre cube\n",
+      "\n",
+      "#Results\n",
+      "print \"The thickness of the zinc strip = %4.2e m\"%z\n",
+      "print \"The number density of the charge carriers = %4.2e per metre cube\"%n\n",
+      "print \"The charge carries in zinc are positive.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thickness of the zinc strip = 5.92e-06 m\n",
+        "The number density of the charge carriers = 1.89e+29 per metre cube\n",
+        "The charge carries in zinc are positive.\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.4, Page 408"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "T = 293;    # Room temperature, K\n",
+      "V_f = 0.200;    # Forward voltage, V\n",
+      "I_f = 50e-003;    # Forward current, A\n",
+      "V_r = -0.200;    # Reverse voltage, V\n",
+      "\n",
+      "#Calculations\n",
+      "I_r = I_f*(math.exp(e*V_r/(k*T))-1)/(math.exp(e*V_f/(k*T)) - 1);    # Reverse current from diode equation, A\n",
+      "\n",
+      "#Result\n",
+      "print \"The reverse current through pn-junction diode = %2d micro-ampere\"%(I_r/1e-006)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The reverse current through pn-junction diode = -18 micro-ampere\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.5, Page 413"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "A = 100*100;    # Area of solar cell, Sq.m\n",
+      "t = 12*60*60;    # Time for which the solar cell operates, s\n",
+      "phi = 680;    # Solar flux received by the solar cell, W/Sq.m\n",
+      "eta = 0.30    # Efficiency of the solar array\n",
+      "\n",
+      "#Calculations&Results\n",
+      "E_array = eta*phi*A*t;    # Energy produced by solar cell in one 12-hour day, J\n",
+      "print \"The energy produced by solar cell in one 12-hour day : %3.1e J\"%E_array\n",
+      "P = 100e+006;    # Power output of power plant, W\n",
+      "t = 24*60*60;    # Time for which power plant operates, s\n",
+      "E_plant = P*t;    # Energy produced by power plant, J\n",
+      "print \"The energy produced by power plant in one day : %3.1e J which is about %d times more than that produced by solar cell array..!\"%(E_plant, math.ceil(E_plant/E_array))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy produced by solar cell in one 12-hour day : 8.8e+10 J\n",
+        "The energy produced by power plant in one day : 8.6e+12 J which is about 99 times more than that produced by solar cell array..!\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.6, Page 418"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "r1 = 2.30e-002;    # Radius of inner edge of storing region of CD-ROM, m\n",
+      "r2 =5.80e-002;    # Radius of outer edge of storing region of CD-ROM, m\n",
+      "A = math.pi*(r2**2 - r1**2);    # Area of the usable region of CD-ROM, Sq.m\n",
+      "N = 700e+006*8;    # Total number of bits in CD-ROM\n",
+      "\n",
+      "#Calculations\n",
+      "APB = A/N;    # Area per bit of CD-ROM, Sq.m/bit\n",
+      "t = 1.6e-006;    # Track width of CD_ROM, m\n",
+      "l = APB/t;    # Bit length, m\n",
+      "\n",
+      "#Results\n",
+      "print \"The surface area of CD-ROM allowed for each data bit = %3.1e Sq.m/bit\"%APB\n",
+      "print \"The approx. dimensions of each bit along the track = %1.0f micro-metre\"%(l/1e-006)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The surface area of CD-ROM allowed for each data bit = 1.6e-12 Sq.m/bit\n",
+        "The approx. dimensions of each bit along the track = 1 micro-metre\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch12.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch12.ipynb
new file mode 100755
index 00000000..6fa33209
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch12.ipynb
@@ -0,0 +1,712 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:6270762d6231ec0577735987cb74ce2b57535e026b96bfac7596018acfb359e4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12: The Atomic Nuleus"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.1, Page 432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "m = 1.67e-027;    # Rest mass of proton, kg\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "delta_x = 8.0e-015;    # Size of the nucleus, m\n",
+      "\n",
+      "#Calculations\n",
+      "delta_p = h_bar/(2*delta_x*e);    # Uncertainty in momentum of proton from Heisenberg Uncertainty Principle, eV-s/m\n",
+      "p_min = delta_p;    # Minimum momentum of the proton inside the nucleus, eV-s/m\n",
+      "K = (p_min*c)**2*e/(2*m*c**2*1e+006);    # The minimum kinetic energy of the proton in a medium sized nucleus, MeV\n",
+      "\n",
+      "#Result\n",
+      "print \"The minimum kinetic energy of the proton in a medium sized nucleus = %4.2f MeV\"%K"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum kinetic energy of the proton in a medium sized nucleus = 0.08 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.2, Page 436"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "m_e = 0.511;    # Rest mass energy of electron, MeV\n",
+      "m_p = 938.3;    # Rest mass energy of proton, MeV\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "A = 40;    # Mass number of Ca-40\n",
+      "r0 = 1.2;    # Nuclear radius constant, fm\n",
+      "\n",
+      "#Calculations&Results\n",
+      "R = r0*A**(1./3);    # Radius of Ca-40 nucleus, fm\n",
+      "print \"The radius of Ca-40 nucleus = %3.1f fm\"%R\n",
+      "lamda = 2.0;    # de-Broglie wavelength to distinguish a distance at least half the radius, fm\n",
+      "# Electron energy\n",
+      "E = math.ceil(math.sqrt(m_e**2+(h*c/(lamda*e*1e+006*1e-015))**2));    # Total energy of the probing electron, MeV\n",
+      "K = E - m_e;    # Kinetic energy of probing electron, MeV\n",
+      "print \"The kinetic energy of probing electron = %3d MeV\"%math.ceil(K)\n",
+      "# Proton energy\n",
+      "E = math.ceil(math.sqrt(m_p**2+(h*c/(lamda*e*1e+006*1e-015))**2));    # Total energy of the probing electron, MeV\n",
+      "K = E - m_p;    # Kinetic energy of probing electron, MeV\n",
+      "print \"The kinetic energy of probing proton = %3d MeV\"%math.ceil(K)\n",
+      "\n",
+      "#answers differ due to rounding errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radius of Ca-40 nucleus = 4.1 fm\n",
+        "The kinetic energy of probing electron = 620 MeV\n",
+        "The kinetic energy of probing proton = 187 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.3, Page 437"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "A_U238 = 238;    # Mass number of U-238\n",
+      "A_He4 = 4;    # Mass number of He-4\n",
+      "r0 = 1.2;    # Nuclear radius constant, nm\n",
+      "\n",
+      "#Calculations&Results\n",
+      "R_U238 = r0*A_U238**(1./3);    # Radius of U-238 nucleus, fm\n",
+      "R_He4 = r0*A_He4**(1./3);    # Radius of He-4 nucleus, fm\n",
+      "print \"The radii of U-238 and He-4 nuclei are %3.1f fm and %3.1f fm repectively\"%(R_U238, R_He4)\n",
+      "ratio = R_U238/R_He4;    # Ratio of the two radii\n",
+      "print \"The ratio of radius to U-238 to that of He-4 = %3.1f\"%ratio"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radii of U-238 and He-4 nuclei are 7.4 fm and 1.9 fm repectively\n",
+        "The ratio of radius to U-238 to that of He-4 = 3.9\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.4, Page 438"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "B = 2.0;    # Applied magnetic field, T\n",
+      "mu_N = 3.15e-008;    # Nucleon magnetic moment, eV/T\n",
+      "\n",
+      "#Calculations\n",
+      "mu_p = 2.79*mu_N;    # Proton magnetic moment, eV/T\n",
+      "delta_E = 2*mu_p*B;    # Energy difference between the up and down proton states, eV\n",
+      "f = delta_E*e/h;    # Frequency of electromagnetic radiation that flips the proton spins, Hz\n",
+      "lamda = c/f;    # Wavelength of electromagnetic radiation that flips the proton spins, m\n",
+      "\n",
+      "#Results\n",
+      "print \"The energy difference between the up and down proton states = %3.1e eV\"%delta_E\n",
+      "print \"The frequency of electromagnetic radiation that flips the proton spins = %2d MHz\"%(f/1e+006)\n",
+      "print \"The wavelength of electromagnetic radiation that flips the proton spins = %3.1f m\"%lamda"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy difference between the up and down proton states = 3.5e-07 eV\n",
+        "The frequency of electromagnetic radiation that flips the proton spins = 85 MHz\n",
+        "The wavelength of electromagnetic radiation that flips the proton spins = 3.5 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.5, Page 443"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV\n",
+      "m_n = 1.008665;    # Mass of a neutron, u\n",
+      "M_H = 1.007825;    # Mass of a proton, u\n",
+      "M_He = 4.002603;    # Mass of helium nucleus\n",
+      "M_Be = 8.005305;    # Mass of Be-8, u\n",
+      "\n",
+      "#Calculations&Results\n",
+      "B_Be = (4*m_n+4*M_H - M_Be)*u;\n",
+      "B_Be_2alpha = (2*M_He - M_Be)*u;\n",
+      "print \"The binding energy of Be-8 = %4.1f MeV and is positive\"%B_Be\n",
+      "if (B_Be_2alpha > 0):\n",
+      "    print \"The Be-4 is stable w.r.t. decay into two alpha particles.\";\n",
+      "else:\n",
+      "    print \"The Be-4 is unstable w.r.t. decay into two alpha particles since the decay has binding energy of %5.3f MeV\"%B_Be_2alpha     \n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The binding energy of Be-8 = 56.5 MeV and is positive\n",
+        "The Be-4 is unstable w.r.t. decay into two alpha particles since the decay has binding energy of -0.092 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.6, Page 444"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "Z = 92;    # Atomic number of U-238\n",
+      "A = 238;    # Mass number of U-238\n",
+      "\n",
+      "#Calculations\n",
+      "E_Coul = 0.72*Z*(Z-1)*A**(-1./3);    # Total Coulomb energy of U-238, MeV\n",
+      "\n",
+      "#Result\n",
+      "print \"The total Coulomb energy of U-238 = %3d MeV\"%E_Coul"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The total Coulomb energy of U-238 = 972 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.8, Page 447"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV\n",
+      "m_p = 1.007825;    # Mass of proton, amu\n",
+      "m_n = 1.008665;     # Mass of neutron, amu\n",
+      "M_Ne = 19.992440; # Mass of Ne-20 nucleus, amu\n",
+      "M_Fe = 55.934942;    # Mass of Fe-56 nucleus, amu\n",
+      "M_U = 238.050783;    # Mass of U-238 nucleus, amu\n",
+      "A_Ne = 20;    # Mass number of Ne-20 nucleus\n",
+      "A_Fe = 56;    # Mass number of Fe-56 nucleus\n",
+      "A_U = 238;    # Mass number of U-238 nucleus\n",
+      "\n",
+      "#Calculations\n",
+      "BE_Ne = (10*m_p+10*m_n-M_Ne)*u;    # Binding energy of Ne-20 nucleus, MeV\n",
+      "BE_Fe = (26*m_p+30*m_n-M_Fe)*u;    # Binding energy of Fe-56 nucleus, MeV\n",
+      "BE_U = (92*m_p+146*m_n-M_U)*u;    # Binding energy of U-238 nucleus, MeV\n",
+      "\n",
+      "#Results\n",
+      "print \"The binding energy per nucleon for Ne-20 : %4.2f MeV/nucleon\"%(BE_Ne/A_Ne)\n",
+      "print \"The binding energy per nucleon for Fe-56 : %4.2f MeV/nucleon\"%(BE_Fe/A_Fe)\n",
+      "print \"The binding energy per nucleon for U-238 : %4.2f MeV/nucleon\"%(BE_U/A_U)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The binding energy per nucleon for Ne-20 : 8.03 MeV/nucleon\n",
+        "The binding energy per nucleon for Fe-56 : 8.79 MeV/nucleon\n",
+        "The binding energy per nucleon for U-238 : 7.57 MeV/nucleon\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.10, Page 451"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "N_A = 6.023e+023;    # Avogadro's number\n",
+      "T = 138*24*3600;    # Half life of Po-210, s\n",
+      "R = 2000;    # Activity of Po-210, disintegrations/s\n",
+      "M = 0.210;    # Gram molecular mass of Po-210, kg\n",
+      "\n",
+      "#Calculations\n",
+      "f = 1/3.7e+010;    # Conversion factor to convert from decays/s to Ci\n",
+      "A = R*f/1e-006;    # Activity of Po-210, micro-Ci\n",
+      "N = R*T/math.log(2);    # Number of radioactive nuclei of Po-210, nuclei\n",
+      "m = N*M/N_A;    # Mass of Po-210 sample, kg\n",
+      "\n",
+      "#Results\n",
+      "print \"The activity of Po-210 = %5.3f micro-Ci\"%A\n",
+      "print \"The mass of Po-210 sample = %3.1e kg\"%m"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The activity of Po-210 = 0.054 micro-Ci\n",
+        "The mass of Po-210 sample = 1.2e-14 kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.11, Page 452"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "T = 110;    # Half life of F-18, min\n",
+      "f_remain = 0.01;    # Fraction of the F-18 sample remained\n",
+      "\n",
+      "#Calculations\n",
+      "t = -math.log(0.01)/(math.log(2)*60)*T;    # Time taken by the F-18 sample to decay to 1 percent of its initial value, h\n",
+      "\n",
+      "#Result\n",
+      "print \"The time taken for 99 percent of the F-18 sample to decay = %4.1f h\"%t"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The time taken for 99 percent of the F-18 sample to decay = 12.2 h\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.12, Page 452"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "N_A = 6.023e+023;    # Avogadro's number\n",
+      "M = 10e+03;    # Mass of the U-235, g\n",
+      "M_U235 = 235;    # Molecular mass of U-235, g\n",
+      "t_half = 7.04e+008;    # Half life of U-235, y\n",
+      "\n",
+      "#Calculations\n",
+      "N = M*N_A/M_U235;    # Number of U-235 atoms in 10 kg sample\n",
+      "R = math.log(2)*N/t_half;    # The alpha activity of 10 kg sample of U-235, decays/y\n",
+      "\n",
+      "#Result\n",
+      "print \"The alpha activity of 10 kg sample of U-235 = %3.1e Bq\"%(R/(365.25*24*60*60))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The alpha activity of 10 kg sample of U-235 = 8.0e+08 Bq\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.13, Page 453"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 u, MeV\n",
+      "M_U230 = 230.033927;    # Atomic mass of U-230, u\n",
+      "m_n = 1.008665;    # Mass of a neutron, u\n",
+      "M_H = 1.007825;    # Mass of hydrogen, u\n",
+      "M_U229 = 229.033496;    # Gram atomic mass of U-230\n",
+      "\n",
+      "#Calculations&Results\n",
+      "Q = (M_U230 - M_U229 - m_n)*u;    # Q-value of the reaction emitting a neutron\n",
+      "if (Q < 0):\n",
+      "    print \"The neutron decay in this reaction is not possible.\"\n",
+      "else:\n",
+      "    print \"The neutron decay in this reaction is possible.\"\n",
+      "\n",
+      "Q = (M_U230 - M_U229 - M_H)*u;    # Q-value of the reaction emitting a proton\n",
+      "if (Q < 0):\n",
+      "    print \"The proton decay in this reaction is not possible.\"\n",
+      "else:\n",
+      "    print \"The proton decay in this reaction is possible.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The neutron decay in this reaction is not possible.\n",
+        "The proton decay in this reaction is not possible.\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.15, Page 461"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 u, MeV\n",
+      "M_Fe55 = 54.938298;    # Atomic mass of Fe-55, u\n",
+      "M_Mn55 = 54.938050;    # Atomic mass of Mn-55, u\n",
+      "m_e = 0.000549;    # Mass of the electron, u\n",
+      "\n",
+      "#Calculations&Results\n",
+      "Q = (M_Fe55 - M_Mn55 - 2*m_e)*u;    # Q-value of the reaction undergoing beta+ decay, MeV\n",
+      "if (Q < 0):\n",
+      "    print \"The beta+ decay is not allowed for Fe-55\"\n",
+      "else:\n",
+      "    print \"The beta+ decay is allowed for Fe-55\"\n",
+      "\n",
+      "Q = (M_Fe55 - M_Mn55)*u;    # Q-value of the reaction undergoing electron capture, MeV\n",
+      "if (Q < 0):\n",
+      "    print \"Fe-55 may not undergo electron capture\"\n",
+      "else:\n",
+      "    print \"Fe-55 may undergo electron capture\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The beta+ decay is not allowed for Fe-55\n",
+        "Fe-55 may undergo electron capture\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.16, Page 462"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "def check_allowance(Q, decay_type):\n",
+      "    if (Q < 0):\n",
+      "\tprint \"The %s is not allowed for Ac-226\"%decay_type\n",
+      "    else:\n",
+      "\tprint \"The %s is allowed for Ac-226\"%decay_type\n",
+      "\n",
+      "\n",
+      "u = 931.5;    # Energy equivalent of 1 u, MeV\n",
+      "M_Ac226 = 226.026090;    # Atomic mass of Ac-226, u\n",
+      "M_Fr222 = 222.017544;    # Atomic mass of Fr-222, u\n",
+      "M_He4 = 4.002603;    # Atomic mass of He-4, u\n",
+      "M_Th226 = 226.024891;    # Atomic mass of M_Th226, u\n",
+      "M_Ra226 = 226.025403;    # Atomic mass of M_Ra226, u\n",
+      "m_e = 0.000549;    # Mass of the electron, u\n",
+      "\n",
+      "#Calculations\n",
+      "# Alpha Decay\n",
+      "Q = (M_Ac226 - M_Fr222 - M_He4)*u;    # Q-value of the reaction undergoing alpha decay, MeV\n",
+      "check_allowance(Q, \"alpha decay\");\n",
+      "# Beta- Decay\n",
+      "Q = (M_Ac226 - M_Th226)*u;    # Q-value of the reaction undergoing beta- decay, MeV\n",
+      "check_allowance(Q, \"beta- decay\");\n",
+      "# Beta+ Decay\n",
+      "Q = (M_Ac226 - M_Ra226 - 2*m_e)*u;    # Q-value of the reaction undergoing beta+ decay, MeV\n",
+      "check_allowance(Q, \"beta+ decay\");\n",
+      "# Electron Capture\n",
+      "Q = (M_Ac226 - M_Ra226)*u;    # Q-value of the reaction undergoing electron capture, MeV\n",
+      "check_allowance(Q, \"electron capture\");\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The alpha decay is allowed for Ac-226\n",
+        "The beta- decay is allowed for Ac-226\n",
+        "The beta+ decay is not allowed for Ac-226\n",
+        "The electron capture is allowed for Ac-226\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.17, Page 463"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 u, MeV\n",
+      "E_ex = 0.072;    # Energy of the excited state, MeV\n",
+      "\n",
+      "#Calculations\n",
+      "M = 226*u*1e+0;    # Energy equivalent of atomic mass of Th-226, MeV\n",
+      "x = E_ex/(2*M);    # The error introduced in the gamma ray energy by approximation\n",
+      "\n",
+      "#Result\n",
+      "print \"The error introduced in the gamma ray energy by approximation = %3.1e\"%x"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The error introduced in the gamma ray energy by approximation = 1.7e-07\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.18, Page 467"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "t_half = 4.47e+009;    # The half life of uranium ore, years\n",
+      "R_prime = 0.60;    # The ratio of Pb206 abundance to that of U238\n",
+      "\n",
+      "#Calculations\n",
+      "t = t_half/math.log(2)*math.log(R_prime + 1);    # Age of the uranuim ore, years\n",
+      "\n",
+      "#Result\n",
+      "print \"The age of U-238 ore = %3.1e years\"%t"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The age of U-238 ore = 3.0e+09 years\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.19, Page 469"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "t_half = 5730;    # The half life of uranium ore, years\n",
+      "R0 = 1.2e-012;    # The initial ratio of C14 to C12 at the time of death\n",
+      "R = 1.10e-012;    # The final ratio of C14 to C12 t years after death\n",
+      "\n",
+      "#Calculations\n",
+      "# As R = R0*math.exp(-lambda*t), solving for t\n",
+      "t = -math.log(R/R0)*t_half/math.log(2);    # Age of the bone, years\n",
+      "\n",
+      "#Result\n",
+      "print \"The %3d years age of bone does not date from the Roman Empire.\"%math.ceil(t)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The 720 years age of bone does not date from the Roman Empire.\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch13.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch13.ipynb
new file mode 100755
index 00000000..07e5a520
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch13.ipynb
@@ -0,0 +1,432 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:ca0579d99dcaeb6306ba4006be3368ec17d38cc09b7c654030323e81a030169b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 13: Nuclear Interactiions and Applications"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.1, Page 479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "N_A = 6.02e+023;    # Avogadro's number\n",
+      "e = 1.6e-019;    # Charge on an electron, C\n",
+      "q = 2*e;    # Charge on the alpha particle, C\n",
+      "rho = 1.9;    # Density of carbon target, atoms/cc\n",
+      "N_M = 1;    # Number of atoms per molecule\n",
+      "M_g = 12;    # Gram atomic mass of C12 isotope, g/mol\n",
+      "sigma = 25e-031;    # Total cross section for the reaction, Sq.m\n",
+      "t = 1e-006;    # Thickness of carbon target, m\n",
+      "I_beam = 1e-006;    # Beam current of akpha particle, ampere\n",
+      "time = 3600;    # Time for which the alpha particle beam is incident on the target, s\n",
+      "\n",
+      "#Calculations\n",
+      "n = rho*N_A*N_M/M_g;    # Number of nuclei per unit volume, per cc\n",
+      "P = n*t*sigma*1e+006;     # Probability of scattering of alpha particles\n",
+      "N_I = I_beam*time/q;    # Number of incident alpha particles\n",
+      "N_n = N_I*P;    # Number of neutrons produced in the reaction\n",
+      "\n",
+      "#Result\n",
+      "print \"The number of neutrons produced in the reaction = %3.1e neutrons\"%N_n\n",
+      "#answer differs due to rounding errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of neutrons produced in the reaction = 2.7e+09 neutrons\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.2, Page 480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "sigma_n = 3;    # Differential cross setion of production of the neutron, mb/sr\n",
+      "sigma_p = 0.2;    # Differential cross setion of production of the proton, mb/sr\n",
+      "\n",
+      "#Calculations\n",
+      "# As P_n = sigma_n and P_p = sigma_p, so\n",
+      "P_ratio = sigma_n/sigma_p;    # The likelihood of a neutron production than a proton\n",
+      "\n",
+      "#Result\n",
+      "print \"The likelihood of the neutron production than the proton = %2d\"%P_ratio"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The likelihood of the neutron production than the proton = 15\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.3, Page 481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV\n",
+      "M_He = 4.002603;    # Mass of He-4 nucleus, u\n",
+      "M_N = 14.003074;    # Mass of N-14 nucleus, u\n",
+      "M_H = 1.007825;    # Mass of hydrogen nucleus, u\n",
+      "M_O = 16.999132;    # Mass of O-16 nucleus, u\n",
+      "K_alpha = 7.7;    # The kinetic energy of alpha particle, MeV\n",
+      "\n",
+      "#Calculations\n",
+      "Q = (M_He + M_N - M_H - M_O)*u;    # The ground state Q-value of the nuclear reaction, MeV\n",
+      "# As Q = K_p + K_O - K_alpha, solving for K_p + K_O\n",
+      "K = Q + K_alpha;    # The sum of kinetic energy of the products, MeV\n",
+      "\n",
+      "#Results\n",
+      "print \"The ground state Q-value of the endoergic nuclear reaction = %5.3f MeV\"%Q\n",
+      "print \"The sum of kinetic energy of the products = %3.1f MeV\"%K"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ground state Q-value of the endoergic nuclear reaction = -1.192 MeV\n",
+        "The sum of kinetic energy of the products = 6.5 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.4, Page 485"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV\n",
+      "K_lab = 14.6;    # Kinetic energy of incident aplha particle, MeV\n",
+      "Mx = 4;    # Mass number of projectile nucleus\n",
+      "MX = 12;    # Mass number of target nucleus\n",
+      "M_He = 4.002603;    # Mass of He nucleus, u\n",
+      "M_C = 12.0 # Mass of carbon nucleus, u\n",
+      "M_O = 15.994915;    # Mass of oxygen nucleus, u\n",
+      "\n",
+      "#Calculations\n",
+      "K_cm = MX/(Mx + MX)*K_lab;    # Kinetic energy available in the centre of mass, MeV\n",
+      "E_O = (M_He + M_C - M_O)*u;    # The ground state excitation energy of O-16, MeV\n",
+      "E_final_O = K_cm + E_O;    # The final excitation energy of O-16, MeV\n",
+      "\n",
+      "#Result\n",
+      "print \"The final excitation energy of O-16 = %4.2f MeV\"%E_final_O"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The final excitation energy of O-16 = 7.16 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.5, Page 487"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV\n",
+      "M_U235 = 235.0439;    # Mass of U-235 nucleus, u\n",
+      "m_n = 1.0087;    # Mass of a neutron, u\n",
+      "M_Zr99 = 98.9165;    # Mass of Zr-99 nucleus, u\n",
+      "M_Te134 = 133.9115;    # Mass of Te-134 nucleus, u\n",
+      "\n",
+      "#Calculations\n",
+      "Q = (M_U235 + m_n - M_Zr99 - M_Te134 - 3*m_n)*u;    # Q-value of the reaction, MeV\n",
+      "\n",
+      "#Result\n",
+      "print \"The ground state Q-value of the induced fission reaction = %3d MeV\"%math.ceil(Q)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ground state Q-value of the induced fission reaction = 185 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.6, Page 488"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV\n",
+      "m_n = 1.0087;    # Mass of a neutron, u\n",
+      "M_U235 = 235.0439;    # Mass of U-235 nucleus, u\n",
+      "M_U236 = 236.0456;    # Mass of U-236 nucleus, u\n",
+      "M_U238 = 238.0508;    # Mass of U-238 nucleus, u\n",
+      "M_U239 = 239.0543;    # Mass of U-239 nucleus, u\n",
+      "\n",
+      "#Calculations\n",
+      "E_U236 = (m_n + M_U235 - M_U236)*u;    # Excitation energy of U-236 nucleus, MeV\n",
+      "E_U239 = (m_n + M_U238 - M_U239)*u;    # Excitation energy of U-239 nucleus, MeV\n",
+      "\n",
+      "#Results\n",
+      "print \"The excitation energy of U-236 nucleus = %3.1f MeV\"%E_U236\n",
+      "print \"The excitation energy of U-239 nucleus = %3.1f MeV\"%E_U239"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The excitation energy of U-236 nucleus = 6.5 MeV\n",
+        "The excitation energy of U-239 nucleus = 4.8 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.7, Page 490"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "t = 30e-003;    # Time during which the number of fissions is to be calculated, s\n",
+      "E = 185;    # Energy produced for each fission, MeV\n",
+      "delta_t = 5e-006;    # Average time during which a neutron is captured, s\n",
+      "\n",
+      "#Calculations\n",
+      "fs = t/delta_t;    # Number of fission cycles within 30 ms\n",
+      "N = (1.01)**fs;    # Number of fissions that occur in 30 ms\n",
+      "E_total = N*E;    # Total energy produced in 30 ms, MeV\n",
+      "\n",
+      "#Results\n",
+      "print \"The total number of fissions that occur in %d ms = %3.1e\"%(t/1e-003, N)\n",
+      "print \"The total energy produced = %3.1e MeV\"%E_total\n",
+      "\n",
+      "#Incorrect solution in textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The total number of fissions that occur in 30 ms = 8.5e+25\n",
+        "The total energy produced = 1.6e+28 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.8, Page 500"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV\n",
+      "M_He = 4.002603;    # Mass of He nucleus, u\n",
+      "M_C = 12.0 # Mass of carbon nucleus, u\n",
+      "M_O = 15.994915;    # Mass of oxygen nucleus, u\n",
+      "\n",
+      "#Calculations\n",
+      "Q = (M_He + M_C - M_O)*u;    # Q-value of the reaction, MeV\n",
+      "\n",
+      "#Result\n",
+      "print \"The energy expended in the fusion reaction inside supergiant star = %3.1f MeV\"%Q"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy expended in the fusion reaction inside supergiant star = 7.2 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.9, Page 502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "r = 3e-015;    # Distance at which the nuclear force becomes effective, m\n",
+      "e = 1.6e-019;  # Charge on an electron, C\n",
+      "K = 9e+009;    # Coulomb's constant, N-Sq.m/C^2\n",
+      "\n",
+      "#Calculations\n",
+      "V = K*e**2/r;    # Coulomb potential energy, J\n",
+      "# As V = 3/2*k*T, solving for T\n",
+      "T = 2./3*V/k;    # The ignition temperature needed for the fusion reaction between deuterium and a tritium, K\n",
+      "\n",
+      "#Result\n",
+      "print \"The ignition temperature needed for the fusion reaction between a deuterium and a tritium = %3.1e K\"%T"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ignition temperature needed for the fusion reaction between a deuterium and a tritium = 3.7e+09 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.10, Page 509"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "e = 1.6e-019;  # Energy equivalent of 1 eV, J\n",
+      "h = 6.62e-034;    # Planck's oconstant, Js\n",
+      "m = 1.67e-027;    # Mass of the neutron, kg\n",
+      "lamda = 0.060e-009;    # Wavelength of the neutron beam, m\n",
+      "\n",
+      "#Calculations\n",
+      "p = h/lamda;    # Momentum of the neutron from de-Broglie relation, kg-m/s\n",
+      "K = p**2/(2*m*e);    # Kinetic energy of the neutron needed to study atomic structure, eV\n",
+      "# As K = 3/2*k*T, solving for T\n",
+      "T = 2./3*K*e/k;    # The temperature of the neutron needed to study atomic structure, K\n",
+      "\n",
+      "#Result\n",
+      "print \"The energy and temperature of the neutron needed to study the atomic structure of solids = %4.2f eV and %4d K respectively\"%(K, T)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy and temperature of the neutron needed to study the atomic structure of solids = 0.23 eV and 1760 K respectively\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch14.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch14.ipynb
new file mode 100755
index 00000000..504e2ae2
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch14.ipynb
@@ -0,0 +1,190 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:ced2862e28b6da072a8a3e26efc3e44712d4ce0118ffb609847f53a2c9c6d14f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 14: Particle Physics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14.1, Page 522"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "e = 1.6e-019;  # Energy equivalent of 1 eV, J\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "c = 3.00e+008;    # Speed of light in vacuum, m/s\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "R_N = 1e-015;     # Range of nuclear force, m\n",
+      "\n",
+      "#Calculations\n",
+      "# As delta_E*delta_t = h_bar/2 and delta_E = m_pion*c^2, solving for m_pion\n",
+      "m_pion = h_bar*c/(2*R_N*e*1e+006);    # Mass of the meson, MeV/c^2\n",
+      "\n",
+      "#Result\n",
+      "print \"The estimated mass of meson from Heisenberg uncertainty principle = %.2f MeV/c^2\"%(m_pion)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The estimated mass of meson from Heisenberg uncertainty principle = 98.78 MeV/c^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14.2, Page 526"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "e = 1.6e-019;  # Energy equivalent of 1 eV, J\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "c = 3.00e+008;    # For simplicity assume speed of light to be unity\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "m_W = 80.4;    # Energy equivalent of mass of W- particle, MeV\n",
+      "\n",
+      "#Calculations\n",
+      "R_W = h_bar*c/(2*m_W*e*1e+009);    # Range of W- particle, m\n",
+      "delta_t = h_bar/(2*m_W*e*1e+009);    # Time during which the energy conservation is violated, s\n",
+      "\n",
+      "#Results\n",
+      "print \"The range of W- particle = %3.1e m\"%R_W\n",
+      "print \"The time during which the energy conservation is violated = %1.0e s\"%delta_t"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The range of W- particle = 1.2e-18 m\n",
+        "The time during which the energy conservation is violated = 4e-27 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14.10, Page 548"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "m_p = 0.938;    # Rest mass energy of the proton, GeV\n",
+      "K = 6.4;    # Kinetic energy of the proton projectile, GeV\n",
+      "\n",
+      "#Calculations\n",
+      "E_cm = math.sqrt(2*m_p**2+2*m_p*K);    # Centre of mass energy of proton collsion with the fixed proton target, GeV\n",
+      "Q = 2*m_p - 4*m_p;     # Q value of the reaction, GeV\n",
+      "K_th = -3*Q;    # Threshold kinetic energy required to produce the antiprotons, GeV\n",
+      "K = 1000;    # Kinetic energy of the protons in Tevatron, GeV\n",
+      "E_cm_T = math.sqrt(2*m_p**2+2*m_p*K);    # Centre-of-mass energy available for the reaction for the Tevatron, GeV\n",
+      "\n",
+      "#Results\n",
+      "print \"The available energy in the center on mass = %4.2f GeV\"%E_cm\n",
+      "print \"The threshold kinetic energy required to produce the antiprotons = %3.1f GeV\"%K_th\n",
+      "print \"The centre-of-mass energy available for the reaction for the Tevatron = %d GeV\"%E_cm_T"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The available energy in the center on mass = 3.71 GeV\n",
+        "The threshold kinetic energy required to produce the antiprotons = 5.6 GeV\n",
+        "The centre-of-mass energy available for the reaction for the Tevatron = 43 GeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14.11, Page 550"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "m_p = 0.938;    # Rest mass energy of the proton, GeV\n",
+      "E_cm = 14000;    # Centre of mass energy of colliding proton beams at LHC, GeV\n",
+      "\n",
+      "#Calculations\n",
+      "# As E_cm = math.sqrt(2*m_p**2+2*m_p*K), solving for K\n",
+      "K = E_cm**2*1e+009/(2*m_p);    # Approx. kinetic energy of the protons needed for fixed-target experiment, eV \n",
+      "\n",
+      "#Result\n",
+      "print \"The kinetic energy of the protons needed for fixed-target experiment = %3.1e eV\"%K"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The kinetic energy of the protons needed for fixed-target experiment = 1.0e+17 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch15.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch15.ipynb
new file mode 100755
index 00000000..7ea7cb3b
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch15.ipynb
@@ -0,0 +1,156 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:c4aa0414ffd05acf8e49e96b92516d863d2c0354ef81a7502c4540359e267fb8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 15: General Relativity"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15.1, Page 562"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "g = 9.8;    # Acceleration due to gravity, m/sec^2\n",
+      "H = 10000;    # Altitude of the aeroplane above the surface of earth, m\n",
+      "c = 3.00e+008;    # Speed of light in free space, m/s\n",
+      "T = 45*3600;    # Time taken by the airplane to from eastward to westward trip, s\n",
+      "\n",
+      "#Calculations\n",
+      "delta_T_G = g*H*T/(c**2*1e-009);    # Time difference in the two clocks due to gravitational redshift, ns\n",
+      "C = 4e+007;    # Circumference of the earth, m \n",
+      "v = 300;        # Speed of the jet airplane, m/s\n",
+      "T0 = C/v;    # Time of flight of jet airplane very near the surface of the earth, s\n",
+      "bita = v/c;    # Boost parameter\n",
+      "# As from special relativity time dilation relation, T = T0*sqrt(1-bita^2), solving for T0 - T = delta_T_R, we have\n",
+      "delta_T_R = T0*(1-math.sqrt(1-bita**2))/1e-009;    # Time difference in the two clocks due to special relativity, ns\n",
+      "\n",
+      "#Result\n",
+      "print \"The gravitational time dilation effect of %d ns is larger than the approximate %4.1f ns of that of special relativity.\"%(math.ceil(delta_T_G), delta_T_R)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The gravitational time dilation effect of 177 ns is larger than the approximate 66.7 ns of that of special relativity.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15.2, Page 567"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 3.00e+008;    # Speed of light in free space, m/s\n",
+      "G = 6.67e-011;    # Newton's gravitational constant, N-Sq.m/per kg square\n",
+      "M_S = 2.0e+030;    # Mass of the sun, kg\n",
+      "M_E = 6.0e+024;    # Mass of the earth, kg\n",
+      "\n",
+      "#Calculations\n",
+      "r_S = 2*G*M_S/(c**2*1e+003);    # Schwarzschild radius for sun, km\n",
+      "r_E = 2*G*M_E/(c**2*1e-003);    # Schwarzschild radius for earth, mm\n",
+      "\n",
+      "#Results\n",
+      "print \"The Schwarzschild radius for sun = %d km\"%math.ceil(r_S)\n",
+      "print \"The Schwarzschild radius for earth = %d mm\"%math.ceil(r_E)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Schwarzschild radius for sun = 3 km\n",
+        "The Schwarzschild radius for earth = 9 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15.3, Page 568"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "import scipy\n",
+      "from scipy.integrate import quad\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 3.00e+008;    # Speed of light in free space, m/s\n",
+      "G = 6.67e-011;    # Newton's gravitational constant, N-Sq.m/per kg square\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "\n",
+      "#Calculations\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "sigma = 5.67e-008;    # Stefan-Boltzmann constant, W per Sq.m per K^4\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "M0 = 1.99e+030;    # Mass of the sun, kg\n",
+      "alpha = 2*sigma*h_bar**4*c**6/((8*math.pi)**3*k**4*G**2);    # A constant, kg^3/s\n",
+      "T = lambda M: 1/alpha*M**2\n",
+      "t,err = scipy.integrate.quad(T,0, 3*M0)\n",
+      "\n",
+      "#Result\n",
+      "print \"The time required for the 3-solar-mass black hole to evaporate = %3.1e y\"%(t/(365.25*24*60*60))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The time required for the 3-solar-mass black hole to evaporate = 5.7e+68 y\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch16.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch16.ipynb
new file mode 100755
index 00000000..c2417efa
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch16.ipynb
@@ -0,0 +1,336 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3790a3d51914dcd136e5ca3ce886512d33fbd8ae15c97de507356c2c79104f21"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 16: Cosmology and Modern Astrophysics - The Beginning and the End"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.1, Page 581"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "H0 = 22;    # Value of Hubble constant, km/s per million ly\n",
+      "parsec = 3.26;    # The value of 1 parsec, light years\n",
+      "\n",
+      "#Calculations&Result\n",
+      "print \"The value of Hubble constant = %d km/s per Mpc\"%math.ceil(H0*parsec)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of Hubble constant = 72 km/s per Mpc\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.2, Page 583"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "M = 1;    # Let the current mass of the universe be unity\n",
+      "m_u = 1;    # Mass equivalent of 1 amu, u\n",
+      "N_n = 2;    # Number of neutrons in helium\n",
+      "N_p = 2;    # Number of protons in helium\n",
+      "\n",
+      "#Calculations\n",
+      "M_p = 0.75*M*m_u;    # Total mass of protons\n",
+      "M_He = 0.25*M*m_u;    # Total mass of helium\n",
+      "N_fp = M_p/M_He*(N_n + N_p);    # Total number of free protons for every He-4\n",
+      "N_P = N_fp + N_p;    # Total number of protons per He-4\n",
+      "ratio = N_P/N_n;    # Current ratio of protons to the neutrons in the universe\n",
+      "\n",
+      "#Result\n",
+      "print \"The current ratio of protons to the neutrons in the universe = %d\"%ratio"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The current ratio of protons to the neutrons in the universe = 7\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.3, Page 607"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "m_n = 939.566;    # Rest mass of the neutron, MeV/c^2\n",
+      "m_p = 938.272;    # Rest mass of the proton, MeV/c^2\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "c = 1;    # For simplicity assume speed of light of light to be unity\n",
+      "T = 1e+010;    # Temperature of the universe, K\n",
+      "\n",
+      "#Calculations\n",
+      "delta_m = m_n - m_p;    # Mass difference between a proton and a neutron, MeV/c^2\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/k\n",
+      "# As from Maxwell-Boltzmann distribution from thermodynamics, N = exp(-m*c^2/(k*T)), so\n",
+      "ratio = math.exp(delta_m*c**2*1e+006*e/(k*T));    # Ratio of protons to neutrons in the universe at 10 billion kelvin\n",
+      "\n",
+      "#Result\n",
+      "print \"The ratio of protons to neutrons in the universe at 10 billion kelvin = %3.1f\"%ratio"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of protons to neutrons in the universe at 10 billion kelvin = 4.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.4, Page 589"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "M = 1.99e+030;    # Mass of the sun, kg\n",
+      "G = 6.67e-011;    # Universal gravitational constant, N-Sq.m/kg^2\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "R = 6.96e+008;    # Radius of the sun, m\n",
+      "m = 1.67e-027;    # Rest mass of the proton, kg\n",
+      "\n",
+      "#Calculations\n",
+      "PE = 3./5*(G*M**2/R);    # Self potential energy of the sun, J\n",
+      "# As KE = 1./3*(M/m_p)*m_p*v**2, solving for v\n",
+      "v = math.sqrt(2*PE/M);    # Velocity of a proton inside the sun, m/s\n",
+      "# From kinetic theory of gases, v = sqrt(3*k*T/m), solving for T\n",
+      "T = m*v**2/(3*k);    # The mean temperature of the sun, K\n",
+      "\n",
+      "#Result\n",
+      "print \"The mean temperature of the sun = %1.0e K\"%T"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mean temperature of the sun = 9e+06 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.5, Page 590"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "M_sun = 1.99e+030;    # Mass of the sun, kg\n",
+      "m_n = 1.675e-027;    # Rest mass of the neutron, kg\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "\n",
+      "#Calculations\n",
+      "h_bar = h/(2*math.pi);    # Planck's constant, Js\n",
+      "G = 6.67e-011;    # Universal gravitational constant, N-Sq.m/kg^2\n",
+      "N = 2*M_sun/m_n;    # Number of neutrons in the neutron star\n",
+      "V = (6.5*h_bar**2/(N**(1./3)*m_n**3*G))**3;    # Volume of the neutron star, metre cube\n",
+      "R = (3./(4*math.pi)*V)**(1./3);    # The radius of neutron star, m\n",
+      "\n",
+      "#Result\n",
+      "print \"The radius of the neutron star of 2 solar masses = %d km\"%math.ceil(R/1e+003)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radius of the neutron star of 2 solar masses = 11 km\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.7, Page 598"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "c = 1;    # For simplicity assume speed of light to be unity, m/s\n",
+      "d = 1.6e+005;    # Distance of the supernova 1987A from the earth, ly\n",
+      "m = 16;    # Mass of heavier neutrino, eV/c^2;\n",
+      "E = 20e+006;    # Energy of the neutrino, eV\n",
+      "\n",
+      "#Calculations\n",
+      "delta_t = d/(2*c)*(m/E)**2;    # Difference between the travel times of the lighter and the massive neutrinos, y\n",
+      "\n",
+      "#Result\n",
+      "print \"The difference between the travel times of the lighter and the massive neutrinos = %3.1f s\"%(delta_t*(365.25*24*60*60))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The difference between the travel times of the lighter and the massive neutrinos = 1.6 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.8, Page 602"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "H = 22;    # Hubble constant, km/s per million ly\n",
+      "G = 6.67e-011;    # Universal gravitational constant, N-Sq.m/kg^2\n",
+      "\n",
+      "#Calculations\n",
+      "rho_c = 3/(8*math.pi)*H**2/G*1e+003/(c*365.25*24*60*60*1e+006)**2;    # The critical density of the universe, g/cc\n",
+      "\n",
+      "#Result\n",
+      "print \"The critical density of the universe = %3.1e g/cc\"%rho_c"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The critical density of the universe = 9.7e-30 g/cc\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.9, Page 604"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "H0 = 71;    # Hubble constant, km/s per Mpc\n",
+      "\n",
+      "#Calculations\n",
+      "tau = 1./H0*1e+006*3.26*9.46e+012/3.16e+007;    # The upper limit of the age of the universe, y\n",
+      "\n",
+      "#Result\n",
+      "print \"The upper limit of the age of the universe = %4.2e y\"%tau"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The upper limit of the age of the universe = 1.37e+10 y\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch2.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch2.ipynb
new file mode 100755
index 00000000..e79c5ef9
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch2.ipynb
@@ -0,0 +1,505 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d53ace7eee908f1b365cd69f5f5bf3b12191ff7d43291af068a8947558149234"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2: Special Theory of Relativity"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.2, Page 34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "ly = 9.46e+015;    # Distance travelled by light in an year, m\n",
+      "c = 3e+008;    # Speed of light, m/s\n",
+      "L = 4.30*ly;    # Distance of Alpha Centauri from earth, m\n",
+      "T0 = 16*365.25*24*60*60;    # Proper time in system K_prime, s\n",
+      "\n",
+      "#Calculations\n",
+      "# As time measured on earth, T = 2*L/v = T0_prime/sqrt(1-(v/c)^2), solving for v\n",
+      "v = math.sqrt(4*L**2/(T0**2+4*L**2/c**2));    # Speed of the aircraft, m/s\n",
+      "gama = 1/math.sqrt(1-(v/c)**2);    # Relativistic factor\n",
+      "T = gama*T0/(365.25*24*60*60);    # Time interval as measured on Earth, y\n",
+      "\n",
+      "#Results\n",
+      "print \"The speed of the aircraft = %4.2e m/s\" %v\n",
+      "print \"The time interval as measured on earth = %4.1f y\"%T\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The speed of the aircraft = 1.42e+08 m/s\n",
+        "The time interval as measured on earth = 18.2 y\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3, Page 38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "L0 = 4.30;    # Distance of Alpha Centauri from earth, ly\n",
+      "c = 3e+008;    # Speed of light, m/s\n",
+      "T = 8;    # Proper time in system K_prime, y\n",
+      "\n",
+      "#Calculations\n",
+      "# As v/c = L0*sqrt(1-(v/c)^2)/(c*T) or bita = L0*sqrt(1-bita^2)/(c*T), solving for bita\n",
+      "bita = math.sqrt(L0**2/(T**2 + L0**2));    # Boost parameter\n",
+      "v = L0*math.sqrt(1-bita**2)/T;    # Speed of the aircraft, c units\n",
+      "\n",
+      "#Results\n",
+      "print \"The boost parameter = %5.3f\"%bita\n",
+      "print \"The speed of the aircraft = %5.3fc units\"%v"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The boost parameter = 0.473\n",
+        "The speed of the aircraft = 0.473c units\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.4, Page 40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 1;    # For simplicity assume speed of light to be unity, m/s\n",
+      "bita = 0.600;    # Boost parameter\n",
+      "gama = 1/math.sqrt(1-bita**2);    # Relativistic factor\n",
+      "u_x_prime = 0;    # Speed of the protons in spaceship frame along x-axis, m/s\n",
+      "u_y_prime = 0.99*c;    # Speed of the protons in spaceship frame along y-axis, m/s\n",
+      "u_z_prime = 0;    # Speed of the protons in spaceship frame along z-axis, m/s\n",
+      "v = 0.60*c;    # Speed of the spaceship w.r.t. space station, m/s\n",
+      "\n",
+      "#Calculations\n",
+      "u_x = (u_x_prime + v)/(1 + v/c**2*u_x_prime);    # Speed of protons in space station frame along x-axis, m/s\n",
+      "u_y = u_y_prime/(gama*(1 + v/c**2*u_x_prime));    # Speed of protons in space station frame along y-axis, m/s\n",
+      "u_z = u_z_prime/(gama*(1 + v/c**2*u_x_prime));    # Speed of protons in space station frame along y-axis, m/s\n",
+      "u = math.sqrt(u_x**2 + u_y**2 + u_z**2);    # The speed of the protons measured by an observer in the space station, m/s\n",
+      "\n",
+      "#Result\n",
+      "print \"The speed of the protons measured by an observer in the space station = %5.3fc units\"%u"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The speed of the protons measured by an observer in the space station = 0.994c units\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.5, Page 45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "c = 2.998e+008;    # Speed of light in free space, m/s\n",
+      "v = 7712;    # Speed of the space shuttle, m/s\n",
+      "bita = v/c;    # Boost parameter\n",
+      "T_loss = 295.02;    # Total measured loss in time, ps/sec\n",
+      "Add_T_loss = 35.0;    # Additional time loss for moving clock from general relativity prediction, ps/s\n",
+      "\n",
+      "#Calculations\n",
+      "# From time dilation relation, T0_prime = T*sqrt(1 - bita^2), solving for (T - T0_prime)/T\n",
+      "Calc_T_loss = bita**2/2*1e+012;    # Expected time lost per sec by the moving clock, ps/sec\n",
+      "Measured_T_loss = T_loss + Add_T_loss;    # Total measured loss in time per sec as per special relativity, ps/s\n",
+      "percent_T_loss = (Calc_T_loss - Measured_T_loss)/Calc_T_loss*100;    # Percentage deviation of measured and the calculated time loss per sec\n",
+      "T = 6.05e+05;    # Total time of the seven-day mission, s\n",
+      "delta_T = Calc_T_loss*1e-012*T;    # The total time difference between the moving and stationary clocks during the entire shuttle flight, s\n",
+      "\n",
+      "#Results\n",
+      "print \"The expected time lost per second for the moving clock = %6.2f ps\"%Calc_T_loss\n",
+      "print \"The percentage deviation of measured and the calculated time loss per sec for moving clock = %3.1f percent\"%percent_T_loss   #answer differs due to rounding errors\n",
+      "print \"The total time difference between the moving and stationary clocks during the entire shuttle flight = %3.1f ms\"%(delta_T/1e-003)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The expected time lost per second for the moving clock = 330.86 ps\n",
+        "The percentage deviation of measured and the calculated time loss per sec for moving clock = 0.3 percent\n",
+        "The total time difference between the moving and stationary clocks during the entire shuttle flight = 0.2 ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8, Page 57"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "f0 = 1;    # For simplicity assume frequency of the signals sent by Frank, Hz\n",
+      "# Outbound trip\n",
+      "bita = -0.8;    # Boost parameter for receding frames\n",
+      "\n",
+      "#Calculations&Results\n",
+      "f = math.sqrt(1+bita)/math.sqrt(1-bita)*f0;    # The frequency of the signals received by Mary in outbound trip, Hz\n",
+      "print \"The frequency of the signals received by Mary in outbound trip = f0/%d\", math.ceil(f*9)\n",
+      "# Return trip\n",
+      "bita = +0.8;    # Boost parameter for approaching frames\n",
+      "f = math.sqrt(1+bita)/math.sqrt(1-bita)*f0;    # The frequency of the signals received by Mary in return trip, Hz\n",
+      "print \"The frequency of the signals received by Mary in return trip = %df0\"%f"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " The frequency of the signals received by Mary in outbound trip = f0/%d 3.0\n",
+        "The frequency of the signals received by Mary in return trip = 3f0\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.11, Page 64"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "q = 1.6e-019;    # Charge on an electron, C\n",
+      "V = 25e+003;    # Accelerating potential, volt\n",
+      "K = q*V;    # Kinetic energy of electrons, J\n",
+      "m = 9.11e-031;    # Rest mass of an electron, kg\n",
+      "c = 3.00e+08;    # Speed of light, m/s\n",
+      "\n",
+      "#Calculations\n",
+      "# From relativistic kinetic energy formula, K = (gama - 1)*m*C^2, solving for gama\n",
+      "gama = 1 + K/(m*c**2);    # Relativistic factor\n",
+      "bita = math.sqrt((gama**2-1)/gama**2);    # Boost parameter\n",
+      "u = bita*c;    # Speed of the electrons, m/s\n",
+      "# From non-relativistic expression, K = 1/2*m*u^2, solving for u\n",
+      "u_classical = math.sqrt(2*K/m);    # Non-relativistic speed of the electrons, m/s\n",
+      "u_error = (u_classical - u)/u_classical*100;    # Percentage error in speed of electrons, m/s\n",
+      "\n",
+      "#Results\n",
+      "print \"The relativistic speed of the accelerated electrons = %4.2e m/s\"%u\n",
+      "print \"The classical speed is about %d percent greater than the relativistic speed\"%math.ceil(u_error)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relativistic speed of the accelerated electrons = 9.04e+07 m/s\n",
+        "The classical speed is about 4 percent greater than the relativistic speed\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.13, Page 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 1;    # For simplicity assume peed of light to be unity, m/s\n",
+      "K = 2.00;    # Kinetic energy of protons, GeV\n",
+      "E0 = 0.938;    # Rest mass of a proton, GeV\n",
+      "E = K + E0;    # Total energy of the proton, GeV\n",
+      "\n",
+      "#Calculations\n",
+      "# From relativistic mass energy relation, E^2 = (p*c)^2+E0^2, solving for p\n",
+      "p = math.sqrt(E**2 - E0**2)/c;    # Momentum of the protons, GeV/c\n",
+      "# As E = gama*E0, solving for gama\n",
+      "gama = E/E0;    # Relativistic factor\n",
+      "bita = math.sqrt((gama**2-1)/gama**2);    # Boost parameter\n",
+      "v = bita*3.00e+08;    # Speed of 2 GeV proton, m/s\n",
+      "\n",
+      "#Results\n",
+      "print \"The energy of each initial proton = %5.3f GeV\"%E\n",
+      "print \"The momentum of each initial proton = %4.2f GeV/c\"%p\n",
+      "print \"The speed of each initial proton = %3.1e m/s\"%v\n",
+      "print \"The relativistic factor, gama = %4.2f\"%gama\n",
+      "print \"The boost parameter, beta = %5.3f\"%bita"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy of each initial proton = 2.938 GeV\n",
+        "The momentum of each initial proton = 2.78 GeV/c\n",
+        "The speed of each initial proton = 2.8e+08 m/s\n",
+        "The relativistic factor, gama = 3.13\n",
+        "The boost parameter, beta = 0.948\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.15, Page 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "E_d = 1875.6;    # Rest mass energy of the deuterium, MeV\n",
+      "E_pi = 139.6;    # Rest mass energy of the pion, MeV\n",
+      "E_p = 938.3;    # Rest mass energy of the proton, MeV\n",
+      "\n",
+      "#Calculation\n",
+      "K = 1./2*(E_d + E_pi - 2*E_p);    # Minimum kinetic energy of the protons, MeV \n",
+      "\n",
+      "#Result\n",
+      "print \"The minimum kinetic energy of the protons = %2d MeV\"%K"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum kinetic energy of the protons = 69 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.16, Page 72"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV\n",
+      "c = 1;    # Speed of light in vacuum, m/s\n",
+      "\n",
+      "#Calculations\n",
+      "m_e = 0.000549*u;    # Rest mass of an electron, MeV/c^2\n",
+      "m_p = 1.007276*u;    # Rest mass of a proton, MeV/c^2\n",
+      "m_n = 1.008665*u;    # Rest mass of a neutron, MeV/c^2\n",
+      "m_He = 4.002603*u;    # Rest mass of a helium, MeV/c^2\n",
+      "M_He = m_He - 2*m_e;    # Mass of He nucleus, MeV/c^2\n",
+      "E_B_He = (2*m_p + 2*m_n - M_He)*c**2;    # Binding energy of the He nucleus, MeV\n",
+      "\n",
+      "#Result\n",
+      "print \"The binding energy of the He nucleus = %4.1f MeV\"%E_B_He"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The binding energy of the He nucleus = 28.3 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.17, Page 72"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV/u\n",
+      "c = 1;    # For simplicity assume speed of light in vacuum to be unity, m/s\n",
+      "E_B = 4.24;    # The dissociationenergy of the NaCl molecule, MeV\n",
+      "\n",
+      "#Calculations\n",
+      "M = 58.44*u;    # Energy corresponding to molecular mass of NaCl, MeV\n",
+      "f_r = E_B/M;    # The fractional mass increase of the Na and Cl atoms\n",
+      "\n",
+      "#Result\n",
+      "print \"The fractional mass increase of the Na and Cl atoms when they are not bound together in NaCl = %4.1e\"%(f_r/1e+006)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fractional mass increase of the Na and Cl atoms when they are not bound together in NaCl = 7.8e-11\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.18, Page 72"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 1;    # For simplicity assume speed of light in vacuum to be unity, m/s\n",
+      "E0_n = 940;    # Rest energy of a neutron, MeV\n",
+      "E0_pi = 140;    # Rest energy of a pion, MeV\n",
+      "p_n = 4702;    # Momentum of the neutron, MeV/c\n",
+      "p_pi = 169;    # Momentum of the pion, MeV/c\n",
+      "\n",
+      "#Calculations\n",
+      "E_n = math.sqrt((p_n*c)**2+E0_n**2);    # Total energy of the neutron, MeV\n",
+      "E_pi = math.sqrt((p_pi*c)**2+E0_pi**2);    # Total energy of the pion, MeV\n",
+      "E = E_n + E_pi;    # Total energy of the reaction, MeV\n",
+      "p_sigma = p_n + p_pi;    # Momentum of the sigma particle, MeV/c\n",
+      "E0_sigma = math.sqrt(E**2 - (p_sigma*c)**2);    # Rest mass energy of the sigma particle, MeV\n",
+      "m_sigma = E0_sigma/c**2;    # Rest mass of sigma particle, MeV/c^2;\n",
+      "K = E - E0_sigma;    # Kinetic energy of sigma particle, MeV\n",
+      "\n",
+      "#Results\n",
+      "print \"The rest mass of sigma particle = %4d MeV/c^2\"%math.ceil(m_sigma)\n",
+      "print \"The kinetic energy of sigma particle = %4d MeV\"%math.ceil(K)\n",
+      "\n",
+      "#Answers differ due to rounding errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The rest mass of sigma particle = 1192 MeV/c^2\n",
+        "The kinetic energy of sigma particle = 3824 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch3.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch3.ipynb
new file mode 100755
index 00000000..c0e5a7b6
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch3.ipynb
@@ -0,0 +1,553 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:5b9d1e914dbb4b0e0e0650025bfed9ebb154ac3184f6c3eb08f9fb1b53400e59"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3: The Experimental Basis of Quantum Physics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.1, Page 87"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "E = 1.2e+004;    # Electric field, V/m\n",
+      "B = 8.8e-004;    # Magnetic field, T\n",
+      "l = 0.05;    # Length of the deflection plates, m\n",
+      "v0 = E/B;    # Initial velocity of the electron, m/s\n",
+      "theta = 30;    # Angular deflection of the electron, degrees\n",
+      "\n",
+      "#Calculations\n",
+      "q_ratio_m = E*math.tan(theta*math.pi/180)/(B**2*l);    # Specific charge of the electron, C/kg\n",
+      "\n",
+      "#Results\n",
+      "print \"The initial velocity of the electron = %3.1e m/s\"%v0\n",
+      "print \"The specific charge of the electron = %3.1e C/kg\"%q_ratio_m"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The initial velocity of the electron = 1.4e+07 m/s\n",
+        "The specific charge of the electron = 1.8e+11 C/kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.3, Page 94"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import numpy\n",
+      "\n",
+      "def check_visible(l):\n",
+      "    if l >= 400 and l < 700:\n",
+      "        return 1\n",
+      "    else:\n",
+      "        return 0\n",
+      "    \n",
+      "R_H = 1.0968e+007;    # Rydberg constanr, per metre\n",
+      "f = numpy.zeros(7)\n",
+      "# Lyman series\n",
+      "print \"\\nFor Lyman series, the wavelengths are:\\n\"\n",
+      "n = 1.;    # The lowest level of Lyman series\n",
+      "for k in range(2,4):\n",
+      "    l = 1./(R_H*(1./n**2-1./k**2))/1.e-009;\n",
+      "    print \"k = %d, %5.1f nm\"%(k, l);\n",
+      "    f[k-1] = check_visible(l); \n",
+      "    if f[k-1] == 1:\n",
+      "        print(\" (Visible) \\n\");\n",
+      "    else:\n",
+      "        print(\" (Ultraviolet)\\n\");\n",
+      "    \n",
+      "    \n",
+      "if f[0]  == 1 or f[1]  == 1 or f[2] == 1:\n",
+      "    print(\"Some wavelengths of Lyman series fall in the visible region.\\n\")\n",
+      "else:\n",
+      "    print(\"All the wavelengths of Lyman series fall in the UV-region.\\n\")\n",
+      "    \n",
+      "\n",
+      "# Balmer series\n",
+      "print(\"\\nFor Balmer series, the wavelengths are:\\n\")\n",
+      "n = 2;    # The lowest level of Balmer series\n",
+      "for k in range(3,8):\n",
+      "    l = 1./(R_H*(1./n**2.-1./k**2))/1.e-009;\n",
+      "    print \"k = %d, %5.1f nm\"%(k, l);\n",
+      "    f[k-1] = check_visible(l);\n",
+      "    if f[k-1] == 1:\n",
+      "        print(\" (Visible) \\n\");\n",
+      "    else:\n",
+      "        print(\" (Ultraviolet)\\n\");\n",
+      "    \n",
+      "# Paschen series\n",
+      "print(\"\\nFor Paschen series, the wavelengths are:\\n\")\n",
+      "n = 3.;    # The lowest level of Lyman series\n",
+      "for k in range(4,6):\n",
+      "    l = 1./(R_H*(1./n**2-1./k**2))/1e-009;\n",
+      "    print \"k = %d, %5.1f nm\"%( k, l);\n",
+      "    f[k-1] = check_visible(l); \n",
+      "    if f[k-1] == 1:\n",
+      "        print(\" (Visible) \\n\");\n",
+      "    else:\n",
+      "        print(\" (Infrared)\\n\");\n",
+      "    \n",
+      "# For limiting member\n",
+      "k = numpy.inf;\n",
+      "l = 1/(R_H*(1/n**2-1/k**2))/1e-009;\n",
+      "print \"k = %f, %5.1f nm\"%(numpy.inf, l);\n",
+      "f[5] = check_visible(l);\n",
+      "if f[5] == 1:\n",
+      "    print(\" (Visible) \\n\");\n",
+      "else:\n",
+      "    print(\" (Infrared)\\n\");\n",
+      "   \n",
+      "if f[3]  == 1 or f[4]  == 1 or f[5] == 1:\n",
+      "    print(\"Some wavelengths of Paschen series fall in the visible region.\")\n",
+      "else:\n",
+      "    print(\"All the wavelengths of Paschen series fall in the IR-region.\")\n",
+      "    \n",
+      "        "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "For Lyman series, the wavelengths are:\n",
+        "\n",
+        "k = 2, 121.6 nm\n",
+        " (Ultraviolet)\n",
+        "\n",
+        "k = 3, 102.6 nm\n",
+        " (Ultraviolet)\n",
+        "\n",
+        "All the wavelengths of Lyman series fall in the UV-region.\n",
+        "\n",
+        "\n",
+        "For Balmer series, the wavelengths are:\n",
+        "\n",
+        "k = 3, 656.5 nm\n",
+        " (Visible) \n",
+        "\n",
+        "k = 4, 486.3 nm\n",
+        " (Visible) \n",
+        "\n",
+        "k = 5, 434.2 nm\n",
+        " (Visible) \n",
+        "\n",
+        "k = 6, 410.3 nm\n",
+        " (Visible) \n",
+        "\n",
+        "k = 7, 397.1 nm\n",
+        " (Ultraviolet)\n",
+        "\n",
+        "\n",
+        "For Paschen series, the wavelengths are:\n",
+        "\n",
+        "k = 4, 1875.6 nm\n",
+        " (Infrared)\n",
+        "\n",
+        "k = 5, 1282.1 nm\n",
+        " (Infrared)\n",
+        "\n",
+        "k = inf, 820.6 nm\n",
+        " (Infrared)\n",
+        "\n",
+        "All the wavelengths of Paschen series fall in the IR-region.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.4, Page 98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "T = 1600 + 273;    # Temperature of the furnace, K\n",
+      "b = 2.898e-003;    # Wein's constant, m-K\n",
+      "\n",
+      "#Calculation\n",
+      "lamda_max = math.ceil(b/(T*1e-009));    # Maximum wavelength from Wein's Displacement Law, nm\n",
+      "\n",
+      "#Results\n",
+      "print \"The maximum wavelength emitted from the heated furnace = %4d nm\"%lamda_max\n",
+      "print \"This wavelength falls in the IR-region.\"\n",
+      "\n",
+      "#answers differ due to rounding errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The maximum wavelength emitted from the heated furnace = 1548 nm\n",
+        "This wavelength falls in the IR-region.\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.5, Page 98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "lambda_max = 500e-009;    # Maximum intensity wavelength emitted by the sun, m\n",
+      "b = 2.898e-003;    # Wein's constant, m-K\n",
+      "sigma = 5.67e-008;    # Stefan's constant, W/Sq.m-K^4\n",
+      "r = 6.96e+008;    # Radius of the sun, m\n",
+      "r_E = 6.37e+006;    # Radius of the earth, m\n",
+      "R_E = 1.49e+011;    # Mean-earth sun distance, m\n",
+      "\n",
+      "#Calculations\n",
+      "S = 4*math.pi*r**2;    # Surface area of the sun, Sq.m\n",
+      "T_sun = b/lambda_max;    # The temperature of the sun's surface, K\n",
+      "R_T = sigma*T_sun**4;    # Power per unit area radiated by the sun, W/Sq.m\n",
+      "P_sun = R_T*S;    # The total power radiated from the sun's surface, W\n",
+      "F = r_E**2/(4*R_E**2);    # Fraction of sun's radiation received by Earth\n",
+      "P_Earth_received = P_sun*F;    # The radiation received by the Earth from the sun, W\n",
+      "U_Earth = P_Earth_received*60*60*24;    # The radiation received by the Earth from the sun in one day, J\n",
+      "R_Earth = P_Earth_received/(math.pi*r_E**2);    # Power received by the Earth per unit of exposed area, W/Sq.m\n",
+      "\n",
+      "#Results\n",
+      "print \"The surface temperature of the sun = %4d K\"%math.ceil(T_sun)\n",
+      "print \"The power per unit area emitted from the surface of the sun = %4.2e W/Sq.m\"%R_T\n",
+      "print \"The energy received by the Earth each day from the radiation of sun = %4.2e J\"%U_Earth\n",
+      "print \"The power received by the Earth per unit of exposed area = %4d W/Sq.m\"%math.ceil(R_Earth)\n",
+      "\n",
+      "#Answers differ due to rounding errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The surface temperature of the sun = 5796 K\n",
+        "The power per unit area emitted from the surface of the sun = 6.40e+07 W/Sq.m\n",
+        "The energy received by the Earth each day from the radiation of sun = 1.54e+22 J\n",
+        "The power received by the Earth per unit of exposed area = 1397 W/Sq.m\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.10, Page 106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "phi = 2.36;    # Work function of sodium, eV\n",
+      "N_A = 6.02e+023;    # Avogadro's number\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "I = 1e-008;    # Intensity of incident radiation, W/Sq.m\n",
+      "K = 1.00;    # Kinetic energy of the ejected photoelectron, eV\n",
+      "rho = 0.97;    # Density of Na atoms, g/cc\n",
+      "M = 23;    # Gram atomic mass of Na, g/mol\n",
+      "\n",
+      "#Calculations\n",
+      "n = N_A*1e+006/M*rho;    # Number of Na atoms per unit volume, atoms/metre-cube\n",
+      "# Assume a cubic structure, then 1/d^3 = n, solving for d\n",
+      "d = (1./n)**(1./3);    # Thickness of one layer of sodium atoms, m\n",
+      "N = n*d;    # Number of exposed atoms per Sq.m\n",
+      "R = I/(N*e);    # Rate of energy received by each atom, eV/s\n",
+      "t = (phi+K)/R;    # Time needed to absorb 3.36 eV energy\n",
+      "\n",
+      "#Result\n",
+      "print \"The exposure time of light to produce the photoelectron of %4.2f kinetic energy = %4.1f years\"%(K, t/(60*60*24*365.25))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The exposure time of light to produce the photoelectron of 1.00 kinetic energy = 14.7 years\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.11, Page 109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "phi = 2.93;    # Work function of lithium, eV\n",
+      "lamda = 400e-009;    # Wavelength of incident light, m\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "c = 2.998e+008;    # Speed of light in vacuum, m/s\n",
+      "h = 6.626e-034;    # Planck's constant, Js\n",
+      "\n",
+      "#Calculations\n",
+      "E = h*c/(lamda*e);    # Energy of incident light, eV\n",
+      "V0 = E - phi;    # Stopping potential, V\n",
+      "\n",
+      "#Results\n",
+      "print \"The energy of incident photons = %4.2f eV\"%E\n",
+      "print \"The stopping potential = %4.2f V\"%V0"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy of incident photons = 3.10 eV\n",
+        "The stopping potential = 0.17 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.12, Page 109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "phi = 2.93;    # Work function of lithium, eV\n",
+      "c = 2.998e+008;    # Speed of light in vacuum, m/s\n",
+      "K = 3.00;    # Kinetic energy of photoelectron, eV\n",
+      "E = phi + K;    # Total energy of the incident light, eV\n",
+      "h = 6.626e-034;    # Planck's constant, Js\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "\n",
+      "#Calculations\n",
+      "f = E*e/h;    # Frequency of incident light, Hz\n",
+      "lamda = c/f;    # Wavelength of the incident light, m\n",
+      "\n",
+      "#Results\n",
+      "print \"The frequency of incident light = %4.2e Hz\"%f\n",
+      "print \"The wavelength of the incident light = %4.2f nm\"%(lamda/1e-009)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The frequency of incident light = 1.43e+15 Hz\n",
+        "The wavelength of the incident light = 209.37 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.13, Page 110"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "lamda = 350;    # Wavelength of incident light, nm\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "E = 1.250e+003/lamda;    # Total energy of the incident light, eV\n",
+      "I = 1e-008;    # Intensity of incident light, W/Sq.m\n",
+      "\n",
+      "#Calculations\n",
+      "# As Intensity, I = N*E, solving for N\n",
+      "N = I/(E*e);    # The number of photons in the light beam\n",
+      "\n",
+      "#Results\n",
+      "print \"The number of photons in the light beam = %3.1e photons/Sq.m/s\"%N"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of photons in the light beam = 1.8e+10 photons/Sq.m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15, Page 113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "c = 2.998e+008;    # Speed of light in vacuum, m/s\n",
+      "h = 6.626e-034;    # Planck's constant, Js\n",
+      "V0 = 35e+003;    # Electron acceleration voltage, V\n",
+      "\n",
+      "#Calculations\n",
+      "lambda_min = h*c/(e*V0);    # Duane-Hunt rule for wavelength, m\n",
+      "\n",
+      "#Result\n",
+      "print \"The minimum wavelength of X-rays = %4.2e m\"%lambda_min"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum wavelength of X-rays = 3.55e-11 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.16, Page 116"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 2.998e+008;    # Speed of light in vacuum, m/s\n",
+      "h = 6.626e-034;    # Planck's constant, Js\n",
+      "m_e = 9.11e-031;    # Rest mass of an electron, kg\n",
+      "lamda = 0.050;    # Wavelength of the X-ray, nm\n",
+      "theta = 180;    # The angle at which the recoil electron Ke becomes the largest, degree\n",
+      "\n",
+      "#Calculations\n",
+      "E_x_ray = 1.240e+003/lamda;    # Energy of the X-ray, eV\n",
+      "lambda_prime = lamda + (1-math.cos(theta*math.pi/180))*h/(m_e*c*1e-009);    # The largest wavelength of the scattered photon, nm\n",
+      "E_prime_x_ray = 1.240e+003/lambda_prime;    # Energy of the scattered photon, eV\n",
+      "K = (E_x_ray - E_prime_x_ray)/1e+003;    # Kinetic energy of the most energetic recoil electron, keV\n",
+      "if (E_prime_x_ray < E_x_ray):\n",
+      "    print \"The X-ray is Compton-scattered by the electron.\"\n",
+      "else:\n",
+      "    print \"The X-ray is not Compton-scattered by the electron.\"\n",
+      "\n",
+      "#Results\n",
+      "print \"The largest wavelength of the scattered photon = %5.3f nm\"%lambda_prime\n",
+      "print \"The kinetic energy of the most energetic recoil electron = %3.1f keV\"%K\n",
+      "print \"The angle at which the recoil electron energy is the largest = %d degrees\"%theta"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The X-ray is Compton-scattered by the electron.\n",
+        "The largest wavelength of the scattered photon = 0.055 nm\n",
+        "The kinetic energy of the most energetic recoil electron = 2.2 keV\n",
+        "The angle at which the recoil electron energy is the largest = 180 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch4.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch4.ipynb
new file mode 100755
index 00000000..dd98ce36
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch4.ipynb
@@ -0,0 +1,368 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:f42166d612e07dd5c211bc7a51c893df5fb381dff9d6c4c0494c5987d5a5f81d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4: Structure of the Atom"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.1, Page 129"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "m_e = 0.000549;    # Rest mass of an electron, u\n",
+      "m_He = 4.002603;    # Rest mass of a helium, u\n",
+      "\n",
+      "#Calculations\n",
+      "M_alpha = m_He - 2*m_e;    # Mass of alpha particle, u\n",
+      "theta_max = 2*m_e/M_alpha;    # Maximum scttering angle for aplha particle, rad\n",
+      "\n",
+      "#Result\n",
+      "print \"The maximum scattering angle for alpha particle = %5.3f degrees\"%(theta_max*180/math.pi)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The maximum scattering angle for alpha particle = 0.016 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.2, Page 137"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "rho = 19.3;    # Density of gold, g/cc\n",
+      "N_A = 6.02e+023;    # Avogadro's number\n",
+      "N_M = 1;    # Number of atoms per molecule\n",
+      "M_g = 197;    # Gram atomic mass of gold, g/mol\n",
+      "n = rho*N_A*N_M/(M_g*1e-006);    # Number density of gold atoms, atoms/metre-cube\n",
+      "Z1 = 79;    # Atomic number of gold\n",
+      "Z2 = 2;    # Atomic number of He nucleus\n",
+      "t = 1e-006;    # Thickness of the gold foil, m\n",
+      "e = 1.602e-019;    # Charge on an electron, C\n",
+      "k = 9e+009;    # Coulomb constant, N-Sq.m/C^2\n",
+      "theta = 90.;    # Angle of deflection of alpha particle, degrees\n",
+      "K = 7.7;    # Kinetic energy of alpha particles, MeV\n",
+      "\n",
+      "#Calculations\n",
+      "f = math.pi*n*t*(Z1*Z2*e**2*k/(2*1.6e-013*K))**2*(1./math.tan(theta*math.pi/180/2))**2; # The fraction of alpha particles deflected\n",
+      "\n",
+      "#Result\n",
+      "print \"The fraction of alpha particles deflected = %1.0e\"%f"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fraction of alpha particles deflected = 4e-05\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.3, Page 138"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "rho = 19.3;    # Density of gold, g/cc\n",
+      "N_A = 6.02e+023;    # Avogadro's number\n",
+      "N_M = 1;    # Number of atoms per molecule\n",
+      "M_g = 197;    # Gram atomic mass of gold, g/mol\n",
+      "Z1 = 79;    # Atomic number of gold\n",
+      "Z2 = 2;    # Atomic number of He nucleus\n",
+      "t = 2.1e-007;    # Thickness of the gold foil, m\n",
+      "e = 1.602e-019;    # Charge on an electron, C\n",
+      "k = 9e+009;    # Coulomb constant, N-Sq.m/C^2\n",
+      "r = 1e-002;    # Distance of the alpha particles from the target, m\n",
+      "theta = 45;    # Angle of deflection of alpha particle, degrees\n",
+      "K = 7.7;    # Kinetic energy of alpha particles, MeV\n",
+      "\n",
+      "#Calculations\n",
+      "n = rho*N_A*N_M/(M_g*1e-006);    # Number density of gold atoms, atoms/metre-cube\n",
+      "f = n*t*(Z1*Z2*e**2*k)**2/((r*1.6e-013*K)**2*math.sin(theta*math.pi/180/2)**4*16); # The fraction of alpha particles deflected\n",
+      "\n",
+      "#Result\n",
+      "print \"The fraction of alpha particles deflected at %d degrees = %3.1e per mm square\"%(theta, f/1e+006)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fraction of alpha particles deflected at 45 degrees = 3.2e-07 per mm square\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.5, Page 139"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "Z1 = 2;    # Atomic number of He nucleus\n",
+      "Z2 = 13;    # Atomic number of aluminium\n",
+      "e = 1.602e-019;    # Charge on an electron, C\n",
+      "k = 9e+009;    # Coulomb constant, N-Sq.m/C^2\n",
+      "K = 7.7;    # Kinetic energy of alpha particles, MeV\n",
+      "\n",
+      "#Calculations\n",
+      "r_min = Z1*Z2*e**2*k/(K*1.6e-013);    # Size of the aluminium nucleus, m\n",
+      "\n",
+      "#Result\n",
+      "print \"The size of the aluminium nucleus = %3.1e m\"%r_min"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The size of the aluminium nucleus = 4.9e-15 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.6, Page 140"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "r = 0.5e-010;    # Radius of the atom, m\n",
+      "e = 1.6e-019;    # Charge on an electron, C\n",
+      "m_e = 9.11e-031;    # Mass of the electron, kg\n",
+      "k = 9e+009;    # Coulomb constant, N-Sq.m/C^2\n",
+      "\n",
+      "#Calculations\n",
+      "v = e*k**(1./2)/(m_e*r)**(1./2);    # Speed of the electron, m/s\n",
+      "\n",
+      "#Result\n",
+      "if v < 0.01*c:\n",
+      "    print \"The nonrelativistic treatment for calculating speed of the electron = %3.1e m/s is justified\"%v\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The nonrelativistic treatment for calculating speed of the electron = 2.2e+06 m/s is justified\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.7, Page 146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import numpy \n",
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "def check_region(lamda):\n",
+      "    if lamda >= 400. and lamda < 700.:\n",
+      "        return  \"visible\";\n",
+      "    else:\n",
+      "        return \"infrared\";\n",
+      "    \n",
+      "\n",
+      "n_l = 3.;    # Lower electron orbit in Paschen series\n",
+      "n_u = [4, numpy.inf];    # First and limiting upper orbits in Paschen series\n",
+      "R_inf = 1.0974e+007;    # Rydberg constant, per metre\n",
+      "\n",
+      "#Calculations&Results\n",
+      "lambda_max = 1./(R_inf*(1./n_l**2-1./n_u[0]**2)*1e-009);    # The longest wavelength in Paschen series, nm\n",
+      "region = check_region(lambda_max);    # Check for the region\n",
+      "print \"The maximum wavelength is %d nm and is in the %s region\"%(math.ceil(lambda_max), region)\n",
+      "lambda_min = 1./(R_inf*(1./n_l**2-1./n_u[1]**2)*1e-009);    # The shortest wavelength in Paschen series, nm\n",
+      "region = check_region(lambda_min);    # Check for the region\n",
+      "print \"The minimum wavelength is %d nm and is also in the %s region\"%(lambda_min, region)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The maximum wavelength is 1875 nm and is in the infrared region\n",
+        "The minimum wavelength is 820 nm and is also in the infrared region\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.8, Page 149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "m_e = 0.0005486;    # Mass of an electron u\n",
+      "m_p = 1.007276;    # Mass of a proton, u\n",
+      "m_d = 2.013553;    # Mass of a deutron, u\n",
+      "m_t = 3.015500;    # Mass of a triton, u\n",
+      "R_inf = 1.0974e+007;    # Rydberg constant, per metre\n",
+      "\n",
+      "#Calculations\n",
+      "R_H = 1./(1+m_e/m_p)*R_inf;    # Rydberg constant for hydrogen\n",
+      "R_D = 1./(1+m_e/m_d)*R_inf;    # Rydberg constant for deuterium\n",
+      "R_T = 1./(1+m_e/m_t)*R_inf;    # Rydberg constant for tritium\n",
+      "lambda_H = 1./(R_H*(1./2**2-1./3**2)*1e-009);    # Wavelength of H_alpha line for hydrogen, nm\n",
+      "lambda_D = 1./(R_D*(1./2**2-1./3**2)*1e-009);    # Wavelength of H_alpha line for deuterium, nm\n",
+      "lambda_T = 1./(R_T*(1./2**2-1./3**2)*1e-009);    # Wavelength of H_alpha line for tritium, nm\n",
+      "\n",
+      "#Results\n",
+      "print \"The wavelength of H_alpha line for hydrogen = %6.2f nm\"%lambda_H\n",
+      "print \"The wavelength of H_alpha line for deutruim = %6.2f nm\"%lambda_D\n",
+      "print \"The wavelength of H_alpha line for tritium = %6.2f nm\"%lambda_T"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of H_alpha line for hydrogen = 656.45 nm\n",
+        "The wavelength of H_alpha line for deutruim = 656.27 nm\n",
+        "The wavelength of H_alpha line for tritium = 656.22 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.9, Page 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import numpy\n",
+      "\n",
+      "#Variable declaration\n",
+      "R = 1.0974e+007;    # Rydberg constant, per metre\n",
+      "Z = 3;    # Atomic number of Li\n",
+      "n_l = 1;    # Lower orbit of Li++ ion\n",
+      "n_u = numpy.inf;    # Limiting orbit of Li++ ion\n",
+      "\n",
+      "#Calculations\n",
+      "lamda = 1./(Z**2*R*(1/n_l**2-1/n_u**2)*1e-009);    # The shortest wavelength emitted by Li++ ion, nm\n",
+      "\n",
+      "#Result\n",
+      "print \"The shortest wavelength emitted by Li++ ion = %4.1f nm\"%lamda"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The shortest wavelength emitted by Li++ ion = 10.1 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch5.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch5.ipynb
new file mode 100755
index 00000000..8e1b14c0
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch5.ipynb
@@ -0,0 +1,447 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:7517050ba0696175203050b56e4b3028360e141a8084f59fc65a505aa1a45787"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5: Wave Properties of Matter and Quantum Mechanics I"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.1, Page 167"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "N_A = 6.022e+23;    # Avogdaro's No., per mole\n",
+      "n = 1;    # Order of diffraction\n",
+      "M = 58.5;    # Molecular mass of NaCl, g/mol\n",
+      "rho = 2.16;    # Density of rock salt, g/cc\n",
+      "two_theta = 20;   # Scattering angle, degree \n",
+      "theta = two_theta/2;    # Diffraction angle, degree\n",
+      "\n",
+      "#Calculations\n",
+      "N = N_A*rho*2/(M*1e-006); # Number of atoms per unit volume, per metre cube   \n",
+      "d = (1/N)**(1./3);  # Interplanar spacing of NaCl crystal, m \n",
+      "lamda = 2*d*math.sin(theta*math.pi/180)/n ;    # Wavelength of X-rays using Bragg's law, m\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength of the incident X rays  = %5.3f nm\"%(lamda/1e-009)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of the incident X rays  = 0.098 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.2, Page 168"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "h = 6.63e-034;    # Planck's constant, Js\n",
+      "c = 3e+008;    # Speed of light, m/s\n",
+      "\n",
+      "#Calculations&Results\n",
+      "# For a moving ball\n",
+      "m = 0.057;    # Mass of the ball, kg\n",
+      "v = 25;    # Velocity of ball, m/s\n",
+      "p = m*v;    # Momentum of the ball, kgm/s\n",
+      "lamda = h/p;    # Lambda is the wavelength of ball, nm\n",
+      "print \"The wavelength of ball = %3.1e m\"%lamda\n",
+      "\n",
+      "# For a moving electron\n",
+      "m = 0.511e+006;    # Rest mass of an electron, eV\n",
+      "K = 50;    # Kinetic energy of the electron, eV\n",
+      "p = math.sqrt(2*m*K);    # Momentum of the electron, kgm/s\n",
+      "lamda = h*c/(1.602e-019*p*1e-009);    # Wavelength of the electron, nm\n",
+      "print \"The wavelength of the electron = %4.2f nm\"%lamda\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of ball = 4.7e-34 m\n",
+        "The wavelength of the electron = 0.17 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.3, Page 173"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "m = 9.1e-31;    # Mass of the electron, kg\n",
+      "h = 6.63e-34;    # Planck's constant, Js\n",
+      "c = 3e+008;    # Speed of light, m/s\n",
+      "e = 1.6e-19;    # Energy equivalent of 1 eV, J/eV\n",
+      "V0 = 54;    # Potential difference between electrodes, V\n",
+      "\n",
+      "#Calculations\n",
+      "lamda = h*c/(math.sqrt(2*m*c**2/e*V0)*e*1e-009);    # de Broglie wavelength of the electron, nm\n",
+      "\n",
+      "#Result\n",
+      "print \"The de Broglie wavelength of the electron used by Davisson and Germer = %5.3f nm\"%lamda"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The de Broglie wavelength of the electron used by Davisson and Germer = 0.167 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.4, Page 174"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "h = 6.63e-34;    # Planck's constant, Js\n",
+      "c = 3e+008;    # Speed of light, m/s\n",
+      "e = 1.6e-19;    # Energy equivalent of 1 eV, J/eV\n",
+      "m = 1.67e-27;    # Mass of a neutron, kg\n",
+      "k = 1.38e-23;    # Boltzmann constant, J/mol/K\n",
+      "T = [300, 77];    # Temperatures, K\n",
+      "\n",
+      "#Calculations&Results\n",
+      "lamda = h*c/(math.sqrt(3*m*c**2/e*k/e*T[0])*e);    # The wavelength of the neutron at 300 K, nm\n",
+      "print \"The wavelength of the neutron at %d K = %5.3f nm\"%(T[0], lamda/1e-09)\n",
+      "lamda = h*c/(math.sqrt(3*m*c**2/e*k/e*T[1])*e);    # The wavelength of the neutron at 77 K, nm\n",
+      "print \"The wavelength of the neutron at %d K = %5.3f nm\"%(T[1], lamda/1e-09)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of the neutron at 300 K = 0.146 nm\n",
+        "The wavelength of the neutron at 77 K = 0.287 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.7, Page 184"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "h = 6.626e-34;    # Planck's constant, Js\n",
+      "c = 3e+008;    # Speed of light, m/s\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J/ev\n",
+      "d = 2000;    # Distance between slit centres, nm\n",
+      "K = 50e+003;    # Kinetic energy of electrons, eV\n",
+      "l = 350e+006;    # Distance of screen from the slits, nm\n",
+      "\n",
+      "#Calculations\n",
+      "lamda = 1.226/math.sqrt(K);    # Non-relativistic value of de Broglie wavelength of the electrons, nm\n",
+      "E0 = 0.511e+006;    # Rest energy of the electron, J\n",
+      "E = K + E0;    # Total energy of the electron, J\n",
+      "p_c = math.sqrt(E**2 - E0**2);    # Relativistic mass energy relation, eV\n",
+      "lambda_r = h*c/(p_c*e*1e-009);    # Relativistic value of de Broglie wavelength, nm\n",
+      "percent_d = (lamda - lambda_r)/lamda*100;    # Percentage decrease in relativistic value relative to non-relavistic value\n",
+      "sin_theta = lambda_r/d;    # Bragg's law\n",
+      "y = l*sin_theta;    # The distance of first maximum from the screen, nm\n",
+      "\n",
+      "#Results\n",
+      "print \"The percentage decrease in relativistic value relative to non-relativistic value = %1.0f percent\"%percent_d\n",
+      "print \"The distance between first two maxima = %3.0f nm\"%y"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The percentage decrease in relativistic value relative to non-relativistic value = 2 percent\n",
+        "The distance between first two maxima = 938 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.8, Page 187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "dx = 17.5;    # The uncertainty in position, m\n",
+      "h = 1.05e-034;    # Reduced Planck's constant, Js\n",
+      "\n",
+      "#Calculations&Results\n",
+      "dp_x = h/(2*dx);    # The uncertainty in momentum, kgm/s\n",
+      "print \"The uncertainty in momentum of the ball = %1.0e kg-m/s\"%dp_x\n",
+      "dx = 0.529e-010;    # The uncertainty in position, m\n",
+      "dp_x = h/(2*dx);    # The uncertainty in momentum, kgm/s\n",
+      "print \"The uncertainty in momentum of the electron = %1.0e kg-m/s\"%dp_x"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uncertainty in momentum of the ball = 3e-36 kg-m/s\n",
+        "The uncertainty in momentum of the electron = 1e-24 kg-m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.9, Page 188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "a_0 = 5.29e-11;    # Radius of H-atom, m\n",
+      "l = 2*a_0;    # Length, m\n",
+      "h = 6.63e-34;    # Planck's constant, Js\n",
+      "m = 9.1e-31;    # Mass of electron, kg\n",
+      "\n",
+      "#Calculations\n",
+      "K_min = h**2/(8*(math.pi)**2*m*l**2);    # Minimum kinetic energy possesed, J\n",
+      "\n",
+      "#Result\n",
+      "print \"The minimum kinetic energy of the electron = %3.1f eV\"%(K_min/1.6e-19)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum kinetic energy of the electron = 3.4 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.10, Page 190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "dx = 6e-015;    # The uncertainty in position of the electron, m\n",
+      "h_bar = 1.054e-034;    # PReduced Planck's constant, Js\n",
+      "e = 1.602e-019;    # Energy equivalnet of 1 eV, J/eV\n",
+      "c = 3e+008;    # Speed of light, m/s\n",
+      "E0 = 0.511e+006;    # Rest mass energy of the electron, J\n",
+      "\n",
+      "#Calculations\n",
+      "dp = h_bar*c/(2*dx*e);    # Minimum electron momentum, eV/c\n",
+      "p = dp;    # Momentum of the electron at least equal to the uncertainty in momentum, eV/c\n",
+      "E = math.sqrt(p**2+E0**2)/1e+006;    # Relativistic energy of the electron, MeV \n",
+      "K = E - E0/1e+006;    # Minimum kinetic energy of the electron, MeV\n",
+      "\n",
+      "#Result\n",
+      "print \"The minimum kinetic energy of the electron = %4.1f MeV\"%K"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum kinetic energy of the electron = 15.9 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.12, Page 191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 3e+8;    # Speed of light, m/s\n",
+      "dt = 1e-08;    # Relaxation time of atom, s\n",
+      "h = 6.6e-34;    # Planck's constant, Js\n",
+      "dE = h/(4*math.pi*dt);    # Energy width of excited state of atom, J\n",
+      "lamda = 300e-009;    # Wavelegth of emitted photon, m\n",
+      "\n",
+      "#Calculations&Results\n",
+      "f = c/lamda;    # Frequency of emitted photon, per sec\n",
+      "print \"The energy width of excited state of the atom = %3.1e eV\"%(dE/1.6e-019)\n",
+      "df = dE/h;    # Uncertainty in frequency, per sec\n",
+      "print \"The uncertainty ratio of the frequency = %1.0e\"%(df/f)\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy width of excited state of the atom = 3.3e-08 eV\n",
+        "The uncertainty ratio of the frequency = 8e-09\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.13, Page 195"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "e = 1.6e-019;   # Energy equivalent of 1 eV, J/eV\n",
+      "c = 3e008;    # Speed of light, m/s\n",
+      "h = 6.63e-034;    # Planck's constant, Js\n",
+      "m = 9.1e-031;    # Mass of the proton, kg\n",
+      "l = 0.1;    # Length of one-dimensional box, nm\n",
+      "\n",
+      "#Calculations&Results\n",
+      "for n in range(1,4):\n",
+      "    E_n = n**2*(h*c/(e*1e-009))**2/(8*m*c**2/e*l**2);    # Energy of nth level, eV\n",
+      "    print \"The first three energy levels are %3.0f eV\"%(E_n)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The first three energy levels are  38 eV\n",
+        "The first three energy levels are 151 eV\n",
+        "The first three energy levels are 340 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch6.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch6.ipynb
new file mode 100755
index 00000000..f5252b26
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch6.ipynb
@@ -0,0 +1,315 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:a935d76914a9e4ae6d3e19bff37ec8b5eb26eace520b4d5bf46176dc57b307c5"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6: Quantum Mechanics II"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.4, Page 205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "import scipy\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "\n",
+      "#Variable declaration\n",
+      "alpha = 1;    # For simplicity assume alpha to be unity\n",
+      "\n",
+      "#Calculations&Results\n",
+      "p = lambda x: math.sqrt(alpha)*math.exp(-2*alpha*x)    # Probability that the particle lies between 0 and 1/alpha\n",
+      "integ, err = scipy.integrate.quad(p,0,1/alpha)\n",
+      "print \"The probability that the particle lies between 0 and 1/alpha = %5.3f\"%integ\n",
+      "p = lambda x: math.sqrt(alpha)*math.exp(-2*alpha*x)\n",
+      "integ, err = scipy.integrate.quad(p,1/alpha,2/alpha) # Probability that the particle lies between 1/alpha and 2/alpha\n",
+      "print \"The probability that the particle lies between 1/alpha and 2/alpha = %5.3f\"%integ\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The probability that the particle lies between 0 and 1/alpha = 0.432\n",
+        "The probability that the particle lies between 1/alpha and 2/alpha = 0.059\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.9, Page 215"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "m = 938.3e+006;    # Energy equivalent of proton mass, eV\n",
+      "L = 1e-005;    # Diameter of the nucleus, nm\n",
+      "\n",
+      "#Calculations\n",
+      "E1 = math.pi**2*(h_bar*c/(e*1e-009))**2/(2*L**2*m*1e+006);      # Energy of the ground state of proton, MeV\n",
+      "E2 = 4*E1;    # Energy of first excited state of proton, MeV\n",
+      "delta_E = E2 -E1;    # Transition energy of the proton inside the nucleus, MeV\n",
+      "\n",
+      "#Result\n",
+      "print \"The transition energy of the proton inside the nucleus = %1d MeV\"%delta_E"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The transition energy of the proton inside the nucleus = 6 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.14, Page 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "m = 0.511e+006;    # Energy equivalent of electron rest mass, eV\n",
+      "V0 = 10;    # Height of potential barrier, eV\n",
+      "E = 5;    # Energy of the incident electrons, eV\n",
+      "L = 0.8e-009;    # Width of the potential barrier, m\n",
+      "\n",
+      "#Calculations\n",
+      "k = math.sqrt(2*m*(V0 - E))*e/(h_bar*c);    # Schrodinger's constant, per m\n",
+      "T = (1 + V0**2*math.sinh(k*L)**2/(4*E*(V0 - E)))**(-1);    # Transmission electron probability\n",
+      "\n",
+      "#Result\n",
+      "print \"The fraction of electrons tunnelled through the barrier = %3.1e\"%T"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fraction of electrons tunnelled through the barrier = 4.4e-08\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.15, Page 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "m = 0.511e+006;    # Energy equivalent of electron rest mass, eV\n",
+      "V0 = 10;    # Height of potential barrier, eV\n",
+      "\n",
+      "#Calculations\n",
+      "Sum_M = 0;\n",
+      "i = 1;\n",
+      "for E in range(1,5):    # Range of energies of the incident electrons, eV\n",
+      "    M = 16*E/V0*(1-E/V0);    # All the factors multiplying the exponential term\n",
+      "    Sum_M = Sum_M + M;    # Accumulator\n",
+      "    i = i + 1;\n",
+      "\n",
+      "E = 5;    # Given energy of the incident electrons, eV\n",
+      "M = int(Sum_M/i);    # Average value of M\n",
+      "L = 0.8e-009;    # Width of the potential barrier, m\n",
+      "k = math.sqrt(2*m*(V0 - E))*e/(h_bar*c);    # Schrodinger's constant, per m\n",
+      "T = M*math.exp(-2*k*L);    # Transmission electron probability\n",
+      "\n",
+      "#Result\n",
+      "print \"The fraction of electrons tunnelled through the barrier = %3.1e\"%T"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fraction of electrons tunnelled through the barrier = 2.2e-08\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.16, Page 230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "m = 0.511e+006;    # Energy equivalent of electron rest mass, eV\n",
+      "V0 = 10;    # Height of potential barrier, eV\n",
+      "E = 5;    # Given energy of the incident electrons, eV\n",
+      "\n",
+      "#Calculations\n",
+      "l = h_bar*c/(2*math.sqrt(2*m*(V0 - E))*1e-009*e);    # Penetration distance into the barrier when the probability of the particle penetration drops to 1/e, nm\n",
+      "\n",
+      "#Result\n",
+      "print \"The penetration distance for a %d eV electron approaching a step barrier of %d eV = %5.3f nm\"%(E, V0, l)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The penetration distance for a 5 eV electron approaching a step barrier of 10 eV = 0.044 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.17, Page 234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "c = 3.00e+008;    # Speed of light, m/s\n",
+      "e = 1.602e-019;    # Charge on an electron, C\n",
+      "k = 9e+009;    # Coulomb constant, N-Sq.m./C^2\n",
+      "m = 3727;    # Energy equivalent of alpha particle rest mass, MeV\n",
+      "E = 5;    # Given energy of the incident electrons, eV\n",
+      "Z1 = 2;    # Atomic number of an alpha particle\n",
+      "Z2 = 92;    # Atomic number of the U-238 nucleus\n",
+      "r_N = 7e-015;    # Nuclear radius, m\n",
+      "K = 4.2;    # Kinetic energy of alpha particle, MeV\n",
+      "\n",
+      "#Calculations\n",
+      "V_C = Z1*Z2*e**2*k/(r_N*e*1e+006);    # Coulomb Potential, MeV\n",
+      "r_prime = V_C*r_N/(K*1e-015);    # Distance through which the alpha particle must tunnel, fm\n",
+      "kapa = math.sqrt(2*m*(V_C-E))*e/(h_bar*c*1e-006);    # Schronginger's Constant, per m\n",
+      "L = r_prime - r_N/1e-015;    # Barrier width, fm\n",
+      "T = 16*(K/V_C)*(1-K/V_C)*math.exp(-2*kapa*L*1e-015);    # Tunnelling probability of alpha particle\n",
+      "V_C_new = V_C/2;    # Potential equal to half the Coulomb potential, MeV\n",
+      "L = L/2;    # Width equal to half the barrier width, fm\n",
+      "kapa = math.sqrt(2*m*(V_C_new-E))*e/(h_bar*c*1e-006);    # Schronginger's Constant, per m\n",
+      "T_a = 16*(K/V_C_new)*(1-K/V_C_new)*math.exp(-2*kapa*L*1e-015);    # Approximated tunnelling probability of alpha particle\n",
+      "v = math.sqrt(2*K/m)*c;    # Speed of the alpha particle, m/s\n",
+      "t = r_N/v;    # Time taken by alpha particle to cross the U-238 nucleus, s\n",
+      "\n",
+      "#Results\n",
+      "print \"The barrier height = %2d MeV\"%(math.ceil(V_C))\n",
+      "print \"The distance that alpha particle must tunnel = %2d fm\"%r_prime\n",
+      "print \"The tunnelling potential assuming square-top potential = %1.0e\"%T\n",
+      "print \"The approximated tunnelling potential = %3.1e\"%T_a\n",
+      "print \"The speed of the alpha particle = %3.1e m/s\"%v\n",
+      "print \"The time taken by alpha particle to cross the U-238 nucleus = %1.0e s\"%t\n",
+      "\n",
+      "# Some answers are given wrong in the textbook for this problem"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The barrier height = 38 MeV\n",
+        "The distance that alpha particle must tunnel = 63 fm\n",
+        "The tunnelling potential assuming square-top potential = 6e-123\n",
+        "The approximated tunnelling potential = 3.8e-40\n",
+        "The speed of the alpha particle = 1.4e+07 m/s\n",
+        "The time taken by alpha particle to cross the U-238 nucleus = 5e-22 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch7.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch7.ipynb
new file mode 100755
index 00000000..05b43549
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch7.ipynb
@@ -0,0 +1,378 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:ac0a66c98f2095bc3ebf2778dcd991b562e3ba004b2f051bfaa777d8205d2aed"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7: The Hydrogen Atom"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.2, Page 248"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import scipy\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "\n",
+      "#Variable declaration\n",
+      "a0 = 1;    # For simplicity assume Bohr radius to be unity, m\n",
+      "\n",
+      "#Calculations&Results\n",
+      "x = lambda r:r**4*math.exp(-r/a0)\n",
+      "int1,err = scipy.integrate.quad(x,0,15)\n",
+      "y = lambda t:math.sin(t)**3\n",
+      "int2,err = scipy.integrate.quad(y,0,math.pi)\n",
+      "z = lambda p:p**0\n",
+      "int3,err = scipy.integrate.quad(z,0,2*math.pi)\n",
+      "NE = 1./(64*math.pi*a0**5)*int1*int2*int3;\n",
+      "print \"NE = %.f\"%NE\n",
+      "if round(NE) == 1:\n",
+      "    print \"The hydrogen wave function is normalized\"\n",
+      "else:\n",
+      "    print \"The hydrogen wave function is not normalized\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "NE = 1\n",
+        "The hydrogen wave function is normalized\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.4, Page 252"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "n = 3;    # Principal quantum number\n",
+      "\n",
+      "#Calculations&Results\n",
+      "Total = 0;\n",
+      "print (\"\\nn    l    m_l               2(l + 1)\");\n",
+      "print (\"\\n------------------------------------\");\n",
+      "for l in range(0,n):\n",
+      "    print (\"\\n%d\"% n),\n",
+      "    print (\"    %d    \"% l),\n",
+      "    if l > 0:\n",
+      "        count = 0;\n",
+      "        for m_l in range(-l,l+1):\n",
+      "            print (\"%2d \"% m_l),\n",
+      "            count = count + 1;\n",
+      "\n",
+      "        if  l == 1:\n",
+      "            print(\"      \"),\n",
+      "        else:\n",
+      "            print(\"\"),\n",
+      "\n",
+      "    else :\n",
+      "        m_l = 0;\n",
+      "        count = 0;\n",
+      "        print(\"%2d             \"% m_l),\n",
+      "        count = count + 1;\n",
+      "\n",
+      "    print(\"      %d\"% count),\n",
+      "    Total = Total + count;\n",
+      "\n",
+      "print(\"\\n                                 Total = %d\"% Total);\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "n    l    m_l               2(l + 1)\n",
+        "\n",
+        "------------------------------------\n",
+        "\n",
+        "3     0      0                    1 \n",
+        "3     1     -1   0   1               3 \n",
+        "3     2     -2  -1   0   1   2         5 \n",
+        "                                 Total = 9\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.7, Page 256"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "e = 1.602e-019;    # Charge on an electron, C\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "m = 9.11e-031;    # Electron mass, kg\n",
+      "B = 2.00;    # External magnetic field, T\n",
+      "m_l1 = 0;    # Lower orbital magnetic quantum number\n",
+      "m_l2 = 1;    # Upper orbital magnetic quantum number\n",
+      "\n",
+      "#Calculations\n",
+      "delta_m_l = m_l2 - m_l1;    # Change in m_l\n",
+      "mu_B = e*h_bar/(2*m);    # Bohr's magneton, J/T\n",
+      "delta_E = mu_B*B*delta_m_l/e;    # Energy difference between components of p states of atomic hydrogen placed in the external field, eV\n",
+      "\n",
+      "#Results\n",
+      "print \"The value of Bohr magneton = %4.2e J/T\"%mu_B\n",
+      "print \"The energy difference between components of p states of atomic hydrogen placed in the external field = %4.2e eV\"%delta_E"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of Bohr magneton = 9.26e-24 J/T\n",
+        "The energy difference between components of p states of atomic hydrogen placed in the external field = 1.16e-04 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.8, Page 257"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "m = 1.67e-027;    # Mass of the proton, kg\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "T = 663;    # Temperature of the discharge tube, K\n",
+      "\n",
+      "#Calculations\n",
+      "v_x = math.sqrt(3*k*T/m);    # Average speed of the hydrogen atom\n",
+      "mu_z = 9.27e-024;    # Bohr's magneton, J/T\n",
+      "B_grad = 1240;    # Magnetic field gradient, T/m\n",
+      "delta_x = 0.03;    # Length of the homogeneous magnetic field, m\n",
+      "d = 1/(2*m)*(mu_z*B_grad)*(delta_x/v_x)**2;    # Separation of the atomic beam, m\n",
+      "\n",
+      "#Result\n",
+      "print \"The separation of the atomic beam = %4.2f mm\"%(d/1e-003)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The separation of the atomic beam = 0.19 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.9, Page 259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "n = 4;    # Principal quantum number\n",
+      "l = 2;    # For 4d-state\n",
+      "\n",
+      "#Calculations&Results\n",
+      "print \"\\nn    l         m_l             m_s\"\n",
+      "print \"\\n------------------------------------------\"\n",
+      "count = 0;\n",
+      "for m_l in range(-l,3):\n",
+      "    if (m_l == 0):\n",
+      "        print \"%d\\t\"%n,\n",
+      "        print \" %d\"%l,\n",
+      "        print \"     %d       \"%m_l,\n",
+      "        print \"     +1./2, -1./2\"\n",
+      "    else:    \n",
+      "        print \"               %2d\"%m_l,\n",
+      "        print \"            +1./2, -1./2\"\n",
+      "    count = count + 2;\n",
+      "     \n",
+      "print \"Total No. of different states for 4d level of atomic hydrogen = %d\"%count\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "n    l         m_l             m_s\n",
+        "\n",
+        "------------------------------------------\n",
+        "               -2             +1./2, -1./2\n",
+        "               -1             +1./2, -1./2\n",
+        "4\t 2      0             +1./2, -1./2\n",
+        "                1             +1./2, -1./2\n",
+        "                2             +1./2, -1./2\n",
+        "Total No. of different states for 4d level of atomic hydrogen = 10\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.10, Page 263"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "\n",
+      "def check_allowance(dn, dl, dml, dms):\n",
+      "    if (dl == -1 or dl == 1 or dml == -1 or dml == 0 or dml == 1 or dms == -1 or dms == 0 or dms == 1) and dl != 0:\n",
+      "        return 1;\n",
+      "    else:\n",
+      "        return 0;\n",
+      "\n",
+      "\n",
+      "state = [[2, 0, 0, 1./2],[ 3, 1, 1, 1./2],[ 2, 0, 0, 1./2],[ 3, 0, 0, 1./2],[ 4, 2, -1, -1./2],[ 2, 1, 0, 1./2]];\n",
+      "for i in range(0,5,2):\n",
+      "    flag = 0; \n",
+      "    d_n = state[i][0] - state[i+1][0];\n",
+      "    d_l = state[i][1] - state[i+1][1];\n",
+      "    d_m_l = state[i][2] - state[i+1][2];\n",
+      "    d_m_s = state[i][3] - state[i+1][3];\n",
+      "    flag = check_allowance(d_n, d_l, d_m_l, d_m_s);\n",
+      "    if flag == 1:\n",
+      "        print(\"\\n\\nThe transition (%d,%d,%d,1/%d) --> (%d,%d,%d,1/%d) is allowed\"%( state[i][0], state[i][1], state[i][2], state[i][3]*4, state[i+1][0], state[i+1][1], state[i+1][2], state[i+1][3]*4))\n",
+      "        delta_E = -13.6*(1./state[i+1][0]**2-1./state[i][0]**2);\n",
+      "        print(\"The energy of this transition is %4.2f eV\"% delta_E);\n",
+      "    else:\n",
+      "        print(\"\\n\\nThe transition (%d,%d,%d, %d)--> (%d,%d,%d,%d) is not allowed\"%(state[i][0], state[i][1], state[i][2], state[i][3], state[i+1][0], state[i+1][1], state[i+1][2], state[i+1][3]))\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "\n",
+        "The transition (2,0,0,1/2) --> (3,1,1,1/2) is allowed\n",
+        "The energy of this transition is 1.89 eV\n",
+        "\n",
+        "\n",
+        "The transition (2,0,0, 0)--> (3,0,0,0) is not allowed\n",
+        "\n",
+        "\n",
+        "The transition (4,2,-1,1/-2) --> (2,1,0,1/2) is allowed\n",
+        "The energy of this transition is -2.55 eV\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.13, Page 266"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import scipy\n",
+      "from scipy.integrate import quad\n",
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "a0 = 1;    # For simplicity assume bohr radius to be unity\n",
+      "\n",
+      "#Calculations\n",
+      "p = lambda r: 4/a0**3*math.exp(-2*r/a0)*r**2\n",
+      "P,err = scipy.integrate.quad(p, a0, 10);\n",
+      "\n",
+      "#Result\n",
+      "print \"The probability of the electron in the 1s state of the hydrogen atom = %4.2f\"%P"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The probability of the electron in the 1s state of the hydrogen atom = 0.68\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch8.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch8.ipynb
new file mode 100755
index 00000000..877b7876
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch8.ipynb
@@ -0,0 +1,158 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:cbd11433a31785853e9886e91140f1df1e44a2e02ec46a10cd5dc4781d714654"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Atomic Physics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.3, Page 285"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "delta_E = 0.0021;    # Energy difference for the 3p subshell of sodium, eV\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "m = 9.11e-031;    # Rest of an an electron, kg\n",
+      "g_s = 2;    # Gyromagnetic ratio due to spin splitting\n",
+      "\n",
+      "#Calculations\n",
+      "# As delta_E = g_s*e*h_bar/(2*m)*B, solving for B\n",
+      "B = m*delta_E/h_bar;    # Internal magnetic field causing the LS splitting, T\n",
+      "\n",
+      "#Result\n",
+      "print \"The internal magnetic field causing the LS splitting = %2d T\"%B"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The internal magnetic field causing the LS splitting = 18 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.5, Page 289"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import numpy\n",
+      "\n",
+      "l1 = 1;    # Orbital angular momentum quantum number for first electron\n",
+      "l2 = 2;    # Orbital angular momentum quantum number for second electron\n",
+      "s1 = 1./2;    # Spin angular momentum quantum number for first electron\n",
+      "s2 = 1./2;    # Spin angular momentum quantum number for second electron\n",
+      "temp_j = numpy.zeros(15);\n",
+      "cnt = 0;\n",
+      "print (\"\\nThe all possibe values of the total angular momentum quantum number of J are:\");\n",
+      "for L in range(int(abs(l1 - l2)),int(abs(l1 + l2))+1):\n",
+      "    for S in range(int(abs(s1 - s2)),int(abs(s1 + s2))+1):\n",
+      "        for j in range(abs(L - S),abs(L + S)+1):\n",
+      "            temp_j[cnt] = j;\n",
+      "            cnt = cnt + 1;\n",
+      "\n",
+      "\n",
+      "J = -1;\n",
+      "temp_J = sorted(temp_j)\n",
+      "for i in range(len(temp_J)):\n",
+      "    if temp_J[i] > J:\n",
+      "        J = temp_J[i];\n",
+      "        print \"%d  \"%temp_J[i],;\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "The all possibe values of the total angular momentum quantum number of J are:\n",
+        "0   1   2   3   4  \n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.8, Page 291"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "delta_E = 0.0021;    # Energy difference for the 3p subshell of sodium, eV\n",
+      "h = 6.62e-034;    # Planck's constant, Js\n",
+      "h_bar = h/(2*math.pi);    # Reduced Planck's constant, Js\n",
+      "e = 1.602e-019;    # Energy equivalent of 1 eV, J\n",
+      "m = 9.11e-031;    # Rest of an an electron, kg\n",
+      "g_s = 2;    # Gyromagnetic ratio due to spin splitting\n",
+      "\n",
+      "#Calculations\n",
+      "# As delta_E = g_s*e*h_bar/(2*m)*B, solving for B\n",
+      "B = m*delta_E/h_bar;    # Internal magnetic field causing the LS splitting, T\n",
+      "\n",
+      "#Result\n",
+      "print \"The internal magnetic field causing the LS splitting = %2d T\"%B"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The internal magnetic field causing the LS splitting = 18 T\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/ch9.ipynb b/Modern_Physics_for_Scientists_and_Engineers/ch9.ipynb
new file mode 100755
index 00000000..3a0e39ed
--- /dev/null
+++ b/Modern_Physics_for_Scientists_and_Engineers/ch9.ipynb
@@ -0,0 +1,285 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:99c63cd5d461a992de3be34298ef557332677985056a4e6a31ae5dace5faabc1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9: Statistical Physics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.4, Page 303"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "N_A = 6.023e+023;    # Avogadro's number\n",
+      "T = 293;    # Room temperature, K\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "\n",
+      "#Calculations\n",
+      "# For a single molecule\n",
+      "K_bar_single = 3./2*k*T/e;    # Mean translational kinetic energy of a single gas molecule, J\n",
+      "# For a 1 mole of molecules\n",
+      "K_bar_mole = K_bar_single*N_A*e;    # Mean translational kinetic energy of 1 mole of gas molecules, J\n",
+      "\n",
+      "#Results\n",
+      "print \"The mean translational kinetic energy of the single idela gas molecule = %5.3f eV\"%K_bar_single\n",
+      "print \"The mean translational kinetic energy of the one mole of ideal gas molecules = %4d J\"%(math.ceil(K_bar_mole))\n",
+      "\n",
+      "#Answer differs due to rounding error"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mean translational kinetic energy of the single idela gas molecule = 0.038 eV\n",
+        "The mean translational kinetic energy of the one mole of ideal gas molecules = 3654 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.3, Page 310"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "u = 1.67e-027;    # Mass equivalent of one atomic mass unit, kg\n",
+      "T = 293;    # Room temperature, K\n",
+      "m_H = 1.008*u;    # Gram atomic mass of hydrogen, kg\n",
+      "\n",
+      "#Calculations&Results\n",
+      "m = 2*m_H;    # Gram molecular mass of hydrogen molecule, kg\n",
+      "v_bar = 4/math.sqrt(2*math.pi)*math.sqrt(k*T/m);    # Mean molecular speed in the light gas hydrogen, m/s\n",
+      "print \"The mean molecular speed in the light gas hydrogen = %4d m/s\"%(math.ceil(v_bar))\n",
+      "m = 222*u;    # Gram atomic mass of Radon, kg\n",
+      "v_bar = 4/math.sqrt(2*math.pi)*math.sqrt(k*T/m);    # Mean molecular speed in the heavy radon gas, m/s\n",
+      "print \"The mean molecular speed in the heavy radon gas = %3d m/s\"%(math.ceil(v_bar))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The mean molecular speed in the light gas hydrogen = 1749 m/s\n",
+        "The mean molecular speed in the heavy radon gas = 167 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.4, Page 310"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "import scipy\n",
+      "from scipy.integrate import quad\n",
+      "\n",
+      "#Variable declaration\n",
+      "m = 1;    # For simplicity assume mass of gas molecule to be unity, kg\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "T = 293;    # Room temperature, K\n",
+      "\n",
+      "#Calculations\n",
+      "bita = k*T;    # Energy associated with three degrees of freedom, J\n",
+      "v_mps = math.sqrt(2/(bita*m));    # For simplcity assume most probable speed to be unity, m/s\n",
+      "C = (bita*m/(2*math.pi))**(3./2);    # Constant in the distribution function\n",
+      "p = lambda v: 4*math.pi*C*math.exp(-1./2*bita*m*v**2)*v**2\n",
+      "P,err = scipy.integrate.quad(p,0.99*v_mps, 1.01*v_mps)\n",
+      "\n",
+      "#Result\n",
+      "print \"The fraction of molecules in an ideal gas in equilibrium which have speeds within 1 percent above and below the most probable speed = %5.3f\"%P"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fraction of molecules in an ideal gas in equilibrium which have speeds within 1 percent above and below the most probable speed = 0.017\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.6, Page 315"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import numpy\n",
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "T = [293, 5000, 1e+006];    # Room temperature, temperature at the surface of the star and temperature at the star interior respectively, K\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "g_E1 = 2;    # Possible configuration of the electrons in ground state of H-atom\n",
+      "g_E2 = 8;    # Possible configuration of the electrons in the first excited state of H-atom\n",
+      "E1 = -13.6;    # Energy of the ground state, eV\n",
+      "E2 = -3.4;    # Energy of the first excited state state, eV\n",
+      "\n",
+      "#Calculations&Results\n",
+      "n_ratio = numpy.zeros(3);\n",
+      "for i in range(0,3):\n",
+      "    n_ratio[i] = g_E2/g_E1*math.exp(1./(k*T[i])*(E1 - E2)*e);\n",
+      "    print \"For T = %4.2e K, n_E2/n_E1 = %4.2e\"%(T[i], n_ratio[i])\n",
+      "\n",
+      "#Incorrect answer given in textbook for the first part"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For T = 2.93e+02 K, n_E2/n_E1 = 2.05e-175\n",
+        "For T = 5.00e+03 K, n_E2/n_E1 = 2.14e-10\n",
+        "For T = 1.00e+06 K, n_E2/n_E1 = 3.55e+00\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.7, Page 320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "e = 1.6e-019;    # Energy equivalent of 1 eV, J\n",
+      "n = 8.47e+028;    # Number density of conduction electrons in copper, per metre cube\n",
+      "k = 1.38e-023;    # Boltzmann constant, J/K\n",
+      "h = 6.626e-034;    # Planck's constant, Js\n",
+      "m = 9.11e-031;    # Mass of an electron, kg\n",
+      "\n",
+      "#Calculations\n",
+      "E_F = h**2/(8*m*e)*(3*n/math.pi)**(2./3);    # Fermi energy for copper, eV\n",
+      "T_F = E_F*e/k;    # Fermi temperature for copper, K\n",
+      "\n",
+      "#Results\n",
+      "print \"The Fermi energy for copper = %4.2f eV\"%E_F\n",
+      "print \"The Fermi temperature for copper = %4.2e K\"%T_F"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Fermi energy for copper = 7.04 eV\n",
+        "The Fermi temperature for copper = 8.16e+04 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.8, Page 323"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "R = 1;    # For simplicity assume the molar gas constant to be unity, J/mol/K\n",
+      "T = 293;    # Room temperature, K\n",
+      "T_F = 8.16e+004;    # The Fermi temperature for copper\n",
+      "\n",
+      "#Calculations&Results\n",
+      "C_V = math.pi**2*T/(2*T_F)*R;    # Electronic contribution to the molar heat capacity for copper, J/mol/K\n",
+      "print \"The electronic contribution to the molar heat capacity for copper = %6.4fR\"%C_V\n",
+      "T_F = 6.38e+004;    # The Fermi temperature for silver\n",
+      "C_V = math.pi**2*T/(2*T_F)*R;    # Electronic contribution to the molar heat capacity for silver, J/mol/K\n",
+      "print \"The electronic contribution to the molar heat capacity for silver = %6.4fR\"%C_V"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The electronic contribution to the molar heat capacity for copper = 0.0177R\n",
+        "The electronic contribution to the molar heat capacity for silver = 0.0227R\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Modern_Physics_for_Scientists_and_Engineers/screenshots/neutprotdecay.png b/Modern_Physics_for_Scientists_and_Engineers/screenshots/neutprotdecay.png
new file mode 100755
index 00000000..deb5d109
Binary files /dev/null and b/Modern_Physics_for_Scientists_and_Engineers/screenshots/neutprotdecay.png differ
diff --git a/Modern_Physics_for_Scientists_and_Engineers/screenshots/nonrelativistic.png b/Modern_Physics_for_Scientists_and_Engineers/screenshots/nonrelativistic.png
new file mode 100755
index 00000000..d0215182
Binary files /dev/null and b/Modern_Physics_for_Scientists_and_Engineers/screenshots/nonrelativistic.png differ
diff --git a/Modern_Physics_for_Scientists_and_Engineers/screenshots/probability_part.png b/Modern_Physics_for_Scientists_and_Engineers/screenshots/probability_part.png
new file mode 100755
index 00000000..f5a467ee
Binary files /dev/null and b/Modern_Physics_for_Scientists_and_Engineers/screenshots/probability_part.png differ
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_1.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_1.ipynb
new file mode 100755
index 00000000..4ab2c3b1
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_1.ipynb
@@ -0,0 +1,1301 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1: Introduction to Differential Amplifier and Op-amp"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.1, Page No. 4"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage of differential amplifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "v1 = 300*10**-6           # voltage at terminal 1\n",
+      "v2 = 240*10**-6           # voltage at terminal 2\n",
+      "Aid = 5000.0              # differential gain of amplifier  \n",
+      "cmmr1 = 100               # CMMR for case 1\n",
+      "cmmr2 = 10**5             # CMMR for case 2\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "# case 1\n",
+      "Vid = v1-v2\n",
+      "Vcm = (v1+v2)/2\n",
+      "Acm = Aid/cmmr1\n",
+      "Vout = Aid*Vid+Acm*Vcm\n",
+      "Vout = Vout*1000           # mV\n",
+      "\n",
+      "# case 2\n",
+      "Acm2 = Aid/cmmr2\n",
+      "Vout2 = Aid*Vid+Acm2*Vcm\n",
+      "Vout2 = Vout2*1000         # mV\n",
+      "\n",
+      "Vout_ideal = Aid*Vid*1000  # mV\n",
+      "#Result\n",
+      "print(\"(i) CMMR = %d:\\nVout = %.1f mV\\n\\n(ii) CMMR = %d:\\nVout = %.4f mV\\n\\nIdeal Vout = %.0f mV\"%(cmmr1,Vout,cmmr2,Vout2,Vout_ideal))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) CMMR = 100:\n",
+        "Vout = 313.5 mV\n",
+        "\n",
+        "(ii) CMMR = 100000:\n",
+        "Vout = 300.0135 mV\n",
+        "\n",
+        "Ideal Vout = 300 mV\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.2, Page No.9"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Operating point values\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rc = 4.7*10**3              # collector resistor\n",
+      "Re = 3.3*10**3              # emitter resistor\n",
+      "Vcc = 12                    # + supply voltage\n",
+      "Vee = -12                   # - supply voltage\n",
+      "Vbe = 0.7                   # base-emitter junction voltage\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Ie  = (Vcc-Vbe)/(2*Re)\n",
+      "Ic = Ie\n",
+      "Vce = Vcc+Vbe-(Ic*Rc) \n",
+      "\n",
+      "#Result\n",
+      "print(\"Q point is (%.3f mA, %.3f V)\"%(Ic*1000,Vce))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Q point is (1.712 mA, 4.653 V)\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.3, Page No. 14"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# differential amplifier parameters(refer fig. 1.14)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "hie = 2.8*10**3                # input impedance\n",
+      "Rc = 4.7*10**3                 # collector resistance\n",
+      "Vcc = 15                       # supply voltage\n",
+      "hfe = 100                      # transistor current gain\n",
+      "Re = 6.8*10**3                 # emitter resistance\n",
+      "Vbe = 0.7                      # emitter-base junction voltage drop\n",
+      "Rin = 100                      # input resistance\n",
+      "v1 = 70*10**-3                 # input voltage 1\n",
+      "v2 = 40*10**-3                 # input voltage 2\n",
+      "\n",
+      "# Calculations\n",
+      "# Operating point values\n",
+      "Ie = Ic = (Vcc-Vbe)/( (2*Re) + (Rin/hfe))\n",
+      "Vce = Vcc+Vbe-Ic*Rc\n",
+      "# Differential gain\n",
+      "Aid = (hfe*Rc)/(Rin+hie)\n",
+      "Aid = math.floor(Aid*1000)/1000\n",
+      "#Common mode gain\n",
+      "Acm = hfe*Rc/(2*Re*(1+hfe)+Rin+hie)\n",
+      "#CMMR\n",
+      "CMMR = 20*math.log10(Aid/Acm)\n",
+      "CMMR = math.floor(CMMR*1000)/1000\n",
+      "#output voltage\n",
+      "Vid = v1-v2\n",
+      "Vcm = (v1+v2)/2\n",
+      "Vout = Aid*Vid+Acm*Vcm\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i) Operating point values:\\nIcq = %.3f mA\\nVcq = %.3f V\\n\\n(ii) Differential gain:\\nAid = %.3f\"%(Ic*1000,Vce,Aid))\n",
+      "print(\"\\n(iii) Common mode gain:\\nAcm = %.4f\"%(math.floor(Acm*10000)/10000))\n",
+      "print(\"\\n(iv) CMMR:\\nCMMR in dB  = %.3f dB\\n\\n(v) Output Voltage:\\nVout = %.2f V\"%(CMMR,Vout))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Operating point values:\n",
+        "Icq = 1.051 mA\n",
+        "Vcq = 10.758 V\n",
+        "\n",
+        "(ii) Differential gain:\n",
+        "Aid = 162.068\n",
+        "\n",
+        "(iii) Common mode gain:\n",
+        "Acm = 0.3414\n",
+        "\n",
+        "(iv) CMMR:\n",
+        "CMMR in dB  = 53.527 dB\n",
+        "\n",
+        "(v) Output Voltage:\n",
+        "Vout = 4.88 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.4, Page No. 16"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# operating point , voltage gain and input/output impedance(refer fig 1.15)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rc = 3.3*10**3              # collector resistor\n",
+      "Rin = 150                   # inputr resistance\n",
+      "Re = 8.2*10**3              # emitter resistor\n",
+      "Vcc = 12                    # supply voltage\n",
+      "beta = 100                  # beta value\n",
+      "Vbe = 0.7                   # emitter-base junction voltage drop\n",
+      "\n",
+      "#Calculations\n",
+      "# opearating point\n",
+      "Ie = Ic = (Vcc-Vbe)/( (2*Re) + (Rin/beta))\n",
+      "Ie = Ic = math.floor(Ic*10**6)/10**6\n",
+      "Vce = Vcc+Vbe-Ic*Rc\n",
+      "# Voltage gain\n",
+      "re = (26*10**-3)/Ie\n",
+      "Aid = Rc/re\n",
+      "# input and output impedance\n",
+      "Ri = 2*re*beta\n",
+      "Ro = Rc\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i) Operating point values:\\nIcq = %.3f mA\\nVcq = %.4f V\\n\\n(ii) Voltage gain:\\nAid = %.2f\"%(Ic*1000,Vce,Aid))\n",
+      "print(\"\\n(iii)input and output impedances:\\nRi = %.3f k-ohm\\nRo = %.1f k-ohm\"%(Ri/1000,Ro/1000)) "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Operating point values:\n",
+        "Icq = 0.688 mA\n",
+        "Vcq = 10.4296 V\n",
+        "\n",
+        "(ii) Voltage gain:\n",
+        "Aid = 87.32\n",
+        "\n",
+        "(iii)input and output impedances:\n",
+        "Ri = 7.558 k-ohm\n",
+        "Ro = 3.3 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.5, Page No. 19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# constant current in the circuit(refer fig 1.19(a)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vee = 20.0                     # supply voltage\n",
+      "R1 = 4.7*10**3                 # resistor R1\n",
+      "R2 = 4.7*10**3                 # resistor R2\n",
+      "R3 = 2.2*10**3                 # resistor R3\n",
+      "Vbe = 0.7                      # emitter-base junction voltage drop\n",
+      "\n",
+      "#Calcualtions\n",
+      "Vb = (-Vee*R1)/(R1+R2)\n",
+      "Ve = Vb - Vbe\n",
+      "Ie = (Ve-(-Vee))/(R3) \n",
+      "I = Ie = math.floor(Ie*10**5)/10**5\n",
+      "\n",
+      "#Result\n",
+      "print(\"I = %.2f mA\"%(I*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "I = 4.22 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 47
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.6, Page No.23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Widlar current source(refer fig. 1.24)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ic2 = 20*10**-6             # required collector current of 2nd Trasistor\n",
+      "Vbe = 0.7                   # emitter-base junction voltage drop\n",
+      "Vcc = 30                    # supply voltage\n",
+      "R = 33.3*10**3              # Resistor R\n",
+      "Vt = 26*10**-3              # thermal voltage \n",
+      "\n",
+      "#Calculations\n",
+      "Ic1 = (Vcc-Vbe)/R\n",
+      "Re = Vt*math.log(Ic1/Ic2)/Ic2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Re = %.2f k-ohm\"%(Re/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Re = 4.92 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.7, Page No. 24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Widlar current source: value of Ic2\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Iref = 1*10**-3             # reference current\n",
+      "Re = 5*10**3                # emitter resistor\n",
+      "Vt = 26*10**-3              # thermal voltage \n",
+      "\n",
+      "# Calculations\n",
+      "Ic2_1 = 12*10**-6             # assumed value 1\n",
+      "lhs1 = (Vt*math.log(Iref/Ic2_1))-(Ic2_1*Re)\n",
+      "Ic2_2 = 22*10**-6             # assumed value 2\n",
+      "lhs2 = (Vt*math.log(Iref/Ic2_2))-(Ic2_2*Re)\n",
+      "lhs2 = math.ceil(lhs2*10**5)/10**5\n",
+      "Ic2_3 = 20*10**-6             # assumed value 3\n",
+      "lhs3 = (Vt*math.log(Iref/Ic2_3))-(Ic2_3*Re)\n",
+      "\n",
+      "#Result\n",
+      "print(\"for Ic2 = %.0f micro-A, L.H.S = %.5f\"%(Ic2_1*10**6,lhs1))\n",
+      "print(\"for Ic2 = %.0f micro-A, L.H.S = %.5f\"%(Ic2_2*10**6,lhs2))\n",
+      "print(\"\\nhence actual value is less than but closer to %.0f micro-A\"%(Ic2_2*10**6))\n",
+      "print(\"\\nfor Ic2 = %f micro-A, L.H.S = %.4f\"%(Ic2_3*10**6,lhs3))\n",
+      "print(\"LHS is almost zero, so the value of Ic2 = %.0f micro-A\"%(Ic2_3*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for Ic2 = 12 micro-A, L.H.S = 0.05499\n",
+        "for Ic2 = 22 micro-A, L.H.S = -0.01076\n",
+        "\n",
+        "hence actual value is less than but closer to 22 micro-A\n",
+        "\n",
+        "for Ic2 = 20.000000 micro-A, L.H.S = 0.0017\n",
+        "LHS is almost zero, so the value of Ic2 = 20 micro-A\n"
+       ]
+      }
+     ],
+     "prompt_number": 61
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.8, Page No.34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# level shifting network (refer fig. 1.42)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vi = 6.84               # input dc level\n",
+      "R2 =  270               # resistor R2\n",
+      "Vbe = 0.7               # emitter-base junction voltage drop\n",
+      "\n",
+      "# Calculations\n",
+      "R1 = ((Vi-Vbe)*R2)-R2\n",
+      "R1 = R1/1000\n",
+      "#Result\n",
+      "print(\"Required value of R to get 0V output level is %.3f k-ohm\"%(math.floor(R1*10**3)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Required value of R to get 0V output level is 1.387 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 69
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.9, Page No. 36"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# differential and common mode output \n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Aid = 80.0                   # differential gain\n",
+      "CMMR = 95.0                  # common mode rejection ratio\n",
+      "V1 = 2*10**-6                # input voltage 1\n",
+      "V2 = 1.6*10**-6              # input voltage 2\n",
+      "\n",
+      "#Calculations\n",
+      "Aid = 10**(Aid/20)\n",
+      "CMMR = 10.0**(CMMR/20)\n",
+      "Vid = Aid*(V1-V2)\n",
+      "Acm = Aid/CMMR\n",
+      "Vcm = Acm*(V1+V2)/2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vid = %.0f mV\\nVcm = %.2f micro-V\"%(Vid*10**3,Vcm*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vid = 4 mV\n",
+        "Vcm = 0.32 micro-V\n"
+       ]
+      }
+     ],
+     "prompt_number": 75
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.10, Page No. 37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Common mode output\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Aid = 125.0                # differential gain \n",
+      "CMMR = 60.0                # common mode rejection ratio\n",
+      "Vp = 4.0                   # peak voltage   \n",
+      "#Calculations\n",
+      "x = 10**(CMMR/20)          # Aid/Acm\n",
+      "Acm = Aid/x\n",
+      "\n",
+      "#Result\n",
+      "print(\"Commode mode output is given by Acm*Vcm = %.1f*sin(200*pi*t)\"%(Vp*Acm))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Commode mode output is given by Acm*Vcm = 0.5*sin(200*pi*t)\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.11, Page No.37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Collector voltage and and differential voltage gain(refer fig 1.48)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vbe = 0.7                 # emitter-base junction voltage drop\n",
+      "hfe = 100.0               # current gain\n",
+      "hie = 3.9*10**3           # inpput impedance\n",
+      "Rin = 1*10**3             # Source resistance\n",
+      "Re = 27*10**3             # Emitter resistance\n",
+      "Rc = 6.8*10**3            # collector resistance\n",
+      "Vcc = 15                  # supply voltage\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Ie = Ic = (Vcc-Vbe)/((Rin/hfe)+2*Re)\n",
+      "Vout1 = Vout2 = Vcc-Ic*Rc\n",
+      "Aid = abs(hfe*Rc/(Rin+hie))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vc1 = Vc2 = %.2f V\\nAid = %f \"%(Vout1,Aid))\n",
+      "#Answer for Aid is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vc1 = Vc2 = 13.20 V\n",
+        "Aid = 138.775510 \n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.12, Page No. 38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Value of Resistance Re\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vcc = 10.0                # Supply voltage\n",
+      "Vbe = 0.7                 # emitter-base junction voltage drop\n",
+      "Rc = 47*10**3             # Collector resistance\n",
+      "hfe = 100.0               # current gain\n",
+      "Vceq = 8.6                # quiescent collector emitter voltage\n",
+      "\n",
+      "#Calculations\n",
+      "Ic = (Vcc+Vbe-Vceq)/Rc\n",
+      "Re =(Vcc-Vbe)/(2*((1+hfe)/hfe))\n",
+      "Re = math.floor(Re*10000)/10000\n",
+      "Re = Re/(Ic*1000)         # k-ohm\n",
+      "\n",
+      "#Result\n",
+      "print(\"Re = %.2f k-ohm\"%(math.floor(Re*100)/100))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Re = 103.03 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.13, Page No. 38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Differential amplifier parameter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vbe = 0.712               # emitter-base junction voltage drop\n",
+      "hfe = 500.0               # current gain\n",
+      "hie = 18 *10**3           # inpput impedance\n",
+      "Rin = 50                  # Source resistance\n",
+      "Re = 6.8*10**3            # Emitter resistance\n",
+      "Rc = 4.7*10**3            # collector resistance\n",
+      "Vcc = 10                  # supply voltage\n",
+      "\n",
+      "#Calcualtions\n",
+      "#(i)\n",
+      "Ie = (Vcc -Vbe)/(2*Re)\n",
+      "Ic = (hfe/(1+hfe))*Ie\n",
+      "Vce = Vcc+Vbe-Ic*Rc\n",
+      "Vce = math.floor(Vce*1000)/1000\n",
+      "Ic = math.floor(Ic*10**7)/10**7\n",
+      "Ic = Ic *1000              # mA\n",
+      "#(ii)\n",
+      "Ad = hfe*Rc/(2*(Rin+hie))\n",
+      "Ad = math.floor(Ad*100)/100\n",
+      "#(iii)\n",
+      "Ri = 2*(Rin+hie)\n",
+      "Ro = Rc\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i)\\nIcq =%.4f mA\\t\\tVce = %.3f V\\n\\n(ii)\\nAd = %.2f\\n\\n(iii)\\nRi = %.1f k-ohm\\t\\tRo = %.1f k-ohm\"%(Ic,Vce,Ad,Ri/1000.0,Ro/1000))\n",
+      "# answer for Ri is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)\n",
+        "Icq =0.6815 mA\t\tVce = 7.508 V\n",
+        "\n",
+        "(ii)\n",
+        "Ad = 65.09\n",
+        "\n",
+        "(iii)\n",
+        "Ri = 36.1 k-ohm\t\tRo = 4.7 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.14, Page No. 39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Current through the transistors(refer fig 1.50)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Q2 = 0.5               # Area of Q2 /Area of Q1\n",
+      "Q3 = 0.25              # Area of Q3 /Area of Q1\n",
+      "Q4 = 0.125             # Area of Q4 /Area of Q1\n",
+      "Vcc = 15               # Supply voltage\n",
+      "Vbe = 0.7              # emitter-base junction voltage drop\n",
+      "R = 20*10**3           # Resistor R\n",
+      "\n",
+      "#Calculations\n",
+      "I1 = (Vcc-Vbe)/R\n",
+      "I2 = I1*Q2\n",
+      "I3 = I1*Q3\n",
+      "I4 = I1*Q4\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"I2 = %.3f  mA\\nI3 = %.4f mA\\nI4 = %.3f  mA\"%(math.floor(I2*10**6)/1000,math.floor(I3*10**7)/10000,I4*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "I2 = 0.357  mA\n",
+        "I3 = 0.1787 mA\n",
+        "I4 = 0.089  mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      " example 1.15, Page No. 39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Current calculation in the circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vz = 6.2                 # zener voltage\n",
+      "R1 = 4.7*10**3           # resistor R1\n",
+      "R3 = 2.2*10**3           # resistor R3\n",
+      "Vee = -20                # supply voltage\n",
+      "Vbe = 0.7              # emitter-base junction voltage drop\n",
+      "\n",
+      "#Calcualtions\n",
+      "Vb = Vee + Vz\n",
+      "Ve = Vee+Vz-Vbe\n",
+      "I = Ie = (Ve-Vee)/R3\n",
+      "\n",
+      "#Result\n",
+      "print(\"I = %.1f mA\"%(I*1000))\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "I = 2.5 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.16, Page No.39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Differential amplifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ie = 10**-3               # Emitter current\n",
+      "Vbe = 0.7                 # emitter-base junction voltage drop\n",
+      "Rc = 4.7*10**3            # colloector Resistance\n",
+      "Vcc = 12                  # Supply voltage\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Re = (Vcc-Vbe)/(Ie)\n",
+      "Ic = Ic1 = Ic2 = Ie/2\n",
+      "Vout = Vcc-Ic*Rc\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i) Re = %.1f k-ohm\\n\\n(ii) Vout = %.2f V\"%(Re/1000,Vout))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Re = 11.3 k-ohm\n",
+        "\n",
+        "(ii) Vout = 9.65 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.17, Page No. 40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Ie3, Vce1 and differential mode gain(refer fig. 1.54)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vbe = 0.7                 # emitter-base junction voltage drop\n",
+      "hfe = 250.0               # current gain\n",
+      "hie = 560                 # inpput impedance for Q1 and Q2\n",
+      "Rin = 1.0*10**3           # Source resistance\n",
+      "Rb4 = 1.5*10**3           # Emitter resistance\n",
+      "Rc = 1.0*10**3            # collector resistance\n",
+      "Vcc = 12                  # supply voltage\n",
+      "\n",
+      "# Calculations\n",
+      "I = (Vcc-Vbe)/Rb4\n",
+      "Ie3 = I\n",
+      "Ie1 = Ie2 = Ie3/2\n",
+      "Ic1 = Ie1\n",
+      "Vce1 = Vcc+Vbe-Ic1*Rc\n",
+      "Aid = hfe*Rc/(Rc+hie)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ie3 = %.3f mA\\nVce1 = %.3f V\\nAid = %.2f\"%(Ie3*10**3,Vce1,math.floor(Aid*100)/100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ie3 = 7.533 mA\n",
+        "Vce1 = 8.933 V\n",
+        "Aid = 160.25\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.18, Page No. 41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.19, Page No. 41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# DC shift and curretn in the circuit (refer fig. 1.55)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vcc = 15.0              # supply voltage\n",
+      "R1 = 10.0*10**3         # Resistor R1\n",
+      "R2 = 5.0*10**3          # Resistor R2\n",
+      "Vbe = 0.7               # emitter-base junction voltage drop\n",
+      "\n",
+      "#Calculations\n",
+      "shift = (Vcc*R2/R1)+Vbe*(1-(R2/R1))\n",
+      "I = (Vcc-Vbe)/R1\n",
+      "\n",
+      "#Result\n",
+      "print(\"(Vin-Vout) = %.2f V\\n\\t I = %.2f mA\"%(shift, I*10**3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(Vin-Vout) = 7.85 V\n",
+        "\t I = 1.43 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.20, Page No. 41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# maximum possible closed loop gain\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "sr = 3*10**6              # slew rate in V/sec\n",
+      "dV = 0.4                  # input voltage variation\n",
+      "dt = 12*10**-6            # time in which voltage varies\n",
+      "\n",
+      "#Calculations\n",
+      "A = sr/(dV/dt)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Maximum closed loop gain = %.0f\"%A)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum closed loop gain = 90\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.21, Page No. 42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input bias and input offset current\n",
+      "\n",
+      "import math\n",
+      "#Variable Declaration\n",
+      "Vbe = 0.7                 # emitter-base junction voltage drop\n",
+      "beta1 = 100.0             # current gain for Q1\n",
+      "beta2 = 125.0             # current gain for Q1\n",
+      "Re = 39*10**3             # Emitter resistance\n",
+      "Rc = 4.7*10**3            # collector resistance\n",
+      "Vcc = 12                  # supply voltage\n",
+      "\n",
+      "# Calculations\n",
+      "Ie = (Vcc-Vbe)/Re\n",
+      "Ie1 = Ie2 = Ie/2\n",
+      "Ib1 = Ie1/beta1\n",
+      "Ib2 = Ie2/beta2\n",
+      "Ib = (Ib1+Ib2)/2\n",
+      "Iios = abs(Ib1-Ib2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ib   = %.4f micro-A\\nIios = %.5f micro-A\"%(Ib*10**6,Iios*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ib   = 1.3038 micro-A\n",
+        "Iios = 0.28974 micro-A\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.22, Page No. 42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Maximum possible amplitude of output\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 7000.0                 # frequency of input sine wave\n",
+      "Icq = 8*10**-6             # collector current\n",
+      "Cc = 27*10**-12            # Capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "S = Icq/Cc\n",
+      "Vm = S/(2*math.pi*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Maximum amplitude of output = %.3f V\"%(math.floor(Vm*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum amplitude of output = 6.736 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.23, Page No. 42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Slew rate\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vm = 3.8                   # output amplitude\n",
+      "tr = 4.5*10**-6            # required rise time\n",
+      "S_741 = 0.5*10**-6         # slew rate of IC741 op-amp\n",
+      "\n",
+      "#Calculations\n",
+      "del_V = (0.9-0.1)*Vm\n",
+      "S = del_V/tr\n",
+      "\n",
+      "#Result\n",
+      "print(\"Required slew rate = %.3f V/micro-s\"%(math.floor(S/10**3)/1000))\n",
+      "print(\"Slew rate of IC 741 is 0.5V/usec which is too low as compared to the required value. Hence Ic 741 cannot be used.\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Required slew rate = 0.675 V/micro-s\n",
+        "Slew rate of IC 741 is 0.5V/usec which is too low as compared to the required value. Hence Ic 741 cannot be used.\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.24, Page No.43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Maximum gain using op-amp\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "S = 0.4*10**6              # op-amp slew rate in V/sec\n",
+      "Vm = 0.04                  # maximum input \n",
+      "w = 1.13*10**5             # freq in rad/sec\n",
+      "\n",
+      "#Calculations\n",
+      "fm = w/(2*math.pi)\n",
+      "V = S/(2*math.pi*fm)\n",
+      "G = V/Vm\n",
+      "\n",
+      "#Result\n",
+      "print(\"Gain = %.1f \"%G)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Gain = 88.5 \n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.25, Page No. 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# smallest and largest possible input bias current and input offset current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ie = 400*10**-6           # total emitter bias current\n",
+      "beta_min = 80             # minimum current gain\n",
+      "beta_max = 200            # maximum current gain\n",
+      "\n",
+      "#Calculation\n",
+      "Ie1 = Ie2 = Ie/2\n",
+      "Ib1_1 = Ib2_1 = Ie1/(1+beta_min)     # for beta =80\n",
+      "Ib1_2 = Ib2_2 = Ie1/(1+beta_max)\n",
+      "\n",
+      "Ib_max = (Ib1_1+Ib2_1)/2\n",
+      "Ib_min = (Ib1_2+Ib2_2)/2\n",
+      "Iios = Ib_max-Ib_min\n",
+      "\n",
+      "#Result\n",
+      "print(\"Largest input bias current   = %.3f micro-A\\nSmallest input bias current  = %.3f micro-A\"%(Ib_max*10**6,Ib_min*10**6))\n",
+      "print(\"Largest input offset current = %.3f micro-A\"%(Iios*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Largest input bias current   = 2.469 micro-A\n",
+        "Smallest input bias current  = 0.995 micro-A\n",
+        "Largest input offset current = 1.474 micro-A\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.26, Page No.43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Collector current for each transistor(refer fig. 1.59)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vbe = 0.715                 # emitter-base junction voltage drop\n",
+      "beta = 100.0                # Current gain\n",
+      "Vcc = 10                    # input voltage\n",
+      "Rc1 = 5.6*10**3             # Collector resistance\n",
+      "Rc2 = 1.0*10**3             # Collector resistance\n",
+      "\n",
+      "#Calculations\n",
+      "I = (Vcc-Vbe)/Rc1\n",
+      "Ic2 = (beta/(beta+4))*I\n",
+      "\n",
+      "#Result\n",
+      "print(\"I   = %.3f mA\\nIc2 = Ic3 = Ic4 = %.4f mA\"%(I*1000,math.floor(Ic2*10**7)/10000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "I   = 1.658 mA\n",
+        "Ic2 = Ic3 = Ic4 = 1.5942 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.27, Page No. 44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Differential amplifier parameter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "beta = 100.0               # current gain\n",
+      "Vbe = 0.715                # emitter-base junction voltage drop\n",
+      "Vz = 6.2                   # Zener Voltage\n",
+      "Iz = 41*10**-3             # Zener Current \n",
+      "Rc = 4.7*10**3             # Collector Current\n",
+      "Rin = 500                  # input resistance\n",
+      "Rb = 68*10**3              # base voltage \n",
+      "Re = 2.7*10**3             # emitter resistance\n",
+      "Vcc = 10                   # Supply Voltage\n",
+      "hie = 1000.0               # input resistance\n",
+      "\n",
+      "#Calculations\n",
+      "I = (Vcc-Vbe-Vz)/Rb\n",
+      "I = math.floor(I*10**8)/10**8\n",
+      "Ie3 = (Vcc-Vbe-Rb*I)/Re\n",
+      "Ie3 = math.ceil(Ie3*10**7)/10**7\n",
+      "Ic3 = (beta/(1+beta))*Ie3\n",
+      "Ic3 = math.floor(Ic3*10**7)/10**7\n",
+      "Ie = Ic3/2\n",
+      "Ie = math.floor(Ie*10**7)/10**7\n",
+      "Ic = beta*Ie/(1+beta)\n",
+      "Ic = math.ceil(Ic*10**7)/10**7\n",
+      "Vce = Vcc+Vbe-Ic*Rc\n",
+      "Vce = math.floor(Vce*10**4)/10**4\n",
+      "Aid = beta*Rc/(Rin+hie)\n",
+      "Ri = Rin+2*hie\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i) Aid = %.3f\\n\\n(ii) input Resistance = %.1f k-ohm\\n\\n(iii) Icq = %.4f mA\\t\\tVceq = %.4f V\"%(Aid,Ri/1000,Ic*1000,Vce))\n",
+      "#Value for input resistance is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Aid = 313.333\n",
+        "\n",
+        "(ii) input Resistance = 2.5 k-ohm\n",
+        "\n",
+        "(iii) Icq = 1.1256 mA\t\tVceq = 5.4246 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 77
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_10.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_10.ipynb
new file mode 100755
index 00000000..0904c810
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_10.ipynb
@@ -0,0 +1,186 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10 : Operational Transconductance Amplifier(OTA)"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.1, Page No.298"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# -3dB frequency\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "gm = 55*10**-6             # Transconductance\n",
+      "C = 8.75*10**-12           # Capacitance\n",
+      "\n",
+      "#calcualtions\n",
+      "f = gm/(2*math.pi*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"-3dB frequency = %d MHz\"%(f/10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "-3dB frequency = 1 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.2, Page No. 401"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.3, Page No. 402"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.4, Page No. 402"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.5, Page No. 403"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.6, Page No. 403"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_11.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_11.ipynb
new file mode 100755
index 00000000..f749209f
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_11.ipynb
@@ -0,0 +1,494 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11: Voltage Regulators"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.1, Page No. 414"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# op-amp series voltage regulator design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vin_min = 18-3             # min input voltage specification\n",
+      "Vin_max = 18+3             # max input voltage specification\n",
+      "Vout = 9                   # output voltage specification\n",
+      "Iout_min = 10*10**-3       # min output current specification\n",
+      "Iout_max = 50*10**-3       # max output current specification\n",
+      "Vz = 5.6                   # zener breakdown voltage\n",
+      "Pzmax = 0.5                # Maximum power dissipation in zener\n",
+      "\n",
+      "#Calculations\n",
+      "R1 = 10*10**3              # assumed\n",
+      "R2 = R1/((Vout/Vz)-1)\n",
+      "R3 = (Vin_min-Vz)/Iout_max\n",
+      "Iz = (Vin_max-Vz)/R3\n",
+      "Pd = Iz*Vz\n",
+      "beta = 30                  # assumed\n",
+      "Ib = Iout_max/(beta+1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Element values for designed circuit are as follows:\\nR1 = %d k-ohm\\nR2 = %.2f k-ohm\"%(R1/1000,R2/1000))\n",
+      "print(\"R3 = %.3f k-ohm\\nIB = %.2f mA\"%(R3/1000,Ib*1000))\n",
+      "#Answer for R3 is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Element values for designed circuit are as follows:\n",
+        "R1 = 10 k-ohm\n",
+        "R2 = 16.47 k-ohm\n",
+        "R3 = 0.188 k-ohm\n",
+        "IB = 1.61 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.2, Page No. 420"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Regulator using IC 723\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vout = 5                     # Required output voltage\n",
+      "Iout = 100*10**-3            # Required output current\n",
+      "Vin_min = 15-(0.2*15)        # Min input voltage\n",
+      "Vin_max = 15+(0.2*15)        # Max input voltage\n",
+      "Isc = 150*10**-3             # Short circuit current requirement\n",
+      "Vsense = 0.7                 # short circuit voltage\n",
+      "Vref = 7.15                  # reference votage for IC 723\n",
+      "Id = 1*10**-3                # potential divider current\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "Rsc = Vsense/Isc\n",
+      "R1 = (Vref-Vout)/Id\n",
+      "R1std = 2.2*10**3 \n",
+      "R2 = R1std/((Vref/Vout)-1)\n",
+      "R2std = 5.1*10**3 \n",
+      "R3 = R1std*R2std/(R1std+R2std)\n",
+      "R3std = 1.5*10**3 \n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.3f k-ohm\\t We use %.1f k-ohm as standard resistor.\"%(R1/1000,R1std/1000))\n",
+      "print(\"R2 = %.3f k-ohm\\t We use %.1f k-ohm as standard resistor.\"%(R2/1000,R2std/1000))\n",
+      "print(\"R3 = %.3f k-ohm\\t We use %.1f k-ohm as standard resistor.\"%(math.floor((R3/1000)*1000)/1000,R3std/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 2.150 k-ohm\t We use 2.2 k-ohm as standard resistor.\n",
+        "R2 = 5.116 k-ohm\t We use 5.1 k-ohm as standard resistor.\n",
+        "R3 = 1.536 k-ohm\t We use 1.5 k-ohm as standard resistor.\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.3, Page No. 421"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Ic 723 based positive voltage regulator\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vout = 12.0               # output voltage\n",
+      "Il = 500*10**-3           # load current\n",
+      "Isc = 600*10**-3          # short circuit current\n",
+      "Vref = 7.0                # IC 723 reference voltage \n",
+      "Vsense = 0.6              # voltage at short circuit\n",
+      "\n",
+      "#Calculation\n",
+      "R1 = 4.7*10**3            # assumed\n",
+      "R2 = Vref*R1/(Vout-Vref)\n",
+      "R2std = 6.8*10**3 \n",
+      "Rsc = Vsense/Isc\n",
+      "R3 = R2std*R1/(R2std+R1)\n",
+      "Psc = Isc**2*Rsc*1000\n",
+      "I = Vout/(R1+R2std)\n",
+      "I= math.floor(I*10**6)/10**6\n",
+      "P1 = I**2*R1*1000\n",
+      "P2 = I**2*R2std*1000\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.1f k-ohm\\nR2 = %.2f k-ohm = %.1f k-ohm(standard value)\\nRsc = %.1f ohm\"%(R1/1000,R2/1000,R2std/1000,Rsc))\n",
+      "print(\"\\nPower wattage:\\nPsc = %.0f mW\\nP1 = %.3f mW\\nP2 = %.3f mW\"%(Psc,math.floor(P1*1000)/1000,P2))\n",
+      "print(\"Hence, both R1 and R2 may be selected safely of 1/16th watt power rating.\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 4.7 k-ohm\n",
+        "R2 = 6.58 k-ohm = 6.8 k-ohm(standard value)\n",
+        "Rsc = 1.0 ohm\n",
+        "\n",
+        "Power wattage:\n",
+        "Psc = 360 mW\n",
+        "P1 = 5.112 mW\n",
+        "P2 = 7.397 mW\n",
+        "Hence, both R1 and R2 may be selected safely of 1/16th watt power rating.\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.4, Page No. 426"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Regulator design using IC 723(refer to fig. 11.26)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vout = 6                    # output voltage\n",
+      "Il = 1                      # load current\n",
+      "Isc = 0.250                 # short circuit \n",
+      "Vref = 7                    # reference voltage\n",
+      "Vbe = 0.7                   # base-emitter junction voltage\n",
+      "\n",
+      "#Calculations\n",
+      "R1 = 2.7*10**3              # assumed\n",
+      "R2 = Vout*R1/(Vref-Vout)\n",
+      "kRsc = Vbe/Isc\n",
+      "k =1-(((Il-Isc)*kRsc)/Vout)\n",
+      "R4 = 10*10**3                # assumed         \n",
+      "R3 = (1-k)*R4\n",
+      "Rsc = kRsc/k\n",
+      "R = (R1*R2)/(R1+R2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.1f k-ohm\\nR2 = %.1f k-ohm\\nR3 = %.1f k-ohm\\nR4 = %.1f k-ohm\\nR  = %.2f k-ohm\"%(R1/1000,R2/1000,R3/1000,R4/1000,R/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 2.7 k-ohm\n",
+        "R2 = 16.2 k-ohm\n",
+        "R3 = 3.5 k-ohm\n",
+        "R4 = 10.0 k-ohm\n",
+        "R  = 2.31 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.5, Page No.432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Current source design using IC7812\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "RL = 25.0           # load resistance\n",
+      "P = 10.0            # power \n",
+      "I = 0.5             # current required\n",
+      "V = 12.0            # rated voltage\n",
+      "\n",
+      "#Calculations\n",
+      "R = V/I\n",
+      "Vout = V+(I*RL)\n",
+      "Vin = Vout+2\n",
+      "\n",
+      "#Result\n",
+      "print(\"R    = %d ohm\\nVout = %.1f V\\nVin  = %.1f V\"%(R,Vout,Vin))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R    = 24 ohm\n",
+        "Vout = 24.5 V\n",
+        "Vin  = 26.5 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.6, Page NO. 432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# min and max voltage of regulator(refer fig.11.34)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Iq = 10*10**-3             # quiescent current\n",
+      "Vreg = 15.0                # regulated output voltage\n",
+      "R2 = 0                     # min value of potentiometer\n",
+      "R1 = 40.0                  # R1 resistor\n",
+      "\n",
+      "#Calculations\n",
+      "Vout = (1+(R2/R1))*Vreg+(Iq*R2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %d V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = 15 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.7, Page No. 432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# current source using 7805\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Il = 0.2              # required load current\n",
+      "RL = 22.0             # load resistance\n",
+      "P = 10.0              # required power\n",
+      "Iq = 4.2*10**-3       # quiescent current\n",
+      "Vr = 5                # regulated output voltage\n",
+      "\n",
+      "#Calculation\n",
+      "R = Vr/(Il-Iq)\n",
+      "Vout = Vr+Il*RL\n",
+      "Vin = Vout+2\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %f ohm\\nVout = %.1f V\\nVin = %.1f V\"%(R,Vout,Vin))\n",
+      "# Answer for R is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 25.536261 ohm\n",
+        "Vout = 9.4 V\n",
+        "Vin = 11.4 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.8, Page No.435"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Regulated outpuut voltage(refer fig. 11.38)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 220.0                 # resistance R1\n",
+      "R2 = 1500.0                # Resistance R2\n",
+      "Iadj = 100*10**-6          # adj. current\n",
+      "\n",
+      "\n",
+      "#Calculartions\n",
+      "Vout = (1.25*(1+(R2/R1)))+(Iadj*R2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %.2f V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = 9.92 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.9, Page No. 435"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Output voltage range\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 820.0              # resistance R1\n",
+      "R2min = 0               # min potentiometer resistance\n",
+      "R2max = 10*10**3        # max potentiometer resistance\n",
+      "Iadj = 100*10**-6       # adj. current\n",
+      "\n",
+      "#calculations\n",
+      "Vmin = 1.25*(1+(R2min/R1))+(Iadj*R2min)\n",
+      "Vmax = 1.25*(1+(R2max/R1))+(Iadj*R2max)\n",
+      "\n",
+      "#Result\n",
+      "print(\"The output can be varied in the range %.2f V to %.2f V\"%(Vmin,Vmax))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output can be varied in the range 1.25 V to 17.49 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.10, Page No. 436"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Maximum load current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vbe = 1.0                # base emitter junction voltage\n",
+      "beta = 15.0              # current gain\n",
+      "R1 = 7.0                 # resistance R1\n",
+      "Iout = 1.0               # max output current from IC  \n",
+      "#Calculations\n",
+      "Il = ((1+beta)*Iout) - beta*(Vbe/R1)\n",
+      "Il = math.floor(Il*100)/100\n",
+      "#Result\n",
+      "print(\"IC which can supply maximum 1A can supply maximum load of %.2f A, with the help of the current boosting arrangements\"%Il)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "IC which can supply maximum 1A can supply maximum load of 13.85 A, with the help of the current boosting arrangements\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_12.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_12.ipynb
new file mode 100755
index 00000000..8648af62
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_12.ipynb
@@ -0,0 +1,799 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12 : D/A and A/D Converters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "examople 12.1, Page No. 461"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# DAC Resolution\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 8              # Number of bits\n",
+      "VoFS = 2.55        # Maximum output voltage to be represented\n",
+      "\n",
+      "#Calculations\n",
+      "#(i)\n",
+      "R1 = 2**(n)\n",
+      "#(ii)\n",
+      "R2 = VoFS/(2**n-1)\n",
+      "\n",
+      "#\n",
+      "print(\"(i) Resolution  = %d, i.e. output voltage can have %d different values including 0.\"%(R1,R1))\n",
+      "print(\"(ii) Resolution = %.0f mV/LSB, i.e. an input change of 1 LSB output to change by %.0f mV\"%(R2*1000,R2*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Resolution  = 256, i.e. output voltage can have 256 different values including 0.\n",
+        "(ii) Resolution = 10 mV/LSB, i.e. an input change of 1 LSB output to change by 10 mV\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.2, Page No.461"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Analog output from digital output\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 4                # 4-bit DAC\n",
+      "VoFS = 15.0          # maximum output voltage\n",
+      "\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "R = VoFS/((2**n)-1)\n",
+      "Vout = R*int('0110',2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %.0f V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = 6 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.3, Page No.462"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Analog output from digital output\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 8                # 4-bit DAC\n",
+      "R = 20.0*10**-3      # Resolution in V/LSB\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "VoFS= R*((2**n)-1)\n",
+      "Vout = R*int('10000000',2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"VoFS = %.1f V\"%VoFS)\n",
+      "print(\"Vout = %.2f V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "VoFS = 5.1 V\n",
+        "Vout = 2.56 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.4, Page No.462"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Step size and analog outtput of DAC\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 4                     # 4-bit DAC\n",
+      "VoFS = 5.0                # maximum output voltage\n",
+      "\n",
+      "#Calculations\n",
+      "R = VoFS/((2**n)-1)\n",
+      "Vout1 = R*int('1000',2)\n",
+      "Vout2 = R*int('1111',2)\n",
+      "\n",
+      "# Result\n",
+      "print(\"Step Size i.e. Resolution = %f V/LSB\"%R)\n",
+      "print(\"Output corresponding to input 1000 is %.4f V\"%Vout1)\n",
+      "print(\"Output corresponding to input 1111 is %.0f V\"%Vout2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Step Size i.e. Resolution = 0.333333 V/LSB\n",
+        "Output corresponding to input 1000 is 2.6667 V\n",
+        "Output corresponding to input 1111 is 5 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.5, Page No.462"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 12-bit DAC\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 12                  # 12-bit DAC\n",
+      "R = 8*10**-3            # Step Size\n",
+      "\n",
+      "#Calculations\n",
+      "VoFS = R*((2**n)-1)\n",
+      "Res = R*100/VoFS\n",
+      "Vout = R*int('010101101101',2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"VoFS = %.2f V\\n%% Resolution = %f \\nOutput voltage = %.3f V\"%(VoFS,Res,Vout))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "VoFS = 32.76 V\n",
+        "% Resolution = 0.024420 \n",
+        "Output voltage = 11.112 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.6, Page No.467"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# R/2R ladder typr DAC\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 4                 # 4-bit DAC\n",
+      "Res = 0.5             # Resolution  \n",
+      "Vr = 10.0             # Reference voltage (assumed)\n",
+      "Rf = 10*10**3         # reference resistor\n",
+      "\n",
+      "#Calculations\n",
+      "R = Vr*Rf/(2**n*Res)\n",
+      "print(\"Reference Voltage, Vr = %.0f V\\nRf = %.0f k-ohm\\nR = %.1f k-ohm\"%(Vr,Rf/1000,R/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Reference Voltage, Vr = 10 V\n",
+        "Rf = 10 k-ohm\n",
+        "R = 12.5 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.7, Page No.473"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 8-bit ADC\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 8                   # 8-bit ADC\n",
+      "VoFS = 5.1              # full scale output voltage\n",
+      "Vi = 1.28               # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "R = VoFS/((2**n)-1)\n",
+      "D = (Vi/R)\n",
+      "D = round(D,0)\n",
+      "D = bin(64)[2:]\n",
+      "d = format(int(D,2),'08b')\n",
+      "print(\"Resolution = %d or Resolution = %.1f mV/LSB\\nBinary output corresponding to 1.28V input is %s\"%(2**n,R*1000,d))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resolution = 256 or Resolution = 20.0 mV/LSB\n",
+        "Binary output corresponding to 1.28V input is 01000000\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.8, Page No.474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# quantization error for 12-bit ADC\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 12                       # 12-bit ADC \n",
+      "ViFS = 4.095                 # full scale input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "Qe = ViFS/((2**n-1)*2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Quantization Error, Qe = %.1f mV\"%(Qe*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Quantization Error, Qe = 0.5 mV\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.9, Page No.477"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Dual slope ADC\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "t1 = 83.33*10**-3              # time t1\n",
+      "Vr = 100*10**-3                # reference voltage\n",
+      "Vi_1 = 100*10**-3              # input voltage value for case 1\n",
+      "Vi_2 = 200*10**-3              # input voltage value for case 2\n",
+      "\n",
+      "#Calculations\n",
+      "t2_1 = Vi_1*t1/Vr\n",
+      "t2_2 = Vi_2*t1/Vr\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i)  t2 = %.2f ms\\n(ii) t2 = %.2f ms\"%(t2_1*1000,t2_2*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)  t2 = 83.33 ms\n",
+        "(ii) t2 = 166.66 ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.10, Page No. 477"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Digital output of an ADC\n",
+      "\n",
+      "import math\n",
+      "# Variable declarartion\n",
+      "t1 = 83.33*10**-3               # time t1\n",
+      "Vr = 100*10**-3                 # Reference Voltage\n",
+      "Vi = 100*10**-3                 # input voltage\n",
+      "f = 12*10**3                    # clock frequency\n",
+      "\n",
+      "#Calculations\n",
+      "Vout = f*t1*Vi/Vr\n",
+      "\n",
+      "#Result\n",
+      "print(\"Digital output = %.0f counts\"%(math.ceil(Vout)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Digital output = 1000 counts\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.11, Page No. 479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Successive approximation ADC\n",
+      "\n",
+      "import math\n",
+      "n = 8                   # 8-bit ADC \n",
+      "f = 1.0*10**6           # clock frequency\n",
+      "\n",
+      "#Calculations\n",
+      "T = 1/f\n",
+      "Tc = T*(n+1)\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"Conversion time = %.0f micro-sec\"%(Tc*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Conversion time = 9 micro-sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.12, Page No. 480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Maximum input frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 8                         # 8-bit ADC\n",
+      "Tc = 9*10**-6                 # Conversion time\n",
+      "\n",
+      "#Calculations\n",
+      "fmax = 1/(2*math.pi*Tc*2**n)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Maximum frequency, Fmax = %.2f Hz\"%(math.floor(fmax*100)/100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum frequency, Fmax = 69.07 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.13, Page No. 501"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Dual slope ADC\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vr = 2                  # Reference Voltage\n",
+      "t2 = 20*10**-3          # time duration\n",
+      "Vo = 5                  # Peak value of output voltage\n",
+      "C = 0.1*10**-6          # integrator capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "R = Vr*t2/(Vo*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Integrating resistor, R1 = %.0f k-ohm\"%(R/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Integrating resistor, R1 = 80 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.4, Page No. 501"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Resolution and equivalent Iout for digital input\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 4                     # 4-bit resistance ladder\n",
+      "R1 = 10*10**3             # Resistance R\n",
+      "R2 = 20*10**3             # Resistance 2*R\n",
+      "Vref = 10.0               # reference Voltage\n",
+      "b1 = 1.0                  # LSB valueof input\n",
+      "b2 = 1.0                  # 2nd bit value of input\n",
+      "b3 = 1.0                  # 3rd bit value of input\n",
+      "b4 = 1.0                  # MSB value of input\n",
+      "\n",
+      "# Calculations\n",
+      "Res = Vref/(2**n*R1)\n",
+      "Iout = Vref*((b1/2**1)+(b2/2**2)+(b3/2**3)+(b4/2**4))/R1\n",
+      "\n",
+      "#Result\n",
+      "print(\"Resolution = %.3f * 10^-5 \\nIout(1111) = %.3f * 10^-4 A\"%(Res*10**5,Iout*10**4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resolution = 6.250 * 10^-5 \n",
+        "Iout(1111) = 9.375 * 10^-4 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 83
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.15, Page No. 501"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 4-bit weighted resistor type DAC\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 4                   # 4-bit DAC\n",
+      "R1 = 10*10**3           # Resistor corresponding to LSB(Value used in calculations)\n",
+      "Vr = 2.5                # reference Voltage\n",
+      "VoFS = 5                # Full scale output voltage\n",
+      "\n",
+      "#Calculations\n",
+      "Rf = VoFS*R1/(Vr*((b1/2**1)+(b2/2**2)+(b3/2**3)+(b4/2**4)))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Rf = %d k-ohm\"%(Rf/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rf = 21 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 61
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.16, Page N0. 502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# LSB, MSB and full scale output for 8-bit DAC\n",
+      "\n",
+      "import math\n",
+      "#Variable ddeclaration\n",
+      "n = 8                   # 8-bit DAC\n",
+      "Vmin = 0                # minimum input voltage\n",
+      "Vmax = 10.0             # Maximum input voltage \n",
+      "\n",
+      "#Calculations\n",
+      "LSB = (Vmax-Vmin)/(2**n - 1)\n",
+      "MSB = LSB*2**(n-1)\n",
+      "VoFS = LSB*(2**n -1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"LSB  = %.2f mV\\nMSB  = %d V\\nVoFS = %d V\"%(math.floor(LSB*100000)/100,MSB,VoFS))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "LSB  = 39.21 mV\n",
+        "MSB  = 5 V\n",
+        "VoFS = 10 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 71
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.17, Page No. 502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 8-bit ADC\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n = 8                   # 8-bit ADC\n",
+      "Vmin = 0                # minimum input voltage\n",
+      "Vmax = 3.0              # Maximum input voltage \n",
+      "\n",
+      "#Calculations\n",
+      "MinVol = (Vmax-Vmin)/(2**n-1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Minimum Voltage = %.2f mv\"%(MinVol*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum Voltage = 11.76 mv\n"
+       ]
+      }
+     ],
+     "prompt_number": 82
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.18, Page No. 502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 10-bit ADC Resolution\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "n = 10                  # 10-bit ADC\n",
+      "Vmin = -10.0            # minimum input voltage\n",
+      "Vmax = 10.0             # Maximum input voltage \n",
+      "\n",
+      "#Calculations\n",
+      "r = (Vmax-Vmin)/(2**n-1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Resolution = %f mv\"%(r))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resolution = 0.019550 mv\n"
+       ]
+      }
+     ],
+     "prompt_number": 74
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.19, Page No. 502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 8-bit DAC Analog Output\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "n = 8                   # 8-bit DAC\n",
+      "Res = 20*10**-3         # DAC resolution\n",
+      "D = int('00010110',2)     # digital input\n",
+      "\n",
+      "#Calculations\n",
+      "Vout = Res*D\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %.0f mv\"%(Vout*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = 440 mv\n"
+       ]
+      }
+     ],
+     "prompt_number": 81
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_2.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_2.ipynb
new file mode 100755
index 00000000..0346b963
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_2.ipynb
@@ -0,0 +1,229 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2 : Operational Amplifier Fundamentals"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.1, Page No. 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Input bias and input offset current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ib1 = 18*10**-6             # base current of transistor 1\n",
+      "Ib2 = 22*10**-6             # base current of transistor 2\n",
+      "\n",
+      "#Calculations\n",
+      "#(i)\n",
+      "Ib = (Ib1+Ib2)/2\n",
+      "#(ii)\n",
+      "Iios = abs(Ib1-Ib2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i)  Input bias current = %d micro-A\\n(ii) Input offset current = %.0f micro-A\"%(Ib*10**6,Iios*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)  Input bias current = 20 micro-A\n",
+        "(ii) Input offset current = 4 micro-A\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.2, Page No. 65"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Maximum frequency of operation\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vin = 3.0               # input voltage\n",
+      "sr = 0.5*10**6          # slew rate in V/Sec\n",
+      "\n",
+      "#Calculations\n",
+      "Vm = Vin/2\n",
+      "fm = sr/(2*math.pi*Vm)\n",
+      "fm = fm /1000 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Maximum frequency of operation is %.3f kHz\"%(math.floor(fm*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum frequency of operation is 53.051 kHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.3, Page No. 65"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Slew rate \n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Icq = 15*10**-6         # Maximum op-amp current \n",
+      "C = 35*10**-12          # equivalent capacitance\n",
+      "V = 12.0                # input voltage \n",
+      "\n",
+      "#Calculations\n",
+      "S = Icq/C\n",
+      "S = S/10**6\n",
+      "\n",
+      "#Result\n",
+      "print(\"Slew rate = %.4f V/micro-sec\"%(math.floor(S*10**4)/10**4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slew rate = 0.4285 V/micro-sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.4, Page No. 66"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Slew rate and maximum possible frequency of input\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Icq = 10*10**-6             # maximum op-amp current\n",
+      "C = 33*10**-12              # equivalent capacitance\n",
+      "V = 12                      # peak value of input voltage\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "S = Icq/C\n",
+      "fm = S/(2*math.pi*V)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Slew rate = %.3f V/micro-sec\\nfm        = %.3f kHz\"%(S/10**6,fm/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slew rate = 0.303 V/micro-sec\n",
+        "fm        = 4.019 kHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.5, Page No. 66"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Common mode rejection ratio(refere to fig 2.24)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 1000.0            # resistance 1\n",
+      "R2_1_E = 90000.0       # resistance R2(1-E)\n",
+      "R2 = 100000.0          # resistance R2\n",
+      "\n",
+      "#Calculations\n",
+      "Aid = R2/R1\n",
+      "E = 1-(R2_1_E/R2)\n",
+      "Acm = R2*E/(R1+R2)\n",
+      "CMRR = Aid/Acm\n",
+      "CMRR = 20*math.log10(CMRR)\n",
+      "\n",
+      "#Result\n",
+      "print(\"CMRR = %d dB\"%CMRR)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "CMRR = 60 dB\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_3.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_3.ipynb
new file mode 100755
index 00000000..0a250fa7
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_3.ipynb
@@ -0,0 +1,525 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3 : Op-amp with Negative Feedback"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.1, Page No. 90"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# parameters of practical invertig amplifier\n",
+      "\n",
+      "import math\n",
+      "#VAriable declaration\n",
+      "R1 = 470                 # Resistor R1\n",
+      "Rf = 4.7*10**3           # feedback resistor\n",
+      "A  = 2*10**5             # Open loop gain\n",
+      "Rin= 2*10**6             # input resistance\n",
+      "Ro = 75                  # output resistance\n",
+      "f  = 5                   # single break frequency\n",
+      "V  = 15                  # dual supply voltage\n",
+      "\n",
+      "#Calculations\n",
+      "K = Rf/(R1+Rf)\n",
+      "B = R1/(R1+Rf)\n",
+      "B = math.floor(B*10000)/10000 \n",
+      "Af = (-A*Rf)/(R1+Rf+R1*A)\n",
+      "Rinf = R1+(Rf*Rin/(Rf+Rin+A*Rin))\n",
+      "Rof = Ro/(1+A*B)\n",
+      "ff = f*(1+A*B)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Closed loop voltage gain with feedback = %.0f\\nInput resistane with feedback = %.4f ohm\"%(math.floor(Af),Rinf))\n",
+      "print(\"Output resistance with feedback = %.2f m-ohm\\nBandwidth with feedback = %.3f KHz\"%(Rof*1000,ff/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop voltage gain with feedback = -10\n",
+        "Input resistane with feedback = 470.0235 ohm\n",
+        "Output resistance with feedback = 4.13 m-ohm\n",
+        "Bandwidth with feedback = 90.905 KHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 47
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.2, Page No. 91"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# inverting Op-amp design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Af = -30.0               # voltage gain\n",
+      "Rf = 1*10**6             # feedback resistance\n",
+      "\n",
+      "#Calcaculation\n",
+      "R1 = -Rf/Af\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.2f k-ohm\\nlet us choose, R1 = 30 k-ohm + 3.3 k-ohm......standard values(refer fig. 3.7)\"%(R1/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 33.33 k-ohm\n",
+        "let us choose, R1 = 30 k-ohm + 3.3 k-ohm......standard values(refer fig. 3.7)\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.3, Page No. 91"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.4, Page No. 95"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Value of feedback resistance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Af = 61               # gain with feedback\n",
+      "R1 = 1000             # resistor R1\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Rf = (Af-1)*R1\n",
+      "\n",
+      "#Result\n",
+      "print(\"Rf = %d k-ohm\"%(Rf/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rf = 60 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.5, Page No.95"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# parameters of non-invertig amplifier\n",
+      "\n",
+      "import math\n",
+      "#VAriable declaration\n",
+      "R1 = 1000.0              # Resistor R1\n",
+      "Rf = 10*10**3            # feedback resistor\n",
+      "A  = 2*10**5             # Open loop gain\n",
+      "Rin= 2*10**6             # input resistance\n",
+      "Ro = 75                  # output resistance\n",
+      "f  = 5                   # single break frequency\n",
+      "V  = 12                  # dual supply voltage\n",
+      "\n",
+      "#Calculations\n",
+      "B = R1/(R1+Rf)\n",
+      "#B = math.floor(B*10000)/10000 \n",
+      "Af = A/(1+A*B)\n",
+      "Rinf = Rin*(1+A*B)\n",
+      "Rof = Ro/(1+A*B)\n",
+      "ff = f*(1+A*B)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Closed loop voltage gain with feedback = %.3f\\nInput resistane with feedback = %.2f G-ohm\"%(Af,math.floor((Rinf/10**9)*100)/100))\n",
+      "print(\"Output resistance with feedback = %.2f m-ohm\\nBandwidth with feedback = %.2f KHz\"%(Rof*1000,ff/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop voltage gain with feedback = 10.999\n",
+        "Input resistane with feedback = 36.36 G-ohm\n",
+        "Output resistance with feedback = 4.12 m-ohm\n",
+        "Bandwidth with feedback = 90.91 KHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.6, Page No. 96"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# inverter parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A  = 2*10**5             # Open loop gain\n",
+      "Rin= 2*10**6             # input resistance\n",
+      "Ro = 75                  # output resistance\n",
+      "f  = 5                   # single break frequency\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Af  = -1                 # inverter gain\n",
+      "Rf = 330.0               # Rf = R1, Value assumed\n",
+      "R1 = Rf\n",
+      "B = R1/(R1+Rf)\n",
+      "Rof = Ro/(A*B)\n",
+      "BW = f*(A*B)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Af = %.0f\\nRif = %.0f ohm\\nRof = %.5f ohm\\nfF = %.1f MHz\"%(Af,Rf,Rof,BW/10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Af = -1\n",
+        "Rif = 330 ohm\n",
+        "Rof = 0.00075 ohm\n",
+        "fF = 0.5 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.7, Page No. 96"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# parameters of invertig and non-inverting amplifier\n",
+      "\n",
+      "import math\n",
+      "#VAriable declaration\n",
+      "R1_n = 1000.0            # Resistor R1 in case of non-inverting ampliflier\n",
+      "Rf_n = 10*10**3          # feedback resistor in case of non-inverting ampliflier\n",
+      "R1_i = 470.0             # Resistor R1 in case of inverting ampliflier\n",
+      "Rf_i = 4.7*10**3         # feedback resistor in case of inverting ampliflier\n",
+      "A  = 2*10**5             # Open loop gain\n",
+      "Ri = 2*10**6             # input resistance\n",
+      "Ro = 75                  # output resistance\n",
+      "f  = 5                   # single break frequency\n",
+      "V  = 15                  # dual supply voltage\n",
+      "Vos = 13                 # output voltage swing\n",
+      "\n",
+      "#Calculations\n",
+      "#(i) Non-inverting amplifier\n",
+      "B = R1_n/(R1_n+Rf)\n",
+      "Af = 1+(Rf_n/R1_n)\n",
+      "Rinf = Ri*(1+A*B)\n",
+      "Rof = Ro/(1+A*B)\n",
+      "ff = f*(1+A*B)\n",
+      "ff =ff/1000        # KHz\n",
+      "VooT = Vos/(1+A*B)\n",
+      "#(ii) Inverting amplifier\n",
+      "B_i = R1_i/(R1_i+Rf)\n",
+      "Af_i = -(Rf_i/R1_i)\n",
+      "Rinf_i = R1_i\n",
+      "Rof_i = Ro/(1+A*B_i)\n",
+      "ff_i = f*(1+A*B_i)\n",
+      "ff_i =ff_i/1000        # KHz\n",
+      "VooT_i = Vos/(1+A*B_i)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i) Non-inverting amplifier:\")\n",
+      "print(\" Closed loop voltage gain with feedback = %.0f\\n Input resistane with feedback = %.4f ohm\"%(math.floor(Af),Rinf/10**9))\n",
+      "print(\" Output resistance with feedback = %.5f ohm\\n Bandwidth with feedback = %.2f KHz\"%(Rof,math.ceil(ff*100)/100))\n",
+      "print(\" Total output offset voltage with feedback = +/- %.3f mV\"%(VooT*1000))\n",
+      "\n",
+      "print(\"\\n(ii) Inverting amplifier:\")\n",
+      "print(\" Closed loop voltage gain with feedback = %.0f\\n Input resistane with feedback = %.0f ohm\"%(math.floor(Af_i),Rinf_i))\n",
+      "print(\" Output resistance with feedback = %.5f ohm\\n Bandwidth with feedback = %.2f KHz\"%(Rof,math.ceil(ff*100)/100))\n",
+      "print(\" Total output offset voltage with feedback = +/- %.3f mV\"%(VooT*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Non-inverting amplifier:\n",
+        " Closed loop voltage gain with feedback = 11\n",
+        " Input resistane with feedback = 36.3656 ohm\n",
+        " Output resistance with feedback = 0.00412 ohm\n",
+        " Bandwidth with feedback = 90.92 KHz\n",
+        " Total output offset voltage with feedback = +/- 0.715 mV\n",
+        "\n",
+        "(ii) Inverting amplifier:\n",
+        " Closed loop voltage gain with feedback = -10\n",
+        " Input resistane with feedback = 470 ohm\n",
+        " Output resistance with feedback = 0.00412 ohm\n",
+        " Bandwidth with feedback = 90.92 KHz\n",
+        " Total output offset voltage with feedback = +/- 0.715 mV\n"
+       ]
+      }
+     ],
+     "prompt_number": 68
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.8, Page No. 97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# inverting amplifier parameters\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Rf = 500*10**3            # feedback resistance\n",
+      "R1 = 5*10**3              # R1 resistance\n",
+      "Vi = 0.1                  # input voltage\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "Af = -Rf/R1\n",
+      "Ri = R1\n",
+      "Ro = 0\n",
+      "Vout = Af*Vi\n",
+      "Iin = Vi/R1\n",
+      "\n",
+      "#Result\n",
+      "print(\"Af = %d\\nRi = %d k-ohm\\nRo = %d ohm\\nVout = %d V\\nIin = %.2f mA\"%(Af,Ri/1000,Ro,Vout,Iin*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Af = -100\n",
+        "Ri = 5 k-ohm\n",
+        "Ro = 0 ohm\n",
+        "Vout = -10 V\n",
+        "Iin = 0.02 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 76
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.9, Page No.97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input ippedance, Voltage gain and power gain(refer fig. 3.15)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rf = 1*10**6           # feedback resistance\n",
+      "Rin = 1*10**6          # input resistance\n",
+      "\n",
+      "#Calculations\n",
+      "Av = -Rf/Rin\n",
+      "Ai = 1                #unity gain inverter\n",
+      "Ap = abs(Av*Ai)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i) Given amplifier is an inverting amplifier,therefore, Av = %.0f\"%Av)\n",
+      "print(\"(ii) Because it is a unity gain inverter, so Ai = %.0f\"%Ai)\n",
+      "print(\"(iii) Power gain of op-amp circuit, Ap = %.0f\"%Ap)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Given amplifier is an inverting amplifier,therefore, Av = -1\n",
+        "(ii) Because it is a unity gain inverter, so Ai = 1\n",
+        "(iii) Power gain of op-amp circuit, Ap = 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.10, Page No. 98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# inverting op-amp circuit design\n",
+      "\n",
+      "import math\n",
+      "# Variable declaartion\n",
+      "Av = -8                # voltage gain\n",
+      "Vin = -1               # input voltage\n",
+      "I1 = 15*10**-6         # maximum current through R1 and Rf\n",
+      "\n",
+      "#Calculations\n",
+      "R1 = abs(Vin)/I1\n",
+      "R1std = 68*10**3       # standard value\n",
+      "Rf = -Av*R1\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.2f K-ohm\\t\\t(we use %.0f  K-ohm as standard value)\"%(R1/1000,R1std/1000))\n",
+      "print(\"Rf = %f K-ohm\"%(Rf/1000))\n",
+      "#Answer for Rf is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 66.67 K-ohm\t\t(we use 68  K-ohm as standard value)\n",
+        "Rf = 533.333333 K-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 85
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.11, Page No. 98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 86
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_4.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_4.ipynb
new file mode 100755
index 00000000..4b56e56a
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_4.ipynb
@@ -0,0 +1,1729 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4: Basic Applications of Operational Amplifiers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.1, Page No. 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Output voltage of circuit shown in fig. 4.3\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = R2 = R3 = 1000.0        # input Resistors\n",
+      "Rf = 1000.0                  # feedback resistor\n",
+      "Vin1 = 2                      # input voltage 1\n",
+      "Vin2 = 1                      # input voltage 2\n",
+      "Vin3 = 4                      # input voltage 3\n",
+      "\n",
+      "#Calculations\n",
+      "Vout = -((Rf*Vin1/R1)+(Rf*Vin2/R2)+(Rf*Vin3/R3))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %d V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = -7 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.2, Page No. 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Adder circuit design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rf = 100.0             # feedback resistor in k-ohm\n",
+      "V1 = 1                 # multiplication factor for input 1\n",
+      "V2 = 10                # multiplication factor for input 2\n",
+      "V3 = 100               # multiplication factor for input 3\n",
+      "\n",
+      "#Calculations\n",
+      "R1 = Rf/V1\n",
+      "R2 = Rf/V2\n",
+      "R3 = Rf/V3\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %d k-ohm\\nR2 = %d  k-ohm\\nR3 = %d   k-ohm\"%(R1,R2,R3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 100 k-ohm\n",
+        "R2 = 10  k-ohm\n",
+        "R3 = 1   k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.3, Page No. 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Determine output voltage\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rf = 12.0              # feedback resistor in k-ohm\n",
+      "Rs1 = 12.0             # input resistance 1\n",
+      "Rs2 = 2.0              # input resistance 2\n",
+      "Rs3 = 3.0              # input resistance 3\n",
+      "Vi1 = 9                # corresponding input Voltage 1\n",
+      "Vi2 = -3              # corresponding input Voltage 2\n",
+      "Vi3 = -1               # corresponding input Voltage 3\n",
+      "\n",
+      "#Calculations\n",
+      "Vout = -Rf*((Vi1/Rs1)+(Vi2/Rs2)+(Vi3/Rs3))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %.0f V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = 13 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.4, Page No. 105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Summing amplifier design(refer fig. 4.4)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rf = 6                 # Assume,feedback resistor in k-ohm\n",
+      "V1 = 1                 # multiplication factor for input 1\n",
+      "V2 = 2                 # multiplication factor for input 2\n",
+      "V3 = -3                # multiplication factor for input 3\n",
+      "\n",
+      "#Calculations\n",
+      "R1 = abs(Rf/V1)\n",
+      "R2 = abs(Rf/V2)\n",
+      "R3 = abs(Rf/V3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %d k-ohm\\nR2 = %d k-ohm\\nR3 = %d k-ohm\"%(R1,R2,R3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 6 k-ohm\n",
+        "R2 = 3 k-ohm\n",
+        "R3 = 2 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.5, Page No. 105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Summing amplifier design(refer fig. 4.5)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rf = 40.0              # Assume,feedback resistor in k-ohm\n",
+      "V1 = -2.0              # multiplication factor for input 1\n",
+      "V2 = -3.0              # multiplication factor for input 2\n",
+      "V3 = -4.0              # multiplication factor for input 3\n",
+      "\n",
+      "#Calculations\n",
+      "R1 = abs(Rf/V1)\n",
+      "R2 =abs(Rf/V2)\n",
+      "R3 = abs(Rf/V3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %d k-ohm\\nR2 = %.2f k-ohm\\nR3 = %d k-ohm\"%(R1,R2,R3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 20 k-ohm\n",
+        "R2 = 13.33 k-ohm\n",
+        "R3 = 10 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.6, Page No. 105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Output Voltage(refer fig. 4.6)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V1 = 2.0                  # V1 input\n",
+      "V2 = -1.0                 # V2 input\n",
+      "R  = 1.0                  # Resistor R, assumed\n",
+      "Rf = 2.0*R                # feedback resistor\n",
+      "\n",
+      "#Calculations\n",
+      "Vin1 = (R*R/(R+R))*V1/(R+(R*R/(R+R)))\n",
+      "Vout1 = Vin1*(1+(Rf/R))\n",
+      "Vin2 = (R*R/(R+R))*V2/(R+(R*R/(R+R)))\n",
+      "Vout2 = Vin2*(1+(Rf/R))\n",
+      "Vout = Vout1+Vout2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Output voltage, Vout = %d V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Output voltage, Vout = 1 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.7, Page No. 116"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Limiting frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 10*10**3            # resistor R1\n",
+      "Cf = 0.1*10**-6          # feedback capacitor\n",
+      "\n",
+      "#Calculation\n",
+      "Rf = 10*R1\n",
+      "f = 1/(2*math.pi*Rf*Cf)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Limiting frequency = %.2f Hz\"%(math.floor(f*100)/100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Limiting frequency = 15.91 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.8, Page No. 117"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Design of practical integrator circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 10.0                    # DC gain of integrator\n",
+      "f = 10.0*10**3              # frequency of input square wav\n",
+      "#Calculations\n",
+      "fa = f/10                 # break frequency for proper integration\n",
+      "R1 = 10.0*10**3             # selected\n",
+      "Rf = A*R1\n",
+      "Cf = 1/(2*math.pi*Rf*fa)\n",
+      "Rcomp = R1*Rf/(R1+Rf)\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %d k-ohm\\nRf = %d k-ohm\\nCf = %.4f = %.1f nF\\nRcomp = %.2f k-ohm\"%(R1/1000,Rf/1000,Cf*10**9,Cf*10**9,Rcomp/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 10 k-ohm\n",
+        "Rf = 100 k-ohm\n",
+        "Cf = 1.5915 = 1.6 nF\n",
+        "Rcomp = 9.09 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.9, Page No.118"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# maximum change in output and minimum slew rate required\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vin = 5              # input voltage\n",
+      "f = 1000.0           # input frequency\n",
+      "R1 = 1000.0          # Resistor R1\n",
+      "Cf = 0.1*10**-6      # feedback capacitor\n",
+      "\n",
+      "#Calculation\n",
+      "Vout = Vin/(2*R1*f*Cf)\n",
+      "S = 2*math.pi*f*Vin\n",
+      "\n",
+      "#Result\n",
+      "print(\"Delta V = %d V.\\n\\nOutput may saturate at +/- 14V. But %d change means the output will alternate\"%(Vout,Vout))\n",
+      "print(\"between +/- %.1f V. Hence output will not saturate and will be triangular in nature.\"%(Vout/2))\n",
+      "print(\"\\nMinimum slew rate required is %f V/usec.\"%(S*10**-6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Delta V = 25 V.\n",
+        "\n",
+        "Output may saturate at +/- 14V. But 25 change means the output will alternate\n",
+        "between +/- 12.5 V. Hence output will not saturate and will be triangular in nature.\n",
+        "\n",
+        "Minimum slew rate required is 0.031416 V/usec.\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.10, Page No. 118"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Practical integrator circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 120*10**3            # Resistor R1\n",
+      "Rf = 1.2*10**6            # feedback resistor\n",
+      "Cf = 10*10**-9            # feedback capacitor\n",
+      "V = 5                     # input sine wave amplitude\n",
+      "f = 10*10**3              # input sine wave frequency\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "#(ii)\n",
+      "fa = 1/(2*math.pi*Rf*Cf)\n",
+      "fs = 10*fa\n",
+      "#(iii)\n",
+      "A = Rf/R1\n",
+      "A = 20*math.log10(A)\n",
+      "#(iv)\n",
+      "A2 = (Rf/R1)/math.sqrt(1+(f/fa)**2)\n",
+      "Vout = V*A2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i) Circuit diagram is shown in fig.4.27(a)\\n\\n(ii) fa = %.2f Hz\\t\\t Safe frequency = %.1f Hz\\n\\n(iii)DC gain = %d\"%(fa,fs,A))\n",
+      "print(\"\\n(iv) Vout(peak) = %.0f mV\\n\\n(v) Rough nature of frequency response is shown in fig. 4.27(b)\"%(Vout*10**3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Circuit diagram is shown in fig.4.27(a)\n",
+        "\n",
+        "(ii) fa = 13.26 Hz\t\t Safe frequency = 132.6 Hz\n",
+        "\n",
+        "(iii)DC gain = 20\n",
+        "\n",
+        "(iv) Vout(peak) = 66 mV\n",
+        "\n",
+        "(v) Rough nature of frequency response is shown in fig. 4.27(b)\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.11, Page No. 119"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Output voltage\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 2000.0            # frequency of input sin wave\n",
+      "V = 10*10**-3          # amplitude of sin wave\n",
+      "R = 50*10**3          # Resistor R\n",
+      "C = 2*10**-6          # feedback capacitor\n",
+      "\n",
+      "#Calculations\n",
+      "sf = -1/(R*C)\n",
+      "Vout = (math.sqrt(2)*V*sf)*1000/(2*math.pi*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout(t) = %.4f*(cos%dt-1)\"%(-Vout,2*f))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout(t) = 0.0113*(cos4000t-1)\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.12, Page No. 119"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Capacitor voltage and closed loop time constant\n",
+      "\n",
+      "import math\n",
+      "Vin = 10.0               # input voltage\n",
+      "R = 2.2*10**3            # Resistor\n",
+      "T = 10**-3               # ON time of the pulse\n",
+      "C = 10**-6               # Capacitance value\n",
+      "\n",
+      "#Calculations\n",
+      "I = Vin/R\n",
+      "V = I*T/C\n",
+      "RC = R*C*10**5\n",
+      "\n",
+      "#Result\n",
+      "print(\"I = %.3f mA\\nV = %.3f V\\nclosed-loop time constant = %.0f\"%(I*10**3,V,RC))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "I = 4.545 mA\n",
+        "V = 4.545 V\n",
+        "closed-loop time constant = 220\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.13, Page No. 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Lossyintegrator circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 20.0              # peak gain\n",
+      "w = 10000             # w value when gain is 3dB down\n",
+      "C = 0.01*10**-6       # feedback capacitance\n",
+      "\n",
+      "# Calculations\n",
+      "Rf = 1/(C*w)\n",
+      "R1 = Rf/10**(A/20.0)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Rf = %d k-ohm\\t\\tR1 = %d k-ohm\"%(Rf/1000,R1/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rf = 10 k-ohm\t\tR1 = 1 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.14, Page No. 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage in case of circuit shown in  fig. 4.30 with ideal op-amp\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vin = 5.0                    # input voltage at inverting terminal\n",
+      "V1 = 3.0                     # input voltage at non-inverting terminal\n",
+      "C = 0.2*10**-6               # feedback capacitor\n",
+      "R = 40*10**3                 # Resistor R\n",
+      "t = 50*10**-3                # time delay\n",
+      "\n",
+      "#Calculations\n",
+      "Vout = -((Vin-V1)*t/(R*C))+V1\n",
+      "\n",
+      "\n",
+      "%matplotlib inline\n",
+      "import matplotlib.pyplot as plt\n",
+      "from numpy import arange,sin,pi\n",
+      "t = arange(0.0,5.0,0.01)\n",
+      "t1 = arange(0.0,6.0,0.01)\n",
+      "t2 = arange(0.0,5,0.01)\n",
+      "t3 = arange(-9.5,0.0,0.01)\n",
+      "\n",
+      "plt.axis([0,5.5,-10.0,4.1])\n",
+      "plt.plot(t1,t1*0/t1,'b')\n",
+      "plt.plot(t,3-t*12.5/5.0,'b')\n",
+      "plt.plot(t2,-t2*9.5/t2,'--')\n",
+      "plt.plot(t3*5/t3,t3,'--')\n",
+      "plt.title(\"Output Voltage\")\n",
+      "plt.xlabel(\"Time(x 10^-2) \")\n",
+      "plt.ylabel(\"Output Voltage in Volts\")\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %.1f V\"%Vout)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = -9.5 V\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\ngwAAAABJRU5ErkJggg==\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x92ef438>"
+       ]
+      }
+     ],
+     "prompt_number": 92
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.15, Page No. 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Time when output will get saturated in fig. 4.33\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 500.0*10**3         # Resistopr R\n",
+      "C = 10.0*10**-6         # feedback capacitor\n",
+      "V = -0.5                # V(t)\n",
+      "Vo = 12.0               # Saturation Voltage   \n",
+      "#Calculations\n",
+      "Vout = -V/(R*C)\n",
+      "t = Vo/Vout\n",
+      "\n",
+      "#Result\n",
+      "print(\"Time duration required for saturation of output voltage = %d seconds\"%t)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time duration required for saturation of output voltage = 120 seconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.16, Page No.122"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# expression using op-amp\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Cf = 10.0*10**-6       # feedback capacitor, assumed value\n",
+      "V1 = 1                 # multiplication factor for input 1\n",
+      "V2 = 2                 # multiplication factor for input 2\n",
+      "V3 = 5                 # multiplication factor for input 3\n",
+      "\n",
+      "#Calculations\n",
+      "R1 = 1/(Cf*V1)\n",
+      "R2 = 1/(Cf*V2)\n",
+      "R3 = 1/(Cf*V3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %d k-ohm\\nR2 = %d  k-ohm\\nR3 = %d   k-ohm\\nCircuit will be ass show in fig. 4.35\"%(R1/1000,R2/1000,R3/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 100 k-ohm\n",
+        "R2 = 50  k-ohm\n",
+        "R3 = 20   k-ohm\n",
+        "Circuit will be ass show in fig. 4.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 51
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.17, Page No. 129"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Practical differentiator\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fmax = 150.0               # max frequency to be differentiate\n",
+      "C1 = 1*10**-6              # Capacitor C1, we choose\n",
+      "\n",
+      "#Calculations\n",
+      "fa =fmax\n",
+      "Rf = 1/(2*math.pi*fa*C1)\n",
+      "Rf = Rf/1000              # k-ohm\n",
+      "Rf = math.floor(Rf*100)/100\n",
+      "fb = 10*fa\n",
+      "R1 = 1/(2*math.pi*fb*C1)\n",
+      "R1 = math.floor(R1*10)/10\n",
+      "Cf = R1*C1/(Rf*10**3)\n",
+      "Rcomp = R1*Rf*10**3/(R1+Rf*10**3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.1f ohm\\nC1 = %d uF\\nRf = %.2f k-ohm\\nCf = %.1f uF\\nRcomp = %.2f ohm\"%(R1,C1*10**6,Rf,Cf*10**6,math.floor(Rcomp*100)/100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 106.1 ohm\n",
+        "C1 = 1 uF\n",
+        "Rf = 1.06 k-ohm\n",
+        "Cf = 0.1 uF\n",
+        "Rcomp = 96.44 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 68
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.18, Page No.130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# op-amp differentiator\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vm = 10*10**-6             # peak value of sine wave\n",
+      "fa = 2000.0                # maximum frequency\n",
+      "R = 50*10**3               # Resistor R \n",
+      "C = 2*10**-6               # Capacitor C\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Vout = -R*C*Vm*2*math.pi*fa\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %f*cos(%d*pi*t) micro-V\"%(Vout,2*fa))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = -0.012566*cos(4000*pi*t) micro-V\n"
+       ]
+      }
+     ],
+     "prompt_number": 73
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.19, Page No.130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Differentiator design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 3.0                   # input sine wave ampitude\n",
+      "f = 200.0                 # input sine wave frequency\n",
+      "fa = 1000.0               # maximum input frequency\n",
+      "\n",
+      "#Calculations\n",
+      "C = 0.1*10**-6            #Assumed value\n",
+      "R = 1/(2*math.pi*fa*C)\n",
+      "R_1 = math.floor(R/100)*100\n",
+      "fb = 20*fa\n",
+      "R_dash =  1/(2*math.pi*fb*C)\n",
+      "R_dash_1 = 82*10**3 \n",
+      "C_dash = R_1*C/R_dash_1\n",
+      "Vout = -R_1*C*(V/2)*2*math.pi*f\n",
+      "\n",
+      "#Result\n",
+      "print(\"R    = %.2f k-ohm = %.1f k-ohm(say)\\nRom  = %.1f k-ohm\\nVout = %.4fcos(%d*pi*t)\"%(R/1000,R_1/1000,R_1/1000,Vout,f*2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R    = 1.59 k-ohm = 1.5 k-ohm(say)\n",
+        "Rom  = 1.5 k-ohm\n",
+        "Vout = -0.2827cos(400*pi*t)\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.20, Page No.142"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Instrumentation Amplifier (refer fig 4.64)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 200.0                 # Resistor R1\n",
+      "R2 = 100.0                 # Resistor R2\n",
+      "Rf = 100.0*10**3           # Feedback Resistor Rf\n",
+      "Rg_min = 100.0             # 100 ohm + 0 ohm\n",
+      "Rg_max = 100.0*10**3+100   # 100 ohm + 100 k-ohm\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "Gain1 = (1+(2*Rf/Rg_min))*(R2/R1)\n",
+      "Gain2 = (1+(2*Rf/Rg_max))*(R2/R1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"For all practical purposes, the gain can be varied from %.1f to %.1f\"%(Gain2, Gain1))\n",
+      "#Answer for max gain is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For all practical purposes, the gain can be varied from 1.5 to 1000.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.21, Page No. 142"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Instrumentation Amplifier (refer fig 4.65)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 100.0*10**3                  # Resistor R1\n",
+      "R2 = 100.0*10**3                  # Resistor R2\n",
+      "Rf = 470.0*10**3                  # Feedback Resistor Rf\n",
+      "Gain = 100.0                      # Gain \n",
+      "\n",
+      "#Calculations\n",
+      "Rg = 2*Rf/((Gain*(R1/R2))-1)\n",
+      "\n",
+      "#Result\n",
+      "print(\" Rg = %.2f k-ohm\"%(Rg/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Rg = 9.49 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.22, Page No. 144"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Transducer Resistance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 100.0              # reference resistance of the transducer\n",
+      "alfa = 0.00392         # Alfa value\n",
+      "T1 = 25                # Temperature Value 1\n",
+      "T2 = 100               # Temperature Value 2\n",
+      "\n",
+      "#Calculations\n",
+      "R_25  = R*(1+alfa*T1)\n",
+      "R_100 = R*(1+alfa*T2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"It can be seen that Delta_R is %.1f ohm for a change at %d\u00b0C\"%(R_25-R,T1))\n",
+      "print(\"while Delta_R is %.1f ohm for a change of %d\u00b0C.\"%(R_100-R,T2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "It can be seen that Delta_R is 9.8 ohm for a change at 25\u00b0C\n",
+        "while Delta_R is 39.2 ohm for a change of 100\u00b0C.\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.23, Page No."
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# instrumentation amplifier design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "P_min = 0                 # minimum value of potentiometer\n",
+      "P_max = 50*10**3          # maximum value of potentiometer\n",
+      "G_min = 5.0               # minimum gain \n",
+      "G_max = 200.0             # maximum gain\n",
+      "\n",
+      "#Calculations\n",
+      "R3 = 1000.0               # assumed value\n",
+      "R4 = 1000.0               # resistor in series with potentiometer\n",
+      "x1 = (R4+P_min)/R3                \n",
+      "x2 = (R4+P_max)/R3                \n",
+      "y  = ((G_min/x1)-1)/2     # R1/R2\n",
+      "R2 =10*10**3              # assumed value\n",
+      "R1 = R2*y\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.0f k-ohm\\nR2 = %.0f k-ohm\\nR3 = %.0f  k-ohm\\nR4 = %.0f  k-ohm\\n\"%(R1/1000,R2/1000,R3/1000,R4/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 20 k-ohm\n",
+        "R2 = 10 k-ohm\n",
+        "R3 = 1  k-ohm\n",
+        "R4 = 1  k-ohm\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.24, Page No. 147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.25, Page No. 147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Gain of instrumentation Amplifier(refer fig. 4.73)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rf = 5.0                # Resistor Rf in k-ohm\n",
+      "Rg = 1.0                # Resistor Rg in k-ohm\n",
+      "R1 = 10.0               # Resistor R1 in k-ohm\n",
+      "R2 = 20.0               # Resistor R2 in k-ohm\n",
+      "\n",
+      "#Calculations\n",
+      "A = (1+(2*Rf/Rg))*(R2/R1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"A = %d\"%A)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A = 22\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.26, Page No. 147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage of the circuit (refer fig. 4.74)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R_A1  = 1000.0                # terminal resistor for op-amp A1\n",
+      "Rf_A1 = 5000.0                # feedback resistor for op-amp A1\n",
+      "R_A2  = 1000.0                # terminal resistor for op-amp A2\n",
+      "Rf_A2 = 2000.0                # feedback resistor for op-amp A2\n",
+      "Rcom_A2= 2000.0               # Rcom resistor for op-amp A2\n",
+      "V1 = 1.0                      # input at terminal 1 of A1 in mV\n",
+      "V2 = 5.0                      # 5*sin(wt)-->input at terminal 2 of A1 in mV\n",
+      "V3 = 5.0                      # input at terminal 2 of A2\n",
+      "\n",
+      "#Calculations\n",
+      "Vin_1 = V1*(-Rf_A1/R_A1)\n",
+      "Vin_2 = V2*(-Rf_A1/R_A1)\n",
+      "Vout = Vin_1*(-Rf_A2/R_A2)+(1+Rf_A2/R_A2)*(Rcom_A2/(R_A2+Rcom_A2))*V3\n",
+      "Vout2 = Vin_2*(-Rf_A2/R_A2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %d + %d*sin(wt) mV\"%(Vout,Vout2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = 20 + 50*sin(wt) mV\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.27, Page No. 148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage of the circuit (refer fig. 4.75)\n",
+      "\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rf = 10.0                # Resistor Rf in k-ohm\n",
+      "Rg = 5.0                 # Resistor Rg in k-ohm\n",
+      "R1 = 1.0                 # Resistor R1 in k-ohm\n",
+      "R2 = 2.0                 # Resistor R2 in k-ohm\n",
+      "Vin2 = 2.0               # input at non-inverting terminal of A2 in mV\n",
+      "Vin1 = 1.0               # input at non-inverting terminal of A1 in mV\n",
+      "\n",
+      "#Calculations\n",
+      "A = (1+(2*Rf/Rg))*(R2/R1)\n",
+      "Vout = A*(Vin2 - Vin1)\n",
+      "#Result\n",
+      "print(\"Vout = %d mV\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = 10 mV\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.28, Page No.148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Determining the value of Rg\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rf = 15.0                # Resistor Rf in k-ohm\n",
+      "R1 = 1.0                 # Resistor R1 in k-ohm\n",
+      "R2 = 2.0                 # Resistor R2 in k-ohm\n",
+      "Vin2 = 5.0*10**-3         # input at non-inverting terminal of A2 \n",
+      "Vin1 = 2.0*10**-3         # input at non-inverting terminal of A1 \n",
+      "Vout = 3                 # output voltage\n",
+      "\n",
+      "#Calculations\n",
+      "A = Vout/(Vin2-Vin1)\n",
+      "Rg = 2*Rf/((A*R1/R2)-1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Rg = %.2f ohm\"%(Rg*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rg = 60.12 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.29, Page No.149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.30, Page No.150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.31, Page No. 151"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3 op-amp instrumentation amplifier design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "g = 1.0                   # minimum gain required\n",
+      "G = 10000.0               # Maximum gain required\n",
+      "pot = 100.0               # potentiometer max value\n",
+      "#Calculations\n",
+      "A2 = 1.0/5.0             # Assumed gain of second stage\n",
+      "R1 = 100.0               # Resistor R1\n",
+      "R2 = R1*A2\n",
+      "x = ((G/A2)-1)/2         # Rf/Rgb\n",
+      "y = ((1/A2)-1)/2\n",
+      "Rgb = y*pot/(x-y)\n",
+      "Rf = x*Rgb\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1  = %d k-ohm\\nR2  = %d  k-ohm\\nRgb = %d     ohm\\nRf  = %d k-ohm\\n\"%(R1,R2,Rgb*1000,Rf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1  = 100 k-ohm\n",
+        "R2  = 20  k-ohm\n",
+        "Rgb = 8     ohm\n",
+        "Rf  = 200 k-ohm\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.32, Page No.168"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Value of the current flowing through the Resistor R(Refer fig. 4.106)\n",
+      "import math\n",
+      "#Variable declartion\n",
+      "R2 = 1000.0                # Resistor in series with R\n",
+      "Va = Vb = 5.0              # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "I = Vb/R2\n",
+      "\n",
+      "#Result\n",
+      "print(\"I = %d mA\"%(I*10**3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "I = 5 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 43
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.33, Page No. 169"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Plot output waveform (refer fig 4.109)\n",
+      "##########-------PLOT--------#############\n",
+      "\n",
+      "\n",
+      "%matplotlib inline\n",
+      "import matplotlib.pyplot as plt\n",
+      "from numpy import arange,sin,pi\n",
+      "t = arange(0.0,1.0,0.01)\n",
+      "t1 = arange(0.0,3.0,0.01)\n",
+      "t2 = arange(0.0,1.0,0.01)\n",
+      "t3 = arange(-0.5,0.0,0.01)\n",
+      "t4 = arange(-1.0,0.0,0.01)\n",
+      "t5 = arange(0.0,0.5,0.01)\n",
+      "t6 = arange(1.0,2.0,0.01)\n",
+      "\n",
+      "plt.axis([0,2.0,-1.5,0.9])\n",
+      "plt.plot(t1,t1*0/t1,'b')\n",
+      "plt.plot(t,-t*1,'b')\n",
+      "plt.plot(t2,-t2*1/t2,'--')\n",
+      "plt.plot(t5,-t5*0.5/t5,'--')\n",
+      "plt.plot(t3*0.5/t3,t3,'--')\n",
+      "plt.plot(t4*1.0/t4,t4,'--')\n",
+      "plt.plot(t6,-t6*1/t6,'b')\n",
+      "plt.title(\"Output Voltage\")\n",
+      "plt.xlabel(\"Time(ms)\")\n",
+      "plt.ylabel(\"Vo(t)\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "metadata": {},
+       "output_type": "pyout",
+       "prompt_number": 65,
+       "text": [
+        "<matplotlib.text.Text at 0xb45df28>"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAEZCAYAAABrUHmEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1clfX9x/H3hfBzooS3cS8sEUElwAfTeiwUp4i3pGvl\nTW1401aZ1bZfpa01cbPSlY9Vs5y6th5p3szKoFSylceWyVhJN79soU0UQZg34V03Al2/P06cQEAv\n5MB1zuH1fDzOQ88533Px4XjJm+t8r8/3MkzTNAUAgAV+dhcAAPAehAYAwDJCAwBgGaEBALCM0AAA\nWEZoAAAsIzQADzZz5kw98MADdpcBuBAa8DrPPPOMEhMT1bVrV4WFhWnu3Lk6efKk5dfHxMTojTfe\ncFs9F9peWVmZAgIC9J///KfRc1OmTNE999xzwW0bhiHDMCRJDodDUVFRrS8YaAVCA15l2bJlWrBg\ngZYtW6ZTp06poKBABw8eVEZGhqqrqy1twzAMubOn9ULbi4iI0KhRo7RmzZoGj584cULbtm3TzJkz\nL7p9+m/hUUzAS5w8edLs1q2buWnTpgaPnzlzxuzTp4/5l7/8xTRN08zOzjZ//etfu57fsWOHGRkZ\naZqmad50002mn5+f2aVLF7Nbt27mI488Yh44cMA0DMNctWqVGR4eboaFhZmPPvqo6/Ut3d751q1b\nZ/br16/BY08++aQ5ZMgQ0zRNc+/eveaIESPM7t27m4MGDTLz8vJc42bOnGk+8MAD5tmzZ83vfOc7\npp+fn9mtWzczKCjIPHLkiPnPf/7TvOqqq8zu3bubYWFh5rx588xz5865Xv/qq6+acXFxZnBwsDl3\n7lxz+PDh5p///GfX808//bSZkJBg9ujRw8zMzDQPHjxo8V8DHRVHGvAab7/9tr788kv98Ic/bPB4\n165dNX78eL322muSGn6kc741a9aob9++euWVV3T69GndfffdruccDof279+v7du3a+nSpXr99ddb\ntb06kydP1rFjx7Rr164Gr8vOzlZ1dbUmTZqksWPH6ujRo/rjH/+oG2+8UcXFxa6xpmkqMDBQ+fn5\nCg8P1+nTp3Xq1CmFhobK399fjz/+uI4fP67du3fr9ddf11NPPSVJOnbsmK6//notXbpUJ06c0IAB\nA7R7927X95Kbm6uHH35Ymzdv1rFjx5SWlqbp06df9N8BHRuhAa9x7Ngx9e7dW35+jXfb0NBQHT9+\n3HXfvISPdBYuXKguXbpo8ODBmjVrltavX9+q7dXp0qWLrr/+ej377LOSpH379mnPnj2aMWOGCgoK\ndPbsWS1YsED+/v4aOXKkJk6c2OBrX6iGIUOGaOjQofLz81N0dLR+9rOfaefOnZKkrVu3avDgwZo8\nebL8/Px05513KjQ01PXaP/3pT7rvvvs0YMAA+fn56b777tN7772n0tLSS/5e4fsIDXiN3r1769ix\nY/r6668bPXfkyBH17t27VduvP8nct29flZeXt2p79WVnZ2vTpk366quvtGbNGo0dO1a9e/dWeXl5\no8nt6Ohoy1+7uLhYEydOVFhYmIKDg3X//fe7wrO8vFyRkZENxte/f/DgQd11113q0aOHevTooV69\neklyTt4DzSE04DWuvvpqde7cWS+88EKDx8+cOaP8/HyNGjVKkvPjqs8//9z1fEVFRYPxzX3UdOjQ\noQZ/j4iIaNX26vv+97+vnj17Kjc3V88995yys7MlSeHh4SotLW1wFHHw4EHX166//aa+zm233aaB\nAwdq//79OnnypB588EFXqIaHh+vw4cOusaZpNrjft29frVq1Sp999pnrdvbsWV111VUX/X7QcREa\n8BrBwcFauHCh7rjjDr366quqrq5WSUmJbrjhBkVFRenHP/6xJCk5OVlbt27VZ599poqKCj322GMN\nthMSEqJPP/200fYXL16sL774Qh999JGeeeYZTZ06tVXbq88wDP3kJz/Rvffeq5MnT2rSpEmSpKuu\nukqBgYH6/e9/r+rqajkcDr3yyiuaNm2aJOcP+rpACQkJ0fHjx3Xq1CnXds+cOaOgoCAFBgbq3//+\nt1asWOF6bvz48frwww+Vm5urmpoaPfnkkw0C79Zbb9VDDz2kvXv3SpJOnjypTZs2XfD7ADh7Cl7n\n6aefNgcPHmx26dLFDAkJMW+99VazqqrK9fyXX35pTp061bzsssvMpKQk8w9/+IMZFRXlej43N9fs\n27ev2b17d3PZsmWus6dWr15thoeHm6GhoQ3Ogmrp9ppz4MAB08/Pz5w7d26Dxz/66CNzxIgRZnBw\nsDlo0CDzpZdecj1Xd/ZUndmzZ5u9evUye/ToYR45csR88803zfj4eLNbt25mWlqa+Zvf/MZMS0tz\njc/Pz29w9tTVV19trl271vX8mjVrzMTERPOyyy4zo6KizDlz5lj9Z0AHZZgmJ4GjYyspKdEVV1yh\n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\nS2hs2rRJgwYNUqdOnbRnz55mx8XExOjKK69USkqKhg4d2o4VAgCaYktoJCYmavPmzRo+fPgFxxmG\nIYfDoaKiIhUWFrZTdR2bw+GwuwSfwvvpXryf9rMlNOLj4xUXF2dprGmabVwN6uM/pXvxfroX76f9\nPHpOwzAMjR49WqmpqVq9erXd5QBAh+ffVhvOyMhQRUVFo8cfeughTZo0ydI2du3apbCwMB09elQZ\nGRmKj49XWlqau0sFAFhl2ig9Pd189913LY3NyckxH3300Saf69evnymJGzdu3Li14NavX78W/9xu\nsyMNq8xm5iw+//xz1dbWKigoSGfPntX27du1cOHCJsfu37+/LUsEAHzDljmNzZs3KyoqSgUFBZow\nYYLGjRsnSSovL9eECRMkSRUVFUpLS1NycrKGDRumiRMnasyYMXaUCwD4hmE296s+AADn8eizp+rL\nz89XfHy8+vfvr6VLlzY55s4771T//v2VlJSkoqKidq7Qu1zs/XQ4HAoODlZKSopSUlK0ePFiG6r0\nDrNnz1ZISIgSExObHcO+ad3F3k/2TetKS0s1cuRIDRo0SIMHD9YTTzzR5LgW7Z8tngWxQU1Njdmv\nXz/zwIED5rlz58ykpCRz7969DcZs2bLFHDdunGmapllQUGAOGzbMjlK9gpX3c8eOHeakSZNsqtC7\nvPnmm+aePXvMwYMHN/k8+2bLXOz9ZN+07siRI2ZRUZFpmqZ5+vRpMy4urtU/O73iSKOwsFCxsbGK\niYlRQECApk2bptzc3AZj8vLylJ2dLUkaNmyYqqqqVFlZaUe5Hs/K+yk1f5ICGkpLS1OPHj2afZ59\ns2Uu9n5K7JtWhYaGKjk5WZLUrVs3JSQkqLy8vMGYlu6fXhEaZWVlioqKct2PjIxUWVnZRcccPny4\n3Wr0JlbeT8Mw9PbbbyspKUnjx4/X3r1727tMn8G+6V7sm5empKRERUVFGjZsWIPHW7p/2n7KrRWG\nYVgad/5vH1Zf19FYeV+GDBmi0tJSBQYGatu2bZo8ebKKi4vboTrfxL7pPuybLXfmzBn96Ec/0uOP\nP65u3bo1er4l+6dXHGlERESotLTUdb+0tFSRkZEXHHP48GFFRES0W43exMr7GRQUpMDAQEnSuHHj\nVF1drRMnTrRrnb6CfdO92Ddbprq6Wtddd51uuukmTZ48udHzLd0/vSI0UlNTtW/fPpWUlOjcuXPa\nuHGjsrKyGozJysrSs88+K0kqKChQ9+7dFRISYke5Hs/K+1lZWen67aOwsFCmaapnz552lOv12Dfd\ni33TOtM0NWfOHA0cOFA///nPmxzT0v3TKz6e8vf31/Lly5WZmana2lrNmTNHCQkJWrlypSTplltu\n0fjx47V161bFxsaqa9eu+utf/2pz1Z7Lyvv5/PPPa8WKFfL391dgYKA2bNhgc9Wea/r06dq5c6eO\nHTumqKgoLVq0SNXV1ZLYNy/Fxd5P9k3rdu3apbVr17quSyQ51/87dOiQpEvbP2nuAwBY5hUfTwEA\nPAOhAQCwjNAAAFhGaAAALCM0AACWERoAAMsIDXR4x48fdy2zHRYWpsjISKWkpCgoKEjz5s1z29e5\n++675XA4Wr2dUaNG6fTp060vCLgE9GkA9SxatEhBQUH65S9/6dbtnj59WqNGjVJhYWGrt7V69Wqd\nPn3a7TUCVnCkAZyn7vcoh8OhSZMmSZJycnKUnZ2t4cOHKyYmRi+++KLuvvtuXXnllRo3bpxqamok\nSe+++67S09OVmpqqsWPHqqKiQpKUm5ur0aNHu75GTEyMfvWrXyklJUWpqanas2ePxowZo9jYWFdn\n/pEjRzR8+HClpKQoMTFRb731liTnsg90QcMuhAZg0YEDB7Rjxw7l5eXppptuUkZGhj744AN16dJF\nW7ZsUXV1te644w698MILeueddzRr1izdf//9kqS33npLqamprm0ZhqHo6GgVFRVp+PDhmjlzpjZv\n3qyCggItXLhQkrRu3TqNHTtWRUVF+uCDD1zXRQgJCdGxY8d09uzZ9n8T0OF5xdpTgN0Mw9C4cePU\nqVMnDR48WF9//bUyMzMlSYmJiSopKVFxcbE++ugj1xFFbW2twsPDJUmHDh1SWFhYg23WLRKZmJio\ns2fPqmvXruratas6d+6sU6dOaejQoZo9e7aqq6s1efJkJSUluV4bEhKi0tJSxcfHt8e3D7hwpAFY\n9D//8z+SJD8/PwUEBLge9/PzU01NjUzT1KBBg1RUVOQ6OsjPz3eN+/rrrxtsr3Pnzq7X1227/vbS\n0tL0j3/8QxEREZo5c6bWrFnjGmOaJtfkgC0IDcACK+eLDBgwQEePHlVBQYEk53UM6q4qFx0d7Zrf\nsLrtQ4cOqU+fPrr55pt18803a8+ePa7nKisrG10DBWgPhAZwnrrf4A3DaPLv9cfUvx8QEKDnn39e\n8+fPV3JyslJSUrR7925J0jXXXKN33nmnydc3t22Hw6Hk5GQNGTJEf/vb31zXQ6ioqFCvXr3UtWtX\nd37bgCU2WanbAAAAbElEQVSccgu0gzNnzmjkyJH617/+1eptrVq1SmfPntUvfvELN1QGtAxHGkA7\n6Natm0aOHKkdO3a0elsbN27UT3/6UzdUBbQcRxoAAMs40gAAWEZoAAAsIzQAAJYRGgAAywgNAIBl\nhAYAwLL/B1H2SzVu3JHjAAAAAElFTkSuQmCC\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0xa538080>"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.34, Page No. 170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 66
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.35, Page No. 170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output of circuit in fig. 4.111\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 1.0              # Resistance to inverting terminal\n",
+      "R2 = 2.0              # Resistance to non-inverting terminal\n",
+      "Rf = 10.0             # Feedback resistance\n",
+      "Rcom = 1.0            # Resistance Rcom\n",
+      "V1 = 2.0              # input voltage at inverting terminal \n",
+      "V2 = 5.0              # input voltage at non-inverting terminal \n",
+      "\n",
+      "#Calculations\n",
+      "Vo1 = -Rf*V1/R1\n",
+      "Vb = V2*Rcom/(R2+Rcom)\n",
+      "Vo2 = (1+(Rf/R1))*Vb\n",
+      "Vout = Vo1+Vo2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %.3f V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = -1.667 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 67
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.36, Page No. 170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Output voltage of circuit shown in fig. 4.114\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rf = 10.0                     # Resistor Rf in k-ohm\n",
+      "R1 = 5.0                      # Resistor R1 in k-ohm\n",
+      "R2 = 4.0                      # Resistor R2 in k-ohm\n",
+      "R3 = 2.0                      # Resistor R3 in k-ohm\n",
+      "V1 = 5.0                      # input 1\n",
+      "V2 = 2.0                      # input 2\n",
+      "V3 = 3.0                      # input 3\n",
+      "\n",
+      "#Calculations\n",
+      "Vout = -((Rf*V1/R1)+(Rf*V2/R2)+(Rf*V3/R3))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %d V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = -30 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 69
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.37, Page No. 171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output Voltage of circuit in fig. 4.116\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 2.0              # Resistance to inverting terminal\n",
+      "R2 = 1.0              # Resistance to non-inverting terminal\n",
+      "Rf = 4.0              # Feedback resistance\n",
+      "Rcom = 1.0            # Resistance Rcom\n",
+      "V1 = 2.0              # input voltage at non-inverting terminal \n",
+      "V2 = 4.0              # input voltage at non-inverting terminal \n",
+      "\n",
+      "#Calculations\n",
+      "Vb1 = V2*R2/(R2+Rcom)\n",
+      "Vo1 = (1+(Rf/R1))*Vb1\n",
+      "Vb2 = V1*R2/(R2+Rcom)\n",
+      "Vo2 = (1+(Rf/R1))*Vb2\n",
+      "Vout = Vo1+Vo2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %d V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 9 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 72
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.39, Page No. 171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output of differential amplifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V1 = 1.0*10**-3          # input voltage 1 \n",
+      "V2 = 2.0*10**-3          # input voltage 2 \n",
+      "Ad = 5000.0              # differential gain\n",
+      "CMRR = 1000.0            # Common Mode Rejection Ratio\n",
+      "\n",
+      "#Calculations\n",
+      "Ac = Ad/CMRR\n",
+      "Vd = (V1-V2)\n",
+      "Vc = (V1+V2)/2\n",
+      "Vout = Ac*Vc+Ad*Vd\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %.4f V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = -4.9925 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 77
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.40, Page No. 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output Voltage of circuit in fig. 4.116\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 40.0              # Resistance to inverting terminal\n",
+      "R2 = 25.0              # Resistance to inverting terminal\n",
+      "Rf = 50.0              # Feedback resistance\n",
+      "R3 = 10.0              # Resistance to non-inverting terminal\n",
+      "R4 = 20.0              # Resistance to non-inverting terminal\n",
+      "Rcom = 30.0             # Resistance Rcom\n",
+      "V1 = 1.0              # input voltage at inverting terminal \n",
+      "V2 = 2.0              # input voltage at inverting terminal \n",
+      "V3 = 3.0              # input voltage at non-inverting terminal \n",
+      "V4 = 4.0              # input voltage at non-inverting terminal \n",
+      "\n",
+      "#Calculations\n",
+      "# (i)\n",
+      "Vo1 = -(Rf/R1)*V1\n",
+      "# (ii)\n",
+      "Vo2 = -(Rf/R2)*V2\n",
+      "# (iii)\n",
+      "R1 = R1*R2/(R1+R2)\n",
+      "Vb3 = V3*(Rcom*R4/(Rcom+R4))/(R3+(Rcom*R4/(Rcom+R4)))\n",
+      "Vo3 = (1+(Rf/R1))*Vb3\n",
+      "Vo3 = math.floor(Vo3*10**4)/10**4\n",
+      "# (iv)\n",
+      "Vb4 = V4*(Rcom*R3/(Rcom+R3))/(R4+(Rcom*R3/(Rcom+R3)))\n",
+      "Vo4 = (1+(Rf/R1))*Vb4\n",
+      "Vo4 = math.floor(Vo4*10**4)/10**4\n",
+      "\n",
+      "Vout = Vo1+Vo2+Vo3+Vo4\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %.4f V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 6.3408 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 90
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_5.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_5.ipynb
new file mode 100755
index 00000000..72b0a450
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_5.ipynb
@@ -0,0 +1,1070 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5 : Waveform Generator"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.1, Page No.186"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Astable multivibrator using IC555\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "C = 0.01*10**-6              # capacitance\n",
+      "RA = 2*10**3                 # Resistance RA\n",
+      "RB = 100*10**3               # Resistance RB\n",
+      "\n",
+      "#Calculations\n",
+      "T_high = 0.693*(RA+RB)*C\n",
+      "T_low = 0.693*RB*C\n",
+      "T= T_high+T_low\n",
+      "f = 1/T\n",
+      "D = T_high*100/T\n",
+      "\n",
+      "#Result\n",
+      "print(\"Frequency of oscillations, f = %.1f Hz\\nDuty cycle = %.1f%%\"%(f,D))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Frequency of oscillations, f = 714.4 Hz\n",
+        "Duty cycle = 50.5%\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.2, Page No.186"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Astable multivibrator using IC555\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "C = 1.0*10**-6               # capacitance \n",
+      "C1 = 0.01*10**-6             # capacitance C1\n",
+      "RA = 4.7*10**3               # Resistance RA\n",
+      "RB = 1.0*10**3               # Resistance RB\n",
+      "\n",
+      "#Calculations\n",
+      "Ton = 0.693*(RA+RB)*C\n",
+      "Toff = 0.693*RB*C\n",
+      "T= T_high+T_low\n",
+      "f = 1.4/((RA+2*RB)*C)\n",
+      "D = (RA+RB)*100/((RA+2*RB))\n",
+      "\n",
+      "#Result\n",
+      "print(\"T_on = %.2f ms\\nT_off = %.3f ms\"%(Ton*1000,Toff*1000))\n",
+      "print(\"Frequency of oscillations, f = %.1f Hz\\nDuty cycle = %.0f%%\"%(math.floor(f*10)/10,D))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "T_on = 3.95 ms\n",
+        "T_off = 0.693 ms\n",
+        "Frequency of oscillations, f = 208.9 Hz\n",
+        "Duty cycle = 85%\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.3, Page No. 187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Astable multivibrator using IC555\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 1000.0               # frequency\n",
+      "d = 50.0/100.0           # duty cycle\n",
+      "C = 0.01*10**-6          # capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "T = 1/f\n",
+      "Ton = d*T\n",
+      "Toff = d*T\n",
+      "RA = 1.44/(2*f*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"RA = RB = %.0f k-ohm\"%(RA/1000))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RA = RB = 72 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.4, Page No. 187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# IC555 timer as an astable multivibrator\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "f = 700.0                 # frequency\n",
+      "d = 0.5                   # duty cycle\n",
+      "C = 0.01*10**-6           # capacitor value assumed\n",
+      "\n",
+      "#Calculations\n",
+      "Ra = 1.44/(2*f*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C  = %.2f micro-F\\nRA = RB = %.0f k-ohm (100 k-ohm standard value)\"%(C*10**6,Ra/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C  = 0.01 micro-F\n",
+        "RA = RB = 103 k-ohm (100 k-ohm standard value)\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.5, Page No. 188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# IC555 timer as an astable multivibrator\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "f = 800.0                 # frequency\n",
+      "d = 0.6                   # duty cycle\n",
+      "C = 0.01*10**-6           # capacitor value assumed\n",
+      "\n",
+      "#Calculations\n",
+      "Ra = 1.44/(5*f*C)  # since Rb = 2Ra and f = 1.44/(Ra+2Rb)*C\n",
+      "Rb = 2*Ra\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"C  = %.2f micro-F\\nRA = %.0f k-ohm\\nRB = %.0f k-ohm\"%(C*10**6,Ra/1000,Rb/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C  = 0.01 micro-F\n",
+        "RA = 36 k-ohm\n",
+        "RB = 72 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.6, Page No. 189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Timer design(refer fig. 5.11)\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Ton = 5.0         # On timing oof the timer\n",
+      "\n",
+      "# Calculations\n",
+      "C = 10*10**-6     # assumed value\n",
+      "R = Ton/(1.1*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.0f micro-F\\nR = %.2f ohm\"%(C*10**6,R))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 10 micro-F\n",
+        "R = 454545.45 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.7, Page No. 189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Design of astable multivibrator(refer fig. 5.12)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ton  = 3.0             # ON time\n",
+      "Toff = 1.0             # OFF time\n",
+      "\n",
+      "#Calculations\n",
+      "C = 10*10**-6          # Capacitor assumed value\n",
+      "R2 = Toff/(0.693*C)\n",
+      "R1 = (Ton/(0.693*C))-R2\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.0f micro-F\\nR1 = %.0f ohm\\nR2 = %.0f ohm\"%(C*10**6,R1,R2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 10 micro-F\n",
+        "R1 = 288600 ohm\n",
+        "R2 = 144300 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.8, Page No.190"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Monostable and astable mode of IC555\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ton = 10*10**-3               # ON timing\n",
+      "C = 0.22*10**-6               # Capacitance\n",
+      "V = 1.4                       # LED voltage drop\n",
+      "I = 20*10**-3                 # current provided by circuit\n",
+      "f = 1000.0                    # frequency of astable multivibrator\n",
+      "d = 0.95                      # duty cycle of astable multivibrator\n",
+      "\n",
+      "\n",
+      "#calculations\n",
+      "R = Ton/(1.1*C)\n",
+      "R = math.ceil(R/100)/10\n",
+      "Vcc = 15.0                    # standard, assumed\n",
+      "Vbe = 0.7                     # standard, assumed\n",
+      "VECsat = 0.2                  # standard, assumed\n",
+      "Vo = Vcc -2*Vbe-VECsat\n",
+      "Rled = (Vo-V)/I\n",
+      "\n",
+      "C1 = 0.01*10**-6              # capacitor for noise immunity\n",
+      "x = 1.44/(f*C1)               # x = R1+2*R2.......(i)\n",
+      "y = (1-d)/(d*2-1)             # y = R2/R1.........(ii)\n",
+      "y = math.floor(y*10**4)/10**4\n",
+      "R1 = x/(1+2*y)                # using (i) and (ii)\n",
+      "R2 = y*R1\n",
+      "\n",
+      "#Result\n",
+      "print(\"For LED driving circuit:\\nCapacitance = %.2f micro-F\\nResistancce = %.1f ohm\\nVo = %.1f V\\nRled = %.0f ohm\"%(C*10**6,R,Vo,Rled))\n",
+      "print(\"\\nFor astable multivibrator:\\nC = %.2f micro-F\\nR1 = %.1f ohm\\nR2 = %.2f ohm\"%(C1*10**6,R1/1000,R2/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For LED driving circuit:\n",
+        "Capacitance = 0.22 micro-F\n",
+        "Resistancce = 41.4 ohm\n",
+        "Vo = 13.4 V\n",
+        "Rled = 600 ohm\n",
+        "\n",
+        "For astable multivibrator:\n",
+        "C = 0.01 micro-F\n",
+        "R1 = 129.6 ohm\n",
+        "R2 = 7.19 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.9, Page No. 191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# IC555 as a monostable multivibrator(refer fig. 5.15)\n",
+      "\n",
+      "import math\n",
+      "#VAriable declaration\n",
+      "T = 5*10**-3                # output pulse width\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "C = 0.1*10**-6              # capacitance\n",
+      "R = T/(1.1*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.2f k-ohm\\nThe value of R should be less than 100 k-ohm, as obtained.\"%(R/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 45.45 k-ohm\n",
+        "The value of R should be less than 100 k-ohm, as obtained.\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.10, Page No. 191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# IC555 based square wave generator\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 1000.0                 # required frequency\n",
+      "Vcc = 12.0                 # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "T = 1/f\n",
+      "Td = T/2\n",
+      "C  = 0.1*10**-6           # assumed\n",
+      "R2 = Td/(0.69*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R2 = %.2f k-ohm\\nR1 = 100 ohm + 10 k-ohm pot(With pot, precise squre wave can be obtained)\"%(R2/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R2 = 7.25 k-ohm\n",
+        "R1 = 100 ohm + 10 k-ohm pot(With pot, precise squre wave can be obtained)\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.11, Page No. 192"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Clock with 50% duty cycle\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "f = 2000.0              # required output frequency \n",
+      "\n",
+      "#Calculations\n",
+      "T = 1/f\n",
+      "Td = T/2\n",
+      "C = 0.1*10**-6                 # assumed\n",
+      "R2 = Td/(0.69*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = R2 = %.3f k-ohm\"%(R2/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = R2 = 3.623 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.12, Page No.193"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Rectangular waveform using astable multivibrator\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "T = 1.0*10**-3         # Total time period of output waveform\n",
+      "Ton = 0.6 *10**-3      # Ton time\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "D = Ton/T\n",
+      "x = (1-D)/(2*D-1)      # Rb/Ra\n",
+      "f = 1/T\n",
+      "C = 0.1*10**-6         # assumed\n",
+      "Ra = (1.44/(f*C))/5\n",
+      "Rb = x*Ra\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f micro-F\\nRa = %.2f k-ohm\\nRb = %.2f k-ohm\"%(C*10**6,Ra/1000,Rb/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 0.10 micro-F\n",
+        "Ra = 2.88 k-ohm\n",
+        "Rb = 5.76 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.13, Page No.195"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 555 timer in astable mode\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Ra = 4.0*10**3              # Resistance Ra\n",
+      "Rb = 4.0*10**3              # Resistance Rb\n",
+      "C = 0.01*10**-6           # Capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "f = 1.44/((Ra+2*Rb)*C)\n",
+      "D = (Ra+Rb)/(Ra+2*Rb)\n",
+      "\n",
+      "#Result\n",
+      "print(\"frequency  = %.0f KHz\\nDuty cycle = %.2f%%\"%(f/1000,D*100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "frequency  = 12 KHz\n",
+        "Duty cycle = 66.67%\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.14, Page No. 195"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Timer design\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Ton = 5                 # ON time width\n",
+      "\n",
+      "# Calculations\n",
+      "C = 10*10**-6           # assumed\n",
+      "R = Ton/(1.1*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.2f k-ohm\"%(R/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 454.55 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.15, Page No.196"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Astable multivibrator\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 2000.0               # output frequency\n",
+      "D = 0.75                 # duty cycle\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "x = (1-D)/(2*D-1)        # Rb/Ra\n",
+      "C = 0.1 *10**-6          # assumed\n",
+      "Ra = (1.44/f)/(C*2)\n",
+      "Rb = x*Ra\n",
+      "\n",
+      "#Result\n",
+      "print(\"C  = %.1f micro-F\\nRa = %.1f k-ohm\\nRb = %.1f k-ohm\"%(C*10**6,Ra/1000,Rb/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C  = 0.1 micro-F\n",
+        "Ra = 3.6 k-ohm\n",
+        "Rb = 1.8 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.16, Page No.197"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 555 as astable mode to generate square wave(refer fig.5.25)\n",
+      "\n",
+      "import math\n",
+      "# Variable declarations\n",
+      "f = 1000.0                      # output square wave frequency\n",
+      "Vo = 5.0                        # output voltage\n",
+      "Ton = 0.5*10**-3                # ON time of suare wave\n",
+      "Toff= 0.5*10**-3                # OFF time of suare wave\n",
+      "Vl = 5.0                        # Lamp voltage rating\n",
+      "Il = 50*10**-3                  # lamp current rating\n",
+      "\n",
+      "#Calculations\n",
+      "C = 0.1*10**-6                  # capacitance, assumed\n",
+      "Rb = Toff/(0.69*C)\n",
+      "Rb = Rb/1000.0                  #k-ohm\n",
+      "VLed = 0.7                      # voltage drop accross LED\n",
+      "R =(Vo-VLed)/(Il)\n",
+      "R = 100                         #standard value  \n",
+      "P = (Il**2)*R\n",
+      "\n",
+      "# Result\n",
+      "print(\"duty cycle is 50%% hence,\\nRa = Rb = %.3f k-ohm\\nCurrent limiting Resistance for LED is, R = %.0f ohm\\nP = %.2f W\"%(Rb,R,P))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "duty cycle is 50% hence,\n",
+        "Ra = Rb = 7.246 k-ohm\n",
+        "Current limiting Resistance for LED is, R = 100 ohm\n",
+        "P = 0.25 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.17, Page No. 199"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Ramp generator using IC555\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 5000.0                 # output frequency\n",
+      "Vcc = 5.0                  # input voltage\n",
+      "\n",
+      "\n",
+      "# Calculations\n",
+      "Vd = 0.7                   # = Vbe, assumed \n",
+      "Ic = (Vcc-Vd)\n",
+      "RC = 3*Ic/(Vcc*f)\n",
+      "C = 0.05*10**-6            # assumed\n",
+      "R = RC/C\n",
+      "Ic = Ic/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f micro-F\\nR = %.2f k-ohm\\nIc = %.3f mA\"%(C*10**6,R/1000,math.floor(Ic*10**6)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 0.05 micro-F\n",
+        "R = 10.32 k-ohm\n",
+        "Ic = 0.416 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.18, Page No.205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Triangular wave generator\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 5000.0                     # output frequency \n",
+      "Vo = 10.5                      # output voltage\n",
+      "Vsat = 15                      # saturation voltage\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "x = 2*Vsat/Vo                   # R3/R2:: this value is wrong in the book\n",
+      "R2 = 10*10**3                   # assumed\n",
+      "R3 = 4*R2                       # calculationg using value given in book\n",
+      "C1 = 0.01*10**-6                # assumed\n",
+      "R1 = R3/(4*C1*R2*f)\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"C1 = %.2f micro-F\\nR1 = %.0f k-ohm\\nR2 = %.0f k-ohm\\nR3 = %.0f k-ohm\"%(C*10**6,R1/1000,R2/1000,R3/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C1 = 0.05 micro-F\n",
+        "R1 = 20 k-ohm\n",
+        "R2 = 10 k-ohm\n",
+        "R3 = 40 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "exxample 5.19, Page No. 213"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "exxample 5.20, Page No. 220"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "exxample 5.21, Page No.221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Oscillation frequency(refer fig 5.21)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 5.1*10**3                     # resistance\n",
+      "C = 0.001*10**-6                  # capacitance\n",
+      "R3 = 6.0*10**3                      # Resistance of R3\n",
+      "R4 = 2.0*10**3                      # Resistance of R4\n",
+      "\n",
+      "#Calculations\n",
+      "A = 1+(R3/R4)\n",
+      "f = 1/(2*math.pi*R*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"A = %d\\nAs A > 3, this satisfies the required oscillating condition. Hence, Circuit will work as oscillator.\\n\"%(A))\n",
+      "print(\"frequency of oscillations = %.4f kHz\"%(f/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A = 4\n",
+        "As A > 3, this satisfies the required oscillating condition. Hence, Circuit will work as oscillator.\n",
+        "\n",
+        "frequency of oscillations = 31.2069 kHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.22, Page No. 221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# design of wein bridge oscillator(refer fig.5.58)\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "f = 1000.0                 # frequency of oscillation\n",
+      "V = 15                     # supply voltage\n",
+      "g = 3                      # gain of non-inverting op-amp for  circuit to be oscillator \n",
+      "\n",
+      "#Calculations \n",
+      "C = 0.05*10**-6            # assumed\n",
+      "R = 1/(2*math.pi*C*f)\n",
+      "R4 = 10*10**3              # assumed\n",
+      "R3 = (g-1)*R4\n",
+      "\n",
+      "#Result\n",
+      "print(\"C1 = C2 = C = %.2f micro-F\\nR1 = R2 = R = %.3f k-ohm\\nR3 = %.0f k-ohm\\nR4 = %.0f k-ohm\"%(C*10**6,R/1000,R3/1000,R4/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C1 = C2 = C = 0.05 micro-F\n",
+        "R1 = R2 = R = 3.183 k-ohm\n",
+        "R3 = 20 k-ohm\n",
+        "R4 = 10 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.23, Page No. 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output frequency range\n",
+      "\n",
+      "import math\n",
+      "#Variable declararion\n",
+      "R = 10*10**3                          # Resistor R\n",
+      "C = 1.25*10**-9                       # Capacitance\n",
+      "Vut = 10.0                            # Upper threshold voltage\n",
+      "Vlt = 0.0                             # lower threshold voltage\n",
+      "Vmin = 10*10**-3                      # minimum voltage \n",
+      "Vmax = 10                             # Maximum voltage \n",
+      "\n",
+      "#Calculations\n",
+      "Kv = 1/(8*R*C*(Vut-Vlt))\n",
+      "fmin = Vmin*Kv\n",
+      "fmax = Vmax*Kv\n",
+      "\n",
+      "#Result\n",
+      "print(\"Range over whoich output frequency can be varied is %.0f Hz to %.0f KHz.\"%(fmin,fmax/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Range over whoich output frequency can be varied is 10 Hz to 10 KHz.\n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.24, Page No. 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output frequency(refer fig. 5.67 and 5.68)\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 10                   # supply voltage\n",
+      "R1 = 10*10**3            # Resistor R1\n",
+      "R2 = 1.2*10**3           # Resistor R2\n",
+      "R3 = 10*10**3            # Resistor R3\n",
+      "C1 = 0.001*10**-6        # Capacitance\n",
+      "Vc1 = 7.7                # Voltage at pin 5\n",
+      "Vc2 = 9.5                # Voltage at pin 5\n",
+      "\n",
+      "#Calcualtions\n",
+      "# (a)\n",
+      "Vc = R3*V/(R2+R3)\n",
+      "Vc = math.floor(Vc*1000)/1000\n",
+      "fo = 2*(V-Vc)/(C1*R1*V) \n",
+      "fo = fo/1000             # kHz\n",
+      "# (b)\n",
+      "fo1 = 2*(V-Vc1)/(C1*R1*V)\n",
+      "fo1 = fo1/1000\n",
+      "fo2 = 2*(V-Vc2)/(C1*R1*V)\n",
+      "fo2 = fo2/1000\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nVc = %.3f V\\nfo = %.2f kHz\\n\\n(b)\\nfo1 = %.0f kHz\\nfo2 = %.0f kHz\\nChange in frequency is %.0f kHz\"%(Vc,fo,fo1,fo2,fo1-fo2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Vc = 8.928 V\n",
+        "fo = 21.44 kHz\n",
+        "\n",
+        "(b)\n",
+        "fo1 = 46 kHz\n",
+        "fo2 = 10 kHz\n",
+        "Change in frequency is 36 kHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_6.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_6.ipynb
new file mode 100755
index 00000000..3aa928b8
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_6.ipynb
@@ -0,0 +1,117 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6: Digitally Controlled Frequency Synthesizers : PLLs"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.1, Page No. 247"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# PLL circuit parameters(refere fig. 6.13)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ct = 0.005 *10**-6                 # external capacitor for VCO\n",
+      "Rt = 10*10**3                      # external resistance for VCO\n",
+      "V = 20.0                           # supply voltage(V_positive - V_negative) \n",
+      "C = 10*10**-6                      # capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "#(i)\n",
+      "fout = 0.25/(Rt*Ct)\n",
+      "\n",
+      "#(ii)\n",
+      "fL = 8*fout/V\n",
+      "\n",
+      "#(iii)\n",
+      "fC = fL/(2*math.pi*3.6*10**3*C)\n",
+      "fC = math.sqrt(fC)\n",
+      "\n",
+      "#in kHz\n",
+      "fout = fout/10**3\n",
+      "fL = fL/10**3\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i)free running frequency, fout = %.0fkHz\\n(ii)Lock range, fL = +/-%.0f kHz\\n(iii)Calpture range, fC = +/-%d Hz\"%(fout,fL,fC))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)free running frequency, fout = 5kHz\n",
+        "(ii)Lock range, fL = +/-2 kHz\n",
+        "(iii)Calpture range, fC = +/-94 kHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.2, Page No. 254"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Digital frequency synthesizer\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 4                # resolution of digital frequency synthesizer\n",
+      "Fm = 200*10**3       # maximum frequency output\n",
+      "\n",
+      "#Calculations\n",
+      "fclk = Fm*2.2\n",
+      "k = fclk/R\n",
+      "n = math.log(k)/math.log(2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"frequency of reference oscillator = %.0f kHz\\nno of bits required = %.0f\"%(fclk/1000,math.ceil(n)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "frequency of reference oscillator = 440 kHz\n",
+        "no of bits required = 17\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_7.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_7.ipynb
new file mode 100755
index 00000000..d549ba1d
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_7.ipynb
@@ -0,0 +1,1326 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7: Active Filters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "examople 7.1, Page No. 279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# First order Butterworth low-pass filter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 10.0*10**3              # Resistor R\n",
+      "R1 = 10.0*10**3             # Resistor R1\n",
+      "Rf = 100.0*10**3            # Resistor Rf\n",
+      "C = 0.001*10**-6            # Capacitance \n",
+      "\n",
+      "#calculations\n",
+      "#(i)\n",
+      "fc = 1/(2*math.pi*R*C)\n",
+      "#(ii)\n",
+      "Af = 1+(Rf/R1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i) cut-off frequency for a first order Butterworth LPF is %.3f kHz\\n\\n(ii) Passband Voltage gain = %d\"%(fc/1000,Af))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) cut-off frequency for a first order Butterworth LPF is 15.915 kHz\n",
+        "\n",
+        "(ii) Passband Voltage gain = 11\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.2, Page No. 279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# first order low-pass filter design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Af = 2                  # Passband voltage gain\n",
+      "fc = 10*10**3           # cut-off frequency\n",
+      "\n",
+      "#Calculations\n",
+      "#since Af = 1+Rf/R1, we have Rf = R1\n",
+      "Rf = 10*10**3           # assumed\n",
+      "C = 0.001*10**-6        # assumed\n",
+      "R = 1/(2*math.pi*fc*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Rf = R1 = %.0f k-ohm\\nC = %.3f micro-F\\nR = %.1f k-ohm\"%(Rf/1000,C*10**6,R/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rf = R1 = 10 k-ohm\n",
+        "C = 0.001 micro-F\n",
+        "R = 15.9 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.3, Page No. 280"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# low-pass filter design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Af = 2.5                # Passband voltage gain\n",
+      "fc = 2*10**3            # cut-off frequency\n",
+      "\n",
+      "#Calculations\n",
+      "C = 0.01*10**-6         # assumed\n",
+      "R = 1/(2*math.pi*fc*C)\n",
+      "R = R/1000              # k-ohm\n",
+      "Rp = 8.2*10**3          # practical value\n",
+      "x = (Af-1)              # Rf/R1\n",
+      "R1 = Rp*(x+1)/x\n",
+      "R1p = 15                # k-ohm \n",
+      "Rf = R1*x/1000          # k-ohm\n",
+      "\n",
+      "#Result\n",
+      "print(\"R  = %f k-ohm(practical value %f k-ohm)\\nR1 = %.2f k-ohm(say %d k-ohm)\\nRf = %d k-ohm\"%(R,Rp/1000,R1/1000,R1p,Rf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R  = 7.957747 k-ohm(practical value 8.200000 k-ohm)\n",
+        "R1 = 13.67 k-ohm(say 15 k-ohm)\n",
+        "Rf = 20 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.4, Page No.283"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2nd order low-pass filter design(refer fig. 7.22)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Af = 1.586              # Passband voltage gain\n",
+      "fc = 1000.0             # cut-off frequency\n",
+      "\n",
+      "#Calculations\n",
+      "C = 0.005*10**-6        # assumed\n",
+      "R = 1/(2*math.pi*fc*C)\n",
+      "R = R/1000              # k-ohm\n",
+      "x = (Af-1)              # Rf/R1\n",
+      "R1 = 33                 # k-ohm \n",
+      "Rf = R1*x               # k-ohm\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %d k-ohm\\nRf = %.3f k-ohm\\nR2 = R3 = %.2f k-ohm\\nC2 = C3 = %.3f micro-F\"%(R1,Rf,R,C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 33 k-ohm\n",
+        "Rf = 19.338 k-ohm\n",
+        "R2 = R3 = 31.83 k-ohm\n",
+        "C2 = C3 = 0.005 micro-F\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.5, Page No. 283"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2nd order low-pass filter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 12.0*10**3                  # resistor R1\n",
+      "Rf = 7.0*10**3                   # feedback resistance\n",
+      "R2 = 33.0*10**3                  # Resistance R2\n",
+      "R3 = 33.0*10**3                  # Resistance R3\n",
+      "C1 = 0.002*10**-6                # Capacitance C1\n",
+      "C2 = 0.002*10**-6                # Capacitance C2\n",
+      "\n",
+      "#Calculations\n",
+      "#(i)\n",
+      "fc = 1/(2*math.pi*math.sqrt(R2*R3*C2*C1))\n",
+      "#(ii)\n",
+      "Af = 1+(Rf/R1)\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i)  cut-off frequency(fc)     = %.3f KHz\\n(ii) Passband voltage gain(Af) = %.3f\"%(fc/1000,Af))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)  cut-off frequency(fc)     = 2.411 KHz\n",
+        "(ii) Passband voltage gain(Af) = 1.583\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.6, Page No. 284"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2nd order low-pass filter design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fc = 2000.0                  # cut-off frequency\n",
+      "C  = 0.033*10**-6            # Capacitance, assumed\n",
+      "\n",
+      "#Calculations\n",
+      "R = 1/(2*math.pi*fc*C)\n",
+      "Rp = 2.5\n",
+      "x = 0.586                    # Rf/R1 \n",
+      "R1 = 2*R*(1+x)/x\n",
+      "R1p = 15.0\n",
+      "Rf = R1p*x\n",
+      "Rfp = 10.0\n",
+      "\n",
+      "#Result\n",
+      "print(\"C2 = C3 = %.3f micro-F\"%(C*10**6))\n",
+      "print(\"R3 = R2 = %.1f k-ohm(say %.1f k-ohm)\"%(R/1000,Rp))\n",
+      "print(\"R1 = %d k-ohm   = %d k-ohm (std value)\\nRf = %.2f k-ohm = %d k-ohm (std value)\"%(R1/1000,R1p,Rf,Rfp))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C2 = C3 = 0.033 micro-F\n",
+        "R3 = R2 = 2.4 k-ohm(say 2.5 k-ohm)\n",
+        "R1 = 13 k-ohm   = 15 k-ohm (std value)\n",
+        "Rf = 8.79 k-ohm = 10 k-ohm (std value)\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      " example 7.7, Page No. 284"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2nd order low-pass filter design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fc = 1000.0                  # cut-off frequency\n",
+      "C  = 0.0047*10**-6           # Capacitance, assumed\n",
+      "\n",
+      "#Calculations\n",
+      "R  = 1/(2*math.pi*fc*C)\n",
+      "Rp = 33\n",
+      "x  = 0.586                    # Rf/R1 \n",
+      "R1 = 30.0                     # R1 in k-ohm   \n",
+      "Rf = R1*x\n",
+      "Rfp = 20.0\n",
+      "\n",
+      "#Result\n",
+      "print(\"C2 = C3 = %.4f micro-F\"%(C*10**6))\n",
+      "print(\"R3 = R2 = %.2f k-ohm(say %.1f k-ohm)\"%(R/1000,Rp))\n",
+      "print(\"R1 = %d k-ohm\\nRf = %.2f k-ohm = %d k-ohm (std value)\"%(R1,Rf,Rfp))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C2 = C3 = 0.0047 micro-F\n",
+        "R3 = R2 = 33.86 k-ohm(say 33.0 k-ohm)\n",
+        "R1 = 30 k-ohm\n",
+        "Rf = 17.58 k-ohm = 20 k-ohm (std value)\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.8, Page No. 189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# low pass second order Butterworth filter design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fc = 1500.0                 # cut-off frequency\n",
+      "alfa = 1.414                # damping factor\n",
+      "\n",
+      "#Calculations\n",
+      "Rf = 2-alfa\n",
+      "Ri = 1                      # for equal component model\n",
+      "Af = 1+Rf/Ri\n",
+      "print(\"Fig 7.26(a) shows the equal component second order Butterworth filter with critical frequency wc = 1 rad/sec.\")\n",
+      "print(\"Where R = R1 = R2 and\\nC = C1 = C2\")\n",
+      "wc = 2*math.pi*fc\n",
+      "wc = math.floor(wc*100)/100\n",
+      "print(\"\\nWe scale this to 1.5 kHz\\nTherefore, wc = %.2f rad/sec\"%(wc))\n",
+      "R = 1/wc\n",
+      "print(\"R1 = R2 = R = %.3f *10^-4 ohm\\nFig 7.26(b) shows 1.5 kHz second order Butterworth filter.\"%(R*10**4))\n",
+      "R = R*10**7\n",
+      "C = 1*10**-7\n",
+      "print(\"\\nTo increase R to a reasonable vaule , we multiply R1 and R2 by 10^7\")\n",
+      "print(\"and to keep the fc unchanged we decrease the C1 and C2 by the same factor.\")\n",
+      "print(\"R1 = R2 = %.3f k-ohm\\nC1 = C2 = %.1f micro-F or %.0f nF\"%(R/1000,C*10**6,C*10**9))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Fig 7.26(a) shows the equal component second order Butterworth filter with critical frequency wc = 1 rad/sec.\n",
+        "Where R = R1 = R2 and\n",
+        "C = C1 = C2\n",
+        "\n",
+        "We scale this to 1.5 kHz\n",
+        "Therefore, wc = 9424.77 rad/sec\n",
+        "R1 = R2 = R = 1.061 *10^-4 ohm\n",
+        "Fig 7.26(b) shows 1.5 kHz second order Butterworth filter.\n",
+        "\n",
+        "To increase R to a reasonable vaule , we multiply R1 and R2 by 10^7\n",
+        "and to keep the fc unchanged we decrease the C1 and C2 by the same factor.\n",
+        "R1 = R2 = 1.061 k-ohm\n",
+        "C1 = C2 = 0.1 micro-F or 100 nF\n"
+       ]
+      }
+     ],
+     "prompt_number": 51
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.9, Page No. 292"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theeoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theeoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.10, Page No. 292"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theeoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theeoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 52
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.11, Page No. 293"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2nd order Butterworth Low pass filter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fc = 10*10**3            # Cut-off frequency\n",
+      "n = 2                    # order of the filter\n",
+      "one_by_Q = 1.414           # from table\n",
+      "#Calculations\n",
+      "C = 0.01*10**-6          # assumed\n",
+      "R = 1/(2*math.pi*fc*C)   \n",
+      "Af = 3-(one_by_Q)\n",
+      "Ri = 10*10**3            # assumed\n",
+      "Rf = (Af-1)*Ri\n",
+      "wc = 2*math.pi*fc\n",
+      "f1=1000\n",
+      "w1 = 2*math.pi*f1\n",
+      "f2 = 2000\n",
+      "w2 = 2*math.pi*f2 \n",
+      "f3 = 5000\n",
+      "w3 = 2*math.pi*f3\n",
+      "f4 = 10000\n",
+      "w4 = 2*math.pi*f4\n",
+      "f5 = 50000\n",
+      "w5 = 2*math.pi*f5\n",
+      "f6 = 100000\n",
+      "w6 = 2*math.pi*f6\n",
+      "Hs1 = 20*math.log10(Af/(math.sqrt(1+(w1/wc)**4)))\n",
+      "Hs2 = 20*math.log10(Af/(math.sqrt(1+(w2/wc)**4)))\n",
+      "Hs3 = 20*math.log10(Af/(math.sqrt(1+(w3/wc)**4)))\n",
+      "Hs4 = 20*math.log10(Af/(math.sqrt(1+(w4/wc)**4)))\n",
+      "Hs5 = 20*math.log10(Af/(math.sqrt(1+(w5/wc)**4)))\n",
+      "Hs6 = 20*math.log10(Af/(math.sqrt(1+(w6/wc)**4)))\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = R2 = %.3f k-ohm\\nAf = %.3f\\nC1 = C2 = %.2f micro-F\\nRi = %d k-ohm\\nRf = %.2f k-ohm\"%(R/1000,Af,C*10**6,Ri/1000,Rf/1000))\n",
+      "print(\"\\nFrequency in Hz\\t\\t Gain Magnitude in dB|H(s)|\")\n",
+      "print(\"%d\\t\\t\\t\\t%d\"%(f1,Hs1))\n",
+      "print(\"%d\\t\\t\\t\\t%.3f\"%(f2,Hs2))\n",
+      "print(\"%d\\t\\t\\t\\t%.2f\"%(f3,Hs3))\n",
+      "print(\"%d\\t\\t\\t\\t%.0f\"%(f4,math.ceil(Hs4)))\n",
+      "print(\"%d\\t\\t\\t\\t%.2f\"%(f5,math.ceil(Hs5*100)/100))\n",
+      "print(\"%d\\t\\t\\t\\t%.2f\"%(f6,Hs6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = R2 = 1.592 k-ohm\n",
+        "Af = 1.586\n",
+        "C1 = C2 = 0.01 micro-F\n",
+        "Ri = 10 k-ohm\n",
+        "Rf = 5.86 k-ohm\n",
+        "\n",
+        "Frequency in Hz\t\t Gain Magnitude in dB|H(s)|\n",
+        "1000\t\t\t\t4\n",
+        "2000\t\t\t\t3.999\n",
+        "5000\t\t\t\t3.74\n",
+        "10000\t\t\t\t1\n",
+        "50000\t\t\t\t-23.95\n",
+        "100000\t\t\t\t-35.99\n"
+       ]
+      }
+     ],
+     "prompt_number": 73
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.12, Page No. 294"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 4th order Butterworth low pass filter(refer fig. 7.33)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fc = 1000.0           # upper cut-off frequency\n",
+      "C = 0.1*10**-6        # aasumed\n",
+      "R = 1/(2*math.pi*fc*C)\n",
+      "R = R/1000\n",
+      "R = math.floor(R*1000)/1000\n",
+      "alfa1 = 0.765\n",
+      "alfa2 = 1.848\n",
+      "Af1 = 3-alfa1\n",
+      "Af2 = 3- alfa2\n",
+      "# for first stage\n",
+      "Ri1 = 10*10**3        # assumed\n",
+      "Rf1 = (Af1-1)*Ri1\n",
+      "# for second stage\n",
+      "Ri2 = 100*10**3       # assumed\n",
+      "Rf2 = (Af2-1)*Ri2\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.3f k-ohm\\nAf1 = %.3f\\t Af2 = %.3f\\n\\nFor first stage:\\nRi = %d k-ohm\\tRf = %.1f k-ohm\"%(R,Af1,Af2,Ri1/1000,Rf1/1000))\n",
+      "print(\"\\nfor second stage:\\nRi = %d k-ohm\\tRf = %.1f k-ohm\"%(Ri2/1000,Rf2/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 1.591 k-ohm\n",
+        "Af1 = 2.235\t Af2 = 1.152\n",
+        "\n",
+        "For first stage:\n",
+        "Ri = 10 k-ohm\tRf = 12.3 k-ohm\n",
+        "\n",
+        "for second stage:\n",
+        "Ri = 100 k-ohm\tRf = 15.2 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 85
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.13, Page No.297"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Value of R in first order butterworth high pass filter\n",
+      "\n",
+      "import math\n",
+      "#Vartianble declaration\n",
+      "fc = 10*10**3               # cut-off frequency\n",
+      "C = 0.0047*10**-6           # Capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "R = 1/(2*math.pi*fc*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.3f k-ohm\"%(R/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 3.386 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 87
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.14, Page No. 298"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# first order butterworth high pass filter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 15*10**3         # resistance\n",
+      "C = 0.01*10**-6      # capacitance\n",
+      "Rf = 10*10**3        # feedback resistance\n",
+      "R1 = 5*10**3         # resistace R1\n",
+      "\n",
+      "#Calcualtions\n",
+      "fc = 1/(2*math.pi*R*C)\n",
+      "fc = math.floor(fc)\n",
+      "wc = 2*math.pi*fc\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i)  Cut-off frequency, fc = %d Hz\\n(ii) Cut-off frequency, wc = %f k rad/sec\"%(fc,wc/1000))\n",
+      "# Answer for wc is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)  Cut-off frequency, fc = 1061 Hz\n",
+        "(ii) Cut-off frequency, wc = 6.666460 k rad/sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 94
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.15, Page No. 299"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# cut-off frequency and voltage gain(refer fig. 7.36)\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "R1 = 27.0*10**3           # resistor R1\n",
+      "R2 = R1                   # resistor R2\n",
+      "R3 = R1                   # resistor R3\n",
+      "RL = 10*10**3             # resistor Rl\n",
+      "Rf = 16.0*10**3           # resistor Rf\n",
+      "C2 = 0.005*10**-6         # capacitance\n",
+      "C3 = 0.005*10**-6         # capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "fc = 1/(2*math.pi*math.sqrt(R2*R3*C2*C3))\n",
+      "Af = 1+Rf/R1\n",
+      "\n",
+      "#Result\n",
+      "print(\"Cut-off frequency, fc = %.2f kHz\\nAf = %.3f\"%(fc/1000,math.floor(Af*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Cut-off frequency, fc = 1.18 kHz\n",
+        "Af = 1.592\n"
+       ]
+      }
+     ],
+     "prompt_number": 101
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.16, Page No. 302"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2nd order high pass Bessel filter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fb = 2000.0               # Break frequency\n",
+      "alfa = 1.732              # damping factor, from table\n",
+      "kf = 1.274                # frequency factor, from table\n",
+      "\n",
+      "#calculations\n",
+      "R1 = alfa/2\n",
+      "R2 = 2/alfa\n",
+      "Rf = R2\n",
+      "C = 1\n",
+      "print(\"R1 = %.3f ohm\\nR2 = Rf = %.3f ohm\"%(R1,R2))\n",
+      "print(\"\\n2nd order high pass filter with wc = 1 rad/sec is shown in fig 7.40\")\n",
+      "fc = fb/kf\n",
+      "fc = math.floor(fc*100)/100\n",
+      "wc = 2*math.pi*fc\n",
+      "wc = math.ceil(wc*10)/10\n",
+      "print(\"\\nfc = %.2f Hz\\nwc = %.1f rad/sec\"%(fc,wc))\n",
+      "print(\"\\nIn frequency scaling proicedure, we keep the capacitor unchanged and scale down the resistors as follow:\")\n",
+      "R1 = R1/wc\n",
+      "R1 = R1*10**5\n",
+      "R1 = math.floor(R1*10**4)/10**4\n",
+      "R2 = R2/wc\n",
+      "print(\"R1 = %.4f*10^-5\\t\\t\\tR2 = %.4f*10^-4\"%(R1,R2*10**4))\n",
+      "print(\"\\nThe above mentioned components are not practical. So we multyply each resistor by 10^8 and divide each capacitor by 10^8 to\")\n",
+      "print(\"get the final component values as under:\")\n",
+      "R1 = R1*10**3\n",
+      "R2 = R2*10**8\n",
+      "C = 1*10**-8\n",
+      "print(\"R1 = %f k-ohm\\t\\t\\tR2 = %f k-ohm\\t\\tC = %d nF\\n\\nFinal diagram is shown in fig. 7.42\"%(R1/1000,R2/1000,C*10**9))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 0.866 ohm\n",
+        "R2 = Rf = 1.155 ohm\n",
+        "\n",
+        "2nd order high pass filter with wc = 1 rad/sec is shown in fig 7.40\n",
+        "\n",
+        "fc = 1569.85 Hz\n",
+        "wc = 9863.7 rad/sec\n",
+        "\n",
+        "In frequency scaling proicedure, we keep the capacitor unchanged and scale down the resistors as follow:\n",
+        "R1 = 8.7796*10^-5\t\t\tR2 = 1.1707*10^-4\n",
+        "\n",
+        "The above mentioned components are not practical. So we multyply each resistor by 10^8 and divide each capacitor by 10^8 to\n",
+        "get the final component values as under:\n",
+        "R1 = 8.779600 k-ohm\t\t\tR2 = 11.706909 k-ohm\t\tC = 10 nF\n",
+        "\n",
+        "Final diagram is shown in fig. 7.42\n"
+       ]
+      }
+     ],
+     "prompt_number": 125
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.17, Page No.304"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Wide bandpass filter design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fl = 100.0                  # lower cut-off frequency\n",
+      "fh = 1000.0                 # higher cut-off frequency\n",
+      "Af = 4\n",
+      "\n",
+      "# Calculations\n",
+      "# 1. low-pass filter components\n",
+      "C_dash = 0.01*10**-6         # assumed\n",
+      "R_dash = 1/(2*math.pi*fh*C_dash)\n",
+      "R_dash = R_dash/1000\n",
+      "Af2 = 2\n",
+      "x1 = (Af2 - 1)              # Rf_dash/R1_dash\n",
+      "R1_dash = 10                # k-ohm\n",
+      "Rf_dash = x1*R1_dash\n",
+      "# 2. High pass filter components\n",
+      "C = 0.05*10**-6 \n",
+      "R = 1/(2*math.pi*fl*C)\n",
+      "Af1 = 2\n",
+      "x2 = (Af1-1)\n",
+      "R1 = 10                      # k-ohm\n",
+      "Rf = x2*R1\n",
+      "# 3. Quality factor Q\n",
+      "Q = math.sqrt(fl*fh)/(fh-fl)\n",
+      "\n",
+      "#Result\n",
+      "print(\"1.The componets for the low-pass filter are as under:\")\n",
+      "print(\"R1_dash = %d k-ohm\\nR_dash  = %.1f k-ohm\\nRf_dash = %d k-ohm\\nC       = %.2f micro-F\"%(R1_dash,R_dash,Rf_dash,C_dash*10**6))\n",
+      "print(\"\\n2.The componets for the high pass filter are as under:\")\n",
+      "print(\"R1 = %d k-ohm\\nR  = %.2f k-ohm\\nRf = %d k-ohm\\nC  = %.2f micro-F\"%(R1,R/1000,Rf,C*10**6))\n",
+      "print(\"\\n3.Quality factor\\nQ = %.3f\"%Q)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1.The componets for the low-pass filter are as under:\n",
+        "R1_dash = 10 k-ohm\n",
+        "R_dash  = 15.9 k-ohm\n",
+        "Rf_dash = 10 k-ohm\n",
+        "C       = 0.01 micro-F\n",
+        "\n",
+        "2.The componets for the high pass filter are as under:\n",
+        "R1 = 10 k-ohm\n",
+        "R  = 31.83 k-ohm\n",
+        "Rf = 10 k-ohm\n",
+        "C  = 0.05 micro-F\n",
+        "\n",
+        "3.Quality factor\n",
+        "Q = 0.351\n"
+       ]
+      }
+     ],
+     "prompt_number": 147
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.18, Page No. 307"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Narrow band pass filter design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fc = 2000.0             # cut-off frequency\n",
+      "Af = 10                 # voltage gain\n",
+      "Q  = 4                  # quality factor\n",
+      "\n",
+      "#Calculations\n",
+      "C = 0.01*10**-6         # assumed\n",
+      "R1 = Q/(2*math.pi*fc*C*Af)\n",
+      "R1 = R1/1000            # k-ohm\n",
+      "R2 = Q/(2*math.pi*fc*C*((2*Q**2)-Af))\n",
+      "R2 = R2/1000\n",
+      "R3 = Q/(math.pi*fc*C)\n",
+      "R3 = R3 /1000\n",
+      "fc_new = 1000.0\n",
+      "R2_dash = R2*(fc/fc_new)**2\n",
+      "\n",
+      "#Result\n",
+      "print(\"C1 = C2 = %.2f micro-F\\nR1 = %.3f k-ohm\\nR2 = %.3f k-ohm\\nR3 = %.2f k-ohm\"%(C*10**6,R1,math.floor(R2*1000)/1000,R3))\n",
+      "print(\"We use\\t R1 = 3.3 k-ohm,R2 = 1.5 k-ohm, R3 = 63 k-ohm\")\n",
+      "print(\"\\nNew value of R2 = %.3f k-ohm.\\nWe use\\t     R2 = %.1f k-ohm\"%(R2_dash,R2_dash))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C1 = C2 = 0.01 micro-F\n",
+        "R1 = 3.183 k-ohm\n",
+        "R2 = 1.446 k-ohm\n",
+        "R3 = 63.66 k-ohm\n",
+        "We use\t R1 = 3.3 k-ohm,R2 = 1.5 k-ohm, R3 = 63 k-ohm\n",
+        "\n",
+        "New value of R2 = 5.787 k-ohm.\n",
+        "We use\t     R2 = 5.8 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 171
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.19, Page No. 308"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Wide band reject filter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fh = 100.0             # higher cut-off frequency\n",
+      "fl = 2000.0            # lower cut-off frequency\n",
+      "\n",
+      "# Calculations\n",
+      "# (i) High-pass section\n",
+      "C = 0.01*10**-6        # assumed\n",
+      "R = 1/(2*math.pi*fl*C)\n",
+      "Af1 = 2\n",
+      "x1 = Af1-1             # Rf/R1\n",
+      "R1 = 10                # k-ohm\n",
+      "Rf = x1*R1\n",
+      "#(ii) Low-pass section\n",
+      "C1 = 0.1*10**-6   # assumed\n",
+      "R_dash = 1/(2*math.pi*fh*C1)\n",
+      "Af2 = 2\n",
+      "x2  = Af2-1            # Rf'/R1'\n",
+      "R1_dash = 10           # k-ohm\n",
+      "Rf_dash = x2*R1_dash\n",
+      "#(iii) Summing amplifier\n",
+      "R2 = 10.0              # k-ohm\n",
+      "R3 = R4 = R2\n",
+      "Rom = (R2*R3/(R2+R3))*R4/(R4+(R2*R3/(R2+R3)))\n",
+      "#result\n",
+      "print(\"(i) High Pass section:\\nC  = %.2f micro-F\\nR  = %.2f k-ohm\\nR1 = %d k-ohm\\nRf = %d k-ohm\\n\"%(C*10**6,R/1000,R1,Rf))\n",
+      "print(\"(ii) Low Pass section:\\nC  = %.1f micro-F\\nR  = %.3f k-ohm\\nR1 = %d k-ohm\\nRf = %d k-ohm\"%(C1*10**6,R_dash/1000,R1_dash,Rf_dash))\n",
+      "print(\"\\n(iii) Summing amplifier:\\nRom = %f k-ohm\"%(Rom))\n",
+      "print(\"\\nThe completed circuit diagram is shownn in figure 7.47\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) High Pass section:\n",
+        "C  = 0.01 micro-F\n",
+        "R  = 7.96 k-ohm\n",
+        "R1 = 10 k-ohm\n",
+        "Rf = 10 k-ohm\n",
+        "\n",
+        "(ii) Low Pass section:\n",
+        "C  = 0.1 micro-F\n",
+        "R  = 15.915 k-ohm\n",
+        "R1 = 10 k-ohm\n",
+        "Rf = 10 k-ohm\n",
+        "\n",
+        "(iii) Summing amplifier:\n",
+        "Rom = 3.333333 k-ohm\n",
+        "\n",
+        "The completed circuit diagram is shownn in figure 7.47\n"
+       ]
+      }
+     ],
+     "prompt_number": 191
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      " example 7.20, Page No. 311"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# #Active notch filter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fn = 50                # frequency to be rejected\n",
+      "\n",
+      "#Calculations\n",
+      "C = 0.47*10**-6        # Capacitance, assumed\n",
+      "R = 1/(2*math.pi*fn*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f micro-F\\nR = %.3f k-ohm. We use %.1f k-ohm\"%(C*10**6,R/1000,R/1000))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 0.47 micro-F\n",
+        "R = 6.773 k-ohm. We use 6.8 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 193
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.21, Page No. 313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# phase shift between the input and output voltages for all pass filter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 10*10**3              # resistance\n",
+      "C = 0.01*10**-6           # Capacitance\n",
+      "f = 2000.0                # frequency for which phase shift is to be calculated\n",
+      "\n",
+      "#Calculations\n",
+      "fi = -2*math.atan(2*math.pi*R*f*C)\n",
+      "fi = math.ceil(math.degrees(fi)*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"Phase shift = %.2f\u00b0\"%fi)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Phase shift = -102.97\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 199
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.22, Page No.313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Wide band pass filter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fl = 200.0                # lower cut-off frequency\n",
+      "fh = 1000.0               # higher cut-off frequency\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "fc = math.sqrt(fl*fh)\n",
+      "Q = fc/(fh-fl)\n",
+      "\n",
+      "#Result\n",
+      "print(\"fc = %.1f Hz\\nQ  = %.3f\\nfilter with Q = 0.8 is more selective.\"%(fc,Q))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "fc = 447.2 Hz\n",
+        "Q  = 0.559\n",
+        "filter with Q = 0.8 is more selective\n"
+       ]
+      }
+     ],
+     "prompt_number": 203
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.23, Page No. 313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Wide bandpass filter design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f1 = 5*10**3             # cut-off frequency\n",
+      "f2 = 15*10**3            # ciut-off frequency\n",
+      "Af = 2                   # Passband gain \n",
+      "\n",
+      "#Calculations\n",
+      "# low pass filter\n",
+      "C_dash = 0.01*10**-6     # assumed\n",
+      "R_dash = 1/(2*math.pi*f2*C_dash)\n",
+      "R_dash = R_dash/1000\n",
+      "Af1 = Af2 = 1.414\n",
+      "x1 = Af2-1               # Rf'/R1'\n",
+      "R1_dash = 10             # k-ohm\n",
+      "Rf_dash = x1*R1_dash\n",
+      "# high pass filter\n",
+      "C = 0.05*10**-6          # assumed\n",
+      "R = 1/(2*math.pi*f1*C)\n",
+      "x2 = Af1-1               # Rf'/R1'\n",
+      "R1 = 10                  # k-ohm\n",
+      "Rf = x2*R1\n",
+      "\n",
+      "#Result\n",
+      "print(\"Low pass filter component:\")\n",
+      "print(\"C' = %.2f micro-F\\nR' = %.3f k-ohm\\nR1'= %d k-ohm\\nRf'= %.2f k-ohm\"%(C_dash*10**6,R_dash,R1_dash,Rf_dash))\n",
+      "print(\"\\nHigh pass filter component:\")\n",
+      "print(\"C  = %.2f micro-F\\nR  = %.2f k-ohm\\nR1 = %d k-ohm\\nRf = %.2f k-ohm\"%(C*10**6,R,R1,Rf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Low pass filter component:\n",
+        "C' = 0.01 micro-F\n",
+        "R' = 1.061 k-ohm\n",
+        "R1'= 10 k-ohm\n",
+        "Rf'= 4.14 k-ohm\n",
+        "\n",
+        "High pass filter component:\n",
+        "C  = 0.05 micro-F\n",
+        "R  = 636.62 k-ohm\n",
+        "R1 = 10 k-ohm\n",
+        "Rf = 4.14 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 216
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.24, Page No. 317"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output waveform of circuit in fig.7.54\n",
+      "\n",
+      "%matplotlib inline\n",
+      "import matplotlib.pyplot as plt\n",
+      "from numpy import arange,sin,pi\n",
+      "t = arange(0.0,2,0.01)\n",
+      "t1 = arange(0.0,2.0,0.01)\n",
+      "t2 = arange(0.0,1.002,0.01)\n",
+      "t3 = arange(1.0,2,0.01)\n",
+      "t4 = arange(-15.0,15.0,0.01)\n",
+      "\n",
+      "S = sin(math.pi*t)\n",
+      "plt.axis([0,2.0,-16,16])\n",
+      "\n",
+      "plt.plot(t1,t1*0/t1,'b')\n",
+      "plt.plot(t4/t4,t4,'g')\n",
+      "plt.plot(t2,15*t2/t2,'g')\n",
+      "plt.plot(t3,-15*t3/t3,'g')\n",
+      "plt.plot(t,S,'r')\n",
+      "plt.title(\"Output of the circuit shown in fig. 7.54\")\n",
+      "plt.text(-0.3,14.8,'+Vsat')\n",
+      "plt.text(-0.3,-15.2,'-Vsat')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "metadata": {},
+       "output_type": "pyout",
+       "prompt_number": 274,
+       "text": [
+        "<matplotlib.text.Text at 0xef879e8>"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0xed83f98>"
+       ]
+      }
+     ],
+     "prompt_number": 274
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.25, Page No. 317"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Cut-off frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "C = 0.1*10**-6             # capacitance\n",
+      "R = 10*10**3               # Resistance\n",
+      "\n",
+      "#Calculations\n",
+      "fh = 1/(2*math.pi*C*R)\n",
+      "\n",
+      "#Result\n",
+      "print(\"cut-off frequency = %.4f Hz\"%fh)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "cut-off frequency = 159.1549 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 275
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.26, Page No. 317"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# first order low pass filter design(refer fig 7.56)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "fc = 2000.0           # cut-off frequency\n",
+      "Af = 2                # passband gain\n",
+      "\n",
+      "#Calculations\n",
+      "C = 0.01*10**-6       # Capacitance, assumed\n",
+      "R = 1/(2*math.pi*fc*C)\n",
+      "R = R/1000            # k-ohm\n",
+      "R = math.floor(R*10**3)/1000\n",
+      "x = Af -1             # Rf/R1\n",
+      "R1 = 10               # k-ohm\n",
+      "Rf = x*R1\n",
+      "\n",
+      "#Result\n",
+      "print(\"C  = %.2f micro-F\\nR  = %.3f k-ohm\\nR1 = %d k-ohm\\nRf = %d k-ohm\"%(C*10**6,R,R1,Rf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C  = 0.01 micro-F\n",
+        "R  = 7.957 k-ohm\n",
+        "R1 = 10 k-ohm\n",
+        "Rf = 10 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 284
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_8.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_8.ipynb
new file mode 100755
index 00000000..8b6edfd5
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_8.ipynb
@@ -0,0 +1,455 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8 : Non-linear Applications of Op-amp"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.1, Page No. 332"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Threshold voltages(refer fig. 8.20)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vcc = 15             # positive saturation voltage\n",
+      "Vee = -15            # Negative saturation voltage\n",
+      "R1 = 120.0           # resistance R1\n",
+      "R2 = 51*10**3        # resistance R2\n",
+      "vin = 1              # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "Vut = Vcc*R1/(R1+R2)\n",
+      "Vult = Vee*R1/(R1+R2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vut  = %.1f mV\\nVult = %.1f mV\"%(Vut*1000,Vult*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vut  = 35.2 mV\n",
+        "Vult = -35.2 mV\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.2, Page No.333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Values of R1 and R2\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vcc = 12.0                      # positive saturation voltage\n",
+      "Vee = -12.0                     # negative saturation voltage\n",
+      "Vh = 6.0                        # hysteresis width\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "R1 = 10*10**3\n",
+      "R2 = (1-(Vh/(Vcc-Vee)))*R1/(Vh/(Vcc-Vee))\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.0f k-ohm\\nR2 = %.0f k-ohm\"%(R1/1000,R2/1000))\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 10 k-ohm\n",
+        "R2 = 30 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.3, Page No. 333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Schmitt trigger\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vh = 2.0              # hysteresis width\n",
+      "Vlt = -1.5            # lower threshold\n",
+      "Vpp = 5.0             # sine wave amplitude\n",
+      "f = 1000.0            # frequency\n",
+      "\n",
+      "# Calculations\n",
+      "Vut = Vh - abs(Vlt)\n",
+      "Vm = Vpp/2\n",
+      "theta = math.asin(-Vlt/Vm)\n",
+      "theta = theta*180/math.pi\n",
+      "T = 1/f\n",
+      "T1 = T*(180.0+theta)/360.0\n",
+      "T2 = T-T1\n",
+      "\n",
+      "#Result\n",
+      "print(\"Time duration for negative portion , T1 = %.3f ms\\nTime duration for positive portion , T2 = %.3f ms\"%(T1*1000,T2*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time duration for negative portion , T1 = 0.602 ms\n",
+        "Time duration for positive portion , T2 = 0.398 ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.4, Page No. 334"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Schmitt Trigger\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vh = 10.0                # ligher threshold\n",
+      "Vl = -10.0               # lower threshold\n",
+      "Imax = 100*10**-6        # maximum current through R1 and R2\n",
+      "Vhv = 0.1                # hysteresis width\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "R2 = 1000.0              # assumed\n",
+      "R1= R2*(1-(Vhv/(2*Vh)))/(Vhv/(2*Vh))\n",
+      "R = R1*R2/(R1+R2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.0f k-ohm\\nR2 = %.0f k-ohm\\nR1||R2 = %.0f ohm\"%(R1/1000,R2/1000,R))\n",
+      "# R1||R2 value is in ohm and not in k-ohm"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 199 k-ohm\n",
+        "R2 = 1 k-ohm\n",
+        "R1||R2 = 995 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.5, Page No. 334"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      " print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.6, Page No.336"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Threshold voltages and hysteresis voltage (refer fig. 8.26)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "VsatP = 12.0              # Positive saturation voltage\n",
+      "VsatN = -12.0             # Negative saturation voltage\n",
+      "R1 = 1000.0               # Resistor R1 \n",
+      "R2 = 3*10**3              # Resistor R2\n",
+      "\n",
+      "#Result\n",
+      "Vlt = -VsatP*R1/R2\n",
+      "Vut = -VsatN*R1/R2\n",
+      "Vh = (R1/R2)*abs(VsatP-VsatN)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vlt = %.0f V\\nVut =  %.0f V\\nVh  =  %.0f V\"%(Vlt,Vut,Vh))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vlt = -4 V\n",
+        "Vut =  4 V\n",
+        "Vh  =  8 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.7, Page No.336"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Schmitt's trigger (refer fig. 8.27)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vcc = 12.5             # positive supply voltage\n",
+      "Vee = -12.5            # negative supply voltage\n",
+      "R1 = 80.0*10**3        # Resistor R1\n",
+      "R2 = 20.0*10**3        # Resistor R2\n",
+      "\n",
+      "#Calcualtions\n",
+      "Vut = R2*Vcc/(R1+R2)\n",
+      "Vlt = R2*Vee/(R1+R2) \n",
+      "Vhv =  R2*2*Vcc/(R1+R2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vlt = %.1f V\\nVut =  %.1f V\\nVh  =  %.1f V\"%(Vlt,Vut,Vhv))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vlt = -2.5 V\n",
+        "Vut =  2.5 V\n",
+        "Vh  =  5.0 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.8, Page No.350"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.9, Page No.360"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Sample and hold circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "del_Vin = 5.0                 # changes in input volage\n",
+      "FRR = 80.0                    # feedthrough rejection ratio\n",
+      "\n",
+      "#Calculations\n",
+      "math.sqrt(5)\n",
+      "del_Vout = del_Vin/math.pow(10,FRR/20)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Change in output = %.4f V = %.1f mV\"%(del_Vout,del_Vout*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Change in output = 0.0005 V = 0.5 mV\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.10, Page No. 365"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Threshold voltages and frequency of oscillation ( refer fig.8.72)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 86*10**3                 # Resistor R1\n",
+      "R2 = 100*10**3                # Resistor R2\n",
+      "Vcc = 15.0                    # positive saturation voltage\n",
+      "Vee = -15.0                   # negative saturation voltage\n",
+      "Rf = 100*10**3                # feedback resistance\n",
+      "C = 0.1*10**-6                # capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "Vut = R1*Vcc/(R1+R2)\n",
+      "Vlt = R1*Vee/(R1+R2) \n",
+      "fo = 1/(2*Rf*C*math.log((Vcc-Vlt)/(Vcc-Vut)))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(i)  Vut =  %.2f V\\n(ii) Vlt = %.2f \\n(iii)fo  =  %.0f Hz\"%(Vut,Vlt,fo))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i)  Vut =  6.94 V\n",
+        "(ii) Vlt = -6.94 \n",
+        "(iii)fo  =  50 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.11, Page No. 365"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/Chapter_9.ipynb b/Op-amp_and_linear_integrated_circuits_/Chapter_9.ipynb
new file mode 100755
index 00000000..78e40f6d
--- /dev/null
+++ b/Op-amp_and_linear_integrated_circuits_/Chapter_9.ipynb
@@ -0,0 +1,49 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9: Analog Multiplier Circuits"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.1, Page No.385"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Op-amp_and_linear_integrated_circuits_/screenshots/ex_3_14.png b/Op-amp_and_linear_integrated_circuits_/screenshots/ex_3_14.png
new file mode 100755
index 00000000..b2707bff
Binary files /dev/null and b/Op-amp_and_linear_integrated_circuits_/screenshots/ex_3_14.png differ
diff --git a/Op-amp_and_linear_integrated_circuits_/screenshots/ex_3_33.png b/Op-amp_and_linear_integrated_circuits_/screenshots/ex_3_33.png
new file mode 100755
index 00000000..7ce1aef8
Binary files /dev/null and b/Op-amp_and_linear_integrated_circuits_/screenshots/ex_3_33.png differ
diff --git a/Op-amp_and_linear_integrated_circuits_/screenshots/ex_7_26.png b/Op-amp_and_linear_integrated_circuits_/screenshots/ex_7_26.png
new file mode 100755
index 00000000..433f99ac
Binary files /dev/null and b/Op-amp_and_linear_integrated_circuits_/screenshots/ex_7_26.png differ
diff --git a/Physical_Chemistry/Chapter1.ipynb b/Physical_Chemistry/Chapter1.ipynb
new file mode 100755
index 00000000..f8eddd0e
--- /dev/null
+++ b/Physical_Chemistry/Chapter1.ipynb
@@ -0,0 +1,208 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:2d2c58ce752ea004ea6f79edf5332f8f357b96a3e81270455c238eb5e0794fa8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1 - matter and its atomic nature"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 3"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Angle required\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "l=0.71 *10**-8 #cm\n",
+      "n=200. #lines/cm\n",
+      "v=0.00145 #radian\n",
+      "#calculations\n",
+      "d=1/n\n",
+      "phi2=2*l/d +v**2\n",
+      "phi=math.sqrt(phi2)\n",
+      "#results\n",
+      "print '%s %.2e %s' %('Angle required =',phi,'radian')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Angle required = 2.22e-03 radian\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 6"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Interplanar distance\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "angle=37.25 #degrees\n",
+      "l=1.539 #A\n",
+      "n=1. #order\n",
+      "#calculations\n",
+      "d=n*l/(2*math.sin(angle/180.*math.pi))\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Interplanar distance =\",d,\"A\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Interplanar distance = 1.271 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the ratio of radii\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "r1=math.sqrt(3.)\n",
+      "r2=1\n",
+      "#calculations\n",
+      "ratio=r1-r2\n",
+      "#results\n",
+      "print '%s %.3f' %('Ratio of radii =',ratio)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ratio of radii = 0.732\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Avagadro number\n",
+      "#Initialization of variables\n",
+      "d=2.64 #g/cc\n",
+      "l=4.016*10**-8 #cm\n",
+      "n=4\n",
+      "M=25.94 #g/mol\n",
+      "#calculations\n",
+      "m=d*l**3 /n\n",
+      "N0=M/m\n",
+      "#results\n",
+      "print '%s %.3e %s' %(\"Avagadro number =\",N0,\" molecule/mol\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Avagadro number = 6.068e+23  molecule/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the angle required\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "import numpy\n",
+      "A=numpy.array([-1, -1, -1 ])\n",
+      "B=numpy.array([1, 1, -1])\n",
+      "#calculations\n",
+      "Ad=math.sqrt(1+1+1)\n",
+      "Bd=math.sqrt(1+1+1)\n",
+      "dot=numpy.dot(A,B) /(Ad*Bd) \n",
+      "theta=math.acos(dot) *180./math.pi\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Angle =\",theta,\" degrees\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Angle = 109.47  degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter10.ipynb b/Physical_Chemistry/Chapter10.ipynb
new file mode 100755
index 00000000..8ecfc863
--- /dev/null
+++ b/Physical_Chemistry/Chapter10.ipynb
@@ -0,0 +1,202 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:5f5d6cc341d2ab999dbe1e5a4234f374f3f6728cc09cef7967ab9dd07f94519e"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10 - Second law of thermodynamics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Change ine entropy\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "T2=100+273.2 #K\n",
+      "T1=50+273.2 #K\n",
+      "n=1 #mol\n",
+      "R=1.987 #cal/deg mol\n",
+      "#calculations\n",
+      "dS=5/2 *n*R*2.303*math.log10(T2/T1)\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Change in entropy =\",dS,\" eu\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Change in entropy = 0.572  eu\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 255"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Entropy change\n",
+      "#Initialization of variables\n",
+      "H=380 #cal\n",
+      "T=273.2+32.1 #K\n",
+      "#calculations\n",
+      "dS=H/T\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Entropy change =\",dS,\" eu\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entropy change = 1.24  eu\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 257"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Work done\n",
+      "#Initialization of variables\n",
+      "Ha=0\n",
+      "Hb=0\n",
+      "#calculations\n",
+      "H=Ha+Hb\n",
+      "q=H\n",
+      "U=0\n",
+      "w=q-H\n",
+      "#results\n",
+      "print '%s %d %s' %(\"Work done =\",w,\"J\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Work done = 0 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 260"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the change in entropy\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "prob=0.001\n",
+      "R=1.\n",
+      "N=6.023*10**23\n",
+      "#calculations\n",
+      "dS=1.987*2.303*math.log10(prob) /N\n",
+      "#results\n",
+      "print '%s %.1e %s' %(\"change in entropy =\",dS,\" eu\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "change in entropy = -2.3e-23  eu\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 263"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Change in A \n",
+      "#Initialization of variables\n",
+      "T=373.2 #K\n",
+      "c=1.987 #cal/deg\n",
+      "#calculations\n",
+      "w=c*T\n",
+      "A=-w\n",
+      "#results\n",
+      "print '%s %d %s' %(\"Change in A =\",A,\"cal\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Change in A = -741 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter11.ipynb b/Physical_Chemistry/Chapter11.ipynb
new file mode 100755
index 00000000..b98e97b5
--- /dev/null
+++ b/Physical_Chemistry/Chapter11.ipynb
@@ -0,0 +1,95 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:00f3ac32d98b00732d6a51b0562de7dab713dab2a42986a603b1c1eafc01eefd"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11 - Condensed phases"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 271"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Vapor Pressure\n",
+      "#Initialization of variables\n",
+      "A=7.6546\n",
+      "B=1686.8\n",
+      "T=60+273.2\n",
+      "#calculations\n",
+      "logP=A-B/T\n",
+      "P=10**logP\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\"Vapor Pressure =\",P,\"mm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vapor Pressure = 391.0 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the change in C values\n",
+      "#Initialization of variables\n",
+      "alpha=4.92*10**-5 #deg**-1\n",
+      "beta=7.85*10**-7 #atm**-1\n",
+      "d=8.93 #g/cm**3\n",
+      "T=298.15 #K\n",
+      "#calculations\n",
+      "dC=63.54*T*alpha**2 *1.987/(d*beta*82.06)\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Change in c values = \",dC,\" cal/deg mol\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Change in c values =  0.158  cal/deg mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter12.ipynb b/Physical_Chemistry/Chapter12.ipynb
new file mode 100755
index 00000000..92f1a058
--- /dev/null
+++ b/Physical_Chemistry/Chapter12.ipynb
@@ -0,0 +1,348 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:65a756a76ade1ec4b9387e0db33894444f541be4a142adaa7f77f2e89d036580"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12 - Physical Equilibria"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 295"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the no of degrees of freedom\n",
+      "#Initialization of variables\n",
+      "p=3\n",
+      "c=2\n",
+      "#calculations\n",
+      "f=2-p+c\n",
+      "#results\n",
+      "print '%s %d' %(\"no. of degrees of freedom =\",f)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "no. of degrees of freedom = 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 301"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the change in temperature\n",
+      "#Initialization of variables\n",
+      "T=273.2 #K\n",
+      "vw=1.0001 #cm^3 /g\n",
+      "vi=1.0907 #cm^3 /g\n",
+      "hf=79.7 #cal/g\n",
+      "P1=76 #cm\n",
+      "P2=4.6 #cm\n",
+      "#calculations\n",
+      "dT=T*(vw-vi)*(P2-P1)*13.6*980.7/(hf*4.184*10**7)\n",
+      "#results\n",
+      "print '%s %.4f %s' %(\"change in temperature =\",dT,\"deg\")\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "change in temperature = 0.0071 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 302"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the value of dPbydT\n",
+      "#Initialization of variables\n",
+      "V=6.84 #cm^3 /g\n",
+      "#calculations\n",
+      "dPbydT=-1.7*4.184*10**7 /(2.19*V*0.06*1.01*10**6)\n",
+      "#results\n",
+      "print '%s %d %s' %(\"dPbydT =\",dPbydT,\" atm/deg\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "dPbydT = -78  atm/deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 303"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Pressure\n",
+      "#Initialization of variables\n",
+      "P=6  #atm\n",
+      "T=273.2+25 #K\n",
+      "P=23.8 #mm\n",
+      "V=0.018 #lt/mol\n",
+      "R=0.08206 #lt am/deg mol\n",
+      "#calculations\n",
+      "dPa=V*P*4536/(R*T*760)\n",
+      "Pa=dPa+P\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\"Pressure =\",Pa,\" mm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Pressure = 23.9  mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 305"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the mole fraction of methanol in vapor\n",
+      "#Initialization of variables\n",
+      "x=0.25\n",
+      "Ps1=96 #mm\n",
+      "Ps2=43.9 #mm\n",
+      "#calculations\n",
+      "P1=x*Ps1\n",
+      "P2=(1-x)*Ps2\n",
+      "P=P1+P2\n",
+      "Xdash=P1/P\n",
+      "#results\n",
+      "print '%s %.3f' %(\"mole fraction of methanol in vapor =\",Xdash)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "mole fraction of methanol in vapor = 0.422\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 309"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Molal elevation constant\n",
+      "#Initialization of variables\n",
+      "Hv=539.6 #cal/g\n",
+      "T=273.2+100 #K\n",
+      "#calculations\n",
+      "Kb=1.987*T**2 /(1000*Hv)\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Molal elevation constant =\",Kb,\" deg /mole /kg\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Molal elevation constant = 0.513  deg /mole /kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 309"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Molecular weight of solute\n",
+      "#Initialization of variables\n",
+      "ms=0.5 #mol/kg\n",
+      "m=5 #g\n",
+      "mw=100 #g\n",
+      "Ws=1000 #g/kg\n",
+      "#calculations\n",
+      "Ma=m*Ws/(ms*mw)\n",
+      "#results\n",
+      "print '%s %d %s' %(\"Molecular weight of solute =\",Ma,\"g/mol \")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Molecular weight of solute = 100 g/mol \n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 311"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the molality of the solution\n",
+      "#Initialization of variables\n",
+      "dT=0.23 #C\n",
+      "Kb=1.86 #deg/mol/kg\n",
+      "#calculations\n",
+      "m=dT/Kb\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"molality of solution =\",m,\"m\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "molality of solution = 0.12 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 313"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Osmotic Pressure\n",
+      "#Initialization of variables\n",
+      "p=0.1 #m\n",
+      "T=30+273.2  #K\n",
+      "R=0.08206 #lt atm /deg/mol\n",
+      "P1=1 #atm\n",
+      "#calculations\n",
+      "w=1000/p\n",
+      "V=w/1000.\n",
+      "dP=R*T/V\n",
+      "P=dP+P1\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Osmotic Pressure =\",P,\" atm \")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Osmotic Pressure = 3.49  atm \n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter13.ipynb b/Physical_Chemistry/Chapter13.ipynb
new file mode 100755
index 00000000..79973f5f
--- /dev/null
+++ b/Physical_Chemistry/Chapter13.ipynb
@@ -0,0 +1,401 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:b3b8e3a1df1ec221a5596f2fd615d0e7df4ba35a4012aeb734d5820e6983cd64"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 13 - Thermodynamic changes accompanying chemical reaction"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the dHp value\n",
+      "#Initialization of variables\n",
+      "n1=10 #mol\n",
+      "n2=12 #mol\n",
+      "#calculations\n",
+      "dn=n1-n2\n",
+      "#results\n",
+      "print '%s %d %s' %(\"dHp = dEv-\",dn,\"*RT\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "dHp = dEv- -2 *RT\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 322"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Enthalpy\n",
+      "#Initialization of variables\n",
+      "Ht1=-22063 #cal\n",
+      "T=298.15 #K\n",
+      "#calculations\n",
+      "H=Ht1 +0.5293*T + 0.3398*10**-3 *T**2 - 2.039*10**-7 *T**3\n",
+      "#results\n",
+      "print '%s %d %s' %(\"Enthalpy =\",H,\"cal\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enthalpy = -21880 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 326"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Entropy\n",
+      "#Initialization of variables\n",
+      "Cp=0.797 #cal/deg/mol\n",
+      "#calculations\n",
+      "S=Cp/3.\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Entropy =\",S,\" eu/mol\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entropy = 0.266  eu/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 328"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Change in entropy\n",
+      "#Initialization of variables\n",
+      "T1=77.32 #K\n",
+      "P=1 #atm\n",
+      "T2=126 #K\n",
+      "Pc=33.5 #atm\n",
+      "#calculations\n",
+      "dS=27/32. *1.987*P/Pc *(T2/T1)**3\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Change in entropy =\",dS,\"eu/mol\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Change in entropy = 0.22 eu/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 330"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Change in entropy, enthalpy and free energy\n",
+      "#Initialization of variables\n",
+      "S1=57.47\n",
+      "S2=50.34\n",
+      "S3=49\n",
+      "H1=8.09\n",
+      "H2=21.06\n",
+      "H3=0\n",
+      "F1=12.39\n",
+      "F2=20.72\n",
+      "F3=0\n",
+      "#calculations\n",
+      "dS=S1-S2-0.5*S3\n",
+      "dH=H1-H2-0.5*H3\n",
+      "dF=F1-F2-0.5*F3\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Change in entropy =\",dS,\" eu\")\n",
+      "print '%s %.2f %s' %(\"\\n Change in enthalpy =\",dH,\" kcal\")\n",
+      "print '%s %.2f %s' %(\"\\n Change in free energy =\",dF,\"kcal\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Change in entropy = -17.37  eu\n",
+        "\n",
+        " Change in enthalpy = -12.97  kcal\n",
+        "\n",
+        " Change in free energy = -8.33 kcal\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 334"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the change in free energy\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P1=0.01\n",
+      "P2=0.1\n",
+      "P3=0.01\n",
+      "dF0=-54640 #cal\n",
+      "T=298.15 #K\n",
+      "R=1.987 #cal/deg\n",
+      "#calculations\n",
+      "Qp=P1/(P2*P3**0.5)\n",
+      "dF=dF0+R*T*math.log(Qp)\n",
+      "#results\n",
+      "print '%s %d %s' %(\"change in free energy =\",dF,\"cal\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "change in free energy = -54640 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 335"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Equilibrium constant\n",
+      "#Initialization of variables\n",
+      "print \"From table 13.4 \"\n",
+      "logKfwater=40.04724\n",
+      "logKfH2=0\n",
+      "logKfO2=0\n",
+      "#calculations\n",
+      "logK=logKfwater-logKfH2-0.5*logKfO2\n",
+      "K=10**logK\n",
+      "#results\n",
+      "print '%s %.4e' %(\"Equilibrium constant = \",K)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "From table 13.4 \n",
+        "Equilibrium constant =  1.1149e+40\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 339"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the value of Kc\n",
+      "#Initialization of variables\n",
+      "Kp=1.1*10**40 #atm**-0.5\n",
+      "dn=-0.5\n",
+      "R=0.08206 #lt atm/deg mol\n",
+      "T=298.15 #K\n",
+      "#calculations\n",
+      "Kc=Kp*(R*T)**(-dn)\n",
+      "#results\n",
+      "print '%s %.1e %s' %(\"Kc =\",Kc,\" (mol/lt)^-0.5\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Kc = 5.4e+40  (mol/lt)^-0.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 339"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Density of equilibrium mixture\n",
+      "#Initialization of variables\n",
+      "import numpy\n",
+      "Kp=0.141 #atm\n",
+      "P=1 #atm\n",
+      "nu=2\n",
+      "R=0.08206 #lt atm/deg mol\n",
+      "T=298.15 #K\n",
+      "M=92.02 #g/mol\n",
+      "#calculations\n",
+      "p=([Kp+ 4*P,0, -Kp])\n",
+      "z=numpy.roots(p)\n",
+      "alpha=z[0]\n",
+      "wbyV=P*M/(R*T*(1+(nu-1)*alpha))\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Density of the equilibrium mixture =\",wbyV,\" g/lt\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Density of the equilibrium mixture = 3.18  g/lt\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 340"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Final pressure after equilibrium\n",
+      "#Initialization of variables\n",
+      "x=0.5\n",
+      "P=0.468 #atm\n",
+      "#calculations\n",
+      "P1=x*P\n",
+      "P2=x*P\n",
+      "Kp=P1*P2\n",
+      "#results\n",
+      "print '%s %.4f %s' %(\"Final pressure after equilibrium =\",Kp,\" atm^2\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Final pressure after equilibrium = 0.0548  atm^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter14.ipynb b/Physical_Chemistry/Chapter14.ipynb
new file mode 100755
index 00000000..b1948488
--- /dev/null
+++ b/Physical_Chemistry/Chapter14.ipynb
@@ -0,0 +1,603 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:f51aa40f01063be99829dfd06c53ed90029beb6946cceb4b92469b9c50e91012"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 14 - Development and use of activity concepts"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 350"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the moles of Iodine present\n",
+      "#Initialization of variables\n",
+      "x1=0.0200\n",
+      "Kx=812.\n",
+      "#calculations\n",
+      "print \"Neglecting 2x in comparision with x1,\"\n",
+      "x=x1/Kx\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Moles of Iodine present =\",x,\" mole\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Neglecting 2x in comparision with x1,\n",
+        "Moles of Iodine present = 2.46e-05  mole\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 350 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Concentration of H+ ions\n",
+      "#Initialization of variables\n",
+      "Kc=1.749*10**-5 #M\n",
+      "n1=0.1 #mole\n",
+      "n2=0.01 #mole\n",
+      "#calculations\n",
+      "c=n1/n2 *Kc\n",
+      "#results\n",
+      "print '%s %.1e %s' %(\"Concentration of Hplus ions =\",c,\" M\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Concentration of Hplus ions = 1.7e-04  M\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 351"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Concentraton of Hplus ions\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "c=0.01 #M\n",
+      "kc=1.749*10**-5 #M\n",
+      "#calculations\n",
+      "x2=c*kc\n",
+      "x=math.sqrt(x2)\n",
+      "#results\n",
+      "print '%s %.1e %s' %(\"Concentration of Hplus ions =\",x,\"M\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Concentration of Hplus ions = 4.2e-04 M\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 351"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Concentration of OH- ions\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "K2=1.0008*10**-14 #m^2\n",
+      "K1=1.754*10**-5 #m\n",
+      "c=0.1\n",
+      "#calculations\n",
+      "print \"Neglecting x w.r.t c,\"\n",
+      "x2=c*K2/K1\n",
+      "x=math.sqrt(x2)\n",
+      "#results\n",
+      "print '%s %.1e %s' %(\"Concentration of OH minus ions =\",x,\" m\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Neglecting x w.r.t c,\n",
+        "Concentration of OH minus ions = 7.6e-06  m\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 352"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Concentration of H plus ions\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "print \"from table 14.1,\"\n",
+      "r1=7.47*10**-5 #m\n",
+      "r2=4.57*10**-3 #m\n",
+      "mp=1.008*10**-14 #m**2\n",
+      "#calculations\n",
+      "r3=r2/r1\n",
+      "mH2=r3*mp\n",
+      "mH=math.sqrt(mH2)\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Concentration of Hplus ions = \",mH,\" M\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "from table 14.1,\n",
+        "Concentration of Hplus ions =  7.85e-07  M\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 354"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Concentraton of H+ ions\n",
+      "#Initialization of variables\n",
+      "print \"from table 14.1,\"\n",
+      "import math\n",
+      "r1=1.75*10**-5 #m\n",
+      "r2=1.772*10**-4 #m\n",
+      "mp=1.008*10**-14 #m**2\n",
+      "#calculations\n",
+      "r3=r2/r1\n",
+      "mH2=r3*mp\n",
+      "mH=math.sqrt(mH2)\n",
+      "#results\n",
+      "print '%s %.1e %s' %(\"Concentration of Hplus ions =\",mH,\" M\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "from table 14.1,\n",
+        "Concentration of Hplus ions = 3.2e-07  M\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 355"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Concentration of H+ ions\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "c=1*10**-6 #m\n",
+      "K=1.754*10**-5 #m\n",
+      "Kp=1.008*10**-14 #m**2\n",
+      "#calculations\n",
+      "mH=c\n",
+      "#Iteration 1\n",
+      "mOH=Kp/mH\n",
+      "mA=mH-mOH\n",
+      "mHA=mH*mA/K\n",
+      "mH2=mH-mHA+mOH\n",
+      "#Iteration 2\n",
+      "mOH2=Kp/mH2\n",
+      "mA2=mH2-mOH2\n",
+      "mHA2=mH2*mA2/K\n",
+      "mH3=mH2-mHA2+mOH2\n",
+      "#From x2\n",
+      "x2=math.sqrt(Kp)\n",
+      "x1=c\n",
+      "mOH3=Kp/x2\n",
+      "y2=x1\n",
+      "#From x1\n",
+      "mOH4=Kp/c\n",
+      "mA4=mH-mOH4\n",
+      "mHA4=mH*mA4/K\n",
+      "y1=c-mHA4-mA4\n",
+      "#upon further iterations, we get\n",
+      "mHplus=mH3\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Concentration of H plus ions =\",mHplus,\"m\")\n",
+      "print 'The answer is a bit different due to rounding off error.'\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Concentration of H plus ions = 9.13e-07 m\n",
+        "The answer is a bit different due to rounding off error.\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 358"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the values of dS0, dH0, Krm\n",
+      "#Initialization of variableH\n",
+      "print \"From table 14-3,\"\n",
+      "HH=0\n",
+      "HHcoo=-98.\n",
+      "HHcooh=-98.\n",
+      "SH=0\n",
+      "SHcoo=21.9\n",
+      "SHcooh=39.1\n",
+      "KH=0\n",
+      "KHcoo=58.64\n",
+      "KHcooh=62.38\n",
+      "#calculationH\n",
+      "dH=HH+HHcoo-HHcooh\n",
+      "dS=SH+SHcoo-SHcooh\n",
+      "dK=KH+KHcoo-KHcooh\n",
+      "K=10**dK\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\" dS0 =\",dS,\"eu\")\n",
+      "print '%s %.1f %s' %(\"\\n dH0 =\",dH,\"kcal\")\n",
+      "print '%s %.2f' %(\"\\n log Krm =\",dK)\n",
+      "print '%s %.1e %s' %(\"\\n Krm =\",K,\"m\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "From table 14-3,\n",
+        " dS0 = -17.2 eu\n",
+        "\n",
+        " dH0 = 0.0 kcal\n",
+        "\n",
+        " log Krm = -3.74\n",
+        "\n",
+        " Krm = 1.8e-04 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 369"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Activity of cl and ca\n",
+      "#Initialization of variables\n",
+      "mca=0.01 #m\n",
+      "mcl=0.02 #m\n",
+      "#calculations\n",
+      "Mu=0.5*(mca*4 + mcl*1)\n",
+      "print \"From table 14-5,\"\n",
+      "aca=6 #A\n",
+      "acl=3 #A\n",
+      "print \"From table 14-6,\"\n",
+      "gaca=0.555 \n",
+      "gacl=0.843\n",
+      "Aca=gaca*mca\n",
+      "Acl=gacl*mcl\n",
+      "#results\n",
+      "print '%s %.4f' %(\"Activity of cl = \",Acl)\n",
+      "print '%s %.4f' %(\"\\n Activity of ca = \",Aca)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "From table 14-5,\n",
+        "From table 14-6,\n",
+        "Activity of cl =  0.0169\n",
+        "\n",
+        " Activity of ca =  0.0056\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 369"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Concentration of H+ ions\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "m1=0.1 #m\n",
+      "m2=0.1 #m\n",
+      "K=1.754*10**-5 #m\n",
+      "#calculations\n",
+      "mu=0.5*(m1*1**2 + m2*1**2)\n",
+      "print(\"From table 14.5,\")\n",
+      "aH=9 #A\n",
+      "aA=4.5 #A\n",
+      "print(\"From table 14.6\")\n",
+      "gH=0.825\n",
+      "gA=0.775\n",
+      "gHA=1\n",
+      "x1=gHA*K/(gH*gA)\n",
+      "print(\"Assuming x to be small w.r.t m1,\")\n",
+      "x=math.sqrt(x1*m1)\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Concentration of H plus ions =\",x,\" m\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "From table 14.5,\n",
+        "From table 14.6\n",
+        "Assuming x to be small w.r.t m1,\n",
+        "Concentration of H plus ions = 1.66e-03  m\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11 - pg 372"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the concentration of H+ ions\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "import numpy\n",
+      "K=1.754*10**-5 #m\n",
+      "c=0.1\n",
+      "#calculations\n",
+      "print(\"Neglecting x w.r.t c,\")\n",
+      "x2=K\n",
+      "x=math.sqrt(K)\n",
+      "mu=x\n",
+      "print(\"From tables 14-5 and 14-6,\")\n",
+      "gH=0.963\n",
+      "gA=0.960\n",
+      "x22=K/(gH*gA)\n",
+      "p=([1,x22, -c*x22])\n",
+      "z=numpy.roots(p)\n",
+      "alpha=z[1]\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"concentration of H plus ions =\",alpha,\" m\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Neglecting x w.r.t c,\n",
+        "From tables 14-5 and 14-6,\n",
+        "concentration of H plus ions = 1.37e-03  m\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12 - pg 373"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Solubility of Agcl\n",
+      "#Initialization of variables\n",
+      "print(\"From table 14.3\")\n",
+      "import math\n",
+      "K1=-13.5089\n",
+      "K2=-22.9792\n",
+      "K3=19.2218\n",
+      "c=0.1 #m\n",
+      "#calculations\n",
+      "logK=K1-K2-K3\n",
+      "K=10**logK\n",
+      "mu=0.5*(c*1**2 + c*1**2)\n",
+      "print(\"From tables 14-5 and 14-6,\")\n",
+      "gAg=0.745\n",
+      "gCl=0.755\n",
+      "x2=K/(gAg*gCl)\n",
+      "x=math.sqrt(x2)\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Solubility of Agcl =\",x,\"m\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "From table 14.3\n",
+        "From tables 14-5 and 14-6,\n",
+        "Solubility of Agcl = 1.78e-05 m\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13 - pg 376"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Concentration of Na and Cl in both cases\n",
+      "#Initialization of variables\n",
+      "import numpy\n",
+      "Cna=0.11\n",
+      "Ccl=0.1\n",
+      "#calculations\n",
+      "p=([99, - 2.1, Cna*Ccl])\n",
+      "z=numpy.roots(p)\n",
+      "alpha=z[1]\n",
+      "Na1=Cna-10*alpha\n",
+      "Cl1=Ccl-10*alpha\n",
+      "#results\n",
+      "print '%s %.4f %s' %(\" Concentration of Na in 1  =\",Na1,\"M\")\n",
+      "print '%s %.4f %s' %(\"\\n Concentration of Cl in 1  =\",Cl1,\" M\")\n",
+      "print '%s %.4f %s' %(\"\\n Concentration of Na in 2  =\",alpha,\"M\")\n",
+      "print '%s %.4f %s' %(\"\\n Concentration of Cl in 2  =\",alpha,\"M\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Concentration of Na in 1  = 0.0157 M\n",
+        "\n",
+        " Concentration of Cl in 1  = 0.0057  M\n",
+        "\n",
+        " Concentration of Na in 2  = 0.0094 M\n",
+        "\n",
+        " Concentration of Cl in 2  = 0.0094 M\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter15.ipynb b/Physical_Chemistry/Chapter15.ipynb
new file mode 100755
index 00000000..8ce44ac5
--- /dev/null
+++ b/Physical_Chemistry/Chapter15.ipynb
@@ -0,0 +1,322 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:633d2351722f70bcb5591bec1c39746dd272ca892962c335e9bfb247bc80518a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 15 - Electrochemistry"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 384"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Weight of copper leaving\n",
+      "#Initialization of variables\n",
+      "I=0.5 #amp\n",
+      "t=55  #min\n",
+      "we=31.77\n",
+      "#calculations\n",
+      "Q=I*t*60\n",
+      "n=Q/96496.\n",
+      "w=n*we\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Weight of copper leaving =\",w,\" g\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight of copper leaving = 0.543  g\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 386"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the values of tplus and tminus\n",
+      "#Initialization of variables\n",
+      "w1=0.7532 #g\n",
+      "w2=0.9972 #g\n",
+      "wdep=0.4 #g\n",
+      "we=31.77 #g\n",
+      "#calculations\n",
+      "dn=w2/we - w1/we\n",
+      "t=dn/(wdep/we)\n",
+      "dne=wdep/we\n",
+      "dnmig=dn-dne\n",
+      "tplus=-dnmig/dne\n",
+      "tminus=1-tplus\n",
+      "#results\n",
+      "print '%s %.3f' %(\"tplus =\",tplus)\n",
+      "print '%s %.3f' %(\"\\n tminus=\",tminus)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "tplus = 0.390\n",
+        "\n",
+        " tminus= 0.610\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 393"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Equivalent conductance\n",
+      "#Initialization of variables\n",
+      "R1=312 #ohms\n",
+      "R2=1043 #ohms\n",
+      "c=0.01 #N\n",
+      "kdash=0.002768 #ohm^-1cm^-1\n",
+      "#calculations\n",
+      "k=kdash*R1\n",
+      "kdash2=k/R2\n",
+      "ambda=kdash2/(c/1000.)\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\"Equivalent conductance =\",ambda,\"ohm^-1 cm^2 equiv^-1\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Equivalent conductance = 82.8 ohm^-1 cm^2 equiv^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 393"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Conductance for acetic acid\n",
+      "#Initialization of variables\n",
+      "l1=349.8 \n",
+      "l2=40.9\n",
+      "#calculations\n",
+      "l=l1+l2\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\"Conductance for acetic acid =\",l,\" ohm^-1 cm^2\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Conductance for acetic acid = 390.7  ohm^-1 cm^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 395"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Specific conductanc\n",
+      "#Initialization of variables\n",
+      "l1=63.6\n",
+      "l2=79.8\n",
+      "n=1 #mg/lt\n",
+      "we=116.7 #g/equiv\n",
+      "#calculations\n",
+      "l=l1+l2\n",
+      "c=n*10**-3 /we\n",
+      "k=c*l/1000.\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Specific conductance =\",k,\" ohm^-1 cm^-1\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Specific conductance = 1.23e-06  ohm^-1 cm^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 402"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the SEP of the cell\n",
+      "#Initialization of variables\n",
+      "e1=0.763 #volt\n",
+      "e2=0.337 #volt\n",
+      "#calculations\n",
+      "e0=e1+e2\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Standard electrode potential of the cell =\",e0,\"volts\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Standard electrode potential of the cell = 1.100 volts\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 403"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Emf of the cell\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "aZn=0.1\n",
+      "aCu=0.01\n",
+      "e1=0.763 #volt\n",
+      "e2=0.337 #volt\n",
+      "#calculations\n",
+      "e0=e1+e2\n",
+      "Q=aZn/aCu\n",
+      "E=e0- 0.05915*math.log10(Q) /2\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Emf of the cell =\",E,\" volts\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Emf of the cell = 1.070  volts\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 410"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Decomposition potential\n",
+      "#Initialization of variables\n",
+      "e1=1.2 #volts\n",
+      "e2=0.15 #volts\n",
+      "e3=0.45 #volts\n",
+      "#calculations\n",
+      "E=e1+e2+e3\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\"Decomposition potential =\",E,\" volt\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Decomposition potential = 1.8  volt\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter16.ipynb b/Physical_Chemistry/Chapter16.ipynb
new file mode 100755
index 00000000..edd91fdd
--- /dev/null
+++ b/Physical_Chemistry/Chapter16.ipynb
@@ -0,0 +1,129 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:732bbb076f615c901ca952cd233aa9a732520f864fa8a5b9d8200618c4707cce"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 16 - Typical mechanisms and rate laws"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 422"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Rate constant\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "P1=69.2 #mm\n",
+      "P2=39.8#mm\n",
+      "t=20 #min\n",
+      "#calculations\n",
+      "k=2.303*math.log10(P1/P2) /(t*60.)\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Rate constant =\",k,\"sec^-1\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rate constant = 4.61e-04 sec^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 422"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Rate constant\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "t=10. #min\n",
+      "x=90.\n",
+      "#calculations\n",
+      "k=2.303*math.log10(100/(100-x)) /t\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Rate constant =\",k,\"min^-1\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rate constant = 0.230 min^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 427"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the rate constant\n",
+      "#Initialization of variables\n",
+      "t=242. #sec\n",
+      "P=229. #mm\n",
+      "P0=363. #mm\n",
+      "#calculations\n",
+      "k=(1./P -1./P0)/t\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"rate constant=\",k,\"sec^-1 mm^-1\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rate constant= 6.66e-06 sec^-1 mm^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter17.ipynb b/Physical_Chemistry/Chapter17.ipynb
new file mode 100755
index 00000000..6e295125
--- /dev/null
+++ b/Physical_Chemistry/Chapter17.ipynb
@@ -0,0 +1,183 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:4d58417f5757dcfb290ed1ee0e2191d724d6d044069d2c21c72e96a05505c726"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 17 - Resolving Kinetic data"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 446"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Order of the reaction\n",
+      "#Initialization of variablesx1=5\n",
+      "import math\n",
+      "from math import log\n",
+      "x2=20.\n",
+      "x1=5.\n",
+      "n1=7.49\n",
+      "n2=5.14\n",
+      "#calculations\n",
+      "n=(log(n1)-log(n2))/(log(100-x1) - log(100-x2))\n",
+      "#results\n",
+      "print '%s %.2f' %(\"Order of the reaction  = \",n)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Order of the reaction  =  2.19\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Order of the reaction\n",
+      "#Initialization of variablesx1=5\n",
+      "import math\n",
+      "from math import log\n",
+      "p2=169.\n",
+      "p1=363.\n",
+      "t1=410.\n",
+      "t2=880.\n",
+      "#calculations\n",
+      "ndash=(log(t2) - log(t1))/(log(p1) - log(p2))\n",
+      "n=ndash+1\n",
+      "#results\n",
+      "print '%s %.2f' %(\"Order of the reaction  = \",n)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Order of the reaction  =  2.00\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 454"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Activation energy and Z\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "R=1.987 #cal/deg/mol\n",
+      "k1=4.45*10**-5\n",
+      "k2=2.52*10**-6\n",
+      "T1=283+273.2 #K\n",
+      "T2=356+273.2 #K\n",
+      "#calculations\n",
+      "Ea=2.303*R*1.7530 /(1/T1 - 1/T2)\n",
+      "logZ= math.log10(k1) +Ea/(2.303*R*T1)\n",
+      "Z=10**logZ\n",
+      "#results\n",
+      "print '%s %d %s' %(\"Activation energy =\",Ea,\"cal/mol\")\n",
+      "print '%s %.1e %s' %(\"\\n Z =\",Z,\"lt /mol sec\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Activation energy = 38456 cal/mol\n",
+        "\n",
+        " Z = 5.7e+10 lt /mol sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 456"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Equlibrium constant\n",
+      "#Initialization of variables\n",
+      "g1=0.661\n",
+      "g2=0.899\n",
+      "g3=0.405\n",
+      "g4=0.803\n",
+      "g5=0.946\n",
+      "g6=0.614\n",
+      "k=1.33\n",
+      "#calculations\n",
+      "k0=k*g3/(g1*g2)\n",
+      "k2=k0*g4*g5/g6\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Equlibrium constant =\",k2,\"lt/mol min\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Equlibrium constant = 1.12 lt/mol min\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter18.ipynb b/Physical_Chemistry/Chapter18.ipynb
new file mode 100755
index 00000000..d460229d
--- /dev/null
+++ b/Physical_Chemistry/Chapter18.ipynb
@@ -0,0 +1,102 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:63ceed8607dc113635851a8fc16e00b5a679fa077f828a47388aa54622bce4ae"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 18 - Catalysis"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 472"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Volume \n",
+      "#Initialization of variables\n",
+      "V1=0.284 #cm^3 /g\n",
+      "V2=1.43 #cm^3 /g\n",
+      "P1=142.4 #mm\n",
+      "P2=760. #mm\n",
+      "#calculations\n",
+      "z=(1/V1 - 1/V2)/(1/P1 - 1/P2)\n",
+      "invVm=1/V2 - z/P2\n",
+      "Vm=1/invVm\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\"Volume =\",Vm,\"cm^3/g\")\n",
+      "print 'The answer in the textbook is a bit different due to rounding off error.'\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Volume = 20.5 cm^3/g\n",
+        "The answer in the textbook is a bit different due to rounding off error.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 477"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the total area\n",
+      "#Initialization of variables\n",
+      "Vm=2.86 #cc/g\n",
+      "P=1 #atm\n",
+      "R=82.06 #cm^3 atm/deg mol\n",
+      "T=273.2 #deg\n",
+      "N=6.023*10**23\n",
+      "sigma=16.2*10**-16 #cm^2 /molecule\n",
+      "#calculations\n",
+      "n=P*Vm/(R*T)\n",
+      "A=N*n*sigma\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"total area =\",A,\" cm^2 (g catalyst)^-1\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "total area = 1.24e+05  cm^2 (g catalyst)^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter19.ipynb b/Physical_Chemistry/Chapter19.ipynb
new file mode 100755
index 00000000..5b2d735e
--- /dev/null
+++ b/Physical_Chemistry/Chapter19.ipynb
@@ -0,0 +1,356 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:f00e66b23ba11c1502ba60271f6e9b549183dbf77dfd61ae21a7394bb7c1f4ce"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 19 - Photochemistry"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 488"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Overall transmittance\n",
+      "#Initialization of variables\n",
+      "r1=0.727\n",
+      "r2=0.407\n",
+      "#calculations\n",
+      "r3=r1*r2\n",
+      "#results\n",
+      "print '%s %.3f' %(\"Overall transmittance = \",r3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Overall transmittance =  0.296\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 488"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Extinction coefficient\n",
+      "import math\n",
+      "#Initialization of variables\n",
+      "r=0.450\n",
+      "c=0.02 #M\n",
+      "l=4 #cm\n",
+      "#calculations\n",
+      "e=-math.log10(r) /(c*l)\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Extinction coefficient =\",e,\"litres mole^-1 cm^-1\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Extinction coefficient = 4.33 litres mole^-1 cm^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 488"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Transmittance of the solution\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import log10\n",
+      "r1=0.850\n",
+      "r2=0.50\n",
+      "#calculations\n",
+      "Da=-log10(r1)\n",
+      "Db=-log10(r2)\n",
+      "D=Da+Db\n",
+      "r3=10**(-D)\n",
+      "#results\n",
+      "print '%s %.3f' %(\"Transmittance of solution =\",r3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Transmittance of solution = 0.425\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 491"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Extinction coefficient\n",
+      "#Initialization of variables\n",
+      "c=0.000025 #M\n",
+      "l=2 #cm\n",
+      "D=0.417\n",
+      "#calculations\n",
+      "e=D/(c*l)\n",
+      "#result\n",
+      "print '%s %d %s' %(\"Extinction coefficient =\",e,\" liters mole^-1 cm^-1\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Extinction coefficient = 8340  liters mole^-1 cm^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 491"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Kc for dissociation\n",
+      "#Initialization of variables\n",
+      "c=0.5 #M\n",
+      "c1=0.000025 #M\n",
+      "D2=0.280\n",
+      "D1=0.417\n",
+      "#calculations\n",
+      "c2=D2*c1/(D1)\n",
+      "dC=c1-c2\n",
+      "SCN=c- 6*c2 -4*dC\n",
+      "K=dC*SCN**2 /c2\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Kc for dissociation =\",K,\" M^2\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Kc for dissociation = 0.12  M^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 492"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the value of m\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import log\n",
+      "D2=0.249\n",
+      "D1=0.172\n",
+      "a2=0.00752\n",
+      "a1=0.00527\n",
+      "#calculations\n",
+      "m=(log(D2) -log(D1))/(log(a2) - log(a1))\n",
+      "#results\n",
+      "print '%s %.2f' %(\"m = \",m)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "m =  1.04\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 495"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Increase in optical density\n",
+      "#Initialization of variables\n",
+      "c=0.1 #M\n",
+      "V=100 #ml\n",
+      "v1=25 #ml\n",
+      "D=0.980\n",
+      "d1=0.090\n",
+      "d2=0.150\n",
+      "#calculations\n",
+      "a=v1*c/V\n",
+      "b=(V-v1)*c/V\n",
+      "Da=a*d1/c\n",
+      "Db=b*d2/c\n",
+      "Ddash=Da+Db\n",
+      "dD=D-Ddash\n",
+      "#results\n",
+      "print '%s %.3f' %(\"Increase in optical density =\",dD)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Increase in optical density = 0.845\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 496"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the value of lambda for the reaction to occur\n",
+      "#Initialization of variables\n",
+      "E=50000. #cal/mol\n",
+      "#calculations\n",
+      "lam=2.8593/E\n",
+      "#results\n",
+      "print '%s %d %s' %(\"For the reaction to occur lambda <\",lam*10**8,\"A\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For the reaction to occur lambda < 5718 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 497"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Amount of reactant disappeared\n",
+      "#Initialization of variables\n",
+      "lam=3000*10**-8 #cm\n",
+      "ield=0.420\n",
+      "Et=70000 #cal\n",
+      "#calculations\n",
+      "E=2.8593/lam\n",
+      "n=ield*Et/E\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Amount of reactant disappeared =\",n,\" mol\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Amount of reactant disappeared = 0.308  mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter2.ipynb b/Physical_Chemistry/Chapter2.ipynb
new file mode 100755
index 00000000..b7de8073
--- /dev/null
+++ b/Physical_Chemistry/Chapter2.ipynb
@@ -0,0 +1,172 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:2335de0a1036d6583f9ddb709f27717d7dd705b5f69b2600b20c842c855e802b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2 - Particles Atomic and subatomic"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Increase in kinetic energy\n",
+      "#Initialization of variables\n",
+      "m1=1.008142\n",
+      "m2=1.008982\n",
+      "#calculations\n",
+      "dm=m1-m2\n",
+      "dt=abs(dm) *931\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Increase in kinetic energy =\",dt,\"Mev\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Increase in kinetic energy = 0.782 Mev\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Thickness\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "d=8.642 #g/cc\n",
+      "M=112.41 #g/mol\n",
+      "ratio=0.01/100\n",
+      "nb=2400\n",
+      "#calculations\n",
+      "n=d*6.02*10**23 /M\n",
+      "sigma=nb*10**-24\n",
+      "x=-2.303*math.log10(ratio) /(sigma*n)\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Thickness =\",x,\"cm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thickness = 0.083 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Threshold\n",
+      "#Initialization of variables\n",
+      "M1=4\n",
+      "M2=14\n",
+      "E=-1.2 #Mev\n",
+      "#calculations\n",
+      "R1=1.5*10**-13 *(M1)**(1/3.)\n",
+      "R2=1.5*10**-13 *(M2)**(1/3.)\n",
+      "V1=2*7*(4.8*10**-10)**2 /(R1+R2)\n",
+      "V2=V1/(1.6*10**-6)\n",
+      "x=(M1+M2)*V2/M2\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\"Threshold =\",x,\" Mev\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Threshold = 4.3  Mev\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Time taken\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "t=1622. #years\n",
+      "per=1. #percent\n",
+      "#calculations\n",
+      "Nratio=1-per/100.\n",
+      "x=t*math.log10(Nratio) / math.log10(0.5)\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\"Time taken =\",x,\" years\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time taken = 23.5  years\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter3.ipynb b/Physical_Chemistry/Chapter3.ipynb
new file mode 100755
index 00000000..5b215119
--- /dev/null
+++ b/Physical_Chemistry/Chapter3.ipynb
@@ -0,0 +1,57 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:491d30e4e083aec11bc84fdc5735ea79764fcb01fd2223f482cd31ce71e9fd49"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3 - Waves and Quanta"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 83"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Vibrational degrees of freedom\n",
+      "#initialization of variables\n",
+      "atoms=5\n",
+      "#calculations\n",
+      "f=3*atoms\n",
+      "fvib=f-3-3\n",
+      "#results\n",
+      "print '%s %d' %(\"Vibrational degrees of freedom = \",fvib)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vibrational degrees of freedom =  9\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter4.ipynb b/Physical_Chemistry/Chapter4.ipynb
new file mode 100755
index 00000000..82fe5388
--- /dev/null
+++ b/Physical_Chemistry/Chapter4.ipynb
@@ -0,0 +1,171 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:567a331a7783164e40dcbd30f4cdd5679a7a2dc34fb757d2d02e98a98daba061"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4 - Molecular energy levels"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Moment of inertia\n",
+      "#initialization of variables\n",
+      "import math\n",
+      "B=10.34 #cm**-1\n",
+      "c=2.998*10**10 #cm/s\n",
+      "h=6.625*10**-27 #erg sec\n",
+      "#calculations\n",
+      "I=h/(8*math.pi**2 *B*c)\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Moment of inertia =\",I,\" g cm^2\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Moment of inertia = 2.71e-40  g cm^2\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Bond length\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "ma=1.0080\n",
+      "mb=35.457\n",
+      "Na=6.0232*10**23\n",
+      "I=2.707*10**-40 #g cm**2\n",
+      "#calculations\n",
+      "mu1=ma*mb/(ma+mb)\n",
+      "mu2=mu1/Na\n",
+      "r=math.sqrt(I/mu2)\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Bond length =\",r,\"cm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Bond length = 1.29e-08 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 110"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Force constant\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "c=2.998*10**10 #cm/s\n",
+      "wave=2990 #cm**-1\n",
+      "mu=1.627*10**-24 #g\n",
+      "#calculations\n",
+      "k=mu*(2*math.pi*c*wave)**2\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Force constant =\",k,\"dynes/cm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Force constant = 5.16e+05 dynes/cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 111"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the anharmonicity constant\n",
+      "#initialization of variables\n",
+      "l1=2886. #cm^-1\n",
+      "l2=5668. #cm^-1\n",
+      "#calculations\n",
+      "wave=2*l1-l2 \n",
+      "wave2= wave+l1\n",
+      "x=wave/(2*wave2)\n",
+      "#results\n",
+      "print '%s %.4f' %(\"anharmonicity constant = \",x)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "anharmonicity constant =  0.0174\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter6.ipynb b/Physical_Chemistry/Chapter6.ipynb
new file mode 100755
index 00000000..b154f805
--- /dev/null
+++ b/Physical_Chemistry/Chapter6.ipynb
@@ -0,0 +1,232 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:9bf5bbe9f730183d02f70c65bc17bfc01b5796cd6c1851929b94b0569d87691c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6 - valence electrons in molecules"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the wave function\n",
+      "#initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "a2=1/8.\n",
+      "#calculations\n",
+      "b2=1-a2\n",
+      "a1=sqrt(a2)\n",
+      "b1=sqrt(b2)\n",
+      "#results\n",
+      "print '%s %.2f %s %.2f %s' %(\" Wave function is\",a1, \"phi1 +\",b1,\"phi2\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Wave function is 0.35 phi1 + 0.94 phi2\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Bond angle\n",
+      "#initialization of variables\n",
+      "import math\n",
+      "sinu=2/math.sqrt(3.)\n",
+      "cosu=math.sqrt(2/3.)\n",
+      "#calculations\n",
+      "tanu=sinu/cosu\n",
+      "u=math.atan(sinu/cosu) *180/math.pi\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Bond angle =\",2*u,\"degrees\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Bond angle = 109.47 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Pauling strength\n",
+      "#initialization of variables\n",
+      "import math\n",
+      "cosu=1/math.sqrt(3.)\n",
+      "sinu=math.sqrt(2./3)\n",
+      "#calculations\n",
+      "f=1/2. + math.sqrt(3.) /2. *cosu + math.sqrt(3./2) *sinu\n",
+      "#results\n",
+      "print ' %s %d' %(\"Pauling strength = \",f)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Pauling strength =  2\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 157"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Wave function\n",
+      "#initialization of variables\n",
+      "import math\n",
+      "alpha=60.*math.pi/180.\n",
+      "#calculations\n",
+      "cosa=math.cos(alpha)\n",
+      "sina=math.sin(alpha)\n",
+      "#results\n",
+      "print '%s %.2f %s %.2f %s' %(\"Wave function  =\",cosa,\"s +\",sina,\"pz\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Wave function  = 0.50 s + 0.87 pz\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 169"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Bond energy\n",
+      "#initialization of variables\n",
+      "DHH=103. #kcal/mol\n",
+      "#calculations\n",
+      "DHHp=0.5*(DHH)\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\"Bond energy =\",DHHp,\"kcal/mol\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Bond energy = 51.5 kcal/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 174"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Exchange energy\n",
+      "#initialization of variables\n",
+      "DHH=42 #kcal/mol\n",
+      "#calculations\n",
+      "DHHp=0.5*(DHH)\n",
+      "#results\n",
+      "print '%s %.1f %s' %(\"Exchange energy =\",DHHp,\"kcal/mol\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Exchange energy = 21.0 kcal/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter7.ipynb b/Physical_Chemistry/Chapter7.ipynb
new file mode 100755
index 00000000..c4d52fe6
--- /dev/null
+++ b/Physical_Chemistry/Chapter7.ipynb
@@ -0,0 +1,301 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:163d017a43636b203253208922a2be0b72d9894b37f4d97c9da43a5e9b39c875"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7 - Gases and Introductory stastical thermodynamics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 192"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Gas constant\n",
+      "#Initialization of variables\n",
+      "h=76. #cm\n",
+      "d=13.5951 #g/cc\n",
+      "g=980.655 #cm/s^2\n",
+      "T=273.15 #K\n",
+      "v=22414.6 #cm^3 /mol\n",
+      "#calculations\n",
+      "P=h*d*g\n",
+      "R=P*v/(T)\n",
+      "#results\n",
+      "print '%s %.3e %s' %(\"Gas constant =\",R,\"ergs/deg. mol\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Gas constant = 8.315e+07 ergs/deg. mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 192"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the R value in calories\n",
+      "#Initialization of variables\n",
+      "cal=4.184*10**7 #ergs\n",
+      "R=8.315*10**7 #ergs/deg/mol\n",
+      "#calculations\n",
+      "Rdash=R/cal\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"R in calories =\",Rdash,\" cal/ deg mol\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R in calories = 1.987  cal/ deg mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 192"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the root mean square velocity\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "R=8.315*10**7 #ergs/deg/mol\n",
+      "T=273.2 #deg\n",
+      "M=4 #g/mol\n",
+      "#calculations\n",
+      "u2=3*T*R/M\n",
+      "u=sqrt(u2)\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"root mean square velocity =\",u,\" cm/sec\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "root mean square velocity = 1.31e+05  cm/sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 194"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Partial pressure of N2, O2 and CO2\n",
+      "#Initialization of variables\n",
+      "n1=2.\n",
+      "n2=10.\n",
+      "n3=3.\n",
+      "P=720. #mm of Hg\n",
+      "#calculations\n",
+      "n=n1+n2+n3\n",
+      "x1=n1/n\n",
+      "P1=x1*P\n",
+      "x2=n2/n\n",
+      "P2=x2*P\n",
+      "x3=n3/n\n",
+      "P3=x3*P\n",
+      "#results\n",
+      "print '%s %d %s' %(\"\\n Partial pressure of N2 =\",P1,\"mm\")\n",
+      "print '%s %d %s' %(\"\\n Partial pressure of O2 =\",P2,\" mm\")\n",
+      "print '%s %d %s' %(\"\\n Partial pressure of CO2 =\",P3,\"mm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        " Partial pressure of N2 = 96 mm\n",
+        "\n",
+        " Partial pressure of O2 = 480  mm\n",
+        "\n",
+        " Partial pressure of CO2 = 144 mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 197"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Total energy\n",
+      "#Initialization of variables\n",
+      "T=273.2+25 #K\n",
+      "n=1 #mol\n",
+      "R=1.987 #cal/deg mol\n",
+      "#calculations\n",
+      "Etr=1.5*n*R*T\n",
+      "Erot=1.5*n*R*T\n",
+      "Evib=0\n",
+      "Eel=0\n",
+      "Etot=Etr+Erot+Evib+Eel\n",
+      "#results\n",
+      "print '%s %d %s' %(\"Total energy =\",Etot,\"cal\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total energy = 1777 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 199"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Molecular diameter of He\n",
+      "#Initialization of variables'\n",
+      "import math\n",
+      "b=24.1 #cm^2/mol\n",
+      "N=6.023*10**23 #mole^-1\n",
+      "#calculations\n",
+      "d=(3*b/(2*math.pi*N))**(1./3)\n",
+      "#results\n",
+      "print '%s %.2e %s' %(\"Molecular diameter of He =\",d,\" cm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Molecular diameter of He = 2.67e-08  cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Volume\n",
+      "#Initialization of variables\n",
+      "P=100. #atm\n",
+      "T=200. #K\n",
+      "n=1. #mole\n",
+      "R=0.08206 #l atm/deg mol\n",
+      "print \"From psychrometric charts,\"\n",
+      "Tc=126.2 #K\n",
+      "Pc=33.5 #K\n",
+      "#calculations\n",
+      "Pr=P/Pc\n",
+      "Tr=T/Tc\n",
+      "print \"From z charts,\"\n",
+      "z=0.83\n",
+      "V=z*n*R*T/P\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Volume =\",V,\" liter\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "From psychrometric charts,\n",
+        "From z charts,\n",
+        "Volume = 0.136  liter\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter8.ipynb b/Physical_Chemistry/Chapter8.ipynb
new file mode 100755
index 00000000..7ee5bb63
--- /dev/null
+++ b/Physical_Chemistry/Chapter8.ipynb
@@ -0,0 +1,218 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:56268e206bf92e9d6c6eb22d6025708a41b67ffcb1bed3001f2340e19e39294f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8 - First law of thermodynamics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Joules required\n",
+      "#Initialization of variables\n",
+      "P=1.0132*10**6 #dynes/cm**2\n",
+      "A=100 #cm**2\n",
+      "z=10 #cm\n",
+      "#calculations\n",
+      "w=P*A*z*10**-7\n",
+      "#results\n",
+      "print '%s %.4e %s' %(\"Joules =\",w,\"J\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Joules = 1.0132e+02 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Calories required\n",
+      "#Initialization of variables\n",
+      "P=1.0132*10**6 #dynes/cm**2\n",
+      "A=100 #cm**2\n",
+      "z=10 #cm\n",
+      "#calculations\n",
+      "w=P*A*z*10**-7\n",
+      "cal=w/4.184\n",
+      "#results\n",
+      "print '%s %.3f %s' %(\"Calories =\",cal,\"cal\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Calories = 24.216 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Heat of vaporization and the Change in energy\n",
+      "#Initialization of variables\n",
+      "T=373.2 #K\n",
+      "n=1. #mol\n",
+      "qp=9720. #cal/mol\n",
+      "#calculations\n",
+      "q=n*qp\n",
+      "w=1.987*T\n",
+      "dE=q-w\n",
+      "#results\n",
+      "print '%s %d %s' %(\"Heat of vaporization =\",q,\"cal\")\n",
+      "print '%s %d %s' %(\"\\n Change in energy =\",dE,\"cal\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Heat of vaporization = 9720 cal\n",
+        "\n",
+        " Change in energy = 8978 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 222"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the work done, Heat transferred and change in energy\n",
+      "#Initialization of variables\n",
+      "T1=25+273. #K\n",
+      "T2=25+273. #K\n",
+      "#calculations\n",
+      "print \"Since, T2=T1, dE=0\"\n",
+      "dE=0\n",
+      "w=0\n",
+      "q=dE+w\n",
+      "#results\n",
+      "print '%s %d %s' %(\"\\n Work done = \",w,\"J\")\n",
+      "print '%s %d %s' %(\"\\n Heat transferred =\",q,\"J\")\n",
+      "print '%s %d %s' %(\"\\n Change in energy = \",dE,\"J\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Since, T2=T1, dE=0\n",
+        "\n",
+        " Work done =  0 J\n",
+        "\n",
+        " Heat transferred = 0 J\n",
+        "\n",
+        " Change in energy =  0 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 224"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Vibrational energy\n",
+      "#Initialization of variables\n",
+      "R=1.987 #cal/deg mol\n",
+      "#calculations\n",
+      "Cvtr=1.5*R\n",
+      "Cvrot=1.5*R\n",
+      "Cvt=Cvtr+Cvrot\n",
+      "print \"Observed Cv= 6.43\"\n",
+      "Cvobs=6.43\n",
+      "Cvvib=Cvobs-Cvt\n",
+      "#results\n",
+      "print '%s %.2f %s' %(\"Vibrational =\",Cvvib,\"cal/deg mol\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Observed Cv= 6.43\n",
+        "Vibrational = 0.47 cal/deg mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter9.ipynb b/Physical_Chemistry/Chapter9.ipynb
new file mode 100755
index 00000000..dad780a4
--- /dev/null
+++ b/Physical_Chemistry/Chapter9.ipynb
@@ -0,0 +1,103 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d8a3e9ee0b493342a03a360ee0ca604f80a61547dd5ed22ef022608eecfbe8c4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9 - Boltzmann distribution law"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 235"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the no of particles\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "r=2.1*10**-6 #cm\n",
+      "n=889\n",
+      "x=0.1 #cm\n",
+      "T=298.2 #K\n",
+      "#calculations\n",
+      "V=4/3 *math.pi *r**3\n",
+      "rho=19.3-1\n",
+      "ffd=rho*V*980.7\n",
+      "eps=ffd*x\n",
+      "logN=-6.96*10**-14 /(2.303*1.38*10**-16 *T)\n",
+      "N=10**logN *n\n",
+      "#results\n",
+      "print '%s %.1f' %(\"No. of particles =\",N)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "No. of particles = 163.9\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 237"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Temperature\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "x=1. #percent\n",
+      "wave=1595 #cm**-1\n",
+      "#calculations\n",
+      "E=2.8593*wave\n",
+      "Nratio=(100-x)/x\n",
+      "logN=math.log10(Nratio)\n",
+      "T=E/(2.303*1.987*logN)\n",
+      "#results\n",
+      "print '%s %d %s' %(\"Temperature =\",T,\"K\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Temperature = 499 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter_1.ipynb b/Physical_Chemistry/Chapter_1.ipynb
new file mode 100755
index 00000000..ca5fb73c
--- /dev/null
+++ b/Physical_Chemistry/Chapter_1.ipynb
@@ -0,0 +1,533 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1833f0f72d4fcfdfc05d274c870f8929bea706e80b14f9268d3407df8540de4d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1 - Kinetic theory of gases and equations of state"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - Pg 5"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the final volume of the gas\n",
+      "#initialisation of variables\n",
+      "V= 22.394 #l\n",
+      "m= 32 #gm\n",
+      "T= 0 #C\n",
+      "T1= 50. #C\n",
+      "p= .8 #atm\n",
+      "#CALCULATIONS\n",
+      "V1= (T1+273.16)*V/(T+273.16)\n",
+      "V2= (1./p)*V1\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' Volume = ',V2,'lt')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Volume =  33.116 lt\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - Pg 7"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate gthe argon temperature\n",
+      "#initialisation of variables\n",
+      "P= 1 #atm\n",
+      "T= 0 #C\n",
+      "#CALCULATIONS\n",
+      "T1= 10*(T+273.2)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' %(' Argon temperature =',T1,' K')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Argon temperature = 2732.0  K\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - Pg 9"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Atomic Weight\n",
+      "#initialisation of variables\n",
+      "x= 0.0820544\n",
+      "T= 0 #C\n",
+      "l= 1.7826 #gl^-1atm^-1\n",
+      "#CALCULATIONS\n",
+      "M= x*(273.16+T)*l\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' Atomic Weight =',M,'gm mole^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Atomic Weight = 39.955 gm mole^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - Pg 11"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Molecular weight and molecular formula\n",
+      "#initialisation of variables\n",
+      "g=.270 #g\n",
+      "R=0.08205\n",
+      "T=296.4 #K\n",
+      "P=754.6/760.0 #atm\n",
+      "V=0.03576 #lt\n",
+      "m1= 12\n",
+      "m2= 19\n",
+      "m3= 35.46\n",
+      "yx=.57\n",
+      "#CALCULATIONS\n",
+      "M1=g*R*T/(P*V)\n",
+      "y=round(yx*M1/m3)\n",
+      "n=round((M1-m3*y+m2)/(2*m2+m1))\n",
+      "x=2*n-1\n",
+      "M= n*m1+x*m2+y*m3\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' %('Approximate molecular weight = ',M1,\"gms\")\n",
+      "print '%s %.2f %s' % (' Molecular weight =',M,' gms')\n",
+      "print '%s %d %s %d %s %d' %('Molecular formula is C',n,'F',x,'Cl',y)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Approximate molecular weight =  184.94 gms\n",
+        " Molecular weight = 187.38  gms\n",
+        "Molecular formula is C 2 F 3 Cl 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - Pg 14"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the pressure in both cases\n",
+      "#initialisation of variables\n",
+      "n= 10 #moles\n",
+      "R= 0.08205 #atml/molK\n",
+      "T= 300 #K\n",
+      "V= 4.86 #l\n",
+      "b= 0.0643 #ml mol**-1\n",
+      "a= 5.44 #l**2\n",
+      "#CALCULATIONS\n",
+      "P= n*R*T/V\n",
+      "P1= (n*R*T/(V-n*b))-(a*n**2/V**2)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Pressure in case of perfect gas law=',P,' atm')\n",
+      "print '%s %.1f %s' % ('  \\n Pressure in case of vanderwaals equation =',P1,' atm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Pressure in case of perfect gas law= 50.6  atm\n",
+        "  \n",
+        " Pressure in case of vanderwaals equation = 35.3  atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - Pg 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the pressure of the gas\n",
+      "#initialisation of variables\n",
+      "n= 10 #moles\n",
+      "T= 300 #K\n",
+      "V= 4.86 #l\n",
+      "R= 0.08205 #atml/molK\n",
+      "v= 0.1417 #l\n",
+      "T1= 305.7 #K\n",
+      "#CALCULATIONS\n",
+      "b= v/2\n",
+      "a= 2*v*R*T1\n",
+      "P= ((n*R*T)/(V-n*b))*2.71**(-a*n/(V*R*T))\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Pressure =',P,' atm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Pressure = 32.8  atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - Pg 23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the root mean square velocity\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "T= 0 #C\n",
+      "T1= 100 #C\n",
+      "R= 8.314 #atm lit/mol K\n",
+      "n= 3\n",
+      "M= 2.016 #gm\n",
+      "M1= 28.02 #gm\n",
+      "M2= 146.1 #gm\n",
+      "#CALCULATIONS\n",
+      "u= sqrt(n*R*10**7*(T+273.2)/M)\n",
+      "u1= sqrt(n*R*10**7*(T+273.2)/M1)\n",
+      "u2= sqrt(n*R*10**7*(T+273.2)/M2)\n",
+      "u3= sqrt(n*R*10**7*(T1+273.2)/M)\n",
+      "u4= sqrt(n*R*10**7*(T1+273.2)/M1)\n",
+      "u5= sqrt(n*R*10**7*(T1+273.2)/M2)\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' root mean square velocity of H2 at 0 C  =',u*10**-4,' cm/sec')\n",
+      "print '%s %.3f %s' % (' \\n root mean square velocity of N2 at 0 C=',u1*10**-4,' cm/sec')\n",
+      "print '%s %.3f %s' % (' \\n root mean square velocity of SF6 at 0 C =',u2*10**-4,'cm/sec')\n",
+      "print '%s %.2f %s' % (' \\n root mean square velocity of H2 at 100 C =',u3*10**-4,' cm/sec')\n",
+      "print '%s %.3f %s' % (' \\n root mean square velocity of N2 at 100 C =',u4*10**-4,' cm/sec')\n",
+      "print '%s %.3f %s' % (' \\n root mean square velocity of SF6 at 100 C =',u5*10**-4,' cm/sec')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " root mean square velocity of H2 at 0 C  = 18.38  cm/sec\n",
+        " \n",
+        " root mean square velocity of N2 at 0 C= 4.931  cm/sec\n",
+        " \n",
+        " root mean square velocity of SF6 at 0 C = 2.160 cm/sec\n",
+        " \n",
+        " root mean square velocity of H2 at 100 C = 21.49  cm/sec\n",
+        " \n",
+        " root mean square velocity of N2 at 100 C = 5.764  cm/sec\n",
+        " \n",
+        " root mean square velocity of SF6 at 100 C = 2.524  cm/sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - Pg 34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the no. of collisions in He and N2\n",
+      "#Initialisation of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "P= 1 #at,\n",
+      "T= 300 #K\n",
+      "R= 82.05 #atm l/mol K\n",
+      "R1= 8.314\n",
+      "s= 4*10**-8 #cm\n",
+      "s1= 2*10**-8 #cm\n",
+      "m= 4 #gm\n",
+      "m1= 28 #gm\n",
+      "#CALCULATIONS\n",
+      "N= P*6.02*10**23/(R*T)\n",
+      "n= 2*s1**2*N**2*sqrt(math.pi*R1*10**7*T/m)\n",
+      "n1= 2*s**2*N**2*sqrt(math.pi*R1*10**7*T/m1)\n",
+      "#RESULTS\n",
+      "print '%s %.e %s' % (' no of collisions =',n,'collisions sec^-1 mol^-1')\n",
+      "print '%s %.2e %s' % (' \\n no of collisions =',n1,' collisions sec^-1 mol^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " no of collisions = 7e+28 collisions sec^-1 mol^-1\n",
+        " \n",
+        " no of collisions = 1.01e+29  collisions sec^-1 mol^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - Pg 36"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the viscosity of N2\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "from math import sqrt\n",
+      "M= 28 #gm\n",
+      "R= 8.314*10**7 #atm l/mol K\n",
+      "N= 6.023*10**23\n",
+      "T= 300 #K\n",
+      "s= 4*10**-8#cm\n",
+      "#CALCULATIONS\n",
+      "m= M/N\n",
+      "k= R/N\n",
+      "n= (5./16.)*sqrt(math.pi*m*k*T)/(math.pi*s**2)\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' viscosity =',n,'poise')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " viscosity = 1.53e-04 poise\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12 - Pg 45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Increase in energy per degree for 1 mole of gas\n",
+      "#initialisation of variables\n",
+      "n= 3\n",
+      "R= 2 #cal mol^-1 deg^-1\n",
+      "#CALCULATIONS\n",
+      "I= n*R\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' %(' Increase in energy =',I,'cal mol^-1 deg^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Increase in energy = 6.0 cal mol^-1 deg^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13 - Pg 51"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Dipole moment and percentage of ionic character\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "k= 1.38*10**-16\n",
+      "N= 6*10**23 #molecules\n",
+      "a= 105 #degrees\n",
+      "l= 0.957 #A\n",
+      "e= 4.8*10**-10 #ev\n",
+      "#CALCULATIONS\n",
+      "u= math.sqrt(9*k*2.08*10**4/(4*math.pi*N))\n",
+      "uh= u/(2*math.cos(a*math.pi/180/2.))\n",
+      "z= uh/(l*e*10**-8) \n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' Dipole moment of H2O=',u,'e.s.u.cm')\n",
+      "print '%s %.2e %s' % (' \\n Dipole moment of OH bond =',uh,'e.s.u.cm')\n",
+      "print '%s %.2f' % (' \\n fraction of ionic character =',z)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Dipole moment of H2O= 1.85e-18 e.s.u.cm\n",
+        " \n",
+        " Dipole moment of OH bond = 1.52e-18 e.s.u.cm\n",
+        " \n",
+        " fraction of ionic character = 0.33\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14 - Pg 52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the dielectric constant\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "u= 1.44*10**-18 #e.s.u\n",
+      "k= 3.8*10**-16 \n",
+      "T= 273. #k\n",
+      "N= 6.023*10**23 #molecules\n",
+      "v= 6. #cc\n",
+      "Vm= 44.8*10**3 #cc\n",
+      "#CALCULATIONS\n",
+      "Pm= v+(4*math.pi*N*u**2/(3*3*k*T))\n",
+      "r= Pm/Vm\n",
+      "k= (2*r+1)/(1-r)\n",
+      "#RESULTS\n",
+      "print '%s %.5f' % (' dielectric constant =',k)\n",
+      "print 'The answer is a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " dielectric constant = 1.00153\n",
+        "The answer is a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter_10.ipynb b/Physical_Chemistry/Chapter_10.ipynb
new file mode 100755
index 00000000..4ee0e2f1
--- /dev/null
+++ b/Physical_Chemistry/Chapter_10.ipynb
@@ -0,0 +1,635 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:a8663b753e53365cf46aa7f5948fd23b365bccc405a9c5b9305fa79e49b0f6dc"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10 - Chemical Kinetics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 543"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Pressure \n",
+      "#initialisation of variables\n",
+      "t= 3 #sec\n",
+      "P0= 200 #mm\n",
+      "k= 17.3 #mm/sec\n",
+      "P1= 104 #mm\n",
+      "#CALCULATIONS\n",
+      "P= P0-k*t\n",
+      "P2= P+P1\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' Pressure=',P2,' mm of Hg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Pressure= 252  mm of Hg\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 545"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Half time\n",
+      "#initialisation of variables\n",
+      "k= 2.63*10**-3 #min^-1\n",
+      "#CALCULATIONS\n",
+      "t1= 0.693/k\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Half time=',t1,'min')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Half time= 263.5 min\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 546"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Partial Pressure of the reactant\n",
+      "#initialisation of variables\n",
+      "P= 200. #mm\n",
+      "t= 30. #min\n",
+      "k= 2.5*10**-4 #sec^-1\n",
+      "#CALCULATIONS\n",
+      "P0= P/(10**(k*t*60/2.303))\n",
+      "P1= P-P0\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' Partial Pressure of reactant=',P1,'mm of Hg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Partial Pressure of reactant= 72 mm of Hg\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 548"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the no of atoms\n",
+      "#initialisation of variables\n",
+      "t= 5600*365*24*60.\n",
+      "x= 5 #atoms\n",
+      "#CALCULATIONS\n",
+      "k= 0.693/t\n",
+      "N= x/k\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' No of atoms=',N, 'atoms')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " No of atoms= 2.12e+10 atoms\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 548"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the time passed\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "t= 5600 #sec\n",
+      "r= 0.256\n",
+      "#CALCULATIONS\n",
+      "t1= (t/0.693)*2.303*math.log10(1/r)\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' Time=',t1,'years ago')\n",
+      "print 'The answer is a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Time= 11012 years ago\n",
+        "The answer is a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 549"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the first order rate constant and half life\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "t= 25.1 #hr\n",
+      "C= 0.004366 \n",
+      "C1= 0.002192\n",
+      "C2= 0.006649\n",
+      "#CALCULATIONS\n",
+      "r= (C-C1)/(C2-C1)\n",
+      "k= 2.303*math.log10(1/r)/t\n",
+      "t1= 0.693/k\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' %(' Time=',t1,' hr')\n",
+      "print '%s %.2e %s' %(' Time=',k,' hr')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Time= 24.2  hr\n",
+        " Time= 2.86e-02  hr\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 552"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Rate constant\n",
+      "#initialisation of variables\n",
+      "s= 18.6*10**4 #mm of hg\n",
+      "#CALCULATIONS\n",
+      "k= 1./s\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' Rate constant=',k,' (mm Hg)^-1 sec^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Rate constant= 5.38e-06  (mm Hg)^-1 sec^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 552"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the requried Pressure\n",
+      "#initialisation of variables\n",
+      "k= 1.14*10**-4 #sec^-1\n",
+      "k1= 5.38*10**-6 #sec^-1\n",
+      "#CALCULATIONS\n",
+      "P= k/k1\n",
+      "P2=0.01*P\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' Pressure=',P2,'mm of Hg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Pressure= 0.212 mm of Hg\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 555"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the no of molecules\n",
+      "#initialisation of variables\n",
+      "T= 600 #K\n",
+      "P= 1 #atm\n",
+      "R= 0.082 #atm lit/mol K\n",
+      "#CALCULATIONS\n",
+      "C= P/(R*T)\n",
+      "r= C**2*4*10**-6 \n",
+      "r1= 6*10**23*r\n",
+      "#RESULTS\n",
+      "print '%s %.1e %s' % (' No of molecules=',r1,'molecules l^-1 sec^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " No of molecules= 9.9e+14 molecules l^-1 sec^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 555"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the time required\n",
+      "#initialisation of variables\n",
+      "k= 6.3*10**2 #ml mole^-1 sec^-1\n",
+      "P= 400. #mm\n",
+      "T= 600. #K\n",
+      "R= 82.06\n",
+      "#CALCULATIONS\n",
+      "C= (P/760.)/(R*T)\n",
+      "t= 1/(9.*C*k)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' time=',t,' sec')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " time= 16.5  sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11 - pg 556"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the pressure of No2 in both cases\n",
+      "#initialisation of variables\n",
+      "pf2= 2.00 #mm Hg\n",
+      "y= 0.96 #mm Hg\n",
+      "Pn= 5 #mm Hg\n",
+      "#CALCULATIONS\n",
+      "pF2= pf2-y\n",
+      "pNO2= Pn-2*y\n",
+      "pNO2F= 2*y\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' pressure of NO2=',pNO2,'mm of Hg')\n",
+      "print '%s %.2f %s' % (' \\n pressure of NO2 after 30 sec=',pNO2F,'mm of Hg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " pressure of NO2= 3.08 mm of Hg\n",
+        " \n",
+        " pressure of NO2 after 30 sec= 1.92 mm of Hg\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13 - pg 561"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Rate constant\n",
+      "#initialisation of variables\n",
+      "k= 4*10**-6 #mol^-1 sec^-1\n",
+      "Kc= 73\n",
+      "#CALCULATIONS\n",
+      "K1= k*Kc/2\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' Rate constant=',K1,'l mol^-1 sec^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Rate constant= 1.46e-04 l mol^-1 sec^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14 - pg 568"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the activation energy\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "R= 1.987 #atm lit/mol K\n",
+      "T= 573.2 #K\n",
+      "T1= 594.6 #K\n",
+      "k= 3.95*10**-6 #mol^-1 sec^-1\n",
+      "k1= 1.07*10**-6 #mol^-1 sec^-1\n",
+      "#CALCULATIONS\n",
+      "H= R*T*T1*2.303*math.log10((k/k1))/(T1-T)\n",
+      "#RESULTS\n",
+      "print '%s %d %s' %(' activation energy=',H,'calmol^-1')\n",
+      "print 'The answers in the texbook are a bit different due to rounding off error'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " activation energy= 41338 calmol^-1\n",
+        "The answers in the texbook are a bit different due to rounding off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15 - pg 568"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the time required\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "H= 41300. #cal\n",
+      "T= 673. #K\n",
+      "T1= 595. #K\n",
+      "R= 1.987 #cal/mol K\n",
+      "K= 3.95*10**-6\n",
+      "P= 1 #atm\n",
+      "R1= 0.08205 #j/mol K\n",
+      "#CALCULATIONS\n",
+      "k2= math.e**(H*(T-T1)/(R*T*T1))*K\n",
+      "C= P/(R1*T)\n",
+      "t= 44.8/C\n",
+      "t2=R1*T*10**-2 /k2\n",
+      "#RESULTS\n",
+      "print '%s %d %s' %(' time =',t,'sec')\n",
+      "print '%s %d %s' %('Time required in case 2 = ',t2,'sec')\n",
+      "print 'The answers in the texbook are a bit different due to rounding off error'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " time = 2473 sec\n",
+        "Time required in case 2 =  2438 sec\n",
+        "The answers in the texbook are a bit different due to rounding off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16 - pg 569"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the collision diameter\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "H= 41300.\n",
+      "R= 1.987 #atm lit/mol K\n",
+      "T= 595. #K\n",
+      "M= 128. #gm\n",
+      "R1= 8.314*10**7 #atm lit/mol K\n",
+      "N= 6.02*10**23 #moleccules\n",
+      "k= 3.95*10**-6 #sec**-1\n",
+      "#CALCULATIONS\n",
+      "s= math.sqrt((k*10**3/(4*N))*(128/(math.pi*R1*T))**0.5*math.e**(H/(R*T)))\n",
+      "#RESULTS\n",
+      "print '%s %.3e %s' % (' collision diameter=',s,' cm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " collision diameter= 8.356e-09  cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 18 - pg 577"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Concentration of A and B\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "import numpy\n",
+      "from numpy import linalg\n",
+      "p= 20.3 #percent\n",
+      "p1= 1.77 #percent\n",
+      "I= 100.\n",
+      "n= 2.\n",
+      "l= 300. #l mol^-1 cm^-1\n",
+      "l1= 30. #l mol^-1 cm^-1\n",
+      "l2= 10. #l mol^-1 cm^-1\n",
+      "l3= 200. #l mol^-1 cm^-1\n",
+      "#CALCULATIONS\n",
+      "A= ([[n*l, n*l1],[n*l2, n*l3]])\n",
+      "b= ([[math.log10(I/p1)],[math.log10(I/p)]])\n",
+      "c= numpy.dot(numpy.linalg.inv(A),b)\n",
+      "R1=c[0]\n",
+      "R2=c[1]\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' Concentration of A =',R1,' mole l^-1')\n",
+      "print '%s %.2e %s' % (' \\n Concentration of B =',R2,' mole l^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Concentration of A = 2.76e-03  mole l^-1\n",
+        " \n",
+        " Concentration of B = 1.59e-03  mole l^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter_2.ipynb b/Physical_Chemistry/Chapter_2.ipynb
new file mode 100755
index 00000000..f3c80669
--- /dev/null
+++ b/Physical_Chemistry/Chapter_2.ipynb
@@ -0,0 +1,437 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e0f60b1374b6cd8ea6c7a7a98303a8b74644396bbd6f803eaeda82697f2fd3e7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2 - Structures of Condensed Phases"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 74"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the size of cubic unit cell\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "l= 1.5418 #A\n",
+      "a= 19.076 #degrees\n",
+      "d2= 1.444 #A\n",
+      "#CALCULATIONS\n",
+      "d= l/(2*math.sin(a*math.pi/180.))\n",
+      "a= math.sqrt(8*d2*d2)\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' % (' size of cubic unit cell =',a,'A')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " size of cubic unit cell = 4.0842 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Density of silver\n",
+      "#initialisation of variables\n",
+      "M= 107.88 #gm\n",
+      "z= 4\n",
+      "v= 4.086 #A\n",
+      "N= 6.023*10**23\n",
+      "#CALCULATIONS\n",
+      "d= z*M/(v**3*10**-24*N)\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' % (' Density of silver =',d,'gm cm^-3')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Density of silver = 10.5025 gm cm^-3\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the molecular weight\n",
+      "#initialisation of variables\n",
+      "d= 1.287 #g cm**-3\n",
+      "a= 123 #A\n",
+      "z= 4\n",
+      "#CALCULATIONS\n",
+      "M= d*6.023*10**23*a**3*10**-24/z\n",
+      "#RESULTS\n",
+      "print '%s %.1e %s' % (' molecular weight =',M,'gm ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " molecular weight = 3.6e+05 gm \n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 78"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the radius of silver atom\n",
+      "import math\n",
+      "#initialisation of variables\n",
+      "a= 4.086 #A\n",
+      "#CALCULATIONS\n",
+      "d= a*math.sqrt(2)\n",
+      "r= d/4.\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' radius of silver atom=',r,' A ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " radius of silver atom= 1.445  A \n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 99"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the surface tension\n",
+      "import math\n",
+      "#initialisation of variables\n",
+      "M= 38.3 #mg cm^-1\n",
+      "d= 13.55 #g cm^-3\n",
+      "p= 0.9982 #g cm^-3\n",
+      "g= 980.7 #cm/sec^2\n",
+      "l= 4.96  #cm\n",
+      "#CALCULATIONS\n",
+      "r= math.sqrt(M*10**-3/(d*math.pi))\n",
+      "R= r*p*g*l/2\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' surface tension =',R,' ergs cm^-2 ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " surface tension = 72.8  ergs cm^-2 \n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the dipole moment of water\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "r= 1.333\n",
+      "d= 0.9982 #g cm**-3\n",
+      "m= 18.02 #gm\n",
+      "Pm= 74.22 #cc\n",
+      "k= 8.314*10**7 \n",
+      "N= 6.023*10**23\n",
+      "T= 293 #k\n",
+      "#CALCULATIONS\n",
+      "Rm= ((r**2-1)/(r**2+2))*m/d\n",
+      "u= math.sqrt(9*k*T*(Pm-Rm)/(4*math.pi*N**2))\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' dipole moment of water =',u,'e.s.u ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " dipole moment of water = 1.84e-18 e.s.u \n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the radius of argon atom\n",
+      "#initialisation of variables\n",
+      "a= 1.66*10**-24 #cm**3\n",
+      "#CALCULATIONS\n",
+      "r= a**(1/3.)/10**-8\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' radius =',r,'A ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " radius = 1.18 A \n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the index of refraction\n",
+      "import math\n",
+      "#initialisation of variables\n",
+      "N= 6.023*10**23 #molecules\n",
+      "a= 10**-24\n",
+      "k= 0.89\n",
+      "cl= 3.60\n",
+      "M= 74.56 #gms\n",
+      "d= 1.989 #g/cm^3\n",
+      "#CACLULATIONS\n",
+      "Rm= 4*math.pi*N*(k+cl)*a/3\n",
+      "r= Rm*d/M\n",
+      "n= math.sqrt((2*r+1)/(1-r))\n",
+      "#RESULTS\n",
+      "print '%s %.3f' % (' index of refraction= ',n)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " index of refraction=  1.516\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the radius of K and Cl atoms\n",
+      "#initialisation of variables\n",
+      "v= 3.6 #cc\n",
+      "v1= 0.89 #cc\n",
+      "s= 3.146 #A\n",
+      "#CALCULATIONS\n",
+      "r= (v/v1)**(1/3.)\n",
+      "r1 = s/(1+r)\n",
+      "r2 = s-r1\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' radius of k+=',r1,'A ')\n",
+      "print '%s %.3f %s' % (' \\n radius of cl-=',r2,'A ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " radius of k+= 1.213 A \n",
+        " \n",
+        " radius of cl-= 1.933 A \n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "markdown",
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 107"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the angle of rotation\n",
+      "#initialisation of variables\n",
+      "g= 10 #gm\n",
+      "d= 1.038 #gm/mol\n",
+      "M= 100 #gm\n",
+      "x= 66.412\n",
+      "y= 0.127\n",
+      "z= 0.038\n",
+      "l= 20 #cm\n",
+      "#CALCULATIONS\n",
+      "p= g/(M/d)\n",
+      "X= x+y-z\n",
+      "ar= X*l*p/10.\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' angle of rotation=',ar,'degrees ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " angle of rotation= 13.81 degrees \n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11 - pg 108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the viscosity of toluene\n",
+      "#initialisation of variables\n",
+      "t= 68.9 #sec\n",
+      "t1= 102.2 #sec\n",
+      "p1= 0.866 #g/cm^3\n",
+      "p2= 0.998 #gm/cm^3\n",
+      "n= 0.01009 #dynesc/cm^2\n",
+      "#CALCULATIONS\n",
+      "N= n*t*p1/(t1*p2)\n",
+      "#RESULTS\n",
+      "print '%s %.5f %s' % (' viscosity of toluene=',N,'dyne sec/cm^2 ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " viscosity of toluene= 0.00590 dyne sec/cm^2 \n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter_3.ipynb b/Physical_Chemistry/Chapter_3.ipynb
new file mode 100755
index 00000000..09238726
--- /dev/null
+++ b/Physical_Chemistry/Chapter_3.ipynb
@@ -0,0 +1,878 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e18fb187eca74984e6f3523731bde87a33ea02f1017bfbe68a1eb5fa826002ce"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3 - First law of Thermodynamics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 129"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the increase in energy\n",
+      "#initialisation of variables\n",
+      "P= 0.0060 #atm\n",
+      "M=18.  #gm\n",
+      "L=80 #cal/gm\n",
+      "H=596.1 #cal/gm\n",
+      "#calculations\n",
+      "Hs=M*L+M*H\n",
+      "#results\n",
+      "print '%s %d %s' %('Net increase in energy = ',Hs,'cal')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Net increase in energy =  12169 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the increase in energy\n",
+      "#initialisation of variables\n",
+      "P= 0.0060 #atm\n",
+      "V1= 0.0181 #l\n",
+      "H= -10730 #cal\n",
+      "V2= 22.4 #l\n",
+      "#CALCULATIONS\n",
+      "W= (V2-P*V1)*(1.987/.08205)\n",
+      "E= H+W\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' increase in energy=',E,' cal ')\n",
+      "print 'The answer differs a bit from the textbook due to rounding off error'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " increase in energy= -10187  cal \n",
+        "The answer differs a bit from the textbook due to rounding off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 132"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the increase in energy\n",
+      "#initialisation of variables\n",
+      "T1= 70 #C\n",
+      "T2= 10 #C\n",
+      "Cp= 18 #cal mole^-1 deg^-1\n",
+      "P= 1 #atm\n",
+      "m= 18. #g\n",
+      "d= 0.9778 #g/ml\n",
+      "d1= 0.9997 #g/ml\n",
+      "e= 1.987 #cal\n",
+      "x= 82.05 #ml atm\n",
+      "#CALCULATIONS\n",
+      "H= Cp*(T1-T2)\n",
+      "E= H-(e/x)*P*((m/d)-(m/d1))\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' increase in energy=',E,'cal ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " increase in energy= 1080.0 cal \n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 132"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the conversion factor\n",
+      "#initialisation of variables\n",
+      "i= 1 #amp\n",
+      "r= 2 #ohms\n",
+      "t= 10 #min\n",
+      "dT= 2.73 #C\n",
+      "x= 0.1 #cal/deg\n",
+      "x1= 100 #cal/deg\n",
+      "x2= 5 #cal/deg\n",
+      "#CALCULATIONS\n",
+      "w= i**2*r*t*60\n",
+      "H= (x+x1+x2)*dT\n",
+      "E= w/H\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % ('conversion factor =',E,'cal ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "conversion factor = 4.18 cal \n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 137"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the heat at constant pressure and volume\n",
+      "#initialisation of variables\n",
+      "Cp= 6.0954 #cal /mol deg\n",
+      "Cp1= 3.2533*10**-3 #cal /mol deg\n",
+      "Cp2= 1.071*10**-6 #cal /mol deg\n",
+      "T= 100 #C\n",
+      "T1= 0 #C\n",
+      "R= 1.987 #atml/cal K\n",
+      "#CALULATIONS\n",
+      "H= Cp*(T-T1)+(Cp1/2)*((T+273.2)**2-(T1+273.2)**2)-(Cp2/3)*((T+273.2)**3-(T1+273.2)**3)\n",
+      "q= H-R*(T-T1)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Heat at constant pressure=',H,'cal ')\n",
+      "print '%s %.1f %s' % (' \\n Heat at constant volume=',q,'cal ')\n",
+      "print 'The answer differs a bit from the textbook due to rounding off error'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Heat at constant pressure= 703.4 cal \n",
+        " \n",
+        " Heat at constant volume= 504.7 cal \n",
+        "The answer differs a bit from the textbook due to rounding off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 140"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the work done in the process\n",
+      "#initialisation of variables\n",
+      "vl= 0.019 #l\n",
+      "vg= 16.07 #l\n",
+      "h= 1489. #mm of Hg\n",
+      "#CALCULATIONS\n",
+      "w= -(h/760)*(vl-vg)*(1.987/0.08206)\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' Work done=',w,'cal ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Work done= 761 cal \n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 141"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the minimum work in both cases\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "n= 2 #moles\n",
+      "R= 0.08206 #J/mol K\n",
+      "T= 25 #C\n",
+      "b= 0.0428 #lmole^-1\n",
+      "a= 3.61 #atm l^2 mole^-1\n",
+      "V1= 20. #l\n",
+      "V2= 1. #l\n",
+      "#CALCULATIONS\n",
+      "w1= n*1.987*(273.2+T)*math.log10(V1/V2) *2.303\n",
+      "w= (n*R*(273.2+T)*2.303*math.log10((V1-n*b)/(V2-n*b))-a*n**2*((1/V2)-(1/V1)))*(1.987/0.08206)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' minimum work=',w1,'cal ')\n",
+      "print '%s %.1f %s' % (' \\n minimum work=',w,'cal ')\n",
+      "print 'The answer differs a bit from the textbook due to rounding off error'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " minimum work= 3550.7 cal \n",
+        " \n",
+        " minimum work= 3319.5 cal \n",
+        "The answer differs a bit from the textbook due to rounding off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 144"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the final volume and temperature of the gas. Also calculate the work done in the process\n",
+      "#initialisation of variables\n",
+      "cv = 5.00 #cal mole^-1 deg^-1\n",
+      "R= 1.99 #cal mole^-1 deg^-1\n",
+      "p= 1 #atm\n",
+      "p1= 100. #atm\n",
+      "V= 75. #l\n",
+      "n= 3. #moles\n",
+      "R1= 0.08206 #cal/mol K\n",
+      "#CALCULATIONS\n",
+      "cp= cv+R\n",
+      "r= cp/cv\n",
+      "V1= V/(p1/p)**(1/r)\n",
+      "T2= p1*V1/(n*R1)\n",
+      "w= (p1*V1-p*V)*R/((r-1)*R1)\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' final volume of gas =',V1,'l ')\n",
+      "print '%s %d %s' % (' \\n final temperature of gas =',T2,'K ')\n",
+      "print '%s %d %s' % (' \\n Work done =',w,'cal ')\n",
+      "print 'The answer differs a bit from the textbook due to rounding off error'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " final volume of gas = 2.78 l \n",
+        " \n",
+        " final temperature of gas = 1130 K \n",
+        " \n",
+        " Work done = 12384 cal \n",
+        "The answer differs a bit from the textbook due to rounding off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 144"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the change in energy and enthalpy\n",
+      "#initialisation of variables\n",
+      "cv= 5 #cal mole^-1\n",
+      "P= 100 #atm\n",
+      "T= 1130 #K\n",
+      "T1= 812 #K\n",
+      "n= 3 #moles\n",
+      "R= 1.99 #cal/mole K\n",
+      "#CALCULTIONS\n",
+      "E= n*cv*(T1-T)\n",
+      "H= E+n*R*(T1-T)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' change in energy =',E,'cal ')\n",
+      "print '%s %.1f %s' % (' \\n change in enthalpy=',H,' cal ')\n",
+      "print 'The answer differs a bit from the textbook due to rounding off error'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " change in energy = -4770.0 cal \n",
+        " \n",
+        " change in enthalpy= -6668.5  cal \n",
+        "The answer differs a bit from the textbook due to rounding off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11 - pg 145"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the work done and final pressure\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "k= 1.435 \n",
+      "k1= 17.845*10**-3 #K**-1\n",
+      "k2= -4.165*10**-6 #K**-2\n",
+      "T= 200. #C\n",
+      "T1= 0. #C\n",
+      "P= 10. #atm\n",
+      "R= 1.987 #cal/mol K\n",
+      "k3= 3.422\n",
+      "#CALCULATIONS\n",
+      "W= k*(T-T1)+(k1/2)*((273+T)**2-(273+T1)**2)+(k2/3)*((273+T)**3-(273+T1)**3)\n",
+      "P2= (P/math.e**((k*math.log((273+T1)/(273+T))+k1*(T1-T)+(k2/2)*((273+T1)**2-(273+T)**2))/R))/100.\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' work done by methane =',W,'cal ')\n",
+      "print '%s %.2f %s' % (' \\n final pressure=',P2,'atm ')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " work done by methane = 1499 cal \n",
+        " \n",
+        " final pressure= 0.77 atm \n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12 - pg 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the fraction of liquid\n",
+      "#initialisation of variables\n",
+      "P= 100 #atm\n",
+      "P1= 1 #atm\n",
+      "R= 1.99 #cal/mol**-1 K**-1\n",
+      "k= 0.3 #atm**-1\n",
+      "E= 1600 #cal\n",
+      "T= -183 #C\n",
+      "T1= 0 #C\n",
+      "#CALCULATIONS\n",
+      "X= (k*3.5*R*(P-P1))/(3.5*R*(T1-T)+E)\n",
+      "#RESULTS\n",
+      "print '%s %.3f' % (' fraction of liquid = ',X)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " fraction of liquid =  0.072\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13 - pg 152"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the enthalpy change of the reaction\n",
+      "#initialisation of variables\n",
+      "H= -21.8 #kcal\n",
+      "H1= 3.3 #kcal\n",
+      "#CALCULATIONS\n",
+      "H2= H-H1\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Enthalpy =',H2,'kcal ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enthalpy = -25.1 kcal \n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14 - pg 153"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the heat of hydrogenation\n",
+      "#initialisation of variables\n",
+      "H= -68.317 #kcal\n",
+      "H1= -310.615 #kcal\n",
+      "H2= -337.234 #kcal\n",
+      "R= 1.987 #cal/mol^-1 K^-1\n",
+      "T= 298.2 #K\n",
+      "n= 1 #mole\n",
+      "n1= 1 #mole\n",
+      "n2= 1 #mole\n",
+      "#CALCULATIONS\n",
+      "E= H+H1-H2-(n-n1-n2)*R*T*10**-3\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' Heat of hydrogenation =',E,'kcal ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Heat of hydrogenation = -41.105 kcal \n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15 - pg 155"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the enthalpy of the process\n",
+      "#initialisation of variables\n",
+      "Hf= -196.5 #kcal\n",
+      "H= -399.14 #kcal\n",
+      "#CALCULATIONS\n",
+      "H1= (H-Hf)*1000\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' Enthalpy =',H1,' kcal ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enthalpy = -202640  kcal \n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16 - pg 157"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Enthalpy change\n",
+      "#initialisation of variables\n",
+      "H= -350.2 #kcal\n",
+      "H1= -128.67 #kcal\n",
+      "H2= -216.90 #kcal\n",
+      "#CALCULATIONS\n",
+      "H3= H-(H1+H2)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Enthalpy =',H3,'kcal ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enthalpy = -4.6 kcal \n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17 - pg 158"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the enthalpy of the process\n",
+      "#initialisation of variables\n",
+      "H= -40.023 #kcal\n",
+      "H1= -22.063 #kcal\n",
+      "#CALCULATIONS\n",
+      "H2= H-H1\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' Enthalpy =',H2,' kcal ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enthalpy = -17.960  kcal \n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 18 - pg 162"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the enthalpy change in the process\n",
+      "#initialisation of variables\n",
+      "H= -112.148 #k cal\n",
+      "H1= 101.99 #k cal\n",
+      "Hx=-112.148 #kcal\n",
+      "Hy=-111.015 #kcal\n",
+      "Hz=-.64\n",
+      "Hsol=-9.02\n",
+      "#CALCULATIONS\n",
+      "H2= H+H1\n",
+      "H3=2*Hx-2*Hy\n",
+      "H4=-10*Hz\n",
+      "H5=Hsol-5*Hz\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' Enthalpy in case 1=',H2,'k cal ')\n",
+      "print '%s %.3f %s' % (' Enthalpy in case 2=',H3,'k cal ')\n",
+      "print '%s %.1f %s' % (' Enthalpy in case 3=',H4,'k cal ')\n",
+      "print '%s %.2f %s' % (' Enthalpy in case 4=',H5,'k cal ')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enthalpy in case 1= -10.16 k cal \n",
+        " Enthalpy in case 2= -2.266 k cal \n",
+        " Enthalpy in case 3= 6.4 k cal \n",
+        " Enthalpy in case 4= -5.82 k cal \n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19 - pg 167"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the dE and dH in the process\n",
+      "#initialisation of variables\n",
+      "cp=18.\n",
+      "T2=373 #K\n",
+      "T1=298 #K\n",
+      "T3=403.2 #K\n",
+      "hvap=9713 #cal\n",
+      "H4= 0 #cal\n",
+      "E4= 0 #cal\n",
+      "a=7.1873\n",
+      "b=2.3733e-3\n",
+      "c=.2084e-6\n",
+      "R=1.987\n",
+      "#RESULTS\n",
+      "H1=cp*(T2-T1)\n",
+      "H2=hvap\n",
+      "H3=a*(T3-T2) + b/2 *(T3**2-T2**2) + c/3 *(T3**3-T2**3)\n",
+      "E1=H1\n",
+      "E2=H2-R*T2\n",
+      "E3=H3-R*(T3-T2)\n",
+      "H= H1+H2+H3+H4\n",
+      "E= E1+E2+E3+E4\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' Enthalpy=',H,'cal ')\n",
+      "print '%s %d %s' % (' \\n Energy=',E,' cal ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enthalpy= 11308 cal \n",
+        " \n",
+        " Energy= 10507  cal \n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 20 - pg 171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the enthalpy change \n",
+      "#initialisation of variables\n",
+      "H= -114009.8 #cal\n",
+      "x= -5.6146 #K**-1\n",
+      "y= 0.9466*10**-3 #K**-2\n",
+      "z= 0.1578*10**-6 #K**-3\n",
+      "T= 1000\n",
+      "#CALCULATIONS\n",
+      "H1= H+x*T+y*T**2+z*T**3\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' %(' Enthalpy =',H1,'cal ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enthalpy = -118520.0 cal \n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 21 - pg 173"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#caculate the temperature achieved\n",
+      "#Initialization of variables\n",
+      "import numpy\n",
+      "a=72.3639\n",
+      "b=36.2399e-3\n",
+      "c=3.7621e-6\n",
+      "H=214920\n",
+      "#calculations\n",
+      "vec=([-c/3,b/2,a,-H])\n",
+      "vec2=numpy.roots(vec)\n",
+      "vec22=(vec2[2])\n",
+      "#results\n",
+      "print '%s %.1f %s' %('The required temperature observed is', vec22,'K')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The required temperature observed is 2059.4 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 22 - pg 175"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the change in enthalpy\n",
+      "#initialisation of variables\n",
+      "T= 298 #K\n",
+      "R= 1.987 #atmcc/mol K\n",
+      "x= 128.16\n",
+      "y= 0.9241\n",
+      "H= -8739 #cal\n",
+      "n1= 10 #mol\n",
+      "n2= 12 #mol\n",
+      "#CALCULATIONS\n",
+      "E= (x/y)*H\n",
+      "H= (E+R*T*(n1-n2))/1000\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' %(' Enthalpy =',H,'kcal mole^-1 ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enthalpy = -1213.2 kcal mole^-1 \n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter_4.ipynb b/Physical_Chemistry/Chapter_4.ipynb
new file mode 100755
index 00000000..619fe75d
--- /dev/null
+++ b/Physical_Chemistry/Chapter_4.ipynb
@@ -0,0 +1,1022 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:a82e4bec145fb0d4efd67c857ae44efe430c89bfa64d07388861ee610e670b10"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4 - Second and Third laws of thermodynamics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 192"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the maximum efficiency in all cases\n",
+      "#initialisation of variables\n",
+      "T = 100. #C\n",
+      "T1= 25. #C\n",
+      "T2= 150. #C\n",
+      "T3= 357. #C\n",
+      "T4= 500. #C\n",
+      "T5= 2000. #C\n",
+      "T6= 5*10**6\n",
+      "T7= 1000. #C\n",
+      "#CALCULATIONS\n",
+      "e= (T-T1)/(T+273)\n",
+      "e1= (T2-T1)/(273+T2)\n",
+      "e2= (T3-T)/(273+T3)\n",
+      "e3= (T5-T4)/(T5+273)\n",
+      "e4= (T6-T7)/T6\n",
+      "#RESULTS\n",
+      "print '%s %.2f' % (' maximum efficiency in case 1= ',e)\n",
+      "print '%s %.2f' % (' \\n maximum efficiency in case 2 =  ',e1)\n",
+      "print '%s %.2f' % (' \\n maximum efficiency in case 3 =  ',e2)\n",
+      "print '%s %.2f' % (' \\n maximum efficiency in case 4 =  ',e3)\n",
+      "print '%s %.2f' % (' \\n maximum efficiency in case 5 =  ',e4)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " maximum efficiency in case 1=  0.20\n",
+        " \n",
+        " maximum efficiency in case 2 =   0.30\n",
+        " \n",
+        " maximum efficiency in case 3 =   0.41\n",
+        " \n",
+        " maximum efficiency in case 4 =   0.66\n",
+        " \n",
+        " maximum efficiency in case 5 =   1.00\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 194"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the maximum efficiency and minimum work\n",
+      "#initialisation of variables\n",
+      "T= 20. #C\n",
+      "T1= -10. #C\n",
+      "q= 1000. #cal\n",
+      "#CALCULATIONS\n",
+      "e= (273+T1)/(T-T1)\n",
+      "w= (T-T1)*q/(273+T1)\n",
+      "#RESULTS\n",
+      "print '%s %.1f' % (' maximum efficiency = ',e)\n",
+      "print '%s %d %s' % (' \\n minimum work =',w,'cal')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " maximum efficiency =  8.8\n",
+        " \n",
+        " minimum work = 114 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 197"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the net work done on and by the gas\n",
+      "#initialisation of variables\n",
+      "T= 1000 #K\n",
+      "T1= 400 #/K\n",
+      "w= 1000 #cal\n",
+      "E= 0 #cal\n",
+      "gam=7/5.\n",
+      "#CALCULATIONS\n",
+      "q= w-E\n",
+      "W= q*(T-T1)/T\n",
+      "q1= W-q\n",
+      "W1= -q1\n",
+      "dE=5/2.*(T1-T)\n",
+      "dH=7/2. *(T1-T)\n",
+      "w2=dE-E\n",
+      "w3=(T-T1)/(gam-1)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % ('net work done by gas=',W,' cal')\n",
+      "print '%s %.1f %s' % ('net work done on gas =',W1,'cal')\n",
+      "print '%s %.1f %s' %('Change in Internal energy = ',dE,'R cal')\n",
+      "print '%s %.1f %s' %('Change in Enthalpy = ',dH,'R cal')\n",
+      "print '%s %.1f %s' %('Work for adiabatic compression =',w3,'R cal')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "net work done by gas= 600.0  cal\n",
+        "net work done on gas = 400.0 cal\n",
+        "Change in Internal energy =  -1500.0 R cal\n",
+        "Change in Enthalpy =  -2100.0 R cal\n",
+        "Work for adiabatic compression = 1500.0 R cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 199"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the entropy of substances\n",
+      "#initialisation of variables\n",
+      "import numpy as np\n",
+      "Hv= np.array([1960.,1560.,4880.,37000.,5500.,27400.,60700.,9720.,30900.]) #cal mole^-1\n",
+      "Tb= np.array([112.,87.3,239.,1806.,259.,1180.,2466.,373.,1029.]) #K\n",
+      "#CALCULATIONS\n",
+      "Sv= np.round(Hv/Tb,1)\n",
+      "#RESULTS\n",
+      "print '%s' % (' Entropy (cal mole deg^-1)')\n",
+      "print Sv\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Entropy (cal mole deg^-1)\n",
+        "[ 17.5  17.9  20.4  20.5  21.2  23.2  24.6  26.1  30. ]\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 201"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the entropy at constant pressure and volume\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "T= 300. #K\n",
+      "T1= 400. #K\n",
+      "k= 6.0954\n",
+      "k1= 3.2533*10**-3\n",
+      "k2= -1.0171*10**-6\n",
+      "R= 1.98719 #cal/mol K\n",
+      "#CALCULATIONS\n",
+      "S= 2*(k*math.log(T1/T)+k1*(T1-T)+k2*(T1**2-T**2)/2)\n",
+      "S1= S-2*R*math.log(T1/T)\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' % (' Entropy=',S,' cal  deg^-1')\n",
+      "print '%s %.4f %s' % (' \\n Entropy =',S1,'cal  deg^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Entropy= 4.0865  cal  deg^-1\n",
+        " \n",
+        " Entropy = 2.9432 cal  deg^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the final temperature \n",
+      "#initialisation of variables\n",
+      "T1= 273.16 #K\n",
+      "R= 1.987 #cal /mol K\n",
+      "R1= 0.08205 #J /mol K\n",
+      "n= 10 #moles\n",
+      "V1= 22.4 #lit\n",
+      "a= 1.36\n",
+      "Cv= 4.9\n",
+      "#CALCULATIONS\n",
+      "T2= T1-(R*a*(n-1)/(R1*n*Cv*V1))\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' temperature=',T2,' K')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " temperature= 272.89  K\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the inversion Temperature\n",
+      "#initialisation of variables\n",
+      "a= 1.360 #l^2 atm mole^-1\n",
+      "b= 0.0317 #l mole^-1\n",
+      "R= 0.08205 #J/mol K\n",
+      "#CALCULATIONS\n",
+      "T= 2*a/(b*R)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % ('Inversion Temperature=',T,'K')\n",
+      "print 'The answer is a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Inversion Temperature= 1045.8 K\n",
+        "The answer is a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the joule thomson coefficient\n",
+      "#initialisation of variables\n",
+      "a= 1.360 #l^2 atm mole^-1\n",
+      "b= 0.0317 #l mole^-1\n",
+      "R= 0.08205 #J/mol K\n",
+      "R1= 1.987 #cal/mole K\n",
+      "Cp= 6.9 #cal mole^-1 deg^-1\n",
+      "T= 273.2 #K\n",
+      "#CALCULATIONS\n",
+      "u= ((2*a/(R*T))-b)/(Cp*(R/R1))\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' Joule thomson coefficient=',u,' atm^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Joule thomson coefficient= 0.315  atm^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12 - pg 221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the increase in entropy\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "p= 4/3. #atm\n",
+      "p1= 1 #atm\n",
+      "R= 1.9872 #cal /mole K\n",
+      "#CALCULATIONS\n",
+      "S= 2*R*math.log(p/p1)\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' %(' increase in entropy=',S,'cal deg^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " increase in entropy= 1.1434 cal deg^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Example 13 - pg 222"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the increase in entropy\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "p1= 1 #atm\n",
+      "R= 1.9872 #cal /mole K\n",
+      "#CALCULATIONS\n",
+      "S= 0 #Initial and final states are alike\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' %(' increase in entropy=',S,'cal deg^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " increase in entropy= 0.0000 cal deg^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14 - pg 222"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate rhe increase in entropy in both cases\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "T= 25. #C\n",
+      "T1= 100. #C\n",
+      "R= 1.9872 #cal /mole K\n",
+      "p= 1 #atm\n",
+      "p1= 10. #atm\n",
+      "#CALCULATIONS\n",
+      "S= 3.5*R*math.log((T1+273)/(T+273))\n",
+      "S1= S+R*math.log(p/p1)\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' increase in entropy in case 1 =',S,'cal deg^-1')\n",
+      "print '%s %.2f %s' % (' \\n increase in entropy in case 2 =',S1,'cal deg^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " increase in entropy in case 1 = 1.56 cal deg^-1\n",
+        " \n",
+        " increase in entropy in case 2 = -3.01 cal deg^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15 - pg 222"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the absolute entropy\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "S= 45.77 #cal deg^-1\n",
+      "T= 25. #C\n",
+      "T1= 100. #C\n",
+      "R= 1.9872 #cal /mole K\n",
+      "#CALCULATIONS\n",
+      "S0= S+ 3.5*R*math.log((T1+273)/(T+273))\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' absolute entropy=',S0,'cal deg^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " absolute entropy= 47.33 cal deg^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16 - pg 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the change in entropy\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "Cp= 18. #cal deg^-1\n",
+      "T= 0. #C\n",
+      "T1= -5. #C\n",
+      "H2= -1440. #cal\n",
+      "Cp1= 9. #cal deg^-1\n",
+      "H= 0.\n",
+      "#CALCULATIONS\n",
+      "T2= (-Cp*(T-T1)-H2+Cp1*(273.16+T))/Cp1\n",
+      "S= Cp*math.log((273.16+T)/(273.16+T1))-(Cp*(T-T1)/(T+273.16))\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' % (' Change in entropy=',S,'cal deg^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Change in entropy= 0.0031 cal deg^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 18 - pg 231"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Gibbs free energy\n",
+      "#initialisation of variables\n",
+      "H= -57.7979 #cal\n",
+      "H1= -68.3174 #cal\n",
+      "S= 45.106 #cal deg^-1\n",
+      "S1= 16.716 #cal deg^-1\n",
+      "T= 25 #C\n",
+      "#CALCULATIONS\n",
+      "H2= (H-H1)*1000\n",
+      "S2= S-S1\n",
+      "G= H2-(273.16+T)*S2\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Gibbs free energy=',G,'cal')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Gibbs free energy= 2054.7 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19 - pg 231"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Gibbs free energy\n",
+      "#initialisation of variables\n",
+      "H= -68317.4 #cal\n",
+      "S= 16.716 #cal\n",
+      "S1= 49.003 #cal\n",
+      "S2= 31.211 #cal\n",
+      "T= 25 #C\n",
+      "#CALCULATIONS\n",
+      "H1= 2*H\n",
+      "S3= 2*S-(S1+2*S2)\n",
+      "G= H1-(T+273.16)*S3\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Gibbs free energy=',G,'cal')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Gibbs free energy= -113380.4 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 20 - pg 232"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the gibbs free energy change\n",
+      "#initialisation of variables\n",
+      "H= -57.7979 #kcal\n",
+      "H1= -196.5 #kcal\n",
+      "S1=45.106\n",
+      "S2=6.49\n",
+      "S3=21.5\n",
+      "S4=31.211\n",
+      "T=298.16\n",
+      "#calculations\n",
+      "dH=3*H-H1\n",
+      "dS=3*S1+2*S2-S3-3*S4\n",
+      "dG=dH*1000-T*dS\n",
+      "#results\n",
+      "print '%s %d %s' %(\"Gibbs free energy change =\",dG,\"cal\")\n",
+      "print 'The answer is a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Gibbs free energy change = 13217 cal\n",
+        "The answer is a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 22 - pg 240"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Gibbs free energy and value of A in both cases\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "p= 1. #atm\n",
+      "p1= 3. #atm\n",
+      "R= 1.987 #cal/mole K\n",
+      "T= 27. #C\n",
+      "b= 0.0428 #l mole^-1\n",
+      "a= 3.61 #l^2 atm mole^-1\n",
+      "#CALCULATIONS\n",
+      "G= R*(273+T)*math.log(p/p1)\n",
+      "A= R*(273+T)*math.log(p/p1)\n",
+      "G1= R*(273+T)*math.log(p/p1)+(b-(a/(0.08205*(T+273))))*(p-p1)*(R/0.08205)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Gibs free energy=',G,'cal')\n",
+      "print '%s %.1f %s' % (' \\n Value of dA=',A,'cal')\n",
+      "print '%s %.1f %s' % (' \\n Gibs free energy=',G1,'cal')\n",
+      "print '%s %.1f %s' % (' \\n Value of dA=',A,'cal')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Gibs free energy= -654.9 cal\n",
+        " \n",
+        " Value of dA= -654.9 cal\n",
+        " \n",
+        " Gibs free energy= -649.9 cal\n",
+        " \n",
+        " Value of dA= -654.9 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 24 - pg 244"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the fugacities of both components\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "b= 0.0386 #l**2 atm mole**-1\n",
+      "a= 1.348 #l mole**-1\n",
+      "R= 0.08205 #cal /mole K\n",
+      "T= 25 #C\n",
+      "a1= 3.61 #l**2 atm mole**-1\n",
+      "b1= 0.0428 #l mole**-1\n",
+      "P= 50 #atm\n",
+      "P1= 1 #atm\n",
+      "#CALCULATIONS\n",
+      "Bn= b-(a/(R*(273.2+T)))\n",
+      "Bc= b1-(a1/(R*(273.2+T))) \n",
+      "Fn= P1*math.e**(Bn*P1/(R*(273.2+T)))\n",
+      "Fc= P1*math.e**(Bc*P1/(R*(273.2+T)))\n",
+      "Fn1= P*math.e**(Bn*P/(R*(273.2+T)))\n",
+      "Fc1= P*math.e**(Bc*P/(R*(273.2+T)))\n",
+      "#RESULTS\n",
+      "print '%s %.3f %.2f %s' % (' Fugacity of N2 at 1 and 50 atm are respectively =',Fn,Fn1,'atm')\n",
+      "print '%s %.3f %.2f %s' % (' \\n Fugacity of CO2 at 1 and 50 atm are respectively =',Fc,Fc1,'atm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Fugacity of N2 at 1 and 50 atm are respectively = 0.999 48.34 atm\n",
+        " \n",
+        " Fugacity of CO2 at 1 and 50 atm are respectively = 0.996 40.37 atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 25 - pg 245"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Increase in pressure in all cases\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "P1= 23.756 #atm\n",
+      "T= 25. #C\n",
+      "P2= 1. #atm\n",
+      "P3= 10. #atm\n",
+      "P4= 100. #atm\n",
+      "R= 82.02 #J/mole K\n",
+      "v= 18.07 #ml\n",
+      "#CALCULATIONS\n",
+      "p1= P1/760.\n",
+      "p2= 10**(math.log10(P1)+(v*(P2-p1)/(2.303*R*(273.2+T))))\n",
+      "p3= 10**(math.log10(P1)+(v*(P3-p1)/(2.303*R*(273.2+T))))\n",
+      "p4= 10**(math.log10(P1)+(v*(P4-p1)/(2.303*R*(273.2+T))))\n",
+      "x= -(P1-p2)*100/P1\n",
+      "x1= -(P1-p3)*100/P1\n",
+      "x2= -(P1-p4)*100/P1\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % ('Increase in pressure=',x,'percent')\n",
+      "print '%s %.2f %s' % ('Increase in pressure=',x1,' percent')\n",
+      "print '%s %.1f %s' % ('Increase in pressure=',x2,' percent')\n",
+      "print '%s %.3f %s' %('Vapor pressure at 1 atm',p2,'mm Hg')\n",
+      "print '%s %.3f %s' %('Vapor pressure at 10 atm',p3,'mm Hg')\n",
+      "print '%s %.3f %s' %('Vapor pressure at 100 atm',p4,'mm Hg')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Increase in pressure= 0.07 percent\n",
+        "Increase in pressure= 0.74  percent\n",
+        "Increase in pressure= 7.7  percent\n",
+        "Vapor pressure at 1 atm 23.773 mm Hg\n",
+        "Vapor pressure at 10 atm 23.932 mm Hg\n",
+        "Vapor pressure at 100 atm 25.577 mm Hg\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 26 - pg 247"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the pressure required\n",
+      "#initialisation of variables\n",
+      "H= 1436.3 #cal mole^-1\n",
+      "d= 0.9999 #g ml^-1\n",
+      "d1= 0.9168 #g ml^-1\n",
+      "P= 1. #atm\n",
+      "m= 18.02 #gm\n",
+      "R= 1.987 #cal/mole K\n",
+      "T= 2 #C\n",
+      "#CALCULATIONS\n",
+      "V= (P/d)-(P/d1)\n",
+      "H1= H*82.05/(m*R) \n",
+      "P1= H1*(-T)/(273*V)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' pressure required to decrease=',P1,'atm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " pressure required to decrease= 266.0 atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 27 - pg 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the heat of vapourisation\n",
+      "#initialisation of variables\n",
+      "H= 540. #cal gram ^-1\n",
+      "T= 95. #C\n",
+      "T1= 100. #C\n",
+      "m= 18. #gms\n",
+      "R= 1.987 #cal /mole K\n",
+      "P= 760. #mm of Hg\n",
+      "#CALCULATIONS\n",
+      "H1= m*H\n",
+      "P1= P/(10**(H1*(T1-T)/(2.303*R*(273+T)*(273+T1))))\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' heat of vapourisation=',P1,'mm of Hg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " heat of vapourisation= 636.0 mm of Hg\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 28 - pg 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the vapor pressure of water\n",
+      "#initialisation of variables\n",
+      "H= 9720 #cal mole^-1\n",
+      "P= 1 #atm\n",
+      "R= 1.987 #cal /mole K\n",
+      "T= 100 #C\n",
+      "T1= 95 #C\n",
+      "#CALCULATIONS\n",
+      "r= P*H/(R*(273+T)**2)\n",
+      "dP= r*(T1-T)\n",
+      "P1= (P+dP)*626/0.824\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' vapour pressure=',P1,'mm Hg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " vapour pressure= 626 mm Hg\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 29 - pg 250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the vapour pressure\n",
+      "#initialisation of variables\n",
+      "G= 145 #cal\n",
+      "R= 1.987 #cal/mole K\n",
+      "T= 95 #C\n",
+      "#CALCULATIONS\n",
+      "P= 10**(-G/(2.303*R*(273+T)))*(624/0.820)\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' vapour pressure=',P,'mm Hg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " vapour pressure= 624 mm Hg\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 30 - pg 250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the molar heat of vapourisation\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "R= 1.987 #cal/mole K\n",
+      "T1= 25 #C\n",
+      "T2= 76.8 #C\n",
+      "P2= 760. #mm\n",
+      "P1= 115. #mm\n",
+      "#CALCULATIONS\n",
+      "H= 2.303*R*(273.2+T1)*(273.2+T2)*math.log10(P2/P1)/(T2-T1)\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' molar heat of vapourisation=',H,'cal mole^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " molar heat of vapourisation= 7561 cal mole^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter_5.ipynb b/Physical_Chemistry/Chapter_5.ipynb
new file mode 100755
index 00000000..98aa3041
--- /dev/null
+++ b/Physical_Chemistry/Chapter_5.ipynb
@@ -0,0 +1,767 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:18c54e3b106846f46428edc2ce784211e8ed1cb16969a115044ec2bc914626ae"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5 - The phase rule and solutions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 261"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the molality of the mixture\n",
+      "#initialisation of variables\n",
+      "m= 98.08 #gms\n",
+      "d= 1.102 #g ml^-1\n",
+      "m1= 165.3 #gm\n",
+      "v= 1000 #ml\n",
+      "wt=.15\n",
+      "#CALCULATIONS\n",
+      "form=d*v*wt/m\n",
+      "M= d*v-m1\n",
+      "norm=2*form\n",
+      "m2= m1*v/(m*M)\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' molality = ',m2,'molal')\n",
+      "print '%s %.3f %s' %('Formality = ',form,'gm formula wt/l')\n",
+      "print '%s %.3f %s' %('Normality = ',norm,'N')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " molality =  1.799 molal\n",
+        "Formality =  1.685 gm formula wt/l\n",
+        "Normality =  3.371 N\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 272"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Increase in enthalpy\n",
+      "#initialisation of variables\n",
+      "T= -40 #C\n",
+      "v= 217.4 #cm^3\n",
+      "r= 8.8 # atm deg^-1\n",
+      "m= 18 #gms\n",
+      "#CALCULATIONS\n",
+      "H= (273+T)*(-v*m/1000)*r*(1.987/82.05)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Increase in enthalpy =',H,'cal mole^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Increase in enthalpy = -194.3 cal mole^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the density\n",
+      "#initialisation of variables\n",
+      "T= 27 #C\n",
+      "R= 0.08206 #cal/mol T\n",
+      "W= 28.6 #gms\n",
+      "#CALCULATIONS\n",
+      "d= W/((273.2+T)*R)\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' density =',d,' g l^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " density = 1.161  g l^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 289"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the mole fraction and total pressure\n",
+      "#initialisation of variables\n",
+      "P= 408. #mm of Hg\n",
+      "P1= 141. # mm of Hg\n",
+      "p= 60.\n",
+      "#CALCULATIONS\n",
+      "P2= P*(100-p)/100.\n",
+      "P3= P1*p/100.\n",
+      "N= P2/(P2+P3)\n",
+      "P4= P2+P3\n",
+      "#RESULTS\n",
+      "print '%s %.3f' % (' mole fraction = ',N)\n",
+      "print '%s %.1f %s' % (' \\n total pressure =',P4,' mm of Hg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " mole fraction =  0.659\n",
+        " \n",
+        " total pressure = 247.8  mm of Hg\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 289"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the molality\n",
+      "#initialisation of variables\n",
+      "P2= 760. #mm of Hg\n",
+      "m2= 2.18*10**-3\n",
+      "v= 23.5 #ml\n",
+      "p= 21.\n",
+      "p1= 79.\n",
+      "#CALCULATIONS\n",
+      "K= P2*55.5/m2\n",
+      "K1= 760*55.5*22.4*10**3/v\n",
+      "m= 55.5*(p*760/(100*K))+55.5*(p1*760/(100*K1))\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' molality =',m,'molal')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " molality = 1.29e-03 molal\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 297"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the percentage of Br in the vapors in steam distillation\n",
+      "#initialisation of variables\n",
+      "Ph= 643. #mm of Hg\n",
+      "Mh= 18. #gms\n",
+      "Po= 117. #mm of Hg\n",
+      "Mo= 157. #gms\n",
+      "#CALCULATIONS\n",
+      "r= Ph*Mh/(Po*Mo)\n",
+      "P= 100*(1/(1+r))\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' percentage =',P,'percent')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " percentage = 61.3 percent\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 306"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the amounts of phases present at 375 and 370 C\n",
+      "#initialisation of variables\n",
+      "n= 1 \n",
+      "n1= 0.5\n",
+      "n3= 0.36\n",
+      "n4= 0.67\n",
+      "n5= 0.34\n",
+      "r= 3\n",
+      "#CALCULATIONS\n",
+      "A= (n-n1)/(n1-n3)\n",
+      "A1= r*(n4-n1)/(n1-n5)\n",
+      "#RESULTS\n",
+      "print '%s %.1f' % (' amount of phase at 375 C = ',A)\n",
+      "print '%s %.1f' % (' \\n amount of phase at 370 C = ',A1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " amount of phase at 375 C =  3.6\n",
+        " \n",
+        " amount of phase at 370 C =  3.2\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 311"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the vapour pressure\n",
+      "#initialisation of variables\n",
+      "m= 100 #gms\n",
+      "m1= 1 #gms\n",
+      "m2= 2 #gms\n",
+      "P= 23.756 #mm of Hg\n",
+      "n= 18.02 \n",
+      "n1= 60.06\n",
+      "n2= 342.3 \n",
+      "#CALCULATIONS\n",
+      "r= ((m1/n1)+(m2/n2))/((m1/n1)+(m2/n2)+(m/n))\n",
+      "dp= P*r\n",
+      "P1= P-dp\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' vapour pressure =',P1,' mm of Hg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " vapour pressure = 23.660  mm of Hg\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11 - pg 315"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the boiling point of solution\n",
+      "#initialisation of variables\n",
+      "kf= 0.514 #K/molal\n",
+      "m= 0.225 #molal\n",
+      "#CALCULATIONS\n",
+      "dT= kf*m\n",
+      "T2=dT+100.\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' boiling point =',T2,' C')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " boiling point = 100.116  C\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12 - pg 315"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the molecular weight of the solute\n",
+      "#initialisation of variables\n",
+      "kb= 2.64 #C gm\n",
+      "dT= 0.083 #C\n",
+      "m= 120 #gms\n",
+      "W2= 0.764 #gms\n",
+      "#CALCULATIONS\n",
+      "m2= dT/kb\n",
+      "M2= W2*1000/(m2*m)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' molecular weight of solute =',M2,'gms')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " molecular weight of solute = 202.5 gms\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13 - pg 318"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the value of n\n",
+      "#initialisation of variables\n",
+      "T= 176.5 #C\n",
+      "T1= 158.8 #C\n",
+      "Kf= 37.7\n",
+      "W1= 0.522 #gms\n",
+      "W2= 0.0386 #gms\n",
+      "m= 12 #gms\n",
+      "m1= 1 #gm\n",
+      "#CALCULATIONS\n",
+      "m3= (T-T1)/Kf\n",
+      "M2= W2*1000/(m3*W1)\n",
+      "r= M2/(m+m1)\n",
+      "#RESULTS\n",
+      "print '%s %d' % ('value of n = ',r)\n",
+      "print '%s %d %s' %('Molecular weight = ',M2,'gm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of n =  12\n",
+        "Molecular weight =  157 gm\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14 - pg 319"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the triple point of the system\n",
+      "#initialisation of variables\n",
+      "T= 273.2 #K\n",
+      "P= 0.0060 #atm\n",
+      "P1= 1 #atm\n",
+      "H= 3290 #cal\n",
+      "dV= -0.0907 #cc\n",
+      "#CALCULATIONS\n",
+      "dT= T*dV*(P-P1)/H\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' % (' triple point =',dT,'C') \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " triple point = 0.0075 C\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16 - pg 323"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the fraction of impurity in both cases\n",
+      "#initialisation of variables\n",
+      "n= 100.\n",
+      "K= 2.\n",
+      "V= 100. #ml\n",
+      "V2= 1000. #ml\n",
+      "n= 10.\n",
+      "n1= 100.\n",
+      "#CALCULATIONS\n",
+      "x= (K*V/(K*V+(V2/n)))**n\n",
+      "y= (K*V/(K*V+(V2/n1)))**n1\n",
+      "#RESULTS\n",
+      "print '%s %.4f' % (' fraction of impurity = ',x)\n",
+      "print '%s %.4f' % (' \\n fraction of impurity = ',y)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " fraction of impurity =  0.0173\n",
+        " \n",
+        " fraction of impurity =  0.0076\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17 - pg 328"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the molecular weight of the protein\n",
+      "#initialisation of variables\n",
+      "T= 27 #C\n",
+      "m= 0.635 #gms\n",
+      "V= 100 #ml\n",
+      "R= 0.08205 #cal/mol K\n",
+      "p= 2.35 #cm\n",
+      "#CALCULATIONS\n",
+      "M= 13.6*76*m*R*(T+273)*1000/(p*V)\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' molecular weight =',M,'gms')\n",
+      "print 'The answer is a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " molecular weight = 68747 gms\n",
+        "The answer is a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 18 - pg 328"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the osmotic pressure\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "R= 0.08205 #cal/mol K\n",
+      "v1= 0.0180#cc\n",
+      "N= 0.9820\n",
+      "T= 273.2\n",
+      "#CALCULATIONS\n",
+      "P= -R*T*math.log(N)/v1\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' osmotic pressure =',P,'atm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " osmotic pressure = 22.6 atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19 - pg 331"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the osmotic pressure\n",
+      "#initialisation of variables\n",
+      "kf= 1.86\n",
+      "dT= 0.402 #K\n",
+      "T= 310 #K\n",
+      "R= 0.08205 #cal/mol K\n",
+      "#CALCULATIONS\n",
+      "P= dT*T*R/kf\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' osmotic pressure =',P,'atm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " osmotic pressure = 5.50 atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 20 - pg 333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Degrees of ionisation\n",
+      "#initialisation of variables\n",
+      "m= 0.100 #gms\n",
+      "kf= 1.86 #K/gms\n",
+      "dT= 0.300 #K\n",
+      "v= 2\n",
+      "#CALCULATIONS\n",
+      "T= kf*m\n",
+      "i= dT/T\n",
+      "a= (i-1)/(v-1)\n",
+      "#RESULTS\n",
+      "print '%s %.2f' % (' Degrees of ionisation = ',a)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Degrees of ionisation =  0.61\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 21 - pg 335"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the lowering of the freezing point\n",
+      "#initialisation of variables\n",
+      "W= 0.0020 #M\n",
+      "W1= 0.0010 #M\n",
+      "W2= 0.0040 #M\n",
+      "T= 1.86 #C\n",
+      "n= 1 #moles\n",
+      "n1= 1 #moles\n",
+      "n2= 2 #moles\n",
+      "a= 1.122\n",
+      "#CALCULATIONS\n",
+      "dT= T*(W+W1+W2)\n",
+      "I= 0.5*(n**2*W+n1**2*W2+n2**2*W1)\n",
+      "g= 1-(2*a*I**1.5/(3*(W+W1+W2)))\n",
+      "dT1= g*dT\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' % (' lowering the freezing point =',dT1,'C ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " lowering the freezing point = 0.0125 C \n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 22 - pg 338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the activity coefficient of acetone and water\n",
+      "#initialisation of variables\n",
+      "p= 1820 #mm\n",
+      "n= 2.5 #mole percent\n",
+      "f= 0.470\n",
+      "P= 420 #mm\n",
+      "n1= 97.5 #percent\n",
+      "#CALCULATIONS\n",
+      "P1= p*n/(100*760)\n",
+      "F= f/P1\n",
+      "F1= (1-f)*760.*100/(P*n1)\n",
+      "#RESULTS\n",
+      "print '%s %.2f' % (' activity coefficient of acetone =  ',F)\n",
+      "print '%s %.2f' % (' \\n activity coefficient of water =  ',F1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " activity coefficient of acetone =   7.85\n",
+        " \n",
+        " activity coefficient of water =   0.98\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter_6.ipynb b/Physical_Chemistry/Chapter_6.ipynb
new file mode 100755
index 00000000..5c81a57c
--- /dev/null
+++ b/Physical_Chemistry/Chapter_6.ipynb
@@ -0,0 +1,711 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:b7db16137d946fe9cbf59acb0ec0858aab53c92eb7e66cd0a1bfe1d955619ce0"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6 - Chemical Equilibrium"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 353"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the value of Kc\n",
+      "#initialisation of variables\n",
+      "d= 3.880 #g l^-1\n",
+      "M= 208.3 #gm\n",
+      "P= 1 #atm\n",
+      "R= 0.08205 #cal/mol K\n",
+      "T= 473.1 #K\n",
+      "#CALCULATIONS\n",
+      "d1= M*P/(R*T)\n",
+      "d2= (d1-d)/d\n",
+      "Kp= d2**2/(1-d2**2)\n",
+      "Kc= Kp/(R*T)\n",
+      "#RESULTS\n",
+      "print '%s %.3e %s' %(' Kc =',Kc,'moles l^-1')\n",
+      "print '%s %.4f %s' %(' Kp =',Kp,'atm')\n",
+      "print '%s %.4f' %('Fraction dissociated = ',d2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Kc = 4.429e-03 moles l^-1\n",
+        " Kp = 0.1719 atm\n",
+        "Fraction dissociated =  0.3830\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 353"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the percentage of Pcl5 dissociated\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "P= 10 #atm\n",
+      "Kp= 0.1719\n",
+      "#CALCULATIONS\n",
+      "a= math.sqrt(Kp/(10+Kp))*100\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' percentage =',a,'percent')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " percentage = 13.000 percent\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 354"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the value of Kp\n",
+      "#initialisation of variables\n",
+      "P= 0.3429 #atm\n",
+      "p0= 0.3153 #atm\n",
+      "#CALCULATIONS\n",
+      "Kp= (2*(P-p0))**2/(2*p0-P)\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' Kp =',Kp,'atm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Kp = 1.06e-02 atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 355"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the pressure required\n",
+      "#initialisation of variables\n",
+      "Kp= 1.06*10**-2 #atm\n",
+      "a= 0.990\n",
+      "#CALCULATIONS\n",
+      "P= Kp*(1-a**2)/(4*a**2)\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' pressure =',P,' atm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " pressure = 5.38e-05  atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 357"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the pressure required\n",
+      "#initialisation of variables\n",
+      "G= 2054.7 #cal\n",
+      "R= 1.9872 #cal/mol K\n",
+      "T= 298.16 #K\n",
+      "#CALCULATIONS\n",
+      "P= 10**(-G/(2.303*T*R))\n",
+      "#RESULTS\n",
+      "print '%s %.5f %s' % (' pressure =',P,'atm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " pressure = 0.03120 atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 359"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the solubility product constant\n",
+      "#initialisation of variables\n",
+      "T= 25 #C\n",
+      "H= 25.31 #cal\n",
+      "H1= -40.02 #cal\n",
+      "H2= -30.36 #cal\n",
+      "S1= 17.67 #cal deg^-1\n",
+      "S2= 13.17 #cal deg^-1\n",
+      "S3= -22.97 #cal deg^-1\n",
+      "R= 1.987 #cal/mol K\n",
+      "#CALCULATIONS\n",
+      "H3= (H+H1-H2)*1000\n",
+      "S4= S1+S2+S3\n",
+      "G= H3-(273.2+T)*S4\n",
+      "Ka= 10**(-G/(2.303*R*(273.2+T)))\n",
+      "#RESULTS\n",
+      "print '%s %.1e' %(' solubility product constant = ',Ka)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " solubility product constant =  1.8e-10\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 359"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the increase in free energy\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "T= 25 #C\n",
+      "H= -36430 #cal\n",
+      "S= -4.19 #cal deg^-1\n",
+      "a= 0.1\n",
+      "f= 0.2\n",
+      "R= 1.987 #cal/mol K\n",
+      "#CALCULATIONS\n",
+      "G= H-(273.2+T)*S\n",
+      "Q= a*f/a**2\n",
+      "G1= G+R*(273.2+T)*math.log(Q)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' increase in free energy =',G1, 'cal')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " increase in free energy = -34769.8 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the free energy of formation\n",
+      "#initialisation of variables\n",
+      "H= 21600. #cal\n",
+      "S= 50.339 #cal\n",
+      "S1= 49.003 #cal\n",
+      "S2= 45.767 #cal\n",
+      "T= 298.2 #K\n",
+      "#CALCULATIONS\n",
+      "H1= 2*H\n",
+      "S1= 2*S-S1-S2\n",
+      "G= H1-T*S1\n",
+      "Gj= G/(2*1000)\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' free energy of formation =',Gj,'kcal')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " free energy of formation = 20.719 kcal\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the range of humidity\n",
+      "#initialisation of variables\n",
+      "R= 1.987 #cal/mol K\n",
+      "T= 25. #C\n",
+      "G1= -193.8 #cal\n",
+      "G2= -54.6 #cal\n",
+      "G3= -253.1 #cal\n",
+      "G4= -253.1 #cal\n",
+      "G5= -54.6 #cal\n",
+      "G6= -309.7 #cal\n",
+      "#CALCULATIONS\n",
+      "G= G1+G2-G3\n",
+      "Ph= 10**(-G*10**3/(2.303*R*(273.2+T)))\n",
+      "G0= G4+G5-G6\n",
+      "Ph1= 10**(-G0*10**3/(2.303*R*(273.2+T)))\n",
+      "p= Ph*100./Ph1\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' %(' range of humidity =',p,'percent')\n",
+      "print 'The answers are a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " range of humidity = 1.05 percent\n",
+        "The answers are a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11 - pg 362"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Ksp\n",
+      "#initialisation of variables\n",
+      "m= 10**-2\n",
+      "m1= 10**-22\n",
+      "G= -22.15 #kcal\n",
+      "G1= -5.81 #kcal\n",
+      "G2= 20.6 #kcal\n",
+      "T= 25 #C\n",
+      "R= 1.987 #cal/mol K\n",
+      "#CALCULATIONS\n",
+      "G3= G-(G1+G2)\n",
+      "Ksp= 10**(G3*10**3/(2.303*R*(273+T)))\n",
+      "#RESULTS\n",
+      "print '%s %.0e' %(' Ksp = ',Ksp)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Ksp =  8e-28\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12 - pg 366"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the heat of dissociation and standard free energy of iodine\n",
+      "import numpy\n",
+      "import math\n",
+      "import matplotlib\n",
+      "from matplotlib import pyplot\n",
+      "import warnings\n",
+      "#initialization of variables\n",
+      "R=1.987\n",
+      "T=1000 #K\n",
+      "T=numpy.array([973.,1073.,1173.,1274.])\n",
+      "kp=numpy.array([.175e-2,1.108e-2,4.87e-2,17.05e-2])\n",
+      "#calculations\n",
+      "Tx=1000./T\n",
+      "logkp=numpy.log10(kp)\n",
+      "slope, intercept = numpy.polyfit(Tx,logkp,1)\n",
+      "dH=-slope*2.303*R*1000.\n",
+      "dH0=dH-1.5*R*T\n",
+      "dG1=-R*T*logkp[1]*2.303\n",
+      "dGt=28720 #cal\n",
+      "dGI=(dGt/1000. + 4.63)/2\n",
+      "#results\n",
+      "print '%s %d %s' %('Heat of dissociation = ',dH,'cal')\n",
+      "print '%s %.2f %s' %('standard free energy of iodine atom = ',dGI,'kcal/mol')\n",
+      "pyplot.plot(Tx,logkp)\n",
+      "pyplot.xlabel('1000/T')\n",
+      "pyplot.ylabel('log Kp')\n",
+      "pyplot.title('Logarithm of Kp for dissociation of Iodine as a function of reciprocal temperature')\n",
+      "pyplot.show()\n",
+      "warnings.filterwarnings(\"ignore\")\n",
+      "print 'The answers are a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Heat of dissociation =  37460 cal\n",
+        "standard free energy of iodine atom =  16.68 kcal/mol\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x70f3750>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The answers are a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13 - pg 361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Partial pressure\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "T= 2000 #K\n",
+      "P= 1 #atm\n",
+      "G= 41438 #cal\n",
+      "R= 1.987 #cal/mol K\n",
+      "T2= 298.2 #K\n",
+      "T1= 2000 #K\n",
+      "H= 43200 #cal\n",
+      "#CALCULATIONS\n",
+      "Kp= 10**(-G/(2.303*R*T2))\n",
+      "Kp1= Kp*10**(H*(T-T2)/(2.303*R*T1*T2))\n",
+      "p= math.sqrt(Kp1*0.8*0.2)\n",
+      "#RESULTS\n",
+      "print '%s %.1e %s' % (' Partial pressure of NO =',p,'atm ')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Partial pressure of NO = 7.7e-03 atm \n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15 - pg 368"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Temperature required\n",
+      "#initialisation of variables\n",
+      "G0 = 0 #cal\n",
+      "G= 13200. #cal\n",
+      "T1= 298.2\n",
+      "H1= 23100. #cal\n",
+      "#CALCULATIONS\n",
+      "T= H1/((H1/T1)-(G/T1)+(G0/T1))\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Temperature =',T,' K ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Temperature = 695.8  K \n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16 - pg 373"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Equilibrium constant\n",
+      "#initialisation of variables\n",
+      "T= 2000 #K\n",
+      "R= 1.987 #cal /mol K\n",
+      "G= 31160 #cal\n",
+      "#CALULATIONS\n",
+      "Kp= 10**(-G/(2.303*R*T))\n",
+      "#RESULTS\n",
+      "print '%s %.2e' % ('Equilibrium constant =',Kp  )\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Equilibrium constant = 3.94e-04\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17 - pg 373"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the fraction of methane decomposed\n",
+      "#initialisation of variables\n",
+      "p= 0.08 #atm\n",
+      "#CALCULATIONS\n",
+      "a= (1-p)/(p+1)\n",
+      "#RESULTS\n",
+      "print '%s %.2f' % ('fraction =  ',a)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "fraction =   0.85\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 18 - pg 374"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the enthalpy of the reaction\n",
+      "#initialisation of variables\n",
+      "H= -57240. #cal\n",
+      "T= 2257. #C\n",
+      "Hh= -54.60 #cal\n",
+      "Ho= -38.56 #cal\n",
+      "HO= -57.08 #cal\n",
+      "#CALCULATIONS\n",
+      "H1= H-T*(2*Hh-2*Ho-HO)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Enthalpy =',H1,'cal')\n",
+      "print 'The answers in the textbook are a different due to a rounding off error '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enthalpy = -113665.0 cal\n",
+        "The answers in the textbook are a different due to a rounding off error \n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19 - pg 375"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Enthalpy\n",
+      "#initialisation of variables\n",
+      "H= -57797 #cal\n",
+      "T= 25 #C\n",
+      "Hh= 7.934 #cal\n",
+      "Ho= -6.788 #cal\n",
+      "HO= 6.912 #cal\n",
+      "#CALCULATIONS\n",
+      "H1= 2*H-(T+273.16)*(2*Hh+2*Ho-HO)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Enthalpy =',H1,'cal ')\n",
+      "print 'The answers in the textbook are a different due to a rounding off error '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enthalpy = -114216.5 cal \n",
+        "The answers in the textbook are a different due to a rounding off error \n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter_7.ipynb b/Physical_Chemistry/Chapter_7.ipynb
new file mode 100755
index 00000000..d0564a44
--- /dev/null
+++ b/Physical_Chemistry/Chapter_7.ipynb
@@ -0,0 +1,1029 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3529f6dd0800b2bdaab8573a3a6af2c519dc83ab93935a987777c3348bc812ea"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7 - Electrochemistry"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 391"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Avagadro number\n",
+      "#initialisation of variables\n",
+      "e= 1.6016*10**-19 #coloumb\n",
+      "F= 96493 #\n",
+      "#CALCULATIONS\n",
+      "N= F/e\n",
+      "#RESULTS\n",
+      "print '%s %.4e %s' % (' Avagadro number = ',N,'molecules/mol')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Avagadro number =  6.0248e+23 molecules/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 391"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Time required\n",
+      "#initialisation of variables\n",
+      "m= 1 #gms\n",
+      "M= 63.54 #gms\n",
+      "e= 2 #farady\n",
+      "F= 96493\n",
+      "n= 3\n",
+      "#CALCULATIONS\n",
+      "t= (m/M)*(e*F/n)\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' Time =',t,'sec')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Time = 1012 sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 396"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the transference number\n",
+      "#initialisation of variables\n",
+      "M= 25.01 #gms\n",
+      "n= 1.0053 #moles\n",
+      "n1= 6.6*10**-5 #moles\n",
+      "e= 1.350*10**-3 #coloumbs\n",
+      "#CALCULATIONS\n",
+      "x= M/n\n",
+      "y= n1*x\n",
+      "nm= y*10**3+e*10**3-(x/10)\n",
+      "t= nm/(e*10**3)\n",
+      "#CALCULATIONS\n",
+      "print '%s %.3f' % (' transference number = ',t)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " transference number =  0.373\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 404"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the electrokinetic potential\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "x= 0.033 #cm\n",
+      "t= 38.2 #sec\n",
+      "e= 3.2 #v\n",
+      "V= 9*10**-3 #dyne sec cm**-2\n",
+      "k= 78\n",
+      "#CALCULATIONS\n",
+      "v= x/t\n",
+      "u= v/e\n",
+      "S= -300**2*u*V*4*math.pi/k\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' electrokinetic potential =',S,' volt ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " electrokinetic potential = -0.035  volt \n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 406"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the specific conductivity\n",
+      "#initialisation of variables\n",
+      "o= 0.999505 #mho cm^-1\n",
+      "k= 0.0128560\n",
+      "i= 97.36 #ohms\n",
+      "I= 117.18 #ohms\n",
+      "#CALCULATIONS\n",
+      "Lsp= k*o\n",
+      "L1sp= k*i/I\n",
+      "#RESULTS\n",
+      "print '%s %.6f %s' % (' specific conductivity =',L1sp,'mho cm^-1 ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " specific conductivity = 0.010682 mho cm^-1 \n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 410"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the equivalent conductance of the anion at infinite dilution\n",
+      "#initialisation of variables\n",
+      "A= 388.5\n",
+      "l= 349.8\n",
+      "a= 0.61\n",
+      "m= 0.1 #M\n",
+      "#CALCULATIONS\n",
+      "L= A-l\n",
+      "A1= a*A\n",
+      "Lsp= m*A1/1000.\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' equivalent conductance of the anion at infinite dilution =',Lsp,' mho cm^-1 ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " equivalent conductance of the anion at infinite dilution = 2.37e-02  mho cm^-1 \n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 410"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the effective mobility\n",
+      "#initialisation of variables\n",
+      "l= 349.82 \n",
+      "F= 96493.1 #coloumb\n",
+      "#CALCULATIONS\n",
+      "u= l/F\n",
+      "#RESULTS\n",
+      "print '%s %.3e %s' % (' effective mobility =',u,'cm^2 volt sec^-1  ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " effective mobility = 3.625e-03 cm^2 volt sec^-1  \n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 413"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the solubility product constant\n",
+      "#initialisation of variables\n",
+      "G1= -7800 #cal\n",
+      "G2= -24600 #cal\n",
+      "G3= -39700 #cal\n",
+      "R= 1.987 #cal/mol K\n",
+      "T= 25 #C\n",
+      "#CALCULATIONS\n",
+      "G= G1+G2-G3\n",
+      "Ksp= 10**(-G/(2.303*R*(273.2+T)))\n",
+      "#RESULTS\n",
+      "print '%s %.1e' % (' solubility product constant = ',Ksp)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " solubility product constant =  4.5e-06\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11 - pg 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the concentration of hydrogen ion\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "Ka= 6*10**-10\n",
+      "C= 10**-1 #moles l^-1\n",
+      "#CALCULATIONS\n",
+      "C1= math.sqrt(Ka*C)\n",
+      "#RESULTS\n",
+      "print '%s %.1e %s' % (' concentration of hydrogen ion =',C1,'moles l^-1 ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " concentration of hydrogen ion = 7.7e-06 moles l^-1 \n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13 - pg 419"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the concentration of hydrogen ion\n",
+      "#initialisation of variables\n",
+      "Ka= 1.8*10**-5 \n",
+      "n= 2 #milli moles\n",
+      "v= 45 #ml\n",
+      "n1= 0.5#milli moles\n",
+      "#CALCULATIONS\n",
+      "x= Ka*v*n1/n\n",
+      "C= x/v\n",
+      "#RESULTS\n",
+      "print '%s %.1e %s' % (' concentration of hydrogen ion =',C,' moles l^-1 ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " concentration of hydrogen ion = 4.5e-06  moles l^-1 \n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14 - pg 421"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the pH of the solution and activity coefficient\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "a= 2.4*10**-4\n",
+      "Ph= 11.54\n",
+      "#CALCULATIONS\n",
+      "Ph1= -math.log10(a)\n",
+      "a= 10**(-Ph)\n",
+      "#RESULTS\n",
+      "print '%s %.2f' % (' pH of solution = ',Ph1)\n",
+      "print '%s %.1e' % (' \\n activity coefficient = ',a)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " pH of solution =  3.62\n",
+        " \n",
+        " activity coefficient =  2.9e-12\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15 - pg 426"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Gibbs free energy\n",
+      "#initialisation of variables\n",
+      "E= 0.35240 #volts\n",
+      "F= 96493.1 #coloumb\n",
+      "n= 2 #electrons\n",
+      "#CALCULATIONS\n",
+      "G= -n*F*E\n",
+      "#RESULTS\n",
+      "print '%s %d %s' % (' Gibbs free energy =',G,' absolute joules ')\n",
+      "print 'The answer is a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Gibbs free energy = -68008  absolute joules \n",
+        "The answer is a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16 - pg 428"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Entropy and Enthalpy of the mixture\n",
+      "#initialisation of variables\n",
+      "E= 0.35240 #volts\n",
+      "E1= 0.35321 #volts\n",
+      "E2= 0.35140 #volts\n",
+      "E3=.35252\n",
+      "T= 25. #C\n",
+      "T1= 20. #C\n",
+      "T2= 30. #C\n",
+      "n= 2. #electrons\n",
+      "F= 96493.1 #coloumb\n",
+      "#CALCULATIONS\n",
+      "r= (E-E1)/(T-T1)\n",
+      "r1= (E2-E)/(T2-T)\n",
+      "R= (r+r1)/2\n",
+      "S= n*F*R\n",
+      "H= n*F*((273.16+T)*R-E3)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Entropy =',S,'joules deg^-1')\n",
+      "print '%s %.1f %s' % (' \\n Enthalpy =',H,'joules')\n",
+      "print 'The answer is a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Entropy = -34.9 joules deg^-1\n",
+        " \n",
+        " Enthalpy = -78446.4 joules\n",
+        "The answer is a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 18 - pg 431"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Gibbs free energy\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "v= 0.11834 #volt\n",
+      "F= 96493.1 #coloumb\n",
+      "n= 1 #electron\n",
+      "R= 8.3144 #J/mol K\n",
+      "T= 25 #C\n",
+      "m= 0.1\n",
+      "m1= 0.9862\n",
+      "#CALCULATIONS\n",
+      "G= -n*F*v\n",
+      "G1= 2*R*(273.16+T)*math.log(m/m1)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Gibbs free energy =',G,'joules')\n",
+      "print '%s %d %s' % (' \\n Gibbs free energy =',G1,'joules')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Gibbs free energy = -11419.0 joules\n",
+        " \n",
+        " Gibbs free energy = -11347 joules\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19 - pg 432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the potential difference\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "n= 2 #electrons\n",
+      "R= 8.314 #bJ/mol K\n",
+      "F= 96493 #coloumb\n",
+      "T= 25 #C\n",
+      "N2= 3.17*10**-6\n",
+      "N1= 6.13*10**-3\n",
+      "#CALCULATIONS\n",
+      "E= -(R*(273.16+T)*2.3026/(n*F))*math.log10(N2/N1)\n",
+      "#RESULTS\n",
+      "print '%s %.5f %s' % (' potential difference =',E,' volt')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " potential difference = 0.09720  volt\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 20 - pg 432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Equilibrium constant\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "E= 0.84 #volts\n",
+      "n= 1 #electron\n",
+      "F= 96500 #coloumb\n",
+      "R= 8.314 #J/mol K\n",
+      "T= 25 #C\n",
+      "#CALCULATIONS\n",
+      "K= math.e**(E*n*F/(R*(273+T)))\n",
+      "#RESULTS\n",
+      "print '%s %.1e' % (' Equilibrium constant =',K)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Equilibrium constant = 1.6e+14\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 21 - pg 432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Equilibrium constant\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "E= -0.0029 #volts\n",
+      "V= 0.1 #volts\n",
+      "V1= 0.05 #volts\n",
+      "f= 0.05916 #J/mol coloumb\n",
+      "T= 25. #C\n",
+      "F= 96500 #coloumb\n",
+      "R= 8.314 #J/mol K\n",
+      "#CALCULATIONS  \n",
+      "e= E+f*math.log10(V*V1/V1)\n",
+      "K= math.e**(e*F/(R*(273+T)))\n",
+      "#RESULTS\n",
+      "print '%s %.1e' % (' Equilibrium constant =',K)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Equilibrium constant = 8.9e-02\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 22 - pg 438"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Standard electrode potential\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "E= 1.0508 #volts\n",
+      "V= 0.3338 #volts\n",
+      "a= 0.0796 \n",
+      "a1= math.sqrt(0.0490)\n",
+      "f= 0.05916 #J/mol coloumb\n",
+      "#CALCULATIONS\n",
+      "V= E+V+f*math.log10(a/a1)\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' % (' Standard electrode potential =',V,'volts')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Standard electrode potential = 1.3583 volts\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 23 - pg 438"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Standard molar free energy\n",
+      "#initialisation of variables\n",
+      "V= 1.3595 #volts\n",
+      "n= 1 #electron\n",
+      "F= 96493 #coloumb\n",
+      "#CALCULATIONS\n",
+      "G= -n*F*V/4.28\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Standard molar free energy =',G,'cal')\n",
+      "print 'The answer is a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Standard molar free energy = -30650.1 cal\n",
+        "The answer is a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 24 - pg 439"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the ion product\n",
+      "#Initialization of variables\n",
+      "import math\n",
+      "I=0.0050\n",
+      "E0=.22619\n",
+      "con=.0602\n",
+      "E2=1.05080\n",
+      "R=8.3144\n",
+      "T=298.16 #K\n",
+      "#calculations\n",
+      "E1=E0-con*math.sqrt(I)\n",
+      "E3=-E2+E1\n",
+      "Kw=10**(E3*96493/2.3026/R/T)\n",
+      "#results\n",
+      "print '%s %.3e' %(\"Ion product = \",Kw)\n",
+      "print 'The answer is a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ion product =  9.741e-15\n",
+        "The answer is a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 25 - pg 440"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Solubility constant\n",
+      "#initialisation of variables\n",
+      "V= -0.658 #volt\n",
+      "V1= -0.3363 #volt\n",
+      "n= 1 #electron\n",
+      "F= 96438 #coloumb\n",
+      "R= 8.314 #j/mol K\n",
+      "T= 25 #C\n",
+      "#CLACULATIONS\n",
+      "V2= V-V1\n",
+      "Ksp= 10**(V2*n*F/(2.303*R*(273.2+T)))\n",
+      "#RESULTS\n",
+      "print '%s %.1e %s' % (' Solubility constant =',Ksp,' volt')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Solubility constant = 3.7e-06  volt\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 26 - pg 440"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the cell potential\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "e= 0\n",
+      "e1= -0.37\n",
+      "k= -0.05916 #j/mol\n",
+      "a= 0.02\n",
+      "a1= 0.01\n",
+      "a3=.2\n",
+      "p= 730. #mm of Hg\n",
+      "#CALCULATIONS\n",
+      "E= (e-e1)+k*math.log10(a*math.sqrt(p/760.) /a1/a3)\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' cell potential =',E,'volt') \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " cell potential = 0.31 volt\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 27 - pg 440"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the cell potential\n",
+      "#initialisation of variables\n",
+      "V= -0.440 #volt\n",
+      "V1= 0.771 #volt\n",
+      "F= 96500 #coloumb\n",
+      "n=2 #electrons\n",
+      "n1= 1 #electrons\n",
+      "n2= 3 #electrons\n",
+      "#CALCULATIONS\n",
+      "G= -n*F*V\n",
+      "G1= -n1*F*V1\n",
+      "G2= G+G1\n",
+      "V= G2/(n2*F)\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' % (' cell potential =',-V,'volt') \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " cell potential = -0.0363 volt\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 28 - pg 444"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the cell potential\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "p1=386.6 #atm\n",
+      "p2=1 #atm\n",
+      "f= 2\n",
+      "k= -0.05916 #j/mol\n",
+      "#CALCULATIONS\n",
+      "E= (k/f)*math.log10(p1/p2)\n",
+      "#RESULTS\n",
+      "print '%s %.4f %s' % (' cell potential =',E,'volt')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " cell potential = -0.0765 volt\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 29 - pg 445"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the cell potential\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "c= 10**-7\n",
+      "c1= 1\n",
+      "f= 1\n",
+      "k= -0.05915 #j/mol\n",
+      "#CALCULATIONS\n",
+      "E= (k/f)*math.log10(c/c1)\n",
+      "#RESULTS\n",
+      "print '%s %.5f %s' % (' cell potential =',E,' volt')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " cell potential = 0.41405  volt\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 30 - pg 448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the junction potential\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "c= 391.\n",
+      "c1= 129.\n",
+      "f= 1.\n",
+      "k= -0.05915 #j/mol\n",
+      "#CALCULATIONS\n",
+      "E= (k/f)*math.log10(c1/c)\n",
+      "#RESULS\n",
+      "print '%s %.4f %s' % (' junction potential =',E,'volt')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " junction potential = 0.0285 volt\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter_8.ipynb b/Physical_Chemistry/Chapter_8.ipynb
new file mode 100755
index 00000000..c1054064
--- /dev/null
+++ b/Physical_Chemistry/Chapter_8.ipynb
@@ -0,0 +1,440 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e7ff5ec8c26bca61ce95f7f9a6bfe9182508039293520fdb892a47c60afd9608"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8 - Quantum chemistry"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 460"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Wavelength\n",
+      "#initialisation of variables\n",
+      "v= 299.8 #V\n",
+      "e= 4.802*10**-10 #ev\n",
+      "h= 6.624*10**-27 #ergs sec\n",
+      "c= 3*10**10 #cm/sec\n",
+      "#CALCULATIONS\n",
+      "E= e/v\n",
+      "l= h*c*10**8/(2*E)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Wavelength =',l,'A')\n",
+      "print 'The answers are a bit different due to rounding off error in textbook'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Wavelength = 6203.3 A\n",
+        "The answers are a bit different due to rounding off error in textbook\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 462"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the value of numerical coefficient\n",
+      "#initialisation of variables\n",
+      "u= 109677.583 #cm**-1\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' value of numerical coefficient =',u,' cm')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " value of numerical coefficient = 109677.6  cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 464"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the wavelength in both cases\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "h= 6.6234*10**-27 #ergs sec\n",
+      "m= 2.59 #gms\n",
+      "v= 3.35*10**4 #cm sec **-1\n",
+      "e= 4.8*10**-10 #ev\n",
+      "V= 40000. #volts\n",
+      "M= 300. #gms\n",
+      "L= 1836. #A\n",
+      "N= 6*10**23 #molecules\n",
+      "#CALCULATIONS\n",
+      "p= m*v\n",
+      "l= h/p\n",
+      "E= V*e/M\n",
+      "P= math.sqrt(2*E*(1/(L*N)))\n",
+      "L1= h*10**8/P\n",
+      "#RESULTS\n",
+      "print '%s %.2e %s' % (' wavelength =',l,'cm')\n",
+      "print '%s %.4f %s' % (' \\n wavelength =',L1,'A')"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " wavelength = 7.63e-32 cm\n",
+        " \n",
+        " wavelength = 0.0614 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 471"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the lifetime of this excited state\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "h= 6.624*10**-27 #ergs sec\n",
+      "c= 3*10**10 #cm/sec\n",
+      "u= 5 #cm**-1\n",
+      "#CALCULATIONS  \n",
+      "T= h/(h*2*math.pi*c*u)\n",
+      "#RESULTS\n",
+      "print '%s %.1e %s' % (' lifetime of this excited state =',T,'sec')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " lifetime of this excited state = 1.1e-12 sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 471"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the lifetime\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "V= 2.5*10**4 #m/sec\n",
+      "m= 30 #gms\n",
+      "s= 10*10**-16 #cm**2\n",
+      "N= 6.023*10**23 #molecules\n",
+      "T= 300 #K\n",
+      "k= 8.3*10**7\n",
+      "#CALCULATIONS\n",
+      "t= math.sqrt((m/(math.pi*k*T)))*(V/(4*s*N))\n",
+      "#RESULTS\n",
+      "print '%s %.1e %s' % (' lifetime =',t,' sec')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " lifetime = 2.0e-10  sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 - pg 494"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the internuclear distances\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "h= 6.6238*10**-27 #ergssec\n",
+      "N= 6.0254*10**23 #molecules\n",
+      "c= 2.9979*10**10\n",
+      "Be= 60.809\n",
+      "mh= 1.00812 #gms\n",
+      "#CALCULATIONS\n",
+      "u= mh/2.\n",
+      "Re= math.sqrt(h*N/(c*8*math.pi**2*Be*u))\n",
+      "#RESULTS\n",
+      "print '%s %.4e %s' % (' internuclear distances =',Re,'cm ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " internuclear distances = 7.4168e-09 cm \n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 - pg 497"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Resonance energy\n",
+      "#initialisation of variables\n",
+      "H= 19.8 #kcal\n",
+      "H1= -0.8 #kcal\n",
+      "H2= -29.4 #kcal\n",
+      "#CALCULATIONS\n",
+      "H3= -85.8\n",
+      "H4= -49.2\n",
+      "H5= -H3+H4\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' Resonance energy =',H5,'cal')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Resonance energy = 36.6 cal\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 - pg 500"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the no of bonds\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "R= 1.69 #A\n",
+      "l= 1.49 #A\n",
+      "r= 0.706\n",
+      "#CALCULATIONS\n",
+      "n= 10**((R-l)/r)\n",
+      "#RESULTS\n",
+      "print '%s %.2f' % (' no of bonds = ',n)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " no of bonds =  1.92\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 - pg 504"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the lattice energy\n",
+      "#initialisation of variables\n",
+      "N= 6.*10**23 #molecules\n",
+      "R= 2.82 #A\n",
+      "e= 4.8*10**-10 #ev\n",
+      "n= 9.\n",
+      "z= 1.748\n",
+      "#CALCULATIONS\n",
+      "U= (N*z*e**2*(1-(1/n)))*182.2/(R*10**-8*7.63*10**12)\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' lattice energy =',U,'kcal mole**-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " lattice energy = 181.9 kcal mole**-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11 - pg 507"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the least energy required for transfer\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "k= 13\n",
+      "e= 4.8*10**-10 #ev\n",
+      "h= 6.624*10**-27 #ergs sec\n",
+      "N= 6.023*10**23 #molecules\n",
+      "l= 1836 #A\n",
+      "#CALCULATIONS\n",
+      "I= e**4*0.080/(l*N*1.28*10**-13*2*k**2*(h/(2*math.pi))**2)\n",
+      "#RESULTS\n",
+      "print '%s %.2f %s' % (' least energy required for transfer=',I,' ev')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " least energy required for transfer= 0.08  ev\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12 - pg 509"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the difference between potentials\n",
+      "#initialisation of variables\n",
+      "i= 54.4 #ev\n",
+      "i1= 24.6 #ev\n",
+      "k= 2.5 \n",
+      "#CALCULATIONS\n",
+      "I= i/(4*k**2)\n",
+      "I1= i1/(4*k**2)\n",
+      "d= I-I1\n",
+      "#RESULTS\n",
+      "print '%s %.1f %s' % (' difference between first and second potential=',d,'ev')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " difference between first and second potential= 1.2 ev\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/Chapter_9.ipynb b/Physical_Chemistry/Chapter_9.ipynb
new file mode 100755
index 00000000..1a10b96e
--- /dev/null
+++ b/Physical_Chemistry/Chapter_9.ipynb
@@ -0,0 +1,101 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:39eab768daff11aebdd87a93356bef21d5d2b1bdfeb10c1efcd7ba6d3163e0fd"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9 - Statistical Mechanics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 525"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the Absolute Entropy\n",
+      "#initialisation of variables\n",
+      "import math\n",
+      "T= 298.16 #K\n",
+      "M= 4.003 #gm\n",
+      "S= 2.3151 #cal mol^-1 deg^-1\n",
+      "R= 1.987 #cal/molK\n",
+      "#CALCULATIONS\n",
+      "S1= 2.5*R*math.log(T)+1.5*R*math.log(M)-S\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' Absolute Entropy=',S1,'cal mol^-1 deg^-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Absolute Entropy= 30.122 cal mol^-1 deg^-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 528"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the heat required\n",
+      "#initialisation of variables\n",
+      "h= 6.624*10**-27#erg/sec\n",
+      "N= 6.023*10**23\n",
+      "c= 3*10**10 #m/sec\n",
+      "w= 2359.6 #cm**-1\n",
+      "T= 2000 #K\n",
+      "K= 1.380*10**-16\n",
+      "R= 1.987 #cal mol**-1 k**-1\n",
+      "#CALCULATIONS\n",
+      "x= h*c*w/(K*T)\n",
+      "y= 2.71**x\n",
+      "H= 3.5*R+(N*h*c*w/(T*4.184*10**7*(y-1)))\n",
+      "#RESULTS\n",
+      "print '%s %.3f %s' % (' Heat=',H,'cal mol**-1 deg**-1')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Heat= 7.715 cal mol**-1 deg**-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Physical_Chemistry/README.txt b/Physical_Chemistry/README.txt
new file mode 100755
index 00000000..f4f5d62c
--- /dev/null
+++ b/Physical_Chemistry/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Ajay Theetla
+Course: btech
+College/Institute/Organization: IIT Bombay
+Department/Designation: Chemical Engineering
+Book Title: Physical Chemistry
+Author: Duffey George H
+Publisher: New York : McGraw-Hill
+Year of publication: 1962
+Isbn: 1429218126
+Edition: 1
\ No newline at end of file
diff --git a/Physical_Chemistry/screenshots/chap11.png b/Physical_Chemistry/screenshots/chap11.png
new file mode 100755
index 00000000..6ed53889
Binary files /dev/null and b/Physical_Chemistry/screenshots/chap11.png differ
diff --git a/Physical_Chemistry/screenshots/chap12.png b/Physical_Chemistry/screenshots/chap12.png
new file mode 100755
index 00000000..a1675611
Binary files /dev/null and b/Physical_Chemistry/screenshots/chap12.png differ
diff --git a/Physical_Chemistry/screenshots/chap13.png b/Physical_Chemistry/screenshots/chap13.png
new file mode 100755
index 00000000..42833795
Binary files /dev/null and b/Physical_Chemistry/screenshots/chap13.png differ
diff --git a/Physical_Chemistry/screenshots/chap3.png b/Physical_Chemistry/screenshots/chap3.png
new file mode 100755
index 00000000..832091f2
Binary files /dev/null and b/Physical_Chemistry/screenshots/chap3.png differ
diff --git a/Physical_Chemistry/screenshots/chap3_1.png b/Physical_Chemistry/screenshots/chap3_1.png
new file mode 100755
index 00000000..832091f2
Binary files /dev/null and b/Physical_Chemistry/screenshots/chap3_1.png differ
diff --git a/Physical_Chemistry/screenshots/chap4.png b/Physical_Chemistry/screenshots/chap4.png
new file mode 100755
index 00000000..e2646978
Binary files /dev/null and b/Physical_Chemistry/screenshots/chap4.png differ
diff --git a/Physical_Chemistry/screenshots/chap4_1.png b/Physical_Chemistry/screenshots/chap4_1.png
new file mode 100755
index 00000000..e2646978
Binary files /dev/null and b/Physical_Chemistry/screenshots/chap4_1.png differ
diff --git a/Physical_Chemistry/screenshots/chap5.png b/Physical_Chemistry/screenshots/chap5.png
new file mode 100755
index 00000000..5e065126
Binary files /dev/null and b/Physical_Chemistry/screenshots/chap5.png differ
diff --git a/Physical_Chemistry/screenshots/chap5_1.png b/Physical_Chemistry/screenshots/chap5_1.png
new file mode 100755
index 00000000..5e065126
Binary files /dev/null and b/Physical_Chemistry/screenshots/chap5_1.png differ
diff --git a/Physical_Chemsitry/Chapter1.ipynb b/Physical_Chemsitry/Chapter1.ipynb
deleted file mode 100755
index f8eddd0e..00000000
--- a/Physical_Chemsitry/Chapter1.ipynb
+++ /dev/null
@@ -1,208 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2d2c58ce752ea004ea6f79edf5332f8f357b96a3e81270455c238eb5e0794fa8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 1 - matter and its atomic nature"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 3"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Angle required\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "l=0.71 *10**-8 #cm\n",
-      "n=200. #lines/cm\n",
-      "v=0.00145 #radian\n",
-      "#calculations\n",
-      "d=1/n\n",
-      "phi2=2*l/d +v**2\n",
-      "phi=math.sqrt(phi2)\n",
-      "#results\n",
-      "print '%s %.2e %s' %('Angle required =',phi,'radian')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Angle required = 2.22e-03 radian\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 6"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Interplanar distance\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "angle=37.25 #degrees\n",
-      "l=1.539 #A\n",
-      "n=1. #order\n",
-      "#calculations\n",
-      "d=n*l/(2*math.sin(angle/180.*math.pi))\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Interplanar distance =\",d,\"A\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Interplanar distance = 1.271 A\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 18"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the ratio of radii\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "r1=math.sqrt(3.)\n",
-      "r2=1\n",
-      "#calculations\n",
-      "ratio=r1-r2\n",
-      "#results\n",
-      "print '%s %.3f' %('Ratio of radii =',ratio)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Ratio of radii = 0.732\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 21"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Avagadro number\n",
-      "#Initialization of variables\n",
-      "d=2.64 #g/cc\n",
-      "l=4.016*10**-8 #cm\n",
-      "n=4\n",
-      "M=25.94 #g/mol\n",
-      "#calculations\n",
-      "m=d*l**3 /n\n",
-      "N0=M/m\n",
-      "#results\n",
-      "print '%s %.3e %s' %(\"Avagadro number =\",N0,\" molecule/mol\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Avagadro number = 6.068e+23  molecule/mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 10 - pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the angle required\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "import numpy\n",
-      "A=numpy.array([-1, -1, -1 ])\n",
-      "B=numpy.array([1, 1, -1])\n",
-      "#calculations\n",
-      "Ad=math.sqrt(1+1+1)\n",
-      "Bd=math.sqrt(1+1+1)\n",
-      "dot=numpy.dot(A,B) /(Ad*Bd) \n",
-      "theta=math.acos(dot) *180./math.pi\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Angle =\",theta,\" degrees\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Angle = 109.47  degrees\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter10.ipynb b/Physical_Chemsitry/Chapter10.ipynb
deleted file mode 100755
index 8ecfc863..00000000
--- a/Physical_Chemsitry/Chapter10.ipynb
+++ /dev/null
@@ -1,202 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:5f5d6cc341d2ab999dbe1e5a4234f374f3f6728cc09cef7967ab9dd07f94519e"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 10 - Second law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 249"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Change ine entropy\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "T2=100+273.2 #K\n",
-      "T1=50+273.2 #K\n",
-      "n=1 #mol\n",
-      "R=1.987 #cal/deg mol\n",
-      "#calculations\n",
-      "dS=5/2 *n*R*2.303*math.log10(T2/T1)\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Change in entropy =\",dS,\" eu\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Change in entropy = 0.572  eu\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 255"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Entropy change\n",
-      "#Initialization of variables\n",
-      "H=380 #cal\n",
-      "T=273.2+32.1 #K\n",
-      "#calculations\n",
-      "dS=H/T\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Entropy change =\",dS,\" eu\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Entropy change = 1.24  eu\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 257"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Work done\n",
-      "#Initialization of variables\n",
-      "Ha=0\n",
-      "Hb=0\n",
-      "#calculations\n",
-      "H=Ha+Hb\n",
-      "q=H\n",
-      "U=0\n",
-      "w=q-H\n",
-      "#results\n",
-      "print '%s %d %s' %(\"Work done =\",w,\"J\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Work done = 0 J\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 260"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the change in entropy\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "prob=0.001\n",
-      "R=1.\n",
-      "N=6.023*10**23\n",
-      "#calculations\n",
-      "dS=1.987*2.303*math.log10(prob) /N\n",
-      "#results\n",
-      "print '%s %.1e %s' %(\"change in entropy =\",dS,\" eu\")"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in entropy = -2.3e-23  eu\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 263"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Change in A \n",
-      "#Initialization of variables\n",
-      "T=373.2 #K\n",
-      "c=1.987 #cal/deg\n",
-      "#calculations\n",
-      "w=c*T\n",
-      "A=-w\n",
-      "#results\n",
-      "print '%s %d %s' %(\"Change in A =\",A,\"cal\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Change in A = -741 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter11.ipynb b/Physical_Chemsitry/Chapter11.ipynb
deleted file mode 100755
index b98e97b5..00000000
--- a/Physical_Chemsitry/Chapter11.ipynb
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:00f3ac32d98b00732d6a51b0562de7dab713dab2a42986a603b1c1eafc01eefd"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 11 - Condensed phases"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 271"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Vapor Pressure\n",
-      "#Initialization of variables\n",
-      "A=7.6546\n",
-      "B=1686.8\n",
-      "T=60+273.2\n",
-      "#calculations\n",
-      "logP=A-B/T\n",
-      "P=10**logP\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\"Vapor Pressure =\",P,\"mm\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Vapor Pressure = 391.0 mm\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 277"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the change in C values\n",
-      "#Initialization of variables\n",
-      "alpha=4.92*10**-5 #deg**-1\n",
-      "beta=7.85*10**-7 #atm**-1\n",
-      "d=8.93 #g/cm**3\n",
-      "T=298.15 #K\n",
-      "#calculations\n",
-      "dC=63.54*T*alpha**2 *1.987/(d*beta*82.06)\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Change in c values = \",dC,\" cal/deg mol\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Change in c values =  0.158  cal/deg mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter12.ipynb b/Physical_Chemsitry/Chapter12.ipynb
deleted file mode 100755
index 92f1a058..00000000
--- a/Physical_Chemsitry/Chapter12.ipynb
+++ /dev/null
@@ -1,348 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:65a756a76ade1ec4b9387e0db33894444f541be4a142adaa7f77f2e89d036580"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 12 - Physical Equilibria"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 295"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the no of degrees of freedom\n",
-      "#Initialization of variables\n",
-      "p=3\n",
-      "c=2\n",
-      "#calculations\n",
-      "f=2-p+c\n",
-      "#results\n",
-      "print '%s %d' %(\"no. of degrees of freedom =\",f)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "no. of degrees of freedom = 1\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 301"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the change in temperature\n",
-      "#Initialization of variables\n",
-      "T=273.2 #K\n",
-      "vw=1.0001 #cm^3 /g\n",
-      "vi=1.0907 #cm^3 /g\n",
-      "hf=79.7 #cal/g\n",
-      "P1=76 #cm\n",
-      "P2=4.6 #cm\n",
-      "#calculations\n",
-      "dT=T*(vw-vi)*(P2-P1)*13.6*980.7/(hf*4.184*10**7)\n",
-      "#results\n",
-      "print '%s %.4f %s' %(\"change in temperature =\",dT,\"deg\")\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in temperature = 0.0071 deg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 302"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the value of dPbydT\n",
-      "#Initialization of variables\n",
-      "V=6.84 #cm^3 /g\n",
-      "#calculations\n",
-      "dPbydT=-1.7*4.184*10**7 /(2.19*V*0.06*1.01*10**6)\n",
-      "#results\n",
-      "print '%s %d %s' %(\"dPbydT =\",dPbydT,\" atm/deg\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "dPbydT = -78  atm/deg\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 303"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Pressure\n",
-      "#Initialization of variables\n",
-      "P=6  #atm\n",
-      "T=273.2+25 #K\n",
-      "P=23.8 #mm\n",
-      "V=0.018 #lt/mol\n",
-      "R=0.08206 #lt am/deg mol\n",
-      "#calculations\n",
-      "dPa=V*P*4536/(R*T*760)\n",
-      "Pa=dPa+P\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\"Pressure =\",Pa,\" mm\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Pressure = 23.9  mm\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 305"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the mole fraction of methanol in vapor\n",
-      "#Initialization of variables\n",
-      "x=0.25\n",
-      "Ps1=96 #mm\n",
-      "Ps2=43.9 #mm\n",
-      "#calculations\n",
-      "P1=x*Ps1\n",
-      "P2=(1-x)*Ps2\n",
-      "P=P1+P2\n",
-      "Xdash=P1/P\n",
-      "#results\n",
-      "print '%s %.3f' %(\"mole fraction of methanol in vapor =\",Xdash)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mole fraction of methanol in vapor = 0.422\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 309"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Molal elevation constant\n",
-      "#Initialization of variables\n",
-      "Hv=539.6 #cal/g\n",
-      "T=273.2+100 #K\n",
-      "#calculations\n",
-      "Kb=1.987*T**2 /(1000*Hv)\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Molal elevation constant =\",Kb,\" deg /mole /kg\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Molal elevation constant = 0.513  deg /mole /kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 309"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Molecular weight of solute\n",
-      "#Initialization of variables\n",
-      "ms=0.5 #mol/kg\n",
-      "m=5 #g\n",
-      "mw=100 #g\n",
-      "Ws=1000 #g/kg\n",
-      "#calculations\n",
-      "Ma=m*Ws/(ms*mw)\n",
-      "#results\n",
-      "print '%s %d %s' %(\"Molecular weight of solute =\",Ma,\"g/mol \")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Molecular weight of solute = 100 g/mol \n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 311"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the molality of the solution\n",
-      "#Initialization of variables\n",
-      "dT=0.23 #C\n",
-      "Kb=1.86 #deg/mol/kg\n",
-      "#calculations\n",
-      "m=dT/Kb\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"molality of solution =\",m,\"m\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "molality of solution = 0.12 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 313"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Osmotic Pressure\n",
-      "#Initialization of variables\n",
-      "p=0.1 #m\n",
-      "T=30+273.2  #K\n",
-      "R=0.08206 #lt atm /deg/mol\n",
-      "P1=1 #atm\n",
-      "#calculations\n",
-      "w=1000/p\n",
-      "V=w/1000.\n",
-      "dP=R*T/V\n",
-      "P=dP+P1\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Osmotic Pressure =\",P,\" atm \")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Osmotic Pressure = 3.49  atm \n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter13.ipynb b/Physical_Chemsitry/Chapter13.ipynb
deleted file mode 100755
index 79973f5f..00000000
--- a/Physical_Chemsitry/Chapter13.ipynb
+++ /dev/null
@@ -1,401 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:b3b8e3a1df1ec221a5596f2fd615d0e7df4ba35a4012aeb734d5820e6983cd64"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 13 - Thermodynamic changes accompanying chemical reaction"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 320"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the dHp value\n",
-      "#Initialization of variables\n",
-      "n1=10 #mol\n",
-      "n2=12 #mol\n",
-      "#calculations\n",
-      "dn=n1-n2\n",
-      "#results\n",
-      "print '%s %d %s' %(\"dHp = dEv-\",dn,\"*RT\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "dHp = dEv- -2 *RT\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 322"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Enthalpy\n",
-      "#Initialization of variables\n",
-      "Ht1=-22063 #cal\n",
-      "T=298.15 #K\n",
-      "#calculations\n",
-      "H=Ht1 +0.5293*T + 0.3398*10**-3 *T**2 - 2.039*10**-7 *T**3\n",
-      "#results\n",
-      "print '%s %d %s' %(\"Enthalpy =\",H,\"cal\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Enthalpy = -21880 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 326"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Entropy\n",
-      "#Initialization of variables\n",
-      "Cp=0.797 #cal/deg/mol\n",
-      "#calculations\n",
-      "S=Cp/3.\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Entropy =\",S,\" eu/mol\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Entropy = 0.266  eu/mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 328"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Change in entropy\n",
-      "#Initialization of variables\n",
-      "T1=77.32 #K\n",
-      "P=1 #atm\n",
-      "T2=126 #K\n",
-      "Pc=33.5 #atm\n",
-      "#calculations\n",
-      "dS=27/32. *1.987*P/Pc *(T2/T1)**3\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Change in entropy =\",dS,\"eu/mol\")"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Change in entropy = 0.22 eu/mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 330"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Change in entropy, enthalpy and free energy\n",
-      "#Initialization of variables\n",
-      "S1=57.47\n",
-      "S2=50.34\n",
-      "S3=49\n",
-      "H1=8.09\n",
-      "H2=21.06\n",
-      "H3=0\n",
-      "F1=12.39\n",
-      "F2=20.72\n",
-      "F3=0\n",
-      "#calculations\n",
-      "dS=S1-S2-0.5*S3\n",
-      "dH=H1-H2-0.5*H3\n",
-      "dF=F1-F2-0.5*F3\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Change in entropy =\",dS,\" eu\")\n",
-      "print '%s %.2f %s' %(\"\\n Change in enthalpy =\",dH,\" kcal\")\n",
-      "print '%s %.2f %s' %(\"\\n Change in free energy =\",dF,\"kcal\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Change in entropy = -17.37  eu\n",
-        "\n",
-        " Change in enthalpy = -12.97  kcal\n",
-        "\n",
-        " Change in free energy = -8.33 kcal\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 334"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the change in free energy\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "P1=0.01\n",
-      "P2=0.1\n",
-      "P3=0.01\n",
-      "dF0=-54640 #cal\n",
-      "T=298.15 #K\n",
-      "R=1.987 #cal/deg\n",
-      "#calculations\n",
-      "Qp=P1/(P2*P3**0.5)\n",
-      "dF=dF0+R*T*math.log(Qp)\n",
-      "#results\n",
-      "print '%s %d %s' %(\"change in free energy =\",dF,\"cal\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in free energy = -54640 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 335"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Equilibrium constant\n",
-      "#Initialization of variables\n",
-      "print \"From table 13.4 \"\n",
-      "logKfwater=40.04724\n",
-      "logKfH2=0\n",
-      "logKfO2=0\n",
-      "#calculations\n",
-      "logK=logKfwater-logKfH2-0.5*logKfO2\n",
-      "K=10**logK\n",
-      "#results\n",
-      "print '%s %.4e' %(\"Equilibrium constant = \",K)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "From table 13.4 \n",
-        "Equilibrium constant =  1.1149e+40\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 339"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the value of Kc\n",
-      "#Initialization of variables\n",
-      "Kp=1.1*10**40 #atm**-0.5\n",
-      "dn=-0.5\n",
-      "R=0.08206 #lt atm/deg mol\n",
-      "T=298.15 #K\n",
-      "#calculations\n",
-      "Kc=Kp*(R*T)**(-dn)\n",
-      "#results\n",
-      "print '%s %.1e %s' %(\"Kc =\",Kc,\" (mol/lt)^-0.5\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Kc = 5.4e+40  (mol/lt)^-0.5\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 339"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Density of equilibrium mixture\n",
-      "#Initialization of variables\n",
-      "import numpy\n",
-      "Kp=0.141 #atm\n",
-      "P=1 #atm\n",
-      "nu=2\n",
-      "R=0.08206 #lt atm/deg mol\n",
-      "T=298.15 #K\n",
-      "M=92.02 #g/mol\n",
-      "#calculations\n",
-      "p=([Kp+ 4*P,0, -Kp])\n",
-      "z=numpy.roots(p)\n",
-      "alpha=z[0]\n",
-      "wbyV=P*M/(R*T*(1+(nu-1)*alpha))\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Density of the equilibrium mixture =\",wbyV,\" g/lt\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Density of the equilibrium mixture = 3.18  g/lt\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 10 - pg 340"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Final pressure after equilibrium\n",
-      "#Initialization of variables\n",
-      "x=0.5\n",
-      "P=0.468 #atm\n",
-      "#calculations\n",
-      "P1=x*P\n",
-      "P2=x*P\n",
-      "Kp=P1*P2\n",
-      "#results\n",
-      "print '%s %.4f %s' %(\"Final pressure after equilibrium =\",Kp,\" atm^2\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Final pressure after equilibrium = 0.0548  atm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter14.ipynb b/Physical_Chemsitry/Chapter14.ipynb
deleted file mode 100755
index b1948488..00000000
--- a/Physical_Chemsitry/Chapter14.ipynb
+++ /dev/null
@@ -1,603 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:f51aa40f01063be99829dfd06c53ed90029beb6946cceb4b92469b9c50e91012"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 14 - Development and use of activity concepts"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 350"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the moles of Iodine present\n",
-      "#Initialization of variables\n",
-      "x1=0.0200\n",
-      "Kx=812.\n",
-      "#calculations\n",
-      "print \"Neglecting 2x in comparision with x1,\"\n",
-      "x=x1/Kx\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Moles of Iodine present =\",x,\" mole\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Neglecting 2x in comparision with x1,\n",
-        "Moles of Iodine present = 2.46e-05  mole\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 350 "
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Concentration of H+ ions\n",
-      "#Initialization of variables\n",
-      "Kc=1.749*10**-5 #M\n",
-      "n1=0.1 #mole\n",
-      "n2=0.01 #mole\n",
-      "#calculations\n",
-      "c=n1/n2 *Kc\n",
-      "#results\n",
-      "print '%s %.1e %s' %(\"Concentration of Hplus ions =\",c,\" M\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Concentration of Hplus ions = 1.7e-04  M\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 351"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Concentraton of Hplus ions\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "c=0.01 #M\n",
-      "kc=1.749*10**-5 #M\n",
-      "#calculations\n",
-      "x2=c*kc\n",
-      "x=math.sqrt(x2)\n",
-      "#results\n",
-      "print '%s %.1e %s' %(\"Concentration of Hplus ions =\",x,\"M\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Concentration of Hplus ions = 4.2e-04 M\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 351"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Concentration of OH- ions\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "K2=1.0008*10**-14 #m^2\n",
-      "K1=1.754*10**-5 #m\n",
-      "c=0.1\n",
-      "#calculations\n",
-      "print \"Neglecting x w.r.t c,\"\n",
-      "x2=c*K2/K1\n",
-      "x=math.sqrt(x2)\n",
-      "#results\n",
-      "print '%s %.1e %s' %(\"Concentration of OH minus ions =\",x,\" m\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Neglecting x w.r.t c,\n",
-        "Concentration of OH minus ions = 7.6e-06  m\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 352"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Concentration of H plus ions\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "print \"from table 14.1,\"\n",
-      "r1=7.47*10**-5 #m\n",
-      "r2=4.57*10**-3 #m\n",
-      "mp=1.008*10**-14 #m**2\n",
-      "#calculations\n",
-      "r3=r2/r1\n",
-      "mH2=r3*mp\n",
-      "mH=math.sqrt(mH2)\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Concentration of Hplus ions = \",mH,\" M\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "from table 14.1,\n",
-        "Concentration of Hplus ions =  7.85e-07  M\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 354"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Concentraton of H+ ions\n",
-      "#Initialization of variables\n",
-      "print \"from table 14.1,\"\n",
-      "import math\n",
-      "r1=1.75*10**-5 #m\n",
-      "r2=1.772*10**-4 #m\n",
-      "mp=1.008*10**-14 #m**2\n",
-      "#calculations\n",
-      "r3=r2/r1\n",
-      "mH2=r3*mp\n",
-      "mH=math.sqrt(mH2)\n",
-      "#results\n",
-      "print '%s %.1e %s' %(\"Concentration of Hplus ions =\",mH,\" M\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "from table 14.1,\n",
-        "Concentration of Hplus ions = 3.2e-07  M\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 355"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Concentration of H+ ions\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "c=1*10**-6 #m\n",
-      "K=1.754*10**-5 #m\n",
-      "Kp=1.008*10**-14 #m**2\n",
-      "#calculations\n",
-      "mH=c\n",
-      "#Iteration 1\n",
-      "mOH=Kp/mH\n",
-      "mA=mH-mOH\n",
-      "mHA=mH*mA/K\n",
-      "mH2=mH-mHA+mOH\n",
-      "#Iteration 2\n",
-      "mOH2=Kp/mH2\n",
-      "mA2=mH2-mOH2\n",
-      "mHA2=mH2*mA2/K\n",
-      "mH3=mH2-mHA2+mOH2\n",
-      "#From x2\n",
-      "x2=math.sqrt(Kp)\n",
-      "x1=c\n",
-      "mOH3=Kp/x2\n",
-      "y2=x1\n",
-      "#From x1\n",
-      "mOH4=Kp/c\n",
-      "mA4=mH-mOH4\n",
-      "mHA4=mH*mA4/K\n",
-      "y1=c-mHA4-mA4\n",
-      "#upon further iterations, we get\n",
-      "mHplus=mH3\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Concentration of H plus ions =\",mHplus,\"m\")\n",
-      "print 'The answer is a bit different due to rounding off error.'\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Concentration of H plus ions = 9.13e-07 m\n",
-        "The answer is a bit different due to rounding off error.\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 358"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the values of dS0, dH0, Krm\n",
-      "#Initialization of variableH\n",
-      "print \"From table 14-3,\"\n",
-      "HH=0\n",
-      "HHcoo=-98.\n",
-      "HHcooh=-98.\n",
-      "SH=0\n",
-      "SHcoo=21.9\n",
-      "SHcooh=39.1\n",
-      "KH=0\n",
-      "KHcoo=58.64\n",
-      "KHcooh=62.38\n",
-      "#calculationH\n",
-      "dH=HH+HHcoo-HHcooh\n",
-      "dS=SH+SHcoo-SHcooh\n",
-      "dK=KH+KHcoo-KHcooh\n",
-      "K=10**dK\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\" dS0 =\",dS,\"eu\")\n",
-      "print '%s %.1f %s' %(\"\\n dH0 =\",dH,\"kcal\")\n",
-      "print '%s %.2f' %(\"\\n log Krm =\",dK)\n",
-      "print '%s %.1e %s' %(\"\\n Krm =\",K,\"m\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "From table 14-3,\n",
-        " dS0 = -17.2 eu\n",
-        "\n",
-        " dH0 = 0.0 kcal\n",
-        "\n",
-        " log Krm = -3.74\n",
-        "\n",
-        " Krm = 1.8e-04 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 369"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Activity of cl and ca\n",
-      "#Initialization of variables\n",
-      "mca=0.01 #m\n",
-      "mcl=0.02 #m\n",
-      "#calculations\n",
-      "Mu=0.5*(mca*4 + mcl*1)\n",
-      "print \"From table 14-5,\"\n",
-      "aca=6 #A\n",
-      "acl=3 #A\n",
-      "print \"From table 14-6,\"\n",
-      "gaca=0.555 \n",
-      "gacl=0.843\n",
-      "Aca=gaca*mca\n",
-      "Acl=gacl*mcl\n",
-      "#results\n",
-      "print '%s %.4f' %(\"Activity of cl = \",Acl)\n",
-      "print '%s %.4f' %(\"\\n Activity of ca = \",Aca)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "From table 14-5,\n",
-        "From table 14-6,\n",
-        "Activity of cl =  0.0169\n",
-        "\n",
-        " Activity of ca =  0.0056\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 10 - pg 369"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Concentration of H+ ions\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "m1=0.1 #m\n",
-      "m2=0.1 #m\n",
-      "K=1.754*10**-5 #m\n",
-      "#calculations\n",
-      "mu=0.5*(m1*1**2 + m2*1**2)\n",
-      "print(\"From table 14.5,\")\n",
-      "aH=9 #A\n",
-      "aA=4.5 #A\n",
-      "print(\"From table 14.6\")\n",
-      "gH=0.825\n",
-      "gA=0.775\n",
-      "gHA=1\n",
-      "x1=gHA*K/(gH*gA)\n",
-      "print(\"Assuming x to be small w.r.t m1,\")\n",
-      "x=math.sqrt(x1*m1)\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Concentration of H plus ions =\",x,\" m\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "From table 14.5,\n",
-        "From table 14.6\n",
-        "Assuming x to be small w.r.t m1,\n",
-        "Concentration of H plus ions = 1.66e-03  m\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 11 - pg 372"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the concentration of H+ ions\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "import numpy\n",
-      "K=1.754*10**-5 #m\n",
-      "c=0.1\n",
-      "#calculations\n",
-      "print(\"Neglecting x w.r.t c,\")\n",
-      "x2=K\n",
-      "x=math.sqrt(K)\n",
-      "mu=x\n",
-      "print(\"From tables 14-5 and 14-6,\")\n",
-      "gH=0.963\n",
-      "gA=0.960\n",
-      "x22=K/(gH*gA)\n",
-      "p=([1,x22, -c*x22])\n",
-      "z=numpy.roots(p)\n",
-      "alpha=z[1]\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"concentration of H plus ions =\",alpha,\" m\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Neglecting x w.r.t c,\n",
-        "From tables 14-5 and 14-6,\n",
-        "concentration of H plus ions = 1.37e-03  m\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 12 - pg 373"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Solubility of Agcl\n",
-      "#Initialization of variables\n",
-      "print(\"From table 14.3\")\n",
-      "import math\n",
-      "K1=-13.5089\n",
-      "K2=-22.9792\n",
-      "K3=19.2218\n",
-      "c=0.1 #m\n",
-      "#calculations\n",
-      "logK=K1-K2-K3\n",
-      "K=10**logK\n",
-      "mu=0.5*(c*1**2 + c*1**2)\n",
-      "print(\"From tables 14-5 and 14-6,\")\n",
-      "gAg=0.745\n",
-      "gCl=0.755\n",
-      "x2=K/(gAg*gCl)\n",
-      "x=math.sqrt(x2)\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Solubility of Agcl =\",x,\"m\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "From table 14.3\n",
-        "From tables 14-5 and 14-6,\n",
-        "Solubility of Agcl = 1.78e-05 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 13 - pg 376"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Concentration of Na and Cl in both cases\n",
-      "#Initialization of variables\n",
-      "import numpy\n",
-      "Cna=0.11\n",
-      "Ccl=0.1\n",
-      "#calculations\n",
-      "p=([99, - 2.1, Cna*Ccl])\n",
-      "z=numpy.roots(p)\n",
-      "alpha=z[1]\n",
-      "Na1=Cna-10*alpha\n",
-      "Cl1=Ccl-10*alpha\n",
-      "#results\n",
-      "print '%s %.4f %s' %(\" Concentration of Na in 1  =\",Na1,\"M\")\n",
-      "print '%s %.4f %s' %(\"\\n Concentration of Cl in 1  =\",Cl1,\" M\")\n",
-      "print '%s %.4f %s' %(\"\\n Concentration of Na in 2  =\",alpha,\"M\")\n",
-      "print '%s %.4f %s' %(\"\\n Concentration of Cl in 2  =\",alpha,\"M\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Concentration of Na in 1  = 0.0157 M\n",
-        "\n",
-        " Concentration of Cl in 1  = 0.0057  M\n",
-        "\n",
-        " Concentration of Na in 2  = 0.0094 M\n",
-        "\n",
-        " Concentration of Cl in 2  = 0.0094 M\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter15.ipynb b/Physical_Chemsitry/Chapter15.ipynb
deleted file mode 100755
index 8ce44ac5..00000000
--- a/Physical_Chemsitry/Chapter15.ipynb
+++ /dev/null
@@ -1,322 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:633d2351722f70bcb5591bec1c39746dd272ca892962c335e9bfb247bc80518a"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 15 - Electrochemistry"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 384"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Weight of copper leaving\n",
-      "#Initialization of variables\n",
-      "I=0.5 #amp\n",
-      "t=55  #min\n",
-      "we=31.77\n",
-      "#calculations\n",
-      "Q=I*t*60\n",
-      "n=Q/96496.\n",
-      "w=n*we\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Weight of copper leaving =\",w,\" g\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Weight of copper leaving = 0.543  g\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 386"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the values of tplus and tminus\n",
-      "#Initialization of variables\n",
-      "w1=0.7532 #g\n",
-      "w2=0.9972 #g\n",
-      "wdep=0.4 #g\n",
-      "we=31.77 #g\n",
-      "#calculations\n",
-      "dn=w2/we - w1/we\n",
-      "t=dn/(wdep/we)\n",
-      "dne=wdep/we\n",
-      "dnmig=dn-dne\n",
-      "tplus=-dnmig/dne\n",
-      "tminus=1-tplus\n",
-      "#results\n",
-      "print '%s %.3f' %(\"tplus =\",tplus)\n",
-      "print '%s %.3f' %(\"\\n tminus=\",tminus)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "tplus = 0.390\n",
-        "\n",
-        " tminus= 0.610\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 393"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Equivalent conductance\n",
-      "#Initialization of variables\n",
-      "R1=312 #ohms\n",
-      "R2=1043 #ohms\n",
-      "c=0.01 #N\n",
-      "kdash=0.002768 #ohm^-1cm^-1\n",
-      "#calculations\n",
-      "k=kdash*R1\n",
-      "kdash2=k/R2\n",
-      "ambda=kdash2/(c/1000.)\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\"Equivalent conductance =\",ambda,\"ohm^-1 cm^2 equiv^-1\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Equivalent conductance = 82.8 ohm^-1 cm^2 equiv^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 393"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Conductance for acetic acid\n",
-      "#Initialization of variables\n",
-      "l1=349.8 \n",
-      "l2=40.9\n",
-      "#calculations\n",
-      "l=l1+l2\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\"Conductance for acetic acid =\",l,\" ohm^-1 cm^2\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Conductance for acetic acid = 390.7  ohm^-1 cm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 395"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Specific conductanc\n",
-      "#Initialization of variables\n",
-      "l1=63.6\n",
-      "l2=79.8\n",
-      "n=1 #mg/lt\n",
-      "we=116.7 #g/equiv\n",
-      "#calculations\n",
-      "l=l1+l2\n",
-      "c=n*10**-3 /we\n",
-      "k=c*l/1000.\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Specific conductance =\",k,\" ohm^-1 cm^-1\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Specific conductance = 1.23e-06  ohm^-1 cm^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 402"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the SEP of the cell\n",
-      "#Initialization of variables\n",
-      "e1=0.763 #volt\n",
-      "e2=0.337 #volt\n",
-      "#calculations\n",
-      "e0=e1+e2\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Standard electrode potential of the cell =\",e0,\"volts\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Standard electrode potential of the cell = 1.100 volts\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 403"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Emf of the cell\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "aZn=0.1\n",
-      "aCu=0.01\n",
-      "e1=0.763 #volt\n",
-      "e2=0.337 #volt\n",
-      "#calculations\n",
-      "e0=e1+e2\n",
-      "Q=aZn/aCu\n",
-      "E=e0- 0.05915*math.log10(Q) /2\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Emf of the cell =\",E,\" volts\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Emf of the cell = 1.070  volts\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 410"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Decomposition potential\n",
-      "#Initialization of variables\n",
-      "e1=1.2 #volts\n",
-      "e2=0.15 #volts\n",
-      "e3=0.45 #volts\n",
-      "#calculations\n",
-      "E=e1+e2+e3\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\"Decomposition potential =\",E,\" volt\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Decomposition potential = 1.8  volt\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter16.ipynb b/Physical_Chemsitry/Chapter16.ipynb
deleted file mode 100755
index edd91fdd..00000000
--- a/Physical_Chemsitry/Chapter16.ipynb
+++ /dev/null
@@ -1,129 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:732bbb076f615c901ca952cd233aa9a732520f864fa8a5b9d8200618c4707cce"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 16 - Typical mechanisms and rate laws"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 422"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Rate constant\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "P1=69.2 #mm\n",
-      "P2=39.8#mm\n",
-      "t=20 #min\n",
-      "#calculations\n",
-      "k=2.303*math.log10(P1/P2) /(t*60.)\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Rate constant =\",k,\"sec^-1\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Rate constant = 4.61e-04 sec^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 422"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Rate constant\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "t=10. #min\n",
-      "x=90.\n",
-      "#calculations\n",
-      "k=2.303*math.log10(100/(100-x)) /t\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Rate constant =\",k,\"min^-1\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Rate constant = 0.230 min^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 427"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the rate constant\n",
-      "#Initialization of variables\n",
-      "t=242. #sec\n",
-      "P=229. #mm\n",
-      "P0=363. #mm\n",
-      "#calculations\n",
-      "k=(1./P -1./P0)/t\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"rate constant=\",k,\"sec^-1 mm^-1\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "rate constant= 6.66e-06 sec^-1 mm^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter17.ipynb b/Physical_Chemsitry/Chapter17.ipynb
deleted file mode 100755
index 6e295125..00000000
--- a/Physical_Chemsitry/Chapter17.ipynb
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:4d58417f5757dcfb290ed1ee0e2191d724d6d044069d2c21c72e96a05505c726"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 17 - Resolving Kinetic data"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 446"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Order of the reaction\n",
-      "#Initialization of variablesx1=5\n",
-      "import math\n",
-      "from math import log\n",
-      "x2=20.\n",
-      "x1=5.\n",
-      "n1=7.49\n",
-      "n2=5.14\n",
-      "#calculations\n",
-      "n=(log(n1)-log(n2))/(log(100-x1) - log(100-x2))\n",
-      "#results\n",
-      "print '%s %.2f' %(\"Order of the reaction  = \",n)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Order of the reaction  =  2.19\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 448"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Order of the reaction\n",
-      "#Initialization of variablesx1=5\n",
-      "import math\n",
-      "from math import log\n",
-      "p2=169.\n",
-      "p1=363.\n",
-      "t1=410.\n",
-      "t2=880.\n",
-      "#calculations\n",
-      "ndash=(log(t2) - log(t1))/(log(p1) - log(p2))\n",
-      "n=ndash+1\n",
-      "#results\n",
-      "print '%s %.2f' %(\"Order of the reaction  = \",n)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Order of the reaction  =  2.00\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 454"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Activation energy and Z\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "R=1.987 #cal/deg/mol\n",
-      "k1=4.45*10**-5\n",
-      "k2=2.52*10**-6\n",
-      "T1=283+273.2 #K\n",
-      "T2=356+273.2 #K\n",
-      "#calculations\n",
-      "Ea=2.303*R*1.7530 /(1/T1 - 1/T2)\n",
-      "logZ= math.log10(k1) +Ea/(2.303*R*T1)\n",
-      "Z=10**logZ\n",
-      "#results\n",
-      "print '%s %d %s' %(\"Activation energy =\",Ea,\"cal/mol\")\n",
-      "print '%s %.1e %s' %(\"\\n Z =\",Z,\"lt /mol sec\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Activation energy = 38456 cal/mol\n",
-        "\n",
-        " Z = 5.7e+10 lt /mol sec\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 456"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Equlibrium constant\n",
-      "#Initialization of variables\n",
-      "g1=0.661\n",
-      "g2=0.899\n",
-      "g3=0.405\n",
-      "g4=0.803\n",
-      "g5=0.946\n",
-      "g6=0.614\n",
-      "k=1.33\n",
-      "#calculations\n",
-      "k0=k*g3/(g1*g2)\n",
-      "k2=k0*g4*g5/g6\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Equlibrium constant =\",k2,\"lt/mol min\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Equlibrium constant = 1.12 lt/mol min\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter18.ipynb b/Physical_Chemsitry/Chapter18.ipynb
deleted file mode 100755
index d460229d..00000000
--- a/Physical_Chemsitry/Chapter18.ipynb
+++ /dev/null
@@ -1,102 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:63ceed8607dc113635851a8fc16e00b5a679fa077f828a47388aa54622bce4ae"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 18 - Catalysis"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 472"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Volume \n",
-      "#Initialization of variables\n",
-      "V1=0.284 #cm^3 /g\n",
-      "V2=1.43 #cm^3 /g\n",
-      "P1=142.4 #mm\n",
-      "P2=760. #mm\n",
-      "#calculations\n",
-      "z=(1/V1 - 1/V2)/(1/P1 - 1/P2)\n",
-      "invVm=1/V2 - z/P2\n",
-      "Vm=1/invVm\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\"Volume =\",Vm,\"cm^3/g\")\n",
-      "print 'The answer in the textbook is a bit different due to rounding off error.'\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Volume = 20.5 cm^3/g\n",
-        "The answer in the textbook is a bit different due to rounding off error.\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 477"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the total area\n",
-      "#Initialization of variables\n",
-      "Vm=2.86 #cc/g\n",
-      "P=1 #atm\n",
-      "R=82.06 #cm^3 atm/deg mol\n",
-      "T=273.2 #deg\n",
-      "N=6.023*10**23\n",
-      "sigma=16.2*10**-16 #cm^2 /molecule\n",
-      "#calculations\n",
-      "n=P*Vm/(R*T)\n",
-      "A=N*n*sigma\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"total area =\",A,\" cm^2 (g catalyst)^-1\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "total area = 1.24e+05  cm^2 (g catalyst)^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter19.ipynb b/Physical_Chemsitry/Chapter19.ipynb
deleted file mode 100755
index 5b2d735e..00000000
--- a/Physical_Chemsitry/Chapter19.ipynb
+++ /dev/null
@@ -1,356 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:f00e66b23ba11c1502ba60271f6e9b549183dbf77dfd61ae21a7394bb7c1f4ce"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 19 - Photochemistry"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 488"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Overall transmittance\n",
-      "#Initialization of variables\n",
-      "r1=0.727\n",
-      "r2=0.407\n",
-      "#calculations\n",
-      "r3=r1*r2\n",
-      "#results\n",
-      "print '%s %.3f' %(\"Overall transmittance = \",r3)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Overall transmittance =  0.296\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 488"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Extinction coefficient\n",
-      "import math\n",
-      "#Initialization of variables\n",
-      "r=0.450\n",
-      "c=0.02 #M\n",
-      "l=4 #cm\n",
-      "#calculations\n",
-      "e=-math.log10(r) /(c*l)\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Extinction coefficient =\",e,\"litres mole^-1 cm^-1\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Extinction coefficient = 4.33 litres mole^-1 cm^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 488"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Transmittance of the solution\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "from math import log10\n",
-      "r1=0.850\n",
-      "r2=0.50\n",
-      "#calculations\n",
-      "Da=-log10(r1)\n",
-      "Db=-log10(r2)\n",
-      "D=Da+Db\n",
-      "r3=10**(-D)\n",
-      "#results\n",
-      "print '%s %.3f' %(\"Transmittance of solution =\",r3)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Transmittance of solution = 0.425\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 491"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Extinction coefficient\n",
-      "#Initialization of variables\n",
-      "c=0.000025 #M\n",
-      "l=2 #cm\n",
-      "D=0.417\n",
-      "#calculations\n",
-      "e=D/(c*l)\n",
-      "#result\n",
-      "print '%s %d %s' %(\"Extinction coefficient =\",e,\" liters mole^-1 cm^-1\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Extinction coefficient = 8340  liters mole^-1 cm^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 491"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Kc for dissociation\n",
-      "#Initialization of variables\n",
-      "c=0.5 #M\n",
-      "c1=0.000025 #M\n",
-      "D2=0.280\n",
-      "D1=0.417\n",
-      "#calculations\n",
-      "c2=D2*c1/(D1)\n",
-      "dC=c1-c2\n",
-      "SCN=c- 6*c2 -4*dC\n",
-      "K=dC*SCN**2 /c2\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Kc for dissociation =\",K,\" M^2\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Kc for dissociation = 0.12  M^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 492"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the value of m\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "from math import log\n",
-      "D2=0.249\n",
-      "D1=0.172\n",
-      "a2=0.00752\n",
-      "a1=0.00527\n",
-      "#calculations\n",
-      "m=(log(D2) -log(D1))/(log(a2) - log(a1))\n",
-      "#results\n",
-      "print '%s %.2f' %(\"m = \",m)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "m =  1.04\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 495"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Increase in optical density\n",
-      "#Initialization of variables\n",
-      "c=0.1 #M\n",
-      "V=100 #ml\n",
-      "v1=25 #ml\n",
-      "D=0.980\n",
-      "d1=0.090\n",
-      "d2=0.150\n",
-      "#calculations\n",
-      "a=v1*c/V\n",
-      "b=(V-v1)*c/V\n",
-      "Da=a*d1/c\n",
-      "Db=b*d2/c\n",
-      "Ddash=Da+Db\n",
-      "dD=D-Ddash\n",
-      "#results\n",
-      "print '%s %.3f' %(\"Increase in optical density =\",dD)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Increase in optical density = 0.845\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 496"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the value of lambda for the reaction to occur\n",
-      "#Initialization of variables\n",
-      "E=50000. #cal/mol\n",
-      "#calculations\n",
-      "lam=2.8593/E\n",
-      "#results\n",
-      "print '%s %d %s' %(\"For the reaction to occur lambda <\",lam*10**8,\"A\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "For the reaction to occur lambda < 5718 A\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 497"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Amount of reactant disappeared\n",
-      "#Initialization of variables\n",
-      "lam=3000*10**-8 #cm\n",
-      "ield=0.420\n",
-      "Et=70000 #cal\n",
-      "#calculations\n",
-      "E=2.8593/lam\n",
-      "n=ield*Et/E\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Amount of reactant disappeared =\",n,\" mol\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Amount of reactant disappeared = 0.308  mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter2.ipynb b/Physical_Chemsitry/Chapter2.ipynb
deleted file mode 100755
index b7de8073..00000000
--- a/Physical_Chemsitry/Chapter2.ipynb
+++ /dev/null
@@ -1,172 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2335de0a1036d6583f9ddb709f27717d7dd705b5f69b2600b20c842c855e802b"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 2 - Particles Atomic and subatomic"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 40"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Increase in kinetic energy\n",
-      "#Initialization of variables\n",
-      "m1=1.008142\n",
-      "m2=1.008982\n",
-      "#calculations\n",
-      "dm=m1-m2\n",
-      "dt=abs(dm) *931\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Increase in kinetic energy =\",dt,\"Mev\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Increase in kinetic energy = 0.782 Mev\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 44"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Thickness\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "d=8.642 #g/cc\n",
-      "M=112.41 #g/mol\n",
-      "ratio=0.01/100\n",
-      "nb=2400\n",
-      "#calculations\n",
-      "n=d*6.02*10**23 /M\n",
-      "sigma=nb*10**-24\n",
-      "x=-2.303*math.log10(ratio) /(sigma*n)\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Thickness =\",x,\"cm\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Thickness = 0.083 cm\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 49"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Threshold\n",
-      "#Initialization of variables\n",
-      "M1=4\n",
-      "M2=14\n",
-      "E=-1.2 #Mev\n",
-      "#calculations\n",
-      "R1=1.5*10**-13 *(M1)**(1/3.)\n",
-      "R2=1.5*10**-13 *(M2)**(1/3.)\n",
-      "V1=2*7*(4.8*10**-10)**2 /(R1+R2)\n",
-      "V2=V1/(1.6*10**-6)\n",
-      "x=(M1+M2)*V2/M2\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\"Threshold =\",x,\" Mev\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Threshold = 4.3  Mev\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 53"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Time taken\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "t=1622. #years\n",
-      "per=1. #percent\n",
-      "#calculations\n",
-      "Nratio=1-per/100.\n",
-      "x=t*math.log10(Nratio) / math.log10(0.5)\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\"Time taken =\",x,\" years\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Time taken = 23.5  years\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter3.ipynb b/Physical_Chemsitry/Chapter3.ipynb
deleted file mode 100755
index 5b215119..00000000
--- a/Physical_Chemsitry/Chapter3.ipynb
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:491d30e4e083aec11bc84fdc5735ea79764fcb01fd2223f482cd31ce71e9fd49"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 3 - Waves and Quanta"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 83"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Vibrational degrees of freedom\n",
-      "#initialization of variables\n",
-      "atoms=5\n",
-      "#calculations\n",
-      "f=3*atoms\n",
-      "fvib=f-3-3\n",
-      "#results\n",
-      "print '%s %d' %(\"Vibrational degrees of freedom = \",fvib)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Vibrational degrees of freedom =  9\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter4.ipynb b/Physical_Chemsitry/Chapter4.ipynb
deleted file mode 100755
index 82fe5388..00000000
--- a/Physical_Chemsitry/Chapter4.ipynb
+++ /dev/null
@@ -1,171 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:567a331a7783164e40dcbd30f4cdd5679a7a2dc34fb757d2d02e98a98daba061"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 4 - Molecular energy levels"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 104"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Moment of inertia\n",
-      "#initialization of variables\n",
-      "import math\n",
-      "B=10.34 #cm**-1\n",
-      "c=2.998*10**10 #cm/s\n",
-      "h=6.625*10**-27 #erg sec\n",
-      "#calculations\n",
-      "I=h/(8*math.pi**2 *B*c)\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Moment of inertia =\",I,\" g cm^2\")"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Moment of inertia = 2.71e-40  g cm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 105"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Bond length\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "ma=1.0080\n",
-      "mb=35.457\n",
-      "Na=6.0232*10**23\n",
-      "I=2.707*10**-40 #g cm**2\n",
-      "#calculations\n",
-      "mu1=ma*mb/(ma+mb)\n",
-      "mu2=mu1/Na\n",
-      "r=math.sqrt(I/mu2)\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Bond length =\",r,\"cm\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Bond length = 1.29e-08 cm\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 110"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Force constant\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "c=2.998*10**10 #cm/s\n",
-      "wave=2990 #cm**-1\n",
-      "mu=1.627*10**-24 #g\n",
-      "#calculations\n",
-      "k=mu*(2*math.pi*c*wave)**2\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Force constant =\",k,\"dynes/cm\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Force constant = 5.16e+05 dynes/cm\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 111"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the anharmonicity constant\n",
-      "#initialization of variables\n",
-      "l1=2886. #cm^-1\n",
-      "l2=5668. #cm^-1\n",
-      "#calculations\n",
-      "wave=2*l1-l2 \n",
-      "wave2= wave+l1\n",
-      "x=wave/(2*wave2)\n",
-      "#results\n",
-      "print '%s %.4f' %(\"anharmonicity constant = \",x)\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "anharmonicity constant =  0.0174\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter6.ipynb b/Physical_Chemsitry/Chapter6.ipynb
deleted file mode 100755
index b154f805..00000000
--- a/Physical_Chemsitry/Chapter6.ipynb
+++ /dev/null
@@ -1,232 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:9bf5bbe9f730183d02f70c65bc17bfc01b5796cd6c1851929b94b0569d87691c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 6 - valence electrons in molecules"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 150"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the wave function\n",
-      "#initialization of variables\n",
-      "import math\n",
-      "from math import sqrt\n",
-      "a2=1/8.\n",
-      "#calculations\n",
-      "b2=1-a2\n",
-      "a1=sqrt(a2)\n",
-      "b1=sqrt(b2)\n",
-      "#results\n",
-      "print '%s %.2f %s %.2f %s' %(\" Wave function is\",a1, \"phi1 +\",b1,\"phi2\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Wave function is 0.35 phi1 + 0.94 phi2\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 156"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Bond angle\n",
-      "#initialization of variables\n",
-      "import math\n",
-      "sinu=2/math.sqrt(3.)\n",
-      "cosu=math.sqrt(2/3.)\n",
-      "#calculations\n",
-      "tanu=sinu/cosu\n",
-      "u=math.atan(sinu/cosu) *180/math.pi\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Bond angle =\",2*u,\"degrees\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Bond angle = 109.47 degrees\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 156"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Pauling strength\n",
-      "#initialization of variables\n",
-      "import math\n",
-      "cosu=1/math.sqrt(3.)\n",
-      "sinu=math.sqrt(2./3)\n",
-      "#calculations\n",
-      "f=1/2. + math.sqrt(3.) /2. *cosu + math.sqrt(3./2) *sinu\n",
-      "#results\n",
-      "print ' %s %d' %(\"Pauling strength = \",f)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Pauling strength =  2\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 157"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Wave function\n",
-      "#initialization of variables\n",
-      "import math\n",
-      "alpha=60.*math.pi/180.\n",
-      "#calculations\n",
-      "cosa=math.cos(alpha)\n",
-      "sina=math.sin(alpha)\n",
-      "#results\n",
-      "print '%s %.2f %s %.2f %s' %(\"Wave function  =\",cosa,\"s +\",sina,\"pz\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Wave function  = 0.50 s + 0.87 pz\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 169"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Bond energy\n",
-      "#initialization of variables\n",
-      "DHH=103. #kcal/mol\n",
-      "#calculations\n",
-      "DHHp=0.5*(DHH)\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\"Bond energy =\",DHHp,\"kcal/mol\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Bond energy = 51.5 kcal/mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 10 - pg 174"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Exchange energy\n",
-      "#initialization of variables\n",
-      "DHH=42 #kcal/mol\n",
-      "#calculations\n",
-      "DHHp=0.5*(DHH)\n",
-      "#results\n",
-      "print '%s %.1f %s' %(\"Exchange energy =\",DHHp,\"kcal/mol\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Exchange energy = 21.0 kcal/mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter7.ipynb b/Physical_Chemsitry/Chapter7.ipynb
deleted file mode 100755
index c4d52fe6..00000000
--- a/Physical_Chemsitry/Chapter7.ipynb
+++ /dev/null
@@ -1,301 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:163d017a43636b203253208922a2be0b72d9894b37f4d97c9da43a5e9b39c875"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 7 - Gases and Introductory stastical thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 192"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Gas constant\n",
-      "#Initialization of variables\n",
-      "h=76. #cm\n",
-      "d=13.5951 #g/cc\n",
-      "g=980.655 #cm/s^2\n",
-      "T=273.15 #K\n",
-      "v=22414.6 #cm^3 /mol\n",
-      "#calculations\n",
-      "P=h*d*g\n",
-      "R=P*v/(T)\n",
-      "#results\n",
-      "print '%s %.3e %s' %(\"Gas constant =\",R,\"ergs/deg. mol\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Gas constant = 8.315e+07 ergs/deg. mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 192"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the R value in calories\n",
-      "#Initialization of variables\n",
-      "cal=4.184*10**7 #ergs\n",
-      "R=8.315*10**7 #ergs/deg/mol\n",
-      "#calculations\n",
-      "Rdash=R/cal\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"R in calories =\",Rdash,\" cal/ deg mol\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "R in calories = 1.987  cal/ deg mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 192"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the root mean square velocity\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "from math import sqrt\n",
-      "R=8.315*10**7 #ergs/deg/mol\n",
-      "T=273.2 #deg\n",
-      "M=4 #g/mol\n",
-      "#calculations\n",
-      "u2=3*T*R/M\n",
-      "u=sqrt(u2)\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"root mean square velocity =\",u,\" cm/sec\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "root mean square velocity = 1.31e+05  cm/sec\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 194"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Partial pressure of N2, O2 and CO2\n",
-      "#Initialization of variables\n",
-      "n1=2.\n",
-      "n2=10.\n",
-      "n3=3.\n",
-      "P=720. #mm of Hg\n",
-      "#calculations\n",
-      "n=n1+n2+n3\n",
-      "x1=n1/n\n",
-      "P1=x1*P\n",
-      "x2=n2/n\n",
-      "P2=x2*P\n",
-      "x3=n3/n\n",
-      "P3=x3*P\n",
-      "#results\n",
-      "print '%s %d %s' %(\"\\n Partial pressure of N2 =\",P1,\"mm\")\n",
-      "print '%s %d %s' %(\"\\n Partial pressure of O2 =\",P2,\" mm\")\n",
-      "print '%s %d %s' %(\"\\n Partial pressure of CO2 =\",P3,\"mm\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "\n",
-        " Partial pressure of N2 = 96 mm\n",
-        "\n",
-        " Partial pressure of O2 = 480  mm\n",
-        "\n",
-        " Partial pressure of CO2 = 144 mm\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 197"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Total energy\n",
-      "#Initialization of variables\n",
-      "T=273.2+25 #K\n",
-      "n=1 #mol\n",
-      "R=1.987 #cal/deg mol\n",
-      "#calculations\n",
-      "Etr=1.5*n*R*T\n",
-      "Erot=1.5*n*R*T\n",
-      "Evib=0\n",
-      "Eel=0\n",
-      "Etot=Etr+Erot+Evib+Eel\n",
-      "#results\n",
-      "print '%s %d %s' %(\"Total energy =\",Etot,\"cal\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Total energy = 1777 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 199"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Molecular diameter of He\n",
-      "#Initialization of variables'\n",
-      "import math\n",
-      "b=24.1 #cm^2/mol\n",
-      "N=6.023*10**23 #mole^-1\n",
-      "#calculations\n",
-      "d=(3*b/(2*math.pi*N))**(1./3)\n",
-      "#results\n",
-      "print '%s %.2e %s' %(\"Molecular diameter of He =\",d,\" cm\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Molecular diameter of He = 2.67e-08  cm\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 205"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Volume\n",
-      "#Initialization of variables\n",
-      "P=100. #atm\n",
-      "T=200. #K\n",
-      "n=1. #mole\n",
-      "R=0.08206 #l atm/deg mol\n",
-      "print \"From psychrometric charts,\"\n",
-      "Tc=126.2 #K\n",
-      "Pc=33.5 #K\n",
-      "#calculations\n",
-      "Pr=P/Pc\n",
-      "Tr=T/Tc\n",
-      "print \"From z charts,\"\n",
-      "z=0.83\n",
-      "V=z*n*R*T/P\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Volume =\",V,\" liter\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "From psychrometric charts,\n",
-        "From z charts,\n",
-        "Volume = 0.136  liter\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter8.ipynb b/Physical_Chemsitry/Chapter8.ipynb
deleted file mode 100755
index 7ee5bb63..00000000
--- a/Physical_Chemsitry/Chapter8.ipynb
+++ /dev/null
@@ -1,218 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:56268e206bf92e9d6c6eb22d6025708a41b67ffcb1bed3001f2340e19e39294f"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 8 - First law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 211"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Joules required\n",
-      "#Initialization of variables\n",
-      "P=1.0132*10**6 #dynes/cm**2\n",
-      "A=100 #cm**2\n",
-      "z=10 #cm\n",
-      "#calculations\n",
-      "w=P*A*z*10**-7\n",
-      "#results\n",
-      "print '%s %.4e %s' %(\"Joules =\",w,\"J\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Joules = 1.0132e+02 J\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 211"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Calories required\n",
-      "#Initialization of variables\n",
-      "P=1.0132*10**6 #dynes/cm**2\n",
-      "A=100 #cm**2\n",
-      "z=10 #cm\n",
-      "#calculations\n",
-      "w=P*A*z*10**-7\n",
-      "cal=w/4.184\n",
-      "#results\n",
-      "print '%s %.3f %s' %(\"Calories =\",cal,\"cal\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Calories = 24.216 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 217"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Heat of vaporization and the Change in energy\n",
-      "#Initialization of variables\n",
-      "T=373.2 #K\n",
-      "n=1. #mol\n",
-      "qp=9720. #cal/mol\n",
-      "#calculations\n",
-      "q=n*qp\n",
-      "w=1.987*T\n",
-      "dE=q-w\n",
-      "#results\n",
-      "print '%s %d %s' %(\"Heat of vaporization =\",q,\"cal\")\n",
-      "print '%s %d %s' %(\"\\n Change in energy =\",dE,\"cal\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Heat of vaporization = 9720 cal\n",
-        "\n",
-        " Change in energy = 8978 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 222"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the work done, Heat transferred and change in energy\n",
-      "#Initialization of variables\n",
-      "T1=25+273. #K\n",
-      "T2=25+273. #K\n",
-      "#calculations\n",
-      "print \"Since, T2=T1, dE=0\"\n",
-      "dE=0\n",
-      "w=0\n",
-      "q=dE+w\n",
-      "#results\n",
-      "print '%s %d %s' %(\"\\n Work done = \",w,\"J\")\n",
-      "print '%s %d %s' %(\"\\n Heat transferred =\",q,\"J\")\n",
-      "print '%s %d %s' %(\"\\n Change in energy = \",dE,\"J\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Since, T2=T1, dE=0\n",
-        "\n",
-        " Work done =  0 J\n",
-        "\n",
-        " Heat transferred = 0 J\n",
-        "\n",
-        " Change in energy =  0 J\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 224"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Vibrational energy\n",
-      "#Initialization of variables\n",
-      "R=1.987 #cal/deg mol\n",
-      "#calculations\n",
-      "Cvtr=1.5*R\n",
-      "Cvrot=1.5*R\n",
-      "Cvt=Cvtr+Cvrot\n",
-      "print \"Observed Cv= 6.43\"\n",
-      "Cvobs=6.43\n",
-      "Cvvib=Cvobs-Cvt\n",
-      "#results\n",
-      "print '%s %.2f %s' %(\"Vibrational =\",Cvvib,\"cal/deg mol\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Observed Cv= 6.43\n",
-        "Vibrational = 0.47 cal/deg mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter9.ipynb b/Physical_Chemsitry/Chapter9.ipynb
deleted file mode 100755
index dad780a4..00000000
--- a/Physical_Chemsitry/Chapter9.ipynb
+++ /dev/null
@@ -1,103 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:d8a3e9ee0b493342a03a360ee0ca604f80a61547dd5ed22ef022608eecfbe8c4"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 9 - Boltzmann distribution law"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 235"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the no of particles\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "r=2.1*10**-6 #cm\n",
-      "n=889\n",
-      "x=0.1 #cm\n",
-      "T=298.2 #K\n",
-      "#calculations\n",
-      "V=4/3 *math.pi *r**3\n",
-      "rho=19.3-1\n",
-      "ffd=rho*V*980.7\n",
-      "eps=ffd*x\n",
-      "logN=-6.96*10**-14 /(2.303*1.38*10**-16 *T)\n",
-      "N=10**logN *n\n",
-      "#results\n",
-      "print '%s %.1f' %(\"No. of particles =\",N)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "No. of particles = 163.9\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 237"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Temperature\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "x=1. #percent\n",
-      "wave=1595 #cm**-1\n",
-      "#calculations\n",
-      "E=2.8593*wave\n",
-      "Nratio=(100-x)/x\n",
-      "logN=math.log10(Nratio)\n",
-      "T=E/(2.303*1.987*logN)\n",
-      "#results\n",
-      "print '%s %d %s' %(\"Temperature =\",T,\"K\")\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Temperature = 499 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter_1.ipynb b/Physical_Chemsitry/Chapter_1.ipynb
deleted file mode 100755
index ca5fb73c..00000000
--- a/Physical_Chemsitry/Chapter_1.ipynb
+++ /dev/null
@@ -1,533 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:1833f0f72d4fcfdfc05d274c870f8929bea706e80b14f9268d3407df8540de4d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 1 - Kinetic theory of gases and equations of state"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - Pg 5"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the final volume of the gas\n",
-      "#initialisation of variables\n",
-      "V= 22.394 #l\n",
-      "m= 32 #gm\n",
-      "T= 0 #C\n",
-      "T1= 50. #C\n",
-      "p= .8 #atm\n",
-      "#CALCULATIONS\n",
-      "V1= (T1+273.16)*V/(T+273.16)\n",
-      "V2= (1./p)*V1\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' Volume = ',V2,'lt')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Volume =  33.116 lt\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - Pg 7"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate gthe argon temperature\n",
-      "#initialisation of variables\n",
-      "P= 1 #atm\n",
-      "T= 0 #C\n",
-      "#CALCULATIONS\n",
-      "T1= 10*(T+273.2)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' %(' Argon temperature =',T1,' K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Argon temperature = 2732.0  K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - Pg 9"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Atomic Weight\n",
-      "#initialisation of variables\n",
-      "x= 0.0820544\n",
-      "T= 0 #C\n",
-      "l= 1.7826 #gl^-1atm^-1\n",
-      "#CALCULATIONS\n",
-      "M= x*(273.16+T)*l\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' Atomic Weight =',M,'gm mole^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Atomic Weight = 39.955 gm mole^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - Pg 11"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Molecular weight and molecular formula\n",
-      "#initialisation of variables\n",
-      "g=.270 #g\n",
-      "R=0.08205\n",
-      "T=296.4 #K\n",
-      "P=754.6/760.0 #atm\n",
-      "V=0.03576 #lt\n",
-      "m1= 12\n",
-      "m2= 19\n",
-      "m3= 35.46\n",
-      "yx=.57\n",
-      "#CALCULATIONS\n",
-      "M1=g*R*T/(P*V)\n",
-      "y=round(yx*M1/m3)\n",
-      "n=round((M1-m3*y+m2)/(2*m2+m1))\n",
-      "x=2*n-1\n",
-      "M= n*m1+x*m2+y*m3\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' %('Approximate molecular weight = ',M1,\"gms\")\n",
-      "print '%s %.2f %s' % (' Molecular weight =',M,' gms')\n",
-      "print '%s %d %s %d %s %d' %('Molecular formula is C',n,'F',x,'Cl',y)"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Approximate molecular weight =  184.94 gms\n",
-        " Molecular weight = 187.38  gms\n",
-        "Molecular formula is C 2 F 3 Cl 3\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - Pg 14"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the pressure in both cases\n",
-      "#initialisation of variables\n",
-      "n= 10 #moles\n",
-      "R= 0.08205 #atml/molK\n",
-      "T= 300 #K\n",
-      "V= 4.86 #l\n",
-      "b= 0.0643 #ml mol**-1\n",
-      "a= 5.44 #l**2\n",
-      "#CALCULATIONS\n",
-      "P= n*R*T/V\n",
-      "P1= (n*R*T/(V-n*b))-(a*n**2/V**2)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Pressure in case of perfect gas law=',P,' atm')\n",
-      "print '%s %.1f %s' % ('  \\n Pressure in case of vanderwaals equation =',P1,' atm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Pressure in case of perfect gas law= 50.6  atm\n",
-        "  \n",
-        " Pressure in case of vanderwaals equation = 35.3  atm\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - Pg 20"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the pressure of the gas\n",
-      "#initialisation of variables\n",
-      "n= 10 #moles\n",
-      "T= 300 #K\n",
-      "V= 4.86 #l\n",
-      "R= 0.08205 #atml/molK\n",
-      "v= 0.1417 #l\n",
-      "T1= 305.7 #K\n",
-      "#CALCULATIONS\n",
-      "b= v/2\n",
-      "a= 2*v*R*T1\n",
-      "P= ((n*R*T)/(V-n*b))*2.71**(-a*n/(V*R*T))\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Pressure =',P,' atm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Pressure = 32.8  atm\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - Pg 23"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the root mean square velocity\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "from math import sqrt\n",
-      "T= 0 #C\n",
-      "T1= 100 #C\n",
-      "R= 8.314 #atm lit/mol K\n",
-      "n= 3\n",
-      "M= 2.016 #gm\n",
-      "M1= 28.02 #gm\n",
-      "M2= 146.1 #gm\n",
-      "#CALCULATIONS\n",
-      "u= sqrt(n*R*10**7*(T+273.2)/M)\n",
-      "u1= sqrt(n*R*10**7*(T+273.2)/M1)\n",
-      "u2= sqrt(n*R*10**7*(T+273.2)/M2)\n",
-      "u3= sqrt(n*R*10**7*(T1+273.2)/M)\n",
-      "u4= sqrt(n*R*10**7*(T1+273.2)/M1)\n",
-      "u5= sqrt(n*R*10**7*(T1+273.2)/M2)\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' root mean square velocity of H2 at 0 C  =',u*10**-4,' cm/sec')\n",
-      "print '%s %.3f %s' % (' \\n root mean square velocity of N2 at 0 C=',u1*10**-4,' cm/sec')\n",
-      "print '%s %.3f %s' % (' \\n root mean square velocity of SF6 at 0 C =',u2*10**-4,'cm/sec')\n",
-      "print '%s %.2f %s' % (' \\n root mean square velocity of H2 at 100 C =',u3*10**-4,' cm/sec')\n",
-      "print '%s %.3f %s' % (' \\n root mean square velocity of N2 at 100 C =',u4*10**-4,' cm/sec')\n",
-      "print '%s %.3f %s' % (' \\n root mean square velocity of SF6 at 100 C =',u5*10**-4,' cm/sec')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " root mean square velocity of H2 at 0 C  = 18.38  cm/sec\n",
-        " \n",
-        " root mean square velocity of N2 at 0 C= 4.931  cm/sec\n",
-        " \n",
-        " root mean square velocity of SF6 at 0 C = 2.160 cm/sec\n",
-        " \n",
-        " root mean square velocity of H2 at 100 C = 21.49  cm/sec\n",
-        " \n",
-        " root mean square velocity of N2 at 100 C = 5.764  cm/sec\n",
-        " \n",
-        " root mean square velocity of SF6 at 100 C = 2.524  cm/sec\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - Pg 34"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#Calculate the no. of collisions in He and N2\n",
-      "#Initialisation of variables\n",
-      "import math\n",
-      "from math import sqrt\n",
-      "P= 1 #at,\n",
-      "T= 300 #K\n",
-      "R= 82.05 #atm l/mol K\n",
-      "R1= 8.314\n",
-      "s= 4*10**-8 #cm\n",
-      "s1= 2*10**-8 #cm\n",
-      "m= 4 #gm\n",
-      "m1= 28 #gm\n",
-      "#CALCULATIONS\n",
-      "N= P*6.02*10**23/(R*T)\n",
-      "n= 2*s1**2*N**2*sqrt(math.pi*R1*10**7*T/m)\n",
-      "n1= 2*s**2*N**2*sqrt(math.pi*R1*10**7*T/m1)\n",
-      "#RESULTS\n",
-      "print '%s %.e %s' % (' no of collisions =',n,'collisions sec^-1 mol^-1')\n",
-      "print '%s %.2e %s' % (' \\n no of collisions =',n1,' collisions sec^-1 mol^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " no of collisions = 7e+28 collisions sec^-1 mol^-1\n",
-        " \n",
-        " no of collisions = 1.01e+29  collisions sec^-1 mol^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 10 - Pg 36"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the viscosity of N2\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "from math import sqrt\n",
-      "M= 28 #gm\n",
-      "R= 8.314*10**7 #atm l/mol K\n",
-      "N= 6.023*10**23\n",
-      "T= 300 #K\n",
-      "s= 4*10**-8#cm\n",
-      "#CALCULATIONS\n",
-      "m= M/N\n",
-      "k= R/N\n",
-      "n= (5./16.)*sqrt(math.pi*m*k*T)/(math.pi*s**2)\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' viscosity =',n,'poise')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " viscosity = 1.53e-04 poise\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 12 - Pg 45"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Increase in energy per degree for 1 mole of gas\n",
-      "#initialisation of variables\n",
-      "n= 3\n",
-      "R= 2 #cal mol^-1 deg^-1\n",
-      "#CALCULATIONS\n",
-      "I= n*R\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' %(' Increase in energy =',I,'cal mol^-1 deg^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Increase in energy = 6.0 cal mol^-1 deg^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 13 - Pg 51"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Dipole moment and percentage of ionic character\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "k= 1.38*10**-16\n",
-      "N= 6*10**23 #molecules\n",
-      "a= 105 #degrees\n",
-      "l= 0.957 #A\n",
-      "e= 4.8*10**-10 #ev\n",
-      "#CALCULATIONS\n",
-      "u= math.sqrt(9*k*2.08*10**4/(4*math.pi*N))\n",
-      "uh= u/(2*math.cos(a*math.pi/180/2.))\n",
-      "z= uh/(l*e*10**-8) \n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' Dipole moment of H2O=',u,'e.s.u.cm')\n",
-      "print '%s %.2e %s' % (' \\n Dipole moment of OH bond =',uh,'e.s.u.cm')\n",
-      "print '%s %.2f' % (' \\n fraction of ionic character =',z)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Dipole moment of H2O= 1.85e-18 e.s.u.cm\n",
-        " \n",
-        " Dipole moment of OH bond = 1.52e-18 e.s.u.cm\n",
-        " \n",
-        " fraction of ionic character = 0.33\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 14 - Pg 52"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the dielectric constant\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "u= 1.44*10**-18 #e.s.u\n",
-      "k= 3.8*10**-16 \n",
-      "T= 273. #k\n",
-      "N= 6.023*10**23 #molecules\n",
-      "v= 6. #cc\n",
-      "Vm= 44.8*10**3 #cc\n",
-      "#CALCULATIONS\n",
-      "Pm= v+(4*math.pi*N*u**2/(3*3*k*T))\n",
-      "r= Pm/Vm\n",
-      "k= (2*r+1)/(1-r)\n",
-      "#RESULTS\n",
-      "print '%s %.5f' % (' dielectric constant =',k)\n",
-      "print 'The answer is a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " dielectric constant = 1.00153\n",
-        "The answer is a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter_10.ipynb b/Physical_Chemsitry/Chapter_10.ipynb
deleted file mode 100755
index 4ee0e2f1..00000000
--- a/Physical_Chemsitry/Chapter_10.ipynb
+++ /dev/null
@@ -1,635 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:a8663b753e53365cf46aa7f5948fd23b365bccc405a9c5b9305fa79e49b0f6dc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 10 - Chemical Kinetics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 543"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Pressure \n",
-      "#initialisation of variables\n",
-      "t= 3 #sec\n",
-      "P0= 200 #mm\n",
-      "k= 17.3 #mm/sec\n",
-      "P1= 104 #mm\n",
-      "#CALCULATIONS\n",
-      "P= P0-k*t\n",
-      "P2= P+P1\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' Pressure=',P2,' mm of Hg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Pressure= 252  mm of Hg\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 545"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Half time\n",
-      "#initialisation of variables\n",
-      "k= 2.63*10**-3 #min^-1\n",
-      "#CALCULATIONS\n",
-      "t1= 0.693/k\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Half time=',t1,'min')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Half time= 263.5 min\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 546"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Partial Pressure of the reactant\n",
-      "#initialisation of variables\n",
-      "P= 200. #mm\n",
-      "t= 30. #min\n",
-      "k= 2.5*10**-4 #sec^-1\n",
-      "#CALCULATIONS\n",
-      "P0= P/(10**(k*t*60/2.303))\n",
-      "P1= P-P0\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' Partial Pressure of reactant=',P1,'mm of Hg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Partial Pressure of reactant= 72 mm of Hg\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 548"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the no of atoms\n",
-      "#initialisation of variables\n",
-      "t= 5600*365*24*60.\n",
-      "x= 5 #atoms\n",
-      "#CALCULATIONS\n",
-      "k= 0.693/t\n",
-      "N= x/k\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' No of atoms=',N, 'atoms')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " No of atoms= 2.12e+10 atoms\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 548"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the time passed\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "t= 5600 #sec\n",
-      "r= 0.256\n",
-      "#CALCULATIONS\n",
-      "t1= (t/0.693)*2.303*math.log10(1/r)\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' Time=',t1,'years ago')\n",
-      "print 'The answer is a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Time= 11012 years ago\n",
-        "The answer is a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 549"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the first order rate constant and half life\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "t= 25.1 #hr\n",
-      "C= 0.004366 \n",
-      "C1= 0.002192\n",
-      "C2= 0.006649\n",
-      "#CALCULATIONS\n",
-      "r= (C-C1)/(C2-C1)\n",
-      "k= 2.303*math.log10(1/r)/t\n",
-      "t1= 0.693/k\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' %(' Time=',t1,' hr')\n",
-      "print '%s %.2e %s' %(' Time=',k,' hr')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Time= 24.2  hr\n",
-        " Time= 2.86e-02  hr\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 552"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Rate constant\n",
-      "#initialisation of variables\n",
-      "s= 18.6*10**4 #mm of hg\n",
-      "#CALCULATIONS\n",
-      "k= 1./s\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' Rate constant=',k,' (mm Hg)^-1 sec^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Rate constant= 5.38e-06  (mm Hg)^-1 sec^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 552"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the requried Pressure\n",
-      "#initialisation of variables\n",
-      "k= 1.14*10**-4 #sec^-1\n",
-      "k1= 5.38*10**-6 #sec^-1\n",
-      "#CALCULATIONS\n",
-      "P= k/k1\n",
-      "P2=0.01*P\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' Pressure=',P2,'mm of Hg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Pressure= 0.212 mm of Hg\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 555"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the no of molecules\n",
-      "#initialisation of variables\n",
-      "T= 600 #K\n",
-      "P= 1 #atm\n",
-      "R= 0.082 #atm lit/mol K\n",
-      "#CALCULATIONS\n",
-      "C= P/(R*T)\n",
-      "r= C**2*4*10**-6 \n",
-      "r1= 6*10**23*r\n",
-      "#RESULTS\n",
-      "print '%s %.1e %s' % (' No of molecules=',r1,'molecules l^-1 sec^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " No of molecules= 9.9e+14 molecules l^-1 sec^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 10 - pg 555"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the time required\n",
-      "#initialisation of variables\n",
-      "k= 6.3*10**2 #ml mole^-1 sec^-1\n",
-      "P= 400. #mm\n",
-      "T= 600. #K\n",
-      "R= 82.06\n",
-      "#CALCULATIONS\n",
-      "C= (P/760.)/(R*T)\n",
-      "t= 1/(9.*C*k)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' time=',t,' sec')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " time= 16.5  sec\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 11 - pg 556"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the pressure of No2 in both cases\n",
-      "#initialisation of variables\n",
-      "pf2= 2.00 #mm Hg\n",
-      "y= 0.96 #mm Hg\n",
-      "Pn= 5 #mm Hg\n",
-      "#CALCULATIONS\n",
-      "pF2= pf2-y\n",
-      "pNO2= Pn-2*y\n",
-      "pNO2F= 2*y\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' pressure of NO2=',pNO2,'mm of Hg')\n",
-      "print '%s %.2f %s' % (' \\n pressure of NO2 after 30 sec=',pNO2F,'mm of Hg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " pressure of NO2= 3.08 mm of Hg\n",
-        " \n",
-        " pressure of NO2 after 30 sec= 1.92 mm of Hg\n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 13 - pg 561"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Rate constant\n",
-      "#initialisation of variables\n",
-      "k= 4*10**-6 #mol^-1 sec^-1\n",
-      "Kc= 73\n",
-      "#CALCULATIONS\n",
-      "K1= k*Kc/2\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' Rate constant=',K1,'l mol^-1 sec^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Rate constant= 1.46e-04 l mol^-1 sec^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 14 - pg 568"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the activation energy\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "R= 1.987 #atm lit/mol K\n",
-      "T= 573.2 #K\n",
-      "T1= 594.6 #K\n",
-      "k= 3.95*10**-6 #mol^-1 sec^-1\n",
-      "k1= 1.07*10**-6 #mol^-1 sec^-1\n",
-      "#CALCULATIONS\n",
-      "H= R*T*T1*2.303*math.log10((k/k1))/(T1-T)\n",
-      "#RESULTS\n",
-      "print '%s %d %s' %(' activation energy=',H,'calmol^-1')\n",
-      "print 'The answers in the texbook are a bit different due to rounding off error'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " activation energy= 41338 calmol^-1\n",
-        "The answers in the texbook are a bit different due to rounding off error\n"
-       ]
-      }
-     ],
-     "prompt_number": 15
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 15 - pg 568"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the time required\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "H= 41300. #cal\n",
-      "T= 673. #K\n",
-      "T1= 595. #K\n",
-      "R= 1.987 #cal/mol K\n",
-      "K= 3.95*10**-6\n",
-      "P= 1 #atm\n",
-      "R1= 0.08205 #j/mol K\n",
-      "#CALCULATIONS\n",
-      "k2= math.e**(H*(T-T1)/(R*T*T1))*K\n",
-      "C= P/(R1*T)\n",
-      "t= 44.8/C\n",
-      "t2=R1*T*10**-2 /k2\n",
-      "#RESULTS\n",
-      "print '%s %d %s' %(' time =',t,'sec')\n",
-      "print '%s %d %s' %('Time required in case 2 = ',t2,'sec')\n",
-      "print 'The answers in the texbook are a bit different due to rounding off error'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " time = 2473 sec\n",
-        "Time required in case 2 =  2438 sec\n",
-        "The answers in the texbook are a bit different due to rounding off error\n"
-       ]
-      }
-     ],
-     "prompt_number": 16
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 16 - pg 569"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the collision diameter\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "H= 41300.\n",
-      "R= 1.987 #atm lit/mol K\n",
-      "T= 595. #K\n",
-      "M= 128. #gm\n",
-      "R1= 8.314*10**7 #atm lit/mol K\n",
-      "N= 6.02*10**23 #moleccules\n",
-      "k= 3.95*10**-6 #sec**-1\n",
-      "#CALCULATIONS\n",
-      "s= math.sqrt((k*10**3/(4*N))*(128/(math.pi*R1*T))**0.5*math.e**(H/(R*T)))\n",
-      "#RESULTS\n",
-      "print '%s %.3e %s' % (' collision diameter=',s,' cm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " collision diameter= 8.356e-09  cm\n"
-       ]
-      }
-     ],
-     "prompt_number": 17
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 18 - pg 577"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Concentration of A and B\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "import numpy\n",
-      "from numpy import linalg\n",
-      "p= 20.3 #percent\n",
-      "p1= 1.77 #percent\n",
-      "I= 100.\n",
-      "n= 2.\n",
-      "l= 300. #l mol^-1 cm^-1\n",
-      "l1= 30. #l mol^-1 cm^-1\n",
-      "l2= 10. #l mol^-1 cm^-1\n",
-      "l3= 200. #l mol^-1 cm^-1\n",
-      "#CALCULATIONS\n",
-      "A= ([[n*l, n*l1],[n*l2, n*l3]])\n",
-      "b= ([[math.log10(I/p1)],[math.log10(I/p)]])\n",
-      "c= numpy.dot(numpy.linalg.inv(A),b)\n",
-      "R1=c[0]\n",
-      "R2=c[1]\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' Concentration of A =',R1,' mole l^-1')\n",
-      "print '%s %.2e %s' % (' \\n Concentration of B =',R2,' mole l^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Concentration of A = 2.76e-03  mole l^-1\n",
-        " \n",
-        " Concentration of B = 1.59e-03  mole l^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 18
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter_2.ipynb b/Physical_Chemsitry/Chapter_2.ipynb
deleted file mode 100755
index f3c80669..00000000
--- a/Physical_Chemsitry/Chapter_2.ipynb
+++ /dev/null
@@ -1,437 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:e0f60b1374b6cd8ea6c7a7a98303a8b74644396bbd6f803eaeda82697f2fd3e7"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 2 - Structures of Condensed Phases"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 74"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the size of cubic unit cell\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "l= 1.5418 #A\n",
-      "a= 19.076 #degrees\n",
-      "d2= 1.444 #A\n",
-      "#CALCULATIONS\n",
-      "d= l/(2*math.sin(a*math.pi/180.))\n",
-      "a= math.sqrt(8*d2*d2)\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' % (' size of cubic unit cell =',a,'A')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " size of cubic unit cell = 4.0842 A\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 75"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Density of silver\n",
-      "#initialisation of variables\n",
-      "M= 107.88 #gm\n",
-      "z= 4\n",
-      "v= 4.086 #A\n",
-      "N= 6.023*10**23\n",
-      "#CALCULATIONS\n",
-      "d= z*M/(v**3*10**-24*N)\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' % (' Density of silver =',d,'gm cm^-3')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Density of silver = 10.5025 gm cm^-3\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 75"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the molecular weight\n",
-      "#initialisation of variables\n",
-      "d= 1.287 #g cm**-3\n",
-      "a= 123 #A\n",
-      "z= 4\n",
-      "#CALCULATIONS\n",
-      "M= d*6.023*10**23*a**3*10**-24/z\n",
-      "#RESULTS\n",
-      "print '%s %.1e %s' % (' molecular weight =',M,'gm ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " molecular weight = 3.6e+05 gm \n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 78"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the radius of silver atom\n",
-      "import math\n",
-      "#initialisation of variables\n",
-      "a= 4.086 #A\n",
-      "#CALCULATIONS\n",
-      "d= a*math.sqrt(2)\n",
-      "r= d/4.\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' radius of silver atom=',r,' A ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " radius of silver atom= 1.445  A \n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 99"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the surface tension\n",
-      "import math\n",
-      "#initialisation of variables\n",
-      "M= 38.3 #mg cm^-1\n",
-      "d= 13.55 #g cm^-3\n",
-      "p= 0.9982 #g cm^-3\n",
-      "g= 980.7 #cm/sec^2\n",
-      "l= 4.96  #cm\n",
-      "#CALCULATIONS\n",
-      "r= math.sqrt(M*10**-3/(d*math.pi))\n",
-      "R= r*p*g*l/2\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' surface tension =',R,' ergs cm^-2 ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " surface tension = 72.8  ergs cm^-2 \n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 103"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the dipole moment of water\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "r= 1.333\n",
-      "d= 0.9982 #g cm**-3\n",
-      "m= 18.02 #gm\n",
-      "Pm= 74.22 #cc\n",
-      "k= 8.314*10**7 \n",
-      "N= 6.023*10**23\n",
-      "T= 293 #k\n",
-      "#CALCULATIONS\n",
-      "Rm= ((r**2-1)/(r**2+2))*m/d\n",
-      "u= math.sqrt(9*k*T*(Pm-Rm)/(4*math.pi*N**2))\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' dipole moment of water =',u,'e.s.u ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " dipole moment of water = 1.84e-18 e.s.u \n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 103"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the radius of argon atom\n",
-      "#initialisation of variables\n",
-      "a= 1.66*10**-24 #cm**3\n",
-      "#CALCULATIONS\n",
-      "r= a**(1/3.)/10**-8\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' radius =',r,'A ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " radius = 1.18 A \n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 104"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the index of refraction\n",
-      "import math\n",
-      "#initialisation of variables\n",
-      "N= 6.023*10**23 #molecules\n",
-      "a= 10**-24\n",
-      "k= 0.89\n",
-      "cl= 3.60\n",
-      "M= 74.56 #gms\n",
-      "d= 1.989 #g/cm^3\n",
-      "#CACLULATIONS\n",
-      "Rm= 4*math.pi*N*(k+cl)*a/3\n",
-      "r= Rm*d/M\n",
-      "n= math.sqrt((2*r+1)/(1-r))\n",
-      "#RESULTS\n",
-      "print '%s %.3f' % (' index of refraction= ',n)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " index of refraction=  1.516\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 104"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the radius of K and Cl atoms\n",
-      "#initialisation of variables\n",
-      "v= 3.6 #cc\n",
-      "v1= 0.89 #cc\n",
-      "s= 3.146 #A\n",
-      "#CALCULATIONS\n",
-      "r= (v/v1)**(1/3.)\n",
-      "r1 = s/(1+r)\n",
-      "r2 = s-r1\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' radius of k+=',r1,'A ')\n",
-      "print '%s %.3f %s' % (' \\n radius of cl-=',r2,'A ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " radius of k+= 1.213 A \n",
-        " \n",
-        " radius of cl-= 1.933 A \n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "markdown",
-     "metadata": {},
-     "source": [
-      "Example 10 - pg 107"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the angle of rotation\n",
-      "#initialisation of variables\n",
-      "g= 10 #gm\n",
-      "d= 1.038 #gm/mol\n",
-      "M= 100 #gm\n",
-      "x= 66.412\n",
-      "y= 0.127\n",
-      "z= 0.038\n",
-      "l= 20 #cm\n",
-      "#CALCULATIONS\n",
-      "p= g/(M/d)\n",
-      "X= x+y-z\n",
-      "ar= X*l*p/10.\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' angle of rotation=',ar,'degrees ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " angle of rotation= 13.81 degrees \n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 11 - pg 108"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the viscosity of toluene\n",
-      "#initialisation of variables\n",
-      "t= 68.9 #sec\n",
-      "t1= 102.2 #sec\n",
-      "p1= 0.866 #g/cm^3\n",
-      "p2= 0.998 #gm/cm^3\n",
-      "n= 0.01009 #dynesc/cm^2\n",
-      "#CALCULATIONS\n",
-      "N= n*t*p1/(t1*p2)\n",
-      "#RESULTS\n",
-      "print '%s %.5f %s' % (' viscosity of toluene=',N,'dyne sec/cm^2 ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " viscosity of toluene= 0.00590 dyne sec/cm^2 \n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter_3.ipynb b/Physical_Chemsitry/Chapter_3.ipynb
deleted file mode 100755
index 09238726..00000000
--- a/Physical_Chemsitry/Chapter_3.ipynb
+++ /dev/null
@@ -1,878 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:e18fb187eca74984e6f3523731bde87a33ea02f1017bfbe68a1eb5fa826002ce"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 3 - First law of Thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 129"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the increase in energy\n",
-      "#initialisation of variables\n",
-      "P= 0.0060 #atm\n",
-      "M=18.  #gm\n",
-      "L=80 #cal/gm\n",
-      "H=596.1 #cal/gm\n",
-      "#calculations\n",
-      "Hs=M*L+M*H\n",
-      "#results\n",
-      "print '%s %d %s' %('Net increase in energy = ',Hs,'cal')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Net increase in energy =  12169 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 130"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the increase in energy\n",
-      "#initialisation of variables\n",
-      "P= 0.0060 #atm\n",
-      "V1= 0.0181 #l\n",
-      "H= -10730 #cal\n",
-      "V2= 22.4 #l\n",
-      "#CALCULATIONS\n",
-      "W= (V2-P*V1)*(1.987/.08205)\n",
-      "E= H+W\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' increase in energy=',E,' cal ')\n",
-      "print 'The answer differs a bit from the textbook due to rounding off error'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " increase in energy= -10187  cal \n",
-        "The answer differs a bit from the textbook due to rounding off error\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 132"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the increase in energy\n",
-      "#initialisation of variables\n",
-      "T1= 70 #C\n",
-      "T2= 10 #C\n",
-      "Cp= 18 #cal mole^-1 deg^-1\n",
-      "P= 1 #atm\n",
-      "m= 18. #g\n",
-      "d= 0.9778 #g/ml\n",
-      "d1= 0.9997 #g/ml\n",
-      "e= 1.987 #cal\n",
-      "x= 82.05 #ml atm\n",
-      "#CALCULATIONS\n",
-      "H= Cp*(T1-T2)\n",
-      "E= H-(e/x)*P*((m/d)-(m/d1))\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' increase in energy=',E,'cal ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " increase in energy= 1080.0 cal \n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 132"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the conversion factor\n",
-      "#initialisation of variables\n",
-      "i= 1 #amp\n",
-      "r= 2 #ohms\n",
-      "t= 10 #min\n",
-      "dT= 2.73 #C\n",
-      "x= 0.1 #cal/deg\n",
-      "x1= 100 #cal/deg\n",
-      "x2= 5 #cal/deg\n",
-      "#CALCULATIONS\n",
-      "w= i**2*r*t*60\n",
-      "H= (x+x1+x2)*dT\n",
-      "E= w/H\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % ('conversion factor =',E,'cal ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "conversion factor = 4.18 cal \n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 137"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the heat at constant pressure and volume\n",
-      "#initialisation of variables\n",
-      "Cp= 6.0954 #cal /mol deg\n",
-      "Cp1= 3.2533*10**-3 #cal /mol deg\n",
-      "Cp2= 1.071*10**-6 #cal /mol deg\n",
-      "T= 100 #C\n",
-      "T1= 0 #C\n",
-      "R= 1.987 #atml/cal K\n",
-      "#CALULATIONS\n",
-      "H= Cp*(T-T1)+(Cp1/2)*((T+273.2)**2-(T1+273.2)**2)-(Cp2/3)*((T+273.2)**3-(T1+273.2)**3)\n",
-      "q= H-R*(T-T1)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Heat at constant pressure=',H,'cal ')\n",
-      "print '%s %.1f %s' % (' \\n Heat at constant volume=',q,'cal ')\n",
-      "print 'The answer differs a bit from the textbook due to rounding off error'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Heat at constant pressure= 703.4 cal \n",
-        " \n",
-        " Heat at constant volume= 504.7 cal \n",
-        "The answer differs a bit from the textbook due to rounding off error\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 140"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the work done in the process\n",
-      "#initialisation of variables\n",
-      "vl= 0.019 #l\n",
-      "vg= 16.07 #l\n",
-      "h= 1489. #mm of Hg\n",
-      "#CALCULATIONS\n",
-      "w= -(h/760)*(vl-vg)*(1.987/0.08206)\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' Work done=',w,'cal ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Work done= 761 cal \n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 141"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the minimum work in both cases\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "n= 2 #moles\n",
-      "R= 0.08206 #J/mol K\n",
-      "T= 25 #C\n",
-      "b= 0.0428 #lmole^-1\n",
-      "a= 3.61 #atm l^2 mole^-1\n",
-      "V1= 20. #l\n",
-      "V2= 1. #l\n",
-      "#CALCULATIONS\n",
-      "w1= n*1.987*(273.2+T)*math.log10(V1/V2) *2.303\n",
-      "w= (n*R*(273.2+T)*2.303*math.log10((V1-n*b)/(V2-n*b))-a*n**2*((1/V2)-(1/V1)))*(1.987/0.08206)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' minimum work=',w1,'cal ')\n",
-      "print '%s %.1f %s' % (' \\n minimum work=',w,'cal ')\n",
-      "print 'The answer differs a bit from the textbook due to rounding off error'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " minimum work= 3550.7 cal \n",
-        " \n",
-        " minimum work= 3319.5 cal \n",
-        "The answer differs a bit from the textbook due to rounding off error\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 144"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the final volume and temperature of the gas. Also calculate the work done in the process\n",
-      "#initialisation of variables\n",
-      "cv = 5.00 #cal mole^-1 deg^-1\n",
-      "R= 1.99 #cal mole^-1 deg^-1\n",
-      "p= 1 #atm\n",
-      "p1= 100. #atm\n",
-      "V= 75. #l\n",
-      "n= 3. #moles\n",
-      "R1= 0.08206 #cal/mol K\n",
-      "#CALCULATIONS\n",
-      "cp= cv+R\n",
-      "r= cp/cv\n",
-      "V1= V/(p1/p)**(1/r)\n",
-      "T2= p1*V1/(n*R1)\n",
-      "w= (p1*V1-p*V)*R/((r-1)*R1)\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' final volume of gas =',V1,'l ')\n",
-      "print '%s %d %s' % (' \\n final temperature of gas =',T2,'K ')\n",
-      "print '%s %d %s' % (' \\n Work done =',w,'cal ')\n",
-      "print 'The answer differs a bit from the textbook due to rounding off error'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " final volume of gas = 2.78 l \n",
-        " \n",
-        " final temperature of gas = 1130 K \n",
-        " \n",
-        " Work done = 12384 cal \n",
-        "The answer differs a bit from the textbook due to rounding off error\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 10 - pg 144"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the change in energy and enthalpy\n",
-      "#initialisation of variables\n",
-      "cv= 5 #cal mole^-1\n",
-      "P= 100 #atm\n",
-      "T= 1130 #K\n",
-      "T1= 812 #K\n",
-      "n= 3 #moles\n",
-      "R= 1.99 #cal/mole K\n",
-      "#CALCULTIONS\n",
-      "E= n*cv*(T1-T)\n",
-      "H= E+n*R*(T1-T)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' change in energy =',E,'cal ')\n",
-      "print '%s %.1f %s' % (' \\n change in enthalpy=',H,' cal ')\n",
-      "print 'The answer differs a bit from the textbook due to rounding off error'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " change in energy = -4770.0 cal \n",
-        " \n",
-        " change in enthalpy= -6668.5  cal \n",
-        "The answer differs a bit from the textbook due to rounding off error\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 11 - pg 145"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the work done and final pressure\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "k= 1.435 \n",
-      "k1= 17.845*10**-3 #K**-1\n",
-      "k2= -4.165*10**-6 #K**-2\n",
-      "T= 200. #C\n",
-      "T1= 0. #C\n",
-      "P= 10. #atm\n",
-      "R= 1.987 #cal/mol K\n",
-      "k3= 3.422\n",
-      "#CALCULATIONS\n",
-      "W= k*(T-T1)+(k1/2)*((273+T)**2-(273+T1)**2)+(k2/3)*((273+T)**3-(273+T1)**3)\n",
-      "P2= (P/math.e**((k*math.log((273+T1)/(273+T))+k1*(T1-T)+(k2/2)*((273+T1)**2-(273+T)**2))/R))/100.\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' work done by methane =',W,'cal ')\n",
-      "print '%s %.2f %s' % (' \\n final pressure=',P2,'atm ')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " work done by methane = 1499 cal \n",
-        " \n",
-        " final pressure= 0.77 atm \n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 12 - pg 150"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the fraction of liquid\n",
-      "#initialisation of variables\n",
-      "P= 100 #atm\n",
-      "P1= 1 #atm\n",
-      "R= 1.99 #cal/mol**-1 K**-1\n",
-      "k= 0.3 #atm**-1\n",
-      "E= 1600 #cal\n",
-      "T= -183 #C\n",
-      "T1= 0 #C\n",
-      "#CALCULATIONS\n",
-      "X= (k*3.5*R*(P-P1))/(3.5*R*(T1-T)+E)\n",
-      "#RESULTS\n",
-      "print '%s %.3f' % (' fraction of liquid = ',X)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " fraction of liquid =  0.072\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 13 - pg 152"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the enthalpy change of the reaction\n",
-      "#initialisation of variables\n",
-      "H= -21.8 #kcal\n",
-      "H1= 3.3 #kcal\n",
-      "#CALCULATIONS\n",
-      "H2= H-H1\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Enthalpy =',H2,'kcal ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy = -25.1 kcal \n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 14 - pg 153"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the heat of hydrogenation\n",
-      "#initialisation of variables\n",
-      "H= -68.317 #kcal\n",
-      "H1= -310.615 #kcal\n",
-      "H2= -337.234 #kcal\n",
-      "R= 1.987 #cal/mol^-1 K^-1\n",
-      "T= 298.2 #K\n",
-      "n= 1 #mole\n",
-      "n1= 1 #mole\n",
-      "n2= 1 #mole\n",
-      "#CALCULATIONS\n",
-      "E= H+H1-H2-(n-n1-n2)*R*T*10**-3\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' Heat of hydrogenation =',E,'kcal ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Heat of hydrogenation = -41.105 kcal \n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 15 - pg 155"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the enthalpy of the process\n",
-      "#initialisation of variables\n",
-      "Hf= -196.5 #kcal\n",
-      "H= -399.14 #kcal\n",
-      "#CALCULATIONS\n",
-      "H1= (H-Hf)*1000\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' Enthalpy =',H1,' kcal ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy = -202640  kcal \n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 16 - pg 157"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Enthalpy change\n",
-      "#initialisation of variables\n",
-      "H= -350.2 #kcal\n",
-      "H1= -128.67 #kcal\n",
-      "H2= -216.90 #kcal\n",
-      "#CALCULATIONS\n",
-      "H3= H-(H1+H2)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Enthalpy =',H3,'kcal ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy = -4.6 kcal \n"
-       ]
-      }
-     ],
-     "prompt_number": 15
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 17 - pg 158"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the enthalpy of the process\n",
-      "#initialisation of variables\n",
-      "H= -40.023 #kcal\n",
-      "H1= -22.063 #kcal\n",
-      "#CALCULATIONS\n",
-      "H2= H-H1\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' Enthalpy =',H2,' kcal ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy = -17.960  kcal \n"
-       ]
-      }
-     ],
-     "prompt_number": 16
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 18 - pg 162"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the enthalpy change in the process\n",
-      "#initialisation of variables\n",
-      "H= -112.148 #k cal\n",
-      "H1= 101.99 #k cal\n",
-      "Hx=-112.148 #kcal\n",
-      "Hy=-111.015 #kcal\n",
-      "Hz=-.64\n",
-      "Hsol=-9.02\n",
-      "#CALCULATIONS\n",
-      "H2= H+H1\n",
-      "H3=2*Hx-2*Hy\n",
-      "H4=-10*Hz\n",
-      "H5=Hsol-5*Hz\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' Enthalpy in case 1=',H2,'k cal ')\n",
-      "print '%s %.3f %s' % (' Enthalpy in case 2=',H3,'k cal ')\n",
-      "print '%s %.1f %s' % (' Enthalpy in case 3=',H4,'k cal ')\n",
-      "print '%s %.2f %s' % (' Enthalpy in case 4=',H5,'k cal ')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy in case 1= -10.16 k cal \n",
-        " Enthalpy in case 2= -2.266 k cal \n",
-        " Enthalpy in case 3= 6.4 k cal \n",
-        " Enthalpy in case 4= -5.82 k cal \n"
-       ]
-      }
-     ],
-     "prompt_number": 34
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 19 - pg 167"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the dE and dH in the process\n",
-      "#initialisation of variables\n",
-      "cp=18.\n",
-      "T2=373 #K\n",
-      "T1=298 #K\n",
-      "T3=403.2 #K\n",
-      "hvap=9713 #cal\n",
-      "H4= 0 #cal\n",
-      "E4= 0 #cal\n",
-      "a=7.1873\n",
-      "b=2.3733e-3\n",
-      "c=.2084e-6\n",
-      "R=1.987\n",
-      "#RESULTS\n",
-      "H1=cp*(T2-T1)\n",
-      "H2=hvap\n",
-      "H3=a*(T3-T2) + b/2 *(T3**2-T2**2) + c/3 *(T3**3-T2**3)\n",
-      "E1=H1\n",
-      "E2=H2-R*T2\n",
-      "E3=H3-R*(T3-T2)\n",
-      "H= H1+H2+H3+H4\n",
-      "E= E1+E2+E3+E4\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' Enthalpy=',H,'cal ')\n",
-      "print '%s %d %s' % (' \\n Energy=',E,' cal ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy= 11308 cal \n",
-        " \n",
-        " Energy= 10507  cal \n"
-       ]
-      }
-     ],
-     "prompt_number": 18
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 20 - pg 171"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the enthalpy change \n",
-      "#initialisation of variables\n",
-      "H= -114009.8 #cal\n",
-      "x= -5.6146 #K**-1\n",
-      "y= 0.9466*10**-3 #K**-2\n",
-      "z= 0.1578*10**-6 #K**-3\n",
-      "T= 1000\n",
-      "#CALCULATIONS\n",
-      "H1= H+x*T+y*T**2+z*T**3\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' %(' Enthalpy =',H1,'cal ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy = -118520.0 cal \n"
-       ]
-      }
-     ],
-     "prompt_number": 19
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 21 - pg 173"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#caculate the temperature achieved\n",
-      "#Initialization of variables\n",
-      "import numpy\n",
-      "a=72.3639\n",
-      "b=36.2399e-3\n",
-      "c=3.7621e-6\n",
-      "H=214920\n",
-      "#calculations\n",
-      "vec=([-c/3,b/2,a,-H])\n",
-      "vec2=numpy.roots(vec)\n",
-      "vec22=(vec2[2])\n",
-      "#results\n",
-      "print '%s %.1f %s' %('The required temperature observed is', vec22,'K')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "The required temperature observed is 2059.4 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 24
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 22 - pg 175"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the change in enthalpy\n",
-      "#initialisation of variables\n",
-      "T= 298 #K\n",
-      "R= 1.987 #atmcc/mol K\n",
-      "x= 128.16\n",
-      "y= 0.9241\n",
-      "H= -8739 #cal\n",
-      "n1= 10 #mol\n",
-      "n2= 12 #mol\n",
-      "#CALCULATIONS\n",
-      "E= (x/y)*H\n",
-      "H= (E+R*T*(n1-n2))/1000\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' %(' Enthalpy =',H,'kcal mole^-1 ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy = -1213.2 kcal mole^-1 \n"
-       ]
-      }
-     ],
-     "prompt_number": 21
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter_4.ipynb b/Physical_Chemsitry/Chapter_4.ipynb
deleted file mode 100755
index 619fe75d..00000000
--- a/Physical_Chemsitry/Chapter_4.ipynb
+++ /dev/null
@@ -1,1022 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:a82e4bec145fb0d4efd67c857ae44efe430c89bfa64d07388861ee610e670b10"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 4 - Second and Third laws of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 192"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the maximum efficiency in all cases\n",
-      "#initialisation of variables\n",
-      "T = 100. #C\n",
-      "T1= 25. #C\n",
-      "T2= 150. #C\n",
-      "T3= 357. #C\n",
-      "T4= 500. #C\n",
-      "T5= 2000. #C\n",
-      "T6= 5*10**6\n",
-      "T7= 1000. #C\n",
-      "#CALCULATIONS\n",
-      "e= (T-T1)/(T+273)\n",
-      "e1= (T2-T1)/(273+T2)\n",
-      "e2= (T3-T)/(273+T3)\n",
-      "e3= (T5-T4)/(T5+273)\n",
-      "e4= (T6-T7)/T6\n",
-      "#RESULTS\n",
-      "print '%s %.2f' % (' maximum efficiency in case 1= ',e)\n",
-      "print '%s %.2f' % (' \\n maximum efficiency in case 2 =  ',e1)\n",
-      "print '%s %.2f' % (' \\n maximum efficiency in case 3 =  ',e2)\n",
-      "print '%s %.2f' % (' \\n maximum efficiency in case 4 =  ',e3)\n",
-      "print '%s %.2f' % (' \\n maximum efficiency in case 5 =  ',e4)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " maximum efficiency in case 1=  0.20\n",
-        " \n",
-        " maximum efficiency in case 2 =   0.30\n",
-        " \n",
-        " maximum efficiency in case 3 =   0.41\n",
-        " \n",
-        " maximum efficiency in case 4 =   0.66\n",
-        " \n",
-        " maximum efficiency in case 5 =   1.00\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 194"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the maximum efficiency and minimum work\n",
-      "#initialisation of variables\n",
-      "T= 20. #C\n",
-      "T1= -10. #C\n",
-      "q= 1000. #cal\n",
-      "#CALCULATIONS\n",
-      "e= (273+T1)/(T-T1)\n",
-      "w= (T-T1)*q/(273+T1)\n",
-      "#RESULTS\n",
-      "print '%s %.1f' % (' maximum efficiency = ',e)\n",
-      "print '%s %d %s' % (' \\n minimum work =',w,'cal')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " maximum efficiency =  8.8\n",
-        " \n",
-        " minimum work = 114 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 197"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the net work done on and by the gas\n",
-      "#initialisation of variables\n",
-      "T= 1000 #K\n",
-      "T1= 400 #/K\n",
-      "w= 1000 #cal\n",
-      "E= 0 #cal\n",
-      "gam=7/5.\n",
-      "#CALCULATIONS\n",
-      "q= w-E\n",
-      "W= q*(T-T1)/T\n",
-      "q1= W-q\n",
-      "W1= -q1\n",
-      "dE=5/2.*(T1-T)\n",
-      "dH=7/2. *(T1-T)\n",
-      "w2=dE-E\n",
-      "w3=(T-T1)/(gam-1)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % ('net work done by gas=',W,' cal')\n",
-      "print '%s %.1f %s' % ('net work done on gas =',W1,'cal')\n",
-      "print '%s %.1f %s' %('Change in Internal energy = ',dE,'R cal')\n",
-      "print '%s %.1f %s' %('Change in Enthalpy = ',dH,'R cal')\n",
-      "print '%s %.1f %s' %('Work for adiabatic compression =',w3,'R cal')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "net work done by gas= 600.0  cal\n",
-        "net work done on gas = 400.0 cal\n",
-        "Change in Internal energy =  -1500.0 R cal\n",
-        "Change in Enthalpy =  -2100.0 R cal\n",
-        "Work for adiabatic compression = 1500.0 R cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 199"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the entropy of substances\n",
-      "#initialisation of variables\n",
-      "import numpy as np\n",
-      "Hv= np.array([1960.,1560.,4880.,37000.,5500.,27400.,60700.,9720.,30900.]) #cal mole^-1\n",
-      "Tb= np.array([112.,87.3,239.,1806.,259.,1180.,2466.,373.,1029.]) #K\n",
-      "#CALCULATIONS\n",
-      "Sv= np.round(Hv/Tb,1)\n",
-      "#RESULTS\n",
-      "print '%s' % (' Entropy (cal mole deg^-1)')\n",
-      "print Sv\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Entropy (cal mole deg^-1)\n",
-        "[ 17.5  17.9  20.4  20.5  21.2  23.2  24.6  26.1  30. ]\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 201"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the entropy at constant pressure and volume\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "T= 300. #K\n",
-      "T1= 400. #K\n",
-      "k= 6.0954\n",
-      "k1= 3.2533*10**-3\n",
-      "k2= -1.0171*10**-6\n",
-      "R= 1.98719 #cal/mol K\n",
-      "#CALCULATIONS\n",
-      "S= 2*(k*math.log(T1/T)+k1*(T1-T)+k2*(T1**2-T**2)/2)\n",
-      "S1= S-2*R*math.log(T1/T)\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' % (' Entropy=',S,' cal  deg^-1')\n",
-      "print '%s %.4f %s' % (' \\n Entropy =',S1,'cal  deg^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Entropy= 4.0865  cal  deg^-1\n",
-        " \n",
-        " Entropy = 2.9432 cal  deg^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 216"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the final temperature \n",
-      "#initialisation of variables\n",
-      "T1= 273.16 #K\n",
-      "R= 1.987 #cal /mol K\n",
-      "R1= 0.08205 #J /mol K\n",
-      "n= 10 #moles\n",
-      "V1= 22.4 #lit\n",
-      "a= 1.36\n",
-      "Cv= 4.9\n",
-      "#CALCULATIONS\n",
-      "T2= T1-(R*a*(n-1)/(R1*n*Cv*V1))\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' temperature=',T2,' K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " temperature= 272.89  K\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 218"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the inversion Temperature\n",
-      "#initialisation of variables\n",
-      "a= 1.360 #l^2 atm mole^-1\n",
-      "b= 0.0317 #l mole^-1\n",
-      "R= 0.08205 #J/mol K\n",
-      "#CALCULATIONS\n",
-      "T= 2*a/(b*R)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % ('Inversion Temperature=',T,'K')\n",
-      "print 'The answer is a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Inversion Temperature= 1045.8 K\n",
-        "The answer is a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 10 - pg 218"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the joule thomson coefficient\n",
-      "#initialisation of variables\n",
-      "a= 1.360 #l^2 atm mole^-1\n",
-      "b= 0.0317 #l mole^-1\n",
-      "R= 0.08205 #J/mol K\n",
-      "R1= 1.987 #cal/mole K\n",
-      "Cp= 6.9 #cal mole^-1 deg^-1\n",
-      "T= 273.2 #K\n",
-      "#CALCULATIONS\n",
-      "u= ((2*a/(R*T))-b)/(Cp*(R/R1))\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' Joule thomson coefficient=',u,' atm^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Joule thomson coefficient= 0.315  atm^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 12 - pg 221"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#Calculate the increase in entropy\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "p= 4/3. #atm\n",
-      "p1= 1 #atm\n",
-      "R= 1.9872 #cal /mole K\n",
-      "#CALCULATIONS\n",
-      "S= 2*R*math.log(p/p1)\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' %(' increase in entropy=',S,'cal deg^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " increase in entropy= 1.1434 cal deg^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Example 13 - pg 222"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#Calculate the increase in entropy\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "p1= 1 #atm\n",
-      "R= 1.9872 #cal /mole K\n",
-      "#CALCULATIONS\n",
-      "S= 0 #Initial and final states are alike\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' %(' increase in entropy=',S,'cal deg^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " increase in entropy= 0.0000 cal deg^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 14 - pg 222"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate rhe increase in entropy in both cases\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "T= 25. #C\n",
-      "T1= 100. #C\n",
-      "R= 1.9872 #cal /mole K\n",
-      "p= 1 #atm\n",
-      "p1= 10. #atm\n",
-      "#CALCULATIONS\n",
-      "S= 3.5*R*math.log((T1+273)/(T+273))\n",
-      "S1= S+R*math.log(p/p1)\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' increase in entropy in case 1 =',S,'cal deg^-1')\n",
-      "print '%s %.2f %s' % (' \\n increase in entropy in case 2 =',S1,'cal deg^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " increase in entropy in case 1 = 1.56 cal deg^-1\n",
-        " \n",
-        " increase in entropy in case 2 = -3.01 cal deg^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 15 - pg 222"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the absolute entropy\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "S= 45.77 #cal deg^-1\n",
-      "T= 25. #C\n",
-      "T1= 100. #C\n",
-      "R= 1.9872 #cal /mole K\n",
-      "#CALCULATIONS\n",
-      "S0= S+ 3.5*R*math.log((T1+273)/(T+273))\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' absolute entropy=',S0,'cal deg^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " absolute entropy= 47.33 cal deg^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 16 - pg 226"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the change in entropy\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "Cp= 18. #cal deg^-1\n",
-      "T= 0. #C\n",
-      "T1= -5. #C\n",
-      "H2= -1440. #cal\n",
-      "Cp1= 9. #cal deg^-1\n",
-      "H= 0.\n",
-      "#CALCULATIONS\n",
-      "T2= (-Cp*(T-T1)-H2+Cp1*(273.16+T))/Cp1\n",
-      "S= Cp*math.log((273.16+T)/(273.16+T1))-(Cp*(T-T1)/(T+273.16))\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' % (' Change in entropy=',S,'cal deg^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Change in entropy= 0.0031 cal deg^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 18 - pg 231"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Gibbs free energy\n",
-      "#initialisation of variables\n",
-      "H= -57.7979 #cal\n",
-      "H1= -68.3174 #cal\n",
-      "S= 45.106 #cal deg^-1\n",
-      "S1= 16.716 #cal deg^-1\n",
-      "T= 25 #C\n",
-      "#CALCULATIONS\n",
-      "H2= (H-H1)*1000\n",
-      "S2= S-S1\n",
-      "G= H2-(273.16+T)*S2\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Gibbs free energy=',G,'cal')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Gibbs free energy= 2054.7 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 19 - pg 231"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Gibbs free energy\n",
-      "#initialisation of variables\n",
-      "H= -68317.4 #cal\n",
-      "S= 16.716 #cal\n",
-      "S1= 49.003 #cal\n",
-      "S2= 31.211 #cal\n",
-      "T= 25 #C\n",
-      "#CALCULATIONS\n",
-      "H1= 2*H\n",
-      "S3= 2*S-(S1+2*S2)\n",
-      "G= H1-(T+273.16)*S3\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Gibbs free energy=',G,'cal')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Gibbs free energy= -113380.4 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 20 - pg 232"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the gibbs free energy change\n",
-      "#initialisation of variables\n",
-      "H= -57.7979 #kcal\n",
-      "H1= -196.5 #kcal\n",
-      "S1=45.106\n",
-      "S2=6.49\n",
-      "S3=21.5\n",
-      "S4=31.211\n",
-      "T=298.16\n",
-      "#calculations\n",
-      "dH=3*H-H1\n",
-      "dS=3*S1+2*S2-S3-3*S4\n",
-      "dG=dH*1000-T*dS\n",
-      "#results\n",
-      "print '%s %d %s' %(\"Gibbs free energy change =\",dG,\"cal\")\n",
-      "print 'The answer is a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Gibbs free energy change = 13217 cal\n",
-        "The answer is a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 22 - pg 240"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Gibbs free energy and value of A in both cases\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "p= 1. #atm\n",
-      "p1= 3. #atm\n",
-      "R= 1.987 #cal/mole K\n",
-      "T= 27. #C\n",
-      "b= 0.0428 #l mole^-1\n",
-      "a= 3.61 #l^2 atm mole^-1\n",
-      "#CALCULATIONS\n",
-      "G= R*(273+T)*math.log(p/p1)\n",
-      "A= R*(273+T)*math.log(p/p1)\n",
-      "G1= R*(273+T)*math.log(p/p1)+(b-(a/(0.08205*(T+273))))*(p-p1)*(R/0.08205)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Gibs free energy=',G,'cal')\n",
-      "print '%s %.1f %s' % (' \\n Value of dA=',A,'cal')\n",
-      "print '%s %.1f %s' % (' \\n Gibs free energy=',G1,'cal')\n",
-      "print '%s %.1f %s' % (' \\n Value of dA=',A,'cal')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Gibs free energy= -654.9 cal\n",
-        " \n",
-        " Value of dA= -654.9 cal\n",
-        " \n",
-        " Gibs free energy= -649.9 cal\n",
-        " \n",
-        " Value of dA= -654.9 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 24 - pg 244"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the fugacities of both components\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "b= 0.0386 #l**2 atm mole**-1\n",
-      "a= 1.348 #l mole**-1\n",
-      "R= 0.08205 #cal /mole K\n",
-      "T= 25 #C\n",
-      "a1= 3.61 #l**2 atm mole**-1\n",
-      "b1= 0.0428 #l mole**-1\n",
-      "P= 50 #atm\n",
-      "P1= 1 #atm\n",
-      "#CALCULATIONS\n",
-      "Bn= b-(a/(R*(273.2+T)))\n",
-      "Bc= b1-(a1/(R*(273.2+T))) \n",
-      "Fn= P1*math.e**(Bn*P1/(R*(273.2+T)))\n",
-      "Fc= P1*math.e**(Bc*P1/(R*(273.2+T)))\n",
-      "Fn1= P*math.e**(Bn*P/(R*(273.2+T)))\n",
-      "Fc1= P*math.e**(Bc*P/(R*(273.2+T)))\n",
-      "#RESULTS\n",
-      "print '%s %.3f %.2f %s' % (' Fugacity of N2 at 1 and 50 atm are respectively =',Fn,Fn1,'atm')\n",
-      "print '%s %.3f %.2f %s' % (' \\n Fugacity of CO2 at 1 and 50 atm are respectively =',Fc,Fc1,'atm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Fugacity of N2 at 1 and 50 atm are respectively = 0.999 48.34 atm\n",
-        " \n",
-        " Fugacity of CO2 at 1 and 50 atm are respectively = 0.996 40.37 atm\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 25 - pg 245"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Increase in pressure in all cases\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "P1= 23.756 #atm\n",
-      "T= 25. #C\n",
-      "P2= 1. #atm\n",
-      "P3= 10. #atm\n",
-      "P4= 100. #atm\n",
-      "R= 82.02 #J/mole K\n",
-      "v= 18.07 #ml\n",
-      "#CALCULATIONS\n",
-      "p1= P1/760.\n",
-      "p2= 10**(math.log10(P1)+(v*(P2-p1)/(2.303*R*(273.2+T))))\n",
-      "p3= 10**(math.log10(P1)+(v*(P3-p1)/(2.303*R*(273.2+T))))\n",
-      "p4= 10**(math.log10(P1)+(v*(P4-p1)/(2.303*R*(273.2+T))))\n",
-      "x= -(P1-p2)*100/P1\n",
-      "x1= -(P1-p3)*100/P1\n",
-      "x2= -(P1-p4)*100/P1\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % ('Increase in pressure=',x,'percent')\n",
-      "print '%s %.2f %s' % ('Increase in pressure=',x1,' percent')\n",
-      "print '%s %.1f %s' % ('Increase in pressure=',x2,' percent')\n",
-      "print '%s %.3f %s' %('Vapor pressure at 1 atm',p2,'mm Hg')\n",
-      "print '%s %.3f %s' %('Vapor pressure at 10 atm',p3,'mm Hg')\n",
-      "print '%s %.3f %s' %('Vapor pressure at 100 atm',p4,'mm Hg')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Increase in pressure= 0.07 percent\n",
-        "Increase in pressure= 0.74  percent\n",
-        "Increase in pressure= 7.7  percent\n",
-        "Vapor pressure at 1 atm 23.773 mm Hg\n",
-        "Vapor pressure at 10 atm 23.932 mm Hg\n",
-        "Vapor pressure at 100 atm 25.577 mm Hg\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 26 - pg 247"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the pressure required\n",
-      "#initialisation of variables\n",
-      "H= 1436.3 #cal mole^-1\n",
-      "d= 0.9999 #g ml^-1\n",
-      "d1= 0.9168 #g ml^-1\n",
-      "P= 1. #atm\n",
-      "m= 18.02 #gm\n",
-      "R= 1.987 #cal/mole K\n",
-      "T= 2 #C\n",
-      "#CALCULATIONS\n",
-      "V= (P/d)-(P/d1)\n",
-      "H1= H*82.05/(m*R) \n",
-      "P1= H1*(-T)/(273*V)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' pressure required to decrease=',P1,'atm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " pressure required to decrease= 266.0 atm\n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 27 - pg 249"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the heat of vapourisation\n",
-      "#initialisation of variables\n",
-      "H= 540. #cal gram ^-1\n",
-      "T= 95. #C\n",
-      "T1= 100. #C\n",
-      "m= 18. #gms\n",
-      "R= 1.987 #cal /mole K\n",
-      "P= 760. #mm of Hg\n",
-      "#CALCULATIONS\n",
-      "H1= m*H\n",
-      "P1= P/(10**(H1*(T1-T)/(2.303*R*(273+T)*(273+T1))))\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' heat of vapourisation=',P1,'mm of Hg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " heat of vapourisation= 636.0 mm of Hg\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 28 - pg 249"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the vapor pressure of water\n",
-      "#initialisation of variables\n",
-      "H= 9720 #cal mole^-1\n",
-      "P= 1 #atm\n",
-      "R= 1.987 #cal /mole K\n",
-      "T= 100 #C\n",
-      "T1= 95 #C\n",
-      "#CALCULATIONS\n",
-      "r= P*H/(R*(273+T)**2)\n",
-      "dP= r*(T1-T)\n",
-      "P1= (P+dP)*626/0.824\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' vapour pressure=',P1,'mm Hg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " vapour pressure= 626 mm Hg\n"
-       ]
-      }
-     ],
-     "prompt_number": 15
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 29 - pg 250"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the vapour pressure\n",
-      "#initialisation of variables\n",
-      "G= 145 #cal\n",
-      "R= 1.987 #cal/mole K\n",
-      "T= 95 #C\n",
-      "#CALCULATIONS\n",
-      "P= 10**(-G/(2.303*R*(273+T)))*(624/0.820)\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' vapour pressure=',P,'mm Hg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " vapour pressure= 624 mm Hg\n"
-       ]
-      }
-     ],
-     "prompt_number": 16
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 30 - pg 250"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the molar heat of vapourisation\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "R= 1.987 #cal/mole K\n",
-      "T1= 25 #C\n",
-      "T2= 76.8 #C\n",
-      "P2= 760. #mm\n",
-      "P1= 115. #mm\n",
-      "#CALCULATIONS\n",
-      "H= 2.303*R*(273.2+T1)*(273.2+T2)*math.log10(P2/P1)/(T2-T1)\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' molar heat of vapourisation=',H,'cal mole^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " molar heat of vapourisation= 7561 cal mole^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 17
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter_5.ipynb b/Physical_Chemsitry/Chapter_5.ipynb
deleted file mode 100755
index 98aa3041..00000000
--- a/Physical_Chemsitry/Chapter_5.ipynb
+++ /dev/null
@@ -1,767 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:18c54e3b106846f46428edc2ce784211e8ed1cb16969a115044ec2bc914626ae"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 5 - The phase rule and solutions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 261"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the molality of the mixture\n",
-      "#initialisation of variables\n",
-      "m= 98.08 #gms\n",
-      "d= 1.102 #g ml^-1\n",
-      "m1= 165.3 #gm\n",
-      "v= 1000 #ml\n",
-      "wt=.15\n",
-      "#CALCULATIONS\n",
-      "form=d*v*wt/m\n",
-      "M= d*v-m1\n",
-      "norm=2*form\n",
-      "m2= m1*v/(m*M)\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' molality = ',m2,'molal')\n",
-      "print '%s %.3f %s' %('Formality = ',form,'gm formula wt/l')\n",
-      "print '%s %.3f %s' %('Normality = ',norm,'N')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " molality =  1.799 molal\n",
-        "Formality =  1.685 gm formula wt/l\n",
-        "Normality =  3.371 N\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 272"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Increase in enthalpy\n",
-      "#initialisation of variables\n",
-      "T= -40 #C\n",
-      "v= 217.4 #cm^3\n",
-      "r= 8.8 # atm deg^-1\n",
-      "m= 18 #gms\n",
-      "#CALCULATIONS\n",
-      "H= (273+T)*(-v*m/1000)*r*(1.987/82.05)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Increase in enthalpy =',H,'cal mole^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Increase in enthalpy = -194.3 cal mole^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 279"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the density\n",
-      "#initialisation of variables\n",
-      "T= 27 #C\n",
-      "R= 0.08206 #cal/mol T\n",
-      "W= 28.6 #gms\n",
-      "#CALCULATIONS\n",
-      "d= W/((273.2+T)*R)\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' density =',d,' g l^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " density = 1.161  g l^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 289"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the mole fraction and total pressure\n",
-      "#initialisation of variables\n",
-      "P= 408. #mm of Hg\n",
-      "P1= 141. # mm of Hg\n",
-      "p= 60.\n",
-      "#CALCULATIONS\n",
-      "P2= P*(100-p)/100.\n",
-      "P3= P1*p/100.\n",
-      "N= P2/(P2+P3)\n",
-      "P4= P2+P3\n",
-      "#RESULTS\n",
-      "print '%s %.3f' % (' mole fraction = ',N)\n",
-      "print '%s %.1f %s' % (' \\n total pressure =',P4,' mm of Hg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " mole fraction =  0.659\n",
-        " \n",
-        " total pressure = 247.8  mm of Hg\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 289"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the molality\n",
-      "#initialisation of variables\n",
-      "P2= 760. #mm of Hg\n",
-      "m2= 2.18*10**-3\n",
-      "v= 23.5 #ml\n",
-      "p= 21.\n",
-      "p1= 79.\n",
-      "#CALCULATIONS\n",
-      "K= P2*55.5/m2\n",
-      "K1= 760*55.5*22.4*10**3/v\n",
-      "m= 55.5*(p*760/(100*K))+55.5*(p1*760/(100*K1))\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' molality =',m,'molal')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " molality = 1.29e-03 molal\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 297"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the percentage of Br in the vapors in steam distillation\n",
-      "#initialisation of variables\n",
-      "Ph= 643. #mm of Hg\n",
-      "Mh= 18. #gms\n",
-      "Po= 117. #mm of Hg\n",
-      "Mo= 157. #gms\n",
-      "#CALCULATIONS\n",
-      "r= Ph*Mh/(Po*Mo)\n",
-      "P= 100*(1/(1+r))\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' percentage =',P,'percent')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " percentage = 61.3 percent\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 306"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the amounts of phases present at 375 and 370 C\n",
-      "#initialisation of variables\n",
-      "n= 1 \n",
-      "n1= 0.5\n",
-      "n3= 0.36\n",
-      "n4= 0.67\n",
-      "n5= 0.34\n",
-      "r= 3\n",
-      "#CALCULATIONS\n",
-      "A= (n-n1)/(n1-n3)\n",
-      "A1= r*(n4-n1)/(n1-n5)\n",
-      "#RESULTS\n",
-      "print '%s %.1f' % (' amount of phase at 375 C = ',A)\n",
-      "print '%s %.1f' % (' \\n amount of phase at 370 C = ',A1)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " amount of phase at 375 C =  3.6\n",
-        " \n",
-        " amount of phase at 370 C =  3.2\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 311"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the vapour pressure\n",
-      "#initialisation of variables\n",
-      "m= 100 #gms\n",
-      "m1= 1 #gms\n",
-      "m2= 2 #gms\n",
-      "P= 23.756 #mm of Hg\n",
-      "n= 18.02 \n",
-      "n1= 60.06\n",
-      "n2= 342.3 \n",
-      "#CALCULATIONS\n",
-      "r= ((m1/n1)+(m2/n2))/((m1/n1)+(m2/n2)+(m/n))\n",
-      "dp= P*r\n",
-      "P1= P-dp\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' vapour pressure =',P1,' mm of Hg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " vapour pressure = 23.660  mm of Hg\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 11 - pg 315"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the boiling point of solution\n",
-      "#initialisation of variables\n",
-      "kf= 0.514 #K/molal\n",
-      "m= 0.225 #molal\n",
-      "#CALCULATIONS\n",
-      "dT= kf*m\n",
-      "T2=dT+100.\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' boiling point =',T2,' C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " boiling point = 100.116  C\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 12 - pg 315"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the molecular weight of the solute\n",
-      "#initialisation of variables\n",
-      "kb= 2.64 #C gm\n",
-      "dT= 0.083 #C\n",
-      "m= 120 #gms\n",
-      "W2= 0.764 #gms\n",
-      "#CALCULATIONS\n",
-      "m2= dT/kb\n",
-      "M2= W2*1000/(m2*m)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' molecular weight of solute =',M2,'gms')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " molecular weight of solute = 202.5 gms\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 13 - pg 318"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the value of n\n",
-      "#initialisation of variables\n",
-      "T= 176.5 #C\n",
-      "T1= 158.8 #C\n",
-      "Kf= 37.7\n",
-      "W1= 0.522 #gms\n",
-      "W2= 0.0386 #gms\n",
-      "m= 12 #gms\n",
-      "m1= 1 #gm\n",
-      "#CALCULATIONS\n",
-      "m3= (T-T1)/Kf\n",
-      "M2= W2*1000/(m3*W1)\n",
-      "r= M2/(m+m1)\n",
-      "#RESULTS\n",
-      "print '%s %d' % ('value of n = ',r)\n",
-      "print '%s %d %s' %('Molecular weight = ',M2,'gm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "value of n =  12\n",
-        "Molecular weight =  157 gm\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 14 - pg 319"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the triple point of the system\n",
-      "#initialisation of variables\n",
-      "T= 273.2 #K\n",
-      "P= 0.0060 #atm\n",
-      "P1= 1 #atm\n",
-      "H= 3290 #cal\n",
-      "dV= -0.0907 #cc\n",
-      "#CALCULATIONS\n",
-      "dT= T*dV*(P-P1)/H\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' % (' triple point =',dT,'C') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " triple point = 0.0075 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 16 - pg 323"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the fraction of impurity in both cases\n",
-      "#initialisation of variables\n",
-      "n= 100.\n",
-      "K= 2.\n",
-      "V= 100. #ml\n",
-      "V2= 1000. #ml\n",
-      "n= 10.\n",
-      "n1= 100.\n",
-      "#CALCULATIONS\n",
-      "x= (K*V/(K*V+(V2/n)))**n\n",
-      "y= (K*V/(K*V+(V2/n1)))**n1\n",
-      "#RESULTS\n",
-      "print '%s %.4f' % (' fraction of impurity = ',x)\n",
-      "print '%s %.4f' % (' \\n fraction of impurity = ',y)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " fraction of impurity =  0.0173\n",
-        " \n",
-        " fraction of impurity =  0.0076\n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 17 - pg 328"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the molecular weight of the protein\n",
-      "#initialisation of variables\n",
-      "T= 27 #C\n",
-      "m= 0.635 #gms\n",
-      "V= 100 #ml\n",
-      "R= 0.08205 #cal/mol K\n",
-      "p= 2.35 #cm\n",
-      "#CALCULATIONS\n",
-      "M= 13.6*76*m*R*(T+273)*1000/(p*V)\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' molecular weight =',M,'gms')\n",
-      "print 'The answer is a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " molecular weight = 68747 gms\n",
-        "The answer is a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 18 - pg 328"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the osmotic pressure\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "R= 0.08205 #cal/mol K\n",
-      "v1= 0.0180#cc\n",
-      "N= 0.9820\n",
-      "T= 273.2\n",
-      "#CALCULATIONS\n",
-      "P= -R*T*math.log(N)/v1\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' osmotic pressure =',P,'atm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " osmotic pressure = 22.6 atm\n"
-       ]
-      }
-     ],
-     "prompt_number": 15
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 19 - pg 331"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the osmotic pressure\n",
-      "#initialisation of variables\n",
-      "kf= 1.86\n",
-      "dT= 0.402 #K\n",
-      "T= 310 #K\n",
-      "R= 0.08205 #cal/mol K\n",
-      "#CALCULATIONS\n",
-      "P= dT*T*R/kf\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' osmotic pressure =',P,'atm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " osmotic pressure = 5.50 atm\n"
-       ]
-      }
-     ],
-     "prompt_number": 16
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 20 - pg 333"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Degrees of ionisation\n",
-      "#initialisation of variables\n",
-      "m= 0.100 #gms\n",
-      "kf= 1.86 #K/gms\n",
-      "dT= 0.300 #K\n",
-      "v= 2\n",
-      "#CALCULATIONS\n",
-      "T= kf*m\n",
-      "i= dT/T\n",
-      "a= (i-1)/(v-1)\n",
-      "#RESULTS\n",
-      "print '%s %.2f' % (' Degrees of ionisation = ',a)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Degrees of ionisation =  0.61\n"
-       ]
-      }
-     ],
-     "prompt_number": 17
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 21 - pg 335"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the lowering of the freezing point\n",
-      "#initialisation of variables\n",
-      "W= 0.0020 #M\n",
-      "W1= 0.0010 #M\n",
-      "W2= 0.0040 #M\n",
-      "T= 1.86 #C\n",
-      "n= 1 #moles\n",
-      "n1= 1 #moles\n",
-      "n2= 2 #moles\n",
-      "a= 1.122\n",
-      "#CALCULATIONS\n",
-      "dT= T*(W+W1+W2)\n",
-      "I= 0.5*(n**2*W+n1**2*W2+n2**2*W1)\n",
-      "g= 1-(2*a*I**1.5/(3*(W+W1+W2)))\n",
-      "dT1= g*dT\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' % (' lowering the freezing point =',dT1,'C ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " lowering the freezing point = 0.0125 C \n"
-       ]
-      }
-     ],
-     "prompt_number": 18
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 22 - pg 338"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the activity coefficient of acetone and water\n",
-      "#initialisation of variables\n",
-      "p= 1820 #mm\n",
-      "n= 2.5 #mole percent\n",
-      "f= 0.470\n",
-      "P= 420 #mm\n",
-      "n1= 97.5 #percent\n",
-      "#CALCULATIONS\n",
-      "P1= p*n/(100*760)\n",
-      "F= f/P1\n",
-      "F1= (1-f)*760.*100/(P*n1)\n",
-      "#RESULTS\n",
-      "print '%s %.2f' % (' activity coefficient of acetone =  ',F)\n",
-      "print '%s %.2f' % (' \\n activity coefficient of water =  ',F1)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " activity coefficient of acetone =   7.85\n",
-        " \n",
-        " activity coefficient of water =   0.98\n"
-       ]
-      }
-     ],
-     "prompt_number": 19
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter_6.ipynb b/Physical_Chemsitry/Chapter_6.ipynb
deleted file mode 100755
index 5c81a57c..00000000
--- a/Physical_Chemsitry/Chapter_6.ipynb
+++ /dev/null
@@ -1,711 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:b7db16137d946fe9cbf59acb0ec0858aab53c92eb7e66cd0a1bfe1d955619ce0"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 6 - Chemical Equilibrium"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 353"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the value of Kc\n",
-      "#initialisation of variables\n",
-      "d= 3.880 #g l^-1\n",
-      "M= 208.3 #gm\n",
-      "P= 1 #atm\n",
-      "R= 0.08205 #cal/mol K\n",
-      "T= 473.1 #K\n",
-      "#CALCULATIONS\n",
-      "d1= M*P/(R*T)\n",
-      "d2= (d1-d)/d\n",
-      "Kp= d2**2/(1-d2**2)\n",
-      "Kc= Kp/(R*T)\n",
-      "#RESULTS\n",
-      "print '%s %.3e %s' %(' Kc =',Kc,'moles l^-1')\n",
-      "print '%s %.4f %s' %(' Kp =',Kp,'atm')\n",
-      "print '%s %.4f' %('Fraction dissociated = ',d2)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Kc = 4.429e-03 moles l^-1\n",
-        " Kp = 0.1719 atm\n",
-        "Fraction dissociated =  0.3830\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 353"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the percentage of Pcl5 dissociated\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "P= 10 #atm\n",
-      "Kp= 0.1719\n",
-      "#CALCULATIONS\n",
-      "a= math.sqrt(Kp/(10+Kp))*100\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' percentage =',a,'percent')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " percentage = 13.000 percent\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 354"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the value of Kp\n",
-      "#initialisation of variables\n",
-      "P= 0.3429 #atm\n",
-      "p0= 0.3153 #atm\n",
-      "#CALCULATIONS\n",
-      "Kp= (2*(P-p0))**2/(2*p0-P)\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' Kp =',Kp,'atm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Kp = 1.06e-02 atm\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 355"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the pressure required\n",
-      "#initialisation of variables\n",
-      "Kp= 1.06*10**-2 #atm\n",
-      "a= 0.990\n",
-      "#CALCULATIONS\n",
-      "P= Kp*(1-a**2)/(4*a**2)\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' pressure =',P,' atm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " pressure = 5.38e-05  atm\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 357"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the pressure required\n",
-      "#initialisation of variables\n",
-      "G= 2054.7 #cal\n",
-      "R= 1.9872 #cal/mol K\n",
-      "T= 298.16 #K\n",
-      "#CALCULATIONS\n",
-      "P= 10**(-G/(2.303*T*R))\n",
-      "#RESULTS\n",
-      "print '%s %.5f %s' % (' pressure =',P,'atm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " pressure = 0.03120 atm\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 359"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the solubility product constant\n",
-      "#initialisation of variables\n",
-      "T= 25 #C\n",
-      "H= 25.31 #cal\n",
-      "H1= -40.02 #cal\n",
-      "H2= -30.36 #cal\n",
-      "S1= 17.67 #cal deg^-1\n",
-      "S2= 13.17 #cal deg^-1\n",
-      "S3= -22.97 #cal deg^-1\n",
-      "R= 1.987 #cal/mol K\n",
-      "#CALCULATIONS\n",
-      "H3= (H+H1-H2)*1000\n",
-      "S4= S1+S2+S3\n",
-      "G= H3-(273.2+T)*S4\n",
-      "Ka= 10**(-G/(2.303*R*(273.2+T)))\n",
-      "#RESULTS\n",
-      "print '%s %.1e' %(' solubility product constant = ',Ka)"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " solubility product constant =  1.8e-10\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 359"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the increase in free energy\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "T= 25 #C\n",
-      "H= -36430 #cal\n",
-      "S= -4.19 #cal deg^-1\n",
-      "a= 0.1\n",
-      "f= 0.2\n",
-      "R= 1.987 #cal/mol K\n",
-      "#CALCULATIONS\n",
-      "G= H-(273.2+T)*S\n",
-      "Q= a*f/a**2\n",
-      "G1= G+R*(273.2+T)*math.log(Q)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' increase in free energy =',G1, 'cal')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " increase in free energy = -34769.8 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 361"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the free energy of formation\n",
-      "#initialisation of variables\n",
-      "H= 21600. #cal\n",
-      "S= 50.339 #cal\n",
-      "S1= 49.003 #cal\n",
-      "S2= 45.767 #cal\n",
-      "T= 298.2 #K\n",
-      "#CALCULATIONS\n",
-      "H1= 2*H\n",
-      "S1= 2*S-S1-S2\n",
-      "G= H1-T*S1\n",
-      "Gj= G/(2*1000)\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' free energy of formation =',Gj,'kcal')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " free energy of formation = 20.719 kcal\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 10 - pg 361"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the range of humidity\n",
-      "#initialisation of variables\n",
-      "R= 1.987 #cal/mol K\n",
-      "T= 25. #C\n",
-      "G1= -193.8 #cal\n",
-      "G2= -54.6 #cal\n",
-      "G3= -253.1 #cal\n",
-      "G4= -253.1 #cal\n",
-      "G5= -54.6 #cal\n",
-      "G6= -309.7 #cal\n",
-      "#CALCULATIONS\n",
-      "G= G1+G2-G3\n",
-      "Ph= 10**(-G*10**3/(2.303*R*(273.2+T)))\n",
-      "G0= G4+G5-G6\n",
-      "Ph1= 10**(-G0*10**3/(2.303*R*(273.2+T)))\n",
-      "p= Ph*100./Ph1\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' %(' range of humidity =',p,'percent')\n",
-      "print 'The answers are a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " range of humidity = 1.05 percent\n",
-        "The answers are a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 11 - pg 362"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Ksp\n",
-      "#initialisation of variables\n",
-      "m= 10**-2\n",
-      "m1= 10**-22\n",
-      "G= -22.15 #kcal\n",
-      "G1= -5.81 #kcal\n",
-      "G2= 20.6 #kcal\n",
-      "T= 25 #C\n",
-      "R= 1.987 #cal/mol K\n",
-      "#CALCULATIONS\n",
-      "G3= G-(G1+G2)\n",
-      "Ksp= 10**(G3*10**3/(2.303*R*(273+T)))\n",
-      "#RESULTS\n",
-      "print '%s %.0e' %(' Ksp = ',Ksp)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Ksp =  8e-28\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 12 - pg 366"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the heat of dissociation and standard free energy of iodine\n",
-      "import numpy\n",
-      "import math\n",
-      "import matplotlib\n",
-      "from matplotlib import pyplot\n",
-      "import warnings\n",
-      "#initialization of variables\n",
-      "R=1.987\n",
-      "T=1000 #K\n",
-      "T=numpy.array([973.,1073.,1173.,1274.])\n",
-      "kp=numpy.array([.175e-2,1.108e-2,4.87e-2,17.05e-2])\n",
-      "#calculations\n",
-      "Tx=1000./T\n",
-      "logkp=numpy.log10(kp)\n",
-      "slope, intercept = numpy.polyfit(Tx,logkp,1)\n",
-      "dH=-slope*2.303*R*1000.\n",
-      "dH0=dH-1.5*R*T\n",
-      "dG1=-R*T*logkp[1]*2.303\n",
-      "dGt=28720 #cal\n",
-      "dGI=(dGt/1000. + 4.63)/2\n",
-      "#results\n",
-      "print '%s %d %s' %('Heat of dissociation = ',dH,'cal')\n",
-      "print '%s %.2f %s' %('standard free energy of iodine atom = ',dGI,'kcal/mol')\n",
-      "pyplot.plot(Tx,logkp)\n",
-      "pyplot.xlabel('1000/T')\n",
-      "pyplot.ylabel('log Kp')\n",
-      "pyplot.title('Logarithm of Kp for dissociation of Iodine as a function of reciprocal temperature')\n",
-      "pyplot.show()\n",
-      "warnings.filterwarnings(\"ignore\")\n",
-      "print 'The answers are a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Heat of dissociation =  37460 cal\n",
-        "standard free energy of iodine atom =  16.68 kcal/mol\n"
-       ]
-      },
-      {
-       "metadata": {},
-       "output_type": "display_data",
-       "png": "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\n",
-       "text": [
-        "<matplotlib.figure.Figure at 0x70f3750>"
-       ]
-      },
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "The answers are a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 20
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 13 - pg 361"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Partial pressure\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "T= 2000 #K\n",
-      "P= 1 #atm\n",
-      "G= 41438 #cal\n",
-      "R= 1.987 #cal/mol K\n",
-      "T2= 298.2 #K\n",
-      "T1= 2000 #K\n",
-      "H= 43200 #cal\n",
-      "#CALCULATIONS\n",
-      "Kp= 10**(-G/(2.303*R*T2))\n",
-      "Kp1= Kp*10**(H*(T-T2)/(2.303*R*T1*T2))\n",
-      "p= math.sqrt(Kp1*0.8*0.2)\n",
-      "#RESULTS\n",
-      "print '%s %.1e %s' % (' Partial pressure of NO =',p,'atm ')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Partial pressure of NO = 7.7e-03 atm \n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 15 - pg 368"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Temperature required\n",
-      "#initialisation of variables\n",
-      "G0 = 0 #cal\n",
-      "G= 13200. #cal\n",
-      "T1= 298.2\n",
-      "H1= 23100. #cal\n",
-      "#CALCULATIONS\n",
-      "T= H1/((H1/T1)-(G/T1)+(G0/T1))\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Temperature =',T,' K ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Temperature = 695.8  K \n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 16 - pg 373"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Equilibrium constant\n",
-      "#initialisation of variables\n",
-      "T= 2000 #K\n",
-      "R= 1.987 #cal /mol K\n",
-      "G= 31160 #cal\n",
-      "#CALULATIONS\n",
-      "Kp= 10**(-G/(2.303*R*T))\n",
-      "#RESULTS\n",
-      "print '%s %.2e' % ('Equilibrium constant =',Kp  )\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Equilibrium constant = 3.94e-04\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 17 - pg 373"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the fraction of methane decomposed\n",
-      "#initialisation of variables\n",
-      "p= 0.08 #atm\n",
-      "#CALCULATIONS\n",
-      "a= (1-p)/(p+1)\n",
-      "#RESULTS\n",
-      "print '%s %.2f' % ('fraction =  ',a)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "fraction =   0.85\n"
-       ]
-      }
-     ],
-     "prompt_number": 15
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 18 - pg 374"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the enthalpy of the reaction\n",
-      "#initialisation of variables\n",
-      "H= -57240. #cal\n",
-      "T= 2257. #C\n",
-      "Hh= -54.60 #cal\n",
-      "Ho= -38.56 #cal\n",
-      "HO= -57.08 #cal\n",
-      "#CALCULATIONS\n",
-      "H1= H-T*(2*Hh-2*Ho-HO)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Enthalpy =',H1,'cal')\n",
-      "print 'The answers in the textbook are a different due to a rounding off error '"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy = -113665.0 cal\n",
-        "The answers in the textbook are a different due to a rounding off error \n"
-       ]
-      }
-     ],
-     "prompt_number": 16
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 19 - pg 375"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Enthalpy\n",
-      "#initialisation of variables\n",
-      "H= -57797 #cal\n",
-      "T= 25 #C\n",
-      "Hh= 7.934 #cal\n",
-      "Ho= -6.788 #cal\n",
-      "HO= 6.912 #cal\n",
-      "#CALCULATIONS\n",
-      "H1= 2*H-(T+273.16)*(2*Hh+2*Ho-HO)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Enthalpy =',H1,'cal ')\n",
-      "print 'The answers in the textbook are a different due to a rounding off error '"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy = -114216.5 cal \n",
-        "The answers in the textbook are a different due to a rounding off error \n"
-       ]
-      }
-     ],
-     "prompt_number": 17
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter_7.ipynb b/Physical_Chemsitry/Chapter_7.ipynb
deleted file mode 100755
index d0564a44..00000000
--- a/Physical_Chemsitry/Chapter_7.ipynb
+++ /dev/null
@@ -1,1029 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:3529f6dd0800b2bdaab8573a3a6af2c519dc83ab93935a987777c3348bc812ea"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 7 - Electrochemistry"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 391"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Avagadro number\n",
-      "#initialisation of variables\n",
-      "e= 1.6016*10**-19 #coloumb\n",
-      "F= 96493 #\n",
-      "#CALCULATIONS\n",
-      "N= F/e\n",
-      "#RESULTS\n",
-      "print '%s %.4e %s' % (' Avagadro number = ',N,'molecules/mol')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Avagadro number =  6.0248e+23 molecules/mol\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 391"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Time required\n",
-      "#initialisation of variables\n",
-      "m= 1 #gms\n",
-      "M= 63.54 #gms\n",
-      "e= 2 #farady\n",
-      "F= 96493\n",
-      "n= 3\n",
-      "#CALCULATIONS\n",
-      "t= (m/M)*(e*F/n)\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' Time =',t,'sec')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Time = 1012 sec\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 396"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the transference number\n",
-      "#initialisation of variables\n",
-      "M= 25.01 #gms\n",
-      "n= 1.0053 #moles\n",
-      "n1= 6.6*10**-5 #moles\n",
-      "e= 1.350*10**-3 #coloumbs\n",
-      "#CALCULATIONS\n",
-      "x= M/n\n",
-      "y= n1*x\n",
-      "nm= y*10**3+e*10**3-(x/10)\n",
-      "t= nm/(e*10**3)\n",
-      "#CALCULATIONS\n",
-      "print '%s %.3f' % (' transference number = ',t)"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " transference number =  0.373\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 404"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the electrokinetic potential\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "x= 0.033 #cm\n",
-      "t= 38.2 #sec\n",
-      "e= 3.2 #v\n",
-      "V= 9*10**-3 #dyne sec cm**-2\n",
-      "k= 78\n",
-      "#CALCULATIONS\n",
-      "v= x/t\n",
-      "u= v/e\n",
-      "S= -300**2*u*V*4*math.pi/k\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' electrokinetic potential =',S,' volt ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " electrokinetic potential = -0.035  volt \n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 - pg 406"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the specific conductivity\n",
-      "#initialisation of variables\n",
-      "o= 0.999505 #mho cm^-1\n",
-      "k= 0.0128560\n",
-      "i= 97.36 #ohms\n",
-      "I= 117.18 #ohms\n",
-      "#CALCULATIONS\n",
-      "Lsp= k*o\n",
-      "L1sp= k*i/I\n",
-      "#RESULTS\n",
-      "print '%s %.6f %s' % (' specific conductivity =',L1sp,'mho cm^-1 ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " specific conductivity = 0.010682 mho cm^-1 \n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 410"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the equivalent conductance of the anion at infinite dilution\n",
-      "#initialisation of variables\n",
-      "A= 388.5\n",
-      "l= 349.8\n",
-      "a= 0.61\n",
-      "m= 0.1 #M\n",
-      "#CALCULATIONS\n",
-      "L= A-l\n",
-      "A1= a*A\n",
-      "Lsp= m*A1/1000.\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' equivalent conductance of the anion at infinite dilution =',Lsp,' mho cm^-1 ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " equivalent conductance of the anion at infinite dilution = 2.37e-02  mho cm^-1 \n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 410"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the effective mobility\n",
-      "#initialisation of variables\n",
-      "l= 349.82 \n",
-      "F= 96493.1 #coloumb\n",
-      "#CALCULATIONS\n",
-      "u= l/F\n",
-      "#RESULTS\n",
-      "print '%s %.3e %s' % (' effective mobility =',u,'cm^2 volt sec^-1  ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " effective mobility = 3.625e-03 cm^2 volt sec^-1  \n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 413"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the solubility product constant\n",
-      "#initialisation of variables\n",
-      "G1= -7800 #cal\n",
-      "G2= -24600 #cal\n",
-      "G3= -39700 #cal\n",
-      "R= 1.987 #cal/mol K\n",
-      "T= 25 #C\n",
-      "#CALCULATIONS\n",
-      "G= G1+G2-G3\n",
-      "Ksp= 10**(-G/(2.303*R*(273.2+T)))\n",
-      "#RESULTS\n",
-      "print '%s %.1e' % (' solubility product constant = ',Ksp)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " solubility product constant =  4.5e-06\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 11 - pg 417"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the concentration of hydrogen ion\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "Ka= 6*10**-10\n",
-      "C= 10**-1 #moles l^-1\n",
-      "#CALCULATIONS\n",
-      "C1= math.sqrt(Ka*C)\n",
-      "#RESULTS\n",
-      "print '%s %.1e %s' % (' concentration of hydrogen ion =',C1,'moles l^-1 ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " concentration of hydrogen ion = 7.7e-06 moles l^-1 \n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 13 - pg 419"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the concentration of hydrogen ion\n",
-      "#initialisation of variables\n",
-      "Ka= 1.8*10**-5 \n",
-      "n= 2 #milli moles\n",
-      "v= 45 #ml\n",
-      "n1= 0.5#milli moles\n",
-      "#CALCULATIONS\n",
-      "x= Ka*v*n1/n\n",
-      "C= x/v\n",
-      "#RESULTS\n",
-      "print '%s %.1e %s' % (' concentration of hydrogen ion =',C,' moles l^-1 ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " concentration of hydrogen ion = 4.5e-06  moles l^-1 \n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 14 - pg 421"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the pH of the solution and activity coefficient\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "a= 2.4*10**-4\n",
-      "Ph= 11.54\n",
-      "#CALCULATIONS\n",
-      "Ph1= -math.log10(a)\n",
-      "a= 10**(-Ph)\n",
-      "#RESULTS\n",
-      "print '%s %.2f' % (' pH of solution = ',Ph1)\n",
-      "print '%s %.1e' % (' \\n activity coefficient = ',a)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " pH of solution =  3.62\n",
-        " \n",
-        " activity coefficient =  2.9e-12\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 15 - pg 426"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Gibbs free energy\n",
-      "#initialisation of variables\n",
-      "E= 0.35240 #volts\n",
-      "F= 96493.1 #coloumb\n",
-      "n= 2 #electrons\n",
-      "#CALCULATIONS\n",
-      "G= -n*F*E\n",
-      "#RESULTS\n",
-      "print '%s %d %s' % (' Gibbs free energy =',G,' absolute joules ')\n",
-      "print 'The answer is a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Gibbs free energy = -68008  absolute joules \n",
-        "The answer is a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 16 - pg 428"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Entropy and Enthalpy of the mixture\n",
-      "#initialisation of variables\n",
-      "E= 0.35240 #volts\n",
-      "E1= 0.35321 #volts\n",
-      "E2= 0.35140 #volts\n",
-      "E3=.35252\n",
-      "T= 25. #C\n",
-      "T1= 20. #C\n",
-      "T2= 30. #C\n",
-      "n= 2. #electrons\n",
-      "F= 96493.1 #coloumb\n",
-      "#CALCULATIONS\n",
-      "r= (E-E1)/(T-T1)\n",
-      "r1= (E2-E)/(T2-T)\n",
-      "R= (r+r1)/2\n",
-      "S= n*F*R\n",
-      "H= n*F*((273.16+T)*R-E3)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Entropy =',S,'joules deg^-1')\n",
-      "print '%s %.1f %s' % (' \\n Enthalpy =',H,'joules')\n",
-      "print 'The answer is a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Entropy = -34.9 joules deg^-1\n",
-        " \n",
-        " Enthalpy = -78446.4 joules\n",
-        "The answer is a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 18 - pg 431"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Gibbs free energy\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "v= 0.11834 #volt\n",
-      "F= 96493.1 #coloumb\n",
-      "n= 1 #electron\n",
-      "R= 8.3144 #J/mol K\n",
-      "T= 25 #C\n",
-      "m= 0.1\n",
-      "m1= 0.9862\n",
-      "#CALCULATIONS\n",
-      "G= -n*F*v\n",
-      "G1= 2*R*(273.16+T)*math.log(m/m1)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Gibbs free energy =',G,'joules')\n",
-      "print '%s %d %s' % (' \\n Gibbs free energy =',G1,'joules')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Gibbs free energy = -11419.0 joules\n",
-        " \n",
-        " Gibbs free energy = -11347 joules\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 19 - pg 432"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the potential difference\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "n= 2 #electrons\n",
-      "R= 8.314 #bJ/mol K\n",
-      "F= 96493 #coloumb\n",
-      "T= 25 #C\n",
-      "N2= 3.17*10**-6\n",
-      "N1= 6.13*10**-3\n",
-      "#CALCULATIONS\n",
-      "E= -(R*(273.16+T)*2.3026/(n*F))*math.log10(N2/N1)\n",
-      "#RESULTS\n",
-      "print '%s %.5f %s' % (' potential difference =',E,' volt')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " potential difference = 0.09720  volt\n"
-       ]
-      }
-     ],
-     "prompt_number": 15
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 20 - pg 432"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Equilibrium constant\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "E= 0.84 #volts\n",
-      "n= 1 #electron\n",
-      "F= 96500 #coloumb\n",
-      "R= 8.314 #J/mol K\n",
-      "T= 25 #C\n",
-      "#CALCULATIONS\n",
-      "K= math.e**(E*n*F/(R*(273+T)))\n",
-      "#RESULTS\n",
-      "print '%s %.1e' % (' Equilibrium constant =',K)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Equilibrium constant = 1.6e+14\n"
-       ]
-      }
-     ],
-     "prompt_number": 16
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 21 - pg 432"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Equilibrium constant\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "E= -0.0029 #volts\n",
-      "V= 0.1 #volts\n",
-      "V1= 0.05 #volts\n",
-      "f= 0.05916 #J/mol coloumb\n",
-      "T= 25. #C\n",
-      "F= 96500 #coloumb\n",
-      "R= 8.314 #J/mol K\n",
-      "#CALCULATIONS  \n",
-      "e= E+f*math.log10(V*V1/V1)\n",
-      "K= math.e**(e*F/(R*(273+T)))\n",
-      "#RESULTS\n",
-      "print '%s %.1e' % (' Equilibrium constant =',K)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Equilibrium constant = 8.9e-02\n"
-       ]
-      }
-     ],
-     "prompt_number": 17
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 22 - pg 438"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Standard electrode potential\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "E= 1.0508 #volts\n",
-      "V= 0.3338 #volts\n",
-      "a= 0.0796 \n",
-      "a1= math.sqrt(0.0490)\n",
-      "f= 0.05916 #J/mol coloumb\n",
-      "#CALCULATIONS\n",
-      "V= E+V+f*math.log10(a/a1)\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' % (' Standard electrode potential =',V,'volts')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Standard electrode potential = 1.3583 volts\n"
-       ]
-      }
-     ],
-     "prompt_number": 18
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 23 - pg 438"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Standard molar free energy\n",
-      "#initialisation of variables\n",
-      "V= 1.3595 #volts\n",
-      "n= 1 #electron\n",
-      "F= 96493 #coloumb\n",
-      "#CALCULATIONS\n",
-      "G= -n*F*V/4.28\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Standard molar free energy =',G,'cal')\n",
-      "print 'The answer is a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Standard molar free energy = -30650.1 cal\n",
-        "The answer is a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 19
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 24 - pg 439"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the ion product\n",
-      "#Initialization of variables\n",
-      "import math\n",
-      "I=0.0050\n",
-      "E0=.22619\n",
-      "con=.0602\n",
-      "E2=1.05080\n",
-      "R=8.3144\n",
-      "T=298.16 #K\n",
-      "#calculations\n",
-      "E1=E0-con*math.sqrt(I)\n",
-      "E3=-E2+E1\n",
-      "Kw=10**(E3*96493/2.3026/R/T)\n",
-      "#results\n",
-      "print '%s %.3e' %(\"Ion product = \",Kw)\n",
-      "print 'The answer is a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Ion product =  9.741e-15\n",
-        "The answer is a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 20
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 25 - pg 440"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Solubility constant\n",
-      "#initialisation of variables\n",
-      "V= -0.658 #volt\n",
-      "V1= -0.3363 #volt\n",
-      "n= 1 #electron\n",
-      "F= 96438 #coloumb\n",
-      "R= 8.314 #j/mol K\n",
-      "T= 25 #C\n",
-      "#CLACULATIONS\n",
-      "V2= V-V1\n",
-      "Ksp= 10**(V2*n*F/(2.303*R*(273.2+T)))\n",
-      "#RESULTS\n",
-      "print '%s %.1e %s' % (' Solubility constant =',Ksp,' volt')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Solubility constant = 3.7e-06  volt\n"
-       ]
-      }
-     ],
-     "prompt_number": 21
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 26 - pg 440"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the cell potential\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "e= 0\n",
-      "e1= -0.37\n",
-      "k= -0.05916 #j/mol\n",
-      "a= 0.02\n",
-      "a1= 0.01\n",
-      "a3=.2\n",
-      "p= 730. #mm of Hg\n",
-      "#CALCULATIONS\n",
-      "E= (e-e1)+k*math.log10(a*math.sqrt(p/760.) /a1/a3)\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' cell potential =',E,'volt') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " cell potential = 0.31 volt\n"
-       ]
-      }
-     ],
-     "prompt_number": 22
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 27 - pg 440"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the cell potential\n",
-      "#initialisation of variables\n",
-      "V= -0.440 #volt\n",
-      "V1= 0.771 #volt\n",
-      "F= 96500 #coloumb\n",
-      "n=2 #electrons\n",
-      "n1= 1 #electrons\n",
-      "n2= 3 #electrons\n",
-      "#CALCULATIONS\n",
-      "G= -n*F*V\n",
-      "G1= -n1*F*V1\n",
-      "G2= G+G1\n",
-      "V= G2/(n2*F)\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' % (' cell potential =',-V,'volt') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " cell potential = -0.0363 volt\n"
-       ]
-      }
-     ],
-     "prompt_number": 23
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 28 - pg 444"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the cell potential\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "p1=386.6 #atm\n",
-      "p2=1 #atm\n",
-      "f= 2\n",
-      "k= -0.05916 #j/mol\n",
-      "#CALCULATIONS\n",
-      "E= (k/f)*math.log10(p1/p2)\n",
-      "#RESULTS\n",
-      "print '%s %.4f %s' % (' cell potential =',E,'volt')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " cell potential = -0.0765 volt\n"
-       ]
-      }
-     ],
-     "prompt_number": 24
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 29 - pg 445"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the cell potential\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "c= 10**-7\n",
-      "c1= 1\n",
-      "f= 1\n",
-      "k= -0.05915 #j/mol\n",
-      "#CALCULATIONS\n",
-      "E= (k/f)*math.log10(c/c1)\n",
-      "#RESULTS\n",
-      "print '%s %.5f %s' % (' cell potential =',E,' volt')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " cell potential = 0.41405  volt\n"
-       ]
-      }
-     ],
-     "prompt_number": 25
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 30 - pg 448"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the junction potential\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "c= 391.\n",
-      "c1= 129.\n",
-      "f= 1.\n",
-      "k= -0.05915 #j/mol\n",
-      "#CALCULATIONS\n",
-      "E= (k/f)*math.log10(c1/c)\n",
-      "#RESULS\n",
-      "print '%s %.4f %s' % (' junction potential =',E,'volt')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " junction potential = 0.0285 volt\n"
-       ]
-      }
-     ],
-     "prompt_number": 26
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter_8.ipynb b/Physical_Chemsitry/Chapter_8.ipynb
deleted file mode 100755
index c1054064..00000000
--- a/Physical_Chemsitry/Chapter_8.ipynb
+++ /dev/null
@@ -1,440 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:e7ff5ec8c26bca61ce95f7f9a6bfe9182508039293520fdb892a47c60afd9608"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 8 - Quantum chemistry"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 1 - pg 460"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Wavelength\n",
-      "#initialisation of variables\n",
-      "v= 299.8 #V\n",
-      "e= 4.802*10**-10 #ev\n",
-      "h= 6.624*10**-27 #ergs sec\n",
-      "c= 3*10**10 #cm/sec\n",
-      "#CALCULATIONS\n",
-      "E= e/v\n",
-      "l= h*c*10**8/(2*E)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Wavelength =',l,'A')\n",
-      "print 'The answers are a bit different due to rounding off error in textbook'"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Wavelength = 6203.3 A\n",
-        "The answers are a bit different due to rounding off error in textbook\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 462"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the value of numerical coefficient\n",
-      "#initialisation of variables\n",
-      "u= 109677.583 #cm**-1\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' value of numerical coefficient =',u,' cm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " value of numerical coefficient = 109677.6  cm\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 464"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the wavelength in both cases\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "h= 6.6234*10**-27 #ergs sec\n",
-      "m= 2.59 #gms\n",
-      "v= 3.35*10**4 #cm sec **-1\n",
-      "e= 4.8*10**-10 #ev\n",
-      "V= 40000. #volts\n",
-      "M= 300. #gms\n",
-      "L= 1836. #A\n",
-      "N= 6*10**23 #molecules\n",
-      "#CALCULATIONS\n",
-      "p= m*v\n",
-      "l= h/p\n",
-      "E= V*e/M\n",
-      "P= math.sqrt(2*E*(1/(L*N)))\n",
-      "L1= h*10**8/P\n",
-      "#RESULTS\n",
-      "print '%s %.2e %s' % (' wavelength =',l,'cm')\n",
-      "print '%s %.4f %s' % (' \\n wavelength =',L1,'A')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " wavelength = 7.63e-32 cm\n",
-        " \n",
-        " wavelength = 0.0614 A\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 - pg 471"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the lifetime of this excited state\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "h= 6.624*10**-27 #ergs sec\n",
-      "c= 3*10**10 #cm/sec\n",
-      "u= 5 #cm**-1\n",
-      "#CALCULATIONS  \n",
-      "T= h/(h*2*math.pi*c*u)\n",
-      "#RESULTS\n",
-      "print '%s %.1e %s' % (' lifetime of this excited state =',T,'sec')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " lifetime of this excited state = 1.1e-12 sec\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 - pg 471"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the lifetime\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "V= 2.5*10**4 #m/sec\n",
-      "m= 30 #gms\n",
-      "s= 10*10**-16 #cm**2\n",
-      "N= 6.023*10**23 #molecules\n",
-      "T= 300 #K\n",
-      "k= 8.3*10**7\n",
-      "#CALCULATIONS\n",
-      "t= math.sqrt((m/(math.pi*k*T)))*(V/(4*s*N))\n",
-      "#RESULTS\n",
-      "print '%s %.1e %s' % (' lifetime =',t,' sec')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " lifetime = 2.0e-10  sec\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 - pg 494"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the internuclear distances\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "h= 6.6238*10**-27 #ergssec\n",
-      "N= 6.0254*10**23 #molecules\n",
-      "c= 2.9979*10**10\n",
-      "Be= 60.809\n",
-      "mh= 1.00812 #gms\n",
-      "#CALCULATIONS\n",
-      "u= mh/2.\n",
-      "Re= math.sqrt(h*N/(c*8*math.pi**2*Be*u))\n",
-      "#RESULTS\n",
-      "print '%s %.4e %s' % (' internuclear distances =',Re,'cm ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " internuclear distances = 7.4168e-09 cm \n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 8 - pg 497"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Resonance energy\n",
-      "#initialisation of variables\n",
-      "H= 19.8 #kcal\n",
-      "H1= -0.8 #kcal\n",
-      "H2= -29.4 #kcal\n",
-      "#CALCULATIONS\n",
-      "H3= -85.8\n",
-      "H4= -49.2\n",
-      "H5= -H3+H4\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' Resonance energy =',H5,'cal')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Resonance energy = 36.6 cal\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9 - pg 500"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the no of bonds\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "R= 1.69 #A\n",
-      "l= 1.49 #A\n",
-      "r= 0.706\n",
-      "#CALCULATIONS\n",
-      "n= 10**((R-l)/r)\n",
-      "#RESULTS\n",
-      "print '%s %.2f' % (' no of bonds = ',n)\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " no of bonds =  1.92\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 10 - pg 504"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the lattice energy\n",
-      "#initialisation of variables\n",
-      "N= 6.*10**23 #molecules\n",
-      "R= 2.82 #A\n",
-      "e= 4.8*10**-10 #ev\n",
-      "n= 9.\n",
-      "z= 1.748\n",
-      "#CALCULATIONS\n",
-      "U= (N*z*e**2*(1-(1/n)))*182.2/(R*10**-8*7.63*10**12)\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' lattice energy =',U,'kcal mole**-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " lattice energy = 181.9 kcal mole**-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 11 - pg 507"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the least energy required for transfer\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "k= 13\n",
-      "e= 4.8*10**-10 #ev\n",
-      "h= 6.624*10**-27 #ergs sec\n",
-      "N= 6.023*10**23 #molecules\n",
-      "l= 1836 #A\n",
-      "#CALCULATIONS\n",
-      "I= e**4*0.080/(l*N*1.28*10**-13*2*k**2*(h/(2*math.pi))**2)\n",
-      "#RESULTS\n",
-      "print '%s %.2f %s' % (' least energy required for transfer=',I,' ev')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " least energy required for transfer= 0.08  ev\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 12 - pg 509"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the difference between potentials\n",
-      "#initialisation of variables\n",
-      "i= 54.4 #ev\n",
-      "i1= 24.6 #ev\n",
-      "k= 2.5 \n",
-      "#CALCULATIONS\n",
-      "I= i/(4*k**2)\n",
-      "I1= i1/(4*k**2)\n",
-      "d= I-I1\n",
-      "#RESULTS\n",
-      "print '%s %.1f %s' % (' difference between first and second potential=',d,'ev')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " difference between first and second potential= 1.2 ev\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/Chapter_9.ipynb b/Physical_Chemsitry/Chapter_9.ipynb
deleted file mode 100755
index 1a10b96e..00000000
--- a/Physical_Chemsitry/Chapter_9.ipynb
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:39eab768daff11aebdd87a93356bef21d5d2b1bdfeb10c1efcd7ba6d3163e0fd"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 9 - Statistical Mechanics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 - pg 525"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the Absolute Entropy\n",
-      "#initialisation of variables\n",
-      "import math\n",
-      "T= 298.16 #K\n",
-      "M= 4.003 #gm\n",
-      "S= 2.3151 #cal mol^-1 deg^-1\n",
-      "R= 1.987 #cal/molK\n",
-      "#CALCULATIONS\n",
-      "S1= 2.5*R*math.log(T)+1.5*R*math.log(M)-S\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' Absolute Entropy=',S1,'cal mol^-1 deg^-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Absolute Entropy= 30.122 cal mol^-1 deg^-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - pg 528"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate the heat required\n",
-      "#initialisation of variables\n",
-      "h= 6.624*10**-27#erg/sec\n",
-      "N= 6.023*10**23\n",
-      "c= 3*10**10 #m/sec\n",
-      "w= 2359.6 #cm**-1\n",
-      "T= 2000 #K\n",
-      "K= 1.380*10**-16\n",
-      "R= 1.987 #cal mol**-1 k**-1\n",
-      "#CALCULATIONS\n",
-      "x= h*c*w/(K*T)\n",
-      "y= 2.71**x\n",
-      "H= 3.5*R+(N*h*c*w/(T*4.184*10**7*(y-1)))\n",
-      "#RESULTS\n",
-      "print '%s %.3f %s' % (' Heat=',H,'cal mol**-1 deg**-1')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Heat= 7.715 cal mol**-1 deg**-1\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Physical_Chemsitry/screenshots/chap11.png b/Physical_Chemsitry/screenshots/chap11.png
deleted file mode 100755
index 6ed53889..00000000
Binary files a/Physical_Chemsitry/screenshots/chap11.png and /dev/null differ
diff --git a/Physical_Chemsitry/screenshots/chap12.png b/Physical_Chemsitry/screenshots/chap12.png
deleted file mode 100755
index a1675611..00000000
Binary files a/Physical_Chemsitry/screenshots/chap12.png and /dev/null differ
diff --git a/Physical_Chemsitry/screenshots/chap13.png b/Physical_Chemsitry/screenshots/chap13.png
deleted file mode 100755
index 42833795..00000000
Binary files a/Physical_Chemsitry/screenshots/chap13.png and /dev/null differ
diff --git a/Physical_Chemsitry/screenshots/chap3.png b/Physical_Chemsitry/screenshots/chap3.png
deleted file mode 100755
index 832091f2..00000000
Binary files a/Physical_Chemsitry/screenshots/chap3.png and /dev/null differ
diff --git a/Physical_Chemsitry/screenshots/chap4.png b/Physical_Chemsitry/screenshots/chap4.png
deleted file mode 100755
index e2646978..00000000
Binary files a/Physical_Chemsitry/screenshots/chap4.png and /dev/null differ
diff --git a/Physical_Chemsitry/screenshots/chap5.png b/Physical_Chemsitry/screenshots/chap5.png
deleted file mode 100755
index 5e065126..00000000
Binary files a/Physical_Chemsitry/screenshots/chap5.png and /dev/null differ
diff --git a/Power_Electronics/Chapter10_4.ipynb b/Power_Electronics/Chapter10_4.ipynb
new file mode 100755
index 00000000..cbc3cb90
--- /dev/null
+++ b/Power_Electronics/Chapter10_4.ipynb
@@ -0,0 +1,228 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10 : Cycloconverters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.2, Page No 594"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "R=10.0\n",
+      "a=30.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_or=(V_m/math.sqrt(2))*math.sqrt((1/math.pi)*(math.pi-a*math.pi/180+math.sin(math.radians(2*a))/2))\n",
+      "I_or=V_or/R    \n",
+      "I_s=I_or\n",
+      "pf=(I_or**2*R)/(V_s*I_s)    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"rms value of o/p current=%.2f A\" %I_or)\n",
+      "print(\"rms value of o/p current for each convertor=%.2f A\" %(I_or/math.sqrt(2)))\n",
+      "print(\"rms value of o/p current for each thyristor=%.3f A\" %(I_or/2))\n",
+      "print(\"i/p pf=%.4f\" %pf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms value of o/p current=22.67 A\n",
+        "rms value of o/p current for each convertor=16.03 A\n",
+        "rms value of o/p current for each thyristor=11.333 A\n",
+        "i/p pf=0.9855\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.4, Page No 604"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=400.0\n",
+      "V_ph=V_s/2\n",
+      "a=160.0\n",
+      "\n",
+      "#Calculations\n",
+      "r=math.cos(math.radians(180-a))\n",
+      "m=3\n",
+      "V_or=r*(V_ph*(m/math.pi)*math.sin(math.pi/m)) \n",
+      "R=2\n",
+      "X_L=1.5\n",
+      "th=math.degrees(math.atan(X_L/R))\n",
+      "Z=math.sqrt(R**2+X_L**2)\n",
+      "I_or=V_or/Z    \n",
+      "P=I_or**2*R      \n",
+      "\n",
+      "#Results\n",
+      "print(\"rms o/p voltage=%.3f V\" %V_or)\n",
+      "print(\"rms o/p current=%.2f A\" %I_or)\n",
+      "print(\"phase angle of o/p current=%.2f deg\" %-th)\n",
+      "print(\"o/p power=%.2f W\" %P)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms o/p voltage=155.424 V\n",
+        "rms o/p current=62.17 A\n",
+        "phase angle of o/p current=-36.87 deg\n",
+        "o/p power=7730.11 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.5 Page No 604"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=400.0\n",
+      "V_ph=V_s/2\n",
+      "V_l=V_ph*math.sqrt(3)\n",
+      "a=160.0\n",
+      "\n",
+      "#Calculations\n",
+      "r=math.cos(math.radians(180-a))\n",
+      "m=6\n",
+      "V_or=r*(V_l*(m/math.pi)*math.sin(math.pi/m))    \n",
+      "R=2\n",
+      "X_L=1.5\n",
+      "th=math.degrees(math.atan(X_L/R))\n",
+      "Z=math.sqrt(R**2+X_L**2)\n",
+      "I_or=V_or/Z    \n",
+      "P=I_or**2*R    \n",
+      "\n",
+      "#Results\n",
+      "print(\"rms o/p voltage=%.2f V\" %V_or)\n",
+      "print(\"rms o/p current=%.2f A\" %I_or)\n",
+      "print(\"phase angle of o/p current=%.2f deg\" %-th)\n",
+      "print(\"o/p power=%.2f W\" %P)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms o/p voltage=310.85 V\n",
+        "rms o/p current=124.34 A\n",
+        "phase angle of o/p current=-36.87 deg\n",
+        "o/p power=30920.44 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.7, Page No 605"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_l=400.0\n",
+      "V_ml=math.sqrt(2)*V_l\n",
+      "m=6\n",
+      "f=50.0\n",
+      "w=2*math.pi*f\n",
+      "L=.0012\n",
+      "I=40.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_or1=(V_ml*(m/math.pi)*math.sin(math.pi/m))*math.cos(math.radians(a))\n",
+      "V_omx1=V_or1-3*w*L*I/math.pi\n",
+      "V_rms1=V_omx1/math.sqrt(2)    \n",
+      "a2=30.0\n",
+      "V_or2=(V_ml*(m/math.pi)*math.sin(math.pi/m))*math.cos(math.radians(a))\n",
+      "V_omx2=V_or2-3*w*L*I/math.pi\n",
+      "V_rms2=V_omx2/math.sqrt(2)    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"for firing angle=0deg\")\n",
+      "a1=0\n",
+      "print(\"rms value of load voltage=%.2f V\" %V_rms2)\n",
+      "print(\"for firing angle=30deg\")\n",
+      "print(\"rms value of load voltage=%.2f V\" %V_rms2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for firing angle=0deg\n",
+        "rms value of load voltage=-369.12 V\n",
+        "for firing angle=30deg\n",
+        "rms value of load voltage=-369.12 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter11_4.ipynb b/Power_Electronics/Chapter11_4.ipynb
new file mode 100755
index 00000000..d2317d28
--- /dev/null
+++ b/Power_Electronics/Chapter11_4.ipynb
@@ -0,0 +1,299 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11 : Some Applications"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.1, Page No 622"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=11000.0\n",
+      "V_ml=math.sqrt(2)*V_s\n",
+      "f=50.0\n",
+      "\n",
+      "#Calculations\n",
+      "w=2*math.pi*f\n",
+      "I_d=300\n",
+      "R_d=1\n",
+      "g=20 #g=gamma\n",
+      "a=math.degrees(math.acos(math.cos(math.radians(g))+math.pi/(3*V_ml)*I_d*R_d))    \n",
+      "L_s=.01\n",
+      "V_d=(3/math.pi)*((V_ml*math.cos(math.radians(a)))-w*L_s*I_d)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"firing angle=%.3f deg\" %a)\n",
+      "print(\"rectifier o/p voltage=%.1f V\" %V_d)\n",
+      "print(\"dc link voltage=%.3f V\" %(2*V_d/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle=16.283 deg\n",
+        "rectifier o/p voltage=13359.3 V\n",
+        "dc link voltage=26.719 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.2, Page No 623"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_d=(200.0+200)*10**3\n",
+      "P=1000.0*10**6\n",
+      "\n",
+      "#Calculations\n",
+      "I_d=P/V_d\n",
+      " #each thristor conducts for 120deg for a periodicity of 360deg\n",
+      "a=0\n",
+      "V_d=200.0*10**3\n",
+      "V_ml=V_d*math.pi/(3*math.cos(math.radians(a)))\n",
+      "\n",
+      "#Results\n",
+      "print(\"rms current rating of thyristor=%.2f A\" %(I_d*math.sqrt(120/360)))\n",
+      "print(\"peak reverse voltage across each thyristor=%.2f kV\" %(V_ml/2/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms current rating of thyristor=0.00 A\n",
+        "peak reverse voltage across each thyristor=104.72 kV\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.3 Page No 627"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_m=230.0\n",
+      "V_s=230/math.sqrt(2)\n",
+      "pf=0.8\n",
+      "P=2000.0\n",
+      "\n",
+      "#Calculations\n",
+      "I_m=P/(V_s*pf)\n",
+      "I_Tr=I_m/math.sqrt(2)\n",
+      "I_TA=2*I_m/math.pi\n",
+      "fos=2 #factor of safety\n",
+      "PIV=V_m*math.sqrt(2)\n",
+      "I_Tr=I_m/(2)\n",
+      "I_TA=I_m/math.pi\n",
+      "\n",
+      "#Results\n",
+      "print(\"rms value of thyristor current=%.2f A\" %(fos*I_Tr))\n",
+      "print(\"avg value of thyristor current=%.3f A\" %(fos*I_TA))\n",
+      "print(\"voltage rating of thyristor=%.2f V\" %PIV)\n",
+      "print(\"rms value of diode current=%.3f A\" %(fos*I_Tr))\n",
+      "print(\"avg value of diode current=%.3f A\" %(fos*I_TA))\n",
+      "print(\"voltage rating of diode=%.2f V\" %PIV)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms value of thyristor current=15.37 A\n",
+        "avg value of thyristor current=9.786 A\n",
+        "voltage rating of thyristor=325.27 V\n",
+        "rms value of diode current=15.372 A\n",
+        "avg value of diode current=9.786 A\n",
+        "voltage rating of diode=325.27 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.4, Page No 629"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=200.0\n",
+      "I=10.0\n",
+      "\n",
+      "#Calculations\n",
+      "R_L=V/I    \n",
+      "I_h=.005     #holding current\n",
+      "R2=V/I_h    \n",
+      "t_c=20*10**-6\n",
+      "fos=2 #factor of safety\n",
+      "C=t_c*fos/(R_L*math.log(2))    \n",
+      "\n",
+      "#Results\n",
+      "print(\"value of load resistance=%.0f ohm\" %R_L)\n",
+      "print(\"value of R2=%.0f kilo-ohm\" %(R2/1000))\n",
+      "print(\"value of C=%.3f uF\" %(C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of load resistance=20 ohm\n",
+        "value of R2=40 kilo-ohm\n",
+        "value of C=2.885 uF\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.5 Page No 646"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "u_r=10\n",
+      "f=10000.0 #Hz\n",
+      "p=4.0*10**-8 #ohm-m\n",
+      "\n",
+      "#Calculations\n",
+      "dl=(1/(2*math.pi))*math.sqrt(p*10**7/(u_r*f))    \n",
+      "l=0.12 #length of cylinder\n",
+      "t=20.0 #no of turns\n",
+      "I=100.0\n",
+      "H=t*I/l\n",
+      "P_s=2*math.pi*H**2*math.sqrt(u_r*f*p*10**-7)    \n",
+      "d=.02 #diameter\n",
+      "P_v=4*H**2*p/(d*dl)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"depth of heat of penetration=%.5f mm\" %(dl*1000))\n",
+      "print(\"heat generated per unit cylinder surface area=%.3f W/m**2\" %P_s)\n",
+      "print(\"heat generated per unit cylinder volume=%.0f W/m**3\" %P_v)\n",
+      " #answer of P_v varies as given in book as value of d is not taken as in formulae. "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "depth of heat of penetration=0.31831 mm\n",
+        "heat generated per unit cylinder surface area=34906.585 W/m**2\n",
+        "heat generated per unit cylinder volume=6981317 W/m**3\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.6 Page No 646"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "f=3000.0\n",
+      "\n",
+      "#Calculations\n",
+      "t_qmin=30.0*10**-6\n",
+      "f_r=f/(1-2*t_qmin*f)\n",
+      "R=0.06\n",
+      "L=20.0*10**-6\n",
+      "C=1/(L*((2*math.pi*f_r)**2+(R/(2*L))**2))    \n",
+      "\n",
+      "#Results\n",
+      "print(\"required capacitor size=%.4f F\" %(C*10**6))\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "required capacitor size=94.2215 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter12_4.ipynb b/Power_Electronics/Chapter12_4.ipynb
new file mode 100755
index 00000000..f8605d69
--- /dev/null
+++ b/Power_Electronics/Chapter12_4.ipynb
@@ -0,0 +1,1997 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12 : Electic Drives"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.1, Page No 658"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "T_e=15.0 #Nm\n",
+      "K_m=0.5 #V-s/rad\n",
+      "I_a=T_e/K_m\n",
+      "n_m=1000.0\n",
+      "\n",
+      "#Calculations\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "E_a=K_m*w_m\n",
+      "r_a=0.7\n",
+      "V_t=E_a+I_a*r_a\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "a=math.degrees(math.acos(2*math.pi*V_t/V_m-1))\n",
+      "print(\"firing angle delay=%.3f deg\" %a)\n",
+      "I_Tr=I_a*math.sqrt((180-a)/360)    \n",
+      "print(\"rms value of thyristor current=%.3f A\" %I_Tr)\n",
+      "I_fdr=I_a*math.sqrt((180+a)/360)    \n",
+      "print(\"rms value of freewheeling diode current=%.3f A\" %I_fdr)\n",
+      "pf=V_t*I_a/(V_s*I_Tr)  \n",
+      "\n",
+      "#Results  \n",
+      "print(\"input power factor=%.4f\" %pf)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle delay=65.349 deg\n",
+        "rms value of thyristor current=16.930 A\n",
+        "rms value of freewheeling diode current=24.766 A\n",
+        "input power factor=0.5652\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.2, Page No 660"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=230.0\n",
+      "E=150.0\n",
+      "R=8.0\n",
+      "\n",
+      "#Calculations\n",
+      "th1=math.sin(math.radians(E/(math.sqrt(2)*V)))\n",
+      "I_o=(1/(2*math.pi*R))*(2*math.sqrt(2)*230*math.cos(math.radians(th1))-E*(math.pi-2*th1*math.pi/180))    \n",
+      "P=E*I_o    \n",
+      "I_or=math.sqrt((1/(2*math.pi*R**2))*((V**2+E**2)*(math.pi-2*th1*math.pi/180)+V**2*math.sin(math.radians(2*th1))-4*math.sqrt(2)*V*E*math.cos(math.radians(th1))))\n",
+      "P_r=I_or**2*R    \n",
+      "pf=(P+P_r)/(V*I_or)\n",
+      "\n",
+      "#Results\n",
+      "print(\"avg charging curent=%.4f A\" %I_o)\n",
+      "print(\"power supplied to the battery=%.2f W\" %P)\n",
+      "print(\"power dissipated by the resistor=%.3f W\" %P_r)    \n",
+      "print(\"supply pf=%.3f\" %pf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg charging curent=3.5679 A\n",
+        "power supplied to the battery=535.18 W\n",
+        "power dissipated by the resistor=829.760 W\n",
+        "supply pf=0.583\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.3 Page No 661"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variablesV_s=250\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "a=30.0\n",
+      "k=0.03 #Nm/A**2\n",
+      "n_m=1000.0\n",
+      "\n",
+      "#Calculations\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "r=.2 #r_a+r_s\n",
+      "V_t=V_m/math.pi*(1+math.cos(math.radians(a)))\n",
+      "I_a=V_t/(k*w_m+r)   \n",
+      "print(\"motor armature current=%.2f A\" %I_a)\n",
+      "T_e=k*I_a**2    \n",
+      "print(\"motor torque=%.3f Nm\" %T_e)\n",
+      "I_sr=I_a*math.sqrt((180-a)/180)\n",
+      "pf=(V_t*I_a)/(V_s*I_sr)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"input power factor=%.2f\" %pf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "motor armature current=57.82 A\n",
+        "motor torque=100.285 Nm\n",
+        "input power factor=0.92\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.4, Page No 663"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=400.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "V_f=2*V_m/math.pi\n",
+      "r_f=200.0\n",
+      "I_f=V_f/r_f\n",
+      "T_e=85.0\n",
+      "K_a=0.8\n",
+      "\n",
+      "#Calculations\n",
+      "I_a=T_e/(I_f*K_a)    \n",
+      "print(\"rated armature current=%.2f A\" %I_a)\n",
+      "n_m=1200.0\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "r_a=0.2\n",
+      "V_t=K_a*I_f*w_m+I_a*r_a\n",
+      "a=math.degrees(math.acos(V_t*math.pi/(2*V_m)))\n",
+      "print(\"firing angle delay=%.2f deg\" %a)\n",
+      "E_a=V_t\n",
+      "w_mo=E_a/(K_a*I_f)\n",
+      "N=60*w_mo/(2*math.pi)\n",
+      "reg=((N-n_m)/n_m)*100    \n",
+      "print(\"speed regulation at full load=%.2f\" %reg)\n",
+      "I_ar=I_a\n",
+      "pf=(V_t*I_a)/(V_s*I_ar)    \n",
+      "print(\"input power factor of armature convertor=%.4f\" %pf)\n",
+      "I_fr=I_f\n",
+      "I_sr=math.sqrt(I_fr**2+I_ar**2)\n",
+      "VA=I_sr*V_s\n",
+      "P=V_t*I_a+V_f*I_f\n",
+      "\n",
+      "#Results\n",
+      "print(\"input power factor of drive=%.4f\" %(P/VA))\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rated armature current=59.01 A\n",
+        "firing angle delay=57.63 deg\n",
+        "speed regulation at full load=6.52\n",
+        "input power factor of armature convertor=0.4821\n",
+        "input power factor of drive=0.5093\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.5 Page No 664"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=400.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "V_f=2*V_m/math.pi\n",
+      "\n",
+      "#Calculations\n",
+      "a1=math.degrees(math.acos(V_t*math.pi/(2*V_m))) \n",
+      "print(\"delay angle of field converter=%.0f deg\" %a1)\n",
+      "r_f=200.0\n",
+      "I_f=V_f/r_f\n",
+      "T_e=85.0\n",
+      "K_a=0.8\n",
+      "I_a=T_e/(I_f*K_a)\n",
+      "n_m=1200.0\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "r_a=0.1\n",
+      "I_a=50.0\n",
+      "V_t=-K_a*I_f*w_m+I_a*r_a\n",
+      "a=math.degrees(math.acos(V_t*math.pi/(2*V_m)))\n",
+      "\n",
+      "#Results\n",
+      "print(\"firing angle delay of armature converter=%.3f deg\" %a)\n",
+      "print(\"power fed back to ac supply=%.0f W\" %(-V_t*I_a))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "delay angle of field converter=58 deg\n",
+        "firing angle delay of armature converter=119.260 deg\n",
+        "power fed back to ac supply=8801 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.6 Page No 665"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_t=220.0\n",
+      "n_m=1500.0\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "I_a=10.0\n",
+      "r_a=1.0\n",
+      "\n",
+      "#Calculations\n",
+      "K_m=(V_t-I_a*r_a)/(w_m)\n",
+      "T=5.0\n",
+      "I_a=T/K_m\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "a=30.0\n",
+      "V_t=2*V_m*math.cos(math.radians(a))/math.pi\n",
+      "w_m=(V_t-I_a*r_a)/K_m\n",
+      "N=w_m*60/(2*math.pi)    \n",
+      "\n",
+      "print(\"motor speed=%.2f rpm\" %N)\n",
+      "a=45\n",
+      "n_m=1000\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "V_t=2*V_m*math.cos(math.radians(a))/math.pi\n",
+      "I_a=(V_t-K_m*w_m)/r_a\n",
+      "T_e=K_m*I_a    \n",
+      "\n",
+      "#Results\n",
+      "print(\"torque developed=%.3f Nm\" %T_e)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "motor speed=1254.22 rpm\n",
+        "torque developed=8.586 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.7, Page No 666"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_t=220.0\n",
+      "n_m=1000.0\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "I_a=60.0\n",
+      "r_a=.1\n",
+      "\n",
+      "#Calculations\n",
+      "K_m=(V_t-I_a*r_a)/(w_m)\n",
+      "V_s=230\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "print(\"for 600rpm speed\")\n",
+      "n_m=600.0\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "a=math.degrees(math.acos((K_m*w_m+I_a*r_a)*math.pi/(2*V_m))) \n",
+      "print(\"firing angle=%.3f deg\" %a)\n",
+      "print(\"for -500rpm speed\")\n",
+      "n_m=-500.0\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "a=math.degrees(math.acos((K_m*w_m+I_a*r_a)*math.pi/(2*V_m)))\n",
+      "print(\"firing angle=%.2f deg\" %a)\n",
+      "I_a=I_a/2\n",
+      "a=150\n",
+      "V_t=2*V_m*math.cos(math.radians(a))/math.pi\n",
+      "w_m=(V_t-I_a*r_a)/K_m\n",
+      "N=w_m*60/(2*math.pi)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"motor speed=%.3f rpm\" %N)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for 600rpm speed\n",
+        "firing angle=49.530 deg\n",
+        "for -500rpm speed\n",
+        "firing angle=119.19 deg\n",
+        "motor speed=-852.011 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.8 Page No 672"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "K_m=1.5\n",
+      "T_e=50.0\n",
+      "I_a=T_e/K_m\n",
+      "r_a=0.9\n",
+      "a=45.0\n",
+      "V_s=415.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_ml=math.sqrt(2)*V_s\n",
+      "w_m=((3*V_ml*(1+math.cos(math.radians(a)))/(2*math.pi))-I_a*r_a)/K_m\n",
+      "N=w_m*60/(2*math.pi)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"motor speed=%.2f rpm\" %N)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "motor speed=2854.42 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.9 Page No 672"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variablesV_t=600\n",
+      "n_m=1500.0\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "I_a=80.0\n",
+      "r_a=1.0\n",
+      "\n",
+      "#Calculations\n",
+      "K_m=(V_t-I_a*r_a)/(w_m)\n",
+      "V_s=400.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "print(\"for firing angle=45deg and speed=1200rpm\")\n",
+      "a=45.0\n",
+      "n_m=1200.0\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "I_a=(3*V_m*(1+math.cos(math.radians(a)))/(2*math.pi)-K_m*w_m)/r_a\n",
+      "I_sr=I_a*math.sqrt(2/3)    \n",
+      "print(\"rms value of source current=%.3f A\" %I_sr)\n",
+      "print(\"rms value of thyristor current=%.3f A\" %(I_a*math.sqrt(1/3)))\n",
+      "print(\"avg value of thyristor current=%.2f A\" %I_a*(1/3))\n",
+      "pf=(3/(2*math.pi)*(1+math.cos(math.radians(a))))    \n",
+      "print(\"input power factor=%.3f\" %pf)\n",
+      "\n",
+      "print(\"for firing angle=90deg and speed=700rpm\")\n",
+      "a=90\n",
+      "n_m=700\n",
+      "w_m=2*math.pi*n_m/60\n",
+      "I_a=(3*V_m*(1+math.cos(math.radians(a)))/(2*math.pi)-K_m*w_m)/r_a\n",
+      "I_sr=I_a*math.sqrt(90/180)    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"rms value of source current=%.3f A\" %I_sr)\n",
+      "print(\"rms value of thyristor current=%.3f A\" %(I_a*math.sqrt(90.0/360)))\n",
+      "print(\"avg value of thyristor current=%.3f A\" %I_a*(1/3))\n",
+      "pf=(math.sqrt(6)/(2*math.pi)*(1+math.cos(math.radians(a))))*math.sqrt(180/(180-a))    \n",
+      "print(\"input power factor=%.4f\" %pf)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for firing angle=45deg and speed=1200rpm\n",
+        "rms value of source current=0.000 A\n",
+        "rms value of thyristor current=0.000 A\n",
+        "\n",
+        "input power factor=0.815\n",
+        "for firing angle=90deg and speed=700rpm\n",
+        "rms value of source current=0.000 A\n",
+        "rms value of thyristor current=195.558 A\n",
+        "\n",
+        "input power factor=0.5513\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.10 Page No 676"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=400.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "a=30\n",
+      "V_t=3*V_m*math.cos(math.radians(a))/math.pi\n",
+      "I_a=21.0\n",
+      "r_a=.1\n",
+      "V_d=2.0\n",
+      "K_m=1.6\n",
+      "\n",
+      "#Calculations\n",
+      "w_m=(V_t-I_a*r_a-V_d)/K_m\n",
+      "N=w_m*60/(2*math.pi)    \n",
+      "print(\"speed of motor=%.1f rpm\" %N)\n",
+      "\n",
+      "N=2000\n",
+      "w_m=2*math.pi*N/60\n",
+      "I_a=210\n",
+      "V_t=K_m*w_m+I_a*r_a+V_d\n",
+      "a=math.degrees(math.acos(V_t*math.pi/(3*V_m)))\n",
+      "print(\"firing angle=%.2f deg\" %a)\n",
+      "I_sr=I_a*math.sqrt(2.0/3.0)\n",
+      "pf=V_t*I_a/(math.sqrt(3)*V_s*I_sr)    \n",
+      "print(\"supply power factor=%.3f\" %pf)\n",
+      "\n",
+      "I_a=21\n",
+      "w_m=(V_t-I_a*r_a-V_d)/K_m\n",
+      "n=w_m*60/(2*math.pi)\n",
+      "reg=(n-N)/N*100    \n",
+      "\n",
+      "#Results\n",
+      "print(\"speed regulation(percent)=%.2f\" %reg)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "speed of motor=2767.6 rpm\n",
+        "firing angle=48.48 deg\n",
+        "supply power factor=0.633\n",
+        "speed regulation(percent)=5.64\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.11, Page No 677"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_t=230.0\n",
+      "V_l=V_t*math.pi/(3*math.sqrt(2))\n",
+      "V_ph=V_l/math.sqrt(3)\n",
+      "V_in=400     #per phase voltage input\n",
+      "\n",
+      "#Calculations\n",
+      "N1=1500.0\n",
+      "I_a1=20.0\n",
+      "r_a1=.6\n",
+      "E_a1=V_t-I_a1*r_a1\n",
+      "n1=1000.0\n",
+      "E_a2=E_a1/1500.0*1000.0\n",
+      "V_t1=E_a1+I_a1*r_a1\n",
+      "a1=math.degrees(math.acos(V_t1*math.pi/(3*math.sqrt(2.0)*V_l)))\n",
+      "I_a2=.5*I_a1\n",
+      "n2=-900.0\n",
+      "V_t2=n2*E_a2/N1+I_a2*r_a1\n",
+      "a2=math.degrees(math.acos(V_t2*math.pi/(3*math.sqrt(2)*V_l))) \n",
+      "\n",
+      "#Results\n",
+      "print(\"transformer phase turns ratio=%.3f\" %(V_in/V_ph))\n",
+      "print(\"for motor running at 1000rpm at rated torque\")\n",
+      "print(\"firing angle delay=%.2f deg\" %a1)\n",
+      "print(\"for motor running at -900rpm at half of rated torque\")\n",
+      "print(\"firing angle delay=%.3f deg\" %a2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "transformer phase turns ratio=4.068\n",
+        "for motor running at 1000rpm at rated torque\n",
+        "firing angle delay=0.00 deg\n",
+        "for motor running at -900rpm at half of rated torque\n",
+        "firing angle delay=110.674 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.12, Page No 678"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variablesV_s=400\n",
+      "V_ml=math.sqrt(2)*V_s\n",
+      "V_f=3*V_ml/math.pi\n",
+      "R_f=300.0\n",
+      "I_f=V_f/R_f\n",
+      "T_e=60.0\n",
+      "k=1.1\n",
+      "\n",
+      "#Calculations\n",
+      "I_a=T_e/(k*I_f)\n",
+      "N1=1000.0\n",
+      "w_m1=2*math.pi*N1/60\n",
+      "r_a1=.3\n",
+      "V_t1=k*I_f*w_m1+I_a*r_a1\n",
+      "a1=math.degrees(math.acos(V_f*math.pi/(3*V_ml)))\n",
+      "N2=3000\n",
+      "w_m2=2*math.pi*N/60\n",
+      "a2=0\n",
+      "V_t2=3*V_ml*math.cos(math.radians(a))/math.pi\n",
+      "I_f2=(V_t2-I_a*r_a)/(w_m2*k)\n",
+      "V_f2=I_f2*R_f\n",
+      "a2=math.degrees(math.acos(V_f2*math.pi/(3*V_ml)))\n",
+      "\n",
+      "#Results\n",
+      "print(\"firing angle=%.3f deg\" %a)\n",
+      "print(\"firing angle=%.3f deg\" %a)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle=48.477 deg\n",
+        "firing angle=48.477 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.13, Page No 679"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      " #after calculating\n",
+      " #t=w_m/6000-math.pi/360\n",
+      "\n",
+      "N=1000.0\n",
+      "\n",
+      "#Calculations\n",
+      "w_m=2*math.pi*N/60\n",
+      "t=w_m/6000-math.pi/360    \n",
+      "\n",
+      "#Results\n",
+      "print(\"time reqd=%.2f s\" %t)\n",
+      " #printing mistake in the answer in book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "time reqd=0.01 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.14, Page No 679"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "I_a=1.0 #supposition\n",
+      "a=60.0\n",
+      "\n",
+      "#Calculations\n",
+      "I_s1=2*math.sqrt(2)/math.pi*I_a*math.sin(math.radians(a))\n",
+      "I_s3=2*math.sqrt(2)/(3*math.pi)*I_a*math.sin(math.radians(3*a))\n",
+      "I_s5=2*math.sqrt(2)/(5*math.pi)*I_a*math.sin(math.radians(5*a))\n",
+      "per3=I_s3/I_s1*100    \n",
+      "print(\"percent of 3rd harmonic current in fundamental=%.2f\" %per3)\n",
+      "per5=I_s5/I_s1*100    \n",
+      "\n",
+      "#Results\n",
+      "print(\"percent of 5th harmonic current in fundamental=%.2f\" %per5)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "percent of 3rd harmonic current in fundamental=0.00\n",
+        "percent of 5th harmonic current in fundamental=-20.00\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.15, Page No 680"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "I_a=60.0\n",
+      "I_TA=I_a/3    \n",
+      "\n",
+      "#Calculations\n",
+      "print(\"avg thyristor current=%.0f A\" %I_TA)\n",
+      "I_Tr=I_a/math.sqrt(3)    \n",
+      "print(\"rms thyristor current=%.3f A\" %I_Tr)\n",
+      "V_s=400\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "I_sr=I_a*math.sqrt(2.0/3)\n",
+      "a=150\n",
+      "V_t=3*V_m*math.cos(math.radians(a))/math.pi\n",
+      "pf=V_t*I_a/(math.sqrt(3)*V_s*I_sr)    \n",
+      "print(\"power factor of ac source=%.3f\" %pf)\n",
+      "\n",
+      "r_a=0.5\n",
+      "K_m=2.4\n",
+      "w_m=(V_t-I_a*r_a)/K_m\n",
+      "N=w_m*60/(2*math.pi)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"Speed of motor=%.2f rpm\" %N)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg thyristor current=20 A\n",
+        "rms thyristor current=34.641 A\n",
+        "power factor of ac source=-0.827\n",
+        "Speed of motor=-1980.76 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.16, Page No 685"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "I_a=300.0\n",
+      "V_s=600.0\n",
+      "a=0.6\n",
+      "V_t=a*V_s\n",
+      "P=V_t*I_a    \n",
+      "\n",
+      "#Calculations\n",
+      "print(\"input power from source=%.0f kW\" %(P/1000))\n",
+      "R_eq=V_s/(a*I_a)    \n",
+      "print(\"equivalent input resistance=%.3f ohm\" %R_eq)\n",
+      "k=.004\n",
+      "R=.04+.06\n",
+      "w_m=(a*V_s-I_a*R)/(k*I_a)\n",
+      "N=w_m*60/(2*math.pi)    \n",
+      "print(\"motor speed=%.1f rpm\" %N)\n",
+      "T_e=k*I_a**2    \n",
+      "\n",
+      "#Results\n",
+      "print(\"motor torque=%.0f Nm\" %T_e)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "input power from source=108 kW\n",
+        "equivalent input resistance=3.333 ohm\n",
+        "motor speed=2626.1 rpm\n",
+        "motor torque=360 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.17, Page No 686"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "T_on=10.0\n",
+      "T_off=15.0\n",
+      "\n",
+      "#Calculations\n",
+      "a=T_on/(T_on+T_off)\n",
+      "V_s=230.0\n",
+      "V_t=a*V_s\n",
+      "r_a=3\n",
+      "K_m=.5\n",
+      "N=1500\n",
+      "w_m=2*math.pi*N/60\n",
+      "I_a=(V_t-K_m*w_m)/r_a    \n",
+      "\n",
+      "#Results\n",
+      "print(\"motor load current=%.3f A\" %I_a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "motor load current=4.487 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.18, Page No 686"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "w_m=0    \n",
+      "print(\"lower limit of speed control=%.0f rpm\" %w_m)\n",
+      "I_a=25.0\n",
+      "r_a=.2\n",
+      "V_s=220\n",
+      "K_m=0.08\n",
+      "\n",
+      "#Calculations\n",
+      "a=(K_m*w_m+I_a*r_a)/V_s    \n",
+      "print(\"lower limit of duty cycle=%.3f\" %a)\n",
+      "a=1    \n",
+      "print(\"upper limit of duty cycle=%.0f\" %a)\n",
+      "w_m=(a*V_s-I_a*r_a)/K_m    \n",
+      "\n",
+      "#Results\n",
+      "print(\"upper limit of speed control=%.1f rpm\" %w_m)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "lower limit of speed control=0 rpm\n",
+        "lower limit of duty cycle=0.023\n",
+        "upper limit of duty cycle=1\n",
+        "upper limit of speed control=2687.5 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.21, Page No 691"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "a=0.6\n",
+      "V_s=400.0\n",
+      "V_t=(1-a)*V_s\n",
+      "I_a=300.0\n",
+      "P=V_t*I_a  \n",
+      "\n",
+      "#Calculations  \n",
+      "print(\"power returned=%.0f kW\" %(P/1000))\n",
+      "r_a=.2\n",
+      "K_m=1.2\n",
+      "R_eq=(1-a)*V_s/I_a+r_a    \n",
+      "print(\"equivalent load resistance=%.4f ohm\" %R_eq)\n",
+      "w_mn=I_a*r_a/K_m\n",
+      "N=w_mn*60/(2*math.pi)    \n",
+      "print(\"min braking speed=%.2f rpm\" %N)\n",
+      "w_mx=(V_s+I_a*r_a)/K_m\n",
+      "N=w_mx*60/(2*math.pi)    \n",
+      "print(\"max braking speed=%.1f rpm\" %N)\n",
+      "w_m=(V_t+I_a*r_a)/K_m\n",
+      "N=w_m*60/(2*math.pi)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"max braking speed=%.1f rpm\" %N)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "power returned=48 kW\n",
+        "equivalent load resistance=0.7333 ohm\n",
+        "min braking speed=477.46 rpm\n",
+        "max braking speed=3660.6 rpm\n",
+        "max braking speed=1750.7 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.22, Page No 699"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "N=1500.0\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"when speed=1455rpm\")\n",
+      "n=1455.0\n",
+      "s1=(N-n)/N\n",
+      "r=math.sqrt(1/3)*(2/3)/(math.sqrt(s1)*(1-s1))    \n",
+      "print(\"I_2mx/I_2r=%.3f\" %r)\n",
+      "print(\"when speed=1350rpm\")\n",
+      "n=1350\n",
+      "s1=(N-n)/N\n",
+      "r=math.sqrt(1/3)*(2/3)/(math.sqrt(s1)*(1-s1))    \n",
+      "\n",
+      "#Results\n",
+      "print(\"I_2mx/I_2r=%.3f\" %r)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when speed=1455rpm\n",
+        "I_2mx/I_2r=0.000\n",
+        "when speed=1350rpm\n",
+        "I_2mx/I_2r=0.000\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.24, Page No 705"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V1=400.0\n",
+      "r1=0.6\n",
+      "r2=0.4\n",
+      "s=1.0\n",
+      "x1=1.6\n",
+      "x2=1.6\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"at starting in normal conditions\")\n",
+      "I_n=V1/math.sqrt((r1+r2/s)**2+(x1+x2)**2)    \n",
+      "print(\"current=%.2f A\" %I_n)\n",
+      "pf=(r1+r2)/math.sqrt((r1+r2/s)**2+(x1+x2)**2)    \n",
+      "print(\"pf=%.4f\" %pf)\n",
+      "f1=50\n",
+      "w_s=4*math.pi*f1/4\n",
+      "T_en=(3/w_s)*I_n**2*(r2/s)    \n",
+      "print(\"\\nTorque developed=%.2f Nm\" %T_en)\n",
+      "print(\"motor is operated with DOL starting\")\n",
+      "I_d=V1/2/math.sqrt((r1+r2/s)**2+((x1+x2)/2)**2)    \n",
+      "print(\"current=%.0f A\" %I_d)\n",
+      "pf=(r1+r2)/math.sqrt((r1+r2/s)**2+((x1+x2)/2)**2)    \n",
+      "print(\"pf=%.2f\" %pf)\n",
+      "f1=25\n",
+      "w_s=4*math.pi*f1/4\n",
+      "T_ed=(3/w_s)*I_d**2*(r2/s)    \n",
+      "print(\"Torque developed=%.3f Nm\" %T_ed)\n",
+      "print(\"at max torque conditions\")\n",
+      "s_mn=r2/math.sqrt((r1)**2+((x1+x2))**2)\n",
+      "I_n=V1/math.sqrt((r1+r2/s_mn)**2+(x1+x2)**2)    \n",
+      "print(\"current=%.3f A\" %I_n)\n",
+      "pf=(r1+r2/s_mn)/math.sqrt((r1+r2/s_mn)**2+(x1+x2)**2)    \n",
+      "print(\"pf=%.4f\" %pf)\n",
+      "f1=50\n",
+      "w_s=4*math.pi*f1/4\n",
+      "T_en=(3/w_s)*I_n**2*(r2/s_mn)    \n",
+      "print(\"Torque developed=%.2f Nm\" %T_en)\n",
+      "print(\"motor is operated with DOL starting\")\n",
+      "s_mn=r2/math.sqrt((r1)**2+((x1+x2)/2)**2)\n",
+      "I_d=V1/2/math.sqrt((r1+r2/s_mn)**2+((x1+x2)/2)**2)    \n",
+      "print(\"current=%.3f A\" %I_d)\n",
+      "pf=(r1+r2/s_mn)/math.sqrt((r1+r2/s_mn)**2+((x1+x2)/2)**2)    \n",
+      "print(\"\\npf=%.3f\" %pf)\n",
+      "f1=25\n",
+      "w_s=4*math.pi*f1/4\n",
+      "T_en=(3/w_s)*I_d**2*(r2/s_mn)  \n",
+      "\n",
+      "\n",
+      "#Results  \n",
+      "print(\"Torque developed=%.3f Nm\" %T_en)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "at starting in normal conditions\n",
+        "current=119.31 A\n",
+        "pf=0.2983\n",
+        "\n",
+        "Torque developed=108.75 Nm\n",
+        "motor is operated with DOL starting\n",
+        "current=106 A\n",
+        "pf=0.53\n",
+        "Torque developed=171.673 Nm\n",
+        "at max torque conditions\n",
+        "current=79.829 A\n",
+        "pf=0.7695\n",
+        "Torque developed=396.26 Nm\n",
+        "motor is operated with DOL starting\n",
+        "current=71.199 A\n",
+        "\n",
+        "pf=0.822\n",
+        "Torque developed=330.883 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.25, Page No 709"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "x1=1.0\n",
+      "X_m=50.0\n",
+      "X_e=x1*X_m/(x1+X_m)\n",
+      "V=231.0\n",
+      "V_e=V*X_m/(x1+X_m)\n",
+      "x2=1.0\n",
+      "r2=.4\n",
+      "r1=0\n",
+      "\n",
+      "#Calculations\n",
+      "s_m=r2/(x2+X_e)    \n",
+      "print(\"slip at max torque=%.2f\" %s_m)\n",
+      "s_mT=r2/(x2+X_m)    \n",
+      "print(\"slip at max torque=%.5f\" %s_mT)\n",
+      "f1=50.0\n",
+      "w_s=4*math.pi*f1/4\n",
+      "print(\"for constant voltage input\")\n",
+      "T_est=(3/w_s)*(V_e/math.sqrt(r2**2+(x2+X_e)**2))**2*(r2)    \n",
+      "print(\"starting torque=%.3f Nm\" %T_est)\n",
+      "T_em=(3/w_s)*V_e**2/(2*(x2+X_e))    \n",
+      "print(\"maximum torque developed=%.2f Nm\" %T_em)\n",
+      "print(\"for constant current input\")\n",
+      "I1=28\n",
+      "T_est=(3/w_s)*(I1*X_m)**2/(r2**2+(x2+X_m)**2)*r2    \n",
+      "print(\"starting torque=%.3f Nm\" %T_est)\n",
+      "T_em=(3/w_s)*(I1*X_m)**2/(2*(x2+X_m))   \n",
+      "print(\"maximum torque developed=%.3f Nm\" %T_em)\n",
+      "s=s_mT\n",
+      "i=1\n",
+      "I_m=I1*(r2/s+i*x2)/(r2/s+i*(x2+X_m))\n",
+      "I_m=math.fabs(I_m)\n",
+      "V1=math.sqrt(3)*I_m*X_m    \n",
+      "\n",
+      "#Results\n",
+      "print(\"supply voltage reqd=%.1f V\" %V1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "slip at max torque=0.20\n",
+        "slip at max torque=0.00784\n",
+        "for constant voltage input\n",
+        "starting torque=95.988 Nm\n",
+        "maximum torque developed=247.31 Nm\n",
+        "for constant current input\n",
+        "starting torque=5.756 Nm\n",
+        "maximum torque developed=366.993 Nm\n",
+        "supply voltage reqd=1236.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.27, Page No 718"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=420.0\n",
+      "V1=V/math.sqrt(3)\n",
+      "T_e=450.0\n",
+      "N=1440.0\n",
+      "n=1000.0\n",
+      "T_L=T_e*(n/N)**2\n",
+      "n1=1500.0\n",
+      "\n",
+      "#Calculations\n",
+      "w_s=2*math.pi*n1/60\n",
+      "w_m=2*math.pi*n/60\n",
+      "a=.8\n",
+      "I_d=T_L*w_s/(2.339*a*V1)\n",
+      "k=0\n",
+      "R=(1-w_m/w_s)*(2.339*a*V1)/(I_d*(1-k))    \n",
+      "print(\"value of chopper resistance=%.4f ohm\" %R)\n",
+      "n=1320.0\n",
+      "T_L=T_e*(n/N)**2\n",
+      "I_d=T_L*w_s/(2.339*a*V1)    \n",
+      "print(\"Inductor current=%.3f A\" %I_d)\n",
+      "w_m=2*math.pi*n/60\n",
+      "k=1-((1-w_m/w_s)*(2.339*a*V1)/(I_d*R))    \n",
+      "print(\"value of duty cycle=%.4f\" %k)\n",
+      "s=(n1-n)/n1\n",
+      "V_d=2.339*s*a*V1    \n",
+      "print(\"Rectifed o/p voltage=%.3f V\" %V_d)\n",
+      "P=V_d*I_d\n",
+      "I2=math.sqrt(2/3)*I_d\n",
+      "r2=0.02\n",
+      "Pr=3*I2**2*r2\n",
+      "I1=a*I2\n",
+      "r1=0.015\n",
+      "Ps=3*I1**2*r1\n",
+      "Po=T_L*w_m\n",
+      "Pi=Po+Ps+Pr+P\n",
+      "eff=Po/Pi*100   \n",
+      "\n",
+      "#Results\n",
+      "print(\"Efficiency(in percent)=%.2f\" %eff)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of chopper resistance=2.0132 ohm\n",
+        "Inductor current=130.902 A\n",
+        "value of duty cycle=0.7934\n",
+        "Rectifed o/p voltage=54.449 V\n",
+        "Efficiency(in percent)=88.00\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.28, Page No 720"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=400.0\n",
+      "V_ph=V/math.sqrt(3)\n",
+      "N_s=1000.0\n",
+      "N=800.0\n",
+      "a=.7\n",
+      "I_d=110\n",
+      "R=2.0\n",
+      "\n",
+      "#Calculations\n",
+      "k=1-((1-N/N_s)*(2.339*a*V_ph)/(I_d*R))    \n",
+      "print(\"value of duty cycle=%.3f\" %k)\n",
+      "P=I_d**2*R*(1-k)\n",
+      "I1=a*I_d*math.sqrt(2/3)\n",
+      "r1=0.1\n",
+      "r2=0.08\n",
+      "Pr=3*I1**2*(r1+r2)\n",
+      "P_o=20000\n",
+      "P_i=P_o+Pr+P\n",
+      "eff=P_o/P_i*100    \n",
+      "print(\"Efficiency=%.2f\" %eff)\n",
+      "I11=math.sqrt(6)/math.pi*a*I_d\n",
+      "th=43\n",
+      "P_ip=math.sqrt(3)*V*I11*math.cos(math.radians(th))\n",
+      "pf=P_ip/(math.sqrt(3)*V*I11)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"Input power factor=%.4f\" %pf)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of duty cycle=0.656\n",
+        "Efficiency=70.62\n",
+        "Input power factor=0.7314\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.29, Page No 724"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=420.0\n",
+      "V1=V/math.sqrt(3)\n",
+      "N=1000.0\n",
+      "w_m=2*math.pi*N/60\n",
+      "N_s=1500.0\n",
+      "\n",
+      "#Calculations\n",
+      "s=(N_s-N)/N_s\n",
+      "a=0.8\n",
+      "V_d=2.339*a*s*V1    \n",
+      "print(\"rectified voltage=%.2f V\" %V_d)\n",
+      "T=450.0\n",
+      "N1=1200.0\n",
+      "T_L=T*(N/N1)**2\n",
+      "f1=50\n",
+      "w_s=4*math.pi*f1/4\n",
+      "I_d=w_s*T_L/(2.339*a*V1)    \n",
+      "print(\"inductor current=%.2f A\" %I_d)\n",
+      "a_T=-.4\n",
+      "a1=math.degrees(math.acos(s*a/a_T))\n",
+      "print(\"delay angle of inverter=%.2f deg\" %a1)\n",
+      "\n",
+      "P_s=V_d*I_d\n",
+      "P_o=T_L*w_m\n",
+      "R_d=0.01\n",
+      "P_i=I_d**2*R_d\n",
+      "I2=math.sqrt(2/3)*I_d\n",
+      "r2=0.02\n",
+      "r1=0.015\n",
+      "P_rol=3*I2**2*r2\n",
+      "I1=a*I2\n",
+      "P_sol=3*I1**2*r1\n",
+      "P_i=P_o+P_rol+P_sol+P_i\n",
+      "eff=P_o/P_i*100    \n",
+      "print(\"\\nefficiency=%.2f\" %eff)\n",
+      "w_m=w_s*(1+(-a_T/a)*math.cos(math.radians(a1))-w_s*R_d*T_L/(2.339*a*V1)**2)\n",
+      "N=w_m*60/(2*math.pi) \n",
+      "\n",
+      "#Results   \n",
+      "print(\"motor speed=%.1f rpm\" %N)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rectified voltage=151.25 V\n",
+        "inductor current=108.18 A\n",
+        "delay angle of inverter=131.81 deg\n",
+        "\n",
+        "efficiency=99.64\n",
+        "motor speed=996.4 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.30, Page No 726"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=700.0\n",
+      "E2=V/math.sqrt(3)\n",
+      "N_s=1500.0\n",
+      "N=1200.0\n",
+      "\n",
+      "#Calculations\n",
+      "s=(N_s-N)/N_s\n",
+      "V_dd=0.7\n",
+      "V_dt=1.5\n",
+      "V_d=3*math.sqrt(6)*s*E2/math.pi-2*V_dd\n",
+      "V1=415.0\n",
+      "a=math.degrees(math.acos((3*math.sqrt(2)*E2/math.pi)**-1*(-V_d+2*V_dt)))\n",
+      "\n",
+      "#Results\n",
+      "print(\"firing angle advance=%.2f deg\" %(180-a))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle advance=70.22 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.31, Page No 726"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=700.0\n",
+      "E2=V/math.sqrt(3)\n",
+      "N_s=1500.0\n",
+      "N=1200.0\n",
+      "\n",
+      "#Calculations\n",
+      "s=(N_s-N)/N_s\n",
+      "V_dd=.7\n",
+      "V_dt=1.5\n",
+      "a=0\n",
+      "u=18 #overlap angle in case of rectifier\n",
+      "V_d=3*math.sqrt(6)*s*E2*(math.cos(math.radians(a))+math.cos(math.radians(a+u)))/(2*math.pi)-2*V_dd\n",
+      "V1=415\n",
+      "V_ml=math.sqrt(2)*V1\n",
+      "u=4 #overlap anglein the inverter\n",
+      " #V_dc=-(3*V_ml*(math.cos(math.radians(a))+math.cos(math.radians(a+u)))/(2*math.pi)-2*V_dt)\n",
+      " #V_dc=V_d\n",
+      " #after solving %  (1+math.cos(math.radians(u)))*math.cos(math.radians(a))-math.sin(math.radians(u))*math.sin(math.radians(a))=-.6425\n",
+      "a=math.degrees(math.acos(-.6425/(math.sqrt((1+math.cos(math.radians(u)))**2+math.sin(math.radians(u))**2))))-math.degrees(math.asin(math.sin(math.radians(a))/(1+math.cos(math.radians(u)))))\n",
+      "\n",
+      "#Results\n",
+      "print(\"firing angle advance=%.2f deg\" %(180-a))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle advance=71.25 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.32, Page No 727"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=700.0\n",
+      "E2=V\n",
+      "N_s=1500.0\n",
+      "N=1200.0\n",
+      "\n",
+      "#Calculations\n",
+      "s=(N_s-N)/N_s\n",
+      "V1=415.0\n",
+      "a_T=s*E2/V1    \n",
+      "\n",
+      "#Results\n",
+      "print(\"voltage ratio of the transformer=%.2f\" %a_T)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "voltage ratio of the transformer=0.34\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.33, Page No 733"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "P=6.0\n",
+      "N_s=600.0\n",
+      "f1=P*N_s/120.0\n",
+      "V=400.0\n",
+      "f=50.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_t=f1*V/f    \n",
+      "print(\"supply freq=%.0f Hz\" %V_t)\n",
+      "T=340.0\n",
+      "N=1000.0\n",
+      "T_L=T*(N_s/N)**2\n",
+      "w_s=2*math.pi*N_s/60\n",
+      "P=T_L*w_s\n",
+      "I_a=P/(math.sqrt(3)*V_t)    \n",
+      "print(\"armature current=%.2f A\" %I_a)\n",
+      "Z_s=2\n",
+      "X_s=f1/f*math.fabs(Z_s)\n",
+      "V_t=V_t/math.sqrt(3)\n",
+      "Ef=math.sqrt(V_t**2+(I_a*X_s)**2)\n",
+      "print(\"excitation voltage=%.2f V\" %(math.sqrt(3)*Ef))\n",
+      "dl=math.degrees(math.atan(I_a*X_s/V_t))\n",
+      "print(\"load angle=%.2f deg\" %dl)\n",
+      "T_em=(3/w_s)*(Ef*V_t/X_s)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"pull out torque=%.2f Nm\" %T_em)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "supply freq=240 Hz\n",
+        "armature current=18.50 A\n",
+        "excitation voltage=243.06 V\n",
+        "load angle=9.10 deg\n",
+        "pull out torque=773.69 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.34, Page No 736"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "P=4.0\n",
+      "f=50.0\n",
+      "w_s=4*math.pi*f/P\n",
+      "X_d=8.0\n",
+      "X_q=2.0\n",
+      "T_e=80.0\n",
+      "V=400.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_t=V/math.sqrt(3)\n",
+      "dl=(1/2)*math.degrees(math.asin(T_e*w_s/((3/2)*(V_t)**2*(1/X_q-1/X_d))))    \n",
+      "print(\"load angle=%.3f deg\" %dl)\n",
+      "I_d=V_t*math.cos(math.radians(dl))/X_d\n",
+      "I_q=V_t*math.sin(math.radians(dl))/X_q\n",
+      "I_a=math.sqrt(I_d**2+I_q**2)    \n",
+      "print(\"armature current=%.2f A\" %I_a)\n",
+      "pf=T_e*w_s/(math.sqrt(3)*V*I_a)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"input power factor=%.4f\" %pf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "load angle=0.000 deg\n",
+        "armature current=28.87 A\n",
+        "input power factor=0.6283\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.35, Page No 737"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "T_e=3.0\n",
+      "K_m=1.2\n",
+      "I_a=T_e/K_m\n",
+      "r_a=2.0\n",
+      "V=230.0\n",
+      "\n",
+      "#Calculations\n",
+      "E_a=(0.263*math.sqrt(2)*V-I_a*r_a)/(1-55/180)\n",
+      "w_m=E_a/K_m\n",
+      "N=w_m*60/(2*math.pi)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"motor speed=%.2f rpm\" %N)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "motor speed=640.96 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.36, Page No 738"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "K_m=1.0\n",
+      "N=1360.0\n",
+      "\n",
+      "#Calculations\n",
+      "w_m=2*math.pi*N/60\n",
+      "E_a=K_m*w_m\n",
+      " #after calculations V_t % calculated\n",
+      "V_t=163.45\n",
+      "r_a=4\n",
+      "I_a=(V_t-E_a)/r_a\n",
+      "T_e=K_m*I_a    \n",
+      "\n",
+      "#Results\n",
+      "print(\"motor torque=%.4f Nm\" %T_e)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "motor torque=5.2578 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.37, Page No 740"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "K_m=1.0\n",
+      "N=2100.0\n",
+      "\n",
+      "#Calculations\n",
+      "w_m=2*math.pi*N/60\n",
+      "E_a=K_m*w_m\n",
+      " #after calculations V_t % calculated\n",
+      "V_t=227.66\n",
+      "r_a=4\n",
+      "I_a=(V_t-E_a)/r_a\n",
+      "T_e=K_m*I_a    \n",
+      "\n",
+      "#Results\n",
+      "print(\"motor torque=%.2f Nm\" %T_e)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "motor torque=1.94 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.38, Page No 742"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "K_m=1.0\n",
+      "N=840.0\n",
+      "\n",
+      "#Calculations\n",
+      "w_m=2*math.pi*N/60\n",
+      "E_a=K_m*w_m\n",
+      "V=230.0\n",
+      "a=75.0\n",
+      "V_t=math.sqrt(2)*V/math.pi*(1+math.cos(math.radians(a)))\n",
+      "r_a=4\n",
+      "I_a=(V_t-E_a)/r_a\n",
+      "T_e=K_m*I_a    \n",
+      "\n",
+      "#Results\n",
+      "print(\"motor torque=%.4f Nm\" %T_e)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits.\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "motor torque=10.5922 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.39, Page No 743"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "K_m=1.0\n",
+      "N=1400.0\n",
+      "\n",
+      "#Calculations\n",
+      "w_m=2*math.pi*N/60\n",
+      "E_a=K_m*w_m\n",
+      "V=230.0\n",
+      "a=60.0\n",
+      "a1=212\n",
+      "V_t=math.sqrt(2)*V/math.pi*(math.cos(math.radians(a))-math.cos(math.radians(a1)))+E_a*(180+a-a1)/180\n",
+      "r_a=3\n",
+      "I_a=(V_t-E_a)/r_a\n",
+      "T_e=K_m*I_a   \n",
+      "\n",
+      "#Results\n",
+      "print(\"motor torque=%.3f Nm\" %T_e)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "motor torque=5.257 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.40, Page No 745"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "K_m=1.0\n",
+      "N=600.0\n",
+      "w_m=2*math.pi*N/60\n",
+      "E_a=K_m*w_m\n",
+      "V=230.0\n",
+      "a=60.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_t=2*math.sqrt(2)*V/math.pi*(math.cos(math.radians(a)))\n",
+      "r_a=3\n",
+      "I_a=(V_t-E_a)/r_a\n",
+      "T_e=K_m*I_a    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"motor torque=%.3f Nm\" %T_e)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "motor torque=13.568 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.41, Page No 745"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "r1=.6\n",
+      "r2=.4\n",
+      "s=0.04\n",
+      "x1=1.6\n",
+      "x2=1.6\n",
+      "Z=(r1+r2/s)+(x1+x2)\n",
+      "V=400.0\n",
+      "I1=V/Z    \n",
+      "print(\"source current=%.3f A \" %math.degrees(math.atan(I1.imag/I1.real)))\n",
+      "print(\"and with %.1f deg phase\" %math.fabs(I1))\n",
+      "I2=V/Z\n",
+      "N=1500\n",
+      "w_s=2*math.pi*N/60\n",
+      "T_e=(3/w_s)*abs(I2)**2*r2/s    \n",
+      "print(\"motor torque=%.2f Nm\" %T_e)\n",
+      "N_r=N*(1-s)\n",
+      "\n",
+      "f=45\n",
+      "N_s1=120*f/4\n",
+      "w_s=2*math.pi*N_s1/60\n",
+      "s1=(N_s1-N_r)/N_s1\n",
+      "Z=(r1+r2/s1)+(x1+x2)*f/50.0\n",
+      "V=360\n",
+      "I1=V/Z    \n",
+      "print(\"source current=%.3f A \" %math.degrees(math.atan(I1.imag/I1.real)))\n",
+      "print(\"and with %.1f deg phase\" %math.fabs(I1))\n",
+      "I2=V/Z\n",
+      "T_e=(3/w_s)*abs(I2)**2*r2/s1    \n",
+      "print(\"motor torque=%.2f Nm\" %T_e)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "source current=0.000 A \n",
+        "and with 29.0 deg phase\n",
+        "motor torque=160.46 Nm\n",
+        "source current=-0.000 A \n",
+        "and with 142.9 deg phase\n",
+        "motor torque=-2598.45 Nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter13_4.ipynb b/Power_Electronics/Chapter13_4.ipynb
new file mode 100755
index 00000000..62d2a926
--- /dev/null
+++ b/Power_Electronics/Chapter13_4.ipynb
@@ -0,0 +1,342 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 13 : Power Factor Improvement"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.1, Page No 754"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=250.0\n",
+      "R_l=5.0\n",
+      "I_l=20.0\n",
+      "V_l1=math.sqrt(V_s**2-(R_l*I_l)**2)\n",
+      "reg2=(V_s-V_l1)/V_s*100    \n",
+      "pf1=1.0\n",
+      "\n",
+      "#Calculations\n",
+      "P_l1=V_l1*I_l*pf1     #load power\n",
+      "P_r1=V_s*I_l*pf1     #max powwible system rating\n",
+      "utf1=P_l1*100/P_r1  \n",
+      "pf2=0.5\n",
+      " #(.5*V_l)**2+(.866*V_l+R_l*I_l)**2=V_s**2\n",
+      " #after solving\n",
+      "V_l2=158.35    \n",
+      "reg2=(V_s-V_l2)/V_s*100    \n",
+      "P_l2=V_l2*I_l*pf2   #load power\n",
+      "P_r2=V_s*I_l     #max powwible system rating\n",
+      "utf2=P_l2*100/P_r2    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"for pf=1\")\n",
+      "print(\"load voltage=%.2f V\" %V_l1)\n",
+      "print(\"voltage regulation=%.2f\" %reg1)\n",
+      "print(\"system utilisation factor=%.3f\" %utf1)\n",
+      "print(\"energy consumed(in units)=%.1f\" %(P_l1/1000))\n",
+      "print(\"for pf=.5\")\n",
+      "print(\"load voltage=%.2f V\" %V_l2)\n",
+      "print(\"voltage regulation=%.2f\" %reg2)\n",
+      "print(\"system utilisation factor=%.3f\" %utf2)\n",
+      "print(\"energy consumed(in units)=%.2f\" %(P_l2/1000))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "ename": "NameError",
+       "evalue": "name 'reg1' is not defined",
+       "output_type": "pyerr",
+       "traceback": [
+        "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
+        "\u001b[1;32m<ipython-input-2-ffdbe43fd921>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m     25\u001b[0m \u001b[1;32mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"for pf=1\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     26\u001b[0m \u001b[1;32mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"load voltage=%.2f V\"\u001b[0m \u001b[1;33m%\u001b[0m\u001b[0mV_l1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 27\u001b[1;33m \u001b[1;32mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"voltage regulation=%.2f\"\u001b[0m \u001b[1;33m%\u001b[0m\u001b[0mreg1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     28\u001b[0m \u001b[1;32mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"system utilisation factor=%.3f\"\u001b[0m \u001b[1;33m%\u001b[0m\u001b[0mutf1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     29\u001b[0m \u001b[1;32mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"energy consumed(in units)=%.1f\"\u001b[0m \u001b[1;33m%\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mP_l1\u001b[0m\u001b[1;33m/\u001b[0m\u001b[1;36m1000\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+        "\u001b[1;31mNameError\u001b[0m: name 'reg1' is not defined"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for pf=1\n",
+        "load voltage=229.13 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.2, Page No 756"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "f=50.0\n",
+      "V_s=230.0\n",
+      "I_m1=2\n",
+      "pf1=.3\n",
+      "\n",
+      "#Calculations\n",
+      "I_c1=I_m1*math.sin(math.radians(math.degrees(math.acos(pf1))))\n",
+      "C1=I_c1/(2*math.pi*f*V_s)    \n",
+      "I_m2=5\n",
+      "pf2=.5\n",
+      "I_c2=I_m2*math.sin(math.radians(math.degrees(math.acos(pf2))))\n",
+      "C2=I_c2/(2*math.pi*f*V_s)    \n",
+      "I_m3=10\n",
+      "pf3=.7\n",
+      "I_c3=I_m3*math.sin(math.radians(math.degrees(math.acos(pf3))))\n",
+      "C3=I_c3/(2*math.pi*f*V_s)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"at no load\")\n",
+      "print(\"value of capacitance=%.3f uF\" %(C1*10**6))\n",
+      "print(\"at half full load\")\n",
+      "print(\"value of capacitance=%.3f uF\" %(C2*10**6))\n",
+      "print(\"at full load\")\n",
+      "print(\"value of capacitance=%.3f uF\" %(C3*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "at no load\n",
+        "value of capacitance=26.404 uF\n",
+        "at half full load\n",
+        "value of capacitance=59.927 uF\n",
+        "at full load\n",
+        "value of capacitance=98.834 uF\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.3 Page No 764"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "I_c=10.0\n",
+      "f=50.0\n",
+      "V_s=230.0\n",
+      "\n",
+      "#Calculations\n",
+      "C=I_c/(2*math.pi*f*V_s)    \n",
+      "I_l=10\n",
+      "L=V_s/(2*math.pi*f*I_l)   \n",
+      "\n",
+      "#Results\n",
+      "print(\"value of capacitance=%.3f uF\" %(C*10**6))\n",
+      "print(\"value of inductor=%.3f mH\" %(L*1000))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of capacitance=138.396 uF\n",
+        "value of inductor=73.211 mH\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.4, Page No 765"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "I_L=10.0\n",
+      "X_L=V_s/I_L\n",
+      "I_f1=6.0\n",
+      " #B=2*a-math.sin(2*a)\n",
+      "B=2*math.pi-I_f1*math.pi*X_L/V_s\n",
+      "a=0\n",
+      "i=1.0\n",
+      "for a in range(1,360):\n",
+      "    b=2*a*math.pi/180-math.sin(math.radians(2*a))   \n",
+      "    if math.fabs(B-b)<=0.001  :      #by hit and trial\n",
+      "        i=2\n",
+      "        break\n",
+      "print(\"firing angle of TCR = %.1f deg\" %a)\n",
+      " #(a-.01)*180/math.pi)\n",
+      " \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle of TCR = 359.0 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.5 Page No 766"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "L=.01\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"for firing angle=90deg\")\n",
+      "a=90*math.pi/180\n",
+      "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a))    \n",
+      "print(\"effective inductance=%.0f mH\" %(L_eff*1000))\n",
+      "print(\"for firing angle=120deg\")\n",
+      "a=120*math.pi/180\n",
+      "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a))    \n",
+      "print(\"effective inductance=%.3f mH\" %(L_eff*1000))\n",
+      "print(\"for firing angle=150deg\")\n",
+      "a=150*math.pi/180\n",
+      "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a))    \n",
+      "print(\"effective inductance=%.2f mH\" %(L_eff*1000))\n",
+      "print(\"for firing angle=170deg\")\n",
+      "a=170*math.pi/180\n",
+      "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a))    \n",
+      "print(\"effective inductance=%.3f H\" %L_eff)\n",
+      "print(\"for firing angle=175deg\")\n",
+      "a=175*math.pi/180\n",
+      "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a))  \n",
+      "\n",
+      "#Results\n",
+      "print(\"effective inductance=%.2f H\" %L_eff)\n",
+      "print(\"for firing angle=180deg\")\n",
+      "a=180*math.pi/180\n",
+      "L_eff=math.pi*L/(2*math.pi-2*a+math.sin(2*a))    \n",
+      "print(\"effective inductance=%.3f H\" %L_eff)\n",
+      " #random value at firing angle =180 is equivalent to infinity as in answer in book\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for firing angle=90deg\n",
+        "effective inductance=10 mH\n",
+        "for firing angle=120deg\n",
+        "effective inductance=25.575 mH\n",
+        "for firing angle=150deg\n",
+        "effective inductance=173.40 mH\n",
+        "for firing angle=170deg\n",
+        "effective inductance=4.459 H\n",
+        "for firing angle=175deg\n",
+        "effective inductance=35.51 H\n",
+        "for firing angle=180deg\n",
+        "effective inductance=-128265253940037.750 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.6 Page No 766"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "Q=100.0*10**3\n",
+      "V_s=11.0*10**3\n",
+      "\n",
+      "#Calculations\n",
+      "f=50.0\n",
+      "L=V_s**2/(2*math.pi*f*Q)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"effective inductance=%.4f H\" %L)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "effective inductance=3.8515 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter14_4.ipynb b/Power_Electronics/Chapter14_4.ipynb
new file mode 100755
index 00000000..a9c3a3f1
--- /dev/null
+++ b/Power_Electronics/Chapter14_4.ipynb
@@ -0,0 +1,93 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 14 : Miscellaneous Topics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14.1, Page No 777"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "a1=0\n",
+      "a2=45.0\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"for two single phase series semiconvertors\")\n",
+      "V_0=V_m/math.pi*(2+math.cos(math.radians(a1))+math.cos(math.radians(a2)))    \n",
+      "print(\"avg o/p voltage=%.2f V\" %V_0)\n",
+      "V_or=V_s*math.sqrt((1/math.pi)*(4*math.pi-3*a2*math.pi/180+(3/2)*math.sin(math.radians(2*a2))))    \n",
+      "print(\"rms value of o/p voltage=%.2f V\" %V_or)\n",
+      "DF=(3+math.cos(math.radians(a2)))/(math.sqrt(2)*math.sqrt(5+3*math.cos(math.radians(a2))))    \n",
+      "print(\"DF=%.2f\" %DF)\n",
+      "PF=math.sqrt(2/math.pi)*(3+math.cos(math.radians(a2)))/math.sqrt(4*math.pi-3*a2*math.pi/180)    \n",
+      "print(\"PF=%.2f\" %PF)\n",
+      "HF=math.sqrt((math.pi*(math.pi-(3/4)*a2*math.pi/180)/(5+3*math.cos(math.radians(a2))))-1)    \n",
+      "print(\"HF=%.2f\" %HF)\n",
+      "print(\"for two single phase series full convertors\")\n",
+      "a=45.0\n",
+      "V_0=2*V_m/math.pi*(1+math.cos(math.radians(a)))    \n",
+      "print(\"avg o/p voltage=%.2f V\" %V_0)\n",
+      "V_or=2*V_s*math.sqrt((1/math.pi)*(math.pi-a2*math.pi/180+(1/2)*math.sin(math.radians(2*a2))))    \n",
+      "print(\"rms value of o/p voltage=%.2f V\" %V_or)\n",
+      "DF=math.cos(math.radians(a2/2)) \n",
+      "\n",
+      "\n",
+      "#Results   \n",
+      "print(\"DF=%.2f\" %DF)\n",
+      "PF=math.sqrt(2/(math.pi*(math.pi-a2*math.pi/180)))*(1+math.cos(math.radians(a2)))    \n",
+      "print(\"PF=%.2f\" %PF)\n",
+      "HF=math.sqrt((math.pi*(math.pi-a2*math.pi/180)/(4+4*math.cos(math.radians(a2))))-1)    \n",
+      "print(\"HF=%.2f\" %HF)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for two single phase series semiconvertors\n",
+        "avg o/p voltage=383.82 V\n",
+        "rms value of o/p voltage=434.47 V\n",
+        "DF=0.98\n",
+        "PF=0.93\n",
+        "HF=0.62\n",
+        "for two single phase series full convertors\n",
+        "avg o/p voltage=353.50 V\n",
+        "rms value of o/p voltage=398.37 V\n",
+        "DF=0.92\n",
+        "PF=0.89\n",
+        "HF=0.29\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter2_4.ipynb b/Power_Electronics/Chapter2_4.ipynb
new file mode 100755
index 00000000..1872c9f4
--- /dev/null
+++ b/Power_Electronics/Chapter2_4.ipynb
@@ -0,0 +1,233 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 02 : Power Semiconductor Diodes and Transistors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.1, Page No 21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "B=40.0\n",
+      "R_c=10                    #ohm\n",
+      "V_cc=130.0                #V\n",
+      "V_B=10.0                  #V\n",
+      "V_CES=1.0                 #V\n",
+      "V_BES=1.5                 #V\n",
+      "\n",
+      "#Calculations\n",
+      "I_CS=(V_cc-V_CES)/R_c     #A\n",
+      "I_BS=I_CS/B                #A\n",
+      "R_B1=(V_B-V_BES)/I_BS\n",
+      "P_T1=V_BES*I_BS+V_CES*I_CS\n",
+      "ODF=5\n",
+      "I_B=ODF*I_BS\n",
+      "R_B2=(V_B-V_BES)/I_B\n",
+      "P_T2=V_BES*I_B+V_CES*I_CS\n",
+      "B_f=I_CS/I_B\n",
+      "\n",
+      "#Results\n",
+      "print(\"value of R_B in saturated state= %.2f ohm\" %R_B1)\n",
+      "print(\"Power loss in transistor=%.2f W\" %P_T1)\n",
+      "print(\"Value of R_B for an overdrive factor 5 = %.2f ohm\" %R_B2)\n",
+      "print(\"Power loss in transistor = %.2f W\" %P_T2)\n",
+      "print(\"Forced current gain=%.0f\" %B_f)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of R_B in saturated state= 26.36 ohm\n",
+        "Power loss in transistor=13.38 W\n",
+        "Value of R_B for an overdrive factor 5 = 5.27 ohm\n",
+        "Power loss in transistor = 15.32 W\n",
+        "Forced current gain=8\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.2, Page No 24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "I_CEO=2*10**-3            #A\n",
+      "V_CC=220.0                #V\n",
+      "P_dt=I_CEO*V_CC           #instant. power loss during delay time\n",
+      "t_d=.4*10**-6            #s\n",
+      "f=5000\n",
+      "P_d=f*I_CEO*V_CC*t_d      #avg power loss during delay time\n",
+      "V_CES=2                     #V\n",
+      "t_r=1*10**-6               #s\n",
+      "I_CS=80                    #A\n",
+      "\n",
+      "#Calculations\n",
+      "P_r=f*I_CS*t_r*(V_CC/2-(V_CC-V_CES)/3)            #avg power loss during rise time\n",
+      "t_m=V_CC*t_r/(2*(V_CC-V_CES))\n",
+      "P_rm=I_CS*V_CC**2/(4*(V_CC-V_CES))           #instant. power loss during rise time\n",
+      "\n",
+      "#Results\n",
+      "P_on=P_d+P_r                \n",
+      "print(\"Avg power loss during turn on = %.2f W\" %P_on)\n",
+      "P_nt=I_CS*V_CES \n",
+      "print(\"Instantaneous power loss during turn on = %.0f W\" %P_nt)\n",
+      "t_n=50*10**-6\n",
+      "P_n=f*I_CS*V_CES*t_n\n",
+      "print(\"Avg power loss during conduction period = %.0f W\" %P_n)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Avg power loss during turn on = 14.93 W\n",
+        "Instantaneous power loss during turn on = 160 W\n",
+        "Avg power loss during conduction period = 40 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3 Page No 26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "I_CEO=2*10**-3         #A\n",
+      "V_CC=220          #V\n",
+      "t_d=.4*10**-6   #s\n",
+      "f=5000\n",
+      "V_CES=2         #V\n",
+      "t_r=1*10**-6    #s\n",
+      "I_CS=80         #A\n",
+      "t_n=50*10**-6   #s\n",
+      "t_0=40*10**-6   #s\n",
+      "t_f=3*10**-6    #s\n",
+      "\n",
+      "#Calculations\n",
+      "P_st=I_CS*V_CES  # instant. power loss during t_s\n",
+      "P_s=f*I_CS*V_CES*t_f   #avg power loss during t_s\n",
+      "P_f=f*t_f*(I_CS/6)*(V_CC-V_CES)        #avg power loss during fall time\n",
+      "P_fm=(I_CS/4)*(V_CC-V_CES)          #peak instant power dissipation\n",
+      "P_off=P_s+P_f\n",
+      "\n",
+      "#Results\n",
+      "print(\"Total avg power loss during turn off = %.2f W\" %P_off)\n",
+      "P_0t=I_CEO*V_CC\n",
+      "print(\"Instantaneous power loss during t_0 = %.2f W\" %P_0t)\n",
+      "P_0=f*I_CEO*V_CC*t_0              #avg power loss during t_s\n",
+      "P_on=14.9339              #W    from previous eg\n",
+      "P_n=40                    #W    from previous eg\n",
+      "P_T=P_on+P_n+P_off+P_0     \n",
+      "print(\"Total power loss = %.2f W\" %P_T)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total avg power loss during turn off = 44.91 W\n",
+        "Instantaneous power loss during t_0 = 0.44 W\n",
+        "Total power loss = 99.93 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.4, Page No 28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "I_CS=100.0 \n",
+      "V_CC=200.0 \n",
+      "t_on=40*10**-6\n",
+      "\n",
+      "#Calculations\n",
+      "P_on=(I_CS/50)*10**6*t_on*(V_CC*t_on/2-(V_CC*10**6*t_on**2/(40*3)))       #energy during turn on\n",
+      "t_off=60*10**-6\n",
+      "P_off=(I_CS*t_off/2-(I_CS/60)*10**6*(t_off**2)/3)*((V_CC/75)*10**6*t_off)  #energy during turn off\n",
+      "P_t=P_on+P_off           #total energy\n",
+      "P_avg=300.0\n",
+      "f=P_avg/P_t\n",
+      "\n",
+      "#Results\n",
+      "print(\"Allowable switching frequency = %.2f Hz\" %f)\n",
+      "#in book ans is: f=1123.6 Hz. The difference in results due to difference in rounding of of digits"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Allowable switching frequency = 1125.00 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter3_4.ipynb b/Power_Electronics/Chapter3_4.ipynb
new file mode 100755
index 00000000..2e53ef9d
--- /dev/null
+++ b/Power_Electronics/Chapter3_4.ipynb
@@ -0,0 +1,1001 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 03 : Diode Circuits and Rectifiers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.2, Page No 55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=400.0  #V\n",
+      "V_o=100.0    #V\n",
+      "L=100.0      #uH\n",
+      "C=30.0       #uF\n",
+      "\n",
+      "#Calculations\n",
+      "t_o=math.pi*math.sqrt(L*C)\n",
+      "print(\"conduction time of diode = %.2f us\" %t_o)\n",
+      "#in book solution is t_o=54.77 us. The ans is incorrect as %pi is not muliplied in ans. Formulae mentioned in correct.\n",
+      "I_p=(V_s-V_o)*math.sqrt(C/L)\n",
+      "\n",
+      "#Results\n",
+      "print(\"Peak current through diode=%.2f A\" %I_p)\n",
+      "v_D=-V_s+V_o \n",
+      "print(\"Voltage across diode = %.2f V\" %v_D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "conduction time of diode = 172.07 us\n",
+        "Peak current through diode=164.32 A\n",
+        "Voltage across diode = -300.00 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.6, Page No 61"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "\n",
+      "R=10             #ohm\n",
+      "L=0.001           #H\n",
+      "C=5*10**-6       #F\n",
+      "V_s=230          #V\n",
+      "xi=R/(2*L)\n",
+      "\n",
+      "#Calculations\n",
+      "w_o=1/math.sqrt(L*C)\n",
+      "w_r=math.sqrt((1/(L*C))-(R/(2*L))**2)\n",
+      "t=math.pi/w_r \n",
+      "\n",
+      "#Results\n",
+      "print('Conduction time of diode=%.3f us'%(t*10**6))\n",
+      "t=0\n",
+      "di=V_s/L\n",
+      "print('Rate of change of current at t=0 is %.2f A/s' %di)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Conduction time of diode=237.482 us\n",
+        "Rate of change of current at t=0 is 230000.00 A/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.7 Page No 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "I_or=100             #A\n",
+      "R=1.0       #assumption\n",
+      "\n",
+      "#Calculations\n",
+      "V_m=I_or*2*R\n",
+      "I_o=V_m/(math.pi*R)\n",
+      "q=200       #Ah\n",
+      "t=q/I_o\n",
+      "\n",
+      "#Results\n",
+      "print(\"time required to deliver charge=%.02f hrs\" %t)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "time required to deliver charge=3.14 hrs\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.8, Page No 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0    #V\n",
+      "P=1000       #W\n",
+      "R=V_s**2/P\n",
+      "\n",
+      "#Calculations\n",
+      "V_or=math.sqrt(2)*V_s/2\n",
+      "P_h=V_or**2/R    \n",
+      "print(\"Power delivered to the heater = %.2f W\" %P_h)\n",
+      "V_m=math.sqrt(2)*230\n",
+      "I_m=V_m/R\n",
+      "\n",
+      "#Results\n",
+      "print(\"Peak value of diode current = %.2f A\" %I_m)\n",
+      "pf=V_or/V_s\n",
+      "print(\"Input power factor=%.2f\" %pf)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Power delivered to the heater = 500.00 W\n",
+        "Peak value of diode current = 6.15 A\n",
+        "Input power factor=0.71\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.9 Page No 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230        #V\n",
+      "V_m=V_s*math.sqrt(2)\n",
+      "E=150          #V\n",
+      "\n",
+      "#Calculations\n",
+      "theta1=math.degrees(E/(math.sqrt(2)*V_s))\n",
+      "R=8        #ohm\n",
+      "f=50    #Hz\n",
+      "I_o=(1/(2*math.pi*R))*((2*math.sqrt(2)*V_s*math.cos(math.radians(theta1)))-E*(math.pi-2*theta1*math.pi/180))\n",
+      "\n",
+      "#Results\n",
+      "print(\"avg value of charging current=%.2f A\" %I_o)\n",
+      "P_d=E*I_o\n",
+      "print(\"\\npower delivered to battery=%.2f W\" %P_d)\n",
+      "I_or=math.sqrt((1/(2*math.pi*R**2))*((V_s**2+E**2)*(math.pi-2*theta1*math.pi/180)+V_s**2*math.sin(math.radians(2*theta1))-4*V_m*E*math.cos(math.radians(theta1))))\n",
+      "print(\"\\nrms value of the load current=%.2f A\" %I_or)\n",
+      "pf=(E*I_o+I_or**2*R)/(V_s*I_or)\n",
+      "print(\"\\nsupply pf=%.3f\" %pf)\n",
+      "P_dd=I_or**2*R\n",
+      "print(\"\\npower dissipated in the resistor=%.2f W\" %P_dd)\n",
+      "q=1000.00         #Wh\n",
+      "t=q/P_d    \n",
+      "print(\"\\ncharging time=%.2f hr\" %t)\n",
+      "n=P_d*100/(P_d+P_dd)\n",
+      "print(\"rectifier efficiency =%.2f  \" %n)\n",
+      "PIV=math.sqrt(2)*V_s+E\n",
+      "print(\"PIV of diode=%.2f V\" %PIV)\n",
+      "#solutions have small variations due to difference in rounding off of digits"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg value of charging current=4.97 A\n",
+        "\n",
+        "power delivered to battery=745.11 W\n",
+        "\n",
+        "rms value of the load current=9.29 A\n",
+        "\n",
+        "supply pf=0.672\n",
+        "\n",
+        "power dissipated in the resistor=690.74 W\n",
+        "\n",
+        "charging time=1.34 hr\n",
+        "rectifier efficiency =51.89  \n",
+        "PIV of diode=475.27 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.10 Page No 78"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "V_s=230            #V\n",
+      "t_rr=40*10**-6    #s reverde recovery time\n",
+      "\n",
+      "#Calculations\n",
+      "V_o=2*math.sqrt(2)*V_s/math.pi\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "f=50\n",
+      "V_r1=(V_m/math.pi)*(1-math.cos(math.radians(2*math.pi*f*t_rr*180/math.pi)))\n",
+      "v_avg1=V_r1*100/V_o*10**3\n",
+      "f=2500\n",
+      "V_r2=(V_m/math.pi)*(1-math.cos(math.radians(2*math.pi*f*t_rr*180/math.pi)))\n",
+      "v_avg2=V_r2*100/V_o\n",
+      "\n",
+      "#Results\n",
+      "print(\"when f=50Hz\")\n",
+      "print(\"Percentage reduction in avg o/p voltage=%.2f x 10^-3\" %v_avg1)\n",
+      "print(\"when f=2500Hz\")\n",
+      "print(\"Percentage reduction in avg o/p voltage = %.3f\" %v_avg2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when f=50Hz\n",
+        "Percentage reduction in avg o/p voltage=3.95 x 10^-3\n",
+        "when f=2500Hz\n",
+        "Percentage reduction in avg o/p voltage = 9.549\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.11, Page No 79 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230         #V\n",
+      "R=10.0        #ohm\n",
+      "\n",
+      "#Calculations\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "V_o=2*V_m/math.pi\n",
+      "print(\"Avg value of o/p voltage = %.2f V\" %V_o)\n",
+      "I_o=V_o/R\n",
+      "print(\"Avg value of o/p current = %.2f A\" %I_o)\n",
+      "I_DA=I_o/2\n",
+      "print(\"Avg value of diode current=%.2f A\" %I_DA)\n",
+      "I_Dr=I_o/math.sqrt(2)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"rms value of diode current=%.2f A\" %I_Dr)\n",
+      "print(\"rms value of o/p current = %.2f A\" %I_o)\n",
+      "print(\"rms value of i/p current = %.2f A\" %I_o)\n",
+      "pf=(V_o/V_s)\n",
+      "print(\"supply pf = %.2f\" %pf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Avg value of o/p voltage = 207.07 V\n",
+        "Avg value of o/p current = 20.71 A\n",
+        "Avg value of diode current=10.35 A\n",
+        "rms value of diode current=14.64 A\n",
+        "rms value of o/p current = 20.71 A\n",
+        "rms value of i/p current = 20.71 A\n",
+        "supply pf = 0.90\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.12 Page No 80"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math \n",
+      "\n",
+      "#initialisation of variables\n",
+      "V_s=230.0    #V\n",
+      "R=1000.0      #ohm\n",
+      "R_D=20.0    #ohm\n",
+      "\n",
+      "#Calculations\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "I_om=V_m/(R+R_D)          \n",
+      "\n",
+      "#Results\n",
+      "print(\"Peak load current = %.2f A\" %I_om)\n",
+      "I_o=I_om/math.pi\n",
+      "print(\"dc load current = %.2f A\" %I_o)\n",
+      "V_D=I_o*R_D-V_m/math.pi\n",
+      "print(\"dc diode voltage = %.2f V\" %V_D)\n",
+      "V_on=V_m/math.pi\n",
+      "print(\"at no load, load voltage = %.2f V\" %V_on)\n",
+      "V_o1=I_o*R    \n",
+      "print(\"at given load, load voltage = %.2f V\" %V_o1)\n",
+      "vr=(V_on-V_o1)*100/V_on    \n",
+      "print(\"Voltage regulation(in percent)=%.2f\" %vr)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak load current = 0.32 A\n",
+        "dc load current = 0.10 A\n",
+        "dc diode voltage = -101.51 V\n",
+        "at no load, load voltage = 103.54 V\n",
+        "at given load, load voltage = 101.51 V\n",
+        "Voltage regulation(in percent)=1.96\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.13 Page No 82"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_L=6.8   #V\n",
+      "V_smax=20*1.2    #V\n",
+      "V_smin=20*.8     #V\n",
+      "I_Lmax=30*1.5   #mA\n",
+      "I_Lmin=30*0.5  #mA\n",
+      "I_z=1          #mA\n",
+      "\n",
+      "#Calculations\n",
+      "R_smax=(V_smax-V_L)/((I_Lmin+I_z)*10**-3)\n",
+      "print(\"max source resistance = %.2f ohm\" %R_smax)\n",
+      "R_smin=(V_smin-V_L)/((I_Lmax+I_z)*10**-3)    \n",
+      "print(\"Min source resistance = %.2f ohm\" %R_smin)  #in book solution, error is committed in putting the values in formulea(printing error) but solution is correct\n",
+      "R_Lmax=V_L*1000/I_Lmin\n",
+      "print(\"Max load resistance = %.2f ohm\" %R_Lmax)\n",
+      "R_Lmin=V_L*1000/I_Lmax    \n",
+      "V_d=0.6      #V\n",
+      "V_r=V_L-V_d\n",
+      "\n",
+      "#Results\n",
+      "print(\"Min load resistance=%.2f ohm\" %R_Lmin)\n",
+      "print(\"Voltage rating of zener diode=%.2f V\" %V_r)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "max source resistance = 1075.00 ohm\n",
+        "Min source resistance = 200.00 ohm\n",
+        "Max load resistance = 453.33 ohm\n",
+        "Min load resistance=151.11 ohm\n",
+        "Voltage rating of zener diode=6.20 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.14 Page No 83"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "I2=200*10**-6      #A\n",
+      "V_z=20       #V\n",
+      "R_G=500.0   #hm\n",
+      "\n",
+      "#Calculations\n",
+      "R2=(V_z/I2)-R_G\n",
+      "print(\"R2=%.2f kilo-ohm\" %(R2/1000))\n",
+      "\n",
+      "V_v=25      #V\n",
+      "I1=I2\n",
+      "R1=(V_v-V_z)/I1\n",
+      "\n",
+      "#Results\n",
+      "print(\"R1=%.0f kilo-ohm\"%(R1/1000))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R2=99.50 kilo-ohm\n",
+        "R1=25 kilo-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.15, Page No 92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "V_s=2*230          #V\n",
+      "\n",
+      "#Calculations\n",
+      "V_o=(math.sqrt(2)*V_s)/math.pi\n",
+      "R=60                #ohm\n",
+      "P_dc=(V_o)**2/R\n",
+      "TUF=0.2865\n",
+      "VA=P_dc/TUF\n",
+      "\n",
+      "#RESULTS\n",
+      "print(\"kVA rating of the transformer = %.2f kVA\" %(VA/1000));\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "kVA rating of the transformer = 2.49 kVA\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.16, Page No 92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "tr=0.5       #turns ratio\n",
+      "I_o=10.0\n",
+      "V=230.0\n",
+      "V_s=V/tr\n",
+      "\n",
+      "#Calculations\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "V_o=2*V_m/math.pi\n",
+      "phi1=0\n",
+      "#displacemnt angle=0 as fundamnetal component of i/p source current in phase with source voltage\n",
+      "DF=math.cos(math.radians(phi1))\n",
+      "I_s1=4*I_o/(math.sqrt(2)*math.pi)\n",
+      "I_s=math.sqrt(I_o**2*math.pi/math.pi)\n",
+      "CDF=I_s1/I_o\n",
+      "pf=CDF*DF\n",
+      "HF=math.sqrt((I_s/I_s1)**2-1)\n",
+      "CF=I_o/I_s\n",
+      "\n",
+      "#Results\n",
+      "print(\"o/p voltage = %.2f V\" %V_o)\n",
+      "print(\"distortion factor = %.2f\" %DF)\n",
+      "print(\"i/p pf=%.2f\" %pf)\n",
+      "print(\"Current displacent factor=%.2f\" %CDF)\n",
+      "print(\"Harmonic factor = %.2f\" %HF)\n",
+      "print(\"Creast factor = %.2f\" %CF)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "o/p voltage = 414.15 V\n",
+        "distortion factor = 1.00\n",
+        "i/p pf=0.90\n",
+        "Current displacent factor=0.90\n",
+        "Harmonic factor = 0.48\n",
+        "Creast factor = 1.00\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.17, Page No 94"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_o=230.0\n",
+      "R=10.0\n",
+      "V_s=V_o*math.pi/(2*math.sqrt(2))\n",
+      "I_o=V_o/R\n",
+      "I_m=math.sqrt(2)*V_s/R\n",
+      "I_DAV=I_m/math.pi\n",
+      "\n",
+      "#Calculations\n",
+      "#avg value of diode current\n",
+      "I_Dr=I_m/2\n",
+      "PIV=math.sqrt(2)*V_s\n",
+      "I_s=I_m/math.sqrt(2)\n",
+      "TF=V_s*I_s\n",
+      "\n",
+      "#Results\n",
+      "print(\"peak diode current=%.2f A\" %I_m)\n",
+      "print(\"I_DAV=%.2f A\" %I_DAV)\n",
+      "print(\"I_Dr=%.2f A\" %I_Dr)   #rms value of diode current\n",
+      "print(\"PIV=%.1f V\" %PIV)\n",
+      "print(\"Transformer rating = %.2f kVA\" %(TF/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "peak diode current=36.13 A\n",
+        "I_DAV=11.50 A\n",
+        "I_Dr=18.06 A\n",
+        "PIV=361.3 V\n",
+        "Transformer rating = 6.53 kVA\n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.18, Page No 103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "tr=5\n",
+      "V=1100.0\n",
+      "R=10.0\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"In case of 3ph-3pulse type\")\n",
+      "V_ph=V/tr\n",
+      "V_mp=math.sqrt(2)*V_ph\n",
+      "V_o=3*math.sqrt(3)*V_mp/(2*math.pi)\n",
+      "print(\"avg o/p voltage=%.1f V\" %V_o)\n",
+      "I_mp=V_mp/R\n",
+      "I_D=(I_mp/math.pi)*math.sin(math.pi/3)    \n",
+      "print(\"\\navg value of diode current=%.3f A\" %I_D)\n",
+      "I_Dr=I_mp*math.sqrt((1/(2*math.pi))*(math.pi/3+.5*math.sin(2*math.pi/3)))    \n",
+      "print(\"\\nrms value of diode current=%.2f A\" %I_Dr)\n",
+      "V_or=V_mp*math.sqrt((3/(2*math.pi))*(math.pi/3+.5*math.sin(2*math.pi/3)))\n",
+      "P=(V_or**2)/R   \n",
+      "print(\"\\npower delivered=%.1f W\" %P)\n",
+      "print(\"in case of 3ph-M6 type\")\n",
+      "V_ph=V_ph/2\n",
+      "V_mp=math.sqrt(2)*V_ph\n",
+      "V_o=3*V_mp/(math.pi)  \n",
+      "I_mp=V_mp/R\n",
+      "I_D=(I_mp/math.pi)*math.sin(math.pi/6)    \n",
+      "I_Dr=I_mp*math.sqrt((1/(2*math.pi))*(math.pi/6+.5*math.sin(2*math.pi/6)))  \n",
+      "V_or=V_mp*math.sqrt((6/(2*math.pi))*(math.pi/6+.5*math.sin(2*math.pi/6)))\n",
+      "P=(V_or**2)/R   \n",
+      "\n",
+      "#Results\n",
+      "print(\"avg o/p voltage=%.2f V\" %V_o)\n",
+      "print(\"\\navg value of diode current=%.2f A\" %I_D)\n",
+      "print(\"\\nrms value of diode current=%.2f A\" %I_Dr)\n",
+      "print(\"\\npower delivered=%.0f W\" %P)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In case of 3ph-3pulse type\n",
+        "avg o/p voltage=257.3 V\n",
+        "\n",
+        "avg value of diode current=8.577 A\n",
+        "\n",
+        "rms value of diode current=15.10 A\n",
+        "\n",
+        "power delivered=6841.3 W\n",
+        "in case of 3ph-M6 type\n",
+        "avg o/p voltage=148.55 V\n",
+        "\n",
+        "avg value of diode current=2.48 A\n",
+        "\n",
+        "rms value of diode current=6.07 A\n",
+        "\n",
+        "power delivered=2211 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.19, Page No 115"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_o=400\n",
+      "R=10\n",
+      "\n",
+      "#Calculations\n",
+      "V_ml=V_o*math.pi/3\n",
+      "V_s=V_ml/(math.sqrt(2)*math.sqrt(3))\n",
+      "I_m=V_ml/R\n",
+      "I_s=.7804*I_m\n",
+      "tr=3*V_s*I_s   \n",
+      "\n",
+      "#Results\n",
+      "print(\"transformer rating=%.1f VA\" %tr)\n",
+      "I_Dr=.5518*I_m   \n",
+      "print(\"\\nrms value of diode current=%.3f A\" %I_Dr)\n",
+      "I_D=I_m/math.pi   \n",
+      "print(\"\\navg value of diode current=%.3f A\" %I_D)\n",
+      "print(\"\\npeak diode current=%.2f A\" %I_m)\n",
+      "PIV=V_ml \n",
+      "print(\"\\nPIV=%.2f V\" %PIV)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "transformer rating=16770.3 VA\n",
+        "\n",
+        "rms value of diode current=23.114 A\n",
+        "\n",
+        "avg value of diode current=13.333 A\n",
+        "\n",
+        "peak diode current=41.89 A\n",
+        "\n",
+        "PIV=418.88 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.20, Page No 116"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_l=230\n",
+      "E=240\n",
+      "R=8\n",
+      "\n",
+      "#Calculations\n",
+      "V_ml=math.sqrt(2)*V_l\n",
+      "V_o=3*V_ml/math.pi\n",
+      "I_o=(V_o-E)/R\n",
+      "P_b=E*I_o    \n",
+      "P_d=E*I_o+I_o**2*R   \n",
+      "phi1=0\n",
+      "math.cos(math.radians(phi1))\n",
+      "I_s1=2*math.sqrt(3)*I_o/(math.sqrt(2)*math.pi)\n",
+      "I_s=math.sqrt(I_o**2*2*math.pi/(3*math.pi))\n",
+      "CDF=I_s1/I_s    \n",
+      "pf=DF*CDF    \n",
+      "HF=math.sqrt(CDF**-2-1)   \n",
+      "tr=math.sqrt(3)*V_l*I_o*math.sqrt(2/3)\n",
+      "\n",
+      "#Results\n",
+      "print(\"Power delivered to battery=%.1f W\" %P_b)\n",
+      "print(\"Power delivered to load=%.2f W\" %P_d)\n",
+      "print(\"Displacement factor=%.2f\" %DF)\n",
+      "print(\"Current distortion factor=%.3f\" %CDF)\n",
+      "print(\"i/p pf=%.3f\"%pf)\n",
+      "print(\"Harmonic factor=%.2f\" %HF)\n",
+      "print(\"Tranformer rating=%.2f VA\" %tr)\n",
+      "#answers have small variations from the book due to difference in rounding off of digits"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Power delivered to battery=2118.3 W\n",
+        "Power delivered to load=2741.48 W\n",
+        "Displacement factor=1.00\n",
+        "Current distortion factor=0.955\n",
+        "i/p pf=0.955\n",
+        "Harmonic factor=0.31\n",
+        "Tranformer rating=0.00 VA\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.21, Page No 122"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "f=50  #Hz\n",
+      "V=230.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_m=math.sqrt(2)*V\n",
+      "R=400.0\n",
+      "RF=0.05\n",
+      "C=(1/(4*f*R))*(1+(1/(math.sqrt(2)*RF)))\n",
+      "\n",
+      "#Results\n",
+      "print(\"capacitor value=%.2f uF\" %(C/10**-6))\n",
+      "V_o=V_m*(1-1/(4*f*R*C))\n",
+      "print(\"o/p voltage with filter=%.2f V\" %V_o)\n",
+      "V_o=2*V_m/math.pi   \n",
+      "print(\"o/p voltage without filter=%.2f V\" %V_o)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "capacitor value=189.28 uF\n",
+        "o/p voltage with filter=303.79 V\n",
+        "o/p voltage without filter=207.07 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.22, Page No 122"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "f=50\n",
+      "CRF=0.05\n",
+      "R=300\n",
+      "\n",
+      "#Calculations\n",
+      "L=math.sqrt((CRF/(.4715*R))**-2-R**2)/(2*2*math.pi*f)    \n",
+      "print(\"L=%.2f H\" %L)\n",
+      "R=30\n",
+      "L=math.sqrt((CRF/(.4715*R))**-2-R**2)/(2*2*math.pi*f)    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"\\nL=%.2f H\" %L)\n",
+      "L=0\n",
+      "CRF=.4715*R/math.sqrt(R**2+(2*2*math.pi*f*L)**2)   \n",
+      "print(\"\\nCRF=%.2f\" %CRF)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L=4.48 H\n",
+        "\n",
+        "L=0.45 H\n",
+        "\n",
+        "CRF=0.47\n"
+       ]
+      }
+     ],
+     "prompt_number": 43
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.23, Page No 127"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "R=50\n",
+      "L_L=10*10**-3\n",
+      "f=50.0\n",
+      "w=2*math.pi*f\n",
+      "\n",
+      "#Calculations\n",
+      "C=10/(2*w*math.sqrt(R**2+(2*w*L_L)**2))\n",
+      "\n",
+      "#Results\n",
+      "print(\"C=%.2f uF\" %(C*10**6))\n",
+      "VRF=0.1\n",
+      "L=(1/(4*w**2*C))*((math.sqrt(2)/(3*VRF))+1)\n",
+      "print(\"\\nL=%.2f mH\" %(L*10**3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C=315.83 uF\n",
+        "\n",
+        "L=45.83 mH\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter4_4.ipynb b/Power_Electronics/Chapter4_4.ipynb
new file mode 100755
index 00000000..22311574
--- /dev/null
+++ b/Power_Electronics/Chapter4_4.ipynb
@@ -0,0 +1,946 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 04 : Thyristors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.3, Page No 149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "P=.5    #P=V_g*I_g\n",
+      "s=130    #s=V_g/I_g\n",
+      "\n",
+      "#Calculations\n",
+      "I_g=math.sqrt(P/s)\n",
+      "V_g=s*I_g\n",
+      "E=15\n",
+      "R_s=(E-V_g)/I_g    \n",
+      "\n",
+      "#Results\n",
+      "print(\"Gate source resistance=%.2f ohm\" %R_s)\n",
+      "#Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Gate source resistance=111.87 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.4, Page No 149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "\n",
+      "R_s=120     #slope of load line is -120V/A. This gives gate source resistance\n",
+      "print(\"gate source resistance=%.0f ohm\" %R_s)\n",
+      "\n",
+      "P=.4     #P=V_g*I_g\n",
+      "E_s=15\n",
+      "\n",
+      "#Calculations\n",
+      " #E_s=I_g*R_s+V_g %    after solving this\n",
+      " #120*I_g**2-15*I_g+0.4=0    so\n",
+      "a=120   \n",
+      "b=-15\n",
+      "c=0.4\n",
+      "D=math.sqrt((b**2)-4*a*c)\n",
+      "I_g=(-b+D)/(2*a)   \n",
+      "V_g=P/I_g\n",
+      "\n",
+      "#Results\n",
+      "print(\"\\ntrigger current=%.2f mA\" %(I_g*10**3))    \n",
+      "print(\"\\nthen trigger voltage=%.3f V\" %V_g)\n",
+      "I_g=(-b-D)/(2*a)   \n",
+      "V_g=P/I_g\n",
+      "print(\"\\ntrigger current=%.2f mA\" %(I_g*10**3))    \n",
+      "print(\"\\nthen trigger voltage=%.2f V\" %V_g)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "gate source resistance=120 ohm\n",
+        "\n",
+        "trigger current=86.44 mA\n",
+        "\n",
+        "then trigger voltage=4.628 V\n",
+        "\n",
+        "trigger current=38.56 mA\n",
+        "\n",
+        "then trigger voltage=10.37 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.5 Page No 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "\n",
+      "#V_g=1+10*I_g\n",
+      "P_gm=5     #P_gm=V_g*I_g\n",
+      "#after solving % eqn becomes 10*I_g**2+I_g-5=0\n",
+      "a=10.0    \n",
+      "b=1.0    \n",
+      "c=-5\n",
+      "\n",
+      "#Calculations\n",
+      "I_g=(-b+math.sqrt(b**2-4*a*c))/(2*a)\n",
+      "E_s=15\n",
+      "#using E_s=R_s*I_g+V_g\n",
+      "R_s=(E_s-1)/I_g-10   \n",
+      "P_gav=.3     #W\n",
+      "T=20*10**-6\n",
+      "f=P_gav/(P_gm*T)\n",
+      "dl=f*T\n",
+      "\n",
+      "#Results\n",
+      "print(\"Reistance=%.3f ohm\" %R_s)\n",
+      "print(\"Triggering freq=%.0f kHz\" %(f/1000))\n",
+      "print(\"Tduty cycle=%.2f\" %dl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Reistance=11.248 ohm\n",
+        "Triggering freq=3 kHz\n",
+        "Tduty cycle=0.06\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.6, Page No 151"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "I=.1\n",
+      "E=200.0\n",
+      "L=0.2\n",
+      "\n",
+      "#Calculations\n",
+      "t=I*L/E   \n",
+      "R=20.0\n",
+      "t1=(-L/R)*math.log(1-(R*I/E))    \n",
+      "L=2.0\n",
+      "t2=(-L/R)*math.log(1-(R*I/E))   \n",
+      "\n",
+      "#Results\n",
+      "print(\"in case load consists of (a)L=.2H\")\n",
+      "print(\"min gate pulse width=%.0f us\" %(t*10**6))\n",
+      "print(\"(b)R=20ohm in series with L=.2H\")\n",
+      "print(\"min gate pulse width=%.3f us\" %(t1*10**6))\n",
+      "print(\"(c)R=20ohm in series with L=2H\")\n",
+      "print(\"min gate pulse width=%.2f us\" %(t2*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "in case load consists of (a)L=.2H\n",
+        "min gate pulse width=100 us\n",
+        "(b)R=20ohm in series with L=.2H\n",
+        "min gate pulse width=100.503 us\n",
+        "(c)R=20ohm in series with L=2H\n",
+        "min gate pulse width=1005.03 us\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.9 Page No 163"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "\n",
+      "def theta(th):\n",
+      "    I_m=1     #supposition\n",
+      "    I_av=(I_m/(2*math.pi))*(1+math.cos(math.radians(th)))\n",
+      "    I_rms=math.sqrt((I_m/(2*math.pi))*((180-th)*math.pi/360+.25*math.sin(math.radians(2*th))))\n",
+      "    FF=I_rms/I_av\n",
+      "    I_rms=35\n",
+      "    I_TAV=I_rms/FF\n",
+      "    return I_TAV\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"when conduction angle=180\")\n",
+      "th=0\n",
+      "I_TAV=theta(th)\n",
+      "print(\"avg on current rating=%.3f A\" %I_TAV)\n",
+      "print(\"when conduction angle=90\")\n",
+      "th=90\n",
+      "I_TAV=theta(th)\n",
+      "\n",
+      "#Results\n",
+      "print(\"avg on current rating=%.3f A\" %I_TAV)\n",
+      "print(\"when conduction angle=30\")\n",
+      "th=150\n",
+      "I_TAV=theta(th)\n",
+      "print(\"avg on current rating=%.3f A\" %I_TAV)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when conduction angle=180\n",
+        "avg on current rating=22.282 A\n",
+        "when conduction angle=90\n",
+        "avg on current rating=15.756 A\n",
+        "when conduction angle=30\n",
+        "avg on current rating=8.790 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.10, Page No 164"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "\n",
+      "def theta(th):\n",
+      "    n=360.0/th\n",
+      "    I=1.0     #supposition\n",
+      "    I_av=I/n\n",
+      "    I_rms=I/math.sqrt(n)\n",
+      "    FF=I_rms/I_av\n",
+      "    I_rms=35\n",
+      "    I_TAV=I_rms/FF\n",
+      "    return I_TAV\n",
+      "\n",
+      "#Calculations\n",
+      "th=180.0\n",
+      "I_TAV1=theta(th)\n",
+      "th=90.0\n",
+      "I_TAV2=theta(th)\n",
+      "th=30.0\n",
+      "I_TAV3=theta(th)\n",
+      "\n",
+      "#Results\n",
+      "print(\"when conduction angle=180\")\n",
+      "print(\"avg on current rating=%.3f A\" %I_TAV)\n",
+      "print(\"when conduction angle=90\")\n",
+      "print(\"avg on current rating=%.1f A\" %I_TAV2)\n",
+      "print(\"when conduction angle=30\")\n",
+      "print(\"avg on current rating=%.4f A\" %I_TAV3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when conduction angle=180\n",
+        "avg on current rating=8.790 A\n",
+        "when conduction angle=90\n",
+        "avg on current rating=17.5 A\n",
+        "when conduction angle=30\n",
+        "avg on current rating=10.1036 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.11 Page No 165"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math \n",
+      "\n",
+      "#initialisation of variables\n",
+      "f=50.0     #Hz\n",
+      "\n",
+      "#Calculations\n",
+      "I_sb=3000.0\n",
+      "t=1/(4*f)\n",
+      "T=1/(2*f)\n",
+      "I=math.sqrt(I_sb**2*t/T)    \n",
+      "r=(I_sb/math.sqrt(2))**2*T   \n",
+      "\n",
+      "#Results\n",
+      "print(\"surge current rating=%.2f A\" %I)\n",
+      "print(\"\\nI**2*t rating=%.0f A^2.s\" %r)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "surge current rating=2121.32 A\n",
+        "\n",
+        "I**2*t rating=45000 A^2.s\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.12 Page No 165"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "\n",
+      "V_s=300.0 #V\n",
+      "R=60.0 #ohm\n",
+      "L=2.0 #H\n",
+      "\n",
+      "#Calculations\n",
+      "t=40*10**-6 #s\n",
+      "i_T=(V_s/R)*(1-math.exp(-R*t/L))\n",
+      "i=.036 #A\n",
+      "R1=V_s/(i-i_T)\n",
+      "\n",
+      "#Results\n",
+      "print(\"maximum value of remedial parameter=%.3f kilo-ohm\" %(R1/1000))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "maximum value of remedial parameter=9.999 kilo-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.16 Page No 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "V_p=230.0*math.sqrt(2)\n",
+      "\n",
+      "#Calculations\n",
+      "R=1+((1)**-1+(10)**-1)**-1\n",
+      "A=V_p/R\n",
+      "s=1     #s\n",
+      "t_c=20*A**-2*s\n",
+      "\n",
+      "#Results\n",
+      "print(\"fault clearance time=%.4f ms\" %(t_c*10**3))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "fault clearance time=0.6890 ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.17, Page No 176"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "\n",
+      "V_s=math.sqrt(2)*230     #V\n",
+      "L=15*10**-6     #H\n",
+      "I=V_s/L     #I=(di/dt)_max\n",
+      "R_s=10   #ohm\n",
+      "v=I*R_s     #v=(dv/dt)_max\n",
+      "\n",
+      "#Calculations\n",
+      "f=50     #Hz\n",
+      "X_L=L*2*math.pi*f\n",
+      "R=2\n",
+      "I_max=V_s/(R+X_L)    \n",
+      "FF=math.pi/math.sqrt(2)\n",
+      "I_TAV1=I_max/FF    \n",
+      "FF=3.98184\n",
+      "I_TAV2=I_max/FF    \n",
+      "\n",
+      "\n",
+      "#RESULTS\n",
+      "print(\"(di/dt)_max=%.3f A/usec\" %(I/10**6))\n",
+      "print(\"\\n(dv/dt)_max=%.2f V/usec\" %(v/10**6))\n",
+      "print(\"\\nI_rms=%.3f A\" %I_max)\n",
+      "print(\"when conduction angle=90\")\n",
+      "print(\"I_TAV=%.3f A\" %I_TAV1)\n",
+      "print(\"when conduction angle=30\")\n",
+      "print(\"I_TAV=%.3f A\" %I_TAV2)\n",
+      "print(\"\\nvoltage rating=%.3f V\" %(2.75*V_s)) #rating is taken 2.75 times of peak working voltage unlike 2.5 to 3 times as mentioned int book."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(di/dt)_max=21.685 A/usec\n",
+        "\n",
+        "(dv/dt)_max=216.85 V/usec\n",
+        "\n",
+        "I_rms=162.252 A\n",
+        "when conduction angle=90\n",
+        "I_TAV=73.039 A\n",
+        "when conduction angle=30\n",
+        "I_TAV=40.748 A\n",
+        "\n",
+        "voltage rating=894.490 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.19, Page No 186"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "\n",
+      "T_jm=125\n",
+      "th_jc=.15     #degC/W\n",
+      "th_cs=0.075     #degC/W\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "dT=54     #dT=T_s-T_a\n",
+      "P_av=120\n",
+      "th_sa=dT/P_av\n",
+      "T_a=40     #ambient temp\n",
+      "P_av=(T_jm-T_a)/(th_sa+th_jc+th_cs)\n",
+      "if (P_av-120)<1 :\n",
+      "    print(\"selection of heat sink is satisfactory\")\n",
+      "\n",
+      "dT=58     #dT=T_s-T_a\n",
+      "P_av=120\n",
+      "th_sa=dT/P_av\n",
+      "T_a=40     #ambient temp\n",
+      "P_av=(T_jm-T_a)/(th_sa+th_jc+th_cs)\n",
+      "if (P_av-120)<1 :\n",
+      "    print(\"selection of heat sink is satisfactory\")\n",
+      "\n",
+      "V_m=math.sqrt(2)*230\n",
+      "R=2\n",
+      "I_TAV=V_m/(R*math.pi)\n",
+      "P_av=90\n",
+      "th_sa=(T_jm-T_a)/P_av-(th_jc+th_cs)\n",
+      "dT=P_av*th_sa\n",
+      "print(\"for heat sink\")    \n",
+      "print(\"T_s-T_a=%.2f degC\" %dT)   \n",
+      "print(\"\\nP_av=%.0f W\" %P_av)\n",
+      "P=(V_m/2)**2/R\n",
+      "eff=P/(P+P_av)   \n",
+      "print(\"\\nckt efficiency=%.3f pu\" %eff)\n",
+      "a=60     #delay angle\n",
+      "I_TAV=(V_m/(2*math.pi*R))*(1+math.cos(math.radians(a)))\n",
+      "print(\"\\nI_TAV=%.2f A\" %I_TAV)\n",
+      "dT=46\n",
+      "T_s=dT+T_a\n",
+      "T_c=T_s+P_av*th_cs    \n",
+      "T_j=T_c+P_av*th_jc    \n",
+      "\n",
+      "#Results\n",
+      "print(\"\\ncase temp=%.2f degC\" %T_c)\n",
+      "print(\"\\njunction temp=%.2f degC\" %T_j)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for heat sink\n",
+        "T_s-T_a=-20.25 degC\n",
+        "\n",
+        "P_av=90 W\n",
+        "\n",
+        "ckt efficiency=0.993 pu\n",
+        "\n",
+        "I_TAV=38.83 A\n",
+        "\n",
+        "case temp=92.75 degC\n",
+        "\n",
+        "junction temp=106.25 degC\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.20, Page No 187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "T_j=125.0     #degC\n",
+      "T_s=70.0     #degC\n",
+      "th_jc=.16     #degC/W\n",
+      "th_cs=.08     #degC/W\n",
+      "\n",
+      "#Calculations\n",
+      "P_av1=(T_j-T_s)/(th_jc+th_cs)    \n",
+      "\n",
+      "T_s=60     #degC\n",
+      "P_av2=(T_j-T_s)/(th_jc+th_cs)    \n",
+      "inc=(math.sqrt(P_av2)-math.sqrt(P_av1))*100/math.sqrt(P_av1)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"Total avg power loss in thristor sink combination=%.2f W\" %P_av1)\n",
+      "print(\"Percentage inc in rating=%.2f\" %inc)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total avg power loss in thristor sink combination=229.17 W\n",
+        "Percentage inc in rating=8.71\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.21, Page No 197"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "\n",
+      "R=25000.0\n",
+      "I_l1=.021     #I_l=leakage current\n",
+      "I_l2=.025\n",
+      "I_l3=.018\n",
+      "I_l4=.016\n",
+      " #V1=(I-I_l1)*R\n",
+      " #V2=(I-I_l2)*R\n",
+      " #V3=(I-I_l3)*R\n",
+      " #V4=(I-I_l4)*R\n",
+      " #V=V1+V2+V3+V4\n",
+      "    \n",
+      "#Calculations\n",
+      "V=10000.0\n",
+      "I_l=I_l1+I_l2+I_l3+I_l4\n",
+      " #after solving\n",
+      "I=((V/R)+I_l)/4\n",
+      "R_c=40.0\n",
+      "V1=(I-I_l1)*R    \n",
+      "\n",
+      "#Resluts\n",
+      "print(\"voltage across SCR1=%.0f V\" %V1)\n",
+      "V2=(I-I_l2)*R    \n",
+      "print(\"\\nvoltage across SCR2=%.0f V\" %V2)\n",
+      "V3=(I-I_l3)*R    \n",
+      "print(\"\\nvoltage across SCR3=%.0f V\" %V3)\n",
+      "V4=(I-I_l4)*R    \n",
+      "print(\"\\nvoltage across SCR4=%.0f V\" %V4)\n",
+      "\n",
+      "I1=V1/R_c    \n",
+      "print(\"\\ndischarge current through SCR1=%.3f A\" %I1)\n",
+      "I2=V2/R_c   \n",
+      "print(\"\\ndischarge current through SCR2=%.3f A\" %I2)\n",
+      "I3=V3/R_c    \n",
+      "print(\"\\ndischarge current through SCR3=%.3f A\" %I3)\n",
+      "I4=V4/R_c    \n",
+      "print(\"\\ndischarge current through SCR4=%.3f A\" %I4)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "voltage across SCR1=2475 V\n",
+        "\n",
+        "voltage across SCR2=2375 V\n",
+        "\n",
+        "voltage across SCR3=2550 V\n",
+        "\n",
+        "voltage across SCR4=2600 V\n",
+        "\n",
+        "discharge current through SCR1=61.875 A\n",
+        "\n",
+        "discharge current through SCR2=59.375 A\n",
+        "\n",
+        "discharge current through SCR3=63.750 A\n",
+        "\n",
+        "discharge current through SCR4=65.000 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.22, Page No 198"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_r=1000     #rating of SCR\n",
+      "I_r=200     #rating of SCR\n",
+      "V_s=6000     #rating of String\n",
+      "I_s=1000     #rating of String\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"when DRF=.1\")\n",
+      "DRF=.1\n",
+      "n_s=V_s/(V_r*(1-DRF))    \n",
+      "print(\"number of series units=%.0f\" %math.ceil(n_s))\n",
+      "n_p=I_s/(I_r*(1-DRF))    \n",
+      "print(\"\\nnumber of parrallel units=%.0f\" %math.ceil(n_p))\n",
+      "print(\"when DRF=.2\")\n",
+      "DRF=.2\n",
+      "\n",
+      "#Results\n",
+      "n_s=V_s/(V_r*(1-DRF))   \n",
+      "print(\"number of series units=%.0f\" %math.ceil(n_s))\n",
+      "n_p=I_s/(I_r*(1-DRF))    \n",
+      "print(\"\\nnumber of parrallel units=%.0f\" %math.ceil(n_p))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when DRF=.1\n",
+        "number of series units=7\n",
+        "\n",
+        "number of parrallel units=6\n",
+        "when DRF=.2\n",
+        "number of series units=8\n",
+        "\n",
+        "number of parrallel units=7\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.23, Page No 198"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V1=1.6     #on state voltage drop of SCR1\n",
+      "V2=1.2     #on state voltage drop of SCR2\n",
+      "I1=250.0     #current rating of SCR1\n",
+      "I2=350.0     #current rating of SCR2\n",
+      "\n",
+      "#Calculations\n",
+      "R1=V1/I1\n",
+      "R2=V2/I2\n",
+      "I=600.0     #current to be shared\n",
+      " #for SCR1 %     I*(R1+R)/(total resistance)=k*I1                    (1)\n",
+      " #for SCR2 %     I*(R2+R)/(total resistance)=k*I2                    (2)\n",
+      " #(1)/(2)\n",
+      "R=(R2*I2-R1*I1)/(I1-I2)\n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"RSequired value of resistance=%.3f ohm\" %R)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RSequired value of resistance=0.004 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.25, Page No 223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "f=2000.0     #Hz\n",
+      "C=0.04*10**-6\n",
+      "n=.72\n",
+      "\n",
+      "#Calculations\n",
+      "R=1/(f*C*math.log(1/(1-n)))    \n",
+      "V_p=18\n",
+      "V_BB=V_p/n\n",
+      "R2=10**4/(n*V_BB)    \n",
+      "I=4.2*10**-3     #leakage current\n",
+      "R_BB=5000\n",
+      "R1=(V_BB/I)-R2-R_BB\n",
+      "\n",
+      "#Results\n",
+      "print(\"R=%.2f kilo-ohm\" %(R/1000))\n",
+      "print(\"\\nR2=%.2f ohm\" %R2)\n",
+      "print(\"\\nR1=%.0f ohm\" %R1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R=9.82 kilo-ohm\n",
+        "\n",
+        "R2=555.56 ohm\n",
+        "\n",
+        "R1=397 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.26, Page No 223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "\n",
+      "V_p=18.0\n",
+      "n=.72\n",
+      "V_BB=V_p/n\n",
+      "I_p=.6*10**-3\n",
+      "I_v=2.5*10**-3\n",
+      "V_v=1\n",
+      "\n",
+      "#Calculations\n",
+      "R_max=V_BB*(1-n)/I_p    \n",
+      "print(\"R_max=%.2f kilo-ohm\" %(R_max/1000))\n",
+      "R_min=(V_BB-V_v)/I_v    \n",
+      "print(\"\\nR_min=%.2f kilo-ohm\" %(R_min/1000))\n",
+      "\n",
+      "C=.04*10**-6\n",
+      "f_min=1/(R_max*C*math.log(1/(1-n)))    \n",
+      "print(\"\\nf_min=%.3f kHz\" %(f_min/1000))\n",
+      "f_max=1/(R_min*C*math.log(1/(1-n)))    \n",
+      "print(\"\\nf_max=%.2f kHz\" %(f_max/1000))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R_max=11.67 kilo-ohm\n",
+        "\n",
+        "R_min=9.60 kilo-ohm\n",
+        "\n",
+        "f_min=1.683 kHz\n",
+        "\n",
+        "f_max=2.05 kHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter5_4.ipynb b/Power_Electronics/Chapter5_4.ipynb
new file mode 100755
index 00000000..1d261f20
--- /dev/null
+++ b/Power_Electronics/Chapter5_4.ipynb
@@ -0,0 +1,511 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 05 : Thyristor Commutation Techniques"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.1, Page No 252"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "L=5.0*10**-3            #mH\n",
+      "C=20.0*10**-6           #\u00b5F\n",
+      "V_s=200                 #V\n",
+      "\n",
+      "#Calculations\n",
+      "w_o=math.sqrt(1/(L*C))    #rad/s\n",
+      "t_o=math.pi/w_o           #ms\n",
+      "\n",
+      "#Results\n",
+      "print('conduction time of thyristor = %.2f ms' %(t_o*1000))\n",
+      "print('voltage across thyristor=%.0f V' %V_s)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "conduction time of thyristor = 0.99 ms\n",
+        "voltage across thyristor=200 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.2, Page No 255"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "C=20.0*10**-6         #\u00b5F\n",
+      "L=5.0*10**-6          #\u00b5H\n",
+      "V_s=230.0             #V\n",
+      "\n",
+      "#Calculations\n",
+      "I_p=V_s*math.sqrt(C/L)      #A\n",
+      "w_o=math.sqrt(1/(L*C))      #rad/sec\n",
+      "t_o=math.pi/w_o             #\u00b5S\n",
+      "I_o=300               \n",
+      "a = math.degrees(math.asin(I_o/(2*V_s)))   \n",
+      "V_ab = V_s*math.cos(math.radians(a))      #V \n",
+      "t_c=C*V_ab/I_o     #\u00b5s\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"conduction time of auxillery thyristor=%.2f us\" %(t_o*10**6))\n",
+      "print(\"voltage across main thyristor=%.2f V\" %V_ab)\n",
+      "print(\"ckt turn off time=%.2f us\" %(t_c*10**6))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "conduction time of auxillery thyristor=31.42 us\n",
+        "voltage across main thyristor=174.36 V\n",
+        "ckt turn off time=11.62 us\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.3 Page No 258"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "V_s=200.0           #V\n",
+      "R1=10.0             #\u2126\n",
+      "R2=100.0            #\u2126\n",
+      "C=0                 #  value of capacitor\n",
+      "\n",
+      "#Calculations\n",
+      "I1=V_s*(1/R1+2/R2)    #A\n",
+      "I2=V_s*(2/R1+1/R2)    #A\n",
+      "t_c1=40*10**-6\n",
+      "fos=2    #factor of safety\n",
+      "C1=t_c1*fos/(R1*math.log(2))\n",
+      "C2=t_c1*fos/(R2*math.log(2))\n",
+      "if C1 > C2 :\n",
+      "    C = C1*10**6\n",
+      "else :\n",
+      "    C = C2*10**6\n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"peak value of current through SCR1=%.2f A\" %I1); \n",
+      "print(\"Peak value of current through SCR2=%.2f A\" %I2);\n",
+      "print(\"Value of capacitor=%.2f uF\" %C);"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "peak value of current through SCR1=24.00 A\n",
+        "Peak value of current through SCR2=42.00 A\n",
+        "Value of capacitor=11.54 uF\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.4, Page No 260"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0             #V\n",
+      "L=20*10**-6           #\u00b5H\n",
+      "C=40*10**-6           #\u00b5F\n",
+      "I_o=120.0             #A\n",
+      "\n",
+      "#Calculations\n",
+      "I_p=V_s*math.sqrt(C/L)   #A\n",
+      "t_c=C*V_s/I_o            #\u00b5s\n",
+      "w_o=math.sqrt(1/(L*C))  \n",
+      "t_c1=math.pi/(2*w_o)     #\u00b5s\n",
+      "\n",
+      "#Results\n",
+      "print(\"current through main thyristor=%.2f A\"  %(I_o+I_p))\n",
+      "print(\"Current through auxillery thyristor=%.2f A\" %I_o)\n",
+      "print(\"Circuit turn off time for main thyristor=%.2f us\" %(t_c*10**6))\n",
+      "print(\"Circuit turn off time for auxillery thyristor=%.2f us\" %(t_c1*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "current through main thyristor=445.27 A\n",
+        "Current through auxillery thyristor=120.00 A\n",
+        "Circuit turn off time for main thyristor=76.67 us\n",
+        "Circuit turn off time for auxillery thyristor=44.43 us\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.5 Page No 263"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "C_j=25*10**-12      #pF\n",
+      "I_c=5*10**-3        #charging current\n",
+      "V_s=200.0           #V\n",
+      "R=50.0              #\u2126\n",
+      "\n",
+      "#Calculations\n",
+      "C=(C_j*V_s)/(I_c*R)\n",
+      "\n",
+      "\n",
+      "#RESULTS\n",
+      "print(\"Value of C=%.2f  \u00b5F\" %(C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of C=0.02  \u00b5F\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.6 Page No 263"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "V_s=200.0         #V\n",
+      "R=5.0             #\u2126\n",
+      "\n",
+      "#Calculations\n",
+      "C=10.0*10**-6\n",
+      "#for turn off V_s*(1-2*exp(-t/(R*C)))=0,    so after solving\n",
+      "t_c=R*C*math.log(2.0)\n",
+      "\n",
+      "#Results\n",
+      "print(\"circuit turn off time=%.2f us\" %(t_c*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "circuit turn off time=34.66 us\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.7, Page No 264 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "R=1.0                   #\u2126\n",
+      "L=20*10**-6             #\u00b5H\n",
+      "C=40*10**-6             #\u00b5F\n",
+      "\n",
+      "#Calculations\n",
+      "w_r=math.sqrt((1/(L*C))-(R/(2*L))**2)\n",
+      "t_1=math.pi/w_r\n",
+      "\n",
+      "#Results\n",
+      "print(\"conduction time of thyristor=%.3f us\" %(t_1*10**6))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "conduction time of thyristor=125.664 us\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.8 Page No 265"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math \n",
+      "\n",
+      "#initialisation of variables\n",
+      "dv=400*10.0**-6       #dv=dv_T/dt(V/s)\n",
+      "V_s=200.0             #v\n",
+      "R=20.0                #\u2126\n",
+      "\n",
+      "#Calculations\n",
+      "C=V_s/(R*dv)         \n",
+      "C_j=.025*10**-12\n",
+      "C_s=C-C_j\n",
+      "I_T=40;\n",
+      "R_s=1/((I_T/V_s)-(1/R)) \n",
+      "#value of R_s in book is wrongly calculated\n",
+      "\n",
+      "#Results\n",
+      "print(\"R_s=%.2f ohm\" %R_s)\n",
+      "print(\"C_s=%.3f uF\" %(C_s/10**6))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R_s=6.67 ohm\n",
+        "C_s=0.025 uF\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.9 Page No 265"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=200.0          #V\n",
+      "C=20.0*10**-6      #\u00b5H   \n",
+      "L=0.2*10**-3       #\u00b5F\n",
+      "i_c=10.0\n",
+      "\n",
+      "#Calculations\n",
+      "i=V_s*math.sqrt(C/L)\n",
+      "w_o=1.0/math.sqrt(L*C)\n",
+      "t_1 = (1/w_o)*math.degrees(math.asin(i_c/i))\n",
+      "t_o=math.pi/w_o\n",
+      "t_c=t_o-2*t_1    \n",
+      "\n",
+      "#Results\n",
+      "print(\"reqd time=%.2f us\" %(t_1*10**6))\n",
+      "print(\"ckt turn off time=%.2f us\" %(t_c*10**6))\n",
+      "print(\"ckt turn off time=%.5f us\" %t_1)\n",
+      "#solution in book wrong, as wrong values are selected while filling the formuleas"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "reqd time=575.37 us\n",
+        "ckt turn off time=-952.05 us\n",
+        "ckt turn off time=0.00058 us\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.11 Page No 268 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "L=1.0              #\u00b5H\n",
+      "R=50.0             #\u2126\n",
+      "V_s=200.0          #V\n",
+      "t=0.01             #sec\n",
+      "Vd=0.7\n",
+      "\n",
+      "#Calculations\n",
+      "tau=L/R\n",
+      "i=(V_s/R)*(1-math.exp(-t/tau))\n",
+      "t=8*10**-3\n",
+      "i1=i-t*Vd  \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"current through L = %.2f A\" %i1)\n",
+      "i_R=0                  #current in R at t=.008s\n",
+      "print(\"Current through R = %.2f A\" %i_R)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "current through L = 1.57 A\n",
+        "Current through R = 0.00 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.12, Page No 269"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#initialisation of variables\n",
+      "\n",
+      "#initialisation of variables\n",
+      "L=1.0                      #H\n",
+      "R=50.0                   #ohm\n",
+      "V_s=200.0                #V\n",
+      "\n",
+      "#Calculations\n",
+      "tau=L/R\n",
+      "t=0.01                 #s\n",
+      "i=(V_s/R)*(1-math.exp(-t/tau))\n",
+      "C=1*10**-6            #F\n",
+      "V_c=math.sqrt(L/C)*i\n",
+      "\n",
+      "#Results\n",
+      "print(\"current in R,L=%.2f A\" %i)\n",
+      "print(\"voltage across C=%.2f kV\" %(V_c/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "current in R,L=1.57 A\n",
+        "voltage across C=1.57 kV\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter6_4.ipynb b/Power_Electronics/Chapter6_4.ipynb
new file mode 100755
index 00000000..dff6564b
--- /dev/null
+++ b/Power_Electronics/Chapter6_4.ipynb
@@ -0,0 +1,1761 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 06 : Phase Controlled Rectifiers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.1, Page No 283"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=230.0\n",
+      "P=1000.0\n",
+      "R=V**2/P\n",
+      "\n",
+      "#Calculations\n",
+      "a=math.pi/4\n",
+      "V_or1=(math.sqrt(2)*V/(2*math.sqrt(math.pi)))*math.sqrt((math.pi-a)+.5*math.sin(2*a))\n",
+      "P1=V_or1**2/R    \n",
+      "a=math.pi/2\n",
+      "V_or2=(math.sqrt(2)*V/(2*math.sqrt(math.pi)))*math.sqrt((math.pi-a)+.5*math.sin(2*a))\n",
+      "P2=V_or2**2/R   \n",
+      "\n",
+      "#Results\n",
+      "print(\"when firing angle delay is of 45deg\")\n",
+      "print(\"power absorbed=%.2f W\" %P1)\n",
+      "print(\"when firing angle delay is of 90deg\")\n",
+      "print(\"power absorbed=%.2f W\" %P2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when firing angle delay is of 45deg\n",
+        "power absorbed=454.58 W\n",
+        "when firing angle delay is of 90deg\n",
+        "power absorbed=250.00 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.2, Page No 283"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=230.0\n",
+      "E=150.0\n",
+      "R=8.0\n",
+      "\n",
+      "#Calculations\n",
+      "th1=math.sin(math.radians(E/(math.sqrt(2)*V)))\n",
+      "I_o=(1/(2*math.pi*R))*(2*math.sqrt(2)*230*math.cos(math.radians(th1))-E*(math.pi-2*th1*math.pi/180))    \n",
+      "P=E*I_o    \n",
+      "I_or=math.sqrt((1/(2*math.pi*R**2))*((V**2+E**2)*(math.pi-2*th1*math.pi/180)+V**2*math.sin(math.radians(2*th1))-4*math.sqrt(2)*V*E*math.cos(math.radians(th1))))\n",
+      "P_r=I_or**2*R    \n",
+      "pf=(P+P_r)/(V*I_or)\n",
+      "\n",
+      "#Results\n",
+      "print(\"avg charging curent=%.4f A\" %I_o)\n",
+      "print(\"power supplied to the battery=%.2f W\" %P)\n",
+      "print(\"power dissipated by the resistor=%.3f W\" %P_r)    \n",
+      "print(\"supply pf=%.3f\" %pf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg charging curent=3.5679 A\n",
+        "power supplied to the battery=535.18 W\n",
+        "power dissipated by the resistor=829.760 W\n",
+        "supply pf=0.583\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.3 Page No 284"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=230.0\n",
+      "E=150.0\n",
+      "R=8.0\n",
+      "a=35.0\n",
+      "\n",
+      "#Calculations\n",
+      "th1=math.degrees(math.asin(E/(math.sqrt(2)*V)))\n",
+      "th2=180-th1\n",
+      "I_o=(1/(2*math.pi*R))*(math.sqrt(2)*230*(math.cos(math.radians(a))-math.cos(math.radians(th2)))-E*((th2-a)*math.pi/180))    \n",
+      "P=E*I_o    \n",
+      "I_or=math.sqrt((1/(2*math.pi*R**2))*((V**2+E**2)*((th2-a)*math.pi/180)-(V**2/2)*(math.sin(math.radians(2*th2))-math.sin(math.radians(2*a)))-2*math.sqrt(2)*V*E*(math.cos(math.radians(a))-math.cos(math.radians(th2)))))\n",
+      "P_r=I_or**2*R    \n",
+      "pf=(P+P_r)/(V*I_or)    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"avg charging curent=%.4f A\" %I_o)\n",
+      "print(\"power supplied to the battery=%.2f W\" %P)\n",
+      "print(\"power dissipated by the resistor=%.2f W\" %P_r)\n",
+      "print(\"supply pf=%.4f\" %pf)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg charging curent=4.9208 A\n",
+        "power supplied to the battery=738.12 W\n",
+        "power dissipated by the resistor=689.54 W\n",
+        "supply pf=0.6686\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.4, Page No 285"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "B=210\n",
+      "f=50.0     #Hz\n",
+      "w=2*math.pi*f\n",
+      "a=40.0     #firing angle\n",
+      "V=230.0\n",
+      "R=5.0\n",
+      "L=2*10**-3\n",
+      "\n",
+      "#Calculations\n",
+      "t_c1=(360-B)*math.pi/(180*w)   \n",
+      "V_o1=(math.sqrt(2)*230/(2*math.pi))*(math.cos(math.radians(a))-math.cos(math.radians(B)))    \n",
+      "I_o1=V_o1/R    \n",
+      "E=110\n",
+      "R=5\n",
+      "L=2*10**-3\n",
+      "th1=math.degrees(math.asin(E/(math.sqrt(2)*V)))\n",
+      "t_c2=(360-B+th1)*math.pi/(180*w)    \n",
+      "V_o2=(math.sqrt(2)*230/(2*math.pi))*(math.cos(math.radians(a))-math.cos(math.radians(B)))    \n",
+      "I_o2=(1/(2*math.pi*R))*(math.sqrt(2)*230*(math.cos(math.radians(a))-math.cos(math.radians(B)))-E*((B-a)*math.pi/180))   \n",
+      "V_o2=R*I_o2+E    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"for R=5ohm and L=2mH\")\n",
+      "print(\"ckt turn off time=%.3f msec\" %(t_c1*1000))\n",
+      "print(\"avg output voltage=%.3f V\" %V_o1)\n",
+      "print(\"avg output current=%.4f A\" %I_o1)\n",
+      "print(\"for R=5ohm % L=2mH and E=110V\")\n",
+      "print(\"ckt turn off time=%.3f msec\" %(t_c2*1000))\n",
+      "print(\"avg output current=%.4f A\" %I_o2)\n",
+      "print(\"avg output voltage=%.3f V\" %V_o2)   "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for R=5ohm and L=2mH\n",
+        "ckt turn off time=8.333 msec\n",
+        "avg output voltage=84.489 V\n",
+        "avg output current=16.8979 A\n",
+        "for R=5ohm % L=2mH and E=110V\n",
+        "ckt turn off time=9.431 msec\n",
+        "avg output current=6.5090 A\n",
+        "avg output voltage=142.545 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.5 Page No 286"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "f=50.0\n",
+      "R=10.0\n",
+      "a=60.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_m=(math.sqrt(2)*V_s)\n",
+      "V_o=V_m/(2*math.pi)*(1+math.cos(math.radians(a)))\n",
+      "I_o=V_o/R\n",
+      "V_or=(V_m/(2*math.sqrt(math.pi)))*math.sqrt((math.pi-a*math.pi/180)+.5*math.sin(math.radians(2*a)))\n",
+      "I_or=V_or/R\n",
+      "P_dc=V_o*I_o\n",
+      "P_ac=V_or*I_or\n",
+      "RE=P_dc/P_ac    \n",
+      "FF=V_or/V_o    \n",
+      "VRF=math.sqrt(FF**2-1)    \n",
+      "TUF=P_dc/(V_s*I_or)    \n",
+      "PIV=V_m    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"rectification efficiency=%.4f\" %RE)\n",
+      "print(\"form factor=%.3f\" %FF)\n",
+      "print(\"voltage ripple factor=%.4f\" %VRF)\n",
+      "print(\"t/f utilisation factor=%.4f\" %TUF)\n",
+      "print(\"PIV of thyristor=%.2f V\" %PIV)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rectification efficiency=0.2834\n",
+        "form factor=1.879\n",
+        "voltage ripple factor=1.5903\n",
+        "t/f utilisation factor=0.1797\n",
+        "PIV of thyristor=325.27 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.6 Page No 294"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=1000.0\n",
+      "fos=2.5     #factor of safety\n",
+      "I_TAV=40.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_m1=V/(2*fos)\n",
+      "P1=(2*V_m1/math.pi)*I_TAV    \n",
+      "V_m2=V/(fos)\n",
+      "P2=(2*V_m2/math.pi)*I_TAV    \n",
+      "\n",
+      "#Results\n",
+      "print(\"for mid pt convertor\")\n",
+      "print(\"power handled=%.3f kW\" %(P1/1000))\n",
+      "print(\"for bridge convertor\")\n",
+      "print(\"power handled=%.3f kW\" %(P2/1000))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for mid pt convertor\n",
+        "power handled=5.093 kW\n",
+        "for bridge convertor\n",
+        "power handled=10.186 kW\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.7, Page No 297"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "R=.4\n",
+      "I_o=10\n",
+      "I_or=I_o\n",
+      "E=120.0\n",
+      "\n",
+      "#Calculations\n",
+      "a1=math.degrees(math.acos((E+I_o*R)*math.pi/(2*V_m)))\n",
+      "pf1=(E*I_o+I_or**2*R)/(V_s*I_or)    \n",
+      "E=-120.0\n",
+      "a2=math.degrees(math.acos((E+I_o*R)*math.pi/(2*V_m))) \n",
+      "pf2=(-E*I_o-I_or**2*R)/(V_s*I_or)   \n",
+      "\n",
+      "#Results\n",
+      "print(\"firing angle delay=%.2f deg\" %a1)\n",
+      "print(\"pf=%.4f\" %pf1)\n",
+      "print(\"firing angle delay=%.2f deg\" %a2)\n",
+      "print(\"pf=%.4f\" %pf2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle delay=53.21 deg\n",
+        "pf=0.5391\n",
+        "firing angle delay=124.07 deg\n",
+        "pf=0.5043\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.9 Page No 299"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "f=50.0\n",
+      "a=45.0\n",
+      "R=5.0\n",
+      "E=100.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_o=((math.sqrt(2)*V_s)/(2*math.pi))*(3+math.cos(math.radians(a)))\n",
+      "I_o=(V_o-E)/R    \n",
+      "P=E*I_o    \n",
+      "\n",
+      "#Results\n",
+      "print(\"avg o/p current=%.3f A\" %I_o)\n",
+      "print(\"power delivered to battery=%.4f kW\" %(P/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg o/p current=18.382 A\n",
+        "power delivered to battery=1.8382 kW\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.10 Page No 300"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variablesV_s=230\n",
+      "f=50.0\n",
+      "a=50.0\n",
+      "R=6.0\n",
+      "E=60.0\n",
+      "V_o1=((math.sqrt(2)*2*V_s)/(math.pi))*math.cos(math.radians(a))\n",
+      "I_o1=(V_o1-E)/R    \n",
+      "\n",
+      "#ATQ after applying the conditions\n",
+      "V_o2=((math.sqrt(2)*V_s)/(math.pi))*math.cos(math.radians(a))\n",
+      "I_o2=(V_o2-E)/R    \n",
+      "\n",
+      "print(\"avg o/p current=%.3f A\" %I_o1)\n",
+      "print(\"avg o/p current after change=%.2f A\" %I_o2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg o/p current=12.184 A\n",
+        "avg o/p current after change=1.09 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.11 Page No 309"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "a=45.0\n",
+      "R=10.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_o=(2*V_m/math.pi)*math.cos(math.radians(a))\n",
+      "I_o=V_o/R\n",
+      "V_or=V_m/math.sqrt(2)\n",
+      "I_or=I_o\n",
+      "P_dc=V_o*I_o\n",
+      "P_ac=V_or*I_or\n",
+      "RE=P_dc/P_ac    \n",
+      "FF=V_or/V_o    \n",
+      "VRF=math.sqrt(FF**2-1)    \n",
+      "I_s1=2*math.sqrt(2)*I_o/math.pi\n",
+      "DF=math.cos(math.radians(a))\n",
+      "CDF=.90032\n",
+      "pf=CDF*DF    \n",
+      "HF=math.sqrt((1/CDF**2)-1)    \n",
+      "Q=2*V_m*I_o*math.sin(math.radians(a))/math.pi \n",
+      "\n",
+      "#Results\n",
+      "print(\"rectification efficiency=%.4f\" %RE)\n",
+      "print(\"form factor=%.4f\" %FF)\n",
+      "print(\"voltage ripple factor=%.4f\" %VRF)\n",
+      "print(\"pf=%.5f\" %pf)\n",
+      "print(\"HF=%.5f\" %HF)\n",
+      "print(\"active power=%.2f W\" %P_dc)   \n",
+      "print(\"reactive power=%.3f Var\" %Q)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rectification efficiency=0.6366\n",
+        "form factor=1.5708\n",
+        "voltage ripple factor=1.2114\n",
+        "pf=0.63662\n",
+        "HF=0.48342\n",
+        "active power=2143.96 W\n",
+        "reactive power=2143.956 Var\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.12, Page No 310"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "a=45.0\n",
+      "R=10.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_o=(V_m/math.pi)*(1+math.cos(math.radians(a)))\n",
+      "I_o=V_o/R\n",
+      "V_or=V_s*math.sqrt((1/math.pi)*((math.pi-a*math.pi/180)+math.sin(math.radians(2*a))/2))\n",
+      "I_or=I_o\n",
+      "P_dc=V_o*I_o\n",
+      "P_ac=V_or*I_or\n",
+      "RE=P_dc/P_ac    \n",
+      "FF=V_or/V_o    \n",
+      "VRF=math.sqrt(FF**2-1)    \n",
+      "I_s1=2*math.sqrt(2)*I_o*math.cos(math.radians(a/2))/math.pi\n",
+      "DF=math.cos(math.radians(a/2))   \n",
+      "CDF=2*math.sqrt(2)*math.cos(math.radians(a/2))/math.sqrt(math.pi*(math.pi-a*math.pi/180))    \n",
+      "pf=CDF*DF    \n",
+      "HF=math.sqrt((1/CDF**2)-1)    \n",
+      "Q=V_m*I_o*math.sin(math.radians(a))/math.pi\n",
+      "\n",
+      "#Results\n",
+      "print(\"form factor=%.3f\" %FF)\n",
+      "print(\"rectification efficiency=%.4f\" %RE)\n",
+      "print(\"voltage ripple factor=%.3f\" %VRF)    \n",
+      "print(\"DF=%.4f\" %DF)\n",
+      "print(\"CDF=%.4f\" %CDF)\n",
+      "print(\"pf=%.4f\" %pf)\n",
+      "print(\"HF=%.4f\" %HF)\n",
+      "print(\"active power=%.3f W\" %P_dc)\n",
+      "print(\"reactive power=%.2f Var\" %Q)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "form factor=1.241\n",
+        "rectification efficiency=0.8059\n",
+        "voltage ripple factor=0.735\n",
+        "DF=0.9239\n",
+        "CDF=0.9605\n",
+        "pf=0.8874\n",
+        "HF=0.2899\n",
+        "active power=3123.973 W\n",
+        "reactive power=1293.99 Var\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.13, Page No 319"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "R=10.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_ml=math.sqrt(2)*V_s\n",
+      "V_om=3*V_ml/(2*math.pi)\n",
+      "V_o=V_om/2\n",
+      "th=30\n",
+      "a=math.degrees(math.acos((2*math.pi*math.sqrt(3)*V_o/(3*V_ml)-1)))-th    \n",
+      "I_o=V_o/R    \n",
+      "V_or=V_ml/(2*math.sqrt(math.pi))*math.sqrt((5*math.pi/6-a*math.pi/180)+.5*math.sin(math.radians(2*a+2*th)))\n",
+      "I_or=V_or/R    \n",
+      "RE=V_o*I_o/(V_or*I_or)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"delay angle=%.1f deg\" %a)\n",
+      "print(\"avg load current=%.3f A\" %I_o)\n",
+      "print(\"rms load current=%.3f A\" %I_or)\n",
+      "print(\"rectification efficiency=%.4f\" %RE)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "delay angle=67.7 deg\n",
+        "avg load current=7.765 A\n",
+        "rms load current=10.477 A\n",
+        "rectification efficiency=0.5494\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.15, Page No 321"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=400.0\n",
+      "V_ml=math.sqrt(2)*V\n",
+      "v_T=1.4\n",
+      "a1=30.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_o1=3*V_ml/(2*math.pi)*math.cos(math.radians(a1))-v_T   \n",
+      "a2=60.0\n",
+      "V_o2=3*V_ml/(2*math.pi)*math.cos(math.radians(a2))-v_T  \n",
+      "I_o=36\n",
+      "I_TA=I_o/3    \n",
+      "I_Tr=I_o/math.sqrt(3)    \n",
+      "P=I_TA*v_T       \n",
+      "\n",
+      "#Results\n",
+      "print(\"for firing angle = 30deg\")\n",
+      "print(\"avg output voltage=%.3f V\" %V_o1)\n",
+      "print(\"for firing angle = 60deg\")\n",
+      "print(\"avg output voltage=%.2f V\" %V_o2)\n",
+      "print(\"avg current rating=%.0f A\" %I_TA)\n",
+      "print(\"rms current rating=%.3f A\" %I_Tr)\n",
+      "print(\"PIV of SCR=%.1f V\" %V_ml)\n",
+      "print(\"power dissipated=%.1f W\" %P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for firing angle = 30deg\n",
+        "avg output voltage=232.509 V\n",
+        "for firing angle = 60deg\n",
+        "avg output voltage=133.65 V\n",
+        "avg current rating=12 A\n",
+        "rms current rating=20.785 A\n",
+        "PIV of SCR=565.7 V\n",
+        "power dissipated=16.8 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.17, Page No 331"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "E=200\n",
+      "I_o=20\n",
+      "R=.5\n",
+      "\n",
+      "#Calculations\n",
+      "V_o1=E+I_o*R\n",
+      "V_s=230\n",
+      "V_ml=math.sqrt(2)*V_s\n",
+      "a1=math.degrees(math.acos(V_o1*math.pi/(3*V_ml)))\n",
+      "th=120\n",
+      "I_s=math.sqrt((1/math.pi)*I_o**2*th*math.pi/180)\n",
+      "P=E*I_o+I_o**2*R\n",
+      "pf=P/(math.sqrt(3)*V_s*I_s)    \n",
+      "V_o2=E-I_o*R\n",
+      "a2=math.degrees(math.acos(-V_o2*math.pi/(3*V_ml))) \n",
+      "\n",
+      "#Results\n",
+      "print(\"firing angle delay=%.3f deg\" %a1)\n",
+      "print(\"pf=%.3f\" %pf)\n",
+      "print(\"firing angle delay=%.2f deg\" %a2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle delay=47.461 deg\n",
+        "pf=0.646\n",
+        "firing angle delay=127.71 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.18, Page No 332"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=230.0\n",
+      "f=50.0\n",
+      "\n",
+      "#Calculations\n",
+      "w=2*math.pi*f\n",
+      "a1=0\n",
+      "t_c1=(4*math.pi/3-a1*math.pi/180)/w    \n",
+      "a2=30\n",
+      "t_c2=(4*math.pi/3-a2*math.pi/180)/w    \n",
+      "\n",
+      "#Results\n",
+      "print(\"for firing angle delay=0deg\")\n",
+      "print(\"commutation time=%.2f ms\" %(t_c1*1000))\n",
+      "print(\"peak reverse voltage=%.2f V\" %(math.sqrt(2)*V))\n",
+      "print(\"for firing angle delay=30deg\")\n",
+      "print(\"commutation time=%.2f ms\" %(t_c2*1000))\n",
+      "print(\"peak reverse voltage=%.2f V\" %(math.sqrt(2)*V))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for firing angle delay=0deg\n",
+        "commutation time=13.33 ms\n",
+        "peak reverse voltage=325.27 V\n",
+        "for firing angle delay=30deg\n",
+        "commutation time=11.67 ms\n",
+        "peak reverse voltage=325.27 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.19, Page No 333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "a=30.0\n",
+      "R=10.0\n",
+      "P=5000.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_s=math.sqrt(P*R*2*math.pi/(2*3)/(math.pi/3+math.sqrt(3)*math.cos(math.radians(2*a))/2))\n",
+      "V_ph=V_s/math.sqrt(3)    \n",
+      "I_or=math.sqrt(P*R)\n",
+      "V_s=I_or*math.pi/(math.sqrt(2)*3*math.cos(math.radians(a)))\n",
+      "V_ph=V_s/math.sqrt(3) \n",
+      "\n",
+      "#Results\n",
+      "print(\"per phase voltage percent V_ph=%.3f V\" %V_ph)   \n",
+      "print(\"for constant load current\")\n",
+      "print(\"V_ph=%.2f V\" %V_ph)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "per phase voltage percent V_ph=110.384 V\n",
+        "for constant load current\n",
+        "V_ph=110.38 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.20, Page No 334"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "a=30.0\n",
+      "R=10.0\n",
+      "P=5000.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_s=math.sqrt(P*R*4*math.pi/(2*3)/(2*math.pi/3+math.sqrt(3)*(1+math.cos(math.radians(2*a)))/2))\n",
+      "V_ph=V_s/math.sqrt(3)    \n",
+      "I_or=math.sqrt(P*R)\n",
+      "V_s=I_or*2*math.pi/(math.sqrt(2)*3*(1+math.cos(math.radians(a))))\n",
+      "V_ph=V_s/math.sqrt(3)   \n",
+      "\n",
+      "#Results\n",
+      "print(\"per phase voltage percent V_ph=%.3f V\" %V_ph) \n",
+      "print(\"for constant load current\")\n",
+      "print(\"V_ph=%.2f V\" %V_ph)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "per phase voltage percent V_ph=102.459 V\n",
+        "for constant load current\n",
+        "V_ph=102.46 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.21, Page No 334"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "a=90.0\n",
+      "R=10.0\n",
+      "P=5000.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_s=math.sqrt(P*R*4*math.pi/(2*3)/((math.pi-math.pi/2)+(math.sin(math.radians(2*a)))/2))\n",
+      "V_ph=V_s/math.sqrt(3)    \n",
+      "I_or=math.sqrt(P*R)\n",
+      "V_s=I_or*2*math.pi/(math.sqrt(2)*3*(1+math.cos(math.radians(a))))\n",
+      "V_ph=V_s/math.sqrt(3)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"per phase voltage percent V_ph=%.2f V\" %V_ph)\n",
+      "print(\"for constant load current\")\n",
+      "print(\"V_ph=%.1f V\" %V_ph)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "per phase voltage percent V_ph=191.19 V\n",
+        "for constant load current\n",
+        "V_ph=191.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.22 Page No 334"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "E=200.0\n",
+      "I_o=20.0\n",
+      "R=.5\n",
+      "\n",
+      "#Calculations\n",
+      "V_o=E+I_o*R\n",
+      "V_s=230\n",
+      "V_ml=math.sqrt(2)*V_s\n",
+      "a=math.degrees(math.acos(V_o*2*math.pi/(3*V_ml)-1))  \n",
+      "a1=180-a\n",
+      "I_sr=math.sqrt((1/math.pi)*I_o**2*(a1*math.pi/180))\n",
+      "P=V_o*I_o\n",
+      "pf=P/(math.sqrt(3)*V_s*I_sr)   \n",
+      "\n",
+      "#Results\n",
+      "print(\"firing angle delay=%.2f deg\" %a)\n",
+      "print(\"pf=%.2f\" %pf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle delay=69.38 deg\n",
+        "pf=0.67\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.23, Page No 335"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=400.0\n",
+      "f=50.0\n",
+      "I_o=15.0\n",
+      "a=45.0\n",
+      "\n",
+      "#Calculations\n",
+      "I_TA=I_o*120.0/360.0\n",
+      "I_Tr=math.sqrt(I_o**2*120/360)\n",
+      "I_sr=math.sqrt(I_o**2*120/180)\n",
+      "V_ml=math.sqrt(2)*V_s\n",
+      "V_o=3*V_ml*math.cos(math.radians(a))/math.pi\n",
+      "V_or=V_ml*math.sqrt((3/(2*math.pi))*(math.pi/3+math.sqrt(3/2)*math.cos(math.radians(2*a))))\n",
+      "I_or=I_o\n",
+      "P_dc=V_o*I_o\n",
+      "P_ac=V_or*I_or\n",
+      "RE=P_dc/P_ac    \n",
+      "VA=3*V_s/math.sqrt(3)*I_sr\n",
+      "TUF=P_dc/VA    \n",
+      "pf=P_ac/VA    \n",
+      "\n",
+      "#Results\n",
+      "print(\"rectification efficiency=%.5f\" %RE)\n",
+      "print(\"TUF=%.4f\" %TUF)\n",
+      "print(\"Input pf=%.3f\" %pf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rectification efficiency=0.95493\n",
+        "TUF=0.6752\n",
+        "Input pf=0.707\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.24, Page No 341"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "I=10.0\n",
+      "a=45.0\n",
+      "V=400.0\n",
+      "f=50.0\n",
+      "\n",
+      "#Calculations\n",
+      "DF=math.cos(math.radians(a))\n",
+      "I_o=10\n",
+      "I_s1=4*I_o/(math.sqrt(2)*math.pi)*math.sin(math.pi/3)\n",
+      "I_sr=I_o*math.sqrt(2.0/3.0)\n",
+      "I_o=1     #suppose\n",
+      "CDF=I_s1/I_sr    \n",
+      "THD=math.sqrt(1/CDF**2-1)    \n",
+      "pf=CDF*DF    \n",
+      "P=(3*math.sqrt(2)*V*math.cos(math.radians(a))/math.pi)*I\n",
+      "Q=(3*math.sqrt(2)*V*math.sin(math.radians(a))/math.pi)*I  \n",
+      "   \n",
+      "#Results\n",
+      "print(\"DF=%.3f\" %DF)\n",
+      "print(\"CDF=%.3f\" %CDF)\n",
+      "print(\"THD=%.5f\" %THD)\n",
+      "print(\"PF=%.4f\" %pf)\n",
+      "print(\"active power=%.2f W\" %P)  \n",
+      "print(\"reactive power=%.2f Var\" %Q)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "DF=0.707\n",
+        "CDF=0.955\n",
+        "THD=0.31084\n",
+        "PF=0.6752\n",
+        "active power=3819.72 W\n",
+        "reactive power=3819.72 Var\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.25, Page No 342"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "print(\"for firing angle=30deg\")\n",
+      "a=30.0\n",
+      "V=400.0\n",
+      "V_ml=math.sqrt(2)*V\n",
+      "V_o=3*V_ml*math.cos(math.radians(a))/math.pi\n",
+      "E=350\n",
+      "R=10\n",
+      "\n",
+      "#Calculations\n",
+      "I_o=(V_o-E)/R\n",
+      "I_or=I_o\n",
+      "P1=V_o*I_o    \n",
+      "I_sr=I_o*math.sqrt(2.0/3.0)\n",
+      "VA=3*V/math.sqrt(3)*I_sr\n",
+      "pf=P1/VA \n",
+      "a=180-60\n",
+      "V=400\n",
+      "V_ml=math.sqrt(2)*V\n",
+      "V_o=3*V_ml*math.cos(math.radians(a))/math.pi\n",
+      "E=-350\n",
+      "R=10\n",
+      "I_o=(V_o-E)/R\n",
+      "I_or=I_o\n",
+      "P2=-V_o*I_o    \n",
+      "I_sr=I_o*math.sqrt(2.0/3.0)\n",
+      "VA=3*V/math.sqrt(3)*I_sr\n",
+      "pf=P2/VA       \n",
+      "\n",
+      "print(\"power delivered to load=%.2f W\" %P1)\n",
+      "print(\"pf=%.4f\" %pf)\n",
+      "print(\"for firing advance angle=60deg\")\n",
+      "print(\"power delivered to load=%.2f W\" %P2)\n",
+      "print(\"pf=%.4f\" %pf)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits.\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for firing angle=30deg\n",
+        "power delivered to load=5511.74 W\n",
+        "pf=0.4775\n",
+        "for firing advance angle=60deg\n",
+        "power delivered to load=2158.20 W\n",
+        "pf=0.4775\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.26, Page No 347"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "a=0\n",
+      "u=15.0\n",
+      "\n",
+      "#Calculations\n",
+      "i=math.cos(math.radians(a))-math.cos(math.radians(a+u))\n",
+      "a=30\n",
+      "u=math.degrees(math.acos(math.cos(math.radians(a))-i))-a  \n",
+      "a=45\n",
+      "u=math.degrees(math.acos(math.cos(math.radians(a))-i))-a    \n",
+      "a=60\n",
+      "u=math.degrees(math.acos(math.cos(math.radians(a))-i))-a  \n",
+      "\n",
+      "#Results\n",
+      "print(\"for firing angle=30deg\") \n",
+      "print(\"overlap angle=%.1f deg\" %u)\n",
+      "print(\"for firing angle=45deg\")  \n",
+      "print(\"overlap angle=%.1f deg\" %u)\n",
+      "print(\"for firing angle=60deg\") \n",
+      "print(\"overlap angle=%.2f deg\" %u)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for firing angle=30deg\n",
+        "overlap angle=2.2 deg\n",
+        "for firing angle=45deg\n",
+        "overlap angle=2.2 deg\n",
+        "for firing angle=60deg\n",
+        "overlap angle=2.23 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.28, Page No 352"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "E=400.0\n",
+      "I_o=20.0\n",
+      "R=1\n",
+      "\n",
+      "#Calculations\n",
+      "V_o=E+I_o*R\n",
+      "f=50.0\n",
+      "w=2*math.pi*f\n",
+      "L=.004\n",
+      "V=230 #per phase voltage\n",
+      "V_ml=math.sqrt(6)*V\n",
+      "a=math.degrees(math.acos(math.pi/(3*V_ml)*(V_o+3*w*L*I_o/math.pi)))   \n",
+      "print(\"firing angle delay=%.3f deg\" %a)\n",
+      "u=math.degrees(math.acos(math.pi/(3*V_ml)*(V_o-3*w*L*I_o/math.pi)))-a    \n",
+      "\n",
+      "#Results\n",
+      "print(\"overlap angle=%.2f deg\" %u)\n",
+      "#Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle delay=34.382 deg\n",
+        "overlap angle=8.22 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.29, Page No 352"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=400.0\n",
+      "f=50.0\n",
+      "w=2*math.pi*f\n",
+      "R=1\n",
+      "E=230\n",
+      "I=15.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_o=-E+I*R\n",
+      "V_ml=math.sqrt(2)*V\n",
+      "a=math.degrees(math.acos(V_o*2*math.pi/(3*V_ml)))  \n",
+      "L=0.004\n",
+      "a=math.degrees(math.acos((2*math.pi)/(3*V_ml)*(V_o+3*w*L*I/(2*math.pi))))  \n",
+      "u=math.degrees(math.acos(math.cos(math.radians(a))-3*f*L*I/V_ml))-a    \n",
+      "\n",
+      "#Results\n",
+      "print(\"firing angle=%.3f deg\" %a)\n",
+      "print(\"firing angle delay=%.3f deg\" %a)\n",
+      "print(\"overlap angle=%.3f deg\" %u)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits.\n",
+      " \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle=139.702 deg\n",
+        "firing angle delay=139.702 deg\n",
+        "overlap angle=1.431 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.31, Page No 361"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=230.0 #per phase\n",
+      "f=50.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_ml=math.sqrt(3.0)*math.sqrt(2)*V\n",
+      "w=2*math.pi*f\n",
+      "a1=60.0\n",
+      "L=0.015\n",
+      "i_cp=(math.sqrt(3)*V_ml/(w*L))*(1-math.sin(math.radians(a1)))    \n",
+      "\n",
+      "#Results\n",
+      "print(\"circulating current=%.4f A\" %i_cp)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "circulating current=27.7425 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.32, Page No 362"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=230.0\n",
+      "V_m=math.sqrt(2)*V\n",
+      "a=30.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_o=2*V_m* math.cos(math.radians(a))/math.pi    \n",
+      "R=10\n",
+      "I_o=V_o/R    \n",
+      "I_TA=I_o*math.pi/(2*math.pi)    \n",
+      "I_Tr=math.sqrt(I_o**2*math.pi/(2*math.pi))    \n",
+      "I_s=math.sqrt(I_o**2*math.pi/(math.pi)) \n",
+      "I_o=I_s\n",
+      "pf=(V_o*I_o/(V*I_s))    \n",
+      "\n",
+      "#Results\n",
+      "print(\"avg o/p voltage=%.3f V\" %V_o)\n",
+      "print(\"avg o/p current=%.2f A\" %I_o)\n",
+      "print(\"avg value of thyristor current=%.3f A\" %I_TA)\n",
+      "print(\"rms value of thyristor current=%.2f A\" %I_Tr)\n",
+      "print(\"pf=%.4f\" %pf)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits.\n",
+      " \n",
+      " \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg o/p voltage=179.330 V\n",
+        "avg o/p current=17.93 A\n",
+        "avg value of thyristor current=8.967 A\n",
+        "rms value of thyristor current=12.68 A\n",
+        "pf=0.7797\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.33, Page No 363"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=230.0\n",
+      "V_m=math.sqrt(2)*V\n",
+      "a=30.0\n",
+      "L=.0015\n",
+      "\n",
+      "#Calculations\n",
+      "V_o=2*V_m* math.cos(math.radians(a))/math.pi  \n",
+      "R=10\n",
+      "I_o=V_o/R  \n",
+      "f=50\n",
+      "w=2*math.pi*f\n",
+      "V_ox=2*V_m*math.cos(math.radians(a))/math.pi-w*L*I_o/math.pi    \n",
+      "u=math.degrees(math.acos(math.cos(math.radians(a))-I_o*w*L/V_m))-a    \n",
+      "I=I_o\n",
+      "pf=V_o*I_o/(V*I)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"avg o/p voltage=%.3f V\" %V_ox)\n",
+      "print(\"angle of overlap=%.3f deg\" %u)\n",
+      "print(\"pf=%.4f\" %pf)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg o/p voltage=176.640 V\n",
+        "angle of overlap=2.855 deg\n",
+        "pf=0.7797\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.34, Page No 364"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=415.0\n",
+      "V_ml=math.sqrt(2)*V\n",
+      "a1=35.0 #firing angle advance\n",
+      "\n",
+      "#Calculations\n",
+      "a=180-a1\n",
+      "I_o=80.0\n",
+      "r_s=0.04\n",
+      "v_T=1.5\n",
+      "X_l=.25 #reactance=w*L\n",
+      "E=-3*V_ml*math.cos(math.radians(a))/math.pi+2*I_o*r_s+2*v_T+3*X_l*I_o/math.pi    \n",
+      "\n",
+      "#Results\n",
+      "print(\"mean generator voltage=%.3f V\" %E)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "mean generator voltage=487.590 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.35, Page No 364"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=415.0\n",
+      "V_ml=math.sqrt(2)*V\n",
+      "R=0.2\n",
+      "I_o=80\n",
+      "r_s=0.04\n",
+      "v_T=1.5\n",
+      "\n",
+      "#Calculations\n",
+      "X_l=.25 #reactance=w*L\n",
+      "a=35\n",
+      "E=-(-3*V_ml*math.cos(math.radians(a))/math.pi+I_o*R+2*I_o*r_s+2*v_T+3*X_l*I_o/math.pi)    \n",
+      "a1=35\n",
+      "a=180-a1\n",
+      "E=(-3*V_ml*math.cos(math.radians(a))/math.pi+I_o*R+2*I_o*r_s+2*v_T+3*X_l*I_o/math.pi) \n",
+      "\n",
+      "#Results\n",
+      "print(\"when firing angle=35deg\")   \n",
+      "print(\"mean generator voltage=%.3f V\" %E)\n",
+      "print(\"when firing angle advance=35deg\")\n",
+      "print(\"mean generator voltage=%.3f V\" %E)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when firing angle=35deg\n",
+        "mean generator voltage=503.590 V\n",
+        "when firing angle advance=35deg\n",
+        "mean generator voltage=503.590 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.36, Page No 365"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "R=5.0\n",
+      "V=230.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_mp=math.sqrt(2)*V\n",
+      "a=30.0\n",
+      "E=150.0\n",
+      "B=180-math.degrees(math.asin(E/V_mp))\n",
+      "I_o=(3/(2*math.pi*R))*(V_mp*(math.cos(math.radians(a+30))-math.cos(math.radians(B)))-E*((B-a-30)*math.pi/180))\n",
+      "\n",
+      "#Results\n",
+      "print(\"avg current flowing=%.2f A\" %I_o)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg current flowing=19.96 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.37, Page No 366"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "a=30.0\n",
+      "V=230.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_m=math.sqrt(2)*V\n",
+      "V_o=V_m*(1+math.cos(math.radians(a)))/math.pi    \n",
+      "E=100\n",
+      "R=10\n",
+      "I_o=(V_o-E)/R    \n",
+      "I_TA=I_o*math.pi/(2*math.pi)    \n",
+      "I_Tr=math.sqrt(I_o**2*math.pi/(2*math.pi))    \n",
+      "I_s=math.sqrt(I_o**2*(1-a/180)*math.pi/(math.pi))\n",
+      "I_or=I_o\n",
+      "P=E*I_o+I_or**2*R\n",
+      "pf=(P/(V*I_s))   \n",
+      "f=50\n",
+      "w=2*math.pi*f\n",
+      "t_c=(1-a/180)*math.pi/w    \n",
+      "\n",
+      "#Results\n",
+      "print(\"\\navg o/p current=%.2f A\" %I_o)\n",
+      "print(\"avg o/p voltage=%.3f V\" %V_o)\n",
+      "print(\"avg value of thyristor current=%.2f A\" %I_TA)\n",
+      "print(\"rms value of thyristor current=%.3f A\" %I_Tr)\n",
+      "print(\"avg value of diode current=%.2f A\" %I_TA)\n",
+      "print(\"rms value of diode current=%.3f A\" %I_Tr)\n",
+      "print(\"pf=%.4f\" %pf)\n",
+      "print(\"circuit turn off time=%.2f ms\" %(t_c*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "avg o/p current=9.32 A\n",
+        "avg o/p voltage=193.202 V\n",
+        "avg value of thyristor current=4.66 A\n",
+        "rms value of thyristor current=6.590 A\n",
+        "avg value of diode current=4.66 A\n",
+        "rms value of diode current=6.590 A\n",
+        "pf=0.9202\n",
+        "circuit turn off time=8.33 ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.38, Page No 368"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=230.0\n",
+      "V_m=math.sqrt(2)*V\n",
+      "L=0.05\n",
+      "f=50.0\n",
+      "\n",
+      "#Calculations\n",
+      "w=2*math.pi*f\n",
+      "a=30\n",
+      "i_cp=2*V_m*(1-math.cos(math.radians(a)))/(w*L)    \n",
+      "R=30.0\n",
+      "i_l=V_m/R\n",
+      "i1=i_cp+i_l    \n",
+      "i2=i_cp    \n",
+      "\n",
+      "#Results\n",
+      "print(\"peak value of circulating current=%.3f A\" %i_cp)\n",
+      "print(\"peak value of current in convertor 1=%.3f A\" %i1)\n",
+      "print(\"peak value of current in convertor 2=%.3f A\" %i2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "peak value of circulating current=5.548 A\n",
+        "peak value of current in convertor 1=16.391 A\n",
+        "peak value of current in convertor 2=5.548 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.39, Page No 370"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "f=50.0\n",
+      "w=2*math.pi*f\n",
+      "R=5.0\n",
+      "L=0.05\n",
+      "\n",
+      "#Calculations\n",
+      "phi=math.degrees(math.atan(w*L/R))  \n",
+      "phi=90+math.degrees(math.atan(w*L/R))   \n",
+      "\n",
+      "#Results\n",
+      "print(\"for no current transients\")\n",
+      "print(\"triggering angle=%.2f deg\" %phi)\n",
+      "print(\"for worst transients\")\n",
+      "print(\"triggering angle=%.2f deg\" %phi)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for no current transients\n",
+        "triggering angle=162.34 deg\n",
+        "for worst transients\n",
+        "triggering angle=162.34 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter7_4.ipynb b/Power_Electronics/Chapter7_4.ipynb
new file mode 100755
index 00000000..726160c8
--- /dev/null
+++ b/Power_Electronics/Chapter7_4.ipynb
@@ -0,0 +1,1036 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 07 : Choppers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.2, Page No 387"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "a=0.4     #duty cycle %a=T_on/T\n",
+      "V_s=230.0\n",
+      "R=10.0\n",
+      "\n",
+      "#Calculations\n",
+      "V=a*(V_s-2)    \n",
+      "V_or=math.sqrt(a*(V_s-2)**2)    \n",
+      "P_o=V_or**2/R\n",
+      "P_i=V_s*V/R\n",
+      "n=P_o*100/P_i    \n",
+      "\n",
+      "#Results\n",
+      "print(\"avg o/p voltage=%.1f V\" %V)\n",
+      "print(\"rms value of o/p voltage=%.1f V\" %V_or)\n",
+      "print(\"chopper efficiency in percentage=%.2f\" %n)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "avg o/p voltage=91.2 V\n",
+        "rms value of o/p voltage=144.2 V\n",
+        "chopper efficiency in percentage=99.13\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.3, Page No 388"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_i=220.0\n",
+      "V_o=660.0\n",
+      "\n",
+      "#Calculations\n",
+      "a=1-V_i/V_o\n",
+      "T_on=100.0     #microsecond\n",
+      "T=T_on/a\n",
+      "T_off=T-T_on    \n",
+      "T_off=T_off/2\n",
+      "T_on=T-T_off\n",
+      "a=T_on/T\n",
+      "V_o=V_i/(1-a)\n",
+      "\n",
+      "#Results    \n",
+      "print(\"pulse width of o/p voltage=%.0f us\" %T_off)\n",
+      "print(\"\\nnew o/p voltage=%.0f V\" %V_o)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "pulse width of o/p voltage=25 us\n",
+        "\n",
+        "new o/p voltage=1320 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.4 Page No 288"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "I_1=12.0\n",
+      "I_2=16.0\n",
+      "\n",
+      "#Calculations\n",
+      "I_0=(I_1+I_2)/2\n",
+      "R=10.0\n",
+      "V_0=I_0*R\n",
+      "V_s=200.0\n",
+      "a=V_0/V_s\n",
+      "r=a/(1-a)\n",
+      "\n",
+      "#Results\n",
+      "print(\"time ratio(T_on/T_off)=%.3f\" %r)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "time ratio(T_on/T_off)=2.333\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5, Page No 390"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_o=660.0\n",
+      "V_s=220.0\n",
+      "\n",
+      "#Calculations\n",
+      "a=(V_o/V_s)/(1+(V_o/V_s))\n",
+      "T_on=120\n",
+      "T=T_on/a\n",
+      "T_off=T-T_on \n",
+      "T_off=3*T_off\n",
+      "T_on=T-T_off\n",
+      "a=T_on/(T_on+T_off)\n",
+      "V_o=V_s*(a/(1-a))   \n",
+      "\n",
+      "#Results\n",
+      "print(\"pulse width o/p voltage=%.0f us\" %T_off)\n",
+      "print(\"\\nnew o/p voltage=%.2f V\" %V_o)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "pulse width o/p voltage=120 us\n",
+        "\n",
+        "new o/p voltage=73.33 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.11 Page No 408"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "R=1.0\n",
+      "L=.005\n",
+      "T_a=L/R\n",
+      "T=2000*10**-6\n",
+      "E=24.0\n",
+      "V_s=220\n",
+      "T_on=600*10**-6\n",
+      "a=T_on/T\n",
+      "\n",
+      "#Calculations\n",
+      "a1=(T_a/T)*math.log(1+(E/V_s)*((math.exp(T/T_a))-1))\n",
+      "if a1<a :\n",
+      "    print(\"load current in continuous\")\n",
+      "else:\n",
+      "    print(\"load current in discont.\")\n",
+      "\n",
+      "I_o=(a*V_s-E)/R    \n",
+      "I_mx=(V_s/R)*((1-math.exp(-T_on/T_a))/(1-math.exp(-T/T_a)))-E/R    \n",
+      "I_mn=(V_s/R)*((math.exp(T_on/T_a)-1)/(math.exp(T/T_a)-1))-E/R    \n",
+      "f=1/T\n",
+      "w=2*math.pi*f\n",
+      "I1=(2*V_s/(math.sqrt(2)*math.pi)*math.sin(math.radians(180*a)))/(math.sqrt(R**2+(w*L)**2))    \n",
+      "I2=(2*V_s/(2*math.sqrt(2)*math.pi)*math.sin(math.radians(2*180*a)))/(math.sqrt(R**2+(w*L*2)**2))    \n",
+      "I3=(2*V_s/(3*math.sqrt(2)*math.pi)*math.sin(math.radians(3*180*a)))/(math.sqrt(R**2+(w*L*3)**2))    \n",
+      "I_TAV=a*(V_s-E)/R-L*(I_mx-I_mn)/(R*T)   \n",
+      "P1=I_TAV*V_s\n",
+      "P2=E*I_o\n",
+      "I_or=math.sqrt(I_o**2+I1**2+I2**2+I3**2)\n",
+      "\n",
+      "#Results\n",
+      "print(\"avg o/p current=%.2f A\" %I_o)\n",
+      "print(\"max value of steady current=%.2f A\" %I_mx)\n",
+      "print(\"min value of steady current=%.2f A\" %I_mn)\n",
+      "print(\"first harmonic current=%.4f A\" %I1)\n",
+      "print(\"second harmonic current=%.4f A\" %I2)\n",
+      "print(\"third harmonic current=%.5f A\" %I3)\n",
+      "print(\"avg supply current=%.4f A\" %I_TAV)\n",
+      "print(\"i/p power=%.2f W\" %P1)\n",
+      "print(\"power absorbed by load emf=%.0f W\" %P2)\n",
+      "print(\"power loss in resistor=%.2f W\" %(P1-P2))\n",
+      "print(\"rms value of load current=%.3f A\" %I_or)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "load current in continuous\n",
+        "avg o/p current=42.00 A\n",
+        "max value of steady current=51.46 A\n",
+        "min value of steady current=33.03 A\n",
+        "first harmonic current=5.0903 A\n",
+        "second harmonic current=1.4983 A\n",
+        "third harmonic current=0.21643 A\n",
+        "avg supply current=12.7289 A\n",
+        "i/p power=2800.35 W\n",
+        "power absorbed by load emf=1008 W\n",
+        "power loss in resistor=1792.35 W\n",
+        "rms value of load current=42.334 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.12 Page No 411"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "R=1\n",
+      "L=.001\n",
+      "V_s=220\n",
+      "E=72.0\n",
+      "f=500.0\n",
+      "T_on=800*10**-6\n",
+      "T_a=L/R\n",
+      "T=1.0/f\n",
+      "m=E/V_s\n",
+      "a=T_on/T\n",
+      "\n",
+      "#Calculations\n",
+      "a1=(T_a/T)*math.log(1+m*(math.exp(-T/T_a)-1))\n",
+      "if a1>a :\n",
+      "    print(\"load current is continuous\")\n",
+      "else:\n",
+      "    print(\"load current is discontinuous\")\n",
+      "\n",
+      "t_x=T_on+L*math.log(1+((V_s-E)/272)*(1-math.exp(-T_on/T_a)))\n",
+      " #Value of t_x wrongly calculated in the book so ans of V_o and I_o varies\n",
+      "V_o=a*V_s+(1-t_x/T)*E    \n",
+      "I_o=(V_o-E)/R    \n",
+      "I_mx=(V_s-E)/R*(1-math.exp(-T_on/T_a)) \n",
+      "\n",
+      "#Results  \n",
+      "print(\"avg o/p voltage=%.2f V\" %V_o)\n",
+      "print(\"avg o/p current=%.2f A\" %I_o) \n",
+      "print(\"max value of load current=%.1f A\" %I_mx)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "load current is discontinuous\n",
+        "avg o/p voltage=121.77 V\n",
+        "avg o/p current=49.77 A\n",
+        "max value of load current=81.5 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.13, Page No 412"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "a=0.2\n",
+      "V_s=500\n",
+      "E=a*V_s\n",
+      "L=0.06\n",
+      "I=10\n",
+      "\n",
+      "#Calculations\n",
+      "T_on=(L*I)/(V_s-E)\n",
+      "f=a/T_on    \n",
+      "\n",
+      "#Results\n",
+      "print(\"chopping freq=%.2f Hz\" %f)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "chopping freq=133.33 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.14 Page No 412"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "a=0.5\n",
+      "pu=0.1 #pu ripple\n",
+      "\n",
+      "#Calculations\n",
+      " #x=T/T_a\n",
+      " #y=exp(-a*x)\n",
+      "y=(1-pu)/(1+pu)\n",
+      " #after solving\n",
+      "x=math.log(1/y)/a\n",
+      "f=1000\n",
+      "T=1/f\n",
+      "T_a=T/x\n",
+      "R=2\n",
+      "L=R*T_a\n",
+      "Li=0.002\n",
+      "Le=L-Li    \n",
+      "\n",
+      "#Results\n",
+      "print(\"external inductance=%.3f mH\" %(Le*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "external inductance=-2.000 mH\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.15 Page No 414"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "R=10.0\n",
+      "L=0.015\n",
+      "T_a=L/R\n",
+      "f=1250.0\n",
+      "T=1.0/f\n",
+      "a=0.5\n",
+      "T_on=a*T\n",
+      "V_s=220.0\n",
+      "\n",
+      "#Calculations\n",
+      "I_mx=(V_s/R)*((1-math.exp(-T_on/T_a))/(1-math.exp(-T/T_a)))   \n",
+      "I_mn=(V_s/R)*((math.exp(T_on/T_a)-1)/(math.exp(T/T_a)-1))    \n",
+      "dI=I_mx-I_mn    \n",
+      "V_o=a*V_s\n",
+      "I_o=V_o/R    \n",
+      "I_or=math.sqrt(I_mx**2+dI**2/3+I_mx*dI)    \n",
+      "I_chr=math.sqrt(a)*I_or \n",
+      "\n",
+      "#Results\n",
+      "print(\"Max value of ripple current=%.2f A\" %dI)\n",
+      "print(\"Max value of load current=%.3f A\" %I_mx)\n",
+      "print(\"Min value of load current=%.2f A\" %I_mn)\n",
+      "print(\"Avg value of load current=%.2f A\" %I_o)   \n",
+      "print(\"rms value of load current=%.2f A\" %I_or)\n",
+      "print(\"rms value of chopper current=%.2f A\" %I_chr)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Max value of ripple current=2.92 A\n",
+        "Max value of load current=12.458 A\n",
+        "Min value of load current=9.54 A\n",
+        "Avg value of load current=11.00 A\n",
+        "rms value of load current=13.94 A\n",
+        "rms value of chopper current=9.86 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.17 Page No 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "L=0.0016\n",
+      "C=4*10**-6\n",
+      "\n",
+      "#Calculations\n",
+      "w=1/math.sqrt(L*C)\n",
+      "t=math.pi/w    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"time for which current flows=%.2f us\" %(t*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "time for which current flows=251.33 us\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.18, Page No 424"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "t_q=20.0*10**-6\n",
+      "dt=20.0*10**-6\n",
+      "\n",
+      "#Calculations\n",
+      "t_c=t_q+dt\n",
+      "I_0=60.0\n",
+      "V_s=60.0\n",
+      "C=t_c*I_0/V_s \n",
+      "\n",
+      "#Results   \n",
+      "print(\"value of commutating capacitor=%.0f uF\" %(C*10**6))\n",
+      "\n",
+      "L1=(V_s/I_0)**2*C\n",
+      "L2=(2*t_c/math.pi)**2/C\n",
+      "if L1>L2 :\n",
+      "    print(\"value of commutating inductor=%.0f uH\" %(L1*10**6))\n",
+      "else:\n",
+      "    print(\"value of commutating inductor=%.0f uH\" %(L2*10**6))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of commutating capacitor=40 uF\n",
+        "value of commutating inductor=40 uH\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.19, Page No 424"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "t=100.0*10**-6\n",
+      "R=10.0\n",
+      "\n",
+      "#Calculations\n",
+      " #V_s*(1-2*math.exp(-t/(R*C)))=0\n",
+      "C=-t/(R*math.log(1.0/2))    \n",
+      "L=(4/9.0)*C*R**2    \n",
+      "L=(1.0/4)*C*R**2    \n",
+      "\n",
+      "#Results\n",
+      "print(\"Value of comutating component C=%.3f uF\" %(C*10**6))\n",
+      "print(\"max permissible current through SCR is 2.5 times load current\")\n",
+      "print(\"value of comutating component L=%.1f uH\" %(L*10**6))\n",
+      "print(\"max permissible current through SCR is 1.5 times peak diode current\")\n",
+      "print(\"value of comutating component L=%.2f uH\" %(L*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of comutating component C=14.427 uF\n",
+        "max permissible current through SCR is 2.5 times load current\n",
+        "value of comutating component L=360.7 uH\n",
+        "max permissible current through SCR is 1.5 times peak diode current\n",
+        "value of comutating component L=360.67 uH\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.20, Page No 426"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "T_on=800.0*10**-6\n",
+      "V_s=220.0\n",
+      "I_o=80.0\n",
+      "C=50*10**-6\n",
+      "\n",
+      "#Calculations\n",
+      "T=T_on+2*V_s*C/I_o    \n",
+      "L=20*10**-6\n",
+      "C=50*10**-6\n",
+      "i_T1=I_o+V_s*math.sqrt(C/L)    \n",
+      "i_TA=I_o    \n",
+      "t_c=C*V_s/I_o    \n",
+      "t_c1=(math.pi/2)*math.sqrt(L*C)    \n",
+      "t=150*10**-6\n",
+      "v_c=I_o*t/C-V_s  \n",
+      "\n",
+      "#Results  \n",
+      "print(\"effective on period=%.0f us\" %(T*10**6))\n",
+      "print(\"peak current through main thyristor=%.2f A\" %i_T1)\n",
+      "print(\"peak current through auxillery thyristor=%.0f A\" %i_TA)\n",
+      "print(\"turn off time for main thyristor=%.1f us\" %(t_c*10**6))\n",
+      "print(\"turn off time for auxillery thyristor=%.3f us\" %(t_c1*10**6))\n",
+      "print(\"total commutation interval=%.0f us\" %(2*t_c*10**6))\n",
+      "print(\"capacitor voltage=%.0f V\" %v_c)\n",
+      "print(\"time nedded to recharge the capacitor=%.0f us\" %(2*V_s*C/I_o*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for firing angle = 30deg\n",
+        "avg output voltage=232.509 V\n",
+        "for firing angle = 60deg\n",
+        "avg output voltage=133.65 V\n",
+        "avg current rating=12 A\n",
+        "rms current rating=20.785 A\n",
+        "PIV of SCR=565.7 V\n",
+        "power dissipated=16.8 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 122
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.21, Page No 427"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "I_o=260.0\n",
+      "V_s=220.0\n",
+      "fos=2 #factor of safety\n",
+      "\n",
+      "#Calculations\n",
+      "t_off=18*10**-6\n",
+      "t_c=2*t_off\n",
+      "C=t_c*I_o/V_s    \n",
+      "L=(V_s/(0.8*I_o))**2*C    \n",
+      "f=400\n",
+      "a_mn=math.pi*f*math.sqrt(L*C)\n",
+      "V_omn=V_s*(a_mn+2*f*t_c)    \n",
+      "V_omx=V_s    \n",
+      "\n",
+      "#Results\n",
+      "print(\"Value of C=%.3f uF\" %(C*10**6))\n",
+      "print(\"value of L=%.3f uH\" %(L*10**6))\n",
+      "print(\"min value of o/p voltage=%.3f V\" %V_omn)\n",
+      "print(\"max value of o/p voltage=%.0f V\" %V_omx)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "firing angle delay=47.461 deg\n",
+        "pf=0.646\n",
+        "firing angle delay=127.71 deg\n"
+       ]
+      }
+     ],
+     "prompt_number": "*"
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.22, Page No 434"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "x=2.0\n",
+      "t_q=30*10**-6\n",
+      "dt=30*10**-6\n",
+      "t_c=t_q+dt\n",
+      "V_s=230.0\n",
+      "I_o=200.0\n",
+      "\n",
+      "#Calculations\n",
+      "L=V_s*t_c/(x*I_o*(math.pi-2*math.asin(1/x)))    \n",
+      "C=x*I_o*t_c/(V_s*(math.pi-2*math.asin(1/x)))    \n",
+      "V_cp=V_s+I_o*math.sqrt(L/C)    \n",
+      "I_cp=x*I_o    \n",
+      "x=3\n",
+      "L=V_s*t_c/(x*I_o*(math.pi-2*math.asin(1/x)))   \n",
+      "C=x*I_o*t_c/(V_s*(math.pi-2*math.asin(1/x)))    \n",
+      "V_cp=V_s+I_o*math.sqrt(L/C)    \n",
+      "I_cp=x*I_o    \n",
+      "\n",
+      "#Results\n",
+      "print(\"value of commutating inductor=%.3f uH\" %(L*10**6))\n",
+      "print(\"value of commutating capacitor=%.3f uF\" %(C*10**6))\n",
+      "print(\"peak capacitor voltage=%.0f V\" %V_cp)\n",
+      "print(\"peak commutataing current=%.0f A\" %I_cp)\n",
+      "print(\"value of commutating inductor=%.3f uH\" %(L*10**6))\n",
+      "print(\"value of commutating capacitor=%.3f uF\" %(C*10**6))\n",
+      "print(\"peak capacitor voltage=%.2f V\" %V_cp)\n",
+      "print(\"peak commutataing current=%.0f A\" %I_cp)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of commutating inductor=7.321 uH\n",
+        "value of commutating capacitor=49.822 uF\n",
+        "peak capacitor voltage=307 V\n",
+        "peak commutataing current=600 A\n",
+        "value of commutating inductor=7.321 uH\n",
+        "value of commutating capacitor=49.822 uF\n",
+        "peak capacitor voltage=306.67 V\n",
+        "peak commutataing current=600 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.23, Page No 434"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variablesV_s=230\n",
+      "C=50*10**-6\n",
+      "L=20*10**-6\n",
+      "I_cp=V_s*math.sqrt(C/L)\n",
+      "I_o=200\n",
+      "x=I_cp/I_o\n",
+      "\n",
+      "#Calculations\n",
+      "t_c=(math.pi-2*math.asin(1/x))*math.sqrt(C*L)   \n",
+      "th1=math.degrees(math.asin(1.0/x))\n",
+      "t=(5*math.pi/2-th1*math.pi/180)*math.sqrt(L*C)+C*V_s*(1-math.cos(math.radians(th1)))/I_o    \n",
+      "t=(math.pi-th1*math.pi/180)*math.sqrt(L*C)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"turn off time of main thyristor=%.2f us\" %(t_c*10**6))\n",
+      "print(\"total commutation interval=%.3f us\" %(t*10**6))\n",
+      "print(\"turn off time of auxillery thyristor=%.3f us\" %(t*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "turn off time of main thyristor=62.52 us\n",
+        "total commutation interval=80.931 us\n",
+        "turn off time of auxillery thyristor=80.931 us\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.24, Page No 440"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "tc=0.006\n",
+      "R=10.0\n",
+      "L=R*tc\n",
+      "f=2000.0\n",
+      "\n",
+      "#Calculations\n",
+      "T=1/f\n",
+      "V_o=50.0\n",
+      "V_s=100.0\n",
+      "a=V_o/V_s\n",
+      "T_on=a*T\n",
+      "T_off=T-T_on\n",
+      "dI=V_o*T_off/L\n",
+      "I_o=V_o/R\n",
+      "I2=I_o+dI/2    \n",
+      "I1=I_o-dI/2    \n",
+      "\n",
+      "#Results\n",
+      "print(\"max value of load current=%.3f A\" %I2)\n",
+      "print(\"min value of load current=%.3f A\" %I1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "max value of load current=5.104 A\n",
+        "min value of load current=4.896 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.27, Page No 443"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "I_a=30.0\n",
+      "r_a=.5\n",
+      "V_s=220.0\n",
+      "\n",
+      "#Calculations\n",
+      "a=I_a*r_a/V_s    \n",
+      "a=1\n",
+      "k=.1 #V/rpm\n",
+      "N=(a*V_s-I_a*r_a)/k    \n",
+      "\n",
+      "#Results\n",
+      "print(\"min value of duty cycle=%.3f\" %a)\n",
+      "print(\"min Value of speed control=%.0f rpm\" %0)\n",
+      "print(\"max value of duty cycle=%.0f\" %a)\n",
+      "print(\"max value of speed control=%.0f rpm\" %N)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "min value of duty cycle=1.000\n",
+        "min Value of speed control=0 rpm\n",
+        "max value of duty cycle=1\n",
+        "max value of speed control=2050 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.28, Page No 444"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_t=72.0\n",
+      "I_a=200.0\n",
+      "r_a=0.045\n",
+      "N=2500.0\n",
+      "\n",
+      "#Calculations\n",
+      "k=(V_t-I_a*r_a)/N\n",
+      "E_a=k*1000\n",
+      "L=.007\n",
+      "Rm=.045\n",
+      "Rb=0.065\n",
+      "R=Rm+Rb\n",
+      "T_a=L/R\n",
+      "I_mx=230\n",
+      "I_mn=180\n",
+      "T_on=-T_a*math.log(-((V_t-E_a)/R-I_mx)/((I_mn)-(V_t-E_a)/R))\n",
+      "R=Rm\n",
+      "T_a=L/R\n",
+      "T_off=-T_a*math.log(-((-E_a)/R-I_mn)/((I_mx)-(-E_a)/R))\n",
+      "T=T_on+T_off\n",
+      "f=1/T    \n",
+      "a=T_on/T \n",
+      "\n",
+      "#Results\n",
+      "print(\"chopping freq=%.1f Hz\" %f)  \n",
+      "print(\"duty cycle ratio=%.3f\" %a)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "chopping freq=40.5 Hz\n",
+        "\n",
+        "duty cycle ratio=0.588\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.29, Page No 445"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variablesI_mx=425\n",
+      "I_lt=180.0     #lower limit of current pulsation\n",
+      "I_mn=I_mx-I_lt\n",
+      "T_on=0.014\n",
+      "T_off=0.011\n",
+      "\n",
+      "#Calculations\n",
+      "T=T_on+T_off\n",
+      "T_a=.0635\n",
+      "a=T_on/T\n",
+      "V=(I_mx-I_mn*math.exp(-T_on/T_a))/(1-math.exp(-T_on/T_a))\n",
+      "a=.5\n",
+      "I_mn=(I_mx-V*(1-math.exp(-T_on/T_a)))/(math.exp(-T_on/T_a))\n",
+      "T=I_mx-I_mn    \n",
+      "T=T_on/a\n",
+      "f=1/T    \n",
+      "\n",
+      "#Results\n",
+      "print(\"higher limit of current pulsation=%.0f A\" %T)\n",
+      "print(\"chopping freq=%.3f Hz\" %f)\n",
+      "print(\"duty cycle ratio=%.2f\" %a)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "higher limit of current pulsation=0 A\n",
+        "chopping freq=35.714 Hz\n",
+        "duty cycle ratio=0.50\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter8_4.ipynb b/Power_Electronics/Chapter8_4.ipynb
new file mode 100755
index 00000000..721a9faf
--- /dev/null
+++ b/Power_Electronics/Chapter8_4.ipynb
@@ -0,0 +1,984 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 08 : Inverters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.3, Page No 465"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "T=0.1*10**-3\n",
+      "f=1.0/T\n",
+      "k=15*10**-6 #k=th/w\n",
+      "\n",
+      "#Calculations\n",
+      "th=2*math.pi*f*k\n",
+      "X_l=10.0\n",
+      "R=2.0\n",
+      "X_c=R*math.tan(th)+X_l\n",
+      "C=1/(2*math.pi*f*X_c)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"value of C=%.3f uF\" %(C*10**6))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of C=1.248 uF\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.4 Page No 466"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_01=2*V_s/(math.sqrt(2)*math.pi)\n",
+      "R=2.0\n",
+      "I_01=V_01/R\n",
+      "P_d=I_01**2*R    \n",
+      "V=V_s/2\n",
+      "I_s=math.sqrt(2)*I_01/math.pi\n",
+      "P_s=V*I_s\n",
+      "\n",
+      "#Results\n",
+      "print(\"power delivered to load=%.1f W\" %P_d)\n",
+      "print(\"power delivered by both sources=%.1f W\" %(2*P_s))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "power delivered to load=5359.9 W\n",
+        "power delivered by both sources=5359.9 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.5, Page No 468"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_01=4*V_s/(math.pi*math.sqrt(2))\n",
+      "R=1.0\n",
+      "X_L=6.0\n",
+      "X_c=7.0\n",
+      "\n",
+      "#Calculations\n",
+      "I_01=V_01/math.sqrt(R**2+(X_L-X_c)**2)\n",
+      "P=I_01**2*R    \n",
+      "I_s=math.sqrt(2)*I_01*(2*math.cos(math.radians(45)))/math.pi\n",
+      "P_s=V_s*I_s    \n",
+      "\n",
+      "#Results\n",
+      "print(\"power delivered to the source=%.3f kW\" %(P/1000))\n",
+      "print(\"\\npower from the source=%.3f kW\" %(P_s/1000))\n",
+      "   "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "power delivered to the source=21.440 kW\n",
+        "\n",
+        "power from the source=21.440 kW\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.6 Page No 469"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_01=230.0\n",
+      "R=2.0\n",
+      "I_01=V_01/R\n",
+      "I_m=I_01*math.sqrt(2)\n",
+      "I_T1=I_m/2    \n",
+      "I_D1=0    \n",
+      "X_L=8.0\n",
+      "X_C=6.0\n",
+      "\n",
+      "#Calculations\n",
+      "I_01=V_01/math.sqrt(R**2+(X_L-X_C)**2)\n",
+      "phi1=math.degrees(math.atan((X_L-X_C)/R))\n",
+      "I_T1=I_T1*math.sqrt(2)*0.47675    \n",
+      "I_D1=.1507025*I_m/math.sqrt(2)    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"when load R=2 ohm\")\n",
+      "print(\"rms value of thyristor current=%.2f A\" %I_T1)\n",
+      "print(\"rms value of diode current=%.0f A\" %I_D1)\n",
+      "print(\"when load R=2ohm % X_L=8ohm and X_C=6ohm\")\n",
+      "print(\"rms value of thyristor current=%.3f A\" %I_T1)\n",
+      "print(\"rms value of diode current=%.3f A\" %I_D1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when load R=2 ohm\n",
+        "rms value of thyristor current=54.83 A\n",
+        "rms value of diode current=17 A\n",
+        "when load R=2ohm % X_L=8ohm and X_C=6ohm\n",
+        "rms value of thyristor current=54.826 A\n",
+        "rms value of diode current=17.331 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.7 Page No 470"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "R=4.0\n",
+      "f=50.0\n",
+      "w=2*math.pi*f\n",
+      "L=0.035\n",
+      "\n",
+      "#Calculations\n",
+      "C=155*10**-6\n",
+      "X_L=w*L\n",
+      "X_C=1/(w*C)\n",
+      "Z1=math.sqrt(R**2+(X_L-X_C)**2)\n",
+      "phi1=-math.degrees(math.atan((X_L-X_C)/R))\n",
+      "Z3=math.sqrt(R**2+(X_L*3-X_C/3)**2)\n",
+      "phi3=math.degrees(math.atan((X_L*3-X_C/3)/R))\n",
+      "Z5=math.sqrt(R**2+(X_L*5-X_C/5)**2)\n",
+      "phi5=math.degrees(math.atan((X_L*5-X_C/5)/R))\n",
+      "I_m1=4*V_s/(Z1*math.pi)\n",
+      "I_01=I_m1/math.sqrt(2)    \n",
+      "I_m3=4*V_s/(3*Z3*math.pi)\n",
+      "I_m5=4*V_s/(5*Z5*math.pi)\n",
+      "I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2)\n",
+      "I_0=I_m/math.sqrt(2)\n",
+      "P_0=(I_0)**2*R    \n",
+      "P_01=(I_01)**2*R    \n",
+      "t1=(180-phi1)*math.pi/(180*w)    \n",
+      "t1=(phi1)*math.pi/(180*w)    \n",
+      "\n",
+      "#Results\n",
+      "print(\"rms value of fundamental load current=%.2f A\" %I_01)\n",
+      "print(\"load power=%.1f W\" %P_0)\n",
+      "print(\"fundamental load power=%.1f W\" %P_01)\n",
+      "print(\"rms value of thyristor current=%.3f A\" %(I_m/2))\n",
+      "print(\"conduction time for thyristor=%.3f ms\" %(t1*1000))\n",
+      "print(\"Conduction time for diodes=%.3f ms\" %(t1*1000))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms value of fundamental load current=20.02 A\n",
+        "load power=1632.5 W\n",
+        "fundamental load power=1602.6 W\n",
+        "rms value of thyristor current=14.285 A\n",
+        "conduction time for thyristor=3.736 ms\n",
+        "Conduction time for diodes=3.736 ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.8, Page No 473"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_01=2*V_s/(math.sqrt(2)*math.pi)    \n",
+      "R=10.0\n",
+      "\n",
+      "#Calculations\n",
+      "I_01=V_01/R\n",
+      "P=I_01**2*R    \n",
+      "V_or=math.sqrt((V_s/2)**2)\n",
+      "P=V_or**2/R    \n",
+      "I_TP=V_s/(2*R)\n",
+      "I_or=I_TP\n",
+      "pf=I_01**2*R/(V_or*I_or)  \n",
+      "DF=V_01/V_or  \n",
+      "V_oh=math.sqrt(V_or**2-V_01**2)\n",
+      "THD=V_oh/V_01 \n",
+      "V_03=V_01/3\n",
+      "HF=V_03/V_01\n",
+      "\n",
+      "#Results\n",
+      "print(\"fundamental rms o/p voltage=%.3f V\" %V_01)\n",
+      "print(\"fundamental power to load=%.1f W\" %P)\n",
+      "print(\"total o/p power to load=%.1f W\" %P)\n",
+      "print(\"avg SCR current=%.2f A\" %(I_TP*180/360))\n",
+      "print(\"i/p pf=%.3f\" %pf)  \n",
+      "print(\"distortion factor=%.1f\" %DF)\n",
+      "print(\"THD=%.3f\" %THD)    \n",
+      "print(\"harmonic factor=%.4f\" %HF)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "fundamental rms o/p voltage=103.536 V\n",
+        "fundamental power to load=1322.5 W\n",
+        "total o/p power to load=1322.5 W\n",
+        "avg SCR current=5.75 A\n",
+        "i/p pf=0.811\n",
+        "distortion factor=0.9\n",
+        "THD=0.483\n",
+        "harmonic factor=0.3333\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.9 Page No 474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=60\n",
+      "R=3.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_or=math.sqrt(V_s**2*math.pi/math.pi)    \n",
+      "V_01=4*V_s/(math.sqrt(2)*math.pi)    \n",
+      "P_o=V_or**2/R    \n",
+      "P_01=V_01**2/R    \n",
+      "I_s=V_s/R    \n",
+      "I_avg=I_s*math.pi/(2*math.pi)    \n",
+      "V_03=V_01/3\n",
+      "HF=V_03/V_01    \n",
+      "V_oh=math.sqrt(V_or**2-V_01**2)\n",
+      "THD=V_oh/V_01   \n",
+      "\n",
+      "#Results\n",
+      "print(\"rms value of o/p voltage=%.0f V\" %V_or)\n",
+      "print(\"o/p power=%.0f W\" %P_o)\n",
+      "print(\"fundamental component of rms voltage=%.2f V\" %V_01)\n",
+      "print(\"fundamental freq o/p power=%.2f W\" %P_01) \n",
+      "print(\"peak current=%.0f A\" %I_s)\n",
+      "print(\"avg current of each transistor=%.0f A\" %I_avg)\n",
+      "print(\"peak reverse blocking voltage=%.0f V\" %V_s)\n",
+      "print(\"harmonic factor=%.4f\" %HF)\n",
+      "print(\"THD=%.4f\" %THD)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms value of o/p voltage=60 V\n",
+        "o/p power=1200 W\n",
+        "fundamental component of rms voltage=54.02 V\n",
+        "fundamental freq o/p power=972.68 W\n",
+        "peak current=20 A\n",
+        "avg current of each transistor=10 A\n",
+        "peak reverse blocking voltage=60 V\n",
+        "harmonic factor=0.3333\n",
+        "THD=0.4834\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.10 Page No 475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=220.0\n",
+      "R=6.0\n",
+      "f=50.0\n",
+      "w=2*math.pi*f\n",
+      "L=0.03\n",
+      "C=180*10**-6\n",
+      "X_L=w*L\n",
+      "X_C=1/(w*C)\n",
+      "\n",
+      "#Calculations\n",
+      "V_or=math.sqrt(V_s**2*math.pi/math.pi)\n",
+      "V_01=4*V_s/(math.sqrt(2)*math.pi)\n",
+      "V_oh=math.sqrt(V_or**2-V_01**2)\n",
+      "THD=V_oh/V_01    \n",
+      "print(\"THD of voltage=%.4f\" %THD)\n",
+      "DF=V_01/V_or    \n",
+      "Z1=math.sqrt(R**2+(X_L-X_C)**2)\n",
+      "phi1=-math.degrees(math.atan((X_L-X_C)/R))\n",
+      "Z3=math.sqrt(R**2+(X_L*3-X_C/3)**2)\n",
+      "phi3=math.degrees(math.atan((X_L*3-X_C/3)/R))\n",
+      "Z5=math.sqrt(R**2+(X_L*5-X_C/5)**2)\n",
+      "phi5=math.degrees(math.atan((X_L*5-X_C/5)/R))\n",
+      "Z7=math.sqrt(R**2+(X_L*7-X_C/7)**2)\n",
+      "phi7=math.degrees(math.atan((X_L*7-X_C/7)/R))\n",
+      "I_01=19.403\n",
+      "I_m1=4*V_s/(Z1*math.pi)\n",
+      "I_m3=4*V_s/(3*Z3*math.pi)\n",
+      "I_m5=4*V_s/(5*Z5*math.pi)\n",
+      "I_m7=4*V_s/(7*Z7*math.pi)\n",
+      "I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2+I_m7**2)\n",
+      "I_or=I_m/math.sqrt(2)\n",
+      "I_oh=math.sqrt((I_m**2-I_m1**2)/2)\n",
+      "THD=I_oh/I_01    \n",
+      "DF=I_01/I_or    \n",
+      "P_o=I_or**2*R    \n",
+      "I_avg=P_o/V_s    \n",
+      "t1=(180-phi1)*math.pi/(180*w)    \n",
+      "t1=1/(2*f)-t1    \n",
+      "I_p=I_m1    \n",
+      "I_t1=.46135*I_p \n",
+      "\n",
+      "#Results\n",
+      "print(\"\\nDF=%.1f\" %DF)\n",
+      "print(\"THD of current=%.4f\" %THD)   \n",
+      "print(\"DF=%.3f\" %DF)\n",
+      "print(\"load power=%.1f W\" %P_o)\n",
+      "print(\"avg value of load current=%.2f A\" %I_avg)\n",
+      "print(\"conduction time for thyristor=%.0f ms\" %(t1*1000))\n",
+      "print(\"conduction time for diodes=%.0f ms\" %(t1*1000))\n",
+      "print(\"peak transistor current=%.2f A\" %I_p)\n",
+      "print(\"rms transistor current=%.2f A\" %I_t1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "THD of voltage=0.4834\n",
+        "\n",
+        "DF=1.0\n",
+        "THD of current=0.1557\n",
+        "DF=0.988\n",
+        "load power=2313.5 W\n",
+        "avg value of load current=10.52 A\n",
+        "conduction time for thyristor=3 ms\n",
+        "conduction time for diodes=3 ms\n",
+        "peak transistor current=27.44 A\n",
+        "rms transistor current=12.66 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.11 Page No 497"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=450.0\n",
+      "R=10.0\n",
+      "\n",
+      "#Calculations\n",
+      "I_or=math.sqrt((V_s/(3*R))**2*2/3+(2*V_s/(3*R))**2*1/3)    \n",
+      "I_T1=math.sqrt((1/(2*math.pi))*((V_s/(3*R))**2*2*math.pi/3+(2*V_s/(3*R))**2*math.pi/3))   \n",
+      "P=3*I_or**2*R    \n",
+      "I_or=math.sqrt((1/(math.pi))*((V_s/(2*R))**2*2*math.pi/3))    \n",
+      "I_T1=math.sqrt((1/(2*math.pi))*((V_s/(2*R))**2*2*math.pi/3))    \n",
+      "P=3*I_or**2*R    \n",
+      "\n",
+      "#Results\n",
+      "print(\"for 180deg mode\")\n",
+      "print(\"rms value of load current=%.3f A\" %I_or)\n",
+      "print(\"power delivered to load=%.1f kW\" %(P/1000))\n",
+      "print(\"rms value of load current=%.0f A\" %I_T1)\n",
+      "print(\"for 120deg mode\")\n",
+      "print(\"rms value of load current=%.3f A\" %I_or)\n",
+      "print(\"rms value of load current=%.2f A\" %I_T1)\n",
+      "print(\"power delivered to load=%.3f kW\" %(P/1000))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for 180deg mode\n",
+        "rms value of load current=18.371 A\n",
+        "power delivered to load=10.1 kW\n",
+        "rms value of load current=13 A\n",
+        "for 120deg mode\n",
+        "rms value of load current=18.371 A\n",
+        "rms value of load current=12.99 A\n",
+        "power delivered to load=10.125 kW\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.12, Page No 510"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "R=10.0\n",
+      "f=50.0\n",
+      "w=2*math.pi*f\n",
+      "L=0.03\n",
+      "\n",
+      "#Calculations\n",
+      "X_L=w*L\n",
+      "V_or=math.sqrt(V_s**2*math.pi/math.pi)\n",
+      "V_01=4*V_s/(math.sqrt(2)*math.pi)\n",
+      "Z1=math.sqrt(R**2+(X_L)**2)\n",
+      "phi1=-math.degrees(math.atan((X_L)/R))\n",
+      "Z3=math.sqrt(R**2+(X_L*3)**2)\n",
+      "phi3=math.degrees(math.atan((X_L*3)/R))\n",
+      "Z5=math.sqrt(R**2+(X_L*5)**2)\n",
+      "phi5=math.degrees(math.atan((X_L*5)/R))\n",
+      "Z7=math.sqrt(R**2+(X_L*7)**2)\n",
+      "phi7=math.degrees(math.atan((X_L*7)/R))\n",
+      "I_m1=4*V_s/(math.sqrt(2)*Z1*math.pi)\n",
+      "I_m3=4*V_s/(math.sqrt(2)*3*Z3*math.pi)\n",
+      "I_m5=4*V_s/(math.sqrt(2)*5*Z5*math.pi)\n",
+      "I_m7=4*V_s/(math.sqrt(2)*7*Z7*math.pi)\n",
+      "I_m=math.sqrt(I_m1**2+I_m3**2+I_m5**2+I_m7**2)\n",
+      "P=I_m**2*R    \n",
+      "I_01=I_m1*math.sin(math.radians(45))\n",
+      "I_03=I_m3*math.sin(math.radians(3*45))\n",
+      "I_05=I_m5*math.sin(math.radians(5*45))\n",
+      "I_07=I_m7*math.sin(math.radians(7*45))\n",
+      "I_0=(I_01**2+I_03**2+I_05**2+I_07**2)\n",
+      "P=I_0*R    \n",
+      "g=(180-90)/3+45/2\n",
+      "I_01=2*I_m1*math.sin(math.radians(g))*math.sin(math.radians(45/2))\n",
+      "I_03=2*I_m3*math.sin(math.radians(g*3))*math.sin(math.radians(3*45/2))\n",
+      "I_05=2*I_m5*math.sin(math.radians(g*5))*math.sin(math.radians(5*45/2))\n",
+      "I_07=2*I_m7*math.sin(math.radians(g*7))*math.sin(math.radians(7*45/2))\n",
+      "I_0=(I_01**2+I_03**2+I_05**2+I_07**2)\n",
+      "P=I_0*R    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"using square wave o/p\")\n",
+      "print(\"power delivered=%.2f W\" %P)\n",
+      "print(\"using quasi-square wave o/p\")\n",
+      "print(\"power delivered=%.2f W\" %P)\n",
+      "print(\"using two symmitrical spaced pulses\")\n",
+      "print(\"power delivered=%.2f W\" %P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "using square wave o/p\n",
+        "power delivered=845.87 W\n",
+        "using quasi-square wave o/p\n",
+        "power delivered=845.87 W\n",
+        "using two symmitrical spaced pulses\n",
+        "power delivered=845.87 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.14, Page No 520"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "f=50.0\n",
+      "T=1/f\n",
+      "I=0.5\n",
+      "\n",
+      "#Calculations\n",
+      "di=I/T     #di=di/dt\n",
+      "V_s=220.0\n",
+      "L=V_s/di    \n",
+      "t=20*10**-6\n",
+      "fos=2     #factor of safety\n",
+      "t_c=t*fos\n",
+      "R=10\n",
+      "C=t_c/(R*math.log(2))\n",
+      "\n",
+      "#Results    \n",
+      "print(\"source inductance=%.1f H\" %L)\n",
+      "print(\"commutating capacitor=%.2f uF\" %(C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "source inductance=8.8 H\n",
+        "commutating capacitor=5.77 uF\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.15, Page No 539"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "R=10.0\n",
+      "L=.01\n",
+      "C=10*10**-6\n",
+      "#Calculations\n",
+      "if (R**2)<(4*L/C) :\n",
+      "    print(\"ckt will commutate on its own\")\n",
+      "else:\n",
+      "    print(\"ckt will not commutate on its own\")\n",
+      "\n",
+      "xie=R/(2*L)\n",
+      "w_o=1/math.sqrt(L*C)\n",
+      "w_r=math.sqrt(w_o**2-xie**2)\n",
+      "phi=math.degrees(math.atan(xie/w_r))\n",
+      "t=math.pi/w_r\n",
+      "V_s=1\n",
+      "v_L=V_s*(w_o/w_r)*math.exp(-xie*t)*math.cos(math.radians(180+phi))\n",
+      "v_c=V_s*(1-(w_o/w_r)*math.exp(-xie*t)*math.cos(math.radians(180-phi)))   \n",
+      "di=V_s/L    \n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"voltage across inductor(*V_s)=%.5f V\" %v_L) \n",
+      "print(\"voltage across capacitor(*V_s)=%.5f V\" %v_c)\n",
+      "print(\"di/dt*V_s (for t=0)=%.0f A/s\" %di)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "ckt will commutate on its own\n",
+        "voltage across inductor(*V_s)=-0.60468 V\n",
+        "voltage across capacitor(*V_s)=1.60468 V\n",
+        "di/dt*V_s (for t=0)=100 A/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.16, Page No 540"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "L=0.006\n",
+      "C=1.2*10**-6\n",
+      "R=100.0\n",
+      "\n",
+      "#Calculations\n",
+      "T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)\n",
+      "T_off=0.2*10**-3\n",
+      "f=1/(2*(T+T_off))    \n",
+      "R=40\n",
+      "T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)\n",
+      "T_off=.2*10**-3\n",
+      "f=1/(2*(T+T_off))    \n",
+      "R=140\n",
+      "T=math.pi/math.sqrt(1/(L*C)-(R/(2*L))**2)\n",
+      "T_off=.2*10**-3\n",
+      "f=1/(2*(T+T_off)) \n",
+      "\n",
+      "#Results\n",
+      "print(\"o/p freq=%.2f Hz\" %f)\n",
+      "print(\"for R=40ohm\")\n",
+      "print(\"upper limit o/p freq=%.1f Hz\" %f)\n",
+      "print(\"for R=140ohm\")\n",
+      "print(\"lower limit o/p freq=%.1f Hz\" %f)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "o/p freq=239.81 Hz\n",
+        "for R=40ohm\n",
+        "upper limit o/p freq=239.8 Hz\n",
+        "for R=140ohm\n",
+        "lower limit o/p freq=239.8 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.17, Page No 540"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "f=5000.0\n",
+      "w=2*math.pi*f\n",
+      "R=3.0\n",
+      "\n",
+      "#Calculations\n",
+      "L=60*10**-6\n",
+      "xie=R/(2*L)\n",
+      "C=7.5*10**-6\n",
+      "w_o=1/math.sqrt(L*C)\n",
+      "w_r=math.sqrt(w_o**2-xie**2)\n",
+      "t_c=math.pi*(1/w-1/w_r)    \n",
+      "fos=1.5\n",
+      "t_q=10*10**-6\n",
+      "f_max=1/(2*math.pi*(t_q*fos/math.pi+1/w_r))    \n",
+      "\n",
+      "#Results\n",
+      "print(\"ckt turn off time=%.2f us\" %(t_c*10**6))\n",
+      "print(\"max possible operating freq=%.1f Hz\" %f_max)\n",
+      " #Answers have small variations from that in the book due to difference in the rounding off of digits."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "ckt turn off time=21.39 us\n",
+        "max possible operating freq=5341.4 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.18, Page No 541"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "a=30.0\n",
+      "R=10.0\n",
+      "P=5000.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_s=math.sqrt(P*R*2*math.pi/(2*3)/(math.pi/3+math.sqrt(3)*math.cos(math.radians(2*a))/2))\n",
+      "V_ph=V_s/math.sqrt(3)    \n",
+      "I_or=math.sqrt(P*R)\n",
+      "V_s=I_or*math.pi/(math.sqrt(2)*3*math.cos(math.radians(a)))\n",
+      "V_ph=V_s/math.sqrt(3) \n",
+      "\n",
+      "#Results\n",
+      "print(\"per phase voltage  V_ph=%.3f V\" %V_ph)   \n",
+      "print(\"for constant load current\")\n",
+      "print(\"V_ph=%.2f V\" %V_ph)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "per phase voltage  V_ph=110.384 V\n",
+        "for constant load current\n",
+        "V_ph=110.38 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.19, Page No 547"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "t=20.0\n",
+      "fos=2.0     #factor of safety\n",
+      "\n",
+      "#Calculations\n",
+      "t_c=t*fos\n",
+      "n=1.0/3\n",
+      "R=20.0\n",
+      "C=n**2*t_c/(4*R*math.log(2)) \n",
+      "\n",
+      "#Results   \n",
+      "print(\"value of capacitor=%.2f uF\" %C)\n",
+      " #printing mistake in the answer in book."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of capacitor=0.08 uF\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.20, Page No 547"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=220.0\n",
+      "V_p=math.sqrt(2)*V_s/3    \n",
+      "V_L=math.sqrt(3)*V_p    \n",
+      "V_p1=math.sqrt(2)*V_s/math.pi    \n",
+      "V_L1=math.sqrt(3)*V_p1    \n",
+      "V_oh=math.sqrt(V_L**2-V_L1**2)\n",
+      "\n",
+      "#Calculations\n",
+      "THD=V_oh/V_L1    \n",
+      "V_a1=2*V_s/math.pi\n",
+      "V_a5=2*V_s/(5*math.pi)\n",
+      "V_a7=2*V_s/(7*math.pi)\n",
+      "V_a11=2*V_s/(11*math.pi)\n",
+      "R=4.0\n",
+      "L=0.02\n",
+      "f=50\n",
+      "w=2*math.pi*f\n",
+      "Z1=math.sqrt(R**2+(w*L)**2)\n",
+      "Z5=math.sqrt(R**2+(5*w*L)**2)\n",
+      "Z7=math.sqrt(R**2+(7*w*L)**2)\n",
+      "Z11=math.sqrt(R**2+(11*w*L)**2)\n",
+      "I_a1=V_a1/Z1\n",
+      "I_a5=V_a5/Z5\n",
+      "I_a7=V_a7/Z7\n",
+      "I_a11=V_a11/Z11\n",
+      "I_or=math.sqrt((I_a1**2+I_a5**2+I_a7**2+I_a11**2)/2)\n",
+      "P=3*I_or**2*R    \n",
+      "I_s=P/V_s    \n",
+      "I_TA=I_s/3   \n",
+      " \n",
+      "#Results\n",
+      "print(\"rms value of phasor voltages=%.2f V\" %V_p)\n",
+      "print(\"rms value of line voltages=%.2f V\" %V_L)\n",
+      "print(\"fundamental component of phase voltage=%.3f V\" %V_p1)\n",
+      "print(\"fundamental component of line voltages=%.3f V\" %V_L1)\n",
+      "print(\"THD=%.7f\" %THD)\n",
+      "print(\"load power=%.1f W\" %P)\n",
+      "print(\"avg value of source current=%.3f A\" %I_s)\n",
+      "print(\"avg value of thyristor current=%.3f A\" %I_TA)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms value of phasor voltages=103.71 V\n",
+        "rms value of line voltages=179.63 V\n",
+        "fundamental component of phase voltage=99.035 V\n",
+        "fundamental component of line voltages=171.533 V\n",
+        "THD=0.3108419\n",
+        "load power=2127.6 W\n",
+        "avg value of source current=9.671 A\n",
+        "avg value of thyristor current=3.224 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Chapter9_4.ipynb b/Power_Electronics/Chapter9_4.ipynb
new file mode 100755
index 00000000..052c4736
--- /dev/null
+++ b/Power_Electronics/Chapter9_4.ipynb
@@ -0,0 +1,388 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 09 : AC Voltage Controllers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.1, Page No 560"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "a=45.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_or=(V_m/2)*math.sqrt(1/math.pi*((2*math.pi-a*math.pi/180)+math.sin(math.radians(2*a))/2))    \n",
+      "R=20\n",
+      "I_or=V_or/R\n",
+      "P_o=I_or**2*R    \n",
+      "I_s=I_or\n",
+      "VA=V_s*I_s\n",
+      "pf=P_o/VA    \n",
+      "V_o=math.sqrt(2)*V_s/(2*math.pi)*(math.cos(math.radians(a))-1)\n",
+      "I_ON=V_o/R  \n",
+      "\n",
+      "#Results\n",
+      "print(\"rms value of o/p voltage=%.3f V\" %V_or)\n",
+      "print(\"load power=%.1f W\" %P_o)\n",
+      "print(\"i/p pf=%.4f\" %pf)\n",
+      "print(\"avg i/p current=%.4f A\" %I_ON)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms value of o/p voltage=224.716 V\n",
+        "load power=2524.9 W\n",
+        "i/p pf=0.9770\n",
+        "avg i/p current=-0.7581 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.2, Page No 560"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "a=45.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_or=(V_s)*math.sqrt(1/math.pi*((math.pi-a*math.pi/180)+math.sin(math.radians(2*a))/2))    \n",
+      "R=20\n",
+      "I_or=V_or/R\n",
+      "P_o=I_or**2*R    \n",
+      "I_s=I_or\n",
+      "VA=V_s*I_s\n",
+      "pf=P_o/VA    \n",
+      "I_TA=math.sqrt(2)*V_s/(2*math.pi*R)*(math.cos(math.radians(a))+1)   \n",
+      "I_Tr=math.sqrt(2)*V_s/(2*R)*math.sqrt(1/math.pi*((math.pi-a*math.pi/180)+math.sin(math.radians(2*a))/2)) \n",
+      "\n",
+      "#Results\n",
+      "print(\"rms value of o/p voltage=%.3f V\" %V_or)\n",
+      "print(\"load power=%.2f W\" %P_o)\n",
+      "print(\"i/p pf=%.2f\" %pf)\n",
+      "print(\"avg thyristor current=%.2f A\" %I_TA)   \n",
+      "print(\"rms value of thyristor current=%.2f A\" %I_Tr)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms value of o/p voltage=219.304 V\n",
+        "load power=2404.71 W\n",
+        "i/p pf=0.95\n",
+        "avg thyristor current=4.42 A\n",
+        "rms value of thyristor current=7.75 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.3 Page No 564"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "n=6.0 #on cycles\n",
+      "m=4.0 #off cycles\n",
+      "\n",
+      "#Calculations\n",
+      "k=n/(n+m)\n",
+      "V_or=V_s*math.sqrt(k)    \n",
+      "pf=math.sqrt(k)    \n",
+      "R=15\n",
+      "I_m=V_s*math.sqrt(2)/R\n",
+      "I_TA=k*I_m/math.pi\n",
+      "I_TR=I_m*math.sqrt(k)/2  \n",
+      "   \n",
+      "#Results\n",
+      "print(\"rms value of o/ voltage=%.2f V\" %V_or)\n",
+      "print(\"i/p pf=%.2f\" %pf)\n",
+      "print(\"avg thyristor current=%.2f A\" %I_TA)  \n",
+      "print(\"rms value of thyristor current=%.2f A\" %I_TR)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms value of o/ voltage=178.16 V\n",
+        "i/p pf=0.77\n",
+        "avg thyristor current=4.14 A\n",
+        "rms value of thyristor current=8.40 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.4, Page No 569"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "R=3.0\n",
+      "\n",
+      "#Calculations\n",
+      "I_TAM1=2*V_m/(2*math.pi*R)  \n",
+      "I_TRM2=V_m/(2*R)    \n",
+      "f=50\n",
+      "w=2*math.pi*f\n",
+      "t_c=math.pi/w    \n",
+      " \n",
+      "#Results\n",
+      "print(\"max value of avg thyristor current=%.3f A\" %I_TAM1)\n",
+      "print(\"max value of avg thyristor current=%.3f A\" %I_TRM2)\n",
+      "print(\"ckt turn off time=%.0f ms\" %(t_c*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "max value of avg thyristor current=34.512 A\n",
+        "max value of avg thyristor current=54.212 A\n",
+        "ckt turn off time=10 ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 Page No 575"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "R=3.0\n",
+      "X_L=4.0\n",
+      "\n",
+      "#Calculations\n",
+      "phi=math.degrees(math.atan(X_L/R))    \n",
+      "V_s=230\n",
+      "Z=math.sqrt(R**2+X_L**2)\n",
+      "I_or=V_s/Z    \n",
+      "P=I_or**2*R    \n",
+      "I_s=I_or\n",
+      "pf=P/(V_s*I_s)    \n",
+      "I_TAM=math.sqrt(2)*V_s/(math.pi*Z)    \n",
+      "I_Tm=math.sqrt(2)*V_s/(2*Z)    \n",
+      "f=50\n",
+      "w=2*math.pi*f\n",
+      "di=math.sqrt(2)*V_s*w/Z    \n",
+      "\n",
+      "#Results\n",
+      "print(\"min firing angle=%.2f deg\" %phi)\n",
+      "print(\"\\nmax firing angle=%.0f deg\" %180)\n",
+      "print(\"i/p pf=%.1f\" %pf)\n",
+      "print(\"max value of rms load current=%.0f A\" %I_or)\n",
+      "print(\"max power=%.0f W\" %P)\n",
+      "print(\"max value of avg thyristor current=%.3f A\" %I_TAM)\n",
+      "print(\"max value of rms thyristor current=%.3f A\" %I_Tm)\n",
+      "print(\"di/dt=%.0f A/s\" %di)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "min firing angle=53.13 deg\n",
+        "\n",
+        "max firing angle=180 deg\n",
+        "i/p pf=0.6\n",
+        "max value of rms load current=46 A\n",
+        "max power=6348 W\n",
+        "max value of avg thyristor current=20.707 A\n",
+        "max value of rms thyristor current=32.527 A\n",
+        "di/dt=20437 A/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.6 Page No 576"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V=230.0\n",
+      "R=3.0 #ohm\n",
+      "X_L=5.0 #ohm\n",
+      "a=120.0 #firing angle delay\n",
+      "\n",
+      "#Calculations\n",
+      "phi=math.degrees(math.atan(X_L/R))\n",
+      "b=0\n",
+      "i=1\n",
+      "while (i>0) :\n",
+      "    LHS=math.sin(math.radians(b-a))\n",
+      "    RHS=math.sin(math.radians(a-phi))*math.exp(-(R/X_L)*(b-a)*math.pi/180)\n",
+      "    if math.fabs(LHS-RHS)<= 0.01 :\n",
+      "        B=b\n",
+      "        i=2\n",
+      "        break\n",
+      "   \n",
+      "    b=b+.1   \n",
+      "V_or=math.sqrt(2)*V*math.sqrt((1/(2*math.pi))*((B-a)*math.pi/180+(math.sin(math.radians(2*a))-math.sin(math.radians(2*B)))/2))\n",
+      "\n",
+      "\n",
+      "#Results\n",
+      "print(\"Extinction angle=%.1f deg\" %B) #answer in the book is wrong as formulae for RHS is wrongly employed\n",
+      "print(\"rms value of output voltage=%.2f V\" %V_or) #answer do not match due to wrong B in book\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Extinction angle=156.1 deg\n",
+        "rms value of output voltage=97.75 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.8, Page No 581"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#initialisation of variables\n",
+      "V_s=230.0\n",
+      "V_m=math.sqrt(2)*V_s\n",
+      "a=60.0\n",
+      "R=20.0\n",
+      "\n",
+      "#Calculations\n",
+      "V_or=math.sqrt((V_m**2/(2*math.pi))*(a*math.pi/180-math.sin(math.radians(2*a))/2)+(2*V_m**2/(math.pi))*(math.pi-a*math.pi/180+math.sin(math.radians(2*a))/2))    \n",
+      "I_T1r=(V_m/R)*math.sqrt(1/math.pi*((math.pi-a*math.pi/180)+math.sin(math.radians(2*a))/2))    \n",
+      "I_T3r=(V_m/(2*R))*math.sqrt(1/math.pi*((a*math.pi/180)-math.sin(math.radians(2*a))/2))    \n",
+      "I1=math.sqrt(2)*I_T1r\n",
+      "I3=math.sqrt((math.sqrt(2)*I_T1r)**2+(math.sqrt(2)*I_T3r)**2)\n",
+      "r=V_s*(I1+I3)    \n",
+      "P_o=V_or**2/R\n",
+      "pf=P_o/r    \n",
+      "\n",
+      "#Results\n",
+      "print(\"rms value of o/p voltage=%.2f V\" %V_or)\n",
+      "print(\"rms value of current for upper thyristors=%.2f A\" %I_T1r)\n",
+      "print(\"rms value of current for lower thyristors=%.2f A\" %I_T3r)\n",
+      "print(\"t/f VA rating=%.2f VA\" %r)\n",
+      "print(\"i/p pf=%.2f\" %pf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms value of o/p voltage=424.94 V\n",
+        "rms value of current for upper thyristors=14.59 A\n",
+        "rms value of current for lower thyristors=3.60 A\n",
+        "t/f VA rating=9631.61 VA\n",
+        "i/p pf=0.94\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_10_1.ipynb b/Power_Electronics/Power_electronics_ch_10_1.ipynb
new file mode 100755
index 00000000..a1e99a45
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_10_1.ipynb
@@ -0,0 +1,283 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10 : Power Supplies"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.1, Page No. 416"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Voltage regulation and % change in output voltage per unit of load current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vfl = 24                # full load voltage\n",
+      "Vnl = 24.5              # no load voltage\n",
+      "Ifl = 2                 # full load current\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "VR = (Vnl-Vfl)/Vfl\n",
+      "#(b)\n",
+      "x = VR*100/Ifl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Voltage regulation = %.4f or %.2f%%\\n(b) %%tage change in output voltage per unit load current = %.2f%%\"%(VR,VR*100,x))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Voltage regulation = 0.0208 or 2.08%\n",
+        "(b) %tage change in output voltage per unit load current = 1.04%\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.2, Page No. 416"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Redulation in percent V\n",
+      "\n",
+      "\n",
+      "import math\n",
+      "Vout = 0.3             # change in output voltage when input change\n",
+      "Vin = 4                # input voltage change\n",
+      "V = 15                 # rated ouutput voltage\n",
+      "\n",
+      "#calculations\n",
+      "lr = (Vout/V)*100/Vin\n",
+      "print(\"%% line regulation = %.1f%% V\"%lr)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "% line regulation = 0.5% V\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.3, Page No. 416"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage, load current, zener curretn\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vi = 15.0                # input voltage\n",
+      "beta_dc = 50.0           # transistor gain\n",
+      "Rl = 1000.0              # load resistor\n",
+      "Vz = 6.0                 # zener voltage\n",
+      "Ri = 500.0               # input voltage\n",
+      "Vbe = 0.7                # voltage drop across transistor base-emitter\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = Vz-Vbe\n",
+      "Il = Vo/Rl\n",
+      "Vce = Vi-Vo\n",
+      "I = (V-Vz)/Ri\n",
+      "Ib = Il/beta_dc\n",
+      "Iz = I-Ib\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %.1fV\\nLoad current = %.1f mA\\nZener current = %.3f mA\"%(Vo,Il*1000,Iz*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 5.3V\n",
+        "Load current = 5.3 mA\n",
+        "Zener current = 17.894 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.4, Page No. 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#output voltage(referring fig.10.2)\n",
+      "\n",
+      "import math\n",
+      "Vz = 6.0               # zener voltage\n",
+      "R1 = 10.0*10**3        # resistance 1\n",
+      "R2 = 15.0*10**3        # resistance 2\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = (1+(R2/R1))*Vz\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %d V\"%Vo)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 15 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.5, Page No. 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# finding Vo, Io, Ic (referring fig.10.1)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vz = 9.0               # zener voltage\n",
+      "R1 = 1.5*10**3         # resistance 1\n",
+      "R2 = 3.0*10**3         # resistance 2, value used in calculations\n",
+      "Rl = 2.0*10**3         # load resistance\n",
+      "Rs = 200               # source resistance\n",
+      "Vin = 30               # input oltage\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = (1+(R2/R1))*Vz\n",
+      "Is =(Vin - Vo)/Rs\n",
+      "Io = Vo/Rl\n",
+      "Ic = Is -Io\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %d V\\nIo = %.1f mA\\nIc = %.1f mA\"%(Vo,Io*1000,Ic*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 27 V\n",
+        "Io = 13.5 mA\n",
+        "Ic = 1.5 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.6, Page No. 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Minimum and maximum output voltage\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Iadj = 40*10**-6           # current\n",
+      "Vref = 1.25                # reference voltage\n",
+      "R1 = 2*10**3               # resistance R1\n",
+      "R2min = 0                  # minimum value of R2 resistor\n",
+      "R2max = 20.0*10**3         # maximum value of R2 resistor\n",
+      "\n",
+      "#calculations\n",
+      "Vo1 = (Vref*(1+(R2max/R1)))+Iadj*R2max\n",
+      "Vo2 = Vref*(1+(R2min/R1))\n",
+      "\n",
+      "#Result\n",
+      "print(\"When R2 = %d k-ohm\\nVo = %.2f V\"%(R2max/1000,Vo1))\n",
+      "print(\"\\nWhen R2 = %d k-ohm\\nVo = %.2f V\"%(R2min/1000,Vo2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When R2 = 20 k-ohm\n",
+        "Vo = 14.55 V\n",
+        "\n",
+        "When R2 = 0 k-ohm\n",
+        "Vo = 1.25 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_10_2.ipynb b/Power_Electronics/Power_electronics_ch_10_2.ipynb
new file mode 100755
index 00000000..a1e99a45
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_10_2.ipynb
@@ -0,0 +1,283 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10 : Power Supplies"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.1, Page No. 416"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Voltage regulation and % change in output voltage per unit of load current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vfl = 24                # full load voltage\n",
+      "Vnl = 24.5              # no load voltage\n",
+      "Ifl = 2                 # full load current\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "VR = (Vnl-Vfl)/Vfl\n",
+      "#(b)\n",
+      "x = VR*100/Ifl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Voltage regulation = %.4f or %.2f%%\\n(b) %%tage change in output voltage per unit load current = %.2f%%\"%(VR,VR*100,x))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Voltage regulation = 0.0208 or 2.08%\n",
+        "(b) %tage change in output voltage per unit load current = 1.04%\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.2, Page No. 416"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Redulation in percent V\n",
+      "\n",
+      "\n",
+      "import math\n",
+      "Vout = 0.3             # change in output voltage when input change\n",
+      "Vin = 4                # input voltage change\n",
+      "V = 15                 # rated ouutput voltage\n",
+      "\n",
+      "#calculations\n",
+      "lr = (Vout/V)*100/Vin\n",
+      "print(\"%% line regulation = %.1f%% V\"%lr)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "% line regulation = 0.5% V\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.3, Page No. 416"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage, load current, zener curretn\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vi = 15.0                # input voltage\n",
+      "beta_dc = 50.0           # transistor gain\n",
+      "Rl = 1000.0              # load resistor\n",
+      "Vz = 6.0                 # zener voltage\n",
+      "Ri = 500.0               # input voltage\n",
+      "Vbe = 0.7                # voltage drop across transistor base-emitter\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = Vz-Vbe\n",
+      "Il = Vo/Rl\n",
+      "Vce = Vi-Vo\n",
+      "I = (V-Vz)/Ri\n",
+      "Ib = Il/beta_dc\n",
+      "Iz = I-Ib\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %.1fV\\nLoad current = %.1f mA\\nZener current = %.3f mA\"%(Vo,Il*1000,Iz*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 5.3V\n",
+        "Load current = 5.3 mA\n",
+        "Zener current = 17.894 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.4, Page No. 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#output voltage(referring fig.10.2)\n",
+      "\n",
+      "import math\n",
+      "Vz = 6.0               # zener voltage\n",
+      "R1 = 10.0*10**3        # resistance 1\n",
+      "R2 = 15.0*10**3        # resistance 2\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = (1+(R2/R1))*Vz\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %d V\"%Vo)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 15 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.5, Page No. 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# finding Vo, Io, Ic (referring fig.10.1)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vz = 9.0               # zener voltage\n",
+      "R1 = 1.5*10**3         # resistance 1\n",
+      "R2 = 3.0*10**3         # resistance 2, value used in calculations\n",
+      "Rl = 2.0*10**3         # load resistance\n",
+      "Rs = 200               # source resistance\n",
+      "Vin = 30               # input oltage\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = (1+(R2/R1))*Vz\n",
+      "Is =(Vin - Vo)/Rs\n",
+      "Io = Vo/Rl\n",
+      "Ic = Is -Io\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %d V\\nIo = %.1f mA\\nIc = %.1f mA\"%(Vo,Io*1000,Ic*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 27 V\n",
+        "Io = 13.5 mA\n",
+        "Ic = 1.5 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.6, Page No. 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Minimum and maximum output voltage\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Iadj = 40*10**-6           # current\n",
+      "Vref = 1.25                # reference voltage\n",
+      "R1 = 2*10**3               # resistance R1\n",
+      "R2min = 0                  # minimum value of R2 resistor\n",
+      "R2max = 20.0*10**3         # maximum value of R2 resistor\n",
+      "\n",
+      "#calculations\n",
+      "Vo1 = (Vref*(1+(R2max/R1)))+Iadj*R2max\n",
+      "Vo2 = Vref*(1+(R2min/R1))\n",
+      "\n",
+      "#Result\n",
+      "print(\"When R2 = %d k-ohm\\nVo = %.2f V\"%(R2max/1000,Vo1))\n",
+      "print(\"\\nWhen R2 = %d k-ohm\\nVo = %.2f V\"%(R2min/1000,Vo2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When R2 = 20 k-ohm\n",
+        "Vo = 14.55 V\n",
+        "\n",
+        "When R2 = 0 k-ohm\n",
+        "Vo = 1.25 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_10_3.ipynb b/Power_Electronics/Power_electronics_ch_10_3.ipynb
new file mode 100755
index 00000000..a1e99a45
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_10_3.ipynb
@@ -0,0 +1,283 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10 : Power Supplies"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.1, Page No. 416"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Voltage regulation and % change in output voltage per unit of load current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vfl = 24                # full load voltage\n",
+      "Vnl = 24.5              # no load voltage\n",
+      "Ifl = 2                 # full load current\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "VR = (Vnl-Vfl)/Vfl\n",
+      "#(b)\n",
+      "x = VR*100/Ifl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Voltage regulation = %.4f or %.2f%%\\n(b) %%tage change in output voltage per unit load current = %.2f%%\"%(VR,VR*100,x))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Voltage regulation = 0.0208 or 2.08%\n",
+        "(b) %tage change in output voltage per unit load current = 1.04%\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.2, Page No. 416"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Redulation in percent V\n",
+      "\n",
+      "\n",
+      "import math\n",
+      "Vout = 0.3             # change in output voltage when input change\n",
+      "Vin = 4                # input voltage change\n",
+      "V = 15                 # rated ouutput voltage\n",
+      "\n",
+      "#calculations\n",
+      "lr = (Vout/V)*100/Vin\n",
+      "print(\"%% line regulation = %.1f%% V\"%lr)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "% line regulation = 0.5% V\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.3, Page No. 416"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage, load current, zener curretn\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vi = 15.0                # input voltage\n",
+      "beta_dc = 50.0           # transistor gain\n",
+      "Rl = 1000.0              # load resistor\n",
+      "Vz = 6.0                 # zener voltage\n",
+      "Ri = 500.0               # input voltage\n",
+      "Vbe = 0.7                # voltage drop across transistor base-emitter\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = Vz-Vbe\n",
+      "Il = Vo/Rl\n",
+      "Vce = Vi-Vo\n",
+      "I = (V-Vz)/Ri\n",
+      "Ib = Il/beta_dc\n",
+      "Iz = I-Ib\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %.1fV\\nLoad current = %.1f mA\\nZener current = %.3f mA\"%(Vo,Il*1000,Iz*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 5.3V\n",
+        "Load current = 5.3 mA\n",
+        "Zener current = 17.894 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.4, Page No. 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#output voltage(referring fig.10.2)\n",
+      "\n",
+      "import math\n",
+      "Vz = 6.0               # zener voltage\n",
+      "R1 = 10.0*10**3        # resistance 1\n",
+      "R2 = 15.0*10**3        # resistance 2\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = (1+(R2/R1))*Vz\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %d V\"%Vo)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 15 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.5, Page No. 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# finding Vo, Io, Ic (referring fig.10.1)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vz = 9.0               # zener voltage\n",
+      "R1 = 1.5*10**3         # resistance 1\n",
+      "R2 = 3.0*10**3         # resistance 2, value used in calculations\n",
+      "Rl = 2.0*10**3         # load resistance\n",
+      "Rs = 200               # source resistance\n",
+      "Vin = 30               # input oltage\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = (1+(R2/R1))*Vz\n",
+      "Is =(Vin - Vo)/Rs\n",
+      "Io = Vo/Rl\n",
+      "Ic = Is -Io\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vo = %d V\\nIo = %.1f mA\\nIc = %.1f mA\"%(Vo,Io*1000,Ic*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vo = 27 V\n",
+        "Io = 13.5 mA\n",
+        "Ic = 1.5 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 10.6, Page No. 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Minimum and maximum output voltage\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Iadj = 40*10**-6           # current\n",
+      "Vref = 1.25                # reference voltage\n",
+      "R1 = 2*10**3               # resistance R1\n",
+      "R2min = 0                  # minimum value of R2 resistor\n",
+      "R2max = 20.0*10**3         # maximum value of R2 resistor\n",
+      "\n",
+      "#calculations\n",
+      "Vo1 = (Vref*(1+(R2max/R1)))+Iadj*R2max\n",
+      "Vo2 = Vref*(1+(R2min/R1))\n",
+      "\n",
+      "#Result\n",
+      "print(\"When R2 = %d k-ohm\\nVo = %.2f V\"%(R2max/1000,Vo1))\n",
+      "print(\"\\nWhen R2 = %d k-ohm\\nVo = %.2f V\"%(R2min/1000,Vo2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When R2 = 20 k-ohm\n",
+        "Vo = 14.55 V\n",
+        "\n",
+        "When R2 = 0 k-ohm\n",
+        "Vo = 1.25 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_12_1.ipynb b/Power_Electronics/Power_electronics_ch_12_1.ipynb
new file mode 100755
index 00000000..46f69125
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_12_1.ipynb
@@ -0,0 +1,1030 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12: Integrated Citcuits and Operational Amplifiers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.1, Page No.442"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# dc currents and voltage of differential amplifier\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vcc = 12              # collector voltage\n",
+      "Vee = -12             # emitter voltage\n",
+      "Rc = 4.1*10**3        # Collector resistance\n",
+      "Re = 3.8*10**3        # emitter resistance\n",
+      "Vbe = 0.7             # voltage across base-emitter junction\n",
+      "\n",
+      "#Calculations\n",
+      "Ie = (Vcc-Vbe)/Re\n",
+      "Ic = 0.5*Ie\n",
+      "Vo = Vcc-Ic*Rc\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ie = %.4f mA\\nIc = %.3f mA\\nVo = %.1f V\"%(Ie*1000,Ic*1000,Vo))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ie = 2.9737 mA\n",
+        "Ic = 1.487 mA\n",
+        "Vo = 5.9 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.2, Page No.442"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Differential amplifier parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vcc = 12              # collector voltage\n",
+      "Vee = -12             # emitter voltage\n",
+      "Rc = 1*10**6          # Collector resistance\n",
+      "Re = 1*10**6          # emitter resistance\n",
+      "Vbe = 0.7             # voltage across base-emitter junction\n",
+      "vi = 2.1*10**-3       # AC input voltage\n",
+      "beta = 75       \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Ie = (Vcc-Vbe)/Re\n",
+      "ie = 0.5*Ie\n",
+      "re = (25*10**-3)/ie\n",
+      "re_dash = 4420.0#value used in the book\n",
+      "#(b)\n",
+      "g = Rc/(2*re_dash)\n",
+      "g = math.floor(g*10)/10\n",
+      "#(c)\n",
+      "vo = g*vi\n",
+      "vo = math.floor(vo*10000)/10000\n",
+      "#(d)\n",
+      "Zi = 2*beta*re\n",
+      "#(e)\n",
+      "cmg = Rc/(re+2*Re)\n",
+      "cmg = math.ceil(cmg*1000)/1000\n",
+      "#(f)\n",
+      "cmrr = g/cmg\n",
+      "#(g)\n",
+      "cmrr_db = 20*math.log10(cmrr)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) re = %d ohm\\n(b) voltage gain for differential input = %.1f\\n(c) AC output voltage = %.4f V\"%(re,g,vo))\n",
+      "print(\"(d) input impedance = %d k-ohm\\n(e) CMRR = %.2f\\n(g) CMRR' = %.1f dB\"%(Zi/1000,cmrr,cmrr_db))\n",
+      "\n",
+      "#Answer for re is wong in the book "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) re = 4424 ohm\n",
+        "(b) voltage gain for differential input = 113.1\n",
+        "(c) AC output voltage = 0.2375 V\n",
+        "(d) input impedance = 663 k-ohm\n",
+        "(e) CMRR = 226.65\n",
+        "(g) CMRR' = 47.1 dB\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.3, Page No. 447"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Op-amp with negative feedback\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ag = 100000.0         # open loop gain of Op-amp\n",
+      "fb = 0.01             # feed back factor\n",
+      "vi = 2*10**-3         # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "g = Ag/(1+(fb*Ag))\n",
+      "# b\n",
+      "v = vi*g\n",
+      "# c\n",
+      "Ev = v/Ag\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Closed loop gain = %.1f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-6 V\"%(g,v,Ev*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Closed loop gain = 99.9 \n",
+        "(b) Output = 0.1998 V\n",
+        "(c) Error voltage = 1.998*10^-6 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.4, Page No. 447"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Op-amp with negative feedback\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ag = 15000.0         # open loop gain of Op-amp\n",
+      "fb = 0.01             # feed back factor\n",
+      "vi = 2*10**-3         # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "g = Ag/(1+(fb*Ag))\n",
+      "# b\n",
+      "v = vi*g\n",
+      "# c\n",
+      "Ev = v/Ag\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Closed loop gain = %.3f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-5 V\"%(g,v,Ev*10**5))\n",
+      "print(\"\\nComparison conclusion:\\nA decrease in open loop gain causes a corresponding increase in error voltage,\")\n",
+      "print(\"thus keeping the output voltage nearly constant.\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Closed loop gain = 99.338 \n",
+        "(b) Output = 0.1987 V\n",
+        "(c) Error voltage = 1.325*10^-5 V\n",
+        "\n",
+        "Comparison conclusion:\n",
+        "A decrease in open loop gain causes a corresponding increase in error voltage,\n",
+        "thus keeping the output voltage nearly constant.\n"
+       ]
+      }
+     ],
+     "prompt_number": 49
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.5, Page No. 448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input/output impedances\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "g = 100000.0                  # open loop gain\n",
+      "Zi = 2*10**6                  # input impedance\n",
+      "Zo = 75                       # output impedance\n",
+      "beta = 0.01                   # feedback factor\n",
+      "\n",
+      "#Calculations\n",
+      "D = 1+ beta*g\n",
+      "Zi_cl = Zi*D\n",
+      "Zo_cl = Zo/D\n",
+      "\n",
+      "#Result\n",
+      "print(\"Closed loop input impedance = %.0f M-ohm\\nClosed loop output impedance = %.4f ohm\"%(Zi_cl/10**6,Zo_cl))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop input impedance = 2002 M-ohm\n",
+        "Closed loop output impedance = 0.0749 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.6, Page No.448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# closed loop gain and disensitivity\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "g = 100000.0              # open loop gain\n",
+      "beta = 0.001              # feedback factor\n",
+      "\n",
+      "#calculations\n",
+      "clg = g/(1+ beta*g)\n",
+      "D = 1+g*beta\n",
+      "\n",
+      "# Result\n",
+      "print(\"Closed loop gain = %.1f \\nDesensitivity = %.0f \"%(clg,D))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop gain = 990.1 \n",
+        "Desensitivity = 101 \n"
+       ]
+      }
+     ],
+     "prompt_number": 56
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.7, Page No.448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# closed loop gain and upper cut off frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 10**6            # unity gain frequency\n",
+      "alg = 100000.0       # open loop gain\n",
+      "b1 = 0.001           # feedback factor in case 1\n",
+      "b2 = 0.01            # feedback factor in case 2\n",
+      "b3 = 0.1             # feedback factor in case 3\n",
+      "\n",
+      "#calculations\n",
+      "# a\n",
+      "f1 = f/alg\n",
+      "# b\n",
+      "g2 = alg/(1+alg*b1)\n",
+      "f2 = f/g2\n",
+      "# c\n",
+      "g3 = alg/(1+alg*b2)\n",
+      "f3 = f/g3\n",
+      "# d\n",
+      "g4 = alg/(1+alg*b3)\n",
+      "f4 = f/g4\n",
+      "\n",
+      "#Result\n",
+      "print(\"Open loop,\\tgain = %.0f \\tf2 = %d Hz\"%(alg,f1))\n",
+      "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g2,f2))\n",
+      "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g3,f3))\n",
+      "print(\"Closed loop,\\tgain = %.3f \\tf2 = %d Hz\"%(g4,f4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Open loop,\tgain = 100000 \tf2 = 10 Hz\n",
+        "Closed loop,\tgain = 990.1 \tf2 = 1010 Hz\n",
+        "Closed loop,\tgain = 99.9 \tf2 = 10010 Hz\n",
+        "Closed loop,\tgain = 9.999 \tf2 = 100010 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 60
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.8, Page No.449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Slew rating\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Imax = 10*10**-6          # maximum current\n",
+      "C = 4000*10**-12           # capacitance in pF\n",
+      "\n",
+      "#Calculations\n",
+      "sr = Imax/C\n",
+      "\n",
+      "#Result\n",
+      "print(\"Slew rate = %.1f V/ms\"%(sr/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slew rate = 2.5 V/ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 63
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.9, Page No. 449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# slew rate distortion\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "sr = 0.4            # Slew rate\n",
+      "V = 6               # peak value of voltage\n",
+      "f = 10*10**3        # frequency\n",
+      "\n",
+      "#Calculations\n",
+      "slope = 2*math.pi*f*V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Initial slope of sine wave =%.5f V/micro-sec\"%(slope/10**6))\n",
+      "print(\"\\nSince the slew rate of amplifier is %.1f V/micro-sec, there is no slew rate distortion.\"%(sr))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Initial slope of sine wave =0.37699 V/micro-sec\n",
+        "\n",
+        "Since the slew rate of amplifier is 0.4 V/micro-sec, there is no slew rate distortion.\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.10, Page No. 449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Slew rate distortion \n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "sr = 0.5*10**6            # slew rate\n",
+      "V = 10              # peak value of input signal\n",
+      "f = 10*10**3        # frequency\n",
+      "\n",
+      "#calculations\n",
+      "# a\n",
+      "slope = 2*math.pi*f*V\n",
+      "# b\n",
+      "Vp = sr/(2*math.pi*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Initial slope of sine wave = %.3f V/micro-sec\"%(slope/10**6))\n",
+      "print(\"Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\")\n",
+      "print(\"\\n(b) To eliminate slew rate distortion,\\n Vp = %.2f V\"%Vp)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Initial slope of sine wave = 0.628 V/micro-sec\n",
+        "Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\n",
+        "\n",
+        "(b) To eliminate slew rate distortion,\n",
+        " Vp = 7.96 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 72
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.11, Page No.451"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# inverting amplifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 100000.0                # open loop gain\n",
+      "Zo = 75.0                   # output impedance\n",
+      "f = 1.0*10**6               # unity gain frequency\n",
+      "R1 = 1.0*10**3              # Source Resistance \n",
+      "Rf = 100.0*10**3            # feedback resistance\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "g = -Rf/R1\n",
+      "# b\n",
+      "beta = R1/(R1+Rf)\n",
+      "D = 1+(A*beta)\n",
+      "# c\n",
+      "f2 = beta*f\n",
+      "# d\n",
+      "Zi_cl = R1\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Gain = %f\\n(b) disensitivity = %.1f\"%(g,D))\n",
+      "print(\"(c) closed loop upper cut off frequency = %.1f*10^3 Hz\\n(d) closed loop input impedance = %.0f ohm\"%(f2/1000,Zi_cl))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Gain = -100.000000\n",
+        "(b) disensitivity = 991.1\n",
+        "(c) closed loop upper cut off frequency = 9.9*10^3 Hz\n",
+        "(d) closed loop input impedance = 1000 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.12, Page No. 453"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# closed loop voltage gain, input/output impedance(refering to fig 12.11)\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "R2 = 100.0*10**3          # Resistance R2\n",
+      "R1 = 100.0                # Resistance R1\n",
+      "A = 100000.0              # open loop gain\n",
+      "Zin = 2*10**6             # input impedance\n",
+      "Zo = 75                   # output impedance\n",
+      "\n",
+      "# Calculations\n",
+      "g = (R1+R2)/R1\n",
+      "beta = R1/(R1+R2)\n",
+      "Zi_dash = (1+A*beta)*Zin\n",
+      "Zo_dash = Zo/(1+A*beta)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Closed loop gain = %.0f \\nClosed loop input impedance = %.1f M-ohm\\nClosed loop output impedance = %.3f ohm\"%(g,Zi_dash/10**6,Zo_dash))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop gain = 1001 \n",
+        "Closed loop input impedance = 201.8 M-ohm\n",
+        "Closed loop output impedance = 0.743 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 84
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.13, Page No.454"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Op-amp parameters(refering to fig. 12.13)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 100000.0             # open loop gain\n",
+      "f = 1.0*10**6            # unity gain frequency\n",
+      "R3 = 150 *10**3          # Resistance R3\n",
+      "Ci = 1*10**-6            # inpuut capacitor\n",
+      "R2 = 100*10**3           # Resistance R2\n",
+      "Cb = 1*10**-6            # Bias capacitor\n",
+      "R1 = 1.0*10**3           # Resistance R1\n",
+      "Co = 1*10**-6            # output capacitance\n",
+      "Rl = 15*10**3            # load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "A = (R1+R2)/R1\n",
+      "# b\n",
+      "beta = 1/A\n",
+      "f2 = f/A\n",
+      "# c\n",
+      "fc1 = 1/(2*math.pi*Ci*R3)\n",
+      "fc2 = 1/(2*math.pi*Cb*Rl)\n",
+      "fc3 = 1/(2*math.pi*Co*R1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Avf = %.0f \\n\\n(b) f2' =%.1f*10^3 Hz\"%(A,f2/1000))\n",
+      "print(\"\\n(c) The critical frequencies are,\\n    fc = %.3f Hz\\n    fc = %.2f Hz\\n    fc = %.2f Hz\"%(fc1,fc2,fc3))\n",
+      "print(\"\\n(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. %.2f Hz\"%fc3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Avf = 101 \n",
+        "\n",
+        "(b) f2' =9.9*10^3 Hz\n",
+        "\n",
+        "(c) The critical frequencies are,\n",
+        "    fc = 1.061 Hz\n",
+        "    fc = 10.61 Hz\n",
+        "    fc = 159.15 Hz\n",
+        "\n",
+        "(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. 159.15 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 93
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.14, Page No.455"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage(referring fig.12.14)\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "v1 = 0.5                   # input voltage 1\n",
+      "v2 = 1.5                   # input voltage 2\n",
+      "v3 = 0.2                   # input voltage 3\n",
+      "R1 = 10.0*10**3            # resistance R1\n",
+      "R2 = 10.0*10**3            # resistance R2\n",
+      "R3 = 10.0*10**3            # resistance R3\n",
+      "Rf = 50.0*10**3            # feedback resistance\n",
+      "\n",
+      "#Calculations\n",
+      "vo = -Rf*((v1/R1)+(v2/R2)+(v3/R3))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Output  Voltage = %.0f V\"%vo)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Output  Voltage = -11 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 95
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.15, Page No.455"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 96
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.16, Page No.456"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.17, Page No. 457"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# difference amplifier(referring fig. 12.18)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 50.0*10**3           # Resistance R1\n",
+      "R2 = 10.0*10**3           # Resistance R2\n",
+      "Vs1 = 4.5                 # input voltage at channel 1\n",
+      "Vs2 = 5.0                 # input voltage at channel 2\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "vo = R1*(Vs2-Vs1)/R2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Output voltage = %.1f V\"%vo)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Output voltage = 2.5 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 99
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.18, Page No.458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# CMRR in dB\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 50.0                   # gain of difference amplifier\n",
+      "v = 2.0                    # input voltage\n",
+      "vo = 5.0*10**-3            # output voltage \n",
+      "\n",
+      "#Calculations\n",
+      "Vcom = 0.5*(v+v)\n",
+      "Acom = vo/Vcom\n",
+      "cmrr = A/Acom\n",
+      "cmrr = 20*math.log10(cmrr)\n",
+      "\n",
+      "#Result\n",
+      "print(\"CMRR = %.2f dB\"%(cmrr))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "CMRR = 86.02 dB\n"
+       ]
+      }
+     ],
+     "prompt_number": 101
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.19, Page No.458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 102
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.20, Page No.459"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 103
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.21, Page No.466"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# two pole high pass filter(referring fig. 12.32)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 10.0*10**3          # Resistance R1\n",
+      "R2 = 5.6*10**3           # Resistance R2\n",
+      "R = 1.0*10**3            # Resistance R\n",
+      "C = 0.01 *10**-6         # capacitance \n",
+      "vi = 1.6*10**-3          # input voltage                \n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "A = 1+(R2/R1)\n",
+      "# b\n",
+      "vo = A*vi\n",
+      "# c\n",
+      "pi = math.ceil(math.pi*10000)/10000\n",
+      "fc = 1/(2*pi*R*C)\n",
+      "# d\n",
+      "gain =  0.707*A\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) midband gain = %.2f\\n(b) output voltage = %.3f mV\\n(c) fc = %.2f Hz\\n(d) Gain = %.3f\"%(A,vo*1000,fc,gain))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) midband gain = 1.56\n",
+        "(b) output voltage = 2.496 mV\n",
+        "(c) fc = 15915.46 Hz\n",
+        "(d) Gain = 1.103\n"
+       ]
+      }
+     ],
+     "prompt_number": 112
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.22, Page No. 466"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Low pass filter(referring fig. 12.30)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "vi = 1.1*10**-3               # input voltage\n",
+      "R = 10*10**3                  # Resistance\n",
+      "C = 0.001*10**-6              # Capacitance\n",
+      "R1 = 10*10**3                 # Resistance R1\n",
+      "R2 = 5.6*10**3                # Resistance R2\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "A = (R1+R2)/R1\n",
+      "vo1 = A*vi\n",
+      "# b\n",
+      "fc = 1/(2*math.pi*R*C)\n",
+      "# c\n",
+      "vo = 0.707*vo1\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)  Avf = %.2f\\n     Vo = %.3f*10^-3 V\\n(b) fc = %.3f*10^3 Hz\\n(c) at f = fc,\\nVo = %.3f* 10^-3 V\"%(A,vo1*1000,fc/1000,vo*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)  Avf = 1.56\n",
+        "     Vo = 1.716*10^-3 V\n",
+        "(b) fc = 15.915*10^3 Hz\n",
+        "(c) at f = fc,\n",
+        "Vo = 1.213* 10^-3 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.23, Page No.466"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_12_2.ipynb b/Power_Electronics/Power_electronics_ch_12_2.ipynb
new file mode 100755
index 00000000..46f69125
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_12_2.ipynb
@@ -0,0 +1,1030 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12: Integrated Citcuits and Operational Amplifiers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.1, Page No.442"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# dc currents and voltage of differential amplifier\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vcc = 12              # collector voltage\n",
+      "Vee = -12             # emitter voltage\n",
+      "Rc = 4.1*10**3        # Collector resistance\n",
+      "Re = 3.8*10**3        # emitter resistance\n",
+      "Vbe = 0.7             # voltage across base-emitter junction\n",
+      "\n",
+      "#Calculations\n",
+      "Ie = (Vcc-Vbe)/Re\n",
+      "Ic = 0.5*Ie\n",
+      "Vo = Vcc-Ic*Rc\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ie = %.4f mA\\nIc = %.3f mA\\nVo = %.1f V\"%(Ie*1000,Ic*1000,Vo))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ie = 2.9737 mA\n",
+        "Ic = 1.487 mA\n",
+        "Vo = 5.9 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.2, Page No.442"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Differential amplifier parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vcc = 12              # collector voltage\n",
+      "Vee = -12             # emitter voltage\n",
+      "Rc = 1*10**6          # Collector resistance\n",
+      "Re = 1*10**6          # emitter resistance\n",
+      "Vbe = 0.7             # voltage across base-emitter junction\n",
+      "vi = 2.1*10**-3       # AC input voltage\n",
+      "beta = 75       \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Ie = (Vcc-Vbe)/Re\n",
+      "ie = 0.5*Ie\n",
+      "re = (25*10**-3)/ie\n",
+      "re_dash = 4420.0#value used in the book\n",
+      "#(b)\n",
+      "g = Rc/(2*re_dash)\n",
+      "g = math.floor(g*10)/10\n",
+      "#(c)\n",
+      "vo = g*vi\n",
+      "vo = math.floor(vo*10000)/10000\n",
+      "#(d)\n",
+      "Zi = 2*beta*re\n",
+      "#(e)\n",
+      "cmg = Rc/(re+2*Re)\n",
+      "cmg = math.ceil(cmg*1000)/1000\n",
+      "#(f)\n",
+      "cmrr = g/cmg\n",
+      "#(g)\n",
+      "cmrr_db = 20*math.log10(cmrr)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) re = %d ohm\\n(b) voltage gain for differential input = %.1f\\n(c) AC output voltage = %.4f V\"%(re,g,vo))\n",
+      "print(\"(d) input impedance = %d k-ohm\\n(e) CMRR = %.2f\\n(g) CMRR' = %.1f dB\"%(Zi/1000,cmrr,cmrr_db))\n",
+      "\n",
+      "#Answer for re is wong in the book "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) re = 4424 ohm\n",
+        "(b) voltage gain for differential input = 113.1\n",
+        "(c) AC output voltage = 0.2375 V\n",
+        "(d) input impedance = 663 k-ohm\n",
+        "(e) CMRR = 226.65\n",
+        "(g) CMRR' = 47.1 dB\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.3, Page No. 447"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Op-amp with negative feedback\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ag = 100000.0         # open loop gain of Op-amp\n",
+      "fb = 0.01             # feed back factor\n",
+      "vi = 2*10**-3         # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "g = Ag/(1+(fb*Ag))\n",
+      "# b\n",
+      "v = vi*g\n",
+      "# c\n",
+      "Ev = v/Ag\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Closed loop gain = %.1f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-6 V\"%(g,v,Ev*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Closed loop gain = 99.9 \n",
+        "(b) Output = 0.1998 V\n",
+        "(c) Error voltage = 1.998*10^-6 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.4, Page No. 447"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Op-amp with negative feedback\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ag = 15000.0         # open loop gain of Op-amp\n",
+      "fb = 0.01             # feed back factor\n",
+      "vi = 2*10**-3         # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "g = Ag/(1+(fb*Ag))\n",
+      "# b\n",
+      "v = vi*g\n",
+      "# c\n",
+      "Ev = v/Ag\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Closed loop gain = %.3f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-5 V\"%(g,v,Ev*10**5))\n",
+      "print(\"\\nComparison conclusion:\\nA decrease in open loop gain causes a corresponding increase in error voltage,\")\n",
+      "print(\"thus keeping the output voltage nearly constant.\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Closed loop gain = 99.338 \n",
+        "(b) Output = 0.1987 V\n",
+        "(c) Error voltage = 1.325*10^-5 V\n",
+        "\n",
+        "Comparison conclusion:\n",
+        "A decrease in open loop gain causes a corresponding increase in error voltage,\n",
+        "thus keeping the output voltage nearly constant.\n"
+       ]
+      }
+     ],
+     "prompt_number": 49
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.5, Page No. 448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input/output impedances\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "g = 100000.0                  # open loop gain\n",
+      "Zi = 2*10**6                  # input impedance\n",
+      "Zo = 75                       # output impedance\n",
+      "beta = 0.01                   # feedback factor\n",
+      "\n",
+      "#Calculations\n",
+      "D = 1+ beta*g\n",
+      "Zi_cl = Zi*D\n",
+      "Zo_cl = Zo/D\n",
+      "\n",
+      "#Result\n",
+      "print(\"Closed loop input impedance = %.0f M-ohm\\nClosed loop output impedance = %.4f ohm\"%(Zi_cl/10**6,Zo_cl))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop input impedance = 2002 M-ohm\n",
+        "Closed loop output impedance = 0.0749 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.6, Page No.448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# closed loop gain and disensitivity\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "g = 100000.0              # open loop gain\n",
+      "beta = 0.001              # feedback factor\n",
+      "\n",
+      "#calculations\n",
+      "clg = g/(1+ beta*g)\n",
+      "D = 1+g*beta\n",
+      "\n",
+      "# Result\n",
+      "print(\"Closed loop gain = %.1f \\nDesensitivity = %.0f \"%(clg,D))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop gain = 990.1 \n",
+        "Desensitivity = 101 \n"
+       ]
+      }
+     ],
+     "prompt_number": 56
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.7, Page No.448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# closed loop gain and upper cut off frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 10**6            # unity gain frequency\n",
+      "alg = 100000.0       # open loop gain\n",
+      "b1 = 0.001           # feedback factor in case 1\n",
+      "b2 = 0.01            # feedback factor in case 2\n",
+      "b3 = 0.1             # feedback factor in case 3\n",
+      "\n",
+      "#calculations\n",
+      "# a\n",
+      "f1 = f/alg\n",
+      "# b\n",
+      "g2 = alg/(1+alg*b1)\n",
+      "f2 = f/g2\n",
+      "# c\n",
+      "g3 = alg/(1+alg*b2)\n",
+      "f3 = f/g3\n",
+      "# d\n",
+      "g4 = alg/(1+alg*b3)\n",
+      "f4 = f/g4\n",
+      "\n",
+      "#Result\n",
+      "print(\"Open loop,\\tgain = %.0f \\tf2 = %d Hz\"%(alg,f1))\n",
+      "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g2,f2))\n",
+      "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g3,f3))\n",
+      "print(\"Closed loop,\\tgain = %.3f \\tf2 = %d Hz\"%(g4,f4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Open loop,\tgain = 100000 \tf2 = 10 Hz\n",
+        "Closed loop,\tgain = 990.1 \tf2 = 1010 Hz\n",
+        "Closed loop,\tgain = 99.9 \tf2 = 10010 Hz\n",
+        "Closed loop,\tgain = 9.999 \tf2 = 100010 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 60
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.8, Page No.449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Slew rating\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Imax = 10*10**-6          # maximum current\n",
+      "C = 4000*10**-12           # capacitance in pF\n",
+      "\n",
+      "#Calculations\n",
+      "sr = Imax/C\n",
+      "\n",
+      "#Result\n",
+      "print(\"Slew rate = %.1f V/ms\"%(sr/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slew rate = 2.5 V/ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 63
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.9, Page No. 449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# slew rate distortion\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "sr = 0.4            # Slew rate\n",
+      "V = 6               # peak value of voltage\n",
+      "f = 10*10**3        # frequency\n",
+      "\n",
+      "#Calculations\n",
+      "slope = 2*math.pi*f*V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Initial slope of sine wave =%.5f V/micro-sec\"%(slope/10**6))\n",
+      "print(\"\\nSince the slew rate of amplifier is %.1f V/micro-sec, there is no slew rate distortion.\"%(sr))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Initial slope of sine wave =0.37699 V/micro-sec\n",
+        "\n",
+        "Since the slew rate of amplifier is 0.4 V/micro-sec, there is no slew rate distortion.\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.10, Page No. 449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Slew rate distortion \n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "sr = 0.5*10**6            # slew rate\n",
+      "V = 10              # peak value of input signal\n",
+      "f = 10*10**3        # frequency\n",
+      "\n",
+      "#calculations\n",
+      "# a\n",
+      "slope = 2*math.pi*f*V\n",
+      "# b\n",
+      "Vp = sr/(2*math.pi*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Initial slope of sine wave = %.3f V/micro-sec\"%(slope/10**6))\n",
+      "print(\"Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\")\n",
+      "print(\"\\n(b) To eliminate slew rate distortion,\\n Vp = %.2f V\"%Vp)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Initial slope of sine wave = 0.628 V/micro-sec\n",
+        "Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\n",
+        "\n",
+        "(b) To eliminate slew rate distortion,\n",
+        " Vp = 7.96 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 72
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.11, Page No.451"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# inverting amplifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 100000.0                # open loop gain\n",
+      "Zo = 75.0                   # output impedance\n",
+      "f = 1.0*10**6               # unity gain frequency\n",
+      "R1 = 1.0*10**3              # Source Resistance \n",
+      "Rf = 100.0*10**3            # feedback resistance\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "g = -Rf/R1\n",
+      "# b\n",
+      "beta = R1/(R1+Rf)\n",
+      "D = 1+(A*beta)\n",
+      "# c\n",
+      "f2 = beta*f\n",
+      "# d\n",
+      "Zi_cl = R1\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Gain = %f\\n(b) disensitivity = %.1f\"%(g,D))\n",
+      "print(\"(c) closed loop upper cut off frequency = %.1f*10^3 Hz\\n(d) closed loop input impedance = %.0f ohm\"%(f2/1000,Zi_cl))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Gain = -100.000000\n",
+        "(b) disensitivity = 991.1\n",
+        "(c) closed loop upper cut off frequency = 9.9*10^3 Hz\n",
+        "(d) closed loop input impedance = 1000 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.12, Page No. 453"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# closed loop voltage gain, input/output impedance(refering to fig 12.11)\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "R2 = 100.0*10**3          # Resistance R2\n",
+      "R1 = 100.0                # Resistance R1\n",
+      "A = 100000.0              # open loop gain\n",
+      "Zin = 2*10**6             # input impedance\n",
+      "Zo = 75                   # output impedance\n",
+      "\n",
+      "# Calculations\n",
+      "g = (R1+R2)/R1\n",
+      "beta = R1/(R1+R2)\n",
+      "Zi_dash = (1+A*beta)*Zin\n",
+      "Zo_dash = Zo/(1+A*beta)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Closed loop gain = %.0f \\nClosed loop input impedance = %.1f M-ohm\\nClosed loop output impedance = %.3f ohm\"%(g,Zi_dash/10**6,Zo_dash))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop gain = 1001 \n",
+        "Closed loop input impedance = 201.8 M-ohm\n",
+        "Closed loop output impedance = 0.743 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 84
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.13, Page No.454"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Op-amp parameters(refering to fig. 12.13)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 100000.0             # open loop gain\n",
+      "f = 1.0*10**6            # unity gain frequency\n",
+      "R3 = 150 *10**3          # Resistance R3\n",
+      "Ci = 1*10**-6            # inpuut capacitor\n",
+      "R2 = 100*10**3           # Resistance R2\n",
+      "Cb = 1*10**-6            # Bias capacitor\n",
+      "R1 = 1.0*10**3           # Resistance R1\n",
+      "Co = 1*10**-6            # output capacitance\n",
+      "Rl = 15*10**3            # load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "A = (R1+R2)/R1\n",
+      "# b\n",
+      "beta = 1/A\n",
+      "f2 = f/A\n",
+      "# c\n",
+      "fc1 = 1/(2*math.pi*Ci*R3)\n",
+      "fc2 = 1/(2*math.pi*Cb*Rl)\n",
+      "fc3 = 1/(2*math.pi*Co*R1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Avf = %.0f \\n\\n(b) f2' =%.1f*10^3 Hz\"%(A,f2/1000))\n",
+      "print(\"\\n(c) The critical frequencies are,\\n    fc = %.3f Hz\\n    fc = %.2f Hz\\n    fc = %.2f Hz\"%(fc1,fc2,fc3))\n",
+      "print(\"\\n(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. %.2f Hz\"%fc3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Avf = 101 \n",
+        "\n",
+        "(b) f2' =9.9*10^3 Hz\n",
+        "\n",
+        "(c) The critical frequencies are,\n",
+        "    fc = 1.061 Hz\n",
+        "    fc = 10.61 Hz\n",
+        "    fc = 159.15 Hz\n",
+        "\n",
+        "(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. 159.15 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 93
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.14, Page No.455"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage(referring fig.12.14)\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "v1 = 0.5                   # input voltage 1\n",
+      "v2 = 1.5                   # input voltage 2\n",
+      "v3 = 0.2                   # input voltage 3\n",
+      "R1 = 10.0*10**3            # resistance R1\n",
+      "R2 = 10.0*10**3            # resistance R2\n",
+      "R3 = 10.0*10**3            # resistance R3\n",
+      "Rf = 50.0*10**3            # feedback resistance\n",
+      "\n",
+      "#Calculations\n",
+      "vo = -Rf*((v1/R1)+(v2/R2)+(v3/R3))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Output  Voltage = %.0f V\"%vo)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Output  Voltage = -11 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 95
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.15, Page No.455"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 96
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.16, Page No.456"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.17, Page No. 457"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# difference amplifier(referring fig. 12.18)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 50.0*10**3           # Resistance R1\n",
+      "R2 = 10.0*10**3           # Resistance R2\n",
+      "Vs1 = 4.5                 # input voltage at channel 1\n",
+      "Vs2 = 5.0                 # input voltage at channel 2\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "vo = R1*(Vs2-Vs1)/R2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Output voltage = %.1f V\"%vo)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Output voltage = 2.5 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 99
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.18, Page No.458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# CMRR in dB\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 50.0                   # gain of difference amplifier\n",
+      "v = 2.0                    # input voltage\n",
+      "vo = 5.0*10**-3            # output voltage \n",
+      "\n",
+      "#Calculations\n",
+      "Vcom = 0.5*(v+v)\n",
+      "Acom = vo/Vcom\n",
+      "cmrr = A/Acom\n",
+      "cmrr = 20*math.log10(cmrr)\n",
+      "\n",
+      "#Result\n",
+      "print(\"CMRR = %.2f dB\"%(cmrr))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "CMRR = 86.02 dB\n"
+       ]
+      }
+     ],
+     "prompt_number": 101
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.19, Page No.458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 102
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.20, Page No.459"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 103
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.21, Page No.466"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# two pole high pass filter(referring fig. 12.32)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 10.0*10**3          # Resistance R1\n",
+      "R2 = 5.6*10**3           # Resistance R2\n",
+      "R = 1.0*10**3            # Resistance R\n",
+      "C = 0.01 *10**-6         # capacitance \n",
+      "vi = 1.6*10**-3          # input voltage                \n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "A = 1+(R2/R1)\n",
+      "# b\n",
+      "vo = A*vi\n",
+      "# c\n",
+      "pi = math.ceil(math.pi*10000)/10000\n",
+      "fc = 1/(2*pi*R*C)\n",
+      "# d\n",
+      "gain =  0.707*A\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) midband gain = %.2f\\n(b) output voltage = %.3f mV\\n(c) fc = %.2f Hz\\n(d) Gain = %.3f\"%(A,vo*1000,fc,gain))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) midband gain = 1.56\n",
+        "(b) output voltage = 2.496 mV\n",
+        "(c) fc = 15915.46 Hz\n",
+        "(d) Gain = 1.103\n"
+       ]
+      }
+     ],
+     "prompt_number": 112
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.22, Page No. 466"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Low pass filter(referring fig. 12.30)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "vi = 1.1*10**-3               # input voltage\n",
+      "R = 10*10**3                  # Resistance\n",
+      "C = 0.001*10**-6              # Capacitance\n",
+      "R1 = 10*10**3                 # Resistance R1\n",
+      "R2 = 5.6*10**3                # Resistance R2\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "A = (R1+R2)/R1\n",
+      "vo1 = A*vi\n",
+      "# b\n",
+      "fc = 1/(2*math.pi*R*C)\n",
+      "# c\n",
+      "vo = 0.707*vo1\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)  Avf = %.2f\\n     Vo = %.3f*10^-3 V\\n(b) fc = %.3f*10^3 Hz\\n(c) at f = fc,\\nVo = %.3f* 10^-3 V\"%(A,vo1*1000,fc/1000,vo*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)  Avf = 1.56\n",
+        "     Vo = 1.716*10^-3 V\n",
+        "(b) fc = 15.915*10^3 Hz\n",
+        "(c) at f = fc,\n",
+        "Vo = 1.213* 10^-3 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.23, Page No.466"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_12_3.ipynb b/Power_Electronics/Power_electronics_ch_12_3.ipynb
new file mode 100755
index 00000000..46f69125
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_12_3.ipynb
@@ -0,0 +1,1030 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12: Integrated Citcuits and Operational Amplifiers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.1, Page No.442"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# dc currents and voltage of differential amplifier\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vcc = 12              # collector voltage\n",
+      "Vee = -12             # emitter voltage\n",
+      "Rc = 4.1*10**3        # Collector resistance\n",
+      "Re = 3.8*10**3        # emitter resistance\n",
+      "Vbe = 0.7             # voltage across base-emitter junction\n",
+      "\n",
+      "#Calculations\n",
+      "Ie = (Vcc-Vbe)/Re\n",
+      "Ic = 0.5*Ie\n",
+      "Vo = Vcc-Ic*Rc\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ie = %.4f mA\\nIc = %.3f mA\\nVo = %.1f V\"%(Ie*1000,Ic*1000,Vo))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ie = 2.9737 mA\n",
+        "Ic = 1.487 mA\n",
+        "Vo = 5.9 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.2, Page No.442"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Differential amplifier parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vcc = 12              # collector voltage\n",
+      "Vee = -12             # emitter voltage\n",
+      "Rc = 1*10**6          # Collector resistance\n",
+      "Re = 1*10**6          # emitter resistance\n",
+      "Vbe = 0.7             # voltage across base-emitter junction\n",
+      "vi = 2.1*10**-3       # AC input voltage\n",
+      "beta = 75       \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Ie = (Vcc-Vbe)/Re\n",
+      "ie = 0.5*Ie\n",
+      "re = (25*10**-3)/ie\n",
+      "re_dash = 4420.0#value used in the book\n",
+      "#(b)\n",
+      "g = Rc/(2*re_dash)\n",
+      "g = math.floor(g*10)/10\n",
+      "#(c)\n",
+      "vo = g*vi\n",
+      "vo = math.floor(vo*10000)/10000\n",
+      "#(d)\n",
+      "Zi = 2*beta*re\n",
+      "#(e)\n",
+      "cmg = Rc/(re+2*Re)\n",
+      "cmg = math.ceil(cmg*1000)/1000\n",
+      "#(f)\n",
+      "cmrr = g/cmg\n",
+      "#(g)\n",
+      "cmrr_db = 20*math.log10(cmrr)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) re = %d ohm\\n(b) voltage gain for differential input = %.1f\\n(c) AC output voltage = %.4f V\"%(re,g,vo))\n",
+      "print(\"(d) input impedance = %d k-ohm\\n(e) CMRR = %.2f\\n(g) CMRR' = %.1f dB\"%(Zi/1000,cmrr,cmrr_db))\n",
+      "\n",
+      "#Answer for re is wong in the book "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) re = 4424 ohm\n",
+        "(b) voltage gain for differential input = 113.1\n",
+        "(c) AC output voltage = 0.2375 V\n",
+        "(d) input impedance = 663 k-ohm\n",
+        "(e) CMRR = 226.65\n",
+        "(g) CMRR' = 47.1 dB\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.3, Page No. 447"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Op-amp with negative feedback\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ag = 100000.0         # open loop gain of Op-amp\n",
+      "fb = 0.01             # feed back factor\n",
+      "vi = 2*10**-3         # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "g = Ag/(1+(fb*Ag))\n",
+      "# b\n",
+      "v = vi*g\n",
+      "# c\n",
+      "Ev = v/Ag\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Closed loop gain = %.1f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-6 V\"%(g,v,Ev*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Closed loop gain = 99.9 \n",
+        "(b) Output = 0.1998 V\n",
+        "(c) Error voltage = 1.998*10^-6 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.4, Page No. 447"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Op-amp with negative feedback\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ag = 15000.0         # open loop gain of Op-amp\n",
+      "fb = 0.01             # feed back factor\n",
+      "vi = 2*10**-3         # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "g = Ag/(1+(fb*Ag))\n",
+      "# b\n",
+      "v = vi*g\n",
+      "# c\n",
+      "Ev = v/Ag\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Closed loop gain = %.3f \\n(b) Output = %.4f V\\n(c) Error voltage = %.3f*10^-5 V\"%(g,v,Ev*10**5))\n",
+      "print(\"\\nComparison conclusion:\\nA decrease in open loop gain causes a corresponding increase in error voltage,\")\n",
+      "print(\"thus keeping the output voltage nearly constant.\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Closed loop gain = 99.338 \n",
+        "(b) Output = 0.1987 V\n",
+        "(c) Error voltage = 1.325*10^-5 V\n",
+        "\n",
+        "Comparison conclusion:\n",
+        "A decrease in open loop gain causes a corresponding increase in error voltage,\n",
+        "thus keeping the output voltage nearly constant.\n"
+       ]
+      }
+     ],
+     "prompt_number": 49
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.5, Page No. 448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input/output impedances\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "g = 100000.0                  # open loop gain\n",
+      "Zi = 2*10**6                  # input impedance\n",
+      "Zo = 75                       # output impedance\n",
+      "beta = 0.01                   # feedback factor\n",
+      "\n",
+      "#Calculations\n",
+      "D = 1+ beta*g\n",
+      "Zi_cl = Zi*D\n",
+      "Zo_cl = Zo/D\n",
+      "\n",
+      "#Result\n",
+      "print(\"Closed loop input impedance = %.0f M-ohm\\nClosed loop output impedance = %.4f ohm\"%(Zi_cl/10**6,Zo_cl))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop input impedance = 2002 M-ohm\n",
+        "Closed loop output impedance = 0.0749 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.6, Page No.448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# closed loop gain and disensitivity\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "g = 100000.0              # open loop gain\n",
+      "beta = 0.001              # feedback factor\n",
+      "\n",
+      "#calculations\n",
+      "clg = g/(1+ beta*g)\n",
+      "D = 1+g*beta\n",
+      "\n",
+      "# Result\n",
+      "print(\"Closed loop gain = %.1f \\nDesensitivity = %.0f \"%(clg,D))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop gain = 990.1 \n",
+        "Desensitivity = 101 \n"
+       ]
+      }
+     ],
+     "prompt_number": 56
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.7, Page No.448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# closed loop gain and upper cut off frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 10**6            # unity gain frequency\n",
+      "alg = 100000.0       # open loop gain\n",
+      "b1 = 0.001           # feedback factor in case 1\n",
+      "b2 = 0.01            # feedback factor in case 2\n",
+      "b3 = 0.1             # feedback factor in case 3\n",
+      "\n",
+      "#calculations\n",
+      "# a\n",
+      "f1 = f/alg\n",
+      "# b\n",
+      "g2 = alg/(1+alg*b1)\n",
+      "f2 = f/g2\n",
+      "# c\n",
+      "g3 = alg/(1+alg*b2)\n",
+      "f3 = f/g3\n",
+      "# d\n",
+      "g4 = alg/(1+alg*b3)\n",
+      "f4 = f/g4\n",
+      "\n",
+      "#Result\n",
+      "print(\"Open loop,\\tgain = %.0f \\tf2 = %d Hz\"%(alg,f1))\n",
+      "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g2,f2))\n",
+      "print(\"Closed loop,\\tgain = %.1f \\tf2 = %d Hz\"%(g3,f3))\n",
+      "print(\"Closed loop,\\tgain = %.3f \\tf2 = %d Hz\"%(g4,f4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Open loop,\tgain = 100000 \tf2 = 10 Hz\n",
+        "Closed loop,\tgain = 990.1 \tf2 = 1010 Hz\n",
+        "Closed loop,\tgain = 99.9 \tf2 = 10010 Hz\n",
+        "Closed loop,\tgain = 9.999 \tf2 = 100010 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 60
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.8, Page No.449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Slew rating\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Imax = 10*10**-6          # maximum current\n",
+      "C = 4000*10**-12           # capacitance in pF\n",
+      "\n",
+      "#Calculations\n",
+      "sr = Imax/C\n",
+      "\n",
+      "#Result\n",
+      "print(\"Slew rate = %.1f V/ms\"%(sr/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slew rate = 2.5 V/ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 63
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.9, Page No. 449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# slew rate distortion\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "sr = 0.4            # Slew rate\n",
+      "V = 6               # peak value of voltage\n",
+      "f = 10*10**3        # frequency\n",
+      "\n",
+      "#Calculations\n",
+      "slope = 2*math.pi*f*V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Initial slope of sine wave =%.5f V/micro-sec\"%(slope/10**6))\n",
+      "print(\"\\nSince the slew rate of amplifier is %.1f V/micro-sec, there is no slew rate distortion.\"%(sr))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Initial slope of sine wave =0.37699 V/micro-sec\n",
+        "\n",
+        "Since the slew rate of amplifier is 0.4 V/micro-sec, there is no slew rate distortion.\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.10, Page No. 449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Slew rate distortion \n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "sr = 0.5*10**6            # slew rate\n",
+      "V = 10              # peak value of input signal\n",
+      "f = 10*10**3        # frequency\n",
+      "\n",
+      "#calculations\n",
+      "# a\n",
+      "slope = 2*math.pi*f*V\n",
+      "# b\n",
+      "Vp = sr/(2*math.pi*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Initial slope of sine wave = %.3f V/micro-sec\"%(slope/10**6))\n",
+      "print(\"Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\")\n",
+      "print(\"\\n(b) To eliminate slew rate distortion,\\n Vp = %.2f V\"%Vp)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Initial slope of sine wave = 0.628 V/micro-sec\n",
+        "Since initial slope is more than the slew rate of amplifier, slew rate distortion will occur.\n",
+        "\n",
+        "(b) To eliminate slew rate distortion,\n",
+        " Vp = 7.96 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 72
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.11, Page No.451"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# inverting amplifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 100000.0                # open loop gain\n",
+      "Zo = 75.0                   # output impedance\n",
+      "f = 1.0*10**6               # unity gain frequency\n",
+      "R1 = 1.0*10**3              # Source Resistance \n",
+      "Rf = 100.0*10**3            # feedback resistance\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "g = -Rf/R1\n",
+      "# b\n",
+      "beta = R1/(R1+Rf)\n",
+      "D = 1+(A*beta)\n",
+      "# c\n",
+      "f2 = beta*f\n",
+      "# d\n",
+      "Zi_cl = R1\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Gain = %f\\n(b) disensitivity = %.1f\"%(g,D))\n",
+      "print(\"(c) closed loop upper cut off frequency = %.1f*10^3 Hz\\n(d) closed loop input impedance = %.0f ohm\"%(f2/1000,Zi_cl))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Gain = -100.000000\n",
+        "(b) disensitivity = 991.1\n",
+        "(c) closed loop upper cut off frequency = 9.9*10^3 Hz\n",
+        "(d) closed loop input impedance = 1000 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.12, Page No. 453"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# closed loop voltage gain, input/output impedance(refering to fig 12.11)\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "R2 = 100.0*10**3          # Resistance R2\n",
+      "R1 = 100.0                # Resistance R1\n",
+      "A = 100000.0              # open loop gain\n",
+      "Zin = 2*10**6             # input impedance\n",
+      "Zo = 75                   # output impedance\n",
+      "\n",
+      "# Calculations\n",
+      "g = (R1+R2)/R1\n",
+      "beta = R1/(R1+R2)\n",
+      "Zi_dash = (1+A*beta)*Zin\n",
+      "Zo_dash = Zo/(1+A*beta)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Closed loop gain = %.0f \\nClosed loop input impedance = %.1f M-ohm\\nClosed loop output impedance = %.3f ohm\"%(g,Zi_dash/10**6,Zo_dash))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Closed loop gain = 1001 \n",
+        "Closed loop input impedance = 201.8 M-ohm\n",
+        "Closed loop output impedance = 0.743 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 84
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.13, Page No.454"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Op-amp parameters(refering to fig. 12.13)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 100000.0             # open loop gain\n",
+      "f = 1.0*10**6            # unity gain frequency\n",
+      "R3 = 150 *10**3          # Resistance R3\n",
+      "Ci = 1*10**-6            # inpuut capacitor\n",
+      "R2 = 100*10**3           # Resistance R2\n",
+      "Cb = 1*10**-6            # Bias capacitor\n",
+      "R1 = 1.0*10**3           # Resistance R1\n",
+      "Co = 1*10**-6            # output capacitance\n",
+      "Rl = 15*10**3            # load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "A = (R1+R2)/R1\n",
+      "# b\n",
+      "beta = 1/A\n",
+      "f2 = f/A\n",
+      "# c\n",
+      "fc1 = 1/(2*math.pi*Ci*R3)\n",
+      "fc2 = 1/(2*math.pi*Cb*Rl)\n",
+      "fc3 = 1/(2*math.pi*Co*R1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Avf = %.0f \\n\\n(b) f2' =%.1f*10^3 Hz\"%(A,f2/1000))\n",
+      "print(\"\\n(c) The critical frequencies are,\\n    fc = %.3f Hz\\n    fc = %.2f Hz\\n    fc = %.2f Hz\"%(fc1,fc2,fc3))\n",
+      "print(\"\\n(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. %.2f Hz\"%fc3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Avf = 101 \n",
+        "\n",
+        "(b) f2' =9.9*10^3 Hz\n",
+        "\n",
+        "(c) The critical frequencies are,\n",
+        "    fc = 1.061 Hz\n",
+        "    fc = 10.61 Hz\n",
+        "    fc = 159.15 Hz\n",
+        "\n",
+        "(d) Evidently the lower cut off frequency is the highest of the above three critical frequencies, i.e. 159.15 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 93
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.14, Page No.455"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage(referring fig.12.14)\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "v1 = 0.5                   # input voltage 1\n",
+      "v2 = 1.5                   # input voltage 2\n",
+      "v3 = 0.2                   # input voltage 3\n",
+      "R1 = 10.0*10**3            # resistance R1\n",
+      "R2 = 10.0*10**3            # resistance R2\n",
+      "R3 = 10.0*10**3            # resistance R3\n",
+      "Rf = 50.0*10**3            # feedback resistance\n",
+      "\n",
+      "#Calculations\n",
+      "vo = -Rf*((v1/R1)+(v2/R2)+(v3/R3))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Output  Voltage = %.0f V\"%vo)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Output  Voltage = -11 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 95
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.15, Page No.455"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 96
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.16, Page No.456"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.17, Page No. 457"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# difference amplifier(referring fig. 12.18)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 50.0*10**3           # Resistance R1\n",
+      "R2 = 10.0*10**3           # Resistance R2\n",
+      "Vs1 = 4.5                 # input voltage at channel 1\n",
+      "Vs2 = 5.0                 # input voltage at channel 2\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "vo = R1*(Vs2-Vs1)/R2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Output voltage = %.1f V\"%vo)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Output voltage = 2.5 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 99
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.18, Page No.458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# CMRR in dB\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = 50.0                   # gain of difference amplifier\n",
+      "v = 2.0                    # input voltage\n",
+      "vo = 5.0*10**-3            # output voltage \n",
+      "\n",
+      "#Calculations\n",
+      "Vcom = 0.5*(v+v)\n",
+      "Acom = vo/Vcom\n",
+      "cmrr = A/Acom\n",
+      "cmrr = 20*math.log10(cmrr)\n",
+      "\n",
+      "#Result\n",
+      "print(\"CMRR = %.2f dB\"%(cmrr))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "CMRR = 86.02 dB\n"
+       ]
+      }
+     ],
+     "prompt_number": 101
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.19, Page No.458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 102
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.20, Page No.459"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 103
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.21, Page No.466"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# two pole high pass filter(referring fig. 12.32)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 10.0*10**3          # Resistance R1\n",
+      "R2 = 5.6*10**3           # Resistance R2\n",
+      "R = 1.0*10**3            # Resistance R\n",
+      "C = 0.01 *10**-6         # capacitance \n",
+      "vi = 1.6*10**-3          # input voltage                \n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "A = 1+(R2/R1)\n",
+      "# b\n",
+      "vo = A*vi\n",
+      "# c\n",
+      "pi = math.ceil(math.pi*10000)/10000\n",
+      "fc = 1/(2*pi*R*C)\n",
+      "# d\n",
+      "gain =  0.707*A\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) midband gain = %.2f\\n(b) output voltage = %.3f mV\\n(c) fc = %.2f Hz\\n(d) Gain = %.3f\"%(A,vo*1000,fc,gain))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) midband gain = 1.56\n",
+        "(b) output voltage = 2.496 mV\n",
+        "(c) fc = 15915.46 Hz\n",
+        "(d) Gain = 1.103\n"
+       ]
+      }
+     ],
+     "prompt_number": 112
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.22, Page No. 466"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Low pass filter(referring fig. 12.30)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "vi = 1.1*10**-3               # input voltage\n",
+      "R = 10*10**3                  # Resistance\n",
+      "C = 0.001*10**-6              # Capacitance\n",
+      "R1 = 10*10**3                 # Resistance R1\n",
+      "R2 = 5.6*10**3                # Resistance R2\n",
+      "\n",
+      "#Calculations\n",
+      "# a\n",
+      "A = (R1+R2)/R1\n",
+      "vo1 = A*vi\n",
+      "# b\n",
+      "fc = 1/(2*math.pi*R*C)\n",
+      "# c\n",
+      "vo = 0.707*vo1\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)  Avf = %.2f\\n     Vo = %.3f*10^-3 V\\n(b) fc = %.3f*10^3 Hz\\n(c) at f = fc,\\nVo = %.3f* 10^-3 V\"%(A,vo1*1000,fc/1000,vo*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)  Avf = 1.56\n",
+        "     Vo = 1.716*10^-3 V\n",
+        "(b) fc = 15.915*10^3 Hz\n",
+        "(c) at f = fc,\n",
+        "Vo = 1.213* 10^-3 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 12.23, Page No.466"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_13_1.ipynb b/Power_Electronics/Power_electronics_ch_13_1.ipynb
new file mode 100755
index 00000000..d435ac89
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_13_1.ipynb
@@ -0,0 +1,965 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 13: Number Systems"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.1, Page No. 474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Decimal to binary conversion: 10\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "N = 10                      # decimal no to be convered to binary\n",
+      "k = N\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d\"%(k,b[3],b[2],b[1],b[0]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binari equivalent of decimal 10 is 1010\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.2, Page No.474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Decimal to binary conversion: 25\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "N = 25                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binari equivalent of decimal 25 is 11001\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "example 13.3, Page No. 474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Binary to decimal:101110\n",
+      "\n",
+      "import math\n",
+      "b0 = 0         # bit 0\n",
+      "b1 = 1         # bit 1\n",
+      "b2 = 1         # bit 2\n",
+      "b3 = 1         # bit 3\n",
+      "b4 = 0         # bit 4\n",
+      "b5 = 1         # bit 5\n",
+      "\n",
+      "#Calculations\n",
+      "D = (2**0)*b0+(2**1)*b1+(2**2)*b2+(2**3)*b3+(2**4)*b4+(2**5)*b5\n",
+      "\n",
+      "#Result\n",
+      "print(\"Decimal no is %d\"%D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Decimal no is 46\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.4, Page No. 475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Decimal to binary conversion: 15,31\n",
+      "\n",
+      "import math\n",
+      "#######################################################################################\n",
+      "# for N = 15\n",
+      "#variable declaration\n",
+      "N = 15                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nBinary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+      "\n",
+      "########################################################################################\n",
+      "\n",
+      "# For N =31\n",
+      "#variable declaration\n",
+      "N = 31                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+      "##########################################################################################\n",
+      "#Addition\n",
+      "c= bin(15+31)[2:]\n",
+      "print(\"(b) Addition of 15 and 31 is %s in binary. Decimal equivalent of %s is %d\"%(c,c,int(c,2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Binari equivalent of decimal 15 is 01111\n",
+        "Binari equivalent of decimal 31 is 11111\n",
+        "(b) Addition of 15 and 31 is 101110 in binary. Decimal equivalent of 101110 is 46\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.5, Page No.475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Binary subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n1 = 11001             # first number\n",
+      "n2 = 10001             # second number\n",
+      "\n",
+      "#calculations\n",
+      "n1 = int(str(n1),2)\n",
+      "n2 = int(str(n2),2)\n",
+      "c = bin(n1-n2)[2:]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Subtraction result in binary = %s\"%c)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Subtraction result in binary = 1000\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.6, Page No.475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Binary subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n1 = 1010             # first number\n",
+      "n2 = 111              # second number\n",
+      "\n",
+      "#calculations\n",
+      "n1 = int(str(n1),2)\n",
+      "n2 = int(str(n2),2)\n",
+      "c = bin(n1-n2)[2:]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Subtraction result in binary = %s\"%c)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Subtraction result in binary = 11\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.7, Page No. 476"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 16- bit signed binary representation\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "a = 8\n",
+      "b = -8\n",
+      "c = 165\n",
+      "d = -165\n",
+      "\n",
+      "#Calculations\n",
+      "#c = bin(d)\n",
+      "a = format(a,'#018b')[2:]\n",
+      "b = format(b,'#018b')[3:]\n",
+      "c = format(c,'#018b')[2:]\n",
+      "d = format(d,'#018b')[3:]\n",
+      "str = '1'\n",
+      "#Result\n",
+      "print(\"In the leading bit we will have 1 to represent '-' sign\\n\")\n",
+      "print(\"(a) +8   --> %s\"%(a))\n",
+      "print(\"(b) -8   --> %s%s\"%(str,b))\n",
+      "print(\"(c) +167 --> %s\"%(c))\n",
+      "print(\"(d) -167 --> %s%s\"%(str,d))\n",
+      "\n",
+      "a = format(-167%(1<<16),'016b')\n",
+      "b = format(167%(1<<16),'016b')\n",
+      "print a\n",
+      "print b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In the leading bit we will have 1 to represent '-' sign\n",
+        "\n",
+        "(a) +8   --> 0000000000001000\n",
+        "(b) -8   --> 1000000000001000\n",
+        "(c) +167 --> 0000000010100101\n",
+        "(d) -167 --> 1000000010100101\n",
+        "1111111101011001\n",
+        "0000000010100111\n"
+       ]
+      }
+     ],
+     "prompt_number": 87
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.8, Page No.477"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2's complement\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "a = int('00011111',2)\n",
+      "b = int('11100101',2)\n",
+      "c = int('11110111',2)\n",
+      "\n",
+      "#Calculations\n",
+      "a = format(-a%(1<<8),'08b')\n",
+      "b = format(-b%(1<<8),'08b')\n",
+      "c = format(-c%(1<<8),'08b')\n",
+      "print(\"(a) 2's complement of 00011111 --> %s \" %a)\n",
+      "print(\"(b) 2's complement of 11100101 --> %s \" %b)\n",
+      "print(\"(c) 2's complement of 11110111 --> %s \" %c)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) 2's complement of 00011111 --> 11100001 \n",
+        "(b) 2's complement of 11100101 --> 00011011 \n",
+        "(c) 2's complement of 11110111 --> 00001001 \n"
+       ]
+      }
+     ],
+     "prompt_number": 95
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.9, Page No. 13.9"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 8-bit number range\n",
+      "\n",
+      "import math\n",
+      "#calculations\n",
+      "a = int('01111111',2)\n",
+      "b = int('10000000',2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"largest positive 8-bit no in %d and smallest negative number is -%d\"%(a,b))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "largest positive 8-bit no in 127 and smallest negative number is -128\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.10, Page No.10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2's complement and addition,subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = -24\n",
+      "B = 16\n",
+      "#Calculations\n",
+      "#2's complement\n",
+      "a = format(A%(1<<8),'08b')\n",
+      "b = format(-B%(1<<8),'08b')\n",
+      "# addition\n",
+      "c = bin(A+B)[3:]\n",
+      "c = format(-int(c,2)%(1<<8),'08b')\n",
+      "#Subtraction\n",
+      "d = bin(A-B)[3:]\n",
+      "d = format(-int(d,2)%(1<<8),'08b')\n",
+      "#Result\n",
+      "print(\"(a)\\n2's complement of -24 --> %s \" %a)\n",
+      "print(\"2's complement of 16 --> %s \" %b)\n",
+      "print(\"(b) A+B = %s\"%c) \n",
+      "print(\"(c) A-B = %s\"%d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "2's complement of -24 --> 11101000 \n",
+        "2's complement of 16 --> 11110000 \n",
+        "(b) A+B = 11111000\n",
+        "(c) A-B = 11011000\n"
+       ]
+      }
+     ],
+     "prompt_number": 116
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.11, Page No. 479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2's complement and addition,subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = -60\n",
+      "B = -28\n",
+      "#Calculations\n",
+      "#2's complement\n",
+      "a = format(A%(1<<8),'08b')\n",
+      "b = format(B%(1<<8),'08b')\n",
+      "# addition\n",
+      "c = bin(A+B)[3:]\n",
+      "c = format(-int(c,2)%(1<<8),'08b')\n",
+      "#Subtraction\n",
+      "x = B-A\n",
+      "d = bin(B-A)[2:]\n",
+      "d = format(int(d,2),'08b')\n",
+      "#Result\n",
+      "print(\"(a)\\n2's complement of A --> %s \" %a)\n",
+      "print(\"2's complement of B --> %s \" %b)\n",
+      "print(\"(b) B+A = %s\"%c) \n",
+      "print(\"(c) B-A = %s\"%d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "2's complement of A --> 11000100 \n",
+        "2's complement of B --> 11100100 \n",
+        "(b) B+A = 10101000\n",
+        "(c) B-A = 00100000\n"
+       ]
+      }
+     ],
+     "prompt_number": 130
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.12, Page No. 479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to binary\n",
+      "\n",
+      "# For N = 0.6875\n",
+      "#variable declaration\n",
+      "N = 0.6875                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "    N = N*2\n",
+      "    #print N\n",
+      "    b[i]=0\n",
+      "    #print b[i]\n",
+      "    if (N>1) or(N==1):\n",
+      "        N =N-1\n",
+      "        b[i]=1\n",
+      "    i=i+1\n",
+      "    \n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d \"%(k,b[0],b[1],b[2],b[3]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binary equivalent of decimal 0.687500 is 0.1011 \n"
+       ]
+      }
+     ],
+     "prompt_number": 230
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.13, Page No.480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to binary\n",
+      "\n",
+      "# For N = 0.634\n",
+      "#variable declaration\n",
+      "N = 0.634                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+      "while(i!=7):\n",
+      "    N = N*2\n",
+      "    #print N\n",
+      "    b[i]=0\n",
+      "    #print b[i]\n",
+      "    if (N>1) or(N==1):\n",
+      "        N =N-1\n",
+      "        b[i]=1\n",
+      "    i=i+1\n",
+      "\n",
+      "#Result    \n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binary equivalent of decimal 0.634000 is 0.1010001 \n"
+       ]
+      }
+     ],
+     "prompt_number": 222
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.14, Page No.480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to binary\n",
+      "\n",
+      "# For N = 0.634\n",
+      "#variable declaration\n",
+      "N = 39.12                      # decimal no to be convered to binary\n",
+      "\n",
+      "N1 = 39\n",
+      "k = N1\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0]\n",
+      "while(N1!=0):\n",
+      "  b[i] = N1%2\n",
+      "  N1 = N1/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d%d%d%d\"%(k,b[6],b[5],b[4],b[3],b[2],b[1],b[0]))\n",
+      "\n",
+      "\n",
+      "N2 =0.12\n",
+      "#Calculations\n",
+      "k = N2\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+      "while(i!=7):\n",
+      "    N2 = N2*2\n",
+      "    #print N\n",
+      "    b[i]=0\n",
+      "    #print b[i]\n",
+      "    if (N2>1) or(N2==1):\n",
+      "        N2 =N2-1\n",
+      "        b[i]=1\n",
+      "    i=i+1\n",
+      " \n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binary equivalent of decimal 39 is 0100111\n",
+        "Binary equivalent of decimal 0.120000 is 0.0001111 \n"
+       ]
+      }
+     ],
+     "prompt_number": 225
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.15, Page No.481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# binary Addition\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "a1 = int('101101',2)       # integer part of first no\n",
+      "a2 = int('0101',2)         # fractiona part of first no\n",
+      "b1 = int('10001',2)        # integer part of second no\n",
+      "b2 = int('1010',2)         # fractiona part of second no(in fraction we can add any no of 0s)\n",
+      "\n",
+      "#Calculations\n",
+      "c1= bin(a1+b1)[2:]\n",
+      "c2 = bin(a2+b2)[2:]\n",
+      "\n",
+      "print(\"Addition --> %s.%s\"%(c1,c2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Addition --> 111110.1111\n"
+       ]
+      }
+     ],
+     "prompt_number": 227
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.16, Page No. 481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# binary to decimal conversion\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "i0 = 1               # LSB of integer\n",
+      "i1 = 0\n",
+      "i2 = 0\n",
+      "i3 = 1\n",
+      "i4 = 1               # MSB of integer\n",
+      "f1 = 0\n",
+      "f2 = 0\n",
+      "f3 = 1\n",
+      "f4 = 0\n",
+      "f5 = 1\n",
+      "f6 = 1\n",
+      "\n",
+      "#Calculations\n",
+      "D = i0*(2**0)+i1*(2**1)+i2*(2**2)+i3*(2**3)+i4*(2**4)+f1*(2**-1)+f2*(2**-2)+f3*(2**-3)+f4*(2**-4)+f5*(2**-5)+f6*(2**-6)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Decimal equivalent = %f\"%D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Decimal equivalent = 25.171875\n"
+       ]
+      }
+     ],
+     "prompt_number": 231
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.17, Page No. 482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Hexadecimal to decimal\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "a = 3\n",
+      "b = 10  # decimal equivalent of A\n",
+      "c = 8\n",
+      "#Calculations\n",
+      "# binary equvalent of  8            A                   3 \n",
+      "#                    1000         1010                0011\n",
+      "# a\n",
+      "Da = (1*2**0)+(1*2**1)+(0*2**2)+(0*2**3)+(0*2**4)+(1*2**5)+(0*2**6)+(1*2**7)+(0*2**8)+(0*2**9)+(0*2**10)+(1*2**11)\n",
+      "print(\"(a) Decimal equivalent of 8A3 is %d\"%Da)\n",
+      "# b \n",
+      "Db = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+      "print(\"(b) Decimal equivalent of 8A3 is %d\"%Db)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Decimal equivalent of 8A3 is 2211\n",
+        "(b) Decimal equivalent of 8A3 is 2211\n"
+       ]
+      }
+     ],
+     "prompt_number": 236
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.18, Page No. 482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to hexadecimal\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "N = 268                # no to be converted into hexadecimal\n",
+      "\n",
+      "N1 = 268\n",
+      "k = N1\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0]\n",
+      "while(N1!=0):\n",
+      "  b[i] = N1%16\n",
+      "  N1 = N1/16\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Remainder1: %d = C\\nRemainder2: %d\\nRemainder3: %d\\n\\nHexaecimal equivalent of %d = 10C\"%(b[0],b[1],b[2],k))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Remainder1: 12 = C\n",
+        "Remainder2: 0\n",
+        "Remainder3: 1\n",
+        "\n",
+        "Hexaecimal equivalent of 268 = 10C\n"
+       ]
+      }
+     ],
+     "prompt_number": 260
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.19, Page No.483"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to hexadecimal\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "N = 5741                # no to be converted into hexadecimal\n",
+      "\n",
+      "N1 = 5741\n",
+      "k = N1\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0]\n",
+      "while(N1!=0):\n",
+      "  b[i] = N1%16\n",
+      "  N1 = N1/16\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Remainder1: %d = D\\nRemainder2: %d\\nRemainder3: %d\\nRemainder4: %d\\n\\nHexaecimal equivalent of %d =166D\"%(b[0],b[1],b[2],b[3],k))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Remainder1: 13 = D\n",
+        "Remainder2: 6\n",
+        "Remainder3: 6\n",
+        "Remainder4: 1\n",
+        "\n",
+        "Hexaecimal equivalent of 5741 =166D\n"
+       ]
+      }
+     ],
+     "prompt_number": 259
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.20, Page No.483"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Hexadecimal to decimal\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "a = 0\n",
+      "b = 7\n",
+      "c = 13  #  decimal equivalent of D\n",
+      "#Calculations\n",
+      "D = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(b) Decimal equivalent of 8A3 is %d\"%D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(b) Decimal equivalent of 8A3 is 3440\n"
+       ]
+      }
+     ],
+     "prompt_number": 262
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_13_2.ipynb b/Power_Electronics/Power_electronics_ch_13_2.ipynb
new file mode 100755
index 00000000..d435ac89
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_13_2.ipynb
@@ -0,0 +1,965 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 13: Number Systems"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.1, Page No. 474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Decimal to binary conversion: 10\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "N = 10                      # decimal no to be convered to binary\n",
+      "k = N\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d\"%(k,b[3],b[2],b[1],b[0]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binari equivalent of decimal 10 is 1010\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.2, Page No.474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Decimal to binary conversion: 25\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "N = 25                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binari equivalent of decimal 25 is 11001\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "example 13.3, Page No. 474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Binary to decimal:101110\n",
+      "\n",
+      "import math\n",
+      "b0 = 0         # bit 0\n",
+      "b1 = 1         # bit 1\n",
+      "b2 = 1         # bit 2\n",
+      "b3 = 1         # bit 3\n",
+      "b4 = 0         # bit 4\n",
+      "b5 = 1         # bit 5\n",
+      "\n",
+      "#Calculations\n",
+      "D = (2**0)*b0+(2**1)*b1+(2**2)*b2+(2**3)*b3+(2**4)*b4+(2**5)*b5\n",
+      "\n",
+      "#Result\n",
+      "print(\"Decimal no is %d\"%D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Decimal no is 46\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.4, Page No. 475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Decimal to binary conversion: 15,31\n",
+      "\n",
+      "import math\n",
+      "#######################################################################################\n",
+      "# for N = 15\n",
+      "#variable declaration\n",
+      "N = 15                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nBinary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+      "\n",
+      "########################################################################################\n",
+      "\n",
+      "# For N =31\n",
+      "#variable declaration\n",
+      "N = 31                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+      "##########################################################################################\n",
+      "#Addition\n",
+      "c= bin(15+31)[2:]\n",
+      "print(\"(b) Addition of 15 and 31 is %s in binary. Decimal equivalent of %s is %d\"%(c,c,int(c,2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Binari equivalent of decimal 15 is 01111\n",
+        "Binari equivalent of decimal 31 is 11111\n",
+        "(b) Addition of 15 and 31 is 101110 in binary. Decimal equivalent of 101110 is 46\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.5, Page No.475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Binary subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n1 = 11001             # first number\n",
+      "n2 = 10001             # second number\n",
+      "\n",
+      "#calculations\n",
+      "n1 = int(str(n1),2)\n",
+      "n2 = int(str(n2),2)\n",
+      "c = bin(n1-n2)[2:]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Subtraction result in binary = %s\"%c)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Subtraction result in binary = 1000\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.6, Page No.475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Binary subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n1 = 1010             # first number\n",
+      "n2 = 111              # second number\n",
+      "\n",
+      "#calculations\n",
+      "n1 = int(str(n1),2)\n",
+      "n2 = int(str(n2),2)\n",
+      "c = bin(n1-n2)[2:]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Subtraction result in binary = %s\"%c)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Subtraction result in binary = 11\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.7, Page No. 476"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 16- bit signed binary representation\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "a = 8\n",
+      "b = -8\n",
+      "c = 165\n",
+      "d = -165\n",
+      "\n",
+      "#Calculations\n",
+      "#c = bin(d)\n",
+      "a = format(a,'#018b')[2:]\n",
+      "b = format(b,'#018b')[3:]\n",
+      "c = format(c,'#018b')[2:]\n",
+      "d = format(d,'#018b')[3:]\n",
+      "str = '1'\n",
+      "#Result\n",
+      "print(\"In the leading bit we will have 1 to represent '-' sign\\n\")\n",
+      "print(\"(a) +8   --> %s\"%(a))\n",
+      "print(\"(b) -8   --> %s%s\"%(str,b))\n",
+      "print(\"(c) +167 --> %s\"%(c))\n",
+      "print(\"(d) -167 --> %s%s\"%(str,d))\n",
+      "\n",
+      "a = format(-167%(1<<16),'016b')\n",
+      "b = format(167%(1<<16),'016b')\n",
+      "print a\n",
+      "print b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In the leading bit we will have 1 to represent '-' sign\n",
+        "\n",
+        "(a) +8   --> 0000000000001000\n",
+        "(b) -8   --> 1000000000001000\n",
+        "(c) +167 --> 0000000010100101\n",
+        "(d) -167 --> 1000000010100101\n",
+        "1111111101011001\n",
+        "0000000010100111\n"
+       ]
+      }
+     ],
+     "prompt_number": 87
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.8, Page No.477"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2's complement\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "a = int('00011111',2)\n",
+      "b = int('11100101',2)\n",
+      "c = int('11110111',2)\n",
+      "\n",
+      "#Calculations\n",
+      "a = format(-a%(1<<8),'08b')\n",
+      "b = format(-b%(1<<8),'08b')\n",
+      "c = format(-c%(1<<8),'08b')\n",
+      "print(\"(a) 2's complement of 00011111 --> %s \" %a)\n",
+      "print(\"(b) 2's complement of 11100101 --> %s \" %b)\n",
+      "print(\"(c) 2's complement of 11110111 --> %s \" %c)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) 2's complement of 00011111 --> 11100001 \n",
+        "(b) 2's complement of 11100101 --> 00011011 \n",
+        "(c) 2's complement of 11110111 --> 00001001 \n"
+       ]
+      }
+     ],
+     "prompt_number": 95
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.9, Page No. 13.9"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 8-bit number range\n",
+      "\n",
+      "import math\n",
+      "#calculations\n",
+      "a = int('01111111',2)\n",
+      "b = int('10000000',2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"largest positive 8-bit no in %d and smallest negative number is -%d\"%(a,b))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "largest positive 8-bit no in 127 and smallest negative number is -128\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.10, Page No.10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2's complement and addition,subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = -24\n",
+      "B = 16\n",
+      "#Calculations\n",
+      "#2's complement\n",
+      "a = format(A%(1<<8),'08b')\n",
+      "b = format(-B%(1<<8),'08b')\n",
+      "# addition\n",
+      "c = bin(A+B)[3:]\n",
+      "c = format(-int(c,2)%(1<<8),'08b')\n",
+      "#Subtraction\n",
+      "d = bin(A-B)[3:]\n",
+      "d = format(-int(d,2)%(1<<8),'08b')\n",
+      "#Result\n",
+      "print(\"(a)\\n2's complement of -24 --> %s \" %a)\n",
+      "print(\"2's complement of 16 --> %s \" %b)\n",
+      "print(\"(b) A+B = %s\"%c) \n",
+      "print(\"(c) A-B = %s\"%d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "2's complement of -24 --> 11101000 \n",
+        "2's complement of 16 --> 11110000 \n",
+        "(b) A+B = 11111000\n",
+        "(c) A-B = 11011000\n"
+       ]
+      }
+     ],
+     "prompt_number": 116
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.11, Page No. 479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2's complement and addition,subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = -60\n",
+      "B = -28\n",
+      "#Calculations\n",
+      "#2's complement\n",
+      "a = format(A%(1<<8),'08b')\n",
+      "b = format(B%(1<<8),'08b')\n",
+      "# addition\n",
+      "c = bin(A+B)[3:]\n",
+      "c = format(-int(c,2)%(1<<8),'08b')\n",
+      "#Subtraction\n",
+      "x = B-A\n",
+      "d = bin(B-A)[2:]\n",
+      "d = format(int(d,2),'08b')\n",
+      "#Result\n",
+      "print(\"(a)\\n2's complement of A --> %s \" %a)\n",
+      "print(\"2's complement of B --> %s \" %b)\n",
+      "print(\"(b) B+A = %s\"%c) \n",
+      "print(\"(c) B-A = %s\"%d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "2's complement of A --> 11000100 \n",
+        "2's complement of B --> 11100100 \n",
+        "(b) B+A = 10101000\n",
+        "(c) B-A = 00100000\n"
+       ]
+      }
+     ],
+     "prompt_number": 130
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.12, Page No. 479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to binary\n",
+      "\n",
+      "# For N = 0.6875\n",
+      "#variable declaration\n",
+      "N = 0.6875                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "    N = N*2\n",
+      "    #print N\n",
+      "    b[i]=0\n",
+      "    #print b[i]\n",
+      "    if (N>1) or(N==1):\n",
+      "        N =N-1\n",
+      "        b[i]=1\n",
+      "    i=i+1\n",
+      "    \n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d \"%(k,b[0],b[1],b[2],b[3]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binary equivalent of decimal 0.687500 is 0.1011 \n"
+       ]
+      }
+     ],
+     "prompt_number": 230
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.13, Page No.480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to binary\n",
+      "\n",
+      "# For N = 0.634\n",
+      "#variable declaration\n",
+      "N = 0.634                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+      "while(i!=7):\n",
+      "    N = N*2\n",
+      "    #print N\n",
+      "    b[i]=0\n",
+      "    #print b[i]\n",
+      "    if (N>1) or(N==1):\n",
+      "        N =N-1\n",
+      "        b[i]=1\n",
+      "    i=i+1\n",
+      "\n",
+      "#Result    \n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binary equivalent of decimal 0.634000 is 0.1010001 \n"
+       ]
+      }
+     ],
+     "prompt_number": 222
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.14, Page No.480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to binary\n",
+      "\n",
+      "# For N = 0.634\n",
+      "#variable declaration\n",
+      "N = 39.12                      # decimal no to be convered to binary\n",
+      "\n",
+      "N1 = 39\n",
+      "k = N1\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0]\n",
+      "while(N1!=0):\n",
+      "  b[i] = N1%2\n",
+      "  N1 = N1/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d%d%d%d\"%(k,b[6],b[5],b[4],b[3],b[2],b[1],b[0]))\n",
+      "\n",
+      "\n",
+      "N2 =0.12\n",
+      "#Calculations\n",
+      "k = N2\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+      "while(i!=7):\n",
+      "    N2 = N2*2\n",
+      "    #print N\n",
+      "    b[i]=0\n",
+      "    #print b[i]\n",
+      "    if (N2>1) or(N2==1):\n",
+      "        N2 =N2-1\n",
+      "        b[i]=1\n",
+      "    i=i+1\n",
+      " \n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binary equivalent of decimal 39 is 0100111\n",
+        "Binary equivalent of decimal 0.120000 is 0.0001111 \n"
+       ]
+      }
+     ],
+     "prompt_number": 225
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.15, Page No.481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# binary Addition\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "a1 = int('101101',2)       # integer part of first no\n",
+      "a2 = int('0101',2)         # fractiona part of first no\n",
+      "b1 = int('10001',2)        # integer part of second no\n",
+      "b2 = int('1010',2)         # fractiona part of second no(in fraction we can add any no of 0s)\n",
+      "\n",
+      "#Calculations\n",
+      "c1= bin(a1+b1)[2:]\n",
+      "c2 = bin(a2+b2)[2:]\n",
+      "\n",
+      "print(\"Addition --> %s.%s\"%(c1,c2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Addition --> 111110.1111\n"
+       ]
+      }
+     ],
+     "prompt_number": 227
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.16, Page No. 481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# binary to decimal conversion\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "i0 = 1               # LSB of integer\n",
+      "i1 = 0\n",
+      "i2 = 0\n",
+      "i3 = 1\n",
+      "i4 = 1               # MSB of integer\n",
+      "f1 = 0\n",
+      "f2 = 0\n",
+      "f3 = 1\n",
+      "f4 = 0\n",
+      "f5 = 1\n",
+      "f6 = 1\n",
+      "\n",
+      "#Calculations\n",
+      "D = i0*(2**0)+i1*(2**1)+i2*(2**2)+i3*(2**3)+i4*(2**4)+f1*(2**-1)+f2*(2**-2)+f3*(2**-3)+f4*(2**-4)+f5*(2**-5)+f6*(2**-6)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Decimal equivalent = %f\"%D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Decimal equivalent = 25.171875\n"
+       ]
+      }
+     ],
+     "prompt_number": 231
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.17, Page No. 482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Hexadecimal to decimal\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "a = 3\n",
+      "b = 10  # decimal equivalent of A\n",
+      "c = 8\n",
+      "#Calculations\n",
+      "# binary equvalent of  8            A                   3 \n",
+      "#                    1000         1010                0011\n",
+      "# a\n",
+      "Da = (1*2**0)+(1*2**1)+(0*2**2)+(0*2**3)+(0*2**4)+(1*2**5)+(0*2**6)+(1*2**7)+(0*2**8)+(0*2**9)+(0*2**10)+(1*2**11)\n",
+      "print(\"(a) Decimal equivalent of 8A3 is %d\"%Da)\n",
+      "# b \n",
+      "Db = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+      "print(\"(b) Decimal equivalent of 8A3 is %d\"%Db)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Decimal equivalent of 8A3 is 2211\n",
+        "(b) Decimal equivalent of 8A3 is 2211\n"
+       ]
+      }
+     ],
+     "prompt_number": 236
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.18, Page No. 482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to hexadecimal\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "N = 268                # no to be converted into hexadecimal\n",
+      "\n",
+      "N1 = 268\n",
+      "k = N1\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0]\n",
+      "while(N1!=0):\n",
+      "  b[i] = N1%16\n",
+      "  N1 = N1/16\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Remainder1: %d = C\\nRemainder2: %d\\nRemainder3: %d\\n\\nHexaecimal equivalent of %d = 10C\"%(b[0],b[1],b[2],k))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Remainder1: 12 = C\n",
+        "Remainder2: 0\n",
+        "Remainder3: 1\n",
+        "\n",
+        "Hexaecimal equivalent of 268 = 10C\n"
+       ]
+      }
+     ],
+     "prompt_number": 260
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.19, Page No.483"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to hexadecimal\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "N = 5741                # no to be converted into hexadecimal\n",
+      "\n",
+      "N1 = 5741\n",
+      "k = N1\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0]\n",
+      "while(N1!=0):\n",
+      "  b[i] = N1%16\n",
+      "  N1 = N1/16\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Remainder1: %d = D\\nRemainder2: %d\\nRemainder3: %d\\nRemainder4: %d\\n\\nHexaecimal equivalent of %d =166D\"%(b[0],b[1],b[2],b[3],k))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Remainder1: 13 = D\n",
+        "Remainder2: 6\n",
+        "Remainder3: 6\n",
+        "Remainder4: 1\n",
+        "\n",
+        "Hexaecimal equivalent of 5741 =166D\n"
+       ]
+      }
+     ],
+     "prompt_number": 259
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.20, Page No.483"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Hexadecimal to decimal\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "a = 0\n",
+      "b = 7\n",
+      "c = 13  #  decimal equivalent of D\n",
+      "#Calculations\n",
+      "D = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(b) Decimal equivalent of 8A3 is %d\"%D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(b) Decimal equivalent of 8A3 is 3440\n"
+       ]
+      }
+     ],
+     "prompt_number": 262
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_13_3.ipynb b/Power_Electronics/Power_electronics_ch_13_3.ipynb
new file mode 100755
index 00000000..2e5b592a
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_13_3.ipynb
@@ -0,0 +1,965 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 13: Number Systems"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.1, Page No. 474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Decimal to binary conversion: 10\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "N = 10                      # decimal no to be convered to binary\n",
+      "k = N\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d\"%(k,b[3],b[2],b[1],b[0]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binari equivalent of decimal 10 is 1010\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.2, Page No.474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Decimal to binary conversion: 25\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "N = 25                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binari equivalent of decimal 25 is 11001\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.3, Page No. 474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Binary to decimal:101110\n",
+      "\n",
+      "import math\n",
+      "b0 = 0         # bit 0\n",
+      "b1 = 1         # bit 1\n",
+      "b2 = 1         # bit 2\n",
+      "b3 = 1         # bit 3\n",
+      "b4 = 0         # bit 4\n",
+      "b5 = 1         # bit 5\n",
+      "\n",
+      "#Calculations\n",
+      "D = (2**0)*b0+(2**1)*b1+(2**2)*b2+(2**3)*b3+(2**4)*b4+(2**5)*b5\n",
+      "\n",
+      "#Result\n",
+      "print(\"Decimal no is %d\"%D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Decimal no is 46\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.4, Page No. 475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Decimal to binary conversion: 15,31\n",
+      "\n",
+      "import math\n",
+      "#######################################################################################\n",
+      "# for N = 15\n",
+      "#variable declaration\n",
+      "N = 15                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nBinary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+      "\n",
+      "########################################################################################\n",
+      "\n",
+      "# For N =31\n",
+      "#variable declaration\n",
+      "N = 31                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "  b[i] = N%2\n",
+      "  N = N/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d%d\"%(k,b[4],b[3],b[2],b[1],b[0]))\n",
+      "##########################################################################################\n",
+      "#Addition\n",
+      "c= bin(15+31)[2:]\n",
+      "print(\"(b) Addition of 15 and 31 is %s in binary. Decimal equivalent of %s is %d\"%(c,c,int(c,2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Binari equivalent of decimal 15 is 01111\n",
+        "Binari equivalent of decimal 31 is 11111\n",
+        "(b) Addition of 15 and 31 is 101110 in binary. Decimal equivalent of 101110 is 46\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.5, Page No.475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Binary subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n1 = 11001             # first number\n",
+      "n2 = 10001             # second number\n",
+      "\n",
+      "#calculations\n",
+      "n1 = int(str(n1),2)\n",
+      "n2 = int(str(n2),2)\n",
+      "c = bin(n1-n2)[2:]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Subtraction result in binary = %s\"%c)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Subtraction result in binary = 1000\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.6, Page No.475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Binary subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "n1 = 1010             # first number\n",
+      "n2 = 111              # second number\n",
+      "\n",
+      "#calculations\n",
+      "n1 = int(str(n1),2)\n",
+      "n2 = int(str(n2),2)\n",
+      "c = bin(n1-n2)[2:]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Subtraction result in binary = %s\"%c)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Subtraction result in binary = 11\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.7, Page No. 476"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 16- bit signed binary representation\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "a = 8\n",
+      "b = -8\n",
+      "c = 165\n",
+      "d = -165\n",
+      "\n",
+      "#Calculations\n",
+      "#c = bin(d)\n",
+      "a = format(a,'#018b')[2:]\n",
+      "b = format(b,'#018b')[3:]\n",
+      "c = format(c,'#018b')[2:]\n",
+      "d = format(d,'#018b')[3:]\n",
+      "str = '1'\n",
+      "#Result\n",
+      "print(\"In the leading bit we will have 1 to represent '-' sign\\n\")\n",
+      "print(\"(a) +8   --> %s\"%(a))\n",
+      "print(\"(b) -8   --> %s%s\"%(str,b))\n",
+      "print(\"(c) +167 --> %s\"%(c))\n",
+      "print(\"(d) -167 --> %s%s\"%(str,d))\n",
+      "\n",
+      "a = format(-167%(1<<16),'016b')\n",
+      "b = format(167%(1<<16),'016b')\n",
+      "print a\n",
+      "print b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In the leading bit we will have 1 to represent '-' sign\n",
+        "\n",
+        "(a) +8   --> 0000000000001000\n",
+        "(b) -8   --> 1000000000001000\n",
+        "(c) +167 --> 0000000010100101\n",
+        "(d) -167 --> 1000000010100101\n",
+        "1111111101011001\n",
+        "0000000010100111\n"
+       ]
+      }
+     ],
+     "prompt_number": 87
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.8, Page No.477"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2's complement\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "a = int('00011111',2)\n",
+      "b = int('11100101',2)\n",
+      "c = int('11110111',2)\n",
+      "\n",
+      "#Calculations\n",
+      "a = format(-a%(1<<8),'08b')\n",
+      "b = format(-b%(1<<8),'08b')\n",
+      "c = format(-c%(1<<8),'08b')\n",
+      "print(\"(a) 2's complement of 00011111 --> %s \" %a)\n",
+      "print(\"(b) 2's complement of 11100101 --> %s \" %b)\n",
+      "print(\"(c) 2's complement of 11110111 --> %s \" %c)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) 2's complement of 00011111 --> 11100001 \n",
+        "(b) 2's complement of 11100101 --> 00011011 \n",
+        "(c) 2's complement of 11110111 --> 00001001 \n"
+       ]
+      }
+     ],
+     "prompt_number": 95
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.9, Page No. 13.9"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 8-bit number range\n",
+      "\n",
+      "import math\n",
+      "#calculations\n",
+      "a = int('01111111',2)\n",
+      "b = int('10000000',2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"largest positive 8-bit no in %d and smallest negative number is -%d\"%(a,b))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "largest positive 8-bit no in 127 and smallest negative number is -128\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.10, Page No.10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2's complement and addition,subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = -24\n",
+      "B = 16\n",
+      "#Calculations\n",
+      "#2's complement\n",
+      "a = format(A%(1<<8),'08b')\n",
+      "b = format(-B%(1<<8),'08b')\n",
+      "# addition\n",
+      "c = bin(A+B)[3:]\n",
+      "c = format(-int(c,2)%(1<<8),'08b')\n",
+      "#Subtraction\n",
+      "d = bin(A-B)[3:]\n",
+      "d = format(-int(d,2)%(1<<8),'08b')\n",
+      "#Result\n",
+      "print(\"(a)\\n2's complement of -24 --> %s \" %a)\n",
+      "print(\"2's complement of 16 --> %s \" %b)\n",
+      "print(\"(b) A+B = %s\"%c) \n",
+      "print(\"(c) A-B = %s\"%d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "2's complement of -24 --> 11101000 \n",
+        "2's complement of 16 --> 11110000 \n",
+        "(b) A+B = 11111000\n",
+        "(c) A-B = 11011000\n"
+       ]
+      }
+     ],
+     "prompt_number": 116
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.11, Page No. 479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 2's complement and addition,subtraction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "A = -60\n",
+      "B = -28\n",
+      "#Calculations\n",
+      "#2's complement\n",
+      "a = format(A%(1<<8),'08b')\n",
+      "b = format(B%(1<<8),'08b')\n",
+      "# addition\n",
+      "c = bin(A+B)[3:]\n",
+      "c = format(-int(c,2)%(1<<8),'08b')\n",
+      "#Subtraction\n",
+      "x = B-A\n",
+      "d = bin(B-A)[2:]\n",
+      "d = format(int(d,2),'08b')\n",
+      "#Result\n",
+      "print(\"(a)\\n2's complement of A --> %s \" %a)\n",
+      "print(\"2's complement of B --> %s \" %b)\n",
+      "print(\"(b) B+A = %s\"%c) \n",
+      "print(\"(c) B-A = %s\"%d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "2's complement of A --> 11000100 \n",
+        "2's complement of B --> 11100100 \n",
+        "(b) B+A = 10101000\n",
+        "(c) B-A = 00100000\n"
+       ]
+      }
+     ],
+     "prompt_number": 130
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.12, Page No. 479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to binary\n",
+      "\n",
+      "# For N = 0.6875\n",
+      "#variable declaration\n",
+      "N = 0.6875                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+      "while(N!=0):\n",
+      "    N = N*2\n",
+      "    #print N\n",
+      "    b[i]=0\n",
+      "    #print b[i]\n",
+      "    if (N>1) or(N==1):\n",
+      "        N =N-1\n",
+      "        b[i]=1\n",
+      "    i=i+1\n",
+      "    \n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d \"%(k,b[0],b[1],b[2],b[3]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binary equivalent of decimal 0.687500 is 0.1011 \n"
+       ]
+      }
+     ],
+     "prompt_number": 230
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.13, Page No.480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to binary\n",
+      "\n",
+      "# For N = 0.634\n",
+      "#variable declaration\n",
+      "N = 0.634                      # decimal no to be convered to binary\n",
+      "\n",
+      "#Calculations\n",
+      "k = N\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+      "while(i!=7):\n",
+      "    N = N*2\n",
+      "    #print N\n",
+      "    b[i]=0\n",
+      "    #print b[i]\n",
+      "    if (N>1) or(N==1):\n",
+      "        N =N-1\n",
+      "        b[i]=1\n",
+      "    i=i+1\n",
+      "\n",
+      "#Result    \n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binary equivalent of decimal 0.634000 is 0.1010001 \n"
+       ]
+      }
+     ],
+     "prompt_number": 222
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.14, Page No.480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to binary\n",
+      "\n",
+      "# For N = 0.634\n",
+      "#variable declaration\n",
+      "N = 39.12                      # decimal no to be convered to binary\n",
+      "\n",
+      "N1 = 39\n",
+      "k = N1\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0]\n",
+      "while(N1!=0):\n",
+      "  b[i] = N1%2\n",
+      "  N1 = N1/2\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %d is %d%d%d%d%d%d%d\"%(k,b[6],b[5],b[4],b[3],b[2],b[1],b[0]))\n",
+      "\n",
+      "\n",
+      "N2 =0.12\n",
+      "#Calculations\n",
+      "k = N2\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0,0,0,0,0]\n",
+      "while(i!=7):\n",
+      "    N2 = N2*2\n",
+      "    #print N\n",
+      "    b[i]=0\n",
+      "    #print b[i]\n",
+      "    if (N2>1) or(N2==1):\n",
+      "        N2 =N2-1\n",
+      "        b[i]=1\n",
+      "    i=i+1\n",
+      " \n",
+      "#Result\n",
+      "print(\"Binary equivalent of decimal %f is 0.%d%d%d%d%d%d%d \"%(k,b[0],b[1],b[2],b[3],b[4],b[5],b[6]))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Binary equivalent of decimal 39 is 0100111\n",
+        "Binary equivalent of decimal 0.120000 is 0.0001111 \n"
+       ]
+      }
+     ],
+     "prompt_number": 225
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.15, Page No.481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# binary Addition\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "a1 = int('101101',2)       # integer part of first no\n",
+      "a2 = int('0101',2)         # fractiona part of first no\n",
+      "b1 = int('10001',2)        # integer part of second no\n",
+      "b2 = int('1010',2)         # fractiona part of second no(in fraction we can add any no of 0s)\n",
+      "\n",
+      "#Calculations\n",
+      "c1= bin(a1+b1)[2:]\n",
+      "c2 = bin(a2+b2)[2:]\n",
+      "\n",
+      "print(\"Addition --> %s.%s\"%(c1,c2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Addition --> 111110.1111\n"
+       ]
+      }
+     ],
+     "prompt_number": 227
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.16, Page No. 481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# binary to decimal conversion\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "i0 = 1               # LSB of integer\n",
+      "i1 = 0\n",
+      "i2 = 0\n",
+      "i3 = 1\n",
+      "i4 = 1               # MSB of integer\n",
+      "f1 = 0\n",
+      "f2 = 0\n",
+      "f3 = 1\n",
+      "f4 = 0\n",
+      "f5 = 1\n",
+      "f6 = 1\n",
+      "\n",
+      "#Calculations\n",
+      "D = i0*(2**0)+i1*(2**1)+i2*(2**2)+i3*(2**3)+i4*(2**4)+f1*(2**-1)+f2*(2**-2)+f3*(2**-3)+f4*(2**-4)+f5*(2**-5)+f6*(2**-6)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Decimal equivalent = %f\"%D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Decimal equivalent = 25.171875\n"
+       ]
+      }
+     ],
+     "prompt_number": 231
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.17, Page No. 482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Hexadecimal to decimal\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "a = 3\n",
+      "b = 10  # decimal equivalent of A\n",
+      "c = 8\n",
+      "#Calculations\n",
+      "# binary equvalent of  8            A                   3 \n",
+      "#                    1000         1010                0011\n",
+      "# a\n",
+      "Da = (1*2**0)+(1*2**1)+(0*2**2)+(0*2**3)+(0*2**4)+(1*2**5)+(0*2**6)+(1*2**7)+(0*2**8)+(0*2**9)+(0*2**10)+(1*2**11)\n",
+      "print(\"(a) Decimal equivalent of 8A3 is %d\"%Da)\n",
+      "# b \n",
+      "Db = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+      "print(\"(b) Decimal equivalent of 8A3 is %d\"%Db)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Decimal equivalent of 8A3 is 2211\n",
+        "(b) Decimal equivalent of 8A3 is 2211\n"
+       ]
+      }
+     ],
+     "prompt_number": 236
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.18, Page No. 482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to hexadecimal\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "N = 268                # no to be converted into hexadecimal\n",
+      "\n",
+      "N1 = 268\n",
+      "k = N1\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0]\n",
+      "while(N1!=0):\n",
+      "  b[i] = N1%16\n",
+      "  N1 = N1/16\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Remainder1: %d = C\\nRemainder2: %d\\nRemainder3: %d\\n\\nHexaecimal equivalent of %d = 10C\"%(b[0],b[1],b[2],k))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Remainder1: 12 = C\n",
+        "Remainder2: 0\n",
+        "Remainder3: 1\n",
+        "\n",
+        "Hexaecimal equivalent of 268 = 10C\n"
+       ]
+      }
+     ],
+     "prompt_number": 260
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.19, Page No.483"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# decimal to hexadecimal\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "N = 5741                # no to be converted into hexadecimal\n",
+      "\n",
+      "N1 = 5741\n",
+      "k = N1\n",
+      "#Calculations\n",
+      "i = 0\n",
+      "b =[0,0,0,0,0,0,0,0]\n",
+      "while(N1!=0):\n",
+      "  b[i] = N1%16\n",
+      "  N1 = N1/16\n",
+      "  i = i+1 \n",
+      "\n",
+      "#Result\n",
+      "print(\"Remainder1: %d = D\\nRemainder2: %d\\nRemainder3: %d\\nRemainder4: %d\\n\\nHexaecimal equivalent of %d =166D\"%(b[0],b[1],b[2],b[3],k))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Remainder1: 13 = D\n",
+        "Remainder2: 6\n",
+        "Remainder3: 6\n",
+        "Remainder4: 1\n",
+        "\n",
+        "Hexaecimal equivalent of 5741 =166D\n"
+       ]
+      }
+     ],
+     "prompt_number": 259
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 13.20, Page No.483"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Hexadecimal to decimal\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "a = 0\n",
+      "b = 7\n",
+      "c = 13  #  decimal equivalent of D\n",
+      "#Calculations\n",
+      "D = (a*(16**0))+(b*(16**1))+(c*(16**2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(b) Decimal equivalent of 8A3 is %d\"%D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(b) Decimal equivalent of 8A3 is 3440\n"
+       ]
+      }
+     ],
+     "prompt_number": 262
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_1_1.ipynb b/Power_Electronics/Power_electronics_ch_1_1.ipynb
new file mode 100755
index 00000000..47f33435
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_1_1.ipynb
@@ -0,0 +1,449 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1: Power Diodes And Transistors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.1, Page No. 8"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# stored charge and peak reverse current\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "t = 2.5*10**-6                # reverese recovery time to diode\n",
+      "di_by_dt = 35*10**6           # di/dt in A/S\n",
+      "\n",
+      "#Calculations\n",
+      "Q= 0.5*(t**2)*di_by_dt\n",
+      "I= math.sqrt(2*Q*di_by_dt)\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Stored charge\\n Q = %.3f * 10^-6 C\\n\\n(b) Peak reverse current\\nI = %.1f A\"%(Q*10**6,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Stored charge\n",
+        " Q = 109.375 * 10^-6 C\n",
+        "\n",
+        "(b) Peak reverse current\n",
+        "I = 87.5 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.2, Page No.8"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Vrrm rating for diode in full wave rectifire\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V= 12                     # secondary peak voltage\n",
+      "sf = 1.4                  # safety factor\n",
+      "\n",
+      "#calculations\n",
+      "# For fullwave rectifier with transformer secondary voltage 12-0-12, each diode will experience Vrrm equal to 2 x sqrt(2)x 12\n",
+      "r = math.sqrt(2)\n",
+      "r = math.floor(r*1000)/1000 \n",
+      "V = 2*r*V                # Actual value of Vrrm for each diode\n",
+      "Vrrm= V*sf\n",
+      "\n",
+      "# result\n",
+      "print(\"Vrrm rating for each diode with safety factor of %.1f is %.2fV\\n\\n\"%(sf,Vrrm))\n",
+      "#Answer in the book for Vrrm rating is wrong\n",
+      "\n",
+      "#%pylab inline\n",
+      "import matplotlib.pyplot as plt\n",
+      "from numpy import arange,sin,pi\n",
+      "%matplotlib inline\n",
+      "#fig -1\n",
+      "t = arange(0.0,4,0.01)\n",
+      "S = sin(math.pi*t)\n",
+      "plt.subplot(411)\n",
+      "plt.title(\"Secondary Voltage\")\n",
+      "plt.plot(t,S)\n",
+      "#fig -2\n",
+      "plt.subplot(412)\n",
+      "plt.title(\"Load Voltage\")\n",
+      "t1 = arange(0.0,1,0.01)\n",
+      "t2 = arange(1.0,2.0,0.01)\n",
+      "t3 = arange(2.0,3.0,0.01)\n",
+      "t4 = arange(3.0,4.0,0.01)\n",
+      "s1 = sin((pi*t1))\n",
+      "s2 = sin((pi*t1))\n",
+      "s3 = sin(pi*t1)\n",
+      "s4 = sin(pi*t1)\n",
+      "\n",
+      "plt.plot(t1,s1)\n",
+      "plt.plot(t2,s2)\n",
+      "plt.plot(t3,s3)\n",
+      "plt.plot(t4,s4)\n",
+      "#fig -3\n",
+      "plt.subplot(413)\n",
+      "plt.title(\"Voltage across D1\")\n",
+      "plt.axis([0,4,0,1])\n",
+      "plt.plot(t1,s1)\n",
+      "plt.plot(t3,s3)\n",
+      "#fig -4\n",
+      "plt.subplot(414)\n",
+      "plt.title(\"Voltage across D2\")\n",
+      "plt.axis([0,4,-1,0])\n",
+      "s2 = sin((pi*t1)-pi)\n",
+      "s4 = sin(pi*t1-pi)\n",
+      "plt.plot(t2,s2)\n",
+      "plt.plot(t4,s4)\n",
+      "#Result\n",
+      "plt.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vrrm rating for each diode with safety factor of 1.4 is 47.51V\n",
+        "\n",
+        "\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\ntYOxsTEMDQ0RHByM9PR0AOzixbaczJMfakhJSUHDj5Y3GjVqhJSUFGhpaeHQoUPYsmULLC0t0atX\nL17cEx8AACAASURBVDx+zNJvrF27FkSEtm3bwtnZGTvfeclIy/ulVyMjoxLPE1Gl+uGp3ii9jKOP\njw+aNGkCOzs7TJo0Cb/++qtChPOoL6NGjcLu3buxd+9edO/eHSYmJgAAS0tLxMfHi9slJCTA0tJS\nYh8fu6fu27cPJ06cwNmzZ/HmzRvExcWJr3xMTEygqalZ6i70PQ0bNkSnTp2QkZEhPrKzs/HLx4ER\nAAoKCjBgwADMmzcPr169QkZGBnx8fMSG09rautwrrQ91W1lZ4dlH/tjPnj0T3/l27doVZ86cwYsX\nL9C8eXNMmMAK7JiZmWHbtm1ITk7G1q1bMXXqVDytRErfY8eOwczMDM2aNStTGw+P3H7+PXr0wOPH\njxETE4MFCxYAACZNmoRJH+zeBgYGIiYmBnfv3kWrVq3kHZJHzRk1ahT+/vtv/P7772JPLwAYNmwY\nli9fjrS0NKSlpWHp0qUYWYYHjZmZGWJjY8WPc3JyUKdOHRgZGSE3NxcLFy4Un6tVqxb69+8Pf39/\n5OfnIyoqCnv27BEbu549eyI6Ohp79+5FUVERioqKcP36dURFRZUat7CwEIWFhahfvz40NDQQEhIi\n3tAFgPHjx2Pnzp34999/UVxcjOTkZPEVO1Dy6trHxwfR0dE4cOAAhEIhDh06hKioKPTq1QuvXr1C\nUFAQcnNzUbt2bWhra6PWuw3lw4cPi50iDAwMIBAIyvWUej/my5cvERgYiKVLl2LVqv88vUQiEd6+\nfQuhUAiRSISCggKIRKIy++OpIZCKCQkJoWbNmpGdnR2tXr1aYpvp06eTnZ0dubi40C0OkvxUpDEs\nLIz09PTE+YqWLSsnEZiSGDt2LJmampKzs3OZbbicRy8vLzIyMqLRo0eLdb59+5ZmzJhBFhYWZGFh\nQTNnzqQzZ86Qnp4e2draUu3atcVzGRQURA0bNiQDAwNat24d5eTkUJ8+fUhXV5dsbGxo9+7dpKGh\nQbGxsURElJqaSj179iQ9PT1q27YtzZ8/n7p06SLW8/jxY+rZsyeZmJiQsbExdenShe7evSs+n5CQ\nQF5eXuTo6EgWFhakq6tLBgYGNHLkSBo2bBgtXryYiNicmpubU926dUlbW5vs7OzozJkz4ve8ffv2\n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\nYII=\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x53d47f0>"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.3, Page No. 9"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average, peak and rms current\n",
+      "\n",
+      "import math\n",
+      "#variable declaration(from the waveform)\n",
+      "Ip = 20.0                 # Peak current\n",
+      "\n",
+      "#calculations\n",
+      "Iavg = (Ip*1.0)/3.0\n",
+      "Irms = math.sqrt((Ip**2)*1.0/3.0)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Peak Current = %d A\\nAverage Current = %.3f A\\nrms Current = %.3f A\"%(Ip,Iavg,Irms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak Current = 20 A\n",
+        "Average Current = 6.667 A\n",
+        "rms Current = 11.547 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.4, Page No. 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#power BJT\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Vcc =220.0              # collector voltage\n",
+      "Vce_sat = 1.0           # Vce saturation voltage\n",
+      "Rb =6.0                 # base resisror\n",
+      "Rl = 8.0                # load resisotr\n",
+      "hfe = 15.0              # gain\n",
+      "Vbe = 0.7               # base-emiter voltage drop\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "Ic = (Vcc-Vce_sat)/Rl\n",
+      "Ib=Ic/hfe\n",
+      "#(b)\n",
+      "Vbb= Ib*Rb+Vbe\n",
+      "#(c)\n",
+      "Pc = Ic*Vce_sat\n",
+      "Pb = Ib*Vbe\n",
+      "Pt = Pc+Pb\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Base current, Ib = %.3f A\\n(b) Vbb = %.2f V\\n(c) Total power dissipation in BJT = %.4f W\"%(Ib,Vbb,Pt))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Base current, Ib = 1.825 A\n",
+        "(b) Vbb = 11.65 V\n",
+        "(c) Total power dissipation in BJT = 28.6525 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.5, Page No. 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Load current and losses in BJT\n",
+      "\n",
+      "import math\n",
+      "# variable declaration(with reference to example 1.4)\n",
+      "Vbb_org = 11.65         # original Vbb\n",
+      "fall =0.85              # 85% fall in original value\n",
+      "Vce_sat = 1.0           # Vce saturation voltage\n",
+      "Rb =6.0                 # base resisror\n",
+      "hfe = 15.0              # gain\n",
+      "Vbe = 0.7               # base-emiter voltage drop\n",
+      "\n",
+      "\n",
+      "#calculations\n",
+      "Vbb = fall* Vbb_org\n",
+      "Ib = (Vbb-Vbe)/Rb\n",
+      "Ic = Ib*hfe\n",
+      "Pc =Ic*Vce_sat\n",
+      "Pb = Ib* Vbe\n",
+      "Pt = Pc+Pb\n",
+      "\n",
+      "#Result\n",
+      "print(\"Load current = %.3f A\\nLosses in BJT = %.2f W\"%(Ib,Pt))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Load current = 1.534 A\n",
+        "Losses in BJT = 24.08 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.6, Page No. 19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Power loss in BJT\n",
+      "\n",
+      "import math\n",
+      "#variable declaration(with reference to example 1.4)\n",
+      "Vcc = 240                  # New value of collector current\n",
+      "Ic = 27.375                # collector current,from example 1.4\n",
+      "Pb = 1.2775                # base power dissipation,from example 1.4\n",
+      "Rl = 8.0                   # load resisotr\n",
+      "\n",
+      "#Calculations\n",
+      "Vce = Vcc-(Ic*Rl)\n",
+      "Pc = Vce* Ic\n",
+      "Pt = Pb+ Pc\n",
+      "\n",
+      "#result\n",
+      "print(\"Total power dissipation = %.4f W\"%Pt)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total power dissipation = 576.1525 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.7, Page No. 19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# BJT switching frequency\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "# variable declaration\n",
+      "I = 80                      # maximum current, from swiching characteristics\n",
+      "t1 = 40 *10**-6             # rise time, from swiching characteristics\n",
+      "t2 = 60* 10**-6             # falll time, from swiching characteristics\n",
+      "V = 200                     # collector-emitter voltage\n",
+      "Pavg =250                   # average power loss\n",
+      "\n",
+      "\n",
+      "#calculations\n",
+      "# switching ON\n",
+      "ic = I/t1\n",
+      "def f(x):\n",
+      "    return (ic*x)*(V-(V/t1)*x)\n",
+      "t_lower =0\n",
+      "t_upper = t1\n",
+      "val_on = quad(f,t_lower,t_upper)\n",
+      "\n",
+      "# switching OFF\n",
+      "ic = I-I/t1\n",
+      "Vc = V/t2\n",
+      "def f1(x):\n",
+      "    return (I-(I/t2)*x)*(Vc*x)\n",
+      "t_lower =0\n",
+      "t_upper = t2\n",
+      "val_off = quad(f1,t_lower,t_upper)\n",
+      "\n",
+      "loss= val_on[0]+val_off[0]\n",
+      "loss= math.floor(loss*10000)/10000\n",
+      "f =Pavg/loss\n",
+      "\n",
+      "# Result\n",
+      "#print(\"(a) Switching ON:\\nEnergy losses during switching on = %.4f J\"%(val_on[0]))\n",
+      "#print(\"\\n(b)Switching OFF\\nEnergy losses during switching off of BJT =%.2f J\"%(val_off[0]))\n",
+      "print(\"\\nSwitching frequency = %.1f Hz\"%f)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Switching frequency = 937.7 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.8, Page No. 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Turn ON loss of power transistor\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vmax = 300             # voltage during start\n",
+      "Imax = 200             # full current after start\n",
+      "t = 1* 10**-6          # starting time \n",
+      "\n",
+      "#calculation\n",
+      "E_loss = Vmax*Imax*t/6        #formula\n",
+      "\n",
+      "#Result\n",
+      "print(\"Energy loss = %.2f Joules\"%E_loss)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy loss = 0.01 Joules\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 54
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_1_2.ipynb b/Power_Electronics/Power_electronics_ch_1_2.ipynb
new file mode 100755
index 00000000..47f33435
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_1_2.ipynb
@@ -0,0 +1,449 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1: Power Diodes And Transistors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.1, Page No. 8"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# stored charge and peak reverse current\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "t = 2.5*10**-6                # reverese recovery time to diode\n",
+      "di_by_dt = 35*10**6           # di/dt in A/S\n",
+      "\n",
+      "#Calculations\n",
+      "Q= 0.5*(t**2)*di_by_dt\n",
+      "I= math.sqrt(2*Q*di_by_dt)\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Stored charge\\n Q = %.3f * 10^-6 C\\n\\n(b) Peak reverse current\\nI = %.1f A\"%(Q*10**6,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Stored charge\n",
+        " Q = 109.375 * 10^-6 C\n",
+        "\n",
+        "(b) Peak reverse current\n",
+        "I = 87.5 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.2, Page No.8"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Vrrm rating for diode in full wave rectifire\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V= 12                     # secondary peak voltage\n",
+      "sf = 1.4                  # safety factor\n",
+      "\n",
+      "#calculations\n",
+      "# For fullwave rectifier with transformer secondary voltage 12-0-12, each diode will experience Vrrm equal to 2 x sqrt(2)x 12\n",
+      "r = math.sqrt(2)\n",
+      "r = math.floor(r*1000)/1000 \n",
+      "V = 2*r*V                # Actual value of Vrrm for each diode\n",
+      "Vrrm= V*sf\n",
+      "\n",
+      "# result\n",
+      "print(\"Vrrm rating for each diode with safety factor of %.1f is %.2fV\\n\\n\"%(sf,Vrrm))\n",
+      "#Answer in the book for Vrrm rating is wrong\n",
+      "\n",
+      "#%pylab inline\n",
+      "import matplotlib.pyplot as plt\n",
+      "from numpy import arange,sin,pi\n",
+      "%matplotlib inline\n",
+      "#fig -1\n",
+      "t = arange(0.0,4,0.01)\n",
+      "S = sin(math.pi*t)\n",
+      "plt.subplot(411)\n",
+      "plt.title(\"Secondary Voltage\")\n",
+      "plt.plot(t,S)\n",
+      "#fig -2\n",
+      "plt.subplot(412)\n",
+      "plt.title(\"Load Voltage\")\n",
+      "t1 = arange(0.0,1,0.01)\n",
+      "t2 = arange(1.0,2.0,0.01)\n",
+      "t3 = arange(2.0,3.0,0.01)\n",
+      "t4 = arange(3.0,4.0,0.01)\n",
+      "s1 = sin((pi*t1))\n",
+      "s2 = sin((pi*t1))\n",
+      "s3 = sin(pi*t1)\n",
+      "s4 = sin(pi*t1)\n",
+      "\n",
+      "plt.plot(t1,s1)\n",
+      "plt.plot(t2,s2)\n",
+      "plt.plot(t3,s3)\n",
+      "plt.plot(t4,s4)\n",
+      "#fig -3\n",
+      "plt.subplot(413)\n",
+      "plt.title(\"Voltage across D1\")\n",
+      "plt.axis([0,4,0,1])\n",
+      "plt.plot(t1,s1)\n",
+      "plt.plot(t3,s3)\n",
+      "#fig -4\n",
+      "plt.subplot(414)\n",
+      "plt.title(\"Voltage across D2\")\n",
+      "plt.axis([0,4,-1,0])\n",
+      "s2 = sin((pi*t1)-pi)\n",
+      "s4 = sin(pi*t1-pi)\n",
+      "plt.plot(t2,s2)\n",
+      "plt.plot(t4,s4)\n",
+      "#Result\n",
+      "plt.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vrrm rating for each diode with safety factor of 1.4 is 47.51V\n",
+        "\n",
+        "\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\ntYOxsTEMDQ0RHByM9PR0AOzixbaczJMfakhJSUHDj5Y3GjVqhJSUFGhpaeHQoUPYsmULLC0t0atX\nL17cEx8AACAASURBVDx+zNJvrF27FkSEtm3bwtnZGTvfeclIy/ulVyMjoxLPE1Gl+uGp3ii9jKOP\njw+aNGkCOzs7TJo0Cb/++qtChPOoL6NGjcLu3buxd+9edO/eHSYmJgAAS0tLxMfHi9slJCTA0tJS\nYh8fu6fu27cPJ06cwNmzZ/HmzRvExcWJr3xMTEygqalZ6i70PQ0bNkSnTp2QkZEhPrKzs/HLx4ER\nAAoKCjBgwADMmzcPr169QkZGBnx8fMSG09rautwrrQ91W1lZ4dlH/tjPnj0T3/l27doVZ86cwYsX\nL9C8eXNMmMAK7JiZmWHbtm1ITk7G1q1bMXXqVDytRErfY8eOwczMDM2aNStTGw+P3H7+PXr0wOPH\njxETE4MFCxYAACZNmoRJH+zeBgYGIiYmBnfv3kWrVq3kHZJHzRk1ahT+/vtv/P7772JPLwAYNmwY\nli9fjrS0NKSlpWHp0qUYWYYHjZmZGWJjY8WPc3JyUKdOHRgZGSE3NxcLFy4Un6tVqxb69+8Pf39/\n5OfnIyoqCnv27BEbu549eyI6Ohp79+5FUVERioqKcP36dURFRZUat7CwEIWFhahfvz40NDQQEhIi\n3tAFgPHjx2Pnzp34999/UVxcjOTkZPEVO1Dy6trHxwfR0dE4cOAAhEIhDh06hKioKPTq1QuvXr1C\nUFAQcnNzUbt2bWhra6PWuw3lw4cPi50iDAwMIBAIyvWUej/my5cvERgYiKVLl2LVqv88vUQiEd6+\nfQuhUAiRSISCggKIRKIy++OpIZCKCQkJoWbNmpGdnR2tXr1aYpvp06eTnZ0dubi40C0OkvxUpDEs\nLIz09PTE+YqWLSsnEZiSGDt2LJmampKzs3OZbbicRy8vLzIyMqLRo0eLdb59+5ZmzJhBFhYWZGFh\nQTNnzqQzZ86Qnp4e2draUu3atcVzGRQURA0bNiQDAwNat24d5eTkUJ8+fUhXV5dsbGxo9+7dpKGh\nQbGxsURElJqaSj179iQ9PT1q27YtzZ8/n7p06SLW8/jxY+rZsyeZmJiQsbExdenShe7evSs+n5CQ\nQF5eXuTo6EgWFhakq6tLBgYGNHLkSBo2bBgtXryYiNicmpubU926dUlbW5vs7OzozJkz4ve8ffv2\n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\nYII=\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x53d47f0>"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.3, Page No. 9"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average, peak and rms current\n",
+      "\n",
+      "import math\n",
+      "#variable declaration(from the waveform)\n",
+      "Ip = 20.0                 # Peak current\n",
+      "\n",
+      "#calculations\n",
+      "Iavg = (Ip*1.0)/3.0\n",
+      "Irms = math.sqrt((Ip**2)*1.0/3.0)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Peak Current = %d A\\nAverage Current = %.3f A\\nrms Current = %.3f A\"%(Ip,Iavg,Irms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak Current = 20 A\n",
+        "Average Current = 6.667 A\n",
+        "rms Current = 11.547 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.4, Page No. 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#power BJT\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Vcc =220.0              # collector voltage\n",
+      "Vce_sat = 1.0           # Vce saturation voltage\n",
+      "Rb =6.0                 # base resisror\n",
+      "Rl = 8.0                # load resisotr\n",
+      "hfe = 15.0              # gain\n",
+      "Vbe = 0.7               # base-emiter voltage drop\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "Ic = (Vcc-Vce_sat)/Rl\n",
+      "Ib=Ic/hfe\n",
+      "#(b)\n",
+      "Vbb= Ib*Rb+Vbe\n",
+      "#(c)\n",
+      "Pc = Ic*Vce_sat\n",
+      "Pb = Ib*Vbe\n",
+      "Pt = Pc+Pb\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Base current, Ib = %.3f A\\n(b) Vbb = %.2f V\\n(c) Total power dissipation in BJT = %.4f W\"%(Ib,Vbb,Pt))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Base current, Ib = 1.825 A\n",
+        "(b) Vbb = 11.65 V\n",
+        "(c) Total power dissipation in BJT = 28.6525 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.5, Page No. 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Load current and losses in BJT\n",
+      "\n",
+      "import math\n",
+      "# variable declaration(with reference to example 1.4)\n",
+      "Vbb_org = 11.65         # original Vbb\n",
+      "fall =0.85              # 85% fall in original value\n",
+      "Vce_sat = 1.0           # Vce saturation voltage\n",
+      "Rb =6.0                 # base resisror\n",
+      "hfe = 15.0              # gain\n",
+      "Vbe = 0.7               # base-emiter voltage drop\n",
+      "\n",
+      "\n",
+      "#calculations\n",
+      "Vbb = fall* Vbb_org\n",
+      "Ib = (Vbb-Vbe)/Rb\n",
+      "Ic = Ib*hfe\n",
+      "Pc =Ic*Vce_sat\n",
+      "Pb = Ib* Vbe\n",
+      "Pt = Pc+Pb\n",
+      "\n",
+      "#Result\n",
+      "print(\"Load current = %.3f A\\nLosses in BJT = %.2f W\"%(Ib,Pt))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Load current = 1.534 A\n",
+        "Losses in BJT = 24.08 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.6, Page No. 19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Power loss in BJT\n",
+      "\n",
+      "import math\n",
+      "#variable declaration(with reference to example 1.4)\n",
+      "Vcc = 240                  # New value of collector current\n",
+      "Ic = 27.375                # collector current,from example 1.4\n",
+      "Pb = 1.2775                # base power dissipation,from example 1.4\n",
+      "Rl = 8.0                   # load resisotr\n",
+      "\n",
+      "#Calculations\n",
+      "Vce = Vcc-(Ic*Rl)\n",
+      "Pc = Vce* Ic\n",
+      "Pt = Pb+ Pc\n",
+      "\n",
+      "#result\n",
+      "print(\"Total power dissipation = %.4f W\"%Pt)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total power dissipation = 576.1525 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.7, Page No. 19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# BJT switching frequency\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "# variable declaration\n",
+      "I = 80                      # maximum current, from swiching characteristics\n",
+      "t1 = 40 *10**-6             # rise time, from swiching characteristics\n",
+      "t2 = 60* 10**-6             # falll time, from swiching characteristics\n",
+      "V = 200                     # collector-emitter voltage\n",
+      "Pavg =250                   # average power loss\n",
+      "\n",
+      "\n",
+      "#calculations\n",
+      "# switching ON\n",
+      "ic = I/t1\n",
+      "def f(x):\n",
+      "    return (ic*x)*(V-(V/t1)*x)\n",
+      "t_lower =0\n",
+      "t_upper = t1\n",
+      "val_on = quad(f,t_lower,t_upper)\n",
+      "\n",
+      "# switching OFF\n",
+      "ic = I-I/t1\n",
+      "Vc = V/t2\n",
+      "def f1(x):\n",
+      "    return (I-(I/t2)*x)*(Vc*x)\n",
+      "t_lower =0\n",
+      "t_upper = t2\n",
+      "val_off = quad(f1,t_lower,t_upper)\n",
+      "\n",
+      "loss= val_on[0]+val_off[0]\n",
+      "loss= math.floor(loss*10000)/10000\n",
+      "f =Pavg/loss\n",
+      "\n",
+      "# Result\n",
+      "#print(\"(a) Switching ON:\\nEnergy losses during switching on = %.4f J\"%(val_on[0]))\n",
+      "#print(\"\\n(b)Switching OFF\\nEnergy losses during switching off of BJT =%.2f J\"%(val_off[0]))\n",
+      "print(\"\\nSwitching frequency = %.1f Hz\"%f)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Switching frequency = 937.7 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.8, Page No. 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Turn ON loss of power transistor\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vmax = 300             # voltage during start\n",
+      "Imax = 200             # full current after start\n",
+      "t = 1* 10**-6          # starting time \n",
+      "\n",
+      "#calculation\n",
+      "E_loss = Vmax*Imax*t/6        #formula\n",
+      "\n",
+      "#Result\n",
+      "print(\"Energy loss = %.2f Joules\"%E_loss)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy loss = 0.01 Joules\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 54
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_1_3.ipynb b/Power_Electronics/Power_electronics_ch_1_3.ipynb
new file mode 100755
index 00000000..47f33435
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_1_3.ipynb
@@ -0,0 +1,449 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1: Power Diodes And Transistors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.1, Page No. 8"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# stored charge and peak reverse current\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "t = 2.5*10**-6                # reverese recovery time to diode\n",
+      "di_by_dt = 35*10**6           # di/dt in A/S\n",
+      "\n",
+      "#Calculations\n",
+      "Q= 0.5*(t**2)*di_by_dt\n",
+      "I= math.sqrt(2*Q*di_by_dt)\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Stored charge\\n Q = %.3f * 10^-6 C\\n\\n(b) Peak reverse current\\nI = %.1f A\"%(Q*10**6,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Stored charge\n",
+        " Q = 109.375 * 10^-6 C\n",
+        "\n",
+        "(b) Peak reverse current\n",
+        "I = 87.5 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.2, Page No.8"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Vrrm rating for diode in full wave rectifire\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V= 12                     # secondary peak voltage\n",
+      "sf = 1.4                  # safety factor\n",
+      "\n",
+      "#calculations\n",
+      "# For fullwave rectifier with transformer secondary voltage 12-0-12, each diode will experience Vrrm equal to 2 x sqrt(2)x 12\n",
+      "r = math.sqrt(2)\n",
+      "r = math.floor(r*1000)/1000 \n",
+      "V = 2*r*V                # Actual value of Vrrm for each diode\n",
+      "Vrrm= V*sf\n",
+      "\n",
+      "# result\n",
+      "print(\"Vrrm rating for each diode with safety factor of %.1f is %.2fV\\n\\n\"%(sf,Vrrm))\n",
+      "#Answer in the book for Vrrm rating is wrong\n",
+      "\n",
+      "#%pylab inline\n",
+      "import matplotlib.pyplot as plt\n",
+      "from numpy import arange,sin,pi\n",
+      "%matplotlib inline\n",
+      "#fig -1\n",
+      "t = arange(0.0,4,0.01)\n",
+      "S = sin(math.pi*t)\n",
+      "plt.subplot(411)\n",
+      "plt.title(\"Secondary Voltage\")\n",
+      "plt.plot(t,S)\n",
+      "#fig -2\n",
+      "plt.subplot(412)\n",
+      "plt.title(\"Load Voltage\")\n",
+      "t1 = arange(0.0,1,0.01)\n",
+      "t2 = arange(1.0,2.0,0.01)\n",
+      "t3 = arange(2.0,3.0,0.01)\n",
+      "t4 = arange(3.0,4.0,0.01)\n",
+      "s1 = sin((pi*t1))\n",
+      "s2 = sin((pi*t1))\n",
+      "s3 = sin(pi*t1)\n",
+      "s4 = sin(pi*t1)\n",
+      "\n",
+      "plt.plot(t1,s1)\n",
+      "plt.plot(t2,s2)\n",
+      "plt.plot(t3,s3)\n",
+      "plt.plot(t4,s4)\n",
+      "#fig -3\n",
+      "plt.subplot(413)\n",
+      "plt.title(\"Voltage across D1\")\n",
+      "plt.axis([0,4,0,1])\n",
+      "plt.plot(t1,s1)\n",
+      "plt.plot(t3,s3)\n",
+      "#fig -4\n",
+      "plt.subplot(414)\n",
+      "plt.title(\"Voltage across D2\")\n",
+      "plt.axis([0,4,-1,0])\n",
+      "s2 = sin((pi*t1)-pi)\n",
+      "s4 = sin(pi*t1-pi)\n",
+      "plt.plot(t2,s2)\n",
+      "plt.plot(t4,s4)\n",
+      "#Result\n",
+      "plt.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vrrm rating for each diode with safety factor of 1.4 is 47.51V\n",
+        "\n",
+        "\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\ntYOxsTEMDQ0RHByM9PR0AOzixbaczJMfakhJSUHDj5Y3GjVqhJSUFGhpaeHQoUPYsmULLC0t0atX\nL17cEx8AACAASURBVDx+zNJvrF27FkSEtm3bwtnZGTvfeclIy/ulVyMjoxLPE1Gl+uGp3ii9jKOP\njw+aNGkCOzs7TJo0Cb/++qtChPOoL6NGjcLu3buxd+9edO/eHSYmJgAAS0tLxMfHi9slJCTA0tJS\nYh8fu6fu27cPJ06cwNmzZ/HmzRvExcWJr3xMTEygqalZ6i70PQ0bNkSnTp2QkZEhPrKzs/HLx4ER\nAAoKCjBgwADMmzcPr169QkZGBnx8fMSG09rautwrrQ91W1lZ4dlH/tjPnj0T3/l27doVZ86cwYsX\nL9C8eXNMmMAK7JiZmWHbtm1ITk7G1q1bMXXqVDytRErfY8eOwczMDM2aNStTGw+P3H7+PXr0wOPH\njxETE4MFCxYAACZNmoRJH+zeBgYGIiYmBnfv3kWrVq3kHZJHzRk1ahT+/vtv/P7772JPLwAYNmwY\nli9fjrS0NKSlpWHp0qUYWYYHjZmZGWJjY8WPc3JyUKdOHRgZGSE3NxcLFy4Un6tVqxb69+8Pf39/\n5OfnIyoqCnv27BEbu549eyI6Ohp79+5FUVERioqKcP36dURFRZUat7CwEIWFhahfvz40NDQQEhIi\n3tAFgPHjx2Pnzp34999/UVxcjOTkZPEVO1Dy6trHxwfR0dE4cOAAhEIhDh06hKioKPTq1QuvXr1C\nUFAQcnNzUbt2bWhra6PWuw3lw4cPi50iDAwMIBAIyvWUej/my5cvERgYiKVLl2LVqv88vUQiEd6+\nfQuhUAiRSISCggKIRKIy++OpIZCKCQkJoWbNmpGdnR2tXr1aYpvp06eTnZ0dubi40C0OkvxUpDEs\nLIz09PTE+YqWLSsnEZiSGDt2LJmampKzs3OZbbicRy8vLzIyMqLRo0eLdb59+5ZmzJhBFhYWZGFh\nQTNnzqQzZ86Qnp4e2draUu3atcVzGRQURA0bNiQDAwNat24d5eTkUJ8+fUhXV5dsbGxo9+7dpKGh\nQbGxsURElJqaSj179iQ9PT1q27YtzZ8/n7p06SLW8/jxY+rZsyeZmJiQsbExdenShe7evSs+n5CQ\nQF5eXuTo6EgWFhakq6tLBgYGNHLkSBo2bBgtXryYiNicmpubU926dUlbW5vs7OzozJkz4ve8ffv2\nEvNw8eJFat26Nenr65O7uztdunSJiIieP39OnTp1In19fTIwMKDOnTvTo0ePiIho3rx5ZGVlRTo6\nOmRra0u//fabRJ329vYkEAhIR0eHtLW1ydTUlHr27Elr164t8fns3LkzCQSCEseSJUsU/ScvQX5+\nPrVt25ZcXV3JwcGBvvvuO4ntuP6uS6NTHb7vRKxyopubG/Xq1Uvi+crOpdzGv7JGqEGDBuWWfTx1\n6hT16NGDiIiuXLlSZtlHZSFNacqwsDDy9fVVqa6POX/+PN26davMeed6Ht9TkU5lzeW8efNozJgx\nUrd//vw53b59m4iIsrOzqWnTpmr32ZRWpzp8PomIcnNziYhl//Xw8KALFy6UOK8O80lUsU51mc91\n69bR8OHDJWqRZS7lXvYZO3YsQkNDyzz/YYTv9OnTkZ2drbCgMGUgTeAawP3mWceOHcutjcD1PL6n\nIp2AYuby8ePHuHfvHogI165dw44dO9CvXz+pX29ubg43NzcAgI6ODhwcHEptRqvDnEqjE+D+8wkA\nWu+ioQsLCyESiUptQKvDfEqjE+B+PpOSkhAcHIyvvvpKohZZ5lJu418ZI2RgYAAAYlHyBoUpA2kC\n19670bm6usLHx6dEsJG6wPU8Soui5jI7OxsDBgyAjo4Ohg4dirlz55byPJOW+Ph43L59Gx4eHiWe\nV7c5LUununw+i4uL4ebmBjMzM3Tu3BmOjo4lzqvLfFakUx3mc/bs2QgICChz70eWuVR66ZwPRQkE\nAmhrayMpKalcd8+Pf9lU6aUgzVitWrVCYmIitLS0EBISgr59+yI6OloF6ioHl/MoLYqay/dux/KS\nk5ODgQMHYuPGjdDR0Sl1Xl3mtDyd6vL51NDQwJ07d/DmzRt069YN4eHh8PLyKtFGHeazIp1cz+fJ\nkydhamqKli1blptvqNJzqYi1qLi4uDLXdD+M8I2IiCAjIyNxhO/KlSvFG6p8hC9/8Ad/8EflD1tb\nW5o0aRIdOHBAbHebNWtGL16UUZDoHUrP5/9hhK+7uzuys7MhEolKBYXFxsZyHil3/jyhc2eClRVh\n0SLC3buE4uKSbT6M4ExNJezYQejUiWBpSfjpJ0J+PvcRfx/rVNejKmhUF52vcl7hm9PfwHC1IQb9\nOQhBUUHILcwtU2ehsBDhceGY/NdkGK42xJdHv0R0WrRKNavzfFYnnbGxsTIF0yrd+H8o6saNG2jS\npAlGjBhRKiiMS5KTgYEDWdLGUaOAuDiWvdfFhWWjLYv69YGxY4HwcODkSeDff1lRleBglUnnqeaI\nikXYdHUTHH91RH5RPu5NuYc/B/2J3s16l1tkvnat2uhk0wmbe21G3Mw4NK/fHJ7bPTH/7/nIK8pT\n4TvgUQWyBNPKveY/bNgwnDt3DmlpabC2tsaSJUtQVFQEgAV7+fj4IDg4GHZ2dtDW1sb+/ftLBXpN\nmjQJkydPlleKTBw4AMycCUyeDOzZA8iaJK9lS+DECeDMGWDKFJZd8+efAQnLxjw8UvEs8xlGHBsB\nAQQ4P+Y8HEwcZOpHv64+Fn22CF+1+gpzTs+B6xZX7Ou/D22t2ipYMQ+XBAYGVu4FpCaoWkpBAdHk\nyUT29kQSkoyWSVhYWIVtsrOJxo4lat6c6F3cjsqRRifXVAWNRNzoDI4OJtMAU1p7cS2JikVSvUZa\nnYcfHiaTtSYUeDWQiiUUVlc2/N9dschqO+W2uBVFw6amplK3bt3I1dWVnJycaOfOnZKFqND4p6cT\nffYZUZ8+RG/eKG+c338nMjUl+ucf5Y3BU/3YELGBLH60oAvPLlTcWEZi0mPI+VdnmnJyChWJipQ2\nDo/y4cT4SxMN6+fnJw6ZTk1NJSMjIyoqKv1hU5XxT0oicnQkmjOHSCTdBZVchIezH4CDB5U/Fk/V\npri4mOadmUcOgQ4UnxGv9PHevH1DXfd0pT4H+lB+Ub7Sx+NRDrLaTqWXcbSwsEDWu1JjWVlZMDY2\nhqam0sMLJJKQAHz2GdvUXbcOqERVwf+3d95RUV1dG38AS+gjKqgoKiBdAYNgLAE1oIKgxl7RoC+x\nYGzBEnsUscVoNBprRMUau4iigp1ggr2gKCgiWEFBqcP+/rhxPpABhhlm7gXOb627FjNz5pxnNjP7\n3nvO2XvLjasrcPo0MHkyUKiyHoNRBCLChBMTcDbxLC6MvICmoqZKH1Ovth6ODjqK2jVqo+funsjK\nU6wgOKNyofQyjqNHj8adO3fQqFEj2NvbY9WqVYoMKTfPnwOdOwPjxwOFKtyphJYtgTNngJkzgZ07\nVTs2Q/gQESadnISY5zE4Pew06mqprtxiLY1a2PntTtTVrIvee3ojJz9HZWMz+EUh5y9LNF5QUBAc\nHBzw/PlzXL9+HePGjUNGRoYiw5abtDTAwwPw8wMmTVLp0BKsrICTJ4EpU4Djx/nRwBAmC84twLkn\n53By6Enof6Gv8vFrqNdASO8QaNXUwrCDwyAuYOmeqwMKzb/IUsbx8uXL+OmnnwAAZmZmaN68OeLi\n4uDk5FSsv3nz5kn+dnNzKxYKLg/Z2YCPD9C1KzB9usLdKYSdHXD4MNCjB3cCcGY77ao9m2I3IeRm\nCC5/dxmiL0S86aihXgOhfULhudMTk09Oxqru/NyhM8omKiqq1DQPMqPIQkNeXh6ZmppSQkIC5eTk\nSF3wnTRpEs2bN4+IiFJTU8nY2JjevHlTrC8FpUiloIBo8GCivn1Vs7grK4cPEzVsSJSo/DU9hoCJ\neBRBRsuMKO51HN9SJKRlpZHNWhtaHb2abykMGZHXdyp05V+4jKNYLIafn1+RiF1/f3/MnDkTI0eO\nhL29PQoKCrB06VKpKVOVQXAw8PAhcO6cahZ3ZcXHB4iPB3r2BC5dArS1+VbEUDXxb+Mx5MAQ7O27\nFxZ1LfiWI0H0hQjHBh1Duy3tYFXPCu5m7nxLYigJtf/OHLyjpqaGipQSHs7N8cfEAP+VTBUURMCI\nEUBuLhAaWnoaCUbVIjM3E203tcW4NuMwps0YvuVI5VziOfTf3x/RftFoXqc533IYpSCv76ySzv/J\nE24+ff9+oGPHCulSKWRlAe3bc/mBAgL4VsNQBUSEIQeG4IsaX2Czz2ZBptn+xMorK7Hj1g5c+u4S\nvqjxBd9yGCUgr+9UeDIkPDwcVlZWaNGiBZYsWSK1TVRUFBwdHWFnZ1chi7ilkZsL9O8P/PijsB0/\nwOUR2r+fSyL3zz98q2Gogo2xG3Hn1R2s9VwraMcPABPbTkRzUXNMOTmFbykMZaDIQoMsEb5paWlk\nY2NDSUlJRMRF+UpDQSkSfvyRyMuLW+ytLOzbR2RqqtxUEwz+ufXiFtVbWo/uv7rPtxSZSctKo+a/\nNqe/7v7FtxRGCcjrO5Ue4RsaGoo+ffpItoDWq1dPkSFL5cwZbv78zz8r1xx6377AN98A48bxrYSh\nLLLzszFw/0Asc18Gy3qWfMuRGdEXIuzqswtjjo9B8vvkst/AqDQoPcL34cOHePv2LTp16gQnJyds\n375dkSFLJC2NW0DdupXLs1/Z+OUXbnF6zx6+lTCUwYzTM2BT3wa+9r58Syk3Lo1dEOAcgBGHR6CA\nCviWw6ggFNrqKcucZV5eHmJjY3HmzBl8/PgRX331Fdq2bYsWLVoUa6tIkNf48UDv3oB7Jd2Zpq0N\n7NjBBYB17Ag0asS3IkZFEZkQiX139+HmmJuCn+cviekdpuP4w+NYG7MWAS5sdwKfVFSQl9IjfJs0\naYJ69epBU1MTmpqa+Prrr3Hjxo0ynX95+Osv4OpV4Pp1ud4uGNq0Afz9uePIkco1dcWQTkZOBr47\n8h02eG+AgaZq4luUQQ31GtjWaxvabW6H7i26w9zAnG9J1ZbPL4znz58vVz8KTfs4OTnh4cOHSExM\nLFaT9xM9e/bExYsXIRaL8fHjR/z999+wsbFRZNgivH7NXfX/+SegVXJVu0rDrFlAUhLwX+VLRiUn\nMCIQnZt1hmcLT76lKIxFXQvM/no2Rh4eyaZ/qgAKOf/CEb6f1+T9FOVrZWWFbt26oVWrVnBxccHo\n0aMr1Pn/8AMwaBDQrl2FdckrtWoBW7ZwW1VTU/lWw1CEqMQoHH1wFCu6ruBbSoUR4BIAIsLvV8uu\nEcsQNpU6yOvECe6q/9atqnHVX5gZM7gUEPv28a2EIQ9ZeVlotb4VVnisgI+lT9lvqETcf30fHbZ0\nQKx/LEz0TfiWU+3hLciLLzIzuULp69dXPccPAHPmcGsYR4/yrYQhDwvPL4RDA4cq5/gBwKqeFX5w\n+QHjwsZVaEoWhmpRSYQvAFy9ehU1atTAgQMHFB0SADBvHrcrprLu7ikLTU3gjz+4O5vMTL7VMMrD\n7Ze3sSF2A1Z3W823FKUxrcM0PE57jAP3Kub3zFA9Ck37iMViWFpa4vTp0zA2NkabNm2wa9cuWFtb\nF2vn7u4OLS0tjBw5En369CkupBy3LjducE7/9m3A0FBe9ZWDYcOABg2AZcv4VsKQhQIqgOufrhhk\nNwhj24zlW45SufDkAgb9NQj3xt2Dbm1dvuVUW3iZ9pElwhcAfvvtN/Tt2xf169dXZDgAQEEBMHYs\nsGhR1Xf8AFdreNs2bl2DIXxCboQgJz8H/l/68y1F6XRs2hEeZh6YGzWXbykMOVB6hG9ycjIOHz6M\nMWO41LWKBrls2waIxVy65uqAoSEwfz6X+oFNrwqbtKw0TD89Heu81kFDXYNvOSphqftS7Li5A7de\nsKuTyobSI3wnTpyI4OBgya1JabcnZUX4pqVxu2COHxdWcRZl87//AZs3c8Xfhw7lWw2jJGZHzkZv\nq974stGXfEtRGfW06mG+23yMCxuHcyPOVdoI5spERUX4KjTnHx0djXnz5iE8PBwAsHjxYqirq2Pa\ntGmSNqamphKH//r1a2hpaWHjxo3FgsFkmbcKCADy8rgdPtWN6GigTx/g/n1Al02vCo4bqTfgscMD\n98bdq9SRvPIgLhCjzcY2mNpuKga3HMy3nGoHL8Vc8vPzYWlpiTNnzqBRo0ZwdnaWuuD7iZEjR8Lb\n2xvffvttcSFlfIBbt4AuXYB794C6deVVXLkZORKoXx9YupRvJYzCEBFc/3TF0FZD8b8v/8e3HF64\n9PQSBuwfgPvj70Onlg7fcqoVvCz4yhLhWxEQcZG8c+dWX8cPAIsXc9G/Dx7wrYRRmD139iAjNwN+\njtVkIUoK7U3aw62ZGxZfWMy3FIaMVIoI37/+4vb1X7sG1FBolaLys2wZV5D+2DG+lTAA4GPeR1it\nscLOb3eiY1OBl45TMsnvk9FqfStcHX0VpnVM+ZZTbRBsGcedO3fC3t4erVq1Qvv27XHz5s1y9Z+d\nzeW5WbWKOX6AuwOKiwNOnuRbCQMAll1ahnZN2lV7xw8AxnrGmNx2Mn6M+JFvKQxZkKv+13/IUsbx\n8uXLlJ6eTkREJ06cIBcXF6l9lSQlOJioZ09FVFY9Dh8msrEhysvjW0n1JuldEhksMaDEtES+pQiG\nj7kfqenKphSVEMW3lGqDvG5c6UFeX331FfT19QEALi4uePbsmcz9v3jBTXMsX66IyqqHtzfQsCGX\n/oHBHzPOzMAYpzFoKmrKtxTBoFlTE0u+WYKJJydCXCDmWw6jFJQe5FWYzZs3w9NT9rzms2cDvr6A\nOasbUQQ1NS7yd8ECID2dbzXVk6vJV3E24Symd5jOtxTB0d+2P7RqaiHkBitKIWQUcv7lCeiIjIzE\nli1bSk3+Vphbt4BDh7jiJozi2NtzdwBBQXwrqX4QESafmowFbgvYtkYpqKmp4RePXzArchYyc1lW\nQqGi9DKOAHDz5k2MHj0a4eHhqFOnTon9FY7wPX7cDbNmuaGU5tWen38GWrbkUls3b863murDwfsH\n8T7nPUY4jOBbimBxaewC16auWH55Oea5zeNbTpWioiJ8FVrwzcvLI1NTU0pISKCcnBypC75Pnjwh\nMzMzunLlSql9FZYSHk5kYUGUm6uIuurBggVEAwbwraL6kJOfQ+arzSniUQTfUgRPYloiGSwxoOT3\nyXxLqdLI68aVHuS1YMECpKWlYcyYMXB0dISzs3OpfYrFwNSpwJIlQM2aiqirHkyeDFy8yKV/YCif\ndVfXwdzAHN+YfsO3FMHTVNQUo1uPxuyzs/mWwpCC4IK8Nm0Ctm8HoqK4hU1G2WzdyiV+u3CB2UyZ\npGWlwXKNJc76noWdoR3fcioF77LfwWKNBSKGRaCVUSu+5VRJqkQZxw8fuBQOy5czJ1Yehg8HMjKA\nCiqSxiiBoAtB6GXVizn+cqD/hT5mdZzFAr8EiErKOE6YMAEtWrSAvb09rl27VmJfK1YAX38NtGmj\nqKrqhYYGFw8xfTqX9bSyEhUVVWTrsJBITE/ElutbMN9tPt9SKh3+Tv5ISEvAqUen+JbCKIRCzl8s\nFmP8+PEIDw/H3bt3sWvXLty7d69Im7CwMMTHx+Phw4fYsGGDpKiLNFatEv7WxQpZZVcCHh6Aqen/\nB37xpbNbt26YO7d4ZafDhw+jYcOGKCgokDxXlsZmzZrh7NmzFS2x3ERFReGnsz8hwDkADXUb8i2n\nCImJiVBXV4euri60tLTQoEEDeHt74/Tp05I2ubm58PPzQ7NmzaCnpwdHR0dJGnZVUEujFhZ3WYzA\niECIC8SC/Q19TmXRKS9Kj/A9cuQIfH19AXARvunp6Xjx4oXU/kaMEP6WRSF/IZYtAxYuBN6940/n\niBEjsGPHjmLPb9++HUOHDoV6oSo8ZWmUdy6zogk9GorIhEhMbTe1XO+jMooXVSTv3r1DYGAgbt68\nCXd3d/Tu3Rvbtm0DwKVeNzExwfnz5/H+/XssXLgQ/fv3x5MnT1SiDQC+tf4W2rW0sePmDkH/hgpT\nWXTKi0rKOH7epqQUDz/9pIgaRqtWwLRp/Eb99uzZE2/evMGFCxckz6WlpeH48eMYPnw4cnJyMHHi\nRBgbG+OXX37BpEmTkJubW6yfYcOG4enTp/D29oauri6W/5fjo1+/fmjYsCFEIhFcXV1x9+5dyXve\nvHkDb29v6Ovrw9nZGbNmzULHjv+fcO3+/ftwd3dH3bp1YWVlhX379pX4ObZu3QobGxvo6elh6/qt\n6Pymc5GArsOHD8PBwQH6+vowNzfHqVPclIabmxtmzZqF9u3bQ1tbGwkJCbh8+TLatGkDkUgEZ2dn\nXLlyRdLPn3/+CTMzM+jp6cHU1BShoaEAgPj4eLi6ukIkEqF+/foYOHCgTPY3NDTEhAkTMG/ePElR\nJS0tLcydOxcmJiYAAC8vLzRv3hyxsbEy9VkRfAr8ql2jtsrGZJSOSiJ8P7/6Kel9BtWrAJJSmDQJ\naMpjqhlNTU30798fISH/H9q/d+9eWFtbo2XLlli0aBFiYmJw48YNfP/994iJicHChQuL9bN9+3aY\nmJjg2LFjyMjIwNSp3FW3l5cX4uPj8erVK7Ru3RpDhgyRvGfcuHHQ1dXFixcvsG3bNoSEhEi+ax8+\nfIC7uzuGDh2KV69eYffu3Rg7dmyxacpPGBkZ4fjx4zhx+wS0Wmrh4KqDkvWqmJgY+Pr6YsWKFXj3\n7h3Onz+PpoWMvmPHDmzatAmZmZnQ1taGl5cXJk6ciLdv32Ly5Mnw8vJCWloaPnz4gB9++AHh4eF4\n//49rly5AgcHBwDA7Nmz0a1bN6SnpyM5ORkTJkwo1/+hd+/eePnyJeLi4oq99uLFCzx48AC2trbl\n6lNRXBq7YKCdbCcxhgpQJLjgypUr1LVrV8njoKAgCg4OLtLG39+fdu3aJXlsaWlJqampxfoyMzMj\nAOxgBzvYwY5yHGZmZnL5b6VH+B4/fpy6d+9ORNzJoqSUzoyqhbm5Oe3evZvi4+OpZs2a9PLlSyIi\n0tTULPIduXfvHtWqVYuIiCIjI6lx48aS15o1a0ZnzpyRPBaLxTRt2jQyMzMjPT09EolEpK6uTo8f\nP6aUlBRSU1OjrKwsSfv169dThw4diIhoyZIlVKtWLRKJRJJDR0eHxo4dK1V/WFgYubi4kIGBAYlE\nIqpVqxbNmTOHiIg8PT1p7dq1Ut/n5uZGmzZtkjwODg6mfv36FWkzcOBACgoKIiKikydPkru7O4lE\nIvLy8qL79+8TEVFqaiqNHj2aGjVqRLa2trRlyxap4yUkJJCamhqJxeIiz8fHx5Oampqkv0/2GzBg\nAHl5eVF+fr7U/hjVB6VH+Hp6esLU1BTm5ubw9/fH77//rsiQjErC8OHDERISgh07dqBbt26oX78+\nAKBRo0ZITEyUtHv69CkaNWoktY/Ppwd37tyJI0eO4MyZM3j37h0SEhIki6r169dHjRo1iuWa+oSJ\niQlcXV2RlpYmOTIyMrB27dpi4+bk5KBPnz4IDAzEy5cvkZaWBk9PT8n0ZZMmTRAfH1/iZy+s29jY\nuNjC6pMnT2BsbAwA8PDwwKlTp5CamgorKyuMHj0aADfttGHDBiQnJ+OPP/7A2LFj8fjx4xLH/JyD\nBw/CyMgIlpaWAAAigp+fH169eoW//voLGhoaMvfFqKLwe+5hVFUSExOpZs2a1LhxY9q/f7/k+Vmz\nZlG7du3o1atX9OrVK2rfvj3Nnj2biIpf+bdt25Y2bNggefz777+Tg4MDvX//njIzM2nMmDGkpqZG\njx49IiKiAQMG0ODBg+njx4907949MjExoY4dOxIR0fv376lp06a0fft2ys3NpdzcXIqJiaF79+4V\n0/7+/XvS0NCgc+fOUUFBAYWFhZGWlpZEZ0xMDIlEIjpz5gyJxWJ69uyZ5Ar78yv/N2/ekEgkotDQ\nUMrLy6Pdu3dTnTp16M2bN/TixQs6dOgQZWZmklgspjlz5pCbmxsREe3du5eSkpKIiOj27dukqalJ\nCQkJxbR+uvL/dCWfmppKv/32G+nq6tLWrVsl7fz9/alt27aUmZkp43+QUdVRufM/ceIEWVpakrm5\nebH1gU8EBASQubk5tWrVimJjY1WssGyNkZGRpKenRw4ODuTg4EA///yzyjWOHDmSDA0Nyc7OrsQ2\nfNvRzc2NateuTfXr15fozM7OpgkTJlDDhg2pYcOG1KdPH9LV1SUHBwcyMzMjfX19yfsPHz5MJiYm\nJBKJaMWKFZSZmUk9e/YkXV1datasGYWEhJC6urrE+b969Yq8vLxIT0+PnJ2dadq0adSlSxdJf3Fx\nceTl5UX169enunXrUpcuXejGjRtERPT06VNyc3MjGxsbsrW1pb59+5KRkRGJRCIaNmwYDRo0iGbP\nni2xadOmTalFixakq6tL5ubmdOrUKcln3rx5cxE7XLx4kb788kvS19cnJycnunTpEhERpaSkkKur\nK+nr65NIJKJOnTpJTkaBgYFkbGxMOjo6ZGZmRhs3bpSqc86cOaSmpkY6Ojqkra1NhoaG1LZtW9LS\n0pJ8P6dMmUJqamqkqalJOjo6kiM0NFQZ/3YiIsrKyiJnZ2eyt7cna2trmj59utR2fH9HZdEphN87\nEVc50cHBgXr06CH19fLaUmHnX15n3rhx41LLPhZeI4iOjlb5GoEspSkjIyPJ29tbpbo+5/z58xQb\nG1ui8+fbjp8oS6cybRkYGEgjRoyQqW1KSgpdu3aNiIgyMjLIwsJCcN9NWXUK4ftJRPThwwci4tYG\nXVxc6MKFC0VeF4I9icrWKRR7rlixggYPHixVizy2VGmEb0BAADIyMiosKEwZyBK4BoD34KOOHTuW\nWhuBbzt+oiydQMXZMi4uDjdv3gQRISYmBlu2bEHv3r1lem+DBg0k2yx1dHRgbW2N58+fF2kjBJvK\nohPg//sJcPEFABdhLBaLYfDZXm4h2FMWnQD/9nz27BnCwsIwatQoqVrksaVKI3xFIhEASEQpLZun\nMgAAF0pJREFUGhSmDGQJXFNTU8Ply5dhb28PT0/PIoFGQoFvO8pKRdoyIyMDffr0gY6ODgYOHIip\nU6fCx8en3P0kJibi2rVrcHFxKfK80Gxakk6hfD8LCgrg4OAAIyMjdOrUCTY2NkVeF4o9y9IpBHtO\nmjQJy5YtKxIhXxh5bKlQJS9pA/79998ltlFTU4O2tjaePXsGIyOjEvv9/MxWnnKRiiLLWK1bt0ZS\nUhK0tLRw4sQJ9OrVCw8ePFCBuvLBpx1lpSJt6eTkhIcPHyqkJzMzE3379sWqVaugo1O8RKNQbFqa\nTqF8P9XV1XH9+nW8e/cOXbt2RVRUFNzc3Iq0EYI9y9LJtz2PHTsGQ0NDODo6lppyoty2VGQOav/+\n/TRq1CjJ4+3bt9P48eOLtOnRowddvHiRiLh9/gYGBvTvv/8SUdGgMBbkxQ52sIMd5T/MzMxkDqYt\njELTPrLU8C3cxsnJCRkZGRCLxcjNzcWePXskt+WPHj2S7NkW8jF37lzeNZR1hIQQjI3noqCAfy2V\n2ZZv3hAGDSLMni1snZXFnkSE99nvoe2ujdjnsbxrqez2/OnMT4hOisajR4/g4+MjSakSHR0NkUhU\n6uwKoOCc/6fb7MTExGLO/BOFRf3zzz8wNTXF0KFDiwWFMSqOIUO4cpj79/OtpHKzcCGgrw+UMM3K\nkAPd2rpwbeqKwNOBICK+5VRa7ry8gw3/boBFXQsA8gXTKjTnXzjCVywWw8/Pr4gz9/f3h6enJ8LC\nwmBubg5tbW2EhoaidevWRfrx9/fH999/r4gURiHU1QF3d2DGDKBnT6BWLb4VVT4ePwZCQoA7d4B1\n6/hWU7Vo3bA19r7bi5OPTqKbeTe+5VRKAk8HYkaHGaij+f876dasWVO+TkggCEhKqURGRvItQSYi\nIyOpe3eiX3/lW0nJCNmWAwYQLVjA/S1knYWpTDoP3jtIdr/bUb5YuDmGhGrPM4/PUPNfm1N2XjYR\nye87BVfAnVFx3L4NdOkCxMUB/+2yZchATAzQuzfw4AGgrc23mqoJEcH1T1f42vvCr7Uf33IqDQVU\nAKcNTpjWfhoG2A0AwFMB97dv38Ld3R0WFhbw8PBAupQqIklJSejUqRNsbW1hZ2eH1atXKzIkoxzY\n2QE+PsIvjSkkiICpU4EFC5jjVyZqampY7rEcc6Lm4EPuB77lVBpCb4WipkZN9Lftr3BfCjn/4OBg\nuLu748GDB+jSpQuCg4OLtalZsyZWrlyJO3fuIDo6GmvXri2xgAaj4lmwANi8GSiUSJNRCocOcZXQ\nRozgW0nVx9nYGR1NOmL55eV8S6kUZOVl4aezP2GFx4oKiYdQyPkXjt719fXFoUOHirWRNRydoRwa\nNgQCArjFX0bp5OYCgYFcLWSW8Vg1LO6yGKtjViMlI4VvKYLn1+hf8WXDL9HBpEOF9KfQnH+dOnWQ\nlpYGgJvDMzAwkDyWRmJiIlxdXXHnzp1iUYlszl95fPgAWFgABw4An2UCYBRi1SrgxAkgPJxvJdWL\nwIhAvM16i00+m/iWIlhefngJm7U2iB4VDXMD8yKvyes7y9zq6e7ujtTU1GLPL1q0qJiA0m5Fygqb\nB4B58+ZJ/nZzcysWCs6QD21tbs/65MnAxYuAALM88E5aGrBoEXD2LN9Kqh8zO86E5RpL3Ei9AfsG\n9nzLESRzI+diWKthMDcwR1RUVKlpHmRFoSt/KysrREVFoUGDBkhJSUGnTp1w//79Yu3y8vLQo0cP\ndO/eHRMnTpQuhF35KxWxGHByAmbOBPr141uN8Jg8mbtDYvGG/LA2Zi0O3j+IiGERgsxBxSe3X95G\n522dcX/8fRhoFs84ystuHx8fH2zbtg0AsG3bNvTq1atYGyKufJyNjU2Jjp+hfDQ0gF9+4ea0s7P5\nViMsHj7kAroWLOBbSfXF38kfzzOe49iDY3xLERREhCmnpmDW17OkOn5FO5ebN2/eUJcuXahFixbk\n7u5OaWlpRESUnJxMnp6eRER04cIFUlNTI3t7e0klnBMnThTrS0EpDBnp1Yvov9rhjP/w8SFasoRv\nFYywB2Fk8ZsF5eTn8C1FMByLO0aWv1lSbn5uiW3k9Z0syKua8egRt+h76xa3E6i6c/o04O8P3L0L\n1K7NtxpG953d4WHqgUlfTeJbCu/kinPRcl1L/OLxC7wsvEpsp/JpH1kCvD4hFovh6OgIb29veYdj\nVBBmZsB333Fz/9Wd/Hxg4kRg+XLm+IXCyq4rEXQxCC8/vORbCu+siVmD5qLm8GzhqZT+5Xb+sgR4\nfWLVqlWwsbFhCzkCYdYs4ORJLo1BdWbdOqBBA0DKUhWDJ6zqWWFoy6GYdXYW31J45eWHlwi6EISV\nXVcqzW/K7fxlCfACyq49yVA9enpcyoeAAKCggG81/PD6NfDzz9zefnZNIizmus3Fkbgj+Pf5v3xL\n4Y2ZZ2bC194X1vWtlTaG3M7/xYsXkmIBRkZGJRYLLqv2JIMfhg/nnN5/m7WqHTNnAoMGAba2fCth\nfI7oCxEWdV6EgBMBKKDqd3USkxyDsIdhmOM6R6njlOqR3d3d0bJly2LHkSNHirQrKcCrcO1JdtUv\nLNTVgTVruLQPpQRlV0muXgWOHgXmz+dbCaMkRjqOhJjECLkRwrcUlSIuEGN82Hgs7rIY+l/oK3Ws\nUiN8IyIiSnzNyMgIqampkgAvQ0PDYm0uX76MI0eOICwsDNnZ2Xj//j2GDx8uqez1OSzCV7U4OXGp\ni2fNAtau5VuNahCLgbFjgSVLWJprIaOupo61nmvRI7QHelr2LFK0pCqz+dpm1NKoheH2w0tsw3uE\nb2BgIOrWrYtp06YhODgY6enppS76njt3DsuXL8fRo0elC2FbPXnh7VvAxgY4fhz48ku+1SifdeuA\n0FDg/Hk2118ZGHt8LIgI63pU/XJqLz+8hN3vdogYFlGuNBcq3+o5ffp0REREwMLCAmfPnsX06dMB\nAM+fP4eXl/Q9qWy3j/AwMACCg4Hvv+euiqsyqanA3LncCYB9FSsHizovwqG4Q/j72d98S1E6P0b8\niKGthqosvxEL8mKACOjUCfj2W2DCBL7VKI/BgwETE+5kx6g8hN4KxZJLS/DP6H9QU6Mm33KUQmRC\nJHwP+eLuuLvQqSU98WVJ8JLbh1E1UFMD1q/nctskJfGtRjmcOAH8/TcwR7kbKBhKYJDdIDTQaYCV\n0Sv5lqIUsvKy4H/MH2s915bb8SuC0iN809PT0bdvX1hbW8PGxgbR0dFyi2UoDysr7qp/zBjuTqAq\nkZHBfa516wAtLb7VMMqLmpoa1nmtw9JLSxH/Np5vORXOz+d/hn0De3hbqjYDgtIjfH/44Qd4enri\n3r17uHnzJqytlRe0wFCM6dOBJ0+4BdGqxMyZgJsb4OHBtxKGvJjWMcWMDjMw6sioKrX3/1rKNWyK\n3YTfuv+m8rHlnvO3srLCuXPnJFs+3dzciuXyf/fuHRwdHfH48eOyhbA5f0Fw9SrQowdw8ybwXwxf\npeb8eS6Y69YtbnGbUXkRF4jRfkt7DLcfjrFtxvItR2Fyxblw3uiMyV9NLnVrZ1mofM5flgjfhIQE\n1K9fHyNHjkTr1q0xevRofPz4Ud4hGSqgTRvAz4/b/VPZz8WZmVwSu3XrmOOvCmioa2Brz62YEzkH\nj9PKvqAUOovOL0IT/SYY1moYL+OXGuSlaAnH/Px8xMbGYs2aNWjTpg0mTpyI4OBgLCihagYL8hIG\nc+dyJ4GQEOC/9E2Vkh9/BDp0AHx8+FbCqCis61tjRocZ8D3kiyjfKGioa/AtSS5ikmOw/t/1uO5/\nvdxb4CsqyEvuCiqWlpaUkpJCRETPnz8nS0vLYm1SUlKoWbNmkscXLlwgLy8vqf0pIIWhBK5fJ6pX\nj+jxY76VyMexY0RNmxKlp/OthFHR5IvzyXWrKy2+sJhvKXKRmZNJFr9Z0J7beyqkP3l9p9zTPrKU\ncGzQoAGaNGmCBw8eAABOnz4NW5ZJq1Jgb88tAA8ZwuW9r0ykpACjRnF3LvrKTY/C4AENdQ2E9A7B\nyuiVuJp8lW855WZi+ES0bdwW/W378ytE3rONLCUciYiuX79OTk5O1KpVK+rduzell3AppoAUhpIQ\ni4k8PIh++olvJbIjFhN98w3R7Nl8K2Eom3139pHZKjNKz6o8t3e7b+0m89Xm9D77fYX1Ka/vZBG+\njFJ58QJo3RrYurVybJVcuBA4dQo4exaoUeqKFqMqMObYGLzOeo29ffcKPn3MwzcP0W5LO4QPCceX\njSoukRaL8GUoBSMjbt//8OHA06d8qymd06eB338Hdu9mjr+6sLLbSjxOe4xVf6/iW0qpfMj9gL77\n+mK+2/wKdfyKoPQI38WLF8PW1hYtW7bE4MGDkZOTI7dYBj+4ugJTp3K5f7Ky+FYjnYQEYOhQ7kTV\nqBHfahiq4osaX2B/v/1YfHExohKj+JYjFSLC6KOjYW9kjzFOY/iWI0GpEb6JiYnYuHEjYmNjcevW\nLYjFYuzevVshwQx+mDIFsLDgFlKFNjuXkQH07Pn/kbyM6kXzOs2x89udGLh/oCD3/y+5tAQP3jzA\nHz3+ENTUlFJr+Orp6aFmzZr4+PEj8vPz8fHjRxgbG8uvlsEbamrApk3Aw4fCqoCVnw8MHAi0bcvV\nJGZUT74x/Qazvp6FHqE9kJYlnNJ0++/ux9qra3F44GFo1tTkW04RlBrha2BggClTpsDExASNGjWC\nSCTCN998I79aBq9oaXHlD0NCuBMB3xBxCdvy87lKZAK6qGLwwHjn8fAw80CvPb2QnZ/Ntxycf3Ie\nY4+PxdFBR2GsJ7yLXqVG+D569Ai//vorEhMToa+vj379+mHnzp0YMmSI1PFYhK/wMTICwsO5dYA6\ndYA+ffjRQcTFIVy/zu3sqVk107wzyskvXX/BkAND0H9ff/zV/y/e8v/HpsSi796+CO0TCocGDhXa\nd6WI8N29ezf5+flJHoeEhNDYsWOl9qeAFAYPXLtGZGhIdOiQ6scuKOD28dvZEb1+rfrxGcImJz+H\nvEO9qc+ePpSbn6vy8a+lXCOjZUZ04O4BlYwnr+9UaoSvlZUVoqOjkZWVBSLC6dOnYWNjI++QDAHh\n4ACEhQH/+x+wZ4/qxiUCpk0DDh4EzpwB6tZV3diMykEtjVrY128fsvOz0XdfX5VOAf397G903dEV\nazzXoLd1b5WNKxfynm1kjfBdsmQJ2djYkJ2dHQ0fPpxyc6WfiRWQwuCRGzeIjI2JVq7krsiVSU4O\nka8vkbMzu+JnlE1Ofg4N2DeAOm7pSK8/KP8LcyzuGNVbWo+Oxh1V+liFkdd3sghfhsIkJnI1ANq1\nA377Dahdu+LHePEC6NePW2cIDQW0tSt+DEbVo4AKMC1iGg7FHcLBAQdhZ2hX4WMQEZZfXo6V0Stx\nYMABtG3ctsLHKA2VR/ju27cPtra20NDQQGxsbIntwsPDYWVlhRYtWmDJkiXyDscQMM2aAZcvA2/e\ncCeAuLiK7T8igksx4ebGTfcwx8+QFXU1dSzzWIbZX89Gp22dsPHfjRV6kfnqwyv02tMLe+/uRfSo\naJU7foWQ91bj3r17FBcXR25ubvTvv/9KbZOfn09mZmaUkJBAubm5ZG9vT3fv3pXaVgEpKiUyMpJv\nCTLBh86CAqK1a4nq1iUKCiLKzi69fVkaX70i8vMjatyYKCKi4nSWF/Y/r1j40nn7xW1yWO9AXbd3\npYdvHpbZvjSdBQUFFHI9hIyWGdGPp36knPycClRaPuT1nXJf+VtZWcHCwqLUNjExMTA3N0ezZs1Q\ns2ZNDBw4EIcPH5Z3SEFQIVusVAAfOtXUgLFjuVKQV64A1tbAn38CubnS25ekMS2NS9Bmbc1d5d+5\nA/AZHsL+5xULXzptDW0RMyoGnZt3RttNbREQFoCn70pOWCVNZwEVIOxhGFw2uWDV36twZNARLHVf\niloatZSoXDkoNbFbcnIymjRpInncuHFjJCcnK3NIhgBo3hw4coTLBLpzJ9C0KZce4vx5oKTUTu/e\nce/x9QVMTblI4kuXgFWrAD091epnVF1qatREYPtA3B13F7Vr1IbDegf03N0TO27uQGpm8ZgmgKsd\nHJsSi5/P/QyrNVaYeWYmpnw1BTGjY+Bs7KziT1BxyBXkFRQUBG9v7zI7F1IeC4bqcXXljvv3gV27\ngMmTgbt3uTWChg25LKGRkUBSEreg27YtV3Jx6dKqUTyeIVwMtQ2x3GM55rrOxYF7B7D/7n4EnAiA\nZg1NmNYxhV5tPcTdiMOh9YcQ/zYeTfSboKtZV2zrtQ1tG7etGr5N0fmm0ub8r1y5Ql27dpU8DgoK\nouDgYKltzczMCAA72MEOdrCjHIeZmZlcvrtCsp5TCavnTk5OePjwIRITE9GoUSPs2bMHu3btkto2\nPj6+IqQwGAwGQwbknvM/ePAgmjRpgujoaHh5eaF79+4AgOfPn8PLywsAUKNGDaxZswZdu3aFjY0N\nBgwYAGtr64pRzmAwGAy5EUyQF4PBYDBUh8rLOMoS9DVhwgS0aNEC9vb2uHbtmooVlq0xKioK+vr6\ncHR0hKOjIxYuXKhyjd999x2MjIzQsmXLEtvwbUegbJ1CsCUAJCUloVOnTrC1tYWdnR1Wr14ttR3f\nNpVFpxBsmp2dDRcXFzg4OMDGxgYzZsyQ2o5ve8qiUwj2BACxWAxHR8cSN9uU25ZyrRTIiSxBX8eP\nH6fu3bsTEVF0dDS5uLioUqJMGiMjI8nb21uluj7n/PnzFBsbS3Z2dlJf59uOnyhLpxBsSUSUkpJC\n165dIyKijIwMsrCwENx3U1adQrHphw8fiIgoLy+PXFxc6MKFC0VeF4I9icrWKRR7rlixggYPHixV\nizy2VOmVvyxBX4UrhLm4uCA9PV1qoRg+NQIlL3Krio4dO6JOnTolvs63HT9Rlk6Af1sCQIMGDeDg\nwOVd19HRgbW1NZ4/f16kjRBsKotOQBg21dLSAgDk5uZCLBbDwMCgyOtCsKcsOgH+7fns2TOEhYVh\n1KhRUrXIY0uVOn9Zgr6ktXn27JmgNKqpqeHy5cuwt7eHp6cn7t69qzJ9ssK3HWVFiLZMTEzEtWvX\n4OLiUuR5odm0JJ1CsWlBQQEcHBxgZGSETp06FUvnLhR7lqVTCPacNGkSli1bBnV16S5bHluq1PnL\nGhjx+ZlNlQEVsozVunVrJCUl4caNGwgICJBay0AI8GlHWRGaLTMzM9G3b1+sWrUKOjo6xV4Xik1L\n0ykUm6qrq+P69et49uwZzp8/LzVdghDsWZZOvu157NgxGBoawtHRsdQ7kPLaUqXO39jYGElJSZLH\nSUlJaNy4caltnj17ptKi77Jo1NXVldwqdu/eHXl5eXj79q3KNMoC33aUFSHZMi8vD3369MHQoUOl\n/sCFYtOydArJpgCgr68PLy8v/PPPP0WeF4o9P1GSTr7tefnyZRw5cgTNmzfHoEGDcPbsWQwfPrxI\nG3lsqVLnXzjoKzc3F3v27IGPj0+RNj4+PggJCQEAREdHQyQSSQrFC0XjixcvJGfZmJgYEJHUeUI+\n4duOsiIUWxIR/Pz8YGNjg4kTJ0ptIwSbyqJTCDZ9/fo10tPTAQBZWVmIiIiAo6NjkTZCsKcsOvm2\nZ1BQEJKSkpCQkIDdu3ejc+fOErt9Qh5bVkiEr6wUDvoSi8Xw8/ODtbU1/vjjDwCAv78/PD09ERYW\nBnNzc2hra2Pr1q2qlCiTxv3792PdunWoUaMGtLS0sHv3bpVqBIBBgwbh3LlzeP36NZo0aYL58+cj\nLy9PopFvO8qqUwi2BIBLly5hx44daNWqleTHHxQUhKdPn0q0CsGmsugUgk1TUlLg6+uLgoICFBQU\nYNiwYejSpYugfuuy6hSCPQvzaTpHUVuyIC8Gg8Gohqg8yIvBYDAY/MOcP4PBYFRDmPNnMBiMaghz\n/gwGg1ENYc6fwWAwqiHM+TMYDEY1hDl/BoPBqIYw589gMBjVkP8DYQvKpBZyZSsAAAAASUVORK5C\nYII=\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x53d47f0>"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.3, Page No. 9"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average, peak and rms current\n",
+      "\n",
+      "import math\n",
+      "#variable declaration(from the waveform)\n",
+      "Ip = 20.0                 # Peak current\n",
+      "\n",
+      "#calculations\n",
+      "Iavg = (Ip*1.0)/3.0\n",
+      "Irms = math.sqrt((Ip**2)*1.0/3.0)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Peak Current = %d A\\nAverage Current = %.3f A\\nrms Current = %.3f A\"%(Ip,Iavg,Irms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak Current = 20 A\n",
+        "Average Current = 6.667 A\n",
+        "rms Current = 11.547 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.4, Page No. 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#power BJT\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Vcc =220.0              # collector voltage\n",
+      "Vce_sat = 1.0           # Vce saturation voltage\n",
+      "Rb =6.0                 # base resisror\n",
+      "Rl = 8.0                # load resisotr\n",
+      "hfe = 15.0              # gain\n",
+      "Vbe = 0.7               # base-emiter voltage drop\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "Ic = (Vcc-Vce_sat)/Rl\n",
+      "Ib=Ic/hfe\n",
+      "#(b)\n",
+      "Vbb= Ib*Rb+Vbe\n",
+      "#(c)\n",
+      "Pc = Ic*Vce_sat\n",
+      "Pb = Ib*Vbe\n",
+      "Pt = Pc+Pb\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Base current, Ib = %.3f A\\n(b) Vbb = %.2f V\\n(c) Total power dissipation in BJT = %.4f W\"%(Ib,Vbb,Pt))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Base current, Ib = 1.825 A\n",
+        "(b) Vbb = 11.65 V\n",
+        "(c) Total power dissipation in BJT = 28.6525 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.5, Page No. 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Load current and losses in BJT\n",
+      "\n",
+      "import math\n",
+      "# variable declaration(with reference to example 1.4)\n",
+      "Vbb_org = 11.65         # original Vbb\n",
+      "fall =0.85              # 85% fall in original value\n",
+      "Vce_sat = 1.0           # Vce saturation voltage\n",
+      "Rb =6.0                 # base resisror\n",
+      "hfe = 15.0              # gain\n",
+      "Vbe = 0.7               # base-emiter voltage drop\n",
+      "\n",
+      "\n",
+      "#calculations\n",
+      "Vbb = fall* Vbb_org\n",
+      "Ib = (Vbb-Vbe)/Rb\n",
+      "Ic = Ib*hfe\n",
+      "Pc =Ic*Vce_sat\n",
+      "Pb = Ib* Vbe\n",
+      "Pt = Pc+Pb\n",
+      "\n",
+      "#Result\n",
+      "print(\"Load current = %.3f A\\nLosses in BJT = %.2f W\"%(Ib,Pt))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Load current = 1.534 A\n",
+        "Losses in BJT = 24.08 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.6, Page No. 19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Power loss in BJT\n",
+      "\n",
+      "import math\n",
+      "#variable declaration(with reference to example 1.4)\n",
+      "Vcc = 240                  # New value of collector current\n",
+      "Ic = 27.375                # collector current,from example 1.4\n",
+      "Pb = 1.2775                # base power dissipation,from example 1.4\n",
+      "Rl = 8.0                   # load resisotr\n",
+      "\n",
+      "#Calculations\n",
+      "Vce = Vcc-(Ic*Rl)\n",
+      "Pc = Vce* Ic\n",
+      "Pt = Pb+ Pc\n",
+      "\n",
+      "#result\n",
+      "print(\"Total power dissipation = %.4f W\"%Pt)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total power dissipation = 576.1525 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.7, Page No. 19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# BJT switching frequency\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "# variable declaration\n",
+      "I = 80                      # maximum current, from swiching characteristics\n",
+      "t1 = 40 *10**-6             # rise time, from swiching characteristics\n",
+      "t2 = 60* 10**-6             # falll time, from swiching characteristics\n",
+      "V = 200                     # collector-emitter voltage\n",
+      "Pavg =250                   # average power loss\n",
+      "\n",
+      "\n",
+      "#calculations\n",
+      "# switching ON\n",
+      "ic = I/t1\n",
+      "def f(x):\n",
+      "    return (ic*x)*(V-(V/t1)*x)\n",
+      "t_lower =0\n",
+      "t_upper = t1\n",
+      "val_on = quad(f,t_lower,t_upper)\n",
+      "\n",
+      "# switching OFF\n",
+      "ic = I-I/t1\n",
+      "Vc = V/t2\n",
+      "def f1(x):\n",
+      "    return (I-(I/t2)*x)*(Vc*x)\n",
+      "t_lower =0\n",
+      "t_upper = t2\n",
+      "val_off = quad(f1,t_lower,t_upper)\n",
+      "\n",
+      "loss= val_on[0]+val_off[0]\n",
+      "loss= math.floor(loss*10000)/10000\n",
+      "f =Pavg/loss\n",
+      "\n",
+      "# Result\n",
+      "#print(\"(a) Switching ON:\\nEnergy losses during switching on = %.4f J\"%(val_on[0]))\n",
+      "#print(\"\\n(b)Switching OFF\\nEnergy losses during switching off of BJT =%.2f J\"%(val_off[0]))\n",
+      "print(\"\\nSwitching frequency = %.1f Hz\"%f)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Switching frequency = 937.7 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 1.8, Page No. 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Turn ON loss of power transistor\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vmax = 300             # voltage during start\n",
+      "Imax = 200             # full current after start\n",
+      "t = 1* 10**-6          # starting time \n",
+      "\n",
+      "#calculation\n",
+      "E_loss = Vmax*Imax*t/6        #formula\n",
+      "\n",
+      "#Result\n",
+      "print(\"Energy loss = %.2f Joules\"%E_loss)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy loss = 0.01 Joules\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 54
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_2_1.ipynb b/Power_Electronics/Power_electronics_ch_2_1.ipynb
new file mode 100755
index 00000000..6e52e316
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_2_1.ipynb
@@ -0,0 +1,2357 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2: Thyristors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.1, Page No.39 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Anode current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "alfa_1 = 0.35         # Gain of PNP transistor of two transistor model\n",
+      "alfa_2 = 0.40         # Gain of NPN transistor of two transistor model\n",
+      "Ig = 40*10**-3        # Gate current\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Ia = (alfa_2*Ig)/(1-(alfa_1+alfa_2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Anode current = %d * 10^-3 A\"%(Ia*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Anode current = 64 * 10^-3 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.2, Page No.41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Equivalent capacitor\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "dv_by_dt = 190                # in Volt per micro-sec\n",
+      "Ic= 8 *10**-3                 # Capacitive current\n",
+      "\n",
+      "#Calculation\n",
+      "C = Ic/(dv_by_dt*10**6)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.1f * 10^12 F\"%(C*10**12))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 42.1 * 10^12 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.3, Page No. 42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Thyristor\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vt = 0.75               # Thyristor trigger voltage\n",
+      "It = 7*10**-3           # Thyristor trigger current\n",
+      "Vcc = 20                # Suppy voltage, given data\n",
+      "Rg = 2000               # gate resistor, given data\n",
+      "R = 200                 # input resistor\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "V0 = 20                 # when thyristor is not conducting, there is no current through it.\n",
+      "#(b)\n",
+      "Vs = Vt+It*Rg\n",
+      "#(c)\n",
+      "i= 5*10**-3              #to have holding curernt\n",
+      "v1= i*R\n",
+      "#(d)\n",
+      "drop =0.7                # voltage drop across thyristor\n",
+      "v2=v1+drop\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) V0 = %d\\n(b) Vs = %.2f\\n(c) Vcc should be reduced to less than %d V if thyristor is ideal.\\n(d) Vcc should be reduced to less than %.1f V\"%(V0,Vs,v1,v2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) V0 = 20\n",
+        "(b) Vs = 14.75\n",
+        "(c) Vcc should be reduced to less than 1 V if thyristor is ideal.\n",
+        "(d) Vcc should be reduced to less than 1.7 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.4, Page No.42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# calculation of Vg,Ig and Rg\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vs = 25                      # gate signal amplitude\n",
+      "Pavg_loss = 0.6              # Avg power loss\n",
+      "\n",
+      "#Calculations\n",
+      "P_loss = Pavg_loss*2*math.pi/math.pi\n",
+      "Ig =(-1+(math.sqrt(1**2-4*9*(-1.2))))/(2*9) #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+      "Ig = math.ceil(Ig*1000)/1000\n",
+      "Vg = 1+9*Ig                                 #given data\n",
+      "Rg = (24-9*Ig)/Ig\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"Vg = %.3f \\nIg = %.3f\\nRg = %.2f\"%(Vg,Ig,Rg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vg = 3.826 \n",
+        "Ig = 0.314\n",
+        "Rg = 67.43\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.5, Page No.42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Minimum width of gate pulse\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100                   # DC supply voltage\n",
+      "L = 10                    # Inductance\n",
+      "i = 80*10**-3             # latching current of thyristor\n",
+      "\n",
+      "#Calculations\n",
+      "t = L*i/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Width of pulse should be more than %d milli-second.\"%(t*10**3))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Width of pulse should be more than 8 milli-second.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.6, Page No. 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Minimum width of gate pulse\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100                   # DC supply voltage\n",
+      "R = 10                    # Resistance\n",
+      "L = 5                     # Inductance\n",
+      "i = 50*10**-3             # latching current of thyristor\n",
+      "\n",
+      "#Calculation\n",
+      "t = math.log((1-(i*R)/V))/((-R/L)*math.log(math.e))        # i = (V/R)*(1-e^(-R*t/L))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Minimum width of gate pulse is %.1f milli-second.\"%(t*10**3))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum width of gate pulse is 2.5 milli-second.\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.7, Page No. 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# resistor value\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 90.0                # DC supply voltage\n",
+      "i = 40*10**-3           # latching current of thyristor\n",
+      "t = 40* 10**-6          # pulse width\n",
+      "R = 25.0                # load Resistance\n",
+      "L = 0.5                 # Inductance\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+      "\n",
+      "#(b)\n",
+      "R = V/(i-i2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nAt the end of the gate pulse, i = %.4f A\"%i2)\n",
+      "print(\"Since the current is less than latching current, thyristor will not turn on.\")\n",
+      "print(\"\\n(b)\\nR should be less than %d ohm.\"%math.ceil(R))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "At the end of the gate pulse, i = 0.0072 A\n",
+        "Since the current is less than latching current, thyristor will not turn on.\n",
+        "\n",
+        "(b)\n",
+        "R should be less than 2744 ohm.\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.8, Page No.44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Resistor value\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100.0                # DC supply voltage\n",
+      "i = 50*10**-3            # holding current of thyristor\n",
+      "t = 50* 10**-6           # pulse width\n",
+      "R = 20.0                 # load Resistance\n",
+      "L = 0.5                  # Inductance\n",
+      "\n",
+      "#Calculations\n",
+      "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+      "Rmax = V/(i-i2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"When firing pulse ends, i = %.2f mA\"%(i2*10**3))\n",
+      "print(\"Since this current is less than holding current, the thyristor will not remain on and return to off state.\")\n",
+      "print(\"Maximum value of R = %.3f ohm\"%(math.floor(Rmax*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When firing pulse ends, i = 9.99 mA\n",
+        "Since this current is less than holding current, the thyristor will not remain on and return to off state.\n",
+        "Maximum value of R = 2499.375 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.9, Page No.44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# triggering angle \n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 240                  # AC supply voltage\n",
+      "f = 50                   # supply frequency\n",
+      "R = 5                    # load resistance\n",
+      "L = 0.05                 # inductance\n",
+      "\n",
+      "#Calculation\n",
+      "theta = math.atan(2*math.pi*f*L/R)\n",
+      "theta = theta*180/math.pi\n",
+      "fi = theta+90\n",
+      "print(\"theta = %.2f\u00b0\"%(theta))\n",
+      "print(\"\\nCurrent transient is maximun(worst) if\\nsin(fi-theta) = 1\")\n",
+      "print(\"therefore, fi-%.2f\u00b0 = 90\u00b0\"%theta)\n",
+      "print(\"fi = %.2f\u00b0\"%fi)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "theta = 72.34\u00b0)\n",
+        "\n",
+        "Current transient is maximun(worst) if\n",
+        "sin(fi-theta) = 1\n",
+        "therefore, fi-72.34\u00b0 = 90\u00b0\n",
+        "fi = 162.34\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.10, Page No.47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example \")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example \n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.11, Page No.50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example \")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example \n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.12, Page No. 53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# rms current and form factor\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "I = 120                 # Current in Ampere\n",
+      "gamma = 180.0           # in degrees, thyristor conducts between alfa and alfa+gamma in each 360\u00b0 \n",
+      "\n",
+      "# calculations\n",
+      "#(a)-- formulas\n",
+      "#(b)\n",
+      "Irms = I*math.sqrt(gamma/360)\n",
+      "Iavg = I*(gamma/360)\n",
+      "ff = Irms/Iavg\n",
+      "\n",
+      "#result\n",
+      "print(\"RMS curent = %.2f A\\nAverage Current = %.0f A\\nForm factor = %.3f\"%(Irms,Iavg,ff))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS curent = 84.85 A\n",
+        "Average Current = 60 A\n",
+        "Form factor = 1.414\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.13, Page No.53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Power supplied to the load and average load current\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "# variable declaration\n",
+      "R = 100.0                       # load resistance\n",
+      "V = 230.0                       # Supply Voltage\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "def f(x):\n",
+      "    return math.sin(x)**2\n",
+      "wt_lower=math.pi/3\n",
+      "wt_upper =math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "I = ((math.sqrt(2)*V/R)**2)*val[0]/(2*math.pi)\n",
+      "Irms = math.sqrt(I)\n",
+      "P =(Irms**2)*R\n",
+      "\n",
+      "#(b)\n",
+      "def f(x):\n",
+      "    return math.sin(x)**2\n",
+      "wt_lower2=math.pi/4\n",
+      "wt_upper2 =math.pi\n",
+      "val2 = quad(f,wt_lower2,wt_upper2)\n",
+      "x = (math.sqrt(2)*V/R)\n",
+      "x = math.floor(x*100)/100\n",
+      "I2 = (x**2)*val2[0]/(2*math.pi)\n",
+      "Irms2 = math.sqrt(I2)\n",
+      "P2 =(Irms2**2)*R\n",
+      "\n",
+      "#(c)\n",
+      "def f(x):\n",
+      "    return (3.25/(2*math.pi))*math.sin(x)\n",
+      "wt_lower3=math.pi/3\n",
+      "wt_upper3 =math.pi\n",
+      "val3 = quad(f,wt_lower3,wt_upper3)\n",
+      "wt_lower4=math.pi/4\n",
+      "wt_upper4 =math.pi\n",
+      "val4 = quad(f,wt_lower4,wt_upper4)\n",
+      "\n",
+      "\n",
+      "print(\"(a)\\nRMS current = %.2f A\\nPower supplied to load = %d W\"%(Irms,math.ceil(P)))\n",
+      "print(\"\\n\\n(b)\\nRMS current = %f A\\nPower supplied to load = %f W\"%(Irms2,P2))\n",
+      "print(\"\\n(c)\\nWhen firing angle is 60\u00b0, Average current = %.3f A\" %val3[0])\n",
+      "print(\"When firing angle is 45\u00b0, Average current = %.3f A\" %val4[0])\n",
+      "# for (b) answer matches to the book if val2[0] = 1.4255"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "RMS current = 1.46 A\n",
+        "Power supplied to load = 213 W\n",
+        "\n",
+        "\n",
+        "(b)\n",
+        "RMS current = 1.549431 A\n",
+        "Power supplied to load = 240.073727 W\n",
+        "\n",
+        "(c)\n",
+        "When firing angle is 60\u00b0, Average current = 0.776 A\n",
+        "When firing angle is 45\u00b0, Average current = 0.883 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 81
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.14, Page No.54"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# average power loss in thyristor\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Iavg = 200                  # Average current\n",
+      "v1 = 1.8                    # voltage drop across thyristor for 200A current\n",
+      "v2 = 1.9                    # voltage drop across thyristor for 400A current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "A1 = Iavg                   # amplitude of rectangular current wave\n",
+      "P1 = A1*v1\n",
+      "#(b)\n",
+      "A2 = 2*Iavg\n",
+      "P2 = A2*v2*math.pi/(2*math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average power loss = %d W\"%P1)\n",
+      "print(\"(b) Average power loss = %d W\"%P2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average power loss = 360 W\n",
+        "(b) Average power loss = 380 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 83
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.15, Page No.55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# average on state current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "I = 40                # rms on state current\n",
+      "f = 50                # frequency\n",
+      "cp_a =170             # conduction period\n",
+      "cp_b =100             # conduction period\n",
+      "cp_c =40              # conduction period\n",
+      "\n",
+      "#Calculations\n",
+      "alfa_a = 180-cp_a\n",
+      "alfa_b = 180-cp_b\n",
+      "alfa_c = 180-cp_c\n",
+      "Im_a = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_a*math.pi/180)/2)+math.sin(2*alfa_a*math.pi/180)/4))\n",
+      "Iv_a = 0.316*Im_a\n",
+      "Im_b = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_b*math.pi/180)/2)+math.sin(2*alfa_b*math.pi/180)/4))\n",
+      "Iv_b = 0.1868*Im_b\n",
+      "Im_c = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_c*math.pi/180)/2)+math.sin(2*alfa_c*math.pi/180)/4))\n",
+      "Iv_c = 0.0372*Im_c\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Iavg = %.3f A\"%(math.ceil(Iv_a*1000)/1000))\n",
+      "print(\"(b) Iavg = %.2f A\"%Iv_b)\n",
+      "print(\"(c) Iavg = %.2f A\"%(math.floor(Iv_c*100)/100))\n",
+      "#answer for(b) is not matching with the answer given in the book."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Iavg = 25.295 A\n",
+        "(b) Iavg = 19.13 A\n",
+        "(c) Iavg = 11.62 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 105
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.16, page No. 56"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# power dissiopation\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "It = 20                     # constant current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vt = 0.9+ 0.02*It\n",
+      "P1 = Vt*It\n",
+      "#(b)\n",
+      "def f(x):\n",
+      "    return (0.9+0.02*(20*math.pi*math.sin(x)))*(20*math.pi*math.sin(x))/(2*math.pi)\n",
+      "# if denominator math.pi value is taken as 3.14, then answer for P2 =37.75\n",
+      "theta_lower = 0\n",
+      "theta_upper = math.pi\n",
+      "val = quad(f,theta_lower,theta_upper)\n",
+      "P2 = val[0]\n",
+      "#(c)\n",
+      "P3 = P1/2\n",
+      "#(d)\n",
+      "P4 = P1/3\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Power dissipation = %d W\"%P1)\n",
+      "print(\"(b) Mean Power dissipation = %.2f W\"%P2)\n",
+      "print(\"(c) Mean Power dissipation = %d W\"%P3)\n",
+      "print(\"(d) Mean Power dissipation = %.2f W\"%P4)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Power dissipation = 26 W\n",
+        "(b) Mean Power dissipation = 37.74 W\n",
+        "(c) Mean Power dissipation = 13 W\n",
+        "(d) Mean Power dissipation = 8.67 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 115
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.17, Page No. 57"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# I^2t rating \n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Is = 2000.0              # half cycle surge current rating for SCR\n",
+      "f = 50.0                 # operating AC frequency\n",
+      "\n",
+      "#Calculation\n",
+      "T = 1/f\n",
+      "t_half = T/2\n",
+      "t = t_half/2\n",
+      "I = math.sqrt((Is**2)*t/t_half)\n",
+      "rating = (I**2)*t_half\n",
+      "\n",
+      "#Result\n",
+      "print(\"I^2t rating = %d A^2 secs\"%rating)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "I^2t rating = 20000 A^2 secs\n"
+       ]
+      }
+     ],
+     "prompt_number": 138
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.18, Page No. 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Resistance and average power loss\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "P = 6                #peak power loss\n",
+      "d = 0.3              # duty cylce   \n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "#solution of equation 9Ig^2+Ig-6 = 0\n",
+      "Ig =(-1+(math.sqrt(1**2-4*9*(-6))))/(2*9)    #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+      "Ig = math.ceil(Ig*1000)/1000\n",
+      "Rg = (11/Ig)-9                               #from KVL equation of gate circuit\n",
+      "#(b)\n",
+      "Pavg = P*d\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nIg = %.3f A \\nRg = %.3f ohm\"%(Ig,Rg))\n",
+      "print(\"\\n(b) Average power loss = %.1f W \"%Pavg)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Ig = 0.763 A \n",
+        "Rg = 5.417 ohm\n",
+        "\n",
+        "(b) Average power loss = 1.8 W \n"
+       ]
+      }
+     ],
+     "prompt_number": 144
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.19, Page No. 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# trigger current and voltage for gate power dissipation\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vs = 12                  # supply voltage\n",
+      "P = 0.3                  # Power dissipation\n",
+      "Rs  = 100                # load line slope i.e. source resistance\n",
+      "\n",
+      "#Calculation\n",
+      "#solution for equation 100Ig^2-12Ig+0.3 = 0\n",
+      "Ig =(-(-Vs)-(math.sqrt((-Vs)**2-4*Rs*(P))))/(2*Rs)    #alfa=(-b(+/-)sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+      "Vg = P/Ig\n",
+      "print(\"Ig = %.1f mA\\nVg = %.2f V\"%(Ig*1000,Vg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ig = 35.5 mA\n",
+        "Vg = 8.45 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 150
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.20, Page No. 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Finding values of resistors\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Es = 12.0             # Supply voltage\n",
+      "V = 800.0             # SCR voltage rating\n",
+      "I = 110.0             # SCR currert rating\n",
+      "imax = 250*10**-3     # Maximum permissible current through battery\n",
+      "isc = 600*10**-3      # short circuit current of the battery\n",
+      "Vg = 2.4              # required gate voltage\n",
+      "Ig = 50*10**-3        # required gate current\n",
+      "Vgmax = 3             # maximum gate voltage\n",
+      "Igmax = 100*10**-3    # maximum gate current\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Rs = Es/isc\n",
+      "#considering R2 is not connected\n",
+      "R1 =(Es/imax)-Rs\n",
+      "#R1 must be 28 or more so that battery curenrt doesnot exceeds 250mA\n",
+      "R1min = Es/Igmax-Rs\n",
+      "R1max = ((Es-Vg)/Ig)-Rs\n",
+      "R1 = 125  #selected \n",
+      "R2 = Vgmax*(Rs+R1)/(Es-Vgmax)\n",
+      "\n",
+      "# Result\n",
+      "print(\"Rs = %d ohm \\n\\nR1 must be more than %.0f ohm and must be less than %.0f ohm.\\nTherefore, select R1 = %.0f \"%(Rs,R1min,R1max,R1))\n",
+      "print(\"\\nR2 should be less than %.3f ohm.\\nTherefore, select R2 = %.0f ohm\"%(R2,math.floor(R2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rs = 20 ohm \n",
+        "\n",
+        "R1 must be more than 100 ohm and must be less than 172 ohm.\n",
+        "Therefore, select R1 = 125 \n",
+        "\n",
+        "R2 should be less than 48.333 ohm.\n",
+        "Therefore, select R2 = 48 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.21, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Surface temperature\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "l = 0.2                 # length of aluminium rod\n",
+      "w = 0.01                # width of aluminium rod\n",
+      "d = 0.01                # depth of aluminium rod\n",
+      "tc = 220                # thermal conductivity\n",
+      "T1 = 30                 # temperature at far end\n",
+      "P = 3                   # injected heat\n",
+      "\n",
+      "#Calculation\n",
+      "theta = l/(tc*w*d)\n",
+      "T2 = P*theta+T1\n",
+      "\n",
+      "#Result\n",
+      "print(\"Temperature of the surface where heat is injected is %.2f\u00b0C\"%T2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Temperature of the surface where heat is injected is 57.27\u00b0C\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.22, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Power losses\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "l = 2*10**-3            # lengthh of aluminium plate\n",
+      "a = 12*10**-4           # cross-section area\n",
+      "tc = 220                # thermal conductivity\n",
+      "td = 4                  # desired thermal drop along length\n",
+      "\n",
+      "#Calculations\n",
+      "theta = l/(a*tc)\n",
+      "theta = math.floor(theta*10**6)/10**6\n",
+      "P_loss = td/theta\n",
+      "\n",
+      "#Result\n",
+      "print(\"power losses = %.2f W\"%P_loss)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "power losses = 528.05 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.23, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#thermal resistance of heat sink\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "P = 30.0              # power dissipation\n",
+      "T1 =125.0             # max junction temperature\n",
+      "T2 = 50.0             # max ambient temperature\n",
+      "tr1 =1.0              # thermal resistance of thyristor\n",
+      "tr2 = 0.3             # therrmal resistance of insuulator\n",
+      "\n",
+      "#calculations\n",
+      "Tr = (T1-T2)/P\n",
+      "Tr_hs = Tr-tr1-tr2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Thermal resistance of heat sink = %.1f\u00b0C/W\"%Tr_hs)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thermal resistance of heat sink = 1.2\u00b0C/W\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.24, Page No.68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Junction temperature\n",
+      "\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "tr = 0.627              # thermal resistance of device\n",
+      "T = 93                  # heat sink temperature\n",
+      "V = 3                   # voltage at junction\n",
+      "I = 25                  # current at junction\n",
+      "\n",
+      "#calculation\n",
+      "T_junction = tr*V*I+T\n",
+      "\n",
+      "#Result\n",
+      "print(\"Junction Temperature = %d\u00b0C\"%T_junction)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Junction Temperature = 140\u00b0C\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.25, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Thermal resistance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "P = 40.0                #steady power loss in an SCR\n",
+      "Tr_hs = 0.8             # heat sink resistance\n",
+      "T1 = 120.0              # Maximumm junction temperature\n",
+      "T2 = 35.0               # ambient temperature\n",
+      "\n",
+      "#calculation\n",
+      "Tr = (T1-T2)/P\n",
+      "Rsh = Tr - Tr_hs\n",
+      "\n",
+      "#Result\n",
+      "print(\"Resistance of heat sink = %.3f\u00b0C/W\"%Rsh)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resistance of heat sink = 1.325\u00b0C/W\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.26, Page No. 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# power loss and % increase in rating\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Tj = 125                # maximum junction temperature\n",
+      "Ts1 = 80                # max heat sink temperature\n",
+      "tr_jc = 0.7             # thermal resistance from junction to case  \n",
+      "tr_cs = 0.4             # thermal resistance from case to sink\n",
+      "Ts2 = 50                # decreased heat sink temperature  \n",
+      "#calculations\n",
+      "#(a)\n",
+      "Pav1 = (Tj-Ts1)/(tr_jc+tr_cs)\n",
+      "#(b)\n",
+      "Pav2 =(Tj-Ts2)/(tr_jc+tr_cs)\n",
+      "rating = 100*(math.sqrt(Pav2)-math.sqrt(Pav1))/math.sqrt(Pav1)\n",
+      "rating = math.floor(rating*100)/100\n",
+      "# result\n",
+      "print(\"(a)\\nAverage power loss = %.2fW\"%Pav1)\n",
+      "print(\"\\n(b)\\nAverage power loss = %.2fW\\n%% increase in rating = %.2f%%\"%(Pav2,rating))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Average power loss = 40.91W\n",
+        "\n",
+        "(b)\n",
+        "Average power loss = 68.18W\n",
+        "% increase in rating = 29.09%\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.27, Page No. 75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Minnimum and maximum firing angle of triac\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vs = 230.0                 # Supply voltage\n",
+      "f = 50.0                   # supply frequency\n",
+      "Vc = 25.0                  # breakdown voltage\n",
+      "C = 0.6*10**-6             # capacitance\n",
+      "Rmin = 2000                # minimum resistance  \n",
+      "Rmax = 20000                # maximum resistance\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "pi = math.ceil(math.pi*10**4)/10**4\n",
+      "Xc = 1/(2*pi*f*C)\n",
+      "Xc = math.floor(Xc*100)/100\n",
+      "Z1_m = math.sqrt(Rmin**2+Xc**2)\n",
+      "Z1_angle=math.atan(Xc/Rmin)\n",
+      "I1_m = Vs/Z1_m\n",
+      "I1_m = math.ceil(I1_m*10**5)/10**5\n",
+      "I1_angle = Z1_angle\n",
+      "Vc_m = I1_m*Xc\n",
+      "Vc_m = math.ceil(Vc_m*100)/100\n",
+      "Vc_angle = I1_angle*(180/math.pi)-90\n",
+      "alfa1 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*Vc_m))+(-Vc_angle)\n",
+      "\n",
+      "#(b)\n",
+      "Z2_m = math.sqrt(Rmax**2+Xc**2)\n",
+      "Z2_m = math.floor(Z2_m*10)/10\n",
+      "Z2_angle=math.atan(Xc/Rmax)\n",
+      "I2_m = Vs/Z2_m\n",
+      "I2_m = math.floor(I2_m*10**6)/10**6\n",
+      "I2_angle = Z2_angle\n",
+      "V2c_m = I2_m*Xc\n",
+      "V2c_m = math.ceil(V2c_m*100)/100\n",
+      "V2c_angle = I2_angle*(180/math.pi)-90\n",
+      "alfa2 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*V2c_m))+(-V2c_angle)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Xc = %.2f ohms\"%Xc)\n",
+      "print(\"\\n(a) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmin,Z1_m,-Z1_angle*(180/math.pi)))\n",
+      "print(\" I(magnitude) = %.5f\\t\\tI(angle) = %.2f\u00b0\"%(I1_m,I1_angle*(180/math.pi)))\n",
+      "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(Vc_m,Vc_angle))\n",
+      "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa1)\n",
+      "\n",
+      "print(\"\\n(b) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmax,Z2_m,-Z2_angle*(180/math.pi)))\n",
+      "print(\" I(magnitude) = %f\\t\\tI(angle) = %.2f\u00b0\"%(I2_m,I2_angle*(180/math.pi)))\n",
+      "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(V2c_m,V2c_angle))\n",
+      "print(\"\\nMaximum firing angle = %.2f\u00b0\"%(math.ceil(alfa2*10)/10))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Xc = 5305.15 ohms\n",
+        "\n",
+        "(a) When R = 2000 ohms\n",
+        " Z(magnitude) = 5669.62\t\tZ(angle) = -69.34\u00b0\n",
+        " I(magnitude) = 0.04057\t\tI(angle) = 69.34\u00b0\n",
+        "\n",
+        "Voltage across capacitor,\n",
+        "V(magnitude) = 215.23\t\tV(angle) = -20.66\u00b0\n",
+        "\n",
+        "Minimum firing angle = 25.37\u00b0\n",
+        "\n",
+        "(b) When R = 20000 ohms\n",
+        " Z(magnitude) = 20691.60\t\tZ(angle) = -14.86\u00b0\n",
+        " I(magnitude) = 0.011115\t\tI(angle) = 14.86\u00b0\n",
+        "\n",
+        "Voltage across capacitor,\n",
+        "V(magnitude) = 58.97\t\tV(angle) = -75.14\u00b0\n",
+        "\n",
+        "Maximum firing angle = 92.60\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 88
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.28, Page no. 80"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# UJT relaxation circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 32.0                 #voltage\n",
+      "h = 0.63                 # voltage gain\n",
+      "Ip = 10*10**-6           # current \n",
+      "Vv = 3.5                 # voltage drop\n",
+      "Iv = 10*10**-3           # current through the circuit\n",
+      "Vf = 0.5                 # forward voltage drop across p-n junction\n",
+      "f = 50.0                 # frequency of ascillation \n",
+      "t = 50.0*10**-6          # width of triggering pulse(given value is 50ms but used value is 50 micro-sec) \n",
+      "C = 0.4*10**-6           # Capacitance(assumed)\n",
+      "\n",
+      "#Calculations\n",
+      "T = 1/f\n",
+      "Vp = V*h+Vf\n",
+      "Rmax = (V-Vp)/Ip         # R should be less than the given value\n",
+      "Rmin = (V-Vv)/Iv         # R should be more than the given value\n",
+      "R = T/(C*math.log(1/(1-h)))\n",
+      "R4 = t/C\n",
+      "R3 = 10**4/(h*V)\n",
+      "\n",
+      "#Result\n",
+      "print(\"The value of R = %.2f*10^3 ohm is within the Rmax = %.3f*10^6 ohm and Rmin = %.2f*10^3 ohm\"%(R*10**-3,Rmax*10**-6,Rmin*10**-3))\n",
+      "print(\"Hence the value is suitable.\\n\\nR4 = %d ohm \\nR3 = %d ohm\"%(R4,R3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of R = 50.29*10^3 ohm is within the Rmax = 1.134*10^6 ohm and Rmin = 2.85*10^3 ohm\n",
+        "Hence the value is suitable.\n",
+        "\n",
+        "R4 = 125 ohm \n",
+        "R3 = 496 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 101
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.29, Page No. 81"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#values of various components of circuit(referring to fig.2.36(a))\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "f = 2.0*10**3               # ouutput frequency\n",
+      "Vdc = 10                    # input voltage\n",
+      "h = 0.6                     # voltage gain\n",
+      "I = 0.005                   # peak discharge current\n",
+      "v = 0.5                     # voltage drop across p-n junction(assumed)\n",
+      "\n",
+      "#Calculation\n",
+      "Vp = (Vdc*h)+v\n",
+      "R = (Vdc-Vp)/I              # R should be less than this value\n",
+      "T = 1.0/f\n",
+      "C1 = 0.5*10**-6             # capacitance(assumed)\n",
+      "R1 = (T)/(C1*math.log(1/(1-h)))\n",
+      "\n",
+      "C2 = 1.0*10**-6             # capacitance(assumed)\n",
+      "R2 = (T)/(C2*math.log(1/(1-h)))\n",
+      "\n",
+      "#Result\n",
+      "print(\"for C = %.1f micro-F, R = %d Ohm. \\nThis value of R is not suitable because R must be less than %d ohm.\"%(C1*10**6,R1,R))\n",
+      "print(\"\\nfor C = %.1f micro-F, R = %.1f Ohm.\\nThis value is suitable because R is less than %d ohm\"%(C2*10**6,R2,R))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for C = 0.5 micro-F, R = 1091 Ohm. \n",
+        "This value of R is not suitable because R must be less than 700 ohm.\n",
+        "\n",
+        "for C = 1.0 micro-F, R = 545.7 Ohm.\n",
+        "This value is suitable because R is less than 700 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 112
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.30, Page No. 82"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Range of firing angle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vs = 230.0             # supply voltage\n",
+      "Rmin= 1000.0           # minimum value of R1 resistor\n",
+      "Rmax = 22*10**3        # maximum value of R1 resistor\n",
+      "Vg = 2.0               # gate triggering voltage\n",
+      "C = 0.47*10**-6        # capacitor value\n",
+      "f = 50.0               # frequency\n",
+      "#Calculations\n",
+      "# For Rmin\n",
+      "theta = (180/math.pi)*math.atan(2*math.pi*f*C*Rmin)\n",
+      "theta = math.ceil(theta*10)/10\n",
+      "Vc = Vs*math.cos(theta*math.pi/180)\n",
+      "Vc = math.floor(Vc*100)/100\n",
+      "alfa = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc)))+theta\n",
+      "alfa = math.floor(alfa*10)/10\n",
+      "\n",
+      "# for Rmax\n",
+      "theta2 = (180/math.pi)*math.atan(2*math.pi*f*C*Rmax)\n",
+      "theta2 = math.ceil(theta2*10)/10\n",
+      "Vc2 = Vs*math.cos(theta2*math.pi/180)\n",
+      "Vc2 = math.floor(Vc2*100)/100\n",
+      "alfa2 = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc2)))+theta2\n",
+      "alfa2 = math.ceil(alfa2*10)/10\n",
+      "\n",
+      "#Result\n",
+      "print(\"Minimum firing angle = %.1f\u00b0\"%alfa)\n",
+      "print(\"Maximum firing angle = %.1f\u00b0\"%alfa2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum firing angle = 8.7\u00b0\n",
+        "Maximum firing angle = 74.1\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 137
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.31, Page No. 83"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# UJT relaxation oscillator design(reffering to fig.2.40)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "f = 50.0                   # frequency of supply\n",
+      "Vbb = 12.0                 # typical input vpltage\n",
+      "P = 300*10**3              # maximumm average power dissipation\n",
+      "Rbb = 5.6*10**3            # base resistor\n",
+      "Iv = 4*10**-3              # Valley point voltage\n",
+      "h = 0.63                   # intrinsic stand off ratio\n",
+      "Vd = 0.5                   # drop across p-n junction\n",
+      "Vv = 2.0                   # Valley point voltage\n",
+      "Ip = 5*10**-6              # peak point current\n",
+      "v = 0.18                   # minimum voltage for which SCR will not trigger\n",
+      "\n",
+      "#calculation\n",
+      "T = 1/f\n",
+      "#operating point should be on the left of valley point\n",
+      "R_1 = (Vbb-Vv)/Iv             # R should be greater than this value\n",
+      "Vp = (h*Vbb)+Vd\n",
+      "#operation point should lie in the negative resistance region of characteristics of UJT\n",
+      "R_2 = (Vbb-Vp)/Ip              # R should be less than this value\n",
+      "C = 0.02*10**-6               # assumed\n",
+      "R_3 = T/(C*math.log(1/(1-h)))\n",
+      "\n",
+      "C2 = 0.04*10**-6               # assumed\n",
+      "R_4 = T/(C2*math.log(1/(1-h)))\n",
+      "R = 500*10**3                  # assumed\n",
+      "Rmax = R+R_1\n",
+      "R3_1 = (10**4)/(h*Vbb)\n",
+      "R3 = 1200                      # assumed\n",
+      "R4_1 = v*(R3+Rbb)/(Vbb-v)      # R4 value should be less than this value\n",
+      "R4 = 100                       # assumed  \n",
+      "tw = R4*C2\n",
+      "tow_min = R_1*C2*math.log(1/(1-h))\n",
+      "alfa_min = tow_min*(360/T)\n",
+      "tow_max = Rmax*C2*math.log(1/(1-h))\n",
+      "alfa_max = tow_max*(360/T)\n",
+      "\n",
+      "#Result\n",
+      "print(\"For C = %.2f micro F, R = %.2f k-ohm\\nThis value of R is more than maximum of %d k-ohm.\"%(C*10**6,R_3/1000,R_2/1000) )\n",
+      "print(\"Hence not suitable.\")\n",
+      "print(\"\\nFor C = %.2f micro F, R = %.2f K-ohm.\"%(C2*10**6,R_4/1000))\n",
+      "print(\"As this is less than max value. It is suitable. \\nLets assume R = %d k-ohm\"%(R/1000))\n",
+      "print(\"Rmax = %.1f k-ohm\"%(Rmax/1000))\n",
+      "print(\"\\nR3 = %.2f k-ohm. so take nearest value R3 = %.1f k-ohm\"%(R3_1/1000,R3/1000.0))\n",
+      "print(\"\\nR4 = %.2f ohm. so take nearest value R4 = %.1f ohm\"%(R4_1,R4))\n",
+      "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa_min)\n",
+      "print(\"Maximum firing angle = %.1f\u00b0\"%alfa_max)\n",
+      "print(\"\\nThough maximum firing angle available is %.1f\u00b0, it will not be needed\"%alfa_max)\n",
+      "print(\"because in a single phase full wave converter the maximum firing angle is 180\u00b0\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For C = 0.02 micro F, R = 1005.78 k-ohm\n",
+        "This value of R is more than maximum of 788 k-ohm.\n",
+        "Hence not suitable.\n",
+        "\n",
+        "For C = 0.04 micro F, R = 502.89 K-ohm.\n",
+        "As this is less than max value. It is suitable. \n",
+        "Lets assume R = 500 k-ohm\n",
+        "Rmax = 502.5 k-ohm\n",
+        "\n",
+        "R3 = 1.32 k-ohm. so take nearest value R3 = 1.2 k-ohm\n",
+        "\n",
+        "R4 = 103.55 ohm. so take nearest value R4 = 100.0 ohm\n",
+        "\n",
+        "Minimum firing angle = 1.79\u00b0\n",
+        "Maximum firing angle = 359.7\u00b0\n",
+        "\n",
+        "Though maximum firing angle available is 359.7\u00b0, it will not be needed\n",
+        "because in a single phase full wave converter the maximum firing angle is 180\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 166
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.32, Page No.92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# conduction time of thyristor\n",
+      "\n",
+      "import math\n",
+      "#variable declaratrion\n",
+      "R =0.8                   # load resistance\n",
+      "L = 10*10**-6            # inductance\n",
+      "C = 50*10**-6            # capacitance\n",
+      "\n",
+      "#calculations\n",
+      "R1 = math.sqrt(4*L/C)      # R should be less than this value\n",
+      "t = math.pi/(math.sqrt((1/(L*C))-((R**2)/(4*L**2))))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Value of sqrt(4L/C)  is %.4f and give R = %.1f\\nTherefore, the circuit is underdamped.\"%(R1,R))\n",
+      "print(\"\\nt0 = %.2f*10**-6 seconds\"%(t*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of sqrt(4L/C)  is 0.8944 and give R = 0.8\n",
+        "Therefore, the circuit is underdamped.\n",
+        "\n",
+        "t0 = 157.08*10**-6 seconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 169
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.33, Page No. 92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Values of L and C\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "I = 8.0                  # load current\n",
+      "V = 90.0                 # Supply voltage\n",
+      "t = 40.0*10**-6          # turn off time\n",
+      "\n",
+      "#calculation\n",
+      "#print(\"Assume peak value of capacitor current to be twice the load cuuren.\")\n",
+      "C_by_L = (2*I/V)**2         # using eq 2.33\n",
+      "#print(\"Assume that thyristor is reverse biased for one-fourth period of resonant circuit.\")\n",
+      "CL = (t*2/math.pi)**2\n",
+      "# (2*I/V)^2*L^2 =(t*2/math.pi)^2\n",
+      "\n",
+      "L = math.sqrt(CL/C_by_L)\n",
+      "C =C_by_L*L\n",
+      "\n",
+      "print(\"L = %.2f*10**-6 H\\nC = %.3f*10**-6 F\"%(L*10**6,C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 143.24*10**-6 H\n",
+        "C = 4.527*10**-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 173
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.34, Page No. 92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Value of C for commutation\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 10                    # load resistace\n",
+      "V = 100                   # supply voltage \n",
+      "t = 50 * 10**-6           # turn off time\n",
+      "\n",
+      "#Calculations\n",
+      "C = t/(R*math.log(2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 7.21*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 176
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.35, Page No. 93"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# L and C of commutation circuit\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 100                    # supply voltage\n",
+      "I = 40                     # maximumm load current\n",
+      "T = 40*10**-6              # turn off time\n",
+      "t = 1.5                    # extra 50% tolerance\n",
+      "\n",
+      "#Calculation\n",
+      "T = T*t\n",
+      "C = I*T/V\n",
+      "L = (V**2)*C/(I**2)\n",
+      "Ip = V*math.sqrt(C/L)\n",
+      "L2 = 2* 10**-4             # assume\n",
+      "Ip2 = V*math.sqrt(C/L2)\n",
+      "print(\"C = %.0f*10^-6 F\\nL = %.1f*10^-4 H\\nPeak capacitor current = %d A\"%(C*10**6,L*10**4,Ip))\n",
+      "print(\"\\nPeak capacitor current should be less than maximum load currentof %d A. If L is selected as %d *10^-4 H,\"%(I,L2*10**4))\n",
+      "print(\"the peak capacitor current will be %.1f A. Since this is less than %d A, this value of L is satisfactory.\"%(Ip2,I))\n",
+      "print(\"\\nHence,\\nC = %.0f*10^-6 F\\nL = %.1f*10^-4 H\"%(C*10**6,L2*10**4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 24*10^-6 F\n",
+        "L = 1.5*10^-4 H\n",
+        "Peak capacitor current = 40 A\n",
+        "\n",
+        "Peak capacitor current should be less than maximum load currentof 40 A. If L is selected as 2 *10^-4 H,\n",
+        "the peak capacitor current will be 34.6 A. Since this is less than 40 A, this value of L is satisfactory.\n",
+        "\n",
+        "Hence,\n",
+        "C = 24*10^-6 F\n",
+        "L = 2.0*10^-4 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 187
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.36, Page No. 93"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# current rating of the thyristor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vdc = 100.0               # input voltage\n",
+      "L = 0.1 *10**-3           # Inductance\n",
+      "C = 10*10**-6             # capacitance\n",
+      "Vc = 100.0                # iinitial voltage on capacitor\n",
+      "t = 25.0*10**-6           # thyristor turn offf time\n",
+      "I = 10.0                  # Thyristor load current\n",
+      "\n",
+      "#Calculations\n",
+      "t_off = Vc*C/I\n",
+      "Ic = Vdc*math.sqrt(C/L)\n",
+      "\n",
+      "# Result\n",
+      "print(\"t_off = %d *10^-6 S\\nt_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\"%(t_off*10**6))\n",
+      "print(\"\\nPeak capacitor current = %.2fA \"%Ic)\n",
+      "print(\"Maximum current rating of thyristor should be more than %.2fA\"%Ic)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "t_off = 100 *10^-6 S\n",
+        "t_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\n",
+        "\n",
+        "Peak capacitor current = 31.62A \n",
+        "Maximum current rating of thyristor should be more than 31.62A\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.37, Page No. 97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# value of R and C for snubber circuit\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "dv_by_dt = 25*10**6                 # Thyristor's dv/dt rating\n",
+      "L = 0.2 *10**-3                     # source inductance\n",
+      "V = 230                             # Supply voltage\n",
+      "df = 0.65                           # damping factor\n",
+      "\n",
+      "#Calculation\n",
+      "Vm = V*math.sqrt(2) \n",
+      "C = (1/(2*L))*(0.564*Vm/dv_by_dt)**2\n",
+      "R = 2*df*math.sqrt(L/C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f*10^-9 F\\n\\nR = %.1f ohm\"%(C*10**9,R))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 134.62*10^-9 F\n",
+        "\n",
+        "R = 50.1 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.38, Page No.97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# snuubber circuit parameters\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 300.0                      # input voltage\n",
+      "Rl = 10.0                      # load resistance\n",
+      "f = 2000.0                     # operating frequency otf the circuit\n",
+      "dv_by_dt = 100.0*10**6         # required dv/dt  rating of the circuit\n",
+      "I = 100.0                      # discharge current\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "R = V/I\n",
+      "C = (1-(1/math.e))*Rl*V/(dv_by_dt*((R+Rl)**2))\n",
+      "C = math.floor(C*10**9)/10**9\n",
+      "#(b)\n",
+      "P = (C*V**2*f)/2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nR = %f ohm\\nC = %.3f*10^-6 F\"%(R,C*10**6))\n",
+      "print(\"\\n(b)\\nSnubber power loss = %.2f W\"%P)\n",
+      "print(\"\\nAll the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is %.2f W.\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "R = 3.000000 ohm\n",
+        "C = 0.112*10^-6 F\n",
+        "\n",
+        "(b)\n",
+        "Snubber power loss = 10.08 W\n",
+        "\n",
+        "All the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is 10.08 W.\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.39, Page No.98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# maximum permissiible values of dv/dt and di/dt\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 4.0              # resistance\n",
+      "L = 6.0*10**-6       # inductance\n",
+      "C = 6.0*10**-6       # capacitance\n",
+      "V = 300.0            # Supply voltage\n",
+      "\n",
+      "#calculations\n",
+      "di_dt = V/L\n",
+      "Isc = V/R\n",
+      "dv_dt =(R* di_dt)+(Isc/C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Maximum di/dt = %.0f*10^6 A/s\\n\\nmaximum permissible dv/dt = %.1f*10^6 V/s\"%(di_dt*10**-6,dv_dt*10**-6))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum di/dt = 50*10^6 A/s\n",
+        "\n",
+        "maximum permissible dv/dt = 212.5*10^6 V/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.40, Page No.98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# snubber circuit designe\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "\n",
+      "Rl = 8.0                 # load resistance\n",
+      "V = 230.0                # supply voltage\n",
+      "I = 200.0                # repititive peak current \n",
+      "di_dt = 40.0*10**6       # max. di/di rating\n",
+      "dv_dt = 150.0*10**6      # max. dv/dv rating\n",
+      "sf = 2.0                 # safety factor for thyristor\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "I1 = I/2.0\n",
+      "di_dt2 = di_dt/2.0\n",
+      "dv_dt2 = dv_dt/2\n",
+      "Vp = V*math.sqrt(2)\n",
+      "#Vp = math.floor((Vp*10)/10)\n",
+      "L2 = Vp/di_dt2\n",
+      "L2 = math.floor(L2*10**8)/10**8\n",
+      "R2 = L2*dv_dt2/Vp\n",
+      "Ip = Vp/Rl\n",
+      "Ic = (math.floor(Vp*10)/10)/R2\n",
+      "It = math.floor(Ip*100)/100+Ic\n",
+      "Ic_max = I1 - Ip\n",
+      "Ic_max = math.ceil(Ic_max*100)/100\n",
+      "R = Vp /Ic_max\n",
+      "R = math.ceil(R)\n",
+      "h = 0.65                  #assumed       \n",
+      "C = 4*(h**2)*L2/R**2\n",
+      "dv_dt3 = Vp/((R+Rl)*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"when safety factor is 2 ,maximum permisible ratings are:\")\n",
+      "print(\"max. di/dt = %.0f*10^6 A/s\\nmax. dv/dt = %.0f*10^6 V/s\"%(di_dt2*10**-6,dv_dt2*10**-6))\n",
+      "print(\"\\nPeak value of input voltage = %.1f V\"%(math.floor(Vp*10)/10))\n",
+      "print(\"L = %.2f*10^-6 H \\nR = %.2f ohm\"%(L2*10**6,R2))\n",
+      "print(\"Peak load current = %.2fA\\nPeak capacitor discharge current = %.2f A\"%(math.floor(Ip*100)/100,Ic))\n",
+      "print(\"Total current through capacitor = %.2f\"%It)\n",
+      "print(\"\\nSince total current through capacitor is more than permissible vale. Hence max capacitor discharge current = %.2fA\"%Ic_max)\n",
+      "print(\"R = %.0f ohm\\nC = %.4f*10^-6F\"%(R,C*10**6))\n",
+      "print(\"dv/dt = %.2f*10^6 V/s\\nSince this value is within specified limit the design is safe. \"%(math.floor(dv_dt3*10**-4)/100))\n",
+      "print(\"Hence, R = %d ohm, C = %.4f micro-F and L = %.2f micro-H\"%(R,C*10**6,L2*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when safety factor is 2 ,maximum permisible ratings are:\n",
+        "max. di/dt = 20*10^6 A/s\n",
+        "max. dv/dt = 75*10^6 V/s\n",
+        "\n",
+        "Peak value of input voltage = 325.2 V\n",
+        "L = 16.26*10^-6 H \n",
+        "R = 3.75 ohm\n",
+        "Peak load current = 40.65A\n",
+        "Peak capacitor discharge current = 86.74 A\n",
+        "Total current through capacitor = 127.39\n",
+        "\n",
+        "Since total current through capacitor is more than permissible vale. Hence max capacitor discharge current = 59.35A\n",
+        "R = 6 ohm\n",
+        "C = 0.7633*10^-6F\n",
+        "dv/dt = 30.43*10^6 V/s\n",
+        "Since this value is within specified limit the design is safe. \n",
+        "Hence, R = 6 ohm, C = 0.7633 micro-F and L = 16.26 micro-H\n"
+       ]
+      }
+     ],
+     "prompt_number": 83
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.41, Page No. 100"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Fault clearing time(referring to fig.2.59)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "I2t = 30                # I2t rating of thyristor\n",
+      "V = 230                 # supply voltage\n",
+      "#For resistor values refer to fig 2.59\n",
+      "R1 = 2.0\n",
+      "R2 = 1.0\n",
+      "R3 = 5.0\n",
+      "R4 = 6.0\n",
+      "R5 = 5.0 \n",
+      "#calculation\n",
+      "Rnet = R1+(R3*R2)/R4\n",
+      "If = math.sqrt(2)*V/Rnet\n",
+      "tc = I2t/(If**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"tc = %.3f*10^-3 seconds \"%(math.ceil(tc*1000*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "tc = 2.277*10^-3 seconds \n"
+       ]
+      }
+     ],
+     "prompt_number": 90
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.42, Page No.103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# number of thyristors in series and parallel\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 3*10**3                   # supply voltage\n",
+      "I = 750.0                     # supply current\n",
+      "V1 = 800.0                    # Thyristor voltage rating\n",
+      "I1 = 175.0                    # Thyristor current rating\n",
+      "d = 0.25                      # derating\n",
+      "\n",
+      "\n",
+      "# Calculation\n",
+      "np = I/((1-d)*I1)\n",
+      "ns = V/((1-d)*V1)\n",
+      "print(\"np = %.2f or %d\"%(np,math.ceil(np)))\n",
+      "print(\"ns = %d\"%(math.ceil(ns)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "np = 5.71 or 6\n",
+        "ns = 5\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.43, Page No. 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Value of R and C\n",
+      "\n",
+      "import math\n",
+      "#variable declaration(referring to example 2.42)\n",
+      "V = 3*10**3                   # supply voltage\n",
+      "I = 750.0                     # supply current\n",
+      "V1 = 800.0                    # Thyristor voltage rating\n",
+      "I1 = 175.0                    # Thyristor current rating\n",
+      "d = 0.25                      # derating\n",
+      "Ib = 8*10**-3                 # maximum forward leakage current\n",
+      "del_Q = 30*10**-6             # recovery charge difference\n",
+      "ns = 5                        # number of series thyristors \n",
+      "\n",
+      "#Calculations\n",
+      "R = ((ns*V1)-V)/((ns-1)*Ib)\n",
+      "C = (ns-1)*del_Q/(ns*V1-V)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.2f*10^3 ohm\\nC = %.2f*10^-6 F\"%(R/1000,C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 31.25*10^3 ohm\n",
+        "C = 0.12*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 99
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.44, Page No. 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# series resistance\n",
+      "\n",
+      "import math\n",
+      "# variabe declaration\n",
+      "I1 = 200               # thyristor1 current rating\n",
+      "I2 = 300               # thyristor2 current rating\n",
+      "V1 = 1.5               # on state voltage drop of thyristor1 \n",
+      "V2 = 1.2               # on state voltage drop of thyristor2\n",
+      "\n",
+      "#Calculations\n",
+      "R = (V1-V2)/(I2-I1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.3f ohm\"%R)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 0.003 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 100
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.45, Page No.104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Thyristor parameters\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "ns = 12                 # no of series thyristors\n",
+      "V = 16*10**3            # maximum DC voltage rating\n",
+      "Ib = 10*10**-3          # maximum leakage current of thyristor\n",
+      "del_Q = 150 *10**-6     # recovery charge differences of thyristors\n",
+      "R = 56*10**3            # resistance\n",
+      "C = 0.5 *10**-6         # Capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "Vd1 = (V+(ns-1)*R*Ib)/ns\n",
+      "ssvd = 1-(V/(ns*Vd1))\n",
+      "Vd2 = (V+((ns-1)*del_Q/C))/ns\n",
+      "tsvd = 1-(V/(ns*Vd2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Maximum steady state voltage rating = %.2f V\"%Vd1)\n",
+      "print(\"(b) Steady state voltage derating = %.3f or %.1f%%\"%(ssvd,ssvd*100))\n",
+      "print(\"(c) Maximum transient state voltage rating = %.2f V\"%Vd2)\n",
+      "print(\"(d) Transient state voltage derating = %.3f or %.1f%%\"%(tsvd,tsvd*100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Maximum steady state voltage rating = 1846.67 V\n",
+        "(b) Steady state voltage derating = 0.278 or 27.8%\n",
+        "(c) Maximum transient state voltage rating = 1608.33 V\n",
+        "(d) Transient state voltage derating = 0.171 or 17.1%\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.46, Page No.104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# No of Thyristor\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 500.0                # single thyristor voltage rating\n",
+      "I = 75.0                 # single thyristor current rating\n",
+      "Vmax = 7.5*10**3         # overall voltage rating of the circuit\n",
+      "Imax = 1.0*10**3         # overall current rating of the circuit\n",
+      "df = 0.14                # derating factor\n",
+      "\n",
+      "#Calcaulations\n",
+      "ns = Vmax/((1-df)*V)\n",
+      "np = Imax/((1-df)*I)\n",
+      "\n",
+      "#Result\n",
+      "print(\"No of thyristors in series, ns = %.2f say %d\"%(ns,math.ceil(ns)))\n",
+      "print(\"No of thyristors in parallel, np = %.2f say %d\"%(np,math.ceil(np)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "No of thyristors in series, ns = 17.44 say 18\n",
+        "No of thyristors in parallel, np = 15.50 say 16\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.47, Page No. 105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Turn off voltage and discharge current through SCR\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vmax = 8.0*10**3             # max voltage rating of the circuit\n",
+      "R = 20.0*10**3               # static equalising resistance \n",
+      "Rc = 25.0                    # Resistace of dynamic equalising circuit\n",
+      "C = 0.1*10**-6               # Capacitance of dynamic equalising circuit\n",
+      "Ib1 = 22.0*10**-3            # leakage current of thyristor1\n",
+      "Ib2 = 20.0*10**-3            # leakage current of thyristor2\n",
+      "Ib3 = 18.0*10**-3            # leakage current of thyristor3\n",
+      "\n",
+      "\n",
+      "#Calculations \n",
+      "#(a)\n",
+      "I = ((Vmax/R)+(Ib1+Ib2+Ib3))/3\n",
+      "V1 = (I-Ib1)*R\n",
+      "V2 = (I-Ib2)*R\n",
+      "V3 = (I-Ib3)*R\n",
+      "#(b)\n",
+      "I1 = V1/Rc\n",
+      "I2 = V2/Rc\n",
+      "I3 = V3/Rc\n",
+      "\n",
+      "#Result\n",
+      "print(\"Voltage across SCR 1 = %.1fV\"%(math.floor(V1*10)/10))\n",
+      "print(\"Voltage across SCR 2 = %.1fV\"%(math.floor(V2*10)/10))\n",
+      "print(\"Voltage across SCR 3 = %.1fV\"%(math.floor(V3*10)/10))\n",
+      "print(\"Discharge current through SCR 1 = %.2fA\"%(math.floor(I1*100)/100))\n",
+      "print(\"Discharge current through SCR 2 = %.2fA\"%(math.floor(I2*100)/100))\n",
+      "print(\"Discharge current through SCR 3 = %.2fA\"%(math.floor(I3*100)/100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Voltage across SCR 1 = 2626.6V\n",
+        "Voltage across SCR 2 = 2666.6V\n",
+        "Voltage across SCR 3 = 2706.6V\n",
+        "Discharge current through SCR 1 = 105.06A\n",
+        "Discharge current through SCR 2 = 106.66A\n",
+        "Discharge current through SCR 3 = 108.26A\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_2_2.ipynb b/Power_Electronics/Power_electronics_ch_2_2.ipynb
new file mode 100755
index 00000000..6e52e316
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_2_2.ipynb
@@ -0,0 +1,2357 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2: Thyristors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.1, Page No.39 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Anode current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "alfa_1 = 0.35         # Gain of PNP transistor of two transistor model\n",
+      "alfa_2 = 0.40         # Gain of NPN transistor of two transistor model\n",
+      "Ig = 40*10**-3        # Gate current\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Ia = (alfa_2*Ig)/(1-(alfa_1+alfa_2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Anode current = %d * 10^-3 A\"%(Ia*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Anode current = 64 * 10^-3 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.2, Page No.41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Equivalent capacitor\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "dv_by_dt = 190                # in Volt per micro-sec\n",
+      "Ic= 8 *10**-3                 # Capacitive current\n",
+      "\n",
+      "#Calculation\n",
+      "C = Ic/(dv_by_dt*10**6)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.1f * 10^12 F\"%(C*10**12))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 42.1 * 10^12 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.3, Page No. 42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Thyristor\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vt = 0.75               # Thyristor trigger voltage\n",
+      "It = 7*10**-3           # Thyristor trigger current\n",
+      "Vcc = 20                # Suppy voltage, given data\n",
+      "Rg = 2000               # gate resistor, given data\n",
+      "R = 200                 # input resistor\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "V0 = 20                 # when thyristor is not conducting, there is no current through it.\n",
+      "#(b)\n",
+      "Vs = Vt+It*Rg\n",
+      "#(c)\n",
+      "i= 5*10**-3              #to have holding curernt\n",
+      "v1= i*R\n",
+      "#(d)\n",
+      "drop =0.7                # voltage drop across thyristor\n",
+      "v2=v1+drop\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) V0 = %d\\n(b) Vs = %.2f\\n(c) Vcc should be reduced to less than %d V if thyristor is ideal.\\n(d) Vcc should be reduced to less than %.1f V\"%(V0,Vs,v1,v2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) V0 = 20\n",
+        "(b) Vs = 14.75\n",
+        "(c) Vcc should be reduced to less than 1 V if thyristor is ideal.\n",
+        "(d) Vcc should be reduced to less than 1.7 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.4, Page No.42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# calculation of Vg,Ig and Rg\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vs = 25                      # gate signal amplitude\n",
+      "Pavg_loss = 0.6              # Avg power loss\n",
+      "\n",
+      "#Calculations\n",
+      "P_loss = Pavg_loss*2*math.pi/math.pi\n",
+      "Ig =(-1+(math.sqrt(1**2-4*9*(-1.2))))/(2*9) #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+      "Ig = math.ceil(Ig*1000)/1000\n",
+      "Vg = 1+9*Ig                                 #given data\n",
+      "Rg = (24-9*Ig)/Ig\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"Vg = %.3f \\nIg = %.3f\\nRg = %.2f\"%(Vg,Ig,Rg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vg = 3.826 \n",
+        "Ig = 0.314\n",
+        "Rg = 67.43\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.5, Page No.42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Minimum width of gate pulse\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100                   # DC supply voltage\n",
+      "L = 10                    # Inductance\n",
+      "i = 80*10**-3             # latching current of thyristor\n",
+      "\n",
+      "#Calculations\n",
+      "t = L*i/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Width of pulse should be more than %d milli-second.\"%(t*10**3))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Width of pulse should be more than 8 milli-second.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.6, Page No. 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Minimum width of gate pulse\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100                   # DC supply voltage\n",
+      "R = 10                    # Resistance\n",
+      "L = 5                     # Inductance\n",
+      "i = 50*10**-3             # latching current of thyristor\n",
+      "\n",
+      "#Calculation\n",
+      "t = math.log((1-(i*R)/V))/((-R/L)*math.log(math.e))        # i = (V/R)*(1-e^(-R*t/L))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Minimum width of gate pulse is %.1f milli-second.\"%(t*10**3))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum width of gate pulse is 2.5 milli-second.\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.7, Page No. 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# resistor value\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 90.0                # DC supply voltage\n",
+      "i = 40*10**-3           # latching current of thyristor\n",
+      "t = 40* 10**-6          # pulse width\n",
+      "R = 25.0                # load Resistance\n",
+      "L = 0.5                 # Inductance\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+      "\n",
+      "#(b)\n",
+      "R = V/(i-i2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nAt the end of the gate pulse, i = %.4f A\"%i2)\n",
+      "print(\"Since the current is less than latching current, thyristor will not turn on.\")\n",
+      "print(\"\\n(b)\\nR should be less than %d ohm.\"%math.ceil(R))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "At the end of the gate pulse, i = 0.0072 A\n",
+        "Since the current is less than latching current, thyristor will not turn on.\n",
+        "\n",
+        "(b)\n",
+        "R should be less than 2744 ohm.\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.8, Page No.44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Resistor value\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100.0                # DC supply voltage\n",
+      "i = 50*10**-3            # holding current of thyristor\n",
+      "t = 50* 10**-6           # pulse width\n",
+      "R = 20.0                 # load Resistance\n",
+      "L = 0.5                  # Inductance\n",
+      "\n",
+      "#Calculations\n",
+      "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+      "Rmax = V/(i-i2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"When firing pulse ends, i = %.2f mA\"%(i2*10**3))\n",
+      "print(\"Since this current is less than holding current, the thyristor will not remain on and return to off state.\")\n",
+      "print(\"Maximum value of R = %.3f ohm\"%(math.floor(Rmax*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When firing pulse ends, i = 9.99 mA\n",
+        "Since this current is less than holding current, the thyristor will not remain on and return to off state.\n",
+        "Maximum value of R = 2499.375 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.9, Page No.44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# triggering angle \n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 240                  # AC supply voltage\n",
+      "f = 50                   # supply frequency\n",
+      "R = 5                    # load resistance\n",
+      "L = 0.05                 # inductance\n",
+      "\n",
+      "#Calculation\n",
+      "theta = math.atan(2*math.pi*f*L/R)\n",
+      "theta = theta*180/math.pi\n",
+      "fi = theta+90\n",
+      "print(\"theta = %.2f\u00b0\"%(theta))\n",
+      "print(\"\\nCurrent transient is maximun(worst) if\\nsin(fi-theta) = 1\")\n",
+      "print(\"therefore, fi-%.2f\u00b0 = 90\u00b0\"%theta)\n",
+      "print(\"fi = %.2f\u00b0\"%fi)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "theta = 72.34\u00b0)\n",
+        "\n",
+        "Current transient is maximun(worst) if\n",
+        "sin(fi-theta) = 1\n",
+        "therefore, fi-72.34\u00b0 = 90\u00b0\n",
+        "fi = 162.34\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.10, Page No.47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example \")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example \n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.11, Page No.50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example \")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example \n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.12, Page No. 53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# rms current and form factor\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "I = 120                 # Current in Ampere\n",
+      "gamma = 180.0           # in degrees, thyristor conducts between alfa and alfa+gamma in each 360\u00b0 \n",
+      "\n",
+      "# calculations\n",
+      "#(a)-- formulas\n",
+      "#(b)\n",
+      "Irms = I*math.sqrt(gamma/360)\n",
+      "Iavg = I*(gamma/360)\n",
+      "ff = Irms/Iavg\n",
+      "\n",
+      "#result\n",
+      "print(\"RMS curent = %.2f A\\nAverage Current = %.0f A\\nForm factor = %.3f\"%(Irms,Iavg,ff))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS curent = 84.85 A\n",
+        "Average Current = 60 A\n",
+        "Form factor = 1.414\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.13, Page No.53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Power supplied to the load and average load current\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "# variable declaration\n",
+      "R = 100.0                       # load resistance\n",
+      "V = 230.0                       # Supply Voltage\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "def f(x):\n",
+      "    return math.sin(x)**2\n",
+      "wt_lower=math.pi/3\n",
+      "wt_upper =math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "I = ((math.sqrt(2)*V/R)**2)*val[0]/(2*math.pi)\n",
+      "Irms = math.sqrt(I)\n",
+      "P =(Irms**2)*R\n",
+      "\n",
+      "#(b)\n",
+      "def f(x):\n",
+      "    return math.sin(x)**2\n",
+      "wt_lower2=math.pi/4\n",
+      "wt_upper2 =math.pi\n",
+      "val2 = quad(f,wt_lower2,wt_upper2)\n",
+      "x = (math.sqrt(2)*V/R)\n",
+      "x = math.floor(x*100)/100\n",
+      "I2 = (x**2)*val2[0]/(2*math.pi)\n",
+      "Irms2 = math.sqrt(I2)\n",
+      "P2 =(Irms2**2)*R\n",
+      "\n",
+      "#(c)\n",
+      "def f(x):\n",
+      "    return (3.25/(2*math.pi))*math.sin(x)\n",
+      "wt_lower3=math.pi/3\n",
+      "wt_upper3 =math.pi\n",
+      "val3 = quad(f,wt_lower3,wt_upper3)\n",
+      "wt_lower4=math.pi/4\n",
+      "wt_upper4 =math.pi\n",
+      "val4 = quad(f,wt_lower4,wt_upper4)\n",
+      "\n",
+      "\n",
+      "print(\"(a)\\nRMS current = %.2f A\\nPower supplied to load = %d W\"%(Irms,math.ceil(P)))\n",
+      "print(\"\\n\\n(b)\\nRMS current = %f A\\nPower supplied to load = %f W\"%(Irms2,P2))\n",
+      "print(\"\\n(c)\\nWhen firing angle is 60\u00b0, Average current = %.3f A\" %val3[0])\n",
+      "print(\"When firing angle is 45\u00b0, Average current = %.3f A\" %val4[0])\n",
+      "# for (b) answer matches to the book if val2[0] = 1.4255"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "RMS current = 1.46 A\n",
+        "Power supplied to load = 213 W\n",
+        "\n",
+        "\n",
+        "(b)\n",
+        "RMS current = 1.549431 A\n",
+        "Power supplied to load = 240.073727 W\n",
+        "\n",
+        "(c)\n",
+        "When firing angle is 60\u00b0, Average current = 0.776 A\n",
+        "When firing angle is 45\u00b0, Average current = 0.883 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 81
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.14, Page No.54"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# average power loss in thyristor\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Iavg = 200                  # Average current\n",
+      "v1 = 1.8                    # voltage drop across thyristor for 200A current\n",
+      "v2 = 1.9                    # voltage drop across thyristor for 400A current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "A1 = Iavg                   # amplitude of rectangular current wave\n",
+      "P1 = A1*v1\n",
+      "#(b)\n",
+      "A2 = 2*Iavg\n",
+      "P2 = A2*v2*math.pi/(2*math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average power loss = %d W\"%P1)\n",
+      "print(\"(b) Average power loss = %d W\"%P2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average power loss = 360 W\n",
+        "(b) Average power loss = 380 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 83
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.15, Page No.55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# average on state current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "I = 40                # rms on state current\n",
+      "f = 50                # frequency\n",
+      "cp_a =170             # conduction period\n",
+      "cp_b =100             # conduction period\n",
+      "cp_c =40              # conduction period\n",
+      "\n",
+      "#Calculations\n",
+      "alfa_a = 180-cp_a\n",
+      "alfa_b = 180-cp_b\n",
+      "alfa_c = 180-cp_c\n",
+      "Im_a = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_a*math.pi/180)/2)+math.sin(2*alfa_a*math.pi/180)/4))\n",
+      "Iv_a = 0.316*Im_a\n",
+      "Im_b = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_b*math.pi/180)/2)+math.sin(2*alfa_b*math.pi/180)/4))\n",
+      "Iv_b = 0.1868*Im_b\n",
+      "Im_c = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_c*math.pi/180)/2)+math.sin(2*alfa_c*math.pi/180)/4))\n",
+      "Iv_c = 0.0372*Im_c\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Iavg = %.3f A\"%(math.ceil(Iv_a*1000)/1000))\n",
+      "print(\"(b) Iavg = %.2f A\"%Iv_b)\n",
+      "print(\"(c) Iavg = %.2f A\"%(math.floor(Iv_c*100)/100))\n",
+      "#answer for(b) is not matching with the answer given in the book."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Iavg = 25.295 A\n",
+        "(b) Iavg = 19.13 A\n",
+        "(c) Iavg = 11.62 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 105
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.16, page No. 56"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# power dissiopation\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "It = 20                     # constant current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vt = 0.9+ 0.02*It\n",
+      "P1 = Vt*It\n",
+      "#(b)\n",
+      "def f(x):\n",
+      "    return (0.9+0.02*(20*math.pi*math.sin(x)))*(20*math.pi*math.sin(x))/(2*math.pi)\n",
+      "# if denominator math.pi value is taken as 3.14, then answer for P2 =37.75\n",
+      "theta_lower = 0\n",
+      "theta_upper = math.pi\n",
+      "val = quad(f,theta_lower,theta_upper)\n",
+      "P2 = val[0]\n",
+      "#(c)\n",
+      "P3 = P1/2\n",
+      "#(d)\n",
+      "P4 = P1/3\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Power dissipation = %d W\"%P1)\n",
+      "print(\"(b) Mean Power dissipation = %.2f W\"%P2)\n",
+      "print(\"(c) Mean Power dissipation = %d W\"%P3)\n",
+      "print(\"(d) Mean Power dissipation = %.2f W\"%P4)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Power dissipation = 26 W\n",
+        "(b) Mean Power dissipation = 37.74 W\n",
+        "(c) Mean Power dissipation = 13 W\n",
+        "(d) Mean Power dissipation = 8.67 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 115
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.17, Page No. 57"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# I^2t rating \n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Is = 2000.0              # half cycle surge current rating for SCR\n",
+      "f = 50.0                 # operating AC frequency\n",
+      "\n",
+      "#Calculation\n",
+      "T = 1/f\n",
+      "t_half = T/2\n",
+      "t = t_half/2\n",
+      "I = math.sqrt((Is**2)*t/t_half)\n",
+      "rating = (I**2)*t_half\n",
+      "\n",
+      "#Result\n",
+      "print(\"I^2t rating = %d A^2 secs\"%rating)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "I^2t rating = 20000 A^2 secs\n"
+       ]
+      }
+     ],
+     "prompt_number": 138
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.18, Page No. 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Resistance and average power loss\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "P = 6                #peak power loss\n",
+      "d = 0.3              # duty cylce   \n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "#solution of equation 9Ig^2+Ig-6 = 0\n",
+      "Ig =(-1+(math.sqrt(1**2-4*9*(-6))))/(2*9)    #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+      "Ig = math.ceil(Ig*1000)/1000\n",
+      "Rg = (11/Ig)-9                               #from KVL equation of gate circuit\n",
+      "#(b)\n",
+      "Pavg = P*d\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nIg = %.3f A \\nRg = %.3f ohm\"%(Ig,Rg))\n",
+      "print(\"\\n(b) Average power loss = %.1f W \"%Pavg)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Ig = 0.763 A \n",
+        "Rg = 5.417 ohm\n",
+        "\n",
+        "(b) Average power loss = 1.8 W \n"
+       ]
+      }
+     ],
+     "prompt_number": 144
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.19, Page No. 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# trigger current and voltage for gate power dissipation\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vs = 12                  # supply voltage\n",
+      "P = 0.3                  # Power dissipation\n",
+      "Rs  = 100                # load line slope i.e. source resistance\n",
+      "\n",
+      "#Calculation\n",
+      "#solution for equation 100Ig^2-12Ig+0.3 = 0\n",
+      "Ig =(-(-Vs)-(math.sqrt((-Vs)**2-4*Rs*(P))))/(2*Rs)    #alfa=(-b(+/-)sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+      "Vg = P/Ig\n",
+      "print(\"Ig = %.1f mA\\nVg = %.2f V\"%(Ig*1000,Vg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ig = 35.5 mA\n",
+        "Vg = 8.45 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 150
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.20, Page No. 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Finding values of resistors\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Es = 12.0             # Supply voltage\n",
+      "V = 800.0             # SCR voltage rating\n",
+      "I = 110.0             # SCR currert rating\n",
+      "imax = 250*10**-3     # Maximum permissible current through battery\n",
+      "isc = 600*10**-3      # short circuit current of the battery\n",
+      "Vg = 2.4              # required gate voltage\n",
+      "Ig = 50*10**-3        # required gate current\n",
+      "Vgmax = 3             # maximum gate voltage\n",
+      "Igmax = 100*10**-3    # maximum gate current\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Rs = Es/isc\n",
+      "#considering R2 is not connected\n",
+      "R1 =(Es/imax)-Rs\n",
+      "#R1 must be 28 or more so that battery curenrt doesnot exceeds 250mA\n",
+      "R1min = Es/Igmax-Rs\n",
+      "R1max = ((Es-Vg)/Ig)-Rs\n",
+      "R1 = 125  #selected \n",
+      "R2 = Vgmax*(Rs+R1)/(Es-Vgmax)\n",
+      "\n",
+      "# Result\n",
+      "print(\"Rs = %d ohm \\n\\nR1 must be more than %.0f ohm and must be less than %.0f ohm.\\nTherefore, select R1 = %.0f \"%(Rs,R1min,R1max,R1))\n",
+      "print(\"\\nR2 should be less than %.3f ohm.\\nTherefore, select R2 = %.0f ohm\"%(R2,math.floor(R2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rs = 20 ohm \n",
+        "\n",
+        "R1 must be more than 100 ohm and must be less than 172 ohm.\n",
+        "Therefore, select R1 = 125 \n",
+        "\n",
+        "R2 should be less than 48.333 ohm.\n",
+        "Therefore, select R2 = 48 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.21, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Surface temperature\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "l = 0.2                 # length of aluminium rod\n",
+      "w = 0.01                # width of aluminium rod\n",
+      "d = 0.01                # depth of aluminium rod\n",
+      "tc = 220                # thermal conductivity\n",
+      "T1 = 30                 # temperature at far end\n",
+      "P = 3                   # injected heat\n",
+      "\n",
+      "#Calculation\n",
+      "theta = l/(tc*w*d)\n",
+      "T2 = P*theta+T1\n",
+      "\n",
+      "#Result\n",
+      "print(\"Temperature of the surface where heat is injected is %.2f\u00b0C\"%T2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Temperature of the surface where heat is injected is 57.27\u00b0C\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.22, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Power losses\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "l = 2*10**-3            # lengthh of aluminium plate\n",
+      "a = 12*10**-4           # cross-section area\n",
+      "tc = 220                # thermal conductivity\n",
+      "td = 4                  # desired thermal drop along length\n",
+      "\n",
+      "#Calculations\n",
+      "theta = l/(a*tc)\n",
+      "theta = math.floor(theta*10**6)/10**6\n",
+      "P_loss = td/theta\n",
+      "\n",
+      "#Result\n",
+      "print(\"power losses = %.2f W\"%P_loss)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "power losses = 528.05 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.23, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#thermal resistance of heat sink\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "P = 30.0              # power dissipation\n",
+      "T1 =125.0             # max junction temperature\n",
+      "T2 = 50.0             # max ambient temperature\n",
+      "tr1 =1.0              # thermal resistance of thyristor\n",
+      "tr2 = 0.3             # therrmal resistance of insuulator\n",
+      "\n",
+      "#calculations\n",
+      "Tr = (T1-T2)/P\n",
+      "Tr_hs = Tr-tr1-tr2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Thermal resistance of heat sink = %.1f\u00b0C/W\"%Tr_hs)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thermal resistance of heat sink = 1.2\u00b0C/W\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.24, Page No.68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Junction temperature\n",
+      "\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "tr = 0.627              # thermal resistance of device\n",
+      "T = 93                  # heat sink temperature\n",
+      "V = 3                   # voltage at junction\n",
+      "I = 25                  # current at junction\n",
+      "\n",
+      "#calculation\n",
+      "T_junction = tr*V*I+T\n",
+      "\n",
+      "#Result\n",
+      "print(\"Junction Temperature = %d\u00b0C\"%T_junction)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Junction Temperature = 140\u00b0C\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.25, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Thermal resistance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "P = 40.0                #steady power loss in an SCR\n",
+      "Tr_hs = 0.8             # heat sink resistance\n",
+      "T1 = 120.0              # Maximumm junction temperature\n",
+      "T2 = 35.0               # ambient temperature\n",
+      "\n",
+      "#calculation\n",
+      "Tr = (T1-T2)/P\n",
+      "Rsh = Tr - Tr_hs\n",
+      "\n",
+      "#Result\n",
+      "print(\"Resistance of heat sink = %.3f\u00b0C/W\"%Rsh)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resistance of heat sink = 1.325\u00b0C/W\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.26, Page No. 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# power loss and % increase in rating\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Tj = 125                # maximum junction temperature\n",
+      "Ts1 = 80                # max heat sink temperature\n",
+      "tr_jc = 0.7             # thermal resistance from junction to case  \n",
+      "tr_cs = 0.4             # thermal resistance from case to sink\n",
+      "Ts2 = 50                # decreased heat sink temperature  \n",
+      "#calculations\n",
+      "#(a)\n",
+      "Pav1 = (Tj-Ts1)/(tr_jc+tr_cs)\n",
+      "#(b)\n",
+      "Pav2 =(Tj-Ts2)/(tr_jc+tr_cs)\n",
+      "rating = 100*(math.sqrt(Pav2)-math.sqrt(Pav1))/math.sqrt(Pav1)\n",
+      "rating = math.floor(rating*100)/100\n",
+      "# result\n",
+      "print(\"(a)\\nAverage power loss = %.2fW\"%Pav1)\n",
+      "print(\"\\n(b)\\nAverage power loss = %.2fW\\n%% increase in rating = %.2f%%\"%(Pav2,rating))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Average power loss = 40.91W\n",
+        "\n",
+        "(b)\n",
+        "Average power loss = 68.18W\n",
+        "% increase in rating = 29.09%\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.27, Page No. 75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Minnimum and maximum firing angle of triac\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vs = 230.0                 # Supply voltage\n",
+      "f = 50.0                   # supply frequency\n",
+      "Vc = 25.0                  # breakdown voltage\n",
+      "C = 0.6*10**-6             # capacitance\n",
+      "Rmin = 2000                # minimum resistance  \n",
+      "Rmax = 20000                # maximum resistance\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "pi = math.ceil(math.pi*10**4)/10**4\n",
+      "Xc = 1/(2*pi*f*C)\n",
+      "Xc = math.floor(Xc*100)/100\n",
+      "Z1_m = math.sqrt(Rmin**2+Xc**2)\n",
+      "Z1_angle=math.atan(Xc/Rmin)\n",
+      "I1_m = Vs/Z1_m\n",
+      "I1_m = math.ceil(I1_m*10**5)/10**5\n",
+      "I1_angle = Z1_angle\n",
+      "Vc_m = I1_m*Xc\n",
+      "Vc_m = math.ceil(Vc_m*100)/100\n",
+      "Vc_angle = I1_angle*(180/math.pi)-90\n",
+      "alfa1 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*Vc_m))+(-Vc_angle)\n",
+      "\n",
+      "#(b)\n",
+      "Z2_m = math.sqrt(Rmax**2+Xc**2)\n",
+      "Z2_m = math.floor(Z2_m*10)/10\n",
+      "Z2_angle=math.atan(Xc/Rmax)\n",
+      "I2_m = Vs/Z2_m\n",
+      "I2_m = math.floor(I2_m*10**6)/10**6\n",
+      "I2_angle = Z2_angle\n",
+      "V2c_m = I2_m*Xc\n",
+      "V2c_m = math.ceil(V2c_m*100)/100\n",
+      "V2c_angle = I2_angle*(180/math.pi)-90\n",
+      "alfa2 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*V2c_m))+(-V2c_angle)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Xc = %.2f ohms\"%Xc)\n",
+      "print(\"\\n(a) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmin,Z1_m,-Z1_angle*(180/math.pi)))\n",
+      "print(\" I(magnitude) = %.5f\\t\\tI(angle) = %.2f\u00b0\"%(I1_m,I1_angle*(180/math.pi)))\n",
+      "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(Vc_m,Vc_angle))\n",
+      "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa1)\n",
+      "\n",
+      "print(\"\\n(b) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmax,Z2_m,-Z2_angle*(180/math.pi)))\n",
+      "print(\" I(magnitude) = %f\\t\\tI(angle) = %.2f\u00b0\"%(I2_m,I2_angle*(180/math.pi)))\n",
+      "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(V2c_m,V2c_angle))\n",
+      "print(\"\\nMaximum firing angle = %.2f\u00b0\"%(math.ceil(alfa2*10)/10))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Xc = 5305.15 ohms\n",
+        "\n",
+        "(a) When R = 2000 ohms\n",
+        " Z(magnitude) = 5669.62\t\tZ(angle) = -69.34\u00b0\n",
+        " I(magnitude) = 0.04057\t\tI(angle) = 69.34\u00b0\n",
+        "\n",
+        "Voltage across capacitor,\n",
+        "V(magnitude) = 215.23\t\tV(angle) = -20.66\u00b0\n",
+        "\n",
+        "Minimum firing angle = 25.37\u00b0\n",
+        "\n",
+        "(b) When R = 20000 ohms\n",
+        " Z(magnitude) = 20691.60\t\tZ(angle) = -14.86\u00b0\n",
+        " I(magnitude) = 0.011115\t\tI(angle) = 14.86\u00b0\n",
+        "\n",
+        "Voltage across capacitor,\n",
+        "V(magnitude) = 58.97\t\tV(angle) = -75.14\u00b0\n",
+        "\n",
+        "Maximum firing angle = 92.60\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 88
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.28, Page no. 80"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# UJT relaxation circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 32.0                 #voltage\n",
+      "h = 0.63                 # voltage gain\n",
+      "Ip = 10*10**-6           # current \n",
+      "Vv = 3.5                 # voltage drop\n",
+      "Iv = 10*10**-3           # current through the circuit\n",
+      "Vf = 0.5                 # forward voltage drop across p-n junction\n",
+      "f = 50.0                 # frequency of ascillation \n",
+      "t = 50.0*10**-6          # width of triggering pulse(given value is 50ms but used value is 50 micro-sec) \n",
+      "C = 0.4*10**-6           # Capacitance(assumed)\n",
+      "\n",
+      "#Calculations\n",
+      "T = 1/f\n",
+      "Vp = V*h+Vf\n",
+      "Rmax = (V-Vp)/Ip         # R should be less than the given value\n",
+      "Rmin = (V-Vv)/Iv         # R should be more than the given value\n",
+      "R = T/(C*math.log(1/(1-h)))\n",
+      "R4 = t/C\n",
+      "R3 = 10**4/(h*V)\n",
+      "\n",
+      "#Result\n",
+      "print(\"The value of R = %.2f*10^3 ohm is within the Rmax = %.3f*10^6 ohm and Rmin = %.2f*10^3 ohm\"%(R*10**-3,Rmax*10**-6,Rmin*10**-3))\n",
+      "print(\"Hence the value is suitable.\\n\\nR4 = %d ohm \\nR3 = %d ohm\"%(R4,R3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of R = 50.29*10^3 ohm is within the Rmax = 1.134*10^6 ohm and Rmin = 2.85*10^3 ohm\n",
+        "Hence the value is suitable.\n",
+        "\n",
+        "R4 = 125 ohm \n",
+        "R3 = 496 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 101
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.29, Page No. 81"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#values of various components of circuit(referring to fig.2.36(a))\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "f = 2.0*10**3               # ouutput frequency\n",
+      "Vdc = 10                    # input voltage\n",
+      "h = 0.6                     # voltage gain\n",
+      "I = 0.005                   # peak discharge current\n",
+      "v = 0.5                     # voltage drop across p-n junction(assumed)\n",
+      "\n",
+      "#Calculation\n",
+      "Vp = (Vdc*h)+v\n",
+      "R = (Vdc-Vp)/I              # R should be less than this value\n",
+      "T = 1.0/f\n",
+      "C1 = 0.5*10**-6             # capacitance(assumed)\n",
+      "R1 = (T)/(C1*math.log(1/(1-h)))\n",
+      "\n",
+      "C2 = 1.0*10**-6             # capacitance(assumed)\n",
+      "R2 = (T)/(C2*math.log(1/(1-h)))\n",
+      "\n",
+      "#Result\n",
+      "print(\"for C = %.1f micro-F, R = %d Ohm. \\nThis value of R is not suitable because R must be less than %d ohm.\"%(C1*10**6,R1,R))\n",
+      "print(\"\\nfor C = %.1f micro-F, R = %.1f Ohm.\\nThis value is suitable because R is less than %d ohm\"%(C2*10**6,R2,R))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for C = 0.5 micro-F, R = 1091 Ohm. \n",
+        "This value of R is not suitable because R must be less than 700 ohm.\n",
+        "\n",
+        "for C = 1.0 micro-F, R = 545.7 Ohm.\n",
+        "This value is suitable because R is less than 700 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 112
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.30, Page No. 82"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Range of firing angle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vs = 230.0             # supply voltage\n",
+      "Rmin= 1000.0           # minimum value of R1 resistor\n",
+      "Rmax = 22*10**3        # maximum value of R1 resistor\n",
+      "Vg = 2.0               # gate triggering voltage\n",
+      "C = 0.47*10**-6        # capacitor value\n",
+      "f = 50.0               # frequency\n",
+      "#Calculations\n",
+      "# For Rmin\n",
+      "theta = (180/math.pi)*math.atan(2*math.pi*f*C*Rmin)\n",
+      "theta = math.ceil(theta*10)/10\n",
+      "Vc = Vs*math.cos(theta*math.pi/180)\n",
+      "Vc = math.floor(Vc*100)/100\n",
+      "alfa = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc)))+theta\n",
+      "alfa = math.floor(alfa*10)/10\n",
+      "\n",
+      "# for Rmax\n",
+      "theta2 = (180/math.pi)*math.atan(2*math.pi*f*C*Rmax)\n",
+      "theta2 = math.ceil(theta2*10)/10\n",
+      "Vc2 = Vs*math.cos(theta2*math.pi/180)\n",
+      "Vc2 = math.floor(Vc2*100)/100\n",
+      "alfa2 = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc2)))+theta2\n",
+      "alfa2 = math.ceil(alfa2*10)/10\n",
+      "\n",
+      "#Result\n",
+      "print(\"Minimum firing angle = %.1f\u00b0\"%alfa)\n",
+      "print(\"Maximum firing angle = %.1f\u00b0\"%alfa2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum firing angle = 8.7\u00b0\n",
+        "Maximum firing angle = 74.1\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 137
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.31, Page No. 83"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# UJT relaxation oscillator design(reffering to fig.2.40)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "f = 50.0                   # frequency of supply\n",
+      "Vbb = 12.0                 # typical input vpltage\n",
+      "P = 300*10**3              # maximumm average power dissipation\n",
+      "Rbb = 5.6*10**3            # base resistor\n",
+      "Iv = 4*10**-3              # Valley point voltage\n",
+      "h = 0.63                   # intrinsic stand off ratio\n",
+      "Vd = 0.5                   # drop across p-n junction\n",
+      "Vv = 2.0                   # Valley point voltage\n",
+      "Ip = 5*10**-6              # peak point current\n",
+      "v = 0.18                   # minimum voltage for which SCR will not trigger\n",
+      "\n",
+      "#calculation\n",
+      "T = 1/f\n",
+      "#operating point should be on the left of valley point\n",
+      "R_1 = (Vbb-Vv)/Iv             # R should be greater than this value\n",
+      "Vp = (h*Vbb)+Vd\n",
+      "#operation point should lie in the negative resistance region of characteristics of UJT\n",
+      "R_2 = (Vbb-Vp)/Ip              # R should be less than this value\n",
+      "C = 0.02*10**-6               # assumed\n",
+      "R_3 = T/(C*math.log(1/(1-h)))\n",
+      "\n",
+      "C2 = 0.04*10**-6               # assumed\n",
+      "R_4 = T/(C2*math.log(1/(1-h)))\n",
+      "R = 500*10**3                  # assumed\n",
+      "Rmax = R+R_1\n",
+      "R3_1 = (10**4)/(h*Vbb)\n",
+      "R3 = 1200                      # assumed\n",
+      "R4_1 = v*(R3+Rbb)/(Vbb-v)      # R4 value should be less than this value\n",
+      "R4 = 100                       # assumed  \n",
+      "tw = R4*C2\n",
+      "tow_min = R_1*C2*math.log(1/(1-h))\n",
+      "alfa_min = tow_min*(360/T)\n",
+      "tow_max = Rmax*C2*math.log(1/(1-h))\n",
+      "alfa_max = tow_max*(360/T)\n",
+      "\n",
+      "#Result\n",
+      "print(\"For C = %.2f micro F, R = %.2f k-ohm\\nThis value of R is more than maximum of %d k-ohm.\"%(C*10**6,R_3/1000,R_2/1000) )\n",
+      "print(\"Hence not suitable.\")\n",
+      "print(\"\\nFor C = %.2f micro F, R = %.2f K-ohm.\"%(C2*10**6,R_4/1000))\n",
+      "print(\"As this is less than max value. It is suitable. \\nLets assume R = %d k-ohm\"%(R/1000))\n",
+      "print(\"Rmax = %.1f k-ohm\"%(Rmax/1000))\n",
+      "print(\"\\nR3 = %.2f k-ohm. so take nearest value R3 = %.1f k-ohm\"%(R3_1/1000,R3/1000.0))\n",
+      "print(\"\\nR4 = %.2f ohm. so take nearest value R4 = %.1f ohm\"%(R4_1,R4))\n",
+      "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa_min)\n",
+      "print(\"Maximum firing angle = %.1f\u00b0\"%alfa_max)\n",
+      "print(\"\\nThough maximum firing angle available is %.1f\u00b0, it will not be needed\"%alfa_max)\n",
+      "print(\"because in a single phase full wave converter the maximum firing angle is 180\u00b0\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For C = 0.02 micro F, R = 1005.78 k-ohm\n",
+        "This value of R is more than maximum of 788 k-ohm.\n",
+        "Hence not suitable.\n",
+        "\n",
+        "For C = 0.04 micro F, R = 502.89 K-ohm.\n",
+        "As this is less than max value. It is suitable. \n",
+        "Lets assume R = 500 k-ohm\n",
+        "Rmax = 502.5 k-ohm\n",
+        "\n",
+        "R3 = 1.32 k-ohm. so take nearest value R3 = 1.2 k-ohm\n",
+        "\n",
+        "R4 = 103.55 ohm. so take nearest value R4 = 100.0 ohm\n",
+        "\n",
+        "Minimum firing angle = 1.79\u00b0\n",
+        "Maximum firing angle = 359.7\u00b0\n",
+        "\n",
+        "Though maximum firing angle available is 359.7\u00b0, it will not be needed\n",
+        "because in a single phase full wave converter the maximum firing angle is 180\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 166
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.32, Page No.92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# conduction time of thyristor\n",
+      "\n",
+      "import math\n",
+      "#variable declaratrion\n",
+      "R =0.8                   # load resistance\n",
+      "L = 10*10**-6            # inductance\n",
+      "C = 50*10**-6            # capacitance\n",
+      "\n",
+      "#calculations\n",
+      "R1 = math.sqrt(4*L/C)      # R should be less than this value\n",
+      "t = math.pi/(math.sqrt((1/(L*C))-((R**2)/(4*L**2))))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Value of sqrt(4L/C)  is %.4f and give R = %.1f\\nTherefore, the circuit is underdamped.\"%(R1,R))\n",
+      "print(\"\\nt0 = %.2f*10**-6 seconds\"%(t*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of sqrt(4L/C)  is 0.8944 and give R = 0.8\n",
+        "Therefore, the circuit is underdamped.\n",
+        "\n",
+        "t0 = 157.08*10**-6 seconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 169
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.33, Page No. 92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Values of L and C\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "I = 8.0                  # load current\n",
+      "V = 90.0                 # Supply voltage\n",
+      "t = 40.0*10**-6          # turn off time\n",
+      "\n",
+      "#calculation\n",
+      "#print(\"Assume peak value of capacitor current to be twice the load cuuren.\")\n",
+      "C_by_L = (2*I/V)**2         # using eq 2.33\n",
+      "#print(\"Assume that thyristor is reverse biased for one-fourth period of resonant circuit.\")\n",
+      "CL = (t*2/math.pi)**2\n",
+      "# (2*I/V)^2*L^2 =(t*2/math.pi)^2\n",
+      "\n",
+      "L = math.sqrt(CL/C_by_L)\n",
+      "C =C_by_L*L\n",
+      "\n",
+      "print(\"L = %.2f*10**-6 H\\nC = %.3f*10**-6 F\"%(L*10**6,C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 143.24*10**-6 H\n",
+        "C = 4.527*10**-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 173
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.34, Page No. 92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Value of C for commutation\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 10                    # load resistace\n",
+      "V = 100                   # supply voltage \n",
+      "t = 50 * 10**-6           # turn off time\n",
+      "\n",
+      "#Calculations\n",
+      "C = t/(R*math.log(2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 7.21*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 176
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.35, Page No. 93"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# L and C of commutation circuit\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 100                    # supply voltage\n",
+      "I = 40                     # maximumm load current\n",
+      "T = 40*10**-6              # turn off time\n",
+      "t = 1.5                    # extra 50% tolerance\n",
+      "\n",
+      "#Calculation\n",
+      "T = T*t\n",
+      "C = I*T/V\n",
+      "L = (V**2)*C/(I**2)\n",
+      "Ip = V*math.sqrt(C/L)\n",
+      "L2 = 2* 10**-4             # assume\n",
+      "Ip2 = V*math.sqrt(C/L2)\n",
+      "print(\"C = %.0f*10^-6 F\\nL = %.1f*10^-4 H\\nPeak capacitor current = %d A\"%(C*10**6,L*10**4,Ip))\n",
+      "print(\"\\nPeak capacitor current should be less than maximum load currentof %d A. If L is selected as %d *10^-4 H,\"%(I,L2*10**4))\n",
+      "print(\"the peak capacitor current will be %.1f A. Since this is less than %d A, this value of L is satisfactory.\"%(Ip2,I))\n",
+      "print(\"\\nHence,\\nC = %.0f*10^-6 F\\nL = %.1f*10^-4 H\"%(C*10**6,L2*10**4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 24*10^-6 F\n",
+        "L = 1.5*10^-4 H\n",
+        "Peak capacitor current = 40 A\n",
+        "\n",
+        "Peak capacitor current should be less than maximum load currentof 40 A. If L is selected as 2 *10^-4 H,\n",
+        "the peak capacitor current will be 34.6 A. Since this is less than 40 A, this value of L is satisfactory.\n",
+        "\n",
+        "Hence,\n",
+        "C = 24*10^-6 F\n",
+        "L = 2.0*10^-4 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 187
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.36, Page No. 93"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# current rating of the thyristor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vdc = 100.0               # input voltage\n",
+      "L = 0.1 *10**-3           # Inductance\n",
+      "C = 10*10**-6             # capacitance\n",
+      "Vc = 100.0                # iinitial voltage on capacitor\n",
+      "t = 25.0*10**-6           # thyristor turn offf time\n",
+      "I = 10.0                  # Thyristor load current\n",
+      "\n",
+      "#Calculations\n",
+      "t_off = Vc*C/I\n",
+      "Ic = Vdc*math.sqrt(C/L)\n",
+      "\n",
+      "# Result\n",
+      "print(\"t_off = %d *10^-6 S\\nt_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\"%(t_off*10**6))\n",
+      "print(\"\\nPeak capacitor current = %.2fA \"%Ic)\n",
+      "print(\"Maximum current rating of thyristor should be more than %.2fA\"%Ic)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "t_off = 100 *10^-6 S\n",
+        "t_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\n",
+        "\n",
+        "Peak capacitor current = 31.62A \n",
+        "Maximum current rating of thyristor should be more than 31.62A\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.37, Page No. 97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# value of R and C for snubber circuit\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "dv_by_dt = 25*10**6                 # Thyristor's dv/dt rating\n",
+      "L = 0.2 *10**-3                     # source inductance\n",
+      "V = 230                             # Supply voltage\n",
+      "df = 0.65                           # damping factor\n",
+      "\n",
+      "#Calculation\n",
+      "Vm = V*math.sqrt(2) \n",
+      "C = (1/(2*L))*(0.564*Vm/dv_by_dt)**2\n",
+      "R = 2*df*math.sqrt(L/C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f*10^-9 F\\n\\nR = %.1f ohm\"%(C*10**9,R))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 134.62*10^-9 F\n",
+        "\n",
+        "R = 50.1 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.38, Page No.97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# snuubber circuit parameters\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 300.0                      # input voltage\n",
+      "Rl = 10.0                      # load resistance\n",
+      "f = 2000.0                     # operating frequency otf the circuit\n",
+      "dv_by_dt = 100.0*10**6         # required dv/dt  rating of the circuit\n",
+      "I = 100.0                      # discharge current\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "R = V/I\n",
+      "C = (1-(1/math.e))*Rl*V/(dv_by_dt*((R+Rl)**2))\n",
+      "C = math.floor(C*10**9)/10**9\n",
+      "#(b)\n",
+      "P = (C*V**2*f)/2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nR = %f ohm\\nC = %.3f*10^-6 F\"%(R,C*10**6))\n",
+      "print(\"\\n(b)\\nSnubber power loss = %.2f W\"%P)\n",
+      "print(\"\\nAll the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is %.2f W.\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "R = 3.000000 ohm\n",
+        "C = 0.112*10^-6 F\n",
+        "\n",
+        "(b)\n",
+        "Snubber power loss = 10.08 W\n",
+        "\n",
+        "All the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is 10.08 W.\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.39, Page No.98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# maximum permissiible values of dv/dt and di/dt\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 4.0              # resistance\n",
+      "L = 6.0*10**-6       # inductance\n",
+      "C = 6.0*10**-6       # capacitance\n",
+      "V = 300.0            # Supply voltage\n",
+      "\n",
+      "#calculations\n",
+      "di_dt = V/L\n",
+      "Isc = V/R\n",
+      "dv_dt =(R* di_dt)+(Isc/C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Maximum di/dt = %.0f*10^6 A/s\\n\\nmaximum permissible dv/dt = %.1f*10^6 V/s\"%(di_dt*10**-6,dv_dt*10**-6))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum di/dt = 50*10^6 A/s\n",
+        "\n",
+        "maximum permissible dv/dt = 212.5*10^6 V/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.40, Page No.98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# snubber circuit designe\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "\n",
+      "Rl = 8.0                 # load resistance\n",
+      "V = 230.0                # supply voltage\n",
+      "I = 200.0                # repititive peak current \n",
+      "di_dt = 40.0*10**6       # max. di/di rating\n",
+      "dv_dt = 150.0*10**6      # max. dv/dv rating\n",
+      "sf = 2.0                 # safety factor for thyristor\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "I1 = I/2.0\n",
+      "di_dt2 = di_dt/2.0\n",
+      "dv_dt2 = dv_dt/2\n",
+      "Vp = V*math.sqrt(2)\n",
+      "#Vp = math.floor((Vp*10)/10)\n",
+      "L2 = Vp/di_dt2\n",
+      "L2 = math.floor(L2*10**8)/10**8\n",
+      "R2 = L2*dv_dt2/Vp\n",
+      "Ip = Vp/Rl\n",
+      "Ic = (math.floor(Vp*10)/10)/R2\n",
+      "It = math.floor(Ip*100)/100+Ic\n",
+      "Ic_max = I1 - Ip\n",
+      "Ic_max = math.ceil(Ic_max*100)/100\n",
+      "R = Vp /Ic_max\n",
+      "R = math.ceil(R)\n",
+      "h = 0.65                  #assumed       \n",
+      "C = 4*(h**2)*L2/R**2\n",
+      "dv_dt3 = Vp/((R+Rl)*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"when safety factor is 2 ,maximum permisible ratings are:\")\n",
+      "print(\"max. di/dt = %.0f*10^6 A/s\\nmax. dv/dt = %.0f*10^6 V/s\"%(di_dt2*10**-6,dv_dt2*10**-6))\n",
+      "print(\"\\nPeak value of input voltage = %.1f V\"%(math.floor(Vp*10)/10))\n",
+      "print(\"L = %.2f*10^-6 H \\nR = %.2f ohm\"%(L2*10**6,R2))\n",
+      "print(\"Peak load current = %.2fA\\nPeak capacitor discharge current = %.2f A\"%(math.floor(Ip*100)/100,Ic))\n",
+      "print(\"Total current through capacitor = %.2f\"%It)\n",
+      "print(\"\\nSince total current through capacitor is more than permissible vale. Hence max capacitor discharge current = %.2fA\"%Ic_max)\n",
+      "print(\"R = %.0f ohm\\nC = %.4f*10^-6F\"%(R,C*10**6))\n",
+      "print(\"dv/dt = %.2f*10^6 V/s\\nSince this value is within specified limit the design is safe. \"%(math.floor(dv_dt3*10**-4)/100))\n",
+      "print(\"Hence, R = %d ohm, C = %.4f micro-F and L = %.2f micro-H\"%(R,C*10**6,L2*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when safety factor is 2 ,maximum permisible ratings are:\n",
+        "max. di/dt = 20*10^6 A/s\n",
+        "max. dv/dt = 75*10^6 V/s\n",
+        "\n",
+        "Peak value of input voltage = 325.2 V\n",
+        "L = 16.26*10^-6 H \n",
+        "R = 3.75 ohm\n",
+        "Peak load current = 40.65A\n",
+        "Peak capacitor discharge current = 86.74 A\n",
+        "Total current through capacitor = 127.39\n",
+        "\n",
+        "Since total current through capacitor is more than permissible vale. Hence max capacitor discharge current = 59.35A\n",
+        "R = 6 ohm\n",
+        "C = 0.7633*10^-6F\n",
+        "dv/dt = 30.43*10^6 V/s\n",
+        "Since this value is within specified limit the design is safe. \n",
+        "Hence, R = 6 ohm, C = 0.7633 micro-F and L = 16.26 micro-H\n"
+       ]
+      }
+     ],
+     "prompt_number": 83
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.41, Page No. 100"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Fault clearing time(referring to fig.2.59)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "I2t = 30                # I2t rating of thyristor\n",
+      "V = 230                 # supply voltage\n",
+      "#For resistor values refer to fig 2.59\n",
+      "R1 = 2.0\n",
+      "R2 = 1.0\n",
+      "R3 = 5.0\n",
+      "R4 = 6.0\n",
+      "R5 = 5.0 \n",
+      "#calculation\n",
+      "Rnet = R1+(R3*R2)/R4\n",
+      "If = math.sqrt(2)*V/Rnet\n",
+      "tc = I2t/(If**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"tc = %.3f*10^-3 seconds \"%(math.ceil(tc*1000*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "tc = 2.277*10^-3 seconds \n"
+       ]
+      }
+     ],
+     "prompt_number": 90
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.42, Page No.103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# number of thyristors in series and parallel\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 3*10**3                   # supply voltage\n",
+      "I = 750.0                     # supply current\n",
+      "V1 = 800.0                    # Thyristor voltage rating\n",
+      "I1 = 175.0                    # Thyristor current rating\n",
+      "d = 0.25                      # derating\n",
+      "\n",
+      "\n",
+      "# Calculation\n",
+      "np = I/((1-d)*I1)\n",
+      "ns = V/((1-d)*V1)\n",
+      "print(\"np = %.2f or %d\"%(np,math.ceil(np)))\n",
+      "print(\"ns = %d\"%(math.ceil(ns)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "np = 5.71 or 6\n",
+        "ns = 5\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.43, Page No. 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Value of R and C\n",
+      "\n",
+      "import math\n",
+      "#variable declaration(referring to example 2.42)\n",
+      "V = 3*10**3                   # supply voltage\n",
+      "I = 750.0                     # supply current\n",
+      "V1 = 800.0                    # Thyristor voltage rating\n",
+      "I1 = 175.0                    # Thyristor current rating\n",
+      "d = 0.25                      # derating\n",
+      "Ib = 8*10**-3                 # maximum forward leakage current\n",
+      "del_Q = 30*10**-6             # recovery charge difference\n",
+      "ns = 5                        # number of series thyristors \n",
+      "\n",
+      "#Calculations\n",
+      "R = ((ns*V1)-V)/((ns-1)*Ib)\n",
+      "C = (ns-1)*del_Q/(ns*V1-V)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.2f*10^3 ohm\\nC = %.2f*10^-6 F\"%(R/1000,C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 31.25*10^3 ohm\n",
+        "C = 0.12*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 99
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.44, Page No. 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# series resistance\n",
+      "\n",
+      "import math\n",
+      "# variabe declaration\n",
+      "I1 = 200               # thyristor1 current rating\n",
+      "I2 = 300               # thyristor2 current rating\n",
+      "V1 = 1.5               # on state voltage drop of thyristor1 \n",
+      "V2 = 1.2               # on state voltage drop of thyristor2\n",
+      "\n",
+      "#Calculations\n",
+      "R = (V1-V2)/(I2-I1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.3f ohm\"%R)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 0.003 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 100
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.45, Page No.104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Thyristor parameters\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "ns = 12                 # no of series thyristors\n",
+      "V = 16*10**3            # maximum DC voltage rating\n",
+      "Ib = 10*10**-3          # maximum leakage current of thyristor\n",
+      "del_Q = 150 *10**-6     # recovery charge differences of thyristors\n",
+      "R = 56*10**3            # resistance\n",
+      "C = 0.5 *10**-6         # Capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "Vd1 = (V+(ns-1)*R*Ib)/ns\n",
+      "ssvd = 1-(V/(ns*Vd1))\n",
+      "Vd2 = (V+((ns-1)*del_Q/C))/ns\n",
+      "tsvd = 1-(V/(ns*Vd2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Maximum steady state voltage rating = %.2f V\"%Vd1)\n",
+      "print(\"(b) Steady state voltage derating = %.3f or %.1f%%\"%(ssvd,ssvd*100))\n",
+      "print(\"(c) Maximum transient state voltage rating = %.2f V\"%Vd2)\n",
+      "print(\"(d) Transient state voltage derating = %.3f or %.1f%%\"%(tsvd,tsvd*100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Maximum steady state voltage rating = 1846.67 V\n",
+        "(b) Steady state voltage derating = 0.278 or 27.8%\n",
+        "(c) Maximum transient state voltage rating = 1608.33 V\n",
+        "(d) Transient state voltage derating = 0.171 or 17.1%\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.46, Page No.104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# No of Thyristor\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 500.0                # single thyristor voltage rating\n",
+      "I = 75.0                 # single thyristor current rating\n",
+      "Vmax = 7.5*10**3         # overall voltage rating of the circuit\n",
+      "Imax = 1.0*10**3         # overall current rating of the circuit\n",
+      "df = 0.14                # derating factor\n",
+      "\n",
+      "#Calcaulations\n",
+      "ns = Vmax/((1-df)*V)\n",
+      "np = Imax/((1-df)*I)\n",
+      "\n",
+      "#Result\n",
+      "print(\"No of thyristors in series, ns = %.2f say %d\"%(ns,math.ceil(ns)))\n",
+      "print(\"No of thyristors in parallel, np = %.2f say %d\"%(np,math.ceil(np)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "No of thyristors in series, ns = 17.44 say 18\n",
+        "No of thyristors in parallel, np = 15.50 say 16\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.47, Page No. 105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Turn off voltage and discharge current through SCR\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vmax = 8.0*10**3             # max voltage rating of the circuit\n",
+      "R = 20.0*10**3               # static equalising resistance \n",
+      "Rc = 25.0                    # Resistace of dynamic equalising circuit\n",
+      "C = 0.1*10**-6               # Capacitance of dynamic equalising circuit\n",
+      "Ib1 = 22.0*10**-3            # leakage current of thyristor1\n",
+      "Ib2 = 20.0*10**-3            # leakage current of thyristor2\n",
+      "Ib3 = 18.0*10**-3            # leakage current of thyristor3\n",
+      "\n",
+      "\n",
+      "#Calculations \n",
+      "#(a)\n",
+      "I = ((Vmax/R)+(Ib1+Ib2+Ib3))/3\n",
+      "V1 = (I-Ib1)*R\n",
+      "V2 = (I-Ib2)*R\n",
+      "V3 = (I-Ib3)*R\n",
+      "#(b)\n",
+      "I1 = V1/Rc\n",
+      "I2 = V2/Rc\n",
+      "I3 = V3/Rc\n",
+      "\n",
+      "#Result\n",
+      "print(\"Voltage across SCR 1 = %.1fV\"%(math.floor(V1*10)/10))\n",
+      "print(\"Voltage across SCR 2 = %.1fV\"%(math.floor(V2*10)/10))\n",
+      "print(\"Voltage across SCR 3 = %.1fV\"%(math.floor(V3*10)/10))\n",
+      "print(\"Discharge current through SCR 1 = %.2fA\"%(math.floor(I1*100)/100))\n",
+      "print(\"Discharge current through SCR 2 = %.2fA\"%(math.floor(I2*100)/100))\n",
+      "print(\"Discharge current through SCR 3 = %.2fA\"%(math.floor(I3*100)/100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Voltage across SCR 1 = 2626.6V\n",
+        "Voltage across SCR 2 = 2666.6V\n",
+        "Voltage across SCR 3 = 2706.6V\n",
+        "Discharge current through SCR 1 = 105.06A\n",
+        "Discharge current through SCR 2 = 106.66A\n",
+        "Discharge current through SCR 3 = 108.26A\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_2_3.ipynb b/Power_Electronics/Power_electronics_ch_2_3.ipynb
new file mode 100755
index 00000000..6e52e316
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_2_3.ipynb
@@ -0,0 +1,2357 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2: Thyristors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.1, Page No.39 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Anode current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "alfa_1 = 0.35         # Gain of PNP transistor of two transistor model\n",
+      "alfa_2 = 0.40         # Gain of NPN transistor of two transistor model\n",
+      "Ig = 40*10**-3        # Gate current\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Ia = (alfa_2*Ig)/(1-(alfa_1+alfa_2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Anode current = %d * 10^-3 A\"%(Ia*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Anode current = 64 * 10^-3 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.2, Page No.41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Equivalent capacitor\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "dv_by_dt = 190                # in Volt per micro-sec\n",
+      "Ic= 8 *10**-3                 # Capacitive current\n",
+      "\n",
+      "#Calculation\n",
+      "C = Ic/(dv_by_dt*10**6)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.1f * 10^12 F\"%(C*10**12))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 42.1 * 10^12 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.3, Page No. 42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Thyristor\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vt = 0.75               # Thyristor trigger voltage\n",
+      "It = 7*10**-3           # Thyristor trigger current\n",
+      "Vcc = 20                # Suppy voltage, given data\n",
+      "Rg = 2000               # gate resistor, given data\n",
+      "R = 200                 # input resistor\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "V0 = 20                 # when thyristor is not conducting, there is no current through it.\n",
+      "#(b)\n",
+      "Vs = Vt+It*Rg\n",
+      "#(c)\n",
+      "i= 5*10**-3              #to have holding curernt\n",
+      "v1= i*R\n",
+      "#(d)\n",
+      "drop =0.7                # voltage drop across thyristor\n",
+      "v2=v1+drop\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) V0 = %d\\n(b) Vs = %.2f\\n(c) Vcc should be reduced to less than %d V if thyristor is ideal.\\n(d) Vcc should be reduced to less than %.1f V\"%(V0,Vs,v1,v2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) V0 = 20\n",
+        "(b) Vs = 14.75\n",
+        "(c) Vcc should be reduced to less than 1 V if thyristor is ideal.\n",
+        "(d) Vcc should be reduced to less than 1.7 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.4, Page No.42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# calculation of Vg,Ig and Rg\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vs = 25                      # gate signal amplitude\n",
+      "Pavg_loss = 0.6              # Avg power loss\n",
+      "\n",
+      "#Calculations\n",
+      "P_loss = Pavg_loss*2*math.pi/math.pi\n",
+      "Ig =(-1+(math.sqrt(1**2-4*9*(-1.2))))/(2*9) #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+      "Ig = math.ceil(Ig*1000)/1000\n",
+      "Vg = 1+9*Ig                                 #given data\n",
+      "Rg = (24-9*Ig)/Ig\n",
+      "\n",
+      "#Calculations\n",
+      "print(\"Vg = %.3f \\nIg = %.3f\\nRg = %.2f\"%(Vg,Ig,Rg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vg = 3.826 \n",
+        "Ig = 0.314\n",
+        "Rg = 67.43\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.5, Page No.42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Minimum width of gate pulse\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100                   # DC supply voltage\n",
+      "L = 10                    # Inductance\n",
+      "i = 80*10**-3             # latching current of thyristor\n",
+      "\n",
+      "#Calculations\n",
+      "t = L*i/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Width of pulse should be more than %d milli-second.\"%(t*10**3))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Width of pulse should be more than 8 milli-second.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.6, Page No. 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Minimum width of gate pulse\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100                   # DC supply voltage\n",
+      "R = 10                    # Resistance\n",
+      "L = 5                     # Inductance\n",
+      "i = 50*10**-3             # latching current of thyristor\n",
+      "\n",
+      "#Calculation\n",
+      "t = math.log((1-(i*R)/V))/((-R/L)*math.log(math.e))        # i = (V/R)*(1-e^(-R*t/L))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Minimum width of gate pulse is %.1f milli-second.\"%(t*10**3))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum width of gate pulse is 2.5 milli-second.\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.7, Page No. 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# resistor value\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 90.0                # DC supply voltage\n",
+      "i = 40*10**-3           # latching current of thyristor\n",
+      "t = 40* 10**-6          # pulse width\n",
+      "R = 25.0                # load Resistance\n",
+      "L = 0.5                 # Inductance\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+      "\n",
+      "#(b)\n",
+      "R = V/(i-i2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nAt the end of the gate pulse, i = %.4f A\"%i2)\n",
+      "print(\"Since the current is less than latching current, thyristor will not turn on.\")\n",
+      "print(\"\\n(b)\\nR should be less than %d ohm.\"%math.ceil(R))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "At the end of the gate pulse, i = 0.0072 A\n",
+        "Since the current is less than latching current, thyristor will not turn on.\n",
+        "\n",
+        "(b)\n",
+        "R should be less than 2744 ohm.\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.8, Page No.44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Resistor value\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100.0                # DC supply voltage\n",
+      "i = 50*10**-3            # holding current of thyristor\n",
+      "t = 50* 10**-6           # pulse width\n",
+      "R = 20.0                 # load Resistance\n",
+      "L = 0.5                  # Inductance\n",
+      "\n",
+      "#Calculations\n",
+      "i2 = (V/R)*(1-math.e**(-R*t/L))\n",
+      "Rmax = V/(i-i2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"When firing pulse ends, i = %.2f mA\"%(i2*10**3))\n",
+      "print(\"Since this current is less than holding current, the thyristor will not remain on and return to off state.\")\n",
+      "print(\"Maximum value of R = %.3f ohm\"%(math.floor(Rmax*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When firing pulse ends, i = 9.99 mA\n",
+        "Since this current is less than holding current, the thyristor will not remain on and return to off state.\n",
+        "Maximum value of R = 2499.375 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.9, Page No.44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# triggering angle \n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 240                  # AC supply voltage\n",
+      "f = 50                   # supply frequency\n",
+      "R = 5                    # load resistance\n",
+      "L = 0.05                 # inductance\n",
+      "\n",
+      "#Calculation\n",
+      "theta = math.atan(2*math.pi*f*L/R)\n",
+      "theta = theta*180/math.pi\n",
+      "fi = theta+90\n",
+      "print(\"theta = %.2f\u00b0\"%(theta))\n",
+      "print(\"\\nCurrent transient is maximun(worst) if\\nsin(fi-theta) = 1\")\n",
+      "print(\"therefore, fi-%.2f\u00b0 = 90\u00b0\"%theta)\n",
+      "print(\"fi = %.2f\u00b0\"%fi)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "theta = 72.34\u00b0)\n",
+        "\n",
+        "Current transient is maximun(worst) if\n",
+        "sin(fi-theta) = 1\n",
+        "therefore, fi-72.34\u00b0 = 90\u00b0\n",
+        "fi = 162.34\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.10, Page No.47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example \")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example \n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.11, Page No.50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example \")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example \n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.12, Page No. 53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# rms current and form factor\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "I = 120                 # Current in Ampere\n",
+      "gamma = 180.0           # in degrees, thyristor conducts between alfa and alfa+gamma in each 360\u00b0 \n",
+      "\n",
+      "# calculations\n",
+      "#(a)-- formulas\n",
+      "#(b)\n",
+      "Irms = I*math.sqrt(gamma/360)\n",
+      "Iavg = I*(gamma/360)\n",
+      "ff = Irms/Iavg\n",
+      "\n",
+      "#result\n",
+      "print(\"RMS curent = %.2f A\\nAverage Current = %.0f A\\nForm factor = %.3f\"%(Irms,Iavg,ff))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS curent = 84.85 A\n",
+        "Average Current = 60 A\n",
+        "Form factor = 1.414\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.13, Page No.53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Power supplied to the load and average load current\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "# variable declaration\n",
+      "R = 100.0                       # load resistance\n",
+      "V = 230.0                       # Supply Voltage\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "def f(x):\n",
+      "    return math.sin(x)**2\n",
+      "wt_lower=math.pi/3\n",
+      "wt_upper =math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "I = ((math.sqrt(2)*V/R)**2)*val[0]/(2*math.pi)\n",
+      "Irms = math.sqrt(I)\n",
+      "P =(Irms**2)*R\n",
+      "\n",
+      "#(b)\n",
+      "def f(x):\n",
+      "    return math.sin(x)**2\n",
+      "wt_lower2=math.pi/4\n",
+      "wt_upper2 =math.pi\n",
+      "val2 = quad(f,wt_lower2,wt_upper2)\n",
+      "x = (math.sqrt(2)*V/R)\n",
+      "x = math.floor(x*100)/100\n",
+      "I2 = (x**2)*val2[0]/(2*math.pi)\n",
+      "Irms2 = math.sqrt(I2)\n",
+      "P2 =(Irms2**2)*R\n",
+      "\n",
+      "#(c)\n",
+      "def f(x):\n",
+      "    return (3.25/(2*math.pi))*math.sin(x)\n",
+      "wt_lower3=math.pi/3\n",
+      "wt_upper3 =math.pi\n",
+      "val3 = quad(f,wt_lower3,wt_upper3)\n",
+      "wt_lower4=math.pi/4\n",
+      "wt_upper4 =math.pi\n",
+      "val4 = quad(f,wt_lower4,wt_upper4)\n",
+      "\n",
+      "\n",
+      "print(\"(a)\\nRMS current = %.2f A\\nPower supplied to load = %d W\"%(Irms,math.ceil(P)))\n",
+      "print(\"\\n\\n(b)\\nRMS current = %f A\\nPower supplied to load = %f W\"%(Irms2,P2))\n",
+      "print(\"\\n(c)\\nWhen firing angle is 60\u00b0, Average current = %.3f A\" %val3[0])\n",
+      "print(\"When firing angle is 45\u00b0, Average current = %.3f A\" %val4[0])\n",
+      "# for (b) answer matches to the book if val2[0] = 1.4255"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "RMS current = 1.46 A\n",
+        "Power supplied to load = 213 W\n",
+        "\n",
+        "\n",
+        "(b)\n",
+        "RMS current = 1.549431 A\n",
+        "Power supplied to load = 240.073727 W\n",
+        "\n",
+        "(c)\n",
+        "When firing angle is 60\u00b0, Average current = 0.776 A\n",
+        "When firing angle is 45\u00b0, Average current = 0.883 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 81
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.14, Page No.54"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# average power loss in thyristor\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Iavg = 200                  # Average current\n",
+      "v1 = 1.8                    # voltage drop across thyristor for 200A current\n",
+      "v2 = 1.9                    # voltage drop across thyristor for 400A current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "A1 = Iavg                   # amplitude of rectangular current wave\n",
+      "P1 = A1*v1\n",
+      "#(b)\n",
+      "A2 = 2*Iavg\n",
+      "P2 = A2*v2*math.pi/(2*math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average power loss = %d W\"%P1)\n",
+      "print(\"(b) Average power loss = %d W\"%P2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average power loss = 360 W\n",
+        "(b) Average power loss = 380 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 83
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.15, Page No.55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# average on state current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "I = 40                # rms on state current\n",
+      "f = 50                # frequency\n",
+      "cp_a =170             # conduction period\n",
+      "cp_b =100             # conduction period\n",
+      "cp_c =40              # conduction period\n",
+      "\n",
+      "#Calculations\n",
+      "alfa_a = 180-cp_a\n",
+      "alfa_b = 180-cp_b\n",
+      "alfa_c = 180-cp_c\n",
+      "Im_a = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_a*math.pi/180)/2)+math.sin(2*alfa_a*math.pi/180)/4))\n",
+      "Iv_a = 0.316*Im_a\n",
+      "Im_b = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_b*math.pi/180)/2)+math.sin(2*alfa_b*math.pi/180)/4))\n",
+      "Iv_b = 0.1868*Im_b\n",
+      "Im_c = math.sqrt(((I**2)*2*math.pi)/(((math.pi-alfa_c*math.pi/180)/2)+math.sin(2*alfa_c*math.pi/180)/4))\n",
+      "Iv_c = 0.0372*Im_c\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Iavg = %.3f A\"%(math.ceil(Iv_a*1000)/1000))\n",
+      "print(\"(b) Iavg = %.2f A\"%Iv_b)\n",
+      "print(\"(c) Iavg = %.2f A\"%(math.floor(Iv_c*100)/100))\n",
+      "#answer for(b) is not matching with the answer given in the book."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Iavg = 25.295 A\n",
+        "(b) Iavg = 19.13 A\n",
+        "(c) Iavg = 11.62 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 105
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.16, page No. 56"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# power dissiopation\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "It = 20                     # constant current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vt = 0.9+ 0.02*It\n",
+      "P1 = Vt*It\n",
+      "#(b)\n",
+      "def f(x):\n",
+      "    return (0.9+0.02*(20*math.pi*math.sin(x)))*(20*math.pi*math.sin(x))/(2*math.pi)\n",
+      "# if denominator math.pi value is taken as 3.14, then answer for P2 =37.75\n",
+      "theta_lower = 0\n",
+      "theta_upper = math.pi\n",
+      "val = quad(f,theta_lower,theta_upper)\n",
+      "P2 = val[0]\n",
+      "#(c)\n",
+      "P3 = P1/2\n",
+      "#(d)\n",
+      "P4 = P1/3\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Power dissipation = %d W\"%P1)\n",
+      "print(\"(b) Mean Power dissipation = %.2f W\"%P2)\n",
+      "print(\"(c) Mean Power dissipation = %d W\"%P3)\n",
+      "print(\"(d) Mean Power dissipation = %.2f W\"%P4)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Power dissipation = 26 W\n",
+        "(b) Mean Power dissipation = 37.74 W\n",
+        "(c) Mean Power dissipation = 13 W\n",
+        "(d) Mean Power dissipation = 8.67 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 115
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.17, Page No. 57"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# I^2t rating \n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Is = 2000.0              # half cycle surge current rating for SCR\n",
+      "f = 50.0                 # operating AC frequency\n",
+      "\n",
+      "#Calculation\n",
+      "T = 1/f\n",
+      "t_half = T/2\n",
+      "t = t_half/2\n",
+      "I = math.sqrt((Is**2)*t/t_half)\n",
+      "rating = (I**2)*t_half\n",
+      "\n",
+      "#Result\n",
+      "print(\"I^2t rating = %d A^2 secs\"%rating)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "I^2t rating = 20000 A^2 secs\n"
+       ]
+      }
+     ],
+     "prompt_number": 138
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.18, Page No. 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Resistance and average power loss\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "P = 6                #peak power loss\n",
+      "d = 0.3              # duty cylce   \n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "#solution of equation 9Ig^2+Ig-6 = 0\n",
+      "Ig =(-1+(math.sqrt(1**2-4*9*(-6))))/(2*9)    #alfa=(-b+sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+      "Ig = math.ceil(Ig*1000)/1000\n",
+      "Rg = (11/Ig)-9                               #from KVL equation of gate circuit\n",
+      "#(b)\n",
+      "Pavg = P*d\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nIg = %.3f A \\nRg = %.3f ohm\"%(Ig,Rg))\n",
+      "print(\"\\n(b) Average power loss = %.1f W \"%Pavg)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Ig = 0.763 A \n",
+        "Rg = 5.417 ohm\n",
+        "\n",
+        "(b) Average power loss = 1.8 W \n"
+       ]
+      }
+     ],
+     "prompt_number": 144
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.19, Page No. 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# trigger current and voltage for gate power dissipation\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vs = 12                  # supply voltage\n",
+      "P = 0.3                  # Power dissipation\n",
+      "Rs  = 100                # load line slope i.e. source resistance\n",
+      "\n",
+      "#Calculation\n",
+      "#solution for equation 100Ig^2-12Ig+0.3 = 0\n",
+      "Ig =(-(-Vs)-(math.sqrt((-Vs)**2-4*Rs*(P))))/(2*Rs)    #alfa=(-b(+/-)sqrt(b^2-4ac))/2a-->solution for quadratic equation\n",
+      "Vg = P/Ig\n",
+      "print(\"Ig = %.1f mA\\nVg = %.2f V\"%(Ig*1000,Vg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ig = 35.5 mA\n",
+        "Vg = 8.45 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 150
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.20, Page No. 59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Finding values of resistors\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Es = 12.0             # Supply voltage\n",
+      "V = 800.0             # SCR voltage rating\n",
+      "I = 110.0             # SCR currert rating\n",
+      "imax = 250*10**-3     # Maximum permissible current through battery\n",
+      "isc = 600*10**-3      # short circuit current of the battery\n",
+      "Vg = 2.4              # required gate voltage\n",
+      "Ig = 50*10**-3        # required gate current\n",
+      "Vgmax = 3             # maximum gate voltage\n",
+      "Igmax = 100*10**-3    # maximum gate current\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Rs = Es/isc\n",
+      "#considering R2 is not connected\n",
+      "R1 =(Es/imax)-Rs\n",
+      "#R1 must be 28 or more so that battery curenrt doesnot exceeds 250mA\n",
+      "R1min = Es/Igmax-Rs\n",
+      "R1max = ((Es-Vg)/Ig)-Rs\n",
+      "R1 = 125  #selected \n",
+      "R2 = Vgmax*(Rs+R1)/(Es-Vgmax)\n",
+      "\n",
+      "# Result\n",
+      "print(\"Rs = %d ohm \\n\\nR1 must be more than %.0f ohm and must be less than %.0f ohm.\\nTherefore, select R1 = %.0f \"%(Rs,R1min,R1max,R1))\n",
+      "print(\"\\nR2 should be less than %.3f ohm.\\nTherefore, select R2 = %.0f ohm\"%(R2,math.floor(R2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rs = 20 ohm \n",
+        "\n",
+        "R1 must be more than 100 ohm and must be less than 172 ohm.\n",
+        "Therefore, select R1 = 125 \n",
+        "\n",
+        "R2 should be less than 48.333 ohm.\n",
+        "Therefore, select R2 = 48 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.21, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Surface temperature\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "l = 0.2                 # length of aluminium rod\n",
+      "w = 0.01                # width of aluminium rod\n",
+      "d = 0.01                # depth of aluminium rod\n",
+      "tc = 220                # thermal conductivity\n",
+      "T1 = 30                 # temperature at far end\n",
+      "P = 3                   # injected heat\n",
+      "\n",
+      "#Calculation\n",
+      "theta = l/(tc*w*d)\n",
+      "T2 = P*theta+T1\n",
+      "\n",
+      "#Result\n",
+      "print(\"Temperature of the surface where heat is injected is %.2f\u00b0C\"%T2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Temperature of the surface where heat is injected is 57.27\u00b0C\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.22, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Power losses\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "l = 2*10**-3            # lengthh of aluminium plate\n",
+      "a = 12*10**-4           # cross-section area\n",
+      "tc = 220                # thermal conductivity\n",
+      "td = 4                  # desired thermal drop along length\n",
+      "\n",
+      "#Calculations\n",
+      "theta = l/(a*tc)\n",
+      "theta = math.floor(theta*10**6)/10**6\n",
+      "P_loss = td/theta\n",
+      "\n",
+      "#Result\n",
+      "print(\"power losses = %.2f W\"%P_loss)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "power losses = 528.05 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.23, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#thermal resistance of heat sink\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "P = 30.0              # power dissipation\n",
+      "T1 =125.0             # max junction temperature\n",
+      "T2 = 50.0             # max ambient temperature\n",
+      "tr1 =1.0              # thermal resistance of thyristor\n",
+      "tr2 = 0.3             # therrmal resistance of insuulator\n",
+      "\n",
+      "#calculations\n",
+      "Tr = (T1-T2)/P\n",
+      "Tr_hs = Tr-tr1-tr2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Thermal resistance of heat sink = %.1f\u00b0C/W\"%Tr_hs)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thermal resistance of heat sink = 1.2\u00b0C/W\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.24, Page No.68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Junction temperature\n",
+      "\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "tr = 0.627              # thermal resistance of device\n",
+      "T = 93                  # heat sink temperature\n",
+      "V = 3                   # voltage at junction\n",
+      "I = 25                  # current at junction\n",
+      "\n",
+      "#calculation\n",
+      "T_junction = tr*V*I+T\n",
+      "\n",
+      "#Result\n",
+      "print(\"Junction Temperature = %d\u00b0C\"%T_junction)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Junction Temperature = 140\u00b0C\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.25, Page No. 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Thermal resistance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "P = 40.0                #steady power loss in an SCR\n",
+      "Tr_hs = 0.8             # heat sink resistance\n",
+      "T1 = 120.0              # Maximumm junction temperature\n",
+      "T2 = 35.0               # ambient temperature\n",
+      "\n",
+      "#calculation\n",
+      "Tr = (T1-T2)/P\n",
+      "Rsh = Tr - Tr_hs\n",
+      "\n",
+      "#Result\n",
+      "print(\"Resistance of heat sink = %.3f\u00b0C/W\"%Rsh)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resistance of heat sink = 1.325\u00b0C/W\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.26, Page No. 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# power loss and % increase in rating\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Tj = 125                # maximum junction temperature\n",
+      "Ts1 = 80                # max heat sink temperature\n",
+      "tr_jc = 0.7             # thermal resistance from junction to case  \n",
+      "tr_cs = 0.4             # thermal resistance from case to sink\n",
+      "Ts2 = 50                # decreased heat sink temperature  \n",
+      "#calculations\n",
+      "#(a)\n",
+      "Pav1 = (Tj-Ts1)/(tr_jc+tr_cs)\n",
+      "#(b)\n",
+      "Pav2 =(Tj-Ts2)/(tr_jc+tr_cs)\n",
+      "rating = 100*(math.sqrt(Pav2)-math.sqrt(Pav1))/math.sqrt(Pav1)\n",
+      "rating = math.floor(rating*100)/100\n",
+      "# result\n",
+      "print(\"(a)\\nAverage power loss = %.2fW\"%Pav1)\n",
+      "print(\"\\n(b)\\nAverage power loss = %.2fW\\n%% increase in rating = %.2f%%\"%(Pav2,rating))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Average power loss = 40.91W\n",
+        "\n",
+        "(b)\n",
+        "Average power loss = 68.18W\n",
+        "% increase in rating = 29.09%\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.27, Page No. 75"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Minnimum and maximum firing angle of triac\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vs = 230.0                 # Supply voltage\n",
+      "f = 50.0                   # supply frequency\n",
+      "Vc = 25.0                  # breakdown voltage\n",
+      "C = 0.6*10**-6             # capacitance\n",
+      "Rmin = 2000                # minimum resistance  \n",
+      "Rmax = 20000                # maximum resistance\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "pi = math.ceil(math.pi*10**4)/10**4\n",
+      "Xc = 1/(2*pi*f*C)\n",
+      "Xc = math.floor(Xc*100)/100\n",
+      "Z1_m = math.sqrt(Rmin**2+Xc**2)\n",
+      "Z1_angle=math.atan(Xc/Rmin)\n",
+      "I1_m = Vs/Z1_m\n",
+      "I1_m = math.ceil(I1_m*10**5)/10**5\n",
+      "I1_angle = Z1_angle\n",
+      "Vc_m = I1_m*Xc\n",
+      "Vc_m = math.ceil(Vc_m*100)/100\n",
+      "Vc_angle = I1_angle*(180/math.pi)-90\n",
+      "alfa1 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*Vc_m))+(-Vc_angle)\n",
+      "\n",
+      "#(b)\n",
+      "Z2_m = math.sqrt(Rmax**2+Xc**2)\n",
+      "Z2_m = math.floor(Z2_m*10)/10\n",
+      "Z2_angle=math.atan(Xc/Rmax)\n",
+      "I2_m = Vs/Z2_m\n",
+      "I2_m = math.floor(I2_m*10**6)/10**6\n",
+      "I2_angle = Z2_angle\n",
+      "V2c_m = I2_m*Xc\n",
+      "V2c_m = math.ceil(V2c_m*100)/100\n",
+      "V2c_angle = I2_angle*(180/math.pi)-90\n",
+      "alfa2 = (180/math.pi)*math.asin(Vc/(math.sqrt(2)*V2c_m))+(-V2c_angle)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Xc = %.2f ohms\"%Xc)\n",
+      "print(\"\\n(a) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmin,Z1_m,-Z1_angle*(180/math.pi)))\n",
+      "print(\" I(magnitude) = %.5f\\t\\tI(angle) = %.2f\u00b0\"%(I1_m,I1_angle*(180/math.pi)))\n",
+      "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(Vc_m,Vc_angle))\n",
+      "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa1)\n",
+      "\n",
+      "print(\"\\n(b) When R = %d ohms\\n Z(magnitude) = %.2f\\t\\tZ(angle) = %.2f\u00b0\"%(Rmax,Z2_m,-Z2_angle*(180/math.pi)))\n",
+      "print(\" I(magnitude) = %f\\t\\tI(angle) = %.2f\u00b0\"%(I2_m,I2_angle*(180/math.pi)))\n",
+      "print(\"\\nVoltage across capacitor,\\nV(magnitude) = %.2f\\t\\tV(angle) = %.2f\u00b0\"%(V2c_m,V2c_angle))\n",
+      "print(\"\\nMaximum firing angle = %.2f\u00b0\"%(math.ceil(alfa2*10)/10))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Xc = 5305.15 ohms\n",
+        "\n",
+        "(a) When R = 2000 ohms\n",
+        " Z(magnitude) = 5669.62\t\tZ(angle) = -69.34\u00b0\n",
+        " I(magnitude) = 0.04057\t\tI(angle) = 69.34\u00b0\n",
+        "\n",
+        "Voltage across capacitor,\n",
+        "V(magnitude) = 215.23\t\tV(angle) = -20.66\u00b0\n",
+        "\n",
+        "Minimum firing angle = 25.37\u00b0\n",
+        "\n",
+        "(b) When R = 20000 ohms\n",
+        " Z(magnitude) = 20691.60\t\tZ(angle) = -14.86\u00b0\n",
+        " I(magnitude) = 0.011115\t\tI(angle) = 14.86\u00b0\n",
+        "\n",
+        "Voltage across capacitor,\n",
+        "V(magnitude) = 58.97\t\tV(angle) = -75.14\u00b0\n",
+        "\n",
+        "Maximum firing angle = 92.60\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 88
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.28, Page no. 80"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# UJT relaxation circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 32.0                 #voltage\n",
+      "h = 0.63                 # voltage gain\n",
+      "Ip = 10*10**-6           # current \n",
+      "Vv = 3.5                 # voltage drop\n",
+      "Iv = 10*10**-3           # current through the circuit\n",
+      "Vf = 0.5                 # forward voltage drop across p-n junction\n",
+      "f = 50.0                 # frequency of ascillation \n",
+      "t = 50.0*10**-6          # width of triggering pulse(given value is 50ms but used value is 50 micro-sec) \n",
+      "C = 0.4*10**-6           # Capacitance(assumed)\n",
+      "\n",
+      "#Calculations\n",
+      "T = 1/f\n",
+      "Vp = V*h+Vf\n",
+      "Rmax = (V-Vp)/Ip         # R should be less than the given value\n",
+      "Rmin = (V-Vv)/Iv         # R should be more than the given value\n",
+      "R = T/(C*math.log(1/(1-h)))\n",
+      "R4 = t/C\n",
+      "R3 = 10**4/(h*V)\n",
+      "\n",
+      "#Result\n",
+      "print(\"The value of R = %.2f*10^3 ohm is within the Rmax = %.3f*10^6 ohm and Rmin = %.2f*10^3 ohm\"%(R*10**-3,Rmax*10**-6,Rmin*10**-3))\n",
+      "print(\"Hence the value is suitable.\\n\\nR4 = %d ohm \\nR3 = %d ohm\"%(R4,R3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of R = 50.29*10^3 ohm is within the Rmax = 1.134*10^6 ohm and Rmin = 2.85*10^3 ohm\n",
+        "Hence the value is suitable.\n",
+        "\n",
+        "R4 = 125 ohm \n",
+        "R3 = 496 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 101
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.29, Page No. 81"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#values of various components of circuit(referring to fig.2.36(a))\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "f = 2.0*10**3               # ouutput frequency\n",
+      "Vdc = 10                    # input voltage\n",
+      "h = 0.6                     # voltage gain\n",
+      "I = 0.005                   # peak discharge current\n",
+      "v = 0.5                     # voltage drop across p-n junction(assumed)\n",
+      "\n",
+      "#Calculation\n",
+      "Vp = (Vdc*h)+v\n",
+      "R = (Vdc-Vp)/I              # R should be less than this value\n",
+      "T = 1.0/f\n",
+      "C1 = 0.5*10**-6             # capacitance(assumed)\n",
+      "R1 = (T)/(C1*math.log(1/(1-h)))\n",
+      "\n",
+      "C2 = 1.0*10**-6             # capacitance(assumed)\n",
+      "R2 = (T)/(C2*math.log(1/(1-h)))\n",
+      "\n",
+      "#Result\n",
+      "print(\"for C = %.1f micro-F, R = %d Ohm. \\nThis value of R is not suitable because R must be less than %d ohm.\"%(C1*10**6,R1,R))\n",
+      "print(\"\\nfor C = %.1f micro-F, R = %.1f Ohm.\\nThis value is suitable because R is less than %d ohm\"%(C2*10**6,R2,R))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "for C = 0.5 micro-F, R = 1091 Ohm. \n",
+        "This value of R is not suitable because R must be less than 700 ohm.\n",
+        "\n",
+        "for C = 1.0 micro-F, R = 545.7 Ohm.\n",
+        "This value is suitable because R is less than 700 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 112
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.30, Page No. 82"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Range of firing angle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vs = 230.0             # supply voltage\n",
+      "Rmin= 1000.0           # minimum value of R1 resistor\n",
+      "Rmax = 22*10**3        # maximum value of R1 resistor\n",
+      "Vg = 2.0               # gate triggering voltage\n",
+      "C = 0.47*10**-6        # capacitor value\n",
+      "f = 50.0               # frequency\n",
+      "#Calculations\n",
+      "# For Rmin\n",
+      "theta = (180/math.pi)*math.atan(2*math.pi*f*C*Rmin)\n",
+      "theta = math.ceil(theta*10)/10\n",
+      "Vc = Vs*math.cos(theta*math.pi/180)\n",
+      "Vc = math.floor(Vc*100)/100\n",
+      "alfa = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc)))+theta\n",
+      "alfa = math.floor(alfa*10)/10\n",
+      "\n",
+      "# for Rmax\n",
+      "theta2 = (180/math.pi)*math.atan(2*math.pi*f*C*Rmax)\n",
+      "theta2 = math.ceil(theta2*10)/10\n",
+      "Vc2 = Vs*math.cos(theta2*math.pi/180)\n",
+      "Vc2 = math.floor(Vc2*100)/100\n",
+      "alfa2 = ((180/math.pi)*math.asin(Vg/(math.sqrt(2)*Vc2)))+theta2\n",
+      "alfa2 = math.ceil(alfa2*10)/10\n",
+      "\n",
+      "#Result\n",
+      "print(\"Minimum firing angle = %.1f\u00b0\"%alfa)\n",
+      "print(\"Maximum firing angle = %.1f\u00b0\"%alfa2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum firing angle = 8.7\u00b0\n",
+        "Maximum firing angle = 74.1\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 137
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.31, Page No. 83"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# UJT relaxation oscillator design(reffering to fig.2.40)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "f = 50.0                   # frequency of supply\n",
+      "Vbb = 12.0                 # typical input vpltage\n",
+      "P = 300*10**3              # maximumm average power dissipation\n",
+      "Rbb = 5.6*10**3            # base resistor\n",
+      "Iv = 4*10**-3              # Valley point voltage\n",
+      "h = 0.63                   # intrinsic stand off ratio\n",
+      "Vd = 0.5                   # drop across p-n junction\n",
+      "Vv = 2.0                   # Valley point voltage\n",
+      "Ip = 5*10**-6              # peak point current\n",
+      "v = 0.18                   # minimum voltage for which SCR will not trigger\n",
+      "\n",
+      "#calculation\n",
+      "T = 1/f\n",
+      "#operating point should be on the left of valley point\n",
+      "R_1 = (Vbb-Vv)/Iv             # R should be greater than this value\n",
+      "Vp = (h*Vbb)+Vd\n",
+      "#operation point should lie in the negative resistance region of characteristics of UJT\n",
+      "R_2 = (Vbb-Vp)/Ip              # R should be less than this value\n",
+      "C = 0.02*10**-6               # assumed\n",
+      "R_3 = T/(C*math.log(1/(1-h)))\n",
+      "\n",
+      "C2 = 0.04*10**-6               # assumed\n",
+      "R_4 = T/(C2*math.log(1/(1-h)))\n",
+      "R = 500*10**3                  # assumed\n",
+      "Rmax = R+R_1\n",
+      "R3_1 = (10**4)/(h*Vbb)\n",
+      "R3 = 1200                      # assumed\n",
+      "R4_1 = v*(R3+Rbb)/(Vbb-v)      # R4 value should be less than this value\n",
+      "R4 = 100                       # assumed  \n",
+      "tw = R4*C2\n",
+      "tow_min = R_1*C2*math.log(1/(1-h))\n",
+      "alfa_min = tow_min*(360/T)\n",
+      "tow_max = Rmax*C2*math.log(1/(1-h))\n",
+      "alfa_max = tow_max*(360/T)\n",
+      "\n",
+      "#Result\n",
+      "print(\"For C = %.2f micro F, R = %.2f k-ohm\\nThis value of R is more than maximum of %d k-ohm.\"%(C*10**6,R_3/1000,R_2/1000) )\n",
+      "print(\"Hence not suitable.\")\n",
+      "print(\"\\nFor C = %.2f micro F, R = %.2f K-ohm.\"%(C2*10**6,R_4/1000))\n",
+      "print(\"As this is less than max value. It is suitable. \\nLets assume R = %d k-ohm\"%(R/1000))\n",
+      "print(\"Rmax = %.1f k-ohm\"%(Rmax/1000))\n",
+      "print(\"\\nR3 = %.2f k-ohm. so take nearest value R3 = %.1f k-ohm\"%(R3_1/1000,R3/1000.0))\n",
+      "print(\"\\nR4 = %.2f ohm. so take nearest value R4 = %.1f ohm\"%(R4_1,R4))\n",
+      "print(\"\\nMinimum firing angle = %.2f\u00b0\"%alfa_min)\n",
+      "print(\"Maximum firing angle = %.1f\u00b0\"%alfa_max)\n",
+      "print(\"\\nThough maximum firing angle available is %.1f\u00b0, it will not be needed\"%alfa_max)\n",
+      "print(\"because in a single phase full wave converter the maximum firing angle is 180\u00b0\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For C = 0.02 micro F, R = 1005.78 k-ohm\n",
+        "This value of R is more than maximum of 788 k-ohm.\n",
+        "Hence not suitable.\n",
+        "\n",
+        "For C = 0.04 micro F, R = 502.89 K-ohm.\n",
+        "As this is less than max value. It is suitable. \n",
+        "Lets assume R = 500 k-ohm\n",
+        "Rmax = 502.5 k-ohm\n",
+        "\n",
+        "R3 = 1.32 k-ohm. so take nearest value R3 = 1.2 k-ohm\n",
+        "\n",
+        "R4 = 103.55 ohm. so take nearest value R4 = 100.0 ohm\n",
+        "\n",
+        "Minimum firing angle = 1.79\u00b0\n",
+        "Maximum firing angle = 359.7\u00b0\n",
+        "\n",
+        "Though maximum firing angle available is 359.7\u00b0, it will not be needed\n",
+        "because in a single phase full wave converter the maximum firing angle is 180\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 166
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.32, Page No.92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# conduction time of thyristor\n",
+      "\n",
+      "import math\n",
+      "#variable declaratrion\n",
+      "R =0.8                   # load resistance\n",
+      "L = 10*10**-6            # inductance\n",
+      "C = 50*10**-6            # capacitance\n",
+      "\n",
+      "#calculations\n",
+      "R1 = math.sqrt(4*L/C)      # R should be less than this value\n",
+      "t = math.pi/(math.sqrt((1/(L*C))-((R**2)/(4*L**2))))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Value of sqrt(4L/C)  is %.4f and give R = %.1f\\nTherefore, the circuit is underdamped.\"%(R1,R))\n",
+      "print(\"\\nt0 = %.2f*10**-6 seconds\"%(t*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of sqrt(4L/C)  is 0.8944 and give R = 0.8\n",
+        "Therefore, the circuit is underdamped.\n",
+        "\n",
+        "t0 = 157.08*10**-6 seconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 169
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.33, Page No. 92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Values of L and C\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "I = 8.0                  # load current\n",
+      "V = 90.0                 # Supply voltage\n",
+      "t = 40.0*10**-6          # turn off time\n",
+      "\n",
+      "#calculation\n",
+      "#print(\"Assume peak value of capacitor current to be twice the load cuuren.\")\n",
+      "C_by_L = (2*I/V)**2         # using eq 2.33\n",
+      "#print(\"Assume that thyristor is reverse biased for one-fourth period of resonant circuit.\")\n",
+      "CL = (t*2/math.pi)**2\n",
+      "# (2*I/V)^2*L^2 =(t*2/math.pi)^2\n",
+      "\n",
+      "L = math.sqrt(CL/C_by_L)\n",
+      "C =C_by_L*L\n",
+      "\n",
+      "print(\"L = %.2f*10**-6 H\\nC = %.3f*10**-6 F\"%(L*10**6,C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 143.24*10**-6 H\n",
+        "C = 4.527*10**-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 173
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.34, Page No. 92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Value of C for commutation\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 10                    # load resistace\n",
+      "V = 100                   # supply voltage \n",
+      "t = 50 * 10**-6           # turn off time\n",
+      "\n",
+      "#Calculations\n",
+      "C = t/(R*math.log(2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 7.21*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 176
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.35, Page No. 93"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# L and C of commutation circuit\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 100                    # supply voltage\n",
+      "I = 40                     # maximumm load current\n",
+      "T = 40*10**-6              # turn off time\n",
+      "t = 1.5                    # extra 50% tolerance\n",
+      "\n",
+      "#Calculation\n",
+      "T = T*t\n",
+      "C = I*T/V\n",
+      "L = (V**2)*C/(I**2)\n",
+      "Ip = V*math.sqrt(C/L)\n",
+      "L2 = 2* 10**-4             # assume\n",
+      "Ip2 = V*math.sqrt(C/L2)\n",
+      "print(\"C = %.0f*10^-6 F\\nL = %.1f*10^-4 H\\nPeak capacitor current = %d A\"%(C*10**6,L*10**4,Ip))\n",
+      "print(\"\\nPeak capacitor current should be less than maximum load currentof %d A. If L is selected as %d *10^-4 H,\"%(I,L2*10**4))\n",
+      "print(\"the peak capacitor current will be %.1f A. Since this is less than %d A, this value of L is satisfactory.\"%(Ip2,I))\n",
+      "print(\"\\nHence,\\nC = %.0f*10^-6 F\\nL = %.1f*10^-4 H\"%(C*10**6,L2*10**4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 24*10^-6 F\n",
+        "L = 1.5*10^-4 H\n",
+        "Peak capacitor current = 40 A\n",
+        "\n",
+        "Peak capacitor current should be less than maximum load currentof 40 A. If L is selected as 2 *10^-4 H,\n",
+        "the peak capacitor current will be 34.6 A. Since this is less than 40 A, this value of L is satisfactory.\n",
+        "\n",
+        "Hence,\n",
+        "C = 24*10^-6 F\n",
+        "L = 2.0*10^-4 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 187
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.36, Page No. 93"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# current rating of the thyristor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vdc = 100.0               # input voltage\n",
+      "L = 0.1 *10**-3           # Inductance\n",
+      "C = 10*10**-6             # capacitance\n",
+      "Vc = 100.0                # iinitial voltage on capacitor\n",
+      "t = 25.0*10**-6           # thyristor turn offf time\n",
+      "I = 10.0                  # Thyristor load current\n",
+      "\n",
+      "#Calculations\n",
+      "t_off = Vc*C/I\n",
+      "Ic = Vdc*math.sqrt(C/L)\n",
+      "\n",
+      "# Result\n",
+      "print(\"t_off = %d *10^-6 S\\nt_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\"%(t_off*10**6))\n",
+      "print(\"\\nPeak capacitor current = %.2fA \"%Ic)\n",
+      "print(\"Maximum current rating of thyristor should be more than %.2fA\"%Ic)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "t_off = 100 *10^-6 S\n",
+        "t_off is more than thyristor turn off time and is thus sufficient to commutate the main circuit.\n",
+        "\n",
+        "Peak capacitor current = 31.62A \n",
+        "Maximum current rating of thyristor should be more than 31.62A\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.37, Page No. 97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# value of R and C for snubber circuit\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "dv_by_dt = 25*10**6                 # Thyristor's dv/dt rating\n",
+      "L = 0.2 *10**-3                     # source inductance\n",
+      "V = 230                             # Supply voltage\n",
+      "df = 0.65                           # damping factor\n",
+      "\n",
+      "#Calculation\n",
+      "Vm = V*math.sqrt(2) \n",
+      "C = (1/(2*L))*(0.564*Vm/dv_by_dt)**2\n",
+      "R = 2*df*math.sqrt(L/C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f*10^-9 F\\n\\nR = %.1f ohm\"%(C*10**9,R))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 134.62*10^-9 F\n",
+        "\n",
+        "R = 50.1 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.38, Page No.97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# snuubber circuit parameters\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 300.0                      # input voltage\n",
+      "Rl = 10.0                      # load resistance\n",
+      "f = 2000.0                     # operating frequency otf the circuit\n",
+      "dv_by_dt = 100.0*10**6         # required dv/dt  rating of the circuit\n",
+      "I = 100.0                      # discharge current\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "R = V/I\n",
+      "C = (1-(1/math.e))*Rl*V/(dv_by_dt*((R+Rl)**2))\n",
+      "C = math.floor(C*10**9)/10**9\n",
+      "#(b)\n",
+      "P = (C*V**2*f)/2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nR = %f ohm\\nC = %.3f*10^-6 F\"%(R,C*10**6))\n",
+      "print(\"\\n(b)\\nSnubber power loss = %.2f W\"%P)\n",
+      "print(\"\\nAll the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is %.2f W.\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "R = 3.000000 ohm\n",
+        "C = 0.112*10^-6 F\n",
+        "\n",
+        "(b)\n",
+        "Snubber power loss = 10.08 W\n",
+        "\n",
+        "All the energy stored in capacitor C is dissipated in resistance R. Hence power rating of R is 10.08 W.\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.39, Page No.98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# maximum permissiible values of dv/dt and di/dt\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 4.0              # resistance\n",
+      "L = 6.0*10**-6       # inductance\n",
+      "C = 6.0*10**-6       # capacitance\n",
+      "V = 300.0            # Supply voltage\n",
+      "\n",
+      "#calculations\n",
+      "di_dt = V/L\n",
+      "Isc = V/R\n",
+      "dv_dt =(R* di_dt)+(Isc/C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Maximum di/dt = %.0f*10^6 A/s\\n\\nmaximum permissible dv/dt = %.1f*10^6 V/s\"%(di_dt*10**-6,dv_dt*10**-6))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum di/dt = 50*10^6 A/s\n",
+        "\n",
+        "maximum permissible dv/dt = 212.5*10^6 V/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.40, Page No.98"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# snubber circuit designe\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "\n",
+      "Rl = 8.0                 # load resistance\n",
+      "V = 230.0                # supply voltage\n",
+      "I = 200.0                # repititive peak current \n",
+      "di_dt = 40.0*10**6       # max. di/di rating\n",
+      "dv_dt = 150.0*10**6      # max. dv/dv rating\n",
+      "sf = 2.0                 # safety factor for thyristor\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "I1 = I/2.0\n",
+      "di_dt2 = di_dt/2.0\n",
+      "dv_dt2 = dv_dt/2\n",
+      "Vp = V*math.sqrt(2)\n",
+      "#Vp = math.floor((Vp*10)/10)\n",
+      "L2 = Vp/di_dt2\n",
+      "L2 = math.floor(L2*10**8)/10**8\n",
+      "R2 = L2*dv_dt2/Vp\n",
+      "Ip = Vp/Rl\n",
+      "Ic = (math.floor(Vp*10)/10)/R2\n",
+      "It = math.floor(Ip*100)/100+Ic\n",
+      "Ic_max = I1 - Ip\n",
+      "Ic_max = math.ceil(Ic_max*100)/100\n",
+      "R = Vp /Ic_max\n",
+      "R = math.ceil(R)\n",
+      "h = 0.65                  #assumed       \n",
+      "C = 4*(h**2)*L2/R**2\n",
+      "dv_dt3 = Vp/((R+Rl)*C)\n",
+      "\n",
+      "#Result\n",
+      "print(\"when safety factor is 2 ,maximum permisible ratings are:\")\n",
+      "print(\"max. di/dt = %.0f*10^6 A/s\\nmax. dv/dt = %.0f*10^6 V/s\"%(di_dt2*10**-6,dv_dt2*10**-6))\n",
+      "print(\"\\nPeak value of input voltage = %.1f V\"%(math.floor(Vp*10)/10))\n",
+      "print(\"L = %.2f*10^-6 H \\nR = %.2f ohm\"%(L2*10**6,R2))\n",
+      "print(\"Peak load current = %.2fA\\nPeak capacitor discharge current = %.2f A\"%(math.floor(Ip*100)/100,Ic))\n",
+      "print(\"Total current through capacitor = %.2f\"%It)\n",
+      "print(\"\\nSince total current through capacitor is more than permissible vale. Hence max capacitor discharge current = %.2fA\"%Ic_max)\n",
+      "print(\"R = %.0f ohm\\nC = %.4f*10^-6F\"%(R,C*10**6))\n",
+      "print(\"dv/dt = %.2f*10^6 V/s\\nSince this value is within specified limit the design is safe. \"%(math.floor(dv_dt3*10**-4)/100))\n",
+      "print(\"Hence, R = %d ohm, C = %.4f micro-F and L = %.2f micro-H\"%(R,C*10**6,L2*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "when safety factor is 2 ,maximum permisible ratings are:\n",
+        "max. di/dt = 20*10^6 A/s\n",
+        "max. dv/dt = 75*10^6 V/s\n",
+        "\n",
+        "Peak value of input voltage = 325.2 V\n",
+        "L = 16.26*10^-6 H \n",
+        "R = 3.75 ohm\n",
+        "Peak load current = 40.65A\n",
+        "Peak capacitor discharge current = 86.74 A\n",
+        "Total current through capacitor = 127.39\n",
+        "\n",
+        "Since total current through capacitor is more than permissible vale. Hence max capacitor discharge current = 59.35A\n",
+        "R = 6 ohm\n",
+        "C = 0.7633*10^-6F\n",
+        "dv/dt = 30.43*10^6 V/s\n",
+        "Since this value is within specified limit the design is safe. \n",
+        "Hence, R = 6 ohm, C = 0.7633 micro-F and L = 16.26 micro-H\n"
+       ]
+      }
+     ],
+     "prompt_number": 83
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.41, Page No. 100"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Fault clearing time(referring to fig.2.59)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "I2t = 30                # I2t rating of thyristor\n",
+      "V = 230                 # supply voltage\n",
+      "#For resistor values refer to fig 2.59\n",
+      "R1 = 2.0\n",
+      "R2 = 1.0\n",
+      "R3 = 5.0\n",
+      "R4 = 6.0\n",
+      "R5 = 5.0 \n",
+      "#calculation\n",
+      "Rnet = R1+(R3*R2)/R4\n",
+      "If = math.sqrt(2)*V/Rnet\n",
+      "tc = I2t/(If**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"tc = %.3f*10^-3 seconds \"%(math.ceil(tc*1000*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "tc = 2.277*10^-3 seconds \n"
+       ]
+      }
+     ],
+     "prompt_number": 90
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.42, Page No.103"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# number of thyristors in series and parallel\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 3*10**3                   # supply voltage\n",
+      "I = 750.0                     # supply current\n",
+      "V1 = 800.0                    # Thyristor voltage rating\n",
+      "I1 = 175.0                    # Thyristor current rating\n",
+      "d = 0.25                      # derating\n",
+      "\n",
+      "\n",
+      "# Calculation\n",
+      "np = I/((1-d)*I1)\n",
+      "ns = V/((1-d)*V1)\n",
+      "print(\"np = %.2f or %d\"%(np,math.ceil(np)))\n",
+      "print(\"ns = %d\"%(math.ceil(ns)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "np = 5.71 or 6\n",
+        "ns = 5\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.43, Page No. 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Value of R and C\n",
+      "\n",
+      "import math\n",
+      "#variable declaration(referring to example 2.42)\n",
+      "V = 3*10**3                   # supply voltage\n",
+      "I = 750.0                     # supply current\n",
+      "V1 = 800.0                    # Thyristor voltage rating\n",
+      "I1 = 175.0                    # Thyristor current rating\n",
+      "d = 0.25                      # derating\n",
+      "Ib = 8*10**-3                 # maximum forward leakage current\n",
+      "del_Q = 30*10**-6             # recovery charge difference\n",
+      "ns = 5                        # number of series thyristors \n",
+      "\n",
+      "#Calculations\n",
+      "R = ((ns*V1)-V)/((ns-1)*Ib)\n",
+      "C = (ns-1)*del_Q/(ns*V1-V)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.2f*10^3 ohm\\nC = %.2f*10^-6 F\"%(R/1000,C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 31.25*10^3 ohm\n",
+        "C = 0.12*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 99
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.44, Page No. 104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# series resistance\n",
+      "\n",
+      "import math\n",
+      "# variabe declaration\n",
+      "I1 = 200               # thyristor1 current rating\n",
+      "I2 = 300               # thyristor2 current rating\n",
+      "V1 = 1.5               # on state voltage drop of thyristor1 \n",
+      "V2 = 1.2               # on state voltage drop of thyristor2\n",
+      "\n",
+      "#Calculations\n",
+      "R = (V1-V2)/(I2-I1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.3f ohm\"%R)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 0.003 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 100
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.45, Page No.104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Thyristor parameters\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "ns = 12                 # no of series thyristors\n",
+      "V = 16*10**3            # maximum DC voltage rating\n",
+      "Ib = 10*10**-3          # maximum leakage current of thyristor\n",
+      "del_Q = 150 *10**-6     # recovery charge differences of thyristors\n",
+      "R = 56*10**3            # resistance\n",
+      "C = 0.5 *10**-6         # Capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "Vd1 = (V+(ns-1)*R*Ib)/ns\n",
+      "ssvd = 1-(V/(ns*Vd1))\n",
+      "Vd2 = (V+((ns-1)*del_Q/C))/ns\n",
+      "tsvd = 1-(V/(ns*Vd2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Maximum steady state voltage rating = %.2f V\"%Vd1)\n",
+      "print(\"(b) Steady state voltage derating = %.3f or %.1f%%\"%(ssvd,ssvd*100))\n",
+      "print(\"(c) Maximum transient state voltage rating = %.2f V\"%Vd2)\n",
+      "print(\"(d) Transient state voltage derating = %.3f or %.1f%%\"%(tsvd,tsvd*100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Maximum steady state voltage rating = 1846.67 V\n",
+        "(b) Steady state voltage derating = 0.278 or 27.8%\n",
+        "(c) Maximum transient state voltage rating = 1608.33 V\n",
+        "(d) Transient state voltage derating = 0.171 or 17.1%\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.46, Page No.104"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# No of Thyristor\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 500.0                # single thyristor voltage rating\n",
+      "I = 75.0                 # single thyristor current rating\n",
+      "Vmax = 7.5*10**3         # overall voltage rating of the circuit\n",
+      "Imax = 1.0*10**3         # overall current rating of the circuit\n",
+      "df = 0.14                # derating factor\n",
+      "\n",
+      "#Calcaulations\n",
+      "ns = Vmax/((1-df)*V)\n",
+      "np = Imax/((1-df)*I)\n",
+      "\n",
+      "#Result\n",
+      "print(\"No of thyristors in series, ns = %.2f say %d\"%(ns,math.ceil(ns)))\n",
+      "print(\"No of thyristors in parallel, np = %.2f say %d\"%(np,math.ceil(np)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "No of thyristors in series, ns = 17.44 say 18\n",
+        "No of thyristors in parallel, np = 15.50 say 16\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.47, Page No. 105"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Turn off voltage and discharge current through SCR\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vmax = 8.0*10**3             # max voltage rating of the circuit\n",
+      "R = 20.0*10**3               # static equalising resistance \n",
+      "Rc = 25.0                    # Resistace of dynamic equalising circuit\n",
+      "C = 0.1*10**-6               # Capacitance of dynamic equalising circuit\n",
+      "Ib1 = 22.0*10**-3            # leakage current of thyristor1\n",
+      "Ib2 = 20.0*10**-3            # leakage current of thyristor2\n",
+      "Ib3 = 18.0*10**-3            # leakage current of thyristor3\n",
+      "\n",
+      "\n",
+      "#Calculations \n",
+      "#(a)\n",
+      "I = ((Vmax/R)+(Ib1+Ib2+Ib3))/3\n",
+      "V1 = (I-Ib1)*R\n",
+      "V2 = (I-Ib2)*R\n",
+      "V3 = (I-Ib3)*R\n",
+      "#(b)\n",
+      "I1 = V1/Rc\n",
+      "I2 = V2/Rc\n",
+      "I3 = V3/Rc\n",
+      "\n",
+      "#Result\n",
+      "print(\"Voltage across SCR 1 = %.1fV\"%(math.floor(V1*10)/10))\n",
+      "print(\"Voltage across SCR 2 = %.1fV\"%(math.floor(V2*10)/10))\n",
+      "print(\"Voltage across SCR 3 = %.1fV\"%(math.floor(V3*10)/10))\n",
+      "print(\"Discharge current through SCR 1 = %.2fA\"%(math.floor(I1*100)/100))\n",
+      "print(\"Discharge current through SCR 2 = %.2fA\"%(math.floor(I2*100)/100))\n",
+      "print(\"Discharge current through SCR 3 = %.2fA\"%(math.floor(I3*100)/100))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Voltage across SCR 1 = 2626.6V\n",
+        "Voltage across SCR 2 = 2666.6V\n",
+        "Voltage across SCR 3 = 2706.6V\n",
+        "Discharge current through SCR 1 = 105.06A\n",
+        "Discharge current through SCR 2 = 106.66A\n",
+        "Discharge current through SCR 3 = 108.26A\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_3_1.ipynb b/Power_Electronics/Power_electronics_ch_3_1.ipynb
new file mode 100755
index 00000000..8f24e4d1
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_3_1.ipynb
@@ -0,0 +1,2276 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3: Controlled Rectifiers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.1, Page No. 127"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.2, Page No. 129"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.3, Page No. 130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Half wave diode rectifier\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "V = 12.0                # Voltage of the battery to be charged\n",
+      "B = 150.0               # battery capacity in Wh\n",
+      "I = 4.0                 # average current requirement\n",
+      "t = 4.0                 # transformer primary to secondary ratio \n",
+      "Vi = 230.0              # voltage at transformer primary\n",
+      "\n",
+      "# Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vp = Vi*sqrt_2/t\n",
+      "#(a)\n",
+      "alfa = (180/math.pi)*(math.asin(V/Vp))\n",
+      "ang_c = (180-alfa)-alfa\n",
+      "ang_c = math.floor(ang_c*100)/100\n",
+      "#(b)\n",
+      "def f(wt):\n",
+      "    return ((Vp*math.sin(wt))-V)/(2*math.pi*I)\n",
+      "wt_lower=(alfa*math.pi/180)\n",
+      "wt_upper =math.pi-(alfa*math.pi/180)\n",
+      "val1 = quad(f,wt_lower,wt_upper)\n",
+      "R = val1[0]\n",
+      "R = math.floor(R*100)/100\n",
+      "#(c)\n",
+      "def g(wt):\n",
+      "    return (((Vp*math.sin(wt))-V)**2)/(2*math.pi*(R**2))\n",
+      "val2 = quad(g,wt_lower,wt_upper)\n",
+      "Irms = val2[0]\n",
+      "Irms = math.floor(math.sqrt(Irms)*100)/100\n",
+      "P = (Irms**2)*R\n",
+      "#(d)\n",
+      "T = B/(V*I)\n",
+      "#(e)\n",
+      "eff = (V*I)/((V*I)+P)\n",
+      "#(f)\n",
+      "PIV = Vp+V\n",
+      "\n",
+      "#Results\n",
+      "print(\"(a) Conduction angle = %.2f\u00b0\\n(b) R = %.2f ohm\\n(c) Irms = %.2f A\\n    Resistor power rating = %.1f W\"%(ang_c,R,Irms,P))\n",
+      "print(\"(d) Time of charging = %.3f hours\\n(e) Rectifier efficiency = %.4f or %.2f%%\\n(f) PIV = %.3f V\"%(T,eff,eff*100,PIV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Conduction angle = 163.02\u00b0\n",
+        "(b) R = 5.04 ohm\n",
+        "(c) Irms = 6.58 A\n",
+        "    Resistor power rating = 218.2 W\n",
+        "(d) Time of charging = 3.125 hours\n",
+        "(e) Rectifier efficiency = 0.1803 or 18.03%\n",
+        "(f) PIV = 93.305 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.4, Page No. 131"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Full wave centre tapped rectifier\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vm = 100.0             # transformer secondary voltage from mid point to each end\n",
+      "R = 5.0                # resistance\n",
+      "\n",
+      "#Calculation\n",
+      "#(b)\n",
+      "Idc = 2*Vm/(math.pi*R)\n",
+      "Idc = math.floor(Idc*1000)/1000\n",
+      "Vdc = Idc*R\n",
+      "Irms = 0.707*Vm/R\n",
+      "Pdc = R*Idc**2\n",
+      "Pdc = math.ceil(Pdc*100)/100\n",
+      "Pac = R*Irms**2\n",
+      "Pac = math.ceil(Pac*10)/10\n",
+      "eff = Pdc/Pac\n",
+      "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+      "RF = math.sqrt((FF**2)-1)\n",
+      "TUF = (((2/math.pi)**2)/(2*0.707*0.5))*100\n",
+      "PIV =2*Vm\n",
+      "\n",
+      "# Result\n",
+      "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+      "print(\"FF = %.2f\\nRF = %.3f\\nTUF = %.2f%%\\nPIV = %d\\nCF = %f\"%(FF,RF,TUF,PIV,math.sqrt(2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Idc = 12.732 A\n",
+        "Vdc = 63.66 V\n",
+        "Irms = 14.14 A\n",
+        "Pdc = 810.52\n",
+        "Pac = 999.7\n",
+        "Efficiency = 0.811\n",
+        "FF = 1.11\n",
+        "RF = 0.482\n",
+        "TUF = 57.32%\n",
+        "PIV = 200\n",
+        "CF = 1.414214\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.5, Page No.133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.6, Page No.135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase diode bridge rectifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vm = 100.0             # Peak input voltage\n",
+      "R = 5.0                # load resistance\n",
+      "\n",
+      "#Calculation\n",
+      "#(b)\n",
+      "Idc = 2*Vm/(math.pi*R)\n",
+      "Idc = math.floor(Idc*1000)/1000\n",
+      "Vdc = Idc*R\n",
+      "Irms = 0.707*Vm/R\n",
+      "Pdc = R*Idc**2\n",
+      "Pdc = math.ceil(Pdc*100)/100\n",
+      "Pac = R*Irms**2\n",
+      "Pac = math.ceil(Pac*10)/10\n",
+      "eff = Pdc/Pac\n",
+      "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+      "RF = math.sqrt((FF**2)-1)\n",
+      "PIV =Vm\n",
+      "\n",
+      "# Result\n",
+      "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+      "print(\"FF = %.2f\\nRF = %.3f\\nPIV = %d\\nCF = %f\"%(FF,RF,PIV,math.sqrt(2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Idc = 12.732 A\n",
+        "Vdc = 63.66 V\n",
+        "Irms = 14.14 A\n",
+        "Pdc = 810.52\n",
+        "Pac = 999.7\n",
+        "Efficiency = 0.811\n",
+        "FF = 1.11\n",
+        "RF = 0.482\n",
+        "PIV = 100\n",
+        "CF = 1.414214\n"
+       ]
+      }
+     ],
+     "prompt_number": 43
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.7, Page No.135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.8, Page No.138"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase half wave rectifier circuit\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vm = 400                # amplitude of output sine wave\n",
+      "alfa = 30               # thyristor firing angle\n",
+      "R = 50                  # Load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+      "I = Vdc/R\n",
+      "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+      "Irms  = Vrms/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average DC voltage = %.1f V\\nAverage load current = %.3f A\"%(Vdc,I))\n",
+      "print(\"RMS voltage = %.1f V\\nRMS current = %.3f A\"%(Vrms,Irms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average DC voltage = 118.8 V\n",
+        "Average load current = 2.376 A\n",
+        "RMS voltage = 197.1 V\n",
+        "RMS current = 3.942 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 49
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.9, Page No. 138"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average current in the circuit\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "Vm = 100.0                   # peak input voltage\n",
+      "V = 50.0                     # voltage of battery to be charged\n",
+      "R = 10.0                     # load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "wt = math.asin(V/Vm)\n",
+      "wt2= math.pi-wt\n",
+      "def f(wt):\n",
+      "    return ((Vm*math.sin(wt))-V)/(2*math.pi*R)\n",
+      "wt_lower=wt\n",
+      "wt_upper =wt2\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "i = val[0]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average current in the circuit = %.2f A\"%i)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average current in the circuit = 1.09 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.10, Page No. 139"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average current\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "Vm = 110.0                # peak input voltage\n",
+      "f = 50.0                 # input frequency\n",
+      "Ra = 10.0                # motor armature resistance\n",
+      "E = 55.5                 # back emf of the motor\n",
+      "\n",
+      "#Calculations\n",
+      "wt = math.asin(E/(Vm*math.sqrt(2)))\n",
+      "wt2 = math.pi-wt\n",
+      "def f(wt):\n",
+      "    return ((math.sqrt(2)*Vm*math.sin(wt))-E)/(2*math.pi*Ra)\n",
+      "wt_lower=wt\n",
+      "wt_upper =wt2\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "i = val[0]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average current in the circuit = %.3f A\"%i)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average current in the circuit = 2.495 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.11, Page No. 139"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase half wave rectifier\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "R = 15.0             # load resistance\n",
+      "V = 230.0            # supply voltage\n",
+      "alfa = math.pi/2     # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "Vm = math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+      "Vdc = math.ceil(Vdc*100)/100\n",
+      "Idc = Vdc/R\n",
+      "Idc = math.floor(Idc*100)/100\n",
+      "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+((math.sin(2*alfa))/(8*math.pi)))\n",
+      "Vrms = math.ceil(Vrms*100)/100\n",
+      "Irms =Vrms/R\n",
+      "Irms = math.floor(Irms*100)/100\n",
+      "#(b)\n",
+      "Pdc = Vdc*Idc\n",
+      "Pac = Vrms*Irms\n",
+      "eff = Pdc/Pac\n",
+      "#(c)\n",
+      "FF = Vrms/Vdc\n",
+      "RF = math.sqrt((FF**2)-1)\n",
+      "#(d)\n",
+      "VA = V*Irms\n",
+      "TUF = Pdc/VA\n",
+      "#(e)\n",
+      "PIV = Vm\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nVdc = %.2f V\\nIdc = %.2fA\\nVrms = %.2f V\\nIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+      "print(\"\\n(b)\\nRectification Efficiency = %.3f\"%eff)\n",
+      "print(\"\\n(c)\\nForm Factor = %.2f\\nRipple Factor = %.3f\\n\\n(d)\\nTransformer utilization factor =%.4f\\n\\n(e)PIV = %.1f V\"%(FF,RF,TUF,PIV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Vdc = 51.76 V\n",
+        "Idc = 3.45A\n",
+        "Vrms = 114.98 V\n",
+        "Irms = 7.66 A\n",
+        "\n",
+        "(b)\n",
+        "Rectification Efficiency = 0.203\n",
+        "\n",
+        "(c)\n",
+        "Form Factor = 2.22\n",
+        "Ripple Factor = 1.984\n",
+        "\n",
+        "(d)\n",
+        "Transformer utilization factor =0.1014\n",
+        "\n",
+        "(e)PIV = 325.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.12, Page No.146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave rectifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 150.0                 # input rms value\n",
+      "R = 30.0                  # load resistance\n",
+      "alfa =(math.pi/180)*45    # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vdc = V*sqrt_2*(1+math.cos(alfa))/math.pi\n",
+      "I = Vdc/R\n",
+      "Vrms = V*sqrt_2*math.sqrt(((math.pi-alfa)/(2*math.pi))+((math.sin(2*alfa))/(4*math.pi)))\n",
+      "Irms =Vrms/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vdc = %.2f V\\nAverage load current = %.2f A\\nVrms = %d V\\nRMS load current = %.3f A\"%(Vdc,I,Vrms,Irms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vdc = 115.25 V\n",
+        "Average load current = 3.84 A\n",
+        "Vrms = 143 V\n",
+        "RMS load current = 4.767 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.13, Page No. 146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Transformer and thyristor parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                 # input to transformer primary\n",
+      "f = 50.0                  # input frequency\n",
+      "Vdc = 100.0                # Average values of load voltage\n",
+      "Idc = 15.0                 # Average value of load current\n",
+      "alfa = 30*(math.pi/180)   # firing angle\n",
+      "d = 1.7                   # drop across thyristor\n",
+      "\n",
+      "\n",
+      "#caculatios\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = ((Vdc+d)*math.pi)/(2*math.cos(alfa))\n",
+      "Vm = math.floor(Vm*100)/100\n",
+      "Vrms = Vm/1.4109#math.sqrt(2)::to match the ans in book\n",
+      "N = V/Vrms\n",
+      "#(b)\n",
+      "Irms = math.sqrt((Idc**2)/2)\n",
+      "Irms = math.ceil(Irms*100)/100\n",
+      "Tr = 2*Vrms*Irms\n",
+      "\n",
+      "#(c)\n",
+      "PIV = 2*Vm\n",
+      "#(d)\n",
+      "It = Irms\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nVm = %.2f V\\nRMS voltage of each half cycle of secondary = %.2f V\\nTurn ratio of transformer = %.2f\"%(Vm,Vrms,N))\n",
+      "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c)PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(Tr,PIV,It))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Vm = 184.46 V\n",
+        "RMS voltage of each half cycle of secondary = 130.74 V\n",
+        "Turn ratio of transformer = 1.76\n",
+        "\n",
+        "(b)Transformer VA rating = 2774.3 VA\n",
+        "\n",
+        "(c)PIV = 368.92 V\n",
+        "\n",
+        "(d)RMS value of thyristor current = 10.61 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.14, Page No.148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# thyristor rated voltage\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "P = 10.0*10**3             # rectifier powwer rating\n",
+      "I = 50.0                   # thyristor current rating\n",
+      "sf = 2                     # safety factor\n",
+      "\n",
+      "#Calculations\n",
+      "Idc = I\n",
+      "#(a)\n",
+      "Vdc = P/Idc\n",
+      "Vm = Vdc*math.pi/2\n",
+      "PIV = 2*Vm\n",
+      "Vt = 2*PIV\n",
+      "#(a)\n",
+      "Vt2 = 2*Vm\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Full wave centre tapped recifier:\\n    Thyristor voltage rating = %.2f V\"%Vt)\n",
+      "print(\"\\n(b) Full wave bridge rectifier:\\n    Thyristor voltage rating = %.2f V\"%Vt2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Full wave centre tapped recifier:\n",
+        "    Thyristor voltage rating = 1256.64 V\n",
+        "\n",
+        "(b) Full wave bridge rectifier:\n",
+        "    Thyristor voltage rating = 628.32 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.15, Page No. 149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage, firing angle, load current\n",
+      "\n",
+      "import math\n",
+      "from numpy import poly1d\n",
+      "#variable declaaration\n",
+      "V = 230.0                # input voltage\n",
+      "P = 1000.0               # output power rating\n",
+      "Pl = 800.0               # Actual power delivered\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vrms = math.sqrt((Pl*V**2)/P)\n",
+      "Vrms = math.ceil(Vrms*100)/100\n",
+      "#(b)\n",
+      "#After solving equation using taylor seris of X, we got following coefficient. \n",
+      "P = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vrms/V)**2))], variable = 'x')\n",
+      "x = P.r[(P.order+1)/2]*180/math.pi\n",
+      "alfa = math.ceil(x.real)\n",
+      "#(c)\n",
+      "I = Pl/Vrms\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vrms = %.2f V\\n(b) firing angle = %.0f\u00b0\\n(c) Load current(rms value) = %.3f A\"%(Vrms,alfa,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vrms = 205.72 V\n",
+        "(b) firing angle = 61\u00b0\n",
+        "(c) Load current(rms value) = 3.889 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.16, Page No.149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average power output\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 800.0               # thyristor peak voltage rating\n",
+      "I = 30.0                # average forward current\n",
+      "sf = 2.5                # safety factor\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vm = V/(2*sf)\n",
+      "Vdc = 2*Vm/math.pi\n",
+      "Vdc = math.ceil(Vdc*100)/100\n",
+      "Idc = I/sf\n",
+      "P = Idc*Vdc\n",
+      "#(b)\n",
+      "Vm2 = V/sf\n",
+      "Vdc2 = 2*Vm2/math.pi\n",
+      "Vdc2 = math.ceil(Vdc2*100)/100\n",
+      "Idc2 = I/sf\n",
+      "P2 = Idc2*Vdc2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) In a mid point converter:\\n    Average output power = %.2f W\"%P)\n",
+      "print(\"(b) In a Bridge converter:\\n    Average output power = %.2f W\"%P2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) In a mid point converter:\n",
+        "    Average output power = 1222.32 W\n",
+        "(b) In a Bridge converter:\n",
+        "    Average output power = 2444.64 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.17, Page No.150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Bridge converter parameters\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "V = 230.0              # input voltage\n",
+      "R = 10.0               # load resistance\n",
+      "alfa = 30*math.pi/180  # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(b)\n",
+      "Vm = math.sqrt(2)*V\n",
+      "def f(wt):\n",
+      "    return math.sin(wt)\n",
+      "wt_lower1 = alfa\n",
+      "wt_upper1 = math.pi\n",
+      "wt_lower2 = math.pi\n",
+      "wt_upper2 = 2*math.pi\n",
+      "val1 = quad(f,wt_lower1,wt_upper1)\n",
+      "val2 = quad(f,wt_lower2,wt_upper2)\n",
+      "Vo =math.floor(((Vm/(2*math.pi))*(val1[0]-val2[0]))*10)/10\n",
+      "I = Vo/R\n",
+      "P = Vo*I\n",
+      "#result\n",
+      "print(\"DC power output = %.3f W\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "DC power output = 4004.001 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.18, Page No. 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage and power\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0              # input voltage\n",
+      "R = 10.0               # load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vo = 2*sqrt_2*V/math.pi\n",
+      "Vo = math.floor(Vo*100)/100\n",
+      "I = Vo/R\n",
+      "P = Vo*I\n",
+      "\n",
+      "#Result\n",
+      "print(\"DC power = %.2f W\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "DC power = 4286.56 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 51
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.19, Page No.154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase bridge converter circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                       # input voltage\n",
+      "f = 50.0                        # input frequency\n",
+      "I = 15.0                        # constant load current\n",
+      "R = 0.5                         # load resistance\n",
+      "L = 0.3                         # inductance\n",
+      "E1 = 100                        # back emf for case 1\n",
+      "E2 = -100                       # back emf for case 2  \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "alfa1 = (math.acos((E1+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+      "#(b)\n",
+      "alfa2 = (math.acos((E2+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+      "#(c)\n",
+      "OP1 = (E1*I)+(R*I**2)\n",
+      "OP2 = (E2*I)+(R*I**2)\n",
+      "IP = V*I\n",
+      "pf1 = OP1/IP\n",
+      "pf2 = -OP2/IP\n",
+      "print(\"(a) Firing angle = %.2f\u00b0\"%(math.ceil(alfa1*100)/100))\n",
+      "print(\"(b) Firing angle = %.2f\u00b0\"%alfa2)#Answer in the book is wrong\n",
+      "print(\"(c) when E = %d : input power factor= %.3f lagging\\n    When E = %d: input power factor= %.3f lagging\"%(E1,pf1,E2,pf2)) "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Firing angle = 58.73\u00b0\n",
+        "(b) Firing angle = 116.54\u00b0\n",
+        "(c) when E = 100 : input power factor= 0.467 lagging\n",
+        "    When E = -100: input power factor= 0.402 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 67
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.20, Page No.155"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average load current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                  # input voltage\n",
+      "f = 50.0                   # frequency\n",
+      "R = 5.0                    # load resistance\n",
+      "L = 8*10**-3               # inductance\n",
+      "E = 50.0                   # back emf\n",
+      "alfa = 40*(math.pi/180)    # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "I = ((2*Vm*math.cos(alfa)/math.pi)-E)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average load current = %.2f A\"%I)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average load current = 21.72 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 69
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.21, Page No. 155"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Transformer and thyristor parameters for full bridge circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                 # input to transformer primary\n",
+      "f = 50.0                  # input frequency\n",
+      "Vdc = 100.0               # Average values of load voltage\n",
+      "Idc = 15.0                # Average value of load current\n",
+      "alfa = 30*(math.pi/180)   # firing angle\n",
+      "d = 1.7                   # drop across thyristor\n",
+      "\n",
+      "\n",
+      "#caculatios\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = ((Vdc+2*d)*math.pi)/(2*math.cos(alfa))\n",
+      "Vrms = Vm/sqrt_2\n",
+      "N = V/Vrms\n",
+      "#(b)\n",
+      "Irms = Idc\n",
+      "Tr = Vrms*Irms\n",
+      "#(c)\n",
+      "PIV = Vm\n",
+      "#(d)\n",
+      "Itrms = Idc/sqrt_2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nVm = %.2f V\\nRMS voltage of secondary = %.2f V\\nTurn ratio of transformer = %.3f\"%(Vm,Vrms,N))\n",
+      "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c) PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(math.ceil(Tr*10)/10,PIV,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Vm = 187.55 V\n",
+        "RMS voltage of secondary = 132.64 V\n",
+        "Turn ratio of transformer = 1.734\n",
+        "\n",
+        "(b)Transformer VA rating = 1989.6 VA\n",
+        "\n",
+        "(c) PIV = 187.55 V\n",
+        "\n",
+        "(d)RMS value of thyristor current = 10.61 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 80
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.22, Page No. 157"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase semi-converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "f = 50.0                 # frequency\n",
+      "alfa = 90*math.pi/180    # firing angle\n",
+      "\n",
+      "# Calculation\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+      "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/math.pi)\n",
+      "FF = Vrms/Vdc\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vdc = %.2f V\\nVrms = %.1f V\\nForm factor = %.3f \"%(Vdc,Vrms,FF))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vdc = 103.51 V\n",
+        "Vrms = 162.6 V\n",
+        "Form factor = 1.571 \n"
+       ]
+      }
+     ],
+     "prompt_number": 89
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.23, Page No.160"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase semi-converter Bridge circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "f = 50                   # frequency\n",
+      "alfa = 90*math.pi/180    # firing angle\n",
+      "\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "print(\"(a) Theoretical Section\")\n",
+      "#(b)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+      "Vdc = math.floor(Vdc*100)/100\n",
+      "pi = math.floor(math.pi*1000)/1000\n",
+      "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/pi)\n",
+      "Is = math.sqrt(1-((alfa)/math.pi)) \n",
+      "Is1 = 2*sqrt_2*math.cos(alfa/2)/math.pi\n",
+      "HF = math.sqrt((Is/Is1)**2-1)\n",
+      "theta = -alfa/2\n",
+      "DF = math.cos(theta)\n",
+      "Pf = Is1*math.cos(theta)/Is\n",
+      "\n",
+      "#Result\n",
+      "print(\"(b)\\nVdc = %.2f V\\nVrms = %.2f V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+      "print(\"Displacement factor = %.4f\\nInput power factor = %.4f lagging\"%(DF,Pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Theoretical Section\n",
+        "(b)\n",
+        "Vdc = 103.52 V\n",
+        "Vrms = 162.65 V\n",
+        "Harmonic factor = 0.484\n",
+        "Displacement factor = 0.7071\n",
+        "Input power factor = 0.6365 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 104
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.24, Page No.162"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phasefull converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "f = 50                   # frequency\n",
+      "alfa = math.pi/3         # firing angle\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "print(\"(a) Theoretical Section\")\n",
+      "#(b)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = 2*Vm*math.cos(alfa)/math.pi\n",
+      "Vdc = math.floor(Vdc*100)/100\n",
+      "Vrms = V\n",
+      "Is = 1\n",
+      "Is1 = 2*sqrt_2/math.pi\n",
+      "HF = math.sqrt((Is/Is1)**2-1)\n",
+      "theta = -alfa\n",
+      "DF = math.cos(theta)\n",
+      "Pf = Is1*math.cos(theta)/Is\n",
+      "\n",
+      "#Result\n",
+      "print(\"(b)\\nVdc = %.2f V\\nVrms = %d V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+      "print(\"Displacement factor = %.1f\\nInput power factor = %.2f lagging\"%(DF,Pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Theoretical Section\n",
+        "(b)\n",
+        "Vdc = 103.52 V\n",
+        "Vrms = 230 V\n",
+        "Harmonic factor = 0.484\n",
+        "Displacement factor = 0.5\n",
+        "Input power factor = 0.45 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 108
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.25, Page No.164"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase fully controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 230.0                 # input voltage\n",
+      "alfa = 30*math.pi/180     # firing angle\n",
+      "I = 4                     # Constant load current\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+      "R = Vdc/I\n",
+      "Il = math.floor((2*sqrt_2*I/math.pi)*10)/10\n",
+      "APi = V*Il*math.cos(alfa)\n",
+      "RPi = V*Il*math.sin(alfa)\n",
+      "App_i = V*Il\n",
+      "#(b)\n",
+      "Vdc1 = Vm*(1+math.cos(alfa))/3.1414#To adjust\n",
+      "Vdc1 = math.ceil(Vdc1*1000)/1000\n",
+      "Il1 = math.ceil((Vdc1/R)*100)/100\n",
+      "Il_2 = math.ceil((2*sqrt_2*Il1*math.cos(alfa/2)/math.pi)*100)/100\n",
+      "APi1 = V*Il_2*math.cos(alfa/2)\n",
+      "RPi1 = V*Il_2*math.sin(alfa/2)\n",
+      "App_i1 = V*Il_2\n",
+      "#(c)\n",
+      "Vdc3 = V*(1+math.cos(alfa))/(math.pi*sqrt_2)\n",
+      "Idc = math.floor((Vdc3/R)*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\n Vdc = %.1f V\\n Load resistance = %.3f ohm\\n Active power input = %.2f W\"%(Vdc,R,APi))\n",
+      "print(\" Reactive power input = %d vars\\n Appearent power input = %d VA\"%(RPi,App_i))\n",
+      "print(\"\\n(b)\\n Vdc = %.3f V\\n Load current = %.2f A\\n Active power input = %.1f W\"%(Vdc1,Il_2,APi1))\n",
+      "print(\" Reactive power input = %.2f vars\\n Appearent power input = %.1f VA\"%(RPi1,App_i1))\n",
+      "print(\"\\n(c)\\n Vdc = %.3f V\\n Average dc output current = %.2f A\"%(Vdc3,Idc))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        " Vdc = 179.3 V\n",
+        " Load resistance = 44.825 ohm\n",
+        " Active power input = 717.07 W\n",
+        " Reactive power input = 413 vars\n",
+        " Appearent power input = 828 VA\n",
+        "\n",
+        "(b)\n",
+        " Vdc = 193.185 V\n",
+        " Load current = 3.75 A\n",
+        " Active power input = 833.1 W\n",
+        " Reactive power input = 223.23 vars\n",
+        " Appearent power input = 862.5 VA\n",
+        "\n",
+        "(c)\n",
+        " Vdc = 96.615 V\n",
+        " Average dc output current = 2.15 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 147
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.26, Page No. 165"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      " # single phase fully controlled bridge converter with R-L load\n",
+      "    \n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230                  # input voltage\n",
+      "alfa = 30*math.pi/180    # firing angle\n",
+      "I = 10                   # constant load current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+      "#(b)\n",
+      "Irms = I\n",
+      "#(c)\n",
+      "Is = I\n",
+      "Is1 = 2*sqrt_2*I/math.pi\n",
+      "#(d)\n",
+      "DF = math.cos(-alfa)\n",
+      "#(e)\n",
+      "pf = math.floor((Is1*DF/Is)*1000)/1000\n",
+      "#(f)\n",
+      "HF = math.sqrt(((Is/Is1)**2)-1)\n",
+      "#(g)\n",
+      "FF = V/Vdc\n",
+      "RF = math.ceil((math.sqrt(FF**2-1))*1000)/1000\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) DC output voltage = %.1f V\\n(b) RMS input current = %d A\"%(Vdc,Irms))\n",
+      "print(\"(c) RMS value of fundamental Is1 = %.0f A\\n(d) Displacement factor = %.3f \"%(Is1,DF))\n",
+      "print(\"(e) Input power factor = %.3f lagging\\n(f) Harmonic factor = %.3f\\n(g) Form Factor = %.3f\\t\\tRipple Factor = %.3f\"%(pf,HF,FF,RF))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) DC output voltage = 179.3 V\n",
+        "(b) RMS input current = 10 A\n",
+        "(c) RMS value of fundamental Is1 = 9 A\n",
+        "(d) Displacement factor = 0.866 \n",
+        "(e) Input power factor = 0.779 lagging\n",
+        "(f) Harmonic factor = 0.484\n",
+        "(g) Form Factor = 1.283\t\tRipple Factor = 0.804\n"
+       ]
+      }
+     ],
+     "prompt_number": 165
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.27, Page No.166"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Half controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "alfa = 60*math.pi/180              # firing angle\n",
+      "V = 240                            # input voltage\n",
+      "R = 10                            # Load current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+      "#(b)\n",
+      "I = math.floor((Vdc/R)*1000)/1000\n",
+      "Is = I*(1-alfa/math.pi)**(0.5)\n",
+      "#(c)\n",
+      "Is1 = 2*sqrt_2*I*math.cos(alfa/2)/math.pi\n",
+      "fi = -alfa/2\n",
+      "DF =math.cos(fi)\n",
+      "pf = Is1*DF/Is\n",
+      "#(d)\n",
+      "P = I**2*R\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vdc = %.2f\\n(b) Load current = %.3f A\\n(c) Displacement factor = %.3f\\n    Input power factor = %.3f\"%(Vdc,I,DF,pf))\n",
+      "print(\"(d) Average power dissipated in load = %.2f W\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vdc = 162.03\n",
+        "(b) Load current = 16.203 A\n",
+        "(c) Displacement factor = 0.866\n",
+        "    Input power factor = 0.827\n",
+        "(d) Average power dissipated in load = 2625.37 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 170
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.28, Page No. 170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Fully controlled three-phase bridge rectifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "I = 200.0                # AC line current\n",
+      "Vac = 400.0              # AC line voltage\n",
+      "Vdc = 360.0              # DC voltage\n",
+      "var = 0.1                # 10% line volatge variation\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "alfa = math.acos(Vdc*math.pi*math.sqrt(3)/(3*math.sqrt(3)*Vac*math.sqrt(2)))*(180/math.pi)\n",
+      "#(b)\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "S = I*Vac*sqrt_3\n",
+      "P = S*math.ceil(math.cos(alfa*math.pi/180)*10000)/10000\n",
+      "Q = math.sqrt(S**2-P**2)\n",
+      "#(c)\n",
+      "Vac1 = (1+var)*Vac\n",
+      "alfa2 =math.acos(Vdc/(3*Vac1*math.sqrt(2)/math.pi))*180/math.pi\n",
+      "Vac2 = (1-var)*Vac\n",
+      "alfa3 =math.acos(Vdc/(3*Vac2*math.sqrt(2)/math.pi))*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) firing angle = %.1f\u00b0\\n(b) P = %.1f W\\n    Q = %.1f vars\"%(S,P,Q))\n",
+      "print(\"(c) When ac line voltage is %d V : alfa = %.1f\u00b0\\n    When ac line voltage is %d V : alfa = %.1f\u00b0\"%(Vac1,alfa2,Vac2,alfa3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) firing angle = 138560.0\u00b0\n",
+        "(b) P = 92350.2 W\n",
+        "    Q = 103297.2 vars\n",
+        "(c) When ac line voltage is 440 V : alfa = 52.7\u00b0\n",
+        "    When ac line voltage is 360 V : alfa = 42.2\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 188
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.29, Page No.170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase full converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0               # 3-phase input voltage\n",
+      "I = 150.0               # Average load current\n",
+      "alfa = 60*math.pi/180   # firing angle\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+      "Vdc =269.23#3*math.sqrt(3)*Vm*math.cos(alfa)/math.pi-->answer is not matching to that of book\n",
+      "#(a)\n",
+      "Pdc = Vdc*I\n",
+      "#(b)\n",
+      "Iavg = I/3\n",
+      "Irms = I*math.sqrt(2.0/6)\n",
+      "Vp = math.sqrt(2)*V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Output power = %.1f W\\n(b)\\nAverage thyristor current = %d A\\nRMS value of thyristor current = %.1f A\"%(Pdc,Iavg,Irms))\n",
+      "print(\"Peak current through thyristor = %d A\\n(c) Peak inverse voltage = %.1f V\"%(I,math.floor(Vp*10)/10))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Output power = 40384.5 W\n",
+        "(b)\n",
+        "Average thyristor current = 50 A\n",
+        "RMS value of thyristor current = 86.6 A\n",
+        "Peak current through thyristor = 150 A\n",
+        "(c) Peak inverse voltage = 565.6 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 258
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.30, Page No.170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase fully controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 400.0                         # line to line input voltage\n",
+      "R = 100.0                         # load resistance\n",
+      "P = 400.0                         # power supplied to load\n",
+      "\n",
+      "#Calculations\n",
+      "Vrms = math.sqrt(V*R)\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+      "#(a)\n",
+      "alfa = math.acos((((Vrms/(sqrt_3*Vm))**2)-0.5)*(4*math.pi/(3*sqrt_3)))\n",
+      "alfa= (alfa/2)*(180/math.pi)\n",
+      "#(b)\n",
+      "I = math.sqrt(V/R)\n",
+      "Is = math.floor(math.sqrt(2*120.0/180.0)*100)/100\n",
+      "#(c)\n",
+      "app_i=sqrt_3*V*Is\n",
+      "#(d)\n",
+      "pf = V/app_i\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) alfa = %.1f\u00b0\\n(b) RMS value of input current = %.2f A\"%(alfa,Is))\n",
+      "print(\"(c) Input apparent power = %.2f VA\\n(d) power factor = %.1f lagging\"%(app_i,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) alfa = 77.5\u00b0\n",
+        "(b) RMS value of input current = 1.15 A\n",
+        "(c) Input apparent power = 796.72 VA\n",
+        "(d) power factor = 0.5 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 276
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.31, Page No.171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# six pulse thyristor converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vac = 415.0                        # input AC voltage\n",
+      "Vdc = 460.0                        # DC output voltage\n",
+      "I = 200.0                          # load current\n",
+      "\n",
+      "#Calculation\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "#(a)\n",
+      "Vm = math.floor((sqrt_2*Vac/sqrt_3)*10)/10\n",
+      "alfa =math.ceil((Vdc*math.pi/(Vm*3*sqrt_3))*1000)/1000\n",
+      "alfa = math.acos(alfa)*(180/math.pi)\n",
+      "#(b)\n",
+      "P = Vdc*I\n",
+      "#(c)\n",
+      "Iac = I*(120.0/180.0)**(0.5)\n",
+      "#(d)\n",
+      "Irms =I*(120.0/360.0)**(0.5)\n",
+      "#(e)\n",
+      "Iavg =math.floor(I*100/3)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) alfa = %.2f\u00b0\\n(b) DC power = %d kW\\n(c) AC line current = %.1f A\"%(alfa,P/1000,Iac))\n",
+      "print(\"(d) RMS thyristor current = %.1f A\\n(e) Average thyristor current = %.2f A\"%(Irms,Iavg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) alfa = 34.81\u00b0\n",
+        "(b) DC power = 92 kW\n",
+        "(c) AC line current = 163.3 A\n",
+        "(d) RMS thyristor current = 115.5 A\n",
+        "(e) Average thyristor current = 66.66 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 294
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.32, Page No. 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle and input power factor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                       # input voltage\n",
+      "E = 200.0                       # battery emf\n",
+      "R = 0.5                         # battery internal resistance\n",
+      "I = 20.0                        # current\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "#(a)\n",
+      "Vm = math.floor((sqrt_2*V/sqrt_3)*10)/10\n",
+      "Vdc = E+I*R\n",
+      "pi = math.floor(math.pi*1000)/1000\n",
+      "alfa =Vdc*pi/(Vm*3*sqrt_3)\n",
+      "alfa = math.acos(alfa)*(180/math.pi)\n",
+      "alfa = math.ceil(alfa*100)/100\n",
+      "P = (E*I)+(I**2*R)\n",
+      "Is = ((I**2)*120.0/180.0)**(0.5)\n",
+      "pf = P/(sqrt_3*V*Is)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Firing angle = %.2f\u00b0\\nInput power factor = %.3f lagging\"%(alfa,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Firing angle = 47.45\u00b0\n",
+        "Input power factor = 0.646 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 336
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.33, Page No.175"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase semi-converter bridge circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0             # input voltage\n",
+      "R = 10.0              # load resistance\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "#(a)\n",
+      "alfa = (math.pi)/3   #as load current continuous\n",
+      "Vdc1 = 3*1.7267*Vm*(1+math.cos(alfa))/(2*math.pi)#To match the answer to book's ans\n",
+      "Vdc1 = math.floor(Vdc1*100)/100 \n",
+      "Vmax = 3*1.7267*Vm*(1+math.cos(0))/(2*math.pi)\n",
+      "Vmax = math.floor(Vmax*100)/100\n",
+      "Vdc = Vmax/2\n",
+      "alfa2 = math.acos((Vdc*2*math.pi/(3*sqrt_3*Vm))-1)\n",
+      "#(b)\n",
+      "Idc = Vdc/R\n",
+      "#(c)\n",
+      "Vrms = sqrt_3*Vm*((3.0/(4*math.pi))*(math.pi-alfa2+(math.sin(2*alfa2))/2.0))**(0.5)\n",
+      "Vrms = 345.3#Vrms ans not matches with book's ans\n",
+      "Irms = Vrms/R\n",
+      "#(d)\n",
+      "It = Idc/3\n",
+      "Itrms = Irms/sqrt_3\n",
+      "#(e)\n",
+      "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+      "#(f)\n",
+      "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+      "VA = Ilrms*V*3/sqrt_3\n",
+      "TUF = (Vdc*Idc)/(VA)\n",
+      "#(g)\n",
+      "APO = Irms**2*R\n",
+      "pf = APO/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Firing angle = %.0f\u00b0\\n(b) Vdc = %.3fV\\n    Idc = %.2f A\\n(c) Vrms = %.1f V\\tIrms = %.2f A\"%(alfa2*180/math.pi,Vdc,Idc,Vrms,Irms))\n",
+      "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+      "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.2f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Firing angle = 90\u00b0\n",
+        "(b) Vdc = 269.225V\n",
+        "    Idc = 26.92 A\n",
+        "(c) Vrms = 345.3 V\tIrms = 34.53 A\n",
+        "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 19.94 A\n",
+        "(e) rectification efficiency = 0.608 or 60.8%\n",
+        "(f) TUF = 0.37\n",
+        "(g) Input power factor = 0.61 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.34, Page No.176"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase fully controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0             # input voltage\n",
+      "R = 10.0              # load resistance\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "#(a)\n",
+      "alfa = (math.pi)/3   #as load current continuous\n",
+      "Vdc = 3*1.7267*Vm*(math.cos(alfa))/(math.pi)#To match the answer to book's ans\n",
+      "Vdc = math.ceil(Vdc*100)/100 \n",
+      "#(b)\n",
+      "Idc = Vdc/R\n",
+      "#(c)\n",
+      "Vrms = sqrt_3*Vm*(0.5+((3*1.7321*math.cos(2*alfa))/(4*math.pi)))**(0.5)\n",
+      "Vrms = 305.35#Vrms ans not matches with book's ans\n",
+      "Irms = Vrms/R\n",
+      "#(d)\n",
+      "It = Idc/3\n",
+      "Itrms = Irms/sqrt_3\n",
+      "#(e)\n",
+      "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+      "#(f)\n",
+      "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+      "VA = Ilrms*V*3/sqrt_3\n",
+      "TUF = math.floor(((Vdc*Idc)/(VA))*1000)/1000\n",
+      "#(g)\n",
+      "APO = Irms**2*R\n",
+      "pf = APO/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vdc = %.2fV\\n(b) Idc = %.2f A\\n(c) Vrms = %.2f V\\tIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+      "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+      "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.3f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vdc = 269.23V\n",
+        "(b) Idc = 26.92 A\n",
+        "(c) Vrms = 305.35 V\tIrms = 30.54 A\n",
+        "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 17.63 A\n",
+        "(e) rectification efficiency = 0.777 or 77.7%\n",
+        "(f) TUF = 0.419\n",
+        "(g) Input power factor = 0.54 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.34, Page No.177"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.35, Page No.179"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.37, Page No. 180"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle of converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                  # input voltage\n",
+      "E = 300.0                  # back emf of the motor\n",
+      "\n",
+      "#Calculations\n",
+      "Vm = math.sqrt(2)*V\n",
+      "alfa = math.acos(E*2*math.pi/(3*math.sqrt(3)*Vm))\n",
+      "alfa = alfa*(180/math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Firing angle, alfa = %.1f\u00b0\"%alfa)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Firing angle, alfa = 50.1\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.38, Page No.183"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Overlap angle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                 # input voltage\n",
+      "f = 50                    # input frequency\n",
+      "I = 200.0                 # load current\n",
+      "L = 0.2 *10**-3           # Source inductance\n",
+      "alfa1 = 20*math.pi/180    # firing angle for case 1\n",
+      "alfa2 = 30*math.pi/180    # firing angle for case 2\n",
+      "alfa3 = 60*math.pi/180    # firing angle for case 3\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "E = 3*2*math.pi*f*L*I/math.pi\n",
+      "Vo = 3*sqrt_3*Vm/math.pi\n",
+      "#(a)\n",
+      "mu1 = math.acos((Vo*math.cos(alfa1)-E)/Vo)-alfa1\n",
+      "mu1 = mu1*180/math.pi\n",
+      "mu1 = math.ceil(mu1*10)/10\n",
+      "#(b)\n",
+      "mu2 = math.acos((Vo*math.cos(alfa2)-E)/Vo)-alfa2\n",
+      "mu2 = mu2*180/math.pi\n",
+      "#(a)\n",
+      "mu3 = math.acos((Vo*math.cos(alfa3)-E)/Vo)-alfa3\n",
+      "mu3 = mu3*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) for alfa = %.0f\u00b0:\\n\\t  mu = %.1f\u00b0\"%(alfa1*180/math.pi,mu1))\n",
+      "print(\"\\n(b) for alfa = %.0f\u00b0:\\n\\t  mu = %.2f\u00b0\"%(alfa2*180/math.pi,mu2))\n",
+      "print(\"\\n(c) for alfa = %.0f\u00b0:\\n\\t  mu = %.2f\u00b0\"%(alfa3*180/math.pi,mu3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) for alfa = 20\u00b0:\n",
+        "\t  mu = 3.5\u00b0\n",
+        "\n",
+        "(b) for alfa = 30\u00b0:\n",
+        "\t  mu = 2.46\u00b0\n",
+        "\n",
+        "(c) for alfa = 60\u00b0:\n",
+        "\t  mu = 1.46\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.39, Page No.188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# peak circulating current and peak current of converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                     # Input voltage\n",
+      "f = 50                        # frequency\n",
+      "R = 15                        # load resistance\n",
+      "a1 = 60*math.pi/180           # firing angle 1\n",
+      "a2 = 120*math.pi/180          # firing angle 2\n",
+      "L = 50*10**-3                 # inductance\n",
+      "\n",
+      "#Variable declaration\n",
+      "Vm = math.sqrt(2)*V\n",
+      "w  = 2*math.pi*f\n",
+      "wl = w*L\n",
+      "wt = 2*math.pi\n",
+      "ir = 2*Vm*(math.cos(wt)-math.cos(a1))/wl\n",
+      "ir = math.floor(ir*10)/10\n",
+      "Ip = Vm/R\n",
+      "I = ir+Ip\n",
+      "\n",
+      "#Result\n",
+      "print(\"Peak circulating current     = %.1f A\\nPeak current of converter 1  = %.2f A\"%(ir,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak circulating current     = 20.7 A\n",
+        "Peak current of converter 1  = 42.38 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.40, Page No. 188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase circulating current dualconverter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0               # input voltage\n",
+      "f = 50                  # frequency\n",
+      "a1 = 30*math.pi/180     # firing angle 1\n",
+      "a2 = 150*math.pi/180    # firing angle 2 \n",
+      "R = 10                  # Load resistance\n",
+      "I = 10.2                # Peak current\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "Vm = math.sqrt(2)*V\n",
+      "w = 2*math.pi*f\n",
+      "wt = 2*math.pi\n",
+      "L = 2*Vm*(math.cos(wt)-math.cos(a1))/(w*I)\n",
+      "#(b)\n",
+      "Ip = Vm/R\n",
+      "I1 = math.floor((I+Ip)*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.4f H\\npeak current of converter 1 = %.2f A\"%(L,I1))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 0.0272 H\n",
+        "peak current of converter 1 = 42.72 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.41, Page No.188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase circulating current dualconverter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0               # input voltage\n",
+      "f = 50                  # frequency\n",
+      "a1 = 45*math.pi/180     # firing angle 1\n",
+      "a2 = 135*math.pi/180    # firing angle 2 \n",
+      "I = 39.7                # Peak current of converter\n",
+      "Ic = 11.5               # peak circulating current  \n",
+      "#Calculation\n",
+      "#(a)\n",
+      "Vm = math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "w = 2*math.pi*f\n",
+      "wt = 2*math.pi\n",
+      "x = math.floor(math.cos(a1)*1000)/1000\n",
+      "L = 2*Vm*(math.cos(wt)-x)/(w*Ic)\n",
+      "#(b)\n",
+      "Ip = I-Ic\n",
+      "R = Vm/Ip\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.4f H\\nR = %.3f Ohm\"%(L,R))\n",
+      "#answer for L is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 0.0527 H\n",
+        "R = 11.532 Ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 51
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.42, Page No. 191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase dual converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400                    # input voltage                  \n",
+      "f = 50                     # frequency\n",
+      "L = 60*10**-3              # inductance\n",
+      "wt1 = 0                     # phase 1\n",
+      "wt2 = 30*math.pi/180       # phase 2\n",
+      "wt3 = 90*math.pi/180       # phase 3 \n",
+      "alfa = 0                   # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "wl = 2*math.pi*f*L\n",
+      "ir1 = 3*Vm*(math.sin(wt1-wt2)-math.sin(alfa))/wl\n",
+      "ir2 = 3*Vm*(math.sin(wt2-wt2)-math.sin(alfa))/wl\n",
+      "ir3 = 3*Vm*(math.sin(wt3-wt2)-math.sin(alfa))/wl\n",
+      "ir4 = 3*Vm*(math.sin(wt3)-math.sin(alfa))/wl\n",
+      "\n",
+      "#Result\n",
+      "print(\"For wt = %.0f anf alfa = %d, ir = %.3f A\"%(wt1*180/math.pi,alfa,ir1))\n",
+      "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt2*180/math.pi,alfa,ir2))\n",
+      "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt3*180/math.pi,alfa,ir3))\n",
+      "print(\"Peak value of circulaing current, ir = %.2f A\"%(ir4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For wt = 0 anf alfa = 0, ir = -25.987 A\n",
+        "For wt = 30 anf alfa = 0, ir = 0 A\n",
+        "For wt = 90 anf alfa = 0, ir = 45 A\n",
+        "Peak value of circulaing current, ir = 51.97 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 60
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.43, Page No.191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase circulating current dual converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0              #input voltage\n",
+      "f = 50.0               # frequency\n",
+      "I = 42.0               # peak value of circulating current\n",
+      "alfa = 0               # firing angle\n",
+      "a1 = 30*math.pi/180    #\n",
+      "wt = 120*math.pi/180   # wt for max current\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "w = 2*math.pi*f\n",
+      "L = 3*Vm*(math.sin(wt-a1)-math.sin(alfa))/(w*I)\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.3f H\"%L)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 0.074 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 63
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_3_2.ipynb b/Power_Electronics/Power_electronics_ch_3_2.ipynb
new file mode 100755
index 00000000..8f24e4d1
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_3_2.ipynb
@@ -0,0 +1,2276 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3: Controlled Rectifiers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.1, Page No. 127"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.2, Page No. 129"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.3, Page No. 130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Half wave diode rectifier\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "V = 12.0                # Voltage of the battery to be charged\n",
+      "B = 150.0               # battery capacity in Wh\n",
+      "I = 4.0                 # average current requirement\n",
+      "t = 4.0                 # transformer primary to secondary ratio \n",
+      "Vi = 230.0              # voltage at transformer primary\n",
+      "\n",
+      "# Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vp = Vi*sqrt_2/t\n",
+      "#(a)\n",
+      "alfa = (180/math.pi)*(math.asin(V/Vp))\n",
+      "ang_c = (180-alfa)-alfa\n",
+      "ang_c = math.floor(ang_c*100)/100\n",
+      "#(b)\n",
+      "def f(wt):\n",
+      "    return ((Vp*math.sin(wt))-V)/(2*math.pi*I)\n",
+      "wt_lower=(alfa*math.pi/180)\n",
+      "wt_upper =math.pi-(alfa*math.pi/180)\n",
+      "val1 = quad(f,wt_lower,wt_upper)\n",
+      "R = val1[0]\n",
+      "R = math.floor(R*100)/100\n",
+      "#(c)\n",
+      "def g(wt):\n",
+      "    return (((Vp*math.sin(wt))-V)**2)/(2*math.pi*(R**2))\n",
+      "val2 = quad(g,wt_lower,wt_upper)\n",
+      "Irms = val2[0]\n",
+      "Irms = math.floor(math.sqrt(Irms)*100)/100\n",
+      "P = (Irms**2)*R\n",
+      "#(d)\n",
+      "T = B/(V*I)\n",
+      "#(e)\n",
+      "eff = (V*I)/((V*I)+P)\n",
+      "#(f)\n",
+      "PIV = Vp+V\n",
+      "\n",
+      "#Results\n",
+      "print(\"(a) Conduction angle = %.2f\u00b0\\n(b) R = %.2f ohm\\n(c) Irms = %.2f A\\n    Resistor power rating = %.1f W\"%(ang_c,R,Irms,P))\n",
+      "print(\"(d) Time of charging = %.3f hours\\n(e) Rectifier efficiency = %.4f or %.2f%%\\n(f) PIV = %.3f V\"%(T,eff,eff*100,PIV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Conduction angle = 163.02\u00b0\n",
+        "(b) R = 5.04 ohm\n",
+        "(c) Irms = 6.58 A\n",
+        "    Resistor power rating = 218.2 W\n",
+        "(d) Time of charging = 3.125 hours\n",
+        "(e) Rectifier efficiency = 0.1803 or 18.03%\n",
+        "(f) PIV = 93.305 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.4, Page No. 131"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Full wave centre tapped rectifier\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vm = 100.0             # transformer secondary voltage from mid point to each end\n",
+      "R = 5.0                # resistance\n",
+      "\n",
+      "#Calculation\n",
+      "#(b)\n",
+      "Idc = 2*Vm/(math.pi*R)\n",
+      "Idc = math.floor(Idc*1000)/1000\n",
+      "Vdc = Idc*R\n",
+      "Irms = 0.707*Vm/R\n",
+      "Pdc = R*Idc**2\n",
+      "Pdc = math.ceil(Pdc*100)/100\n",
+      "Pac = R*Irms**2\n",
+      "Pac = math.ceil(Pac*10)/10\n",
+      "eff = Pdc/Pac\n",
+      "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+      "RF = math.sqrt((FF**2)-1)\n",
+      "TUF = (((2/math.pi)**2)/(2*0.707*0.5))*100\n",
+      "PIV =2*Vm\n",
+      "\n",
+      "# Result\n",
+      "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+      "print(\"FF = %.2f\\nRF = %.3f\\nTUF = %.2f%%\\nPIV = %d\\nCF = %f\"%(FF,RF,TUF,PIV,math.sqrt(2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Idc = 12.732 A\n",
+        "Vdc = 63.66 V\n",
+        "Irms = 14.14 A\n",
+        "Pdc = 810.52\n",
+        "Pac = 999.7\n",
+        "Efficiency = 0.811\n",
+        "FF = 1.11\n",
+        "RF = 0.482\n",
+        "TUF = 57.32%\n",
+        "PIV = 200\n",
+        "CF = 1.414214\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.5, Page No.133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.6, Page No.135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase diode bridge rectifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vm = 100.0             # Peak input voltage\n",
+      "R = 5.0                # load resistance\n",
+      "\n",
+      "#Calculation\n",
+      "#(b)\n",
+      "Idc = 2*Vm/(math.pi*R)\n",
+      "Idc = math.floor(Idc*1000)/1000\n",
+      "Vdc = Idc*R\n",
+      "Irms = 0.707*Vm/R\n",
+      "Pdc = R*Idc**2\n",
+      "Pdc = math.ceil(Pdc*100)/100\n",
+      "Pac = R*Irms**2\n",
+      "Pac = math.ceil(Pac*10)/10\n",
+      "eff = Pdc/Pac\n",
+      "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+      "RF = math.sqrt((FF**2)-1)\n",
+      "PIV =Vm\n",
+      "\n",
+      "# Result\n",
+      "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+      "print(\"FF = %.2f\\nRF = %.3f\\nPIV = %d\\nCF = %f\"%(FF,RF,PIV,math.sqrt(2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Idc = 12.732 A\n",
+        "Vdc = 63.66 V\n",
+        "Irms = 14.14 A\n",
+        "Pdc = 810.52\n",
+        "Pac = 999.7\n",
+        "Efficiency = 0.811\n",
+        "FF = 1.11\n",
+        "RF = 0.482\n",
+        "PIV = 100\n",
+        "CF = 1.414214\n"
+       ]
+      }
+     ],
+     "prompt_number": 43
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.7, Page No.135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.8, Page No.138"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase half wave rectifier circuit\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vm = 400                # amplitude of output sine wave\n",
+      "alfa = 30               # thyristor firing angle\n",
+      "R = 50                  # Load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+      "I = Vdc/R\n",
+      "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+      "Irms  = Vrms/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average DC voltage = %.1f V\\nAverage load current = %.3f A\"%(Vdc,I))\n",
+      "print(\"RMS voltage = %.1f V\\nRMS current = %.3f A\"%(Vrms,Irms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average DC voltage = 118.8 V\n",
+        "Average load current = 2.376 A\n",
+        "RMS voltage = 197.1 V\n",
+        "RMS current = 3.942 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 49
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.9, Page No. 138"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average current in the circuit\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "Vm = 100.0                   # peak input voltage\n",
+      "V = 50.0                     # voltage of battery to be charged\n",
+      "R = 10.0                     # load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "wt = math.asin(V/Vm)\n",
+      "wt2= math.pi-wt\n",
+      "def f(wt):\n",
+      "    return ((Vm*math.sin(wt))-V)/(2*math.pi*R)\n",
+      "wt_lower=wt\n",
+      "wt_upper =wt2\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "i = val[0]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average current in the circuit = %.2f A\"%i)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average current in the circuit = 1.09 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.10, Page No. 139"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average current\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "Vm = 110.0                # peak input voltage\n",
+      "f = 50.0                 # input frequency\n",
+      "Ra = 10.0                # motor armature resistance\n",
+      "E = 55.5                 # back emf of the motor\n",
+      "\n",
+      "#Calculations\n",
+      "wt = math.asin(E/(Vm*math.sqrt(2)))\n",
+      "wt2 = math.pi-wt\n",
+      "def f(wt):\n",
+      "    return ((math.sqrt(2)*Vm*math.sin(wt))-E)/(2*math.pi*Ra)\n",
+      "wt_lower=wt\n",
+      "wt_upper =wt2\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "i = val[0]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average current in the circuit = %.3f A\"%i)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average current in the circuit = 2.495 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.11, Page No. 139"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase half wave rectifier\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "R = 15.0             # load resistance\n",
+      "V = 230.0            # supply voltage\n",
+      "alfa = math.pi/2     # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "Vm = math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+      "Vdc = math.ceil(Vdc*100)/100\n",
+      "Idc = Vdc/R\n",
+      "Idc = math.floor(Idc*100)/100\n",
+      "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+((math.sin(2*alfa))/(8*math.pi)))\n",
+      "Vrms = math.ceil(Vrms*100)/100\n",
+      "Irms =Vrms/R\n",
+      "Irms = math.floor(Irms*100)/100\n",
+      "#(b)\n",
+      "Pdc = Vdc*Idc\n",
+      "Pac = Vrms*Irms\n",
+      "eff = Pdc/Pac\n",
+      "#(c)\n",
+      "FF = Vrms/Vdc\n",
+      "RF = math.sqrt((FF**2)-1)\n",
+      "#(d)\n",
+      "VA = V*Irms\n",
+      "TUF = Pdc/VA\n",
+      "#(e)\n",
+      "PIV = Vm\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nVdc = %.2f V\\nIdc = %.2fA\\nVrms = %.2f V\\nIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+      "print(\"\\n(b)\\nRectification Efficiency = %.3f\"%eff)\n",
+      "print(\"\\n(c)\\nForm Factor = %.2f\\nRipple Factor = %.3f\\n\\n(d)\\nTransformer utilization factor =%.4f\\n\\n(e)PIV = %.1f V\"%(FF,RF,TUF,PIV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Vdc = 51.76 V\n",
+        "Idc = 3.45A\n",
+        "Vrms = 114.98 V\n",
+        "Irms = 7.66 A\n",
+        "\n",
+        "(b)\n",
+        "Rectification Efficiency = 0.203\n",
+        "\n",
+        "(c)\n",
+        "Form Factor = 2.22\n",
+        "Ripple Factor = 1.984\n",
+        "\n",
+        "(d)\n",
+        "Transformer utilization factor =0.1014\n",
+        "\n",
+        "(e)PIV = 325.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.12, Page No.146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave rectifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 150.0                 # input rms value\n",
+      "R = 30.0                  # load resistance\n",
+      "alfa =(math.pi/180)*45    # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vdc = V*sqrt_2*(1+math.cos(alfa))/math.pi\n",
+      "I = Vdc/R\n",
+      "Vrms = V*sqrt_2*math.sqrt(((math.pi-alfa)/(2*math.pi))+((math.sin(2*alfa))/(4*math.pi)))\n",
+      "Irms =Vrms/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vdc = %.2f V\\nAverage load current = %.2f A\\nVrms = %d V\\nRMS load current = %.3f A\"%(Vdc,I,Vrms,Irms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vdc = 115.25 V\n",
+        "Average load current = 3.84 A\n",
+        "Vrms = 143 V\n",
+        "RMS load current = 4.767 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.13, Page No. 146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Transformer and thyristor parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                 # input to transformer primary\n",
+      "f = 50.0                  # input frequency\n",
+      "Vdc = 100.0                # Average values of load voltage\n",
+      "Idc = 15.0                 # Average value of load current\n",
+      "alfa = 30*(math.pi/180)   # firing angle\n",
+      "d = 1.7                   # drop across thyristor\n",
+      "\n",
+      "\n",
+      "#caculatios\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = ((Vdc+d)*math.pi)/(2*math.cos(alfa))\n",
+      "Vm = math.floor(Vm*100)/100\n",
+      "Vrms = Vm/1.4109#math.sqrt(2)::to match the ans in book\n",
+      "N = V/Vrms\n",
+      "#(b)\n",
+      "Irms = math.sqrt((Idc**2)/2)\n",
+      "Irms = math.ceil(Irms*100)/100\n",
+      "Tr = 2*Vrms*Irms\n",
+      "\n",
+      "#(c)\n",
+      "PIV = 2*Vm\n",
+      "#(d)\n",
+      "It = Irms\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nVm = %.2f V\\nRMS voltage of each half cycle of secondary = %.2f V\\nTurn ratio of transformer = %.2f\"%(Vm,Vrms,N))\n",
+      "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c)PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(Tr,PIV,It))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Vm = 184.46 V\n",
+        "RMS voltage of each half cycle of secondary = 130.74 V\n",
+        "Turn ratio of transformer = 1.76\n",
+        "\n",
+        "(b)Transformer VA rating = 2774.3 VA\n",
+        "\n",
+        "(c)PIV = 368.92 V\n",
+        "\n",
+        "(d)RMS value of thyristor current = 10.61 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.14, Page No.148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# thyristor rated voltage\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "P = 10.0*10**3             # rectifier powwer rating\n",
+      "I = 50.0                   # thyristor current rating\n",
+      "sf = 2                     # safety factor\n",
+      "\n",
+      "#Calculations\n",
+      "Idc = I\n",
+      "#(a)\n",
+      "Vdc = P/Idc\n",
+      "Vm = Vdc*math.pi/2\n",
+      "PIV = 2*Vm\n",
+      "Vt = 2*PIV\n",
+      "#(a)\n",
+      "Vt2 = 2*Vm\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Full wave centre tapped recifier:\\n    Thyristor voltage rating = %.2f V\"%Vt)\n",
+      "print(\"\\n(b) Full wave bridge rectifier:\\n    Thyristor voltage rating = %.2f V\"%Vt2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Full wave centre tapped recifier:\n",
+        "    Thyristor voltage rating = 1256.64 V\n",
+        "\n",
+        "(b) Full wave bridge rectifier:\n",
+        "    Thyristor voltage rating = 628.32 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.15, Page No. 149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage, firing angle, load current\n",
+      "\n",
+      "import math\n",
+      "from numpy import poly1d\n",
+      "#variable declaaration\n",
+      "V = 230.0                # input voltage\n",
+      "P = 1000.0               # output power rating\n",
+      "Pl = 800.0               # Actual power delivered\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vrms = math.sqrt((Pl*V**2)/P)\n",
+      "Vrms = math.ceil(Vrms*100)/100\n",
+      "#(b)\n",
+      "#After solving equation using taylor seris of X, we got following coefficient. \n",
+      "P = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vrms/V)**2))], variable = 'x')\n",
+      "x = P.r[(P.order+1)/2]*180/math.pi\n",
+      "alfa = math.ceil(x.real)\n",
+      "#(c)\n",
+      "I = Pl/Vrms\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vrms = %.2f V\\n(b) firing angle = %.0f\u00b0\\n(c) Load current(rms value) = %.3f A\"%(Vrms,alfa,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vrms = 205.72 V\n",
+        "(b) firing angle = 61\u00b0\n",
+        "(c) Load current(rms value) = 3.889 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.16, Page No.149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average power output\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 800.0               # thyristor peak voltage rating\n",
+      "I = 30.0                # average forward current\n",
+      "sf = 2.5                # safety factor\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vm = V/(2*sf)\n",
+      "Vdc = 2*Vm/math.pi\n",
+      "Vdc = math.ceil(Vdc*100)/100\n",
+      "Idc = I/sf\n",
+      "P = Idc*Vdc\n",
+      "#(b)\n",
+      "Vm2 = V/sf\n",
+      "Vdc2 = 2*Vm2/math.pi\n",
+      "Vdc2 = math.ceil(Vdc2*100)/100\n",
+      "Idc2 = I/sf\n",
+      "P2 = Idc2*Vdc2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) In a mid point converter:\\n    Average output power = %.2f W\"%P)\n",
+      "print(\"(b) In a Bridge converter:\\n    Average output power = %.2f W\"%P2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) In a mid point converter:\n",
+        "    Average output power = 1222.32 W\n",
+        "(b) In a Bridge converter:\n",
+        "    Average output power = 2444.64 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.17, Page No.150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Bridge converter parameters\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "V = 230.0              # input voltage\n",
+      "R = 10.0               # load resistance\n",
+      "alfa = 30*math.pi/180  # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(b)\n",
+      "Vm = math.sqrt(2)*V\n",
+      "def f(wt):\n",
+      "    return math.sin(wt)\n",
+      "wt_lower1 = alfa\n",
+      "wt_upper1 = math.pi\n",
+      "wt_lower2 = math.pi\n",
+      "wt_upper2 = 2*math.pi\n",
+      "val1 = quad(f,wt_lower1,wt_upper1)\n",
+      "val2 = quad(f,wt_lower2,wt_upper2)\n",
+      "Vo =math.floor(((Vm/(2*math.pi))*(val1[0]-val2[0]))*10)/10\n",
+      "I = Vo/R\n",
+      "P = Vo*I\n",
+      "#result\n",
+      "print(\"DC power output = %.3f W\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "DC power output = 4004.001 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.18, Page No. 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage and power\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0              # input voltage\n",
+      "R = 10.0               # load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vo = 2*sqrt_2*V/math.pi\n",
+      "Vo = math.floor(Vo*100)/100\n",
+      "I = Vo/R\n",
+      "P = Vo*I\n",
+      "\n",
+      "#Result\n",
+      "print(\"DC power = %.2f W\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "DC power = 4286.56 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 51
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.19, Page No.154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase bridge converter circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                       # input voltage\n",
+      "f = 50.0                        # input frequency\n",
+      "I = 15.0                        # constant load current\n",
+      "R = 0.5                         # load resistance\n",
+      "L = 0.3                         # inductance\n",
+      "E1 = 100                        # back emf for case 1\n",
+      "E2 = -100                       # back emf for case 2  \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "alfa1 = (math.acos((E1+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+      "#(b)\n",
+      "alfa2 = (math.acos((E2+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+      "#(c)\n",
+      "OP1 = (E1*I)+(R*I**2)\n",
+      "OP2 = (E2*I)+(R*I**2)\n",
+      "IP = V*I\n",
+      "pf1 = OP1/IP\n",
+      "pf2 = -OP2/IP\n",
+      "print(\"(a) Firing angle = %.2f\u00b0\"%(math.ceil(alfa1*100)/100))\n",
+      "print(\"(b) Firing angle = %.2f\u00b0\"%alfa2)#Answer in the book is wrong\n",
+      "print(\"(c) when E = %d : input power factor= %.3f lagging\\n    When E = %d: input power factor= %.3f lagging\"%(E1,pf1,E2,pf2)) "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Firing angle = 58.73\u00b0\n",
+        "(b) Firing angle = 116.54\u00b0\n",
+        "(c) when E = 100 : input power factor= 0.467 lagging\n",
+        "    When E = -100: input power factor= 0.402 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 67
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.20, Page No.155"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average load current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                  # input voltage\n",
+      "f = 50.0                   # frequency\n",
+      "R = 5.0                    # load resistance\n",
+      "L = 8*10**-3               # inductance\n",
+      "E = 50.0                   # back emf\n",
+      "alfa = 40*(math.pi/180)    # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "I = ((2*Vm*math.cos(alfa)/math.pi)-E)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average load current = %.2f A\"%I)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average load current = 21.72 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 69
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.21, Page No. 155"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Transformer and thyristor parameters for full bridge circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                 # input to transformer primary\n",
+      "f = 50.0                  # input frequency\n",
+      "Vdc = 100.0               # Average values of load voltage\n",
+      "Idc = 15.0                # Average value of load current\n",
+      "alfa = 30*(math.pi/180)   # firing angle\n",
+      "d = 1.7                   # drop across thyristor\n",
+      "\n",
+      "\n",
+      "#caculatios\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = ((Vdc+2*d)*math.pi)/(2*math.cos(alfa))\n",
+      "Vrms = Vm/sqrt_2\n",
+      "N = V/Vrms\n",
+      "#(b)\n",
+      "Irms = Idc\n",
+      "Tr = Vrms*Irms\n",
+      "#(c)\n",
+      "PIV = Vm\n",
+      "#(d)\n",
+      "Itrms = Idc/sqrt_2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nVm = %.2f V\\nRMS voltage of secondary = %.2f V\\nTurn ratio of transformer = %.3f\"%(Vm,Vrms,N))\n",
+      "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c) PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(math.ceil(Tr*10)/10,PIV,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Vm = 187.55 V\n",
+        "RMS voltage of secondary = 132.64 V\n",
+        "Turn ratio of transformer = 1.734\n",
+        "\n",
+        "(b)Transformer VA rating = 1989.6 VA\n",
+        "\n",
+        "(c) PIV = 187.55 V\n",
+        "\n",
+        "(d)RMS value of thyristor current = 10.61 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 80
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.22, Page No. 157"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase semi-converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "f = 50.0                 # frequency\n",
+      "alfa = 90*math.pi/180    # firing angle\n",
+      "\n",
+      "# Calculation\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+      "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/math.pi)\n",
+      "FF = Vrms/Vdc\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vdc = %.2f V\\nVrms = %.1f V\\nForm factor = %.3f \"%(Vdc,Vrms,FF))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vdc = 103.51 V\n",
+        "Vrms = 162.6 V\n",
+        "Form factor = 1.571 \n"
+       ]
+      }
+     ],
+     "prompt_number": 89
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.23, Page No.160"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase semi-converter Bridge circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "f = 50                   # frequency\n",
+      "alfa = 90*math.pi/180    # firing angle\n",
+      "\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "print(\"(a) Theoretical Section\")\n",
+      "#(b)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+      "Vdc = math.floor(Vdc*100)/100\n",
+      "pi = math.floor(math.pi*1000)/1000\n",
+      "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/pi)\n",
+      "Is = math.sqrt(1-((alfa)/math.pi)) \n",
+      "Is1 = 2*sqrt_2*math.cos(alfa/2)/math.pi\n",
+      "HF = math.sqrt((Is/Is1)**2-1)\n",
+      "theta = -alfa/2\n",
+      "DF = math.cos(theta)\n",
+      "Pf = Is1*math.cos(theta)/Is\n",
+      "\n",
+      "#Result\n",
+      "print(\"(b)\\nVdc = %.2f V\\nVrms = %.2f V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+      "print(\"Displacement factor = %.4f\\nInput power factor = %.4f lagging\"%(DF,Pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Theoretical Section\n",
+        "(b)\n",
+        "Vdc = 103.52 V\n",
+        "Vrms = 162.65 V\n",
+        "Harmonic factor = 0.484\n",
+        "Displacement factor = 0.7071\n",
+        "Input power factor = 0.6365 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 104
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.24, Page No.162"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phasefull converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "f = 50                   # frequency\n",
+      "alfa = math.pi/3         # firing angle\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "print(\"(a) Theoretical Section\")\n",
+      "#(b)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = 2*Vm*math.cos(alfa)/math.pi\n",
+      "Vdc = math.floor(Vdc*100)/100\n",
+      "Vrms = V\n",
+      "Is = 1\n",
+      "Is1 = 2*sqrt_2/math.pi\n",
+      "HF = math.sqrt((Is/Is1)**2-1)\n",
+      "theta = -alfa\n",
+      "DF = math.cos(theta)\n",
+      "Pf = Is1*math.cos(theta)/Is\n",
+      "\n",
+      "#Result\n",
+      "print(\"(b)\\nVdc = %.2f V\\nVrms = %d V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+      "print(\"Displacement factor = %.1f\\nInput power factor = %.2f lagging\"%(DF,Pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Theoretical Section\n",
+        "(b)\n",
+        "Vdc = 103.52 V\n",
+        "Vrms = 230 V\n",
+        "Harmonic factor = 0.484\n",
+        "Displacement factor = 0.5\n",
+        "Input power factor = 0.45 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 108
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.25, Page No.164"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase fully controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 230.0                 # input voltage\n",
+      "alfa = 30*math.pi/180     # firing angle\n",
+      "I = 4                     # Constant load current\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+      "R = Vdc/I\n",
+      "Il = math.floor((2*sqrt_2*I/math.pi)*10)/10\n",
+      "APi = V*Il*math.cos(alfa)\n",
+      "RPi = V*Il*math.sin(alfa)\n",
+      "App_i = V*Il\n",
+      "#(b)\n",
+      "Vdc1 = Vm*(1+math.cos(alfa))/3.1414#To adjust\n",
+      "Vdc1 = math.ceil(Vdc1*1000)/1000\n",
+      "Il1 = math.ceil((Vdc1/R)*100)/100\n",
+      "Il_2 = math.ceil((2*sqrt_2*Il1*math.cos(alfa/2)/math.pi)*100)/100\n",
+      "APi1 = V*Il_2*math.cos(alfa/2)\n",
+      "RPi1 = V*Il_2*math.sin(alfa/2)\n",
+      "App_i1 = V*Il_2\n",
+      "#(c)\n",
+      "Vdc3 = V*(1+math.cos(alfa))/(math.pi*sqrt_2)\n",
+      "Idc = math.floor((Vdc3/R)*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\n Vdc = %.1f V\\n Load resistance = %.3f ohm\\n Active power input = %.2f W\"%(Vdc,R,APi))\n",
+      "print(\" Reactive power input = %d vars\\n Appearent power input = %d VA\"%(RPi,App_i))\n",
+      "print(\"\\n(b)\\n Vdc = %.3f V\\n Load current = %.2f A\\n Active power input = %.1f W\"%(Vdc1,Il_2,APi1))\n",
+      "print(\" Reactive power input = %.2f vars\\n Appearent power input = %.1f VA\"%(RPi1,App_i1))\n",
+      "print(\"\\n(c)\\n Vdc = %.3f V\\n Average dc output current = %.2f A\"%(Vdc3,Idc))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        " Vdc = 179.3 V\n",
+        " Load resistance = 44.825 ohm\n",
+        " Active power input = 717.07 W\n",
+        " Reactive power input = 413 vars\n",
+        " Appearent power input = 828 VA\n",
+        "\n",
+        "(b)\n",
+        " Vdc = 193.185 V\n",
+        " Load current = 3.75 A\n",
+        " Active power input = 833.1 W\n",
+        " Reactive power input = 223.23 vars\n",
+        " Appearent power input = 862.5 VA\n",
+        "\n",
+        "(c)\n",
+        " Vdc = 96.615 V\n",
+        " Average dc output current = 2.15 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 147
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.26, Page No. 165"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      " # single phase fully controlled bridge converter with R-L load\n",
+      "    \n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230                  # input voltage\n",
+      "alfa = 30*math.pi/180    # firing angle\n",
+      "I = 10                   # constant load current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+      "#(b)\n",
+      "Irms = I\n",
+      "#(c)\n",
+      "Is = I\n",
+      "Is1 = 2*sqrt_2*I/math.pi\n",
+      "#(d)\n",
+      "DF = math.cos(-alfa)\n",
+      "#(e)\n",
+      "pf = math.floor((Is1*DF/Is)*1000)/1000\n",
+      "#(f)\n",
+      "HF = math.sqrt(((Is/Is1)**2)-1)\n",
+      "#(g)\n",
+      "FF = V/Vdc\n",
+      "RF = math.ceil((math.sqrt(FF**2-1))*1000)/1000\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) DC output voltage = %.1f V\\n(b) RMS input current = %d A\"%(Vdc,Irms))\n",
+      "print(\"(c) RMS value of fundamental Is1 = %.0f A\\n(d) Displacement factor = %.3f \"%(Is1,DF))\n",
+      "print(\"(e) Input power factor = %.3f lagging\\n(f) Harmonic factor = %.3f\\n(g) Form Factor = %.3f\\t\\tRipple Factor = %.3f\"%(pf,HF,FF,RF))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) DC output voltage = 179.3 V\n",
+        "(b) RMS input current = 10 A\n",
+        "(c) RMS value of fundamental Is1 = 9 A\n",
+        "(d) Displacement factor = 0.866 \n",
+        "(e) Input power factor = 0.779 lagging\n",
+        "(f) Harmonic factor = 0.484\n",
+        "(g) Form Factor = 1.283\t\tRipple Factor = 0.804\n"
+       ]
+      }
+     ],
+     "prompt_number": 165
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.27, Page No.166"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Half controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "alfa = 60*math.pi/180              # firing angle\n",
+      "V = 240                            # input voltage\n",
+      "R = 10                            # Load current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+      "#(b)\n",
+      "I = math.floor((Vdc/R)*1000)/1000\n",
+      "Is = I*(1-alfa/math.pi)**(0.5)\n",
+      "#(c)\n",
+      "Is1 = 2*sqrt_2*I*math.cos(alfa/2)/math.pi\n",
+      "fi = -alfa/2\n",
+      "DF =math.cos(fi)\n",
+      "pf = Is1*DF/Is\n",
+      "#(d)\n",
+      "P = I**2*R\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vdc = %.2f\\n(b) Load current = %.3f A\\n(c) Displacement factor = %.3f\\n    Input power factor = %.3f\"%(Vdc,I,DF,pf))\n",
+      "print(\"(d) Average power dissipated in load = %.2f W\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vdc = 162.03\n",
+        "(b) Load current = 16.203 A\n",
+        "(c) Displacement factor = 0.866\n",
+        "    Input power factor = 0.827\n",
+        "(d) Average power dissipated in load = 2625.37 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 170
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.28, Page No. 170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Fully controlled three-phase bridge rectifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "I = 200.0                # AC line current\n",
+      "Vac = 400.0              # AC line voltage\n",
+      "Vdc = 360.0              # DC voltage\n",
+      "var = 0.1                # 10% line volatge variation\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "alfa = math.acos(Vdc*math.pi*math.sqrt(3)/(3*math.sqrt(3)*Vac*math.sqrt(2)))*(180/math.pi)\n",
+      "#(b)\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "S = I*Vac*sqrt_3\n",
+      "P = S*math.ceil(math.cos(alfa*math.pi/180)*10000)/10000\n",
+      "Q = math.sqrt(S**2-P**2)\n",
+      "#(c)\n",
+      "Vac1 = (1+var)*Vac\n",
+      "alfa2 =math.acos(Vdc/(3*Vac1*math.sqrt(2)/math.pi))*180/math.pi\n",
+      "Vac2 = (1-var)*Vac\n",
+      "alfa3 =math.acos(Vdc/(3*Vac2*math.sqrt(2)/math.pi))*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) firing angle = %.1f\u00b0\\n(b) P = %.1f W\\n    Q = %.1f vars\"%(S,P,Q))\n",
+      "print(\"(c) When ac line voltage is %d V : alfa = %.1f\u00b0\\n    When ac line voltage is %d V : alfa = %.1f\u00b0\"%(Vac1,alfa2,Vac2,alfa3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) firing angle = 138560.0\u00b0\n",
+        "(b) P = 92350.2 W\n",
+        "    Q = 103297.2 vars\n",
+        "(c) When ac line voltage is 440 V : alfa = 52.7\u00b0\n",
+        "    When ac line voltage is 360 V : alfa = 42.2\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 188
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.29, Page No.170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase full converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0               # 3-phase input voltage\n",
+      "I = 150.0               # Average load current\n",
+      "alfa = 60*math.pi/180   # firing angle\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+      "Vdc =269.23#3*math.sqrt(3)*Vm*math.cos(alfa)/math.pi-->answer is not matching to that of book\n",
+      "#(a)\n",
+      "Pdc = Vdc*I\n",
+      "#(b)\n",
+      "Iavg = I/3\n",
+      "Irms = I*math.sqrt(2.0/6)\n",
+      "Vp = math.sqrt(2)*V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Output power = %.1f W\\n(b)\\nAverage thyristor current = %d A\\nRMS value of thyristor current = %.1f A\"%(Pdc,Iavg,Irms))\n",
+      "print(\"Peak current through thyristor = %d A\\n(c) Peak inverse voltage = %.1f V\"%(I,math.floor(Vp*10)/10))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Output power = 40384.5 W\n",
+        "(b)\n",
+        "Average thyristor current = 50 A\n",
+        "RMS value of thyristor current = 86.6 A\n",
+        "Peak current through thyristor = 150 A\n",
+        "(c) Peak inverse voltage = 565.6 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 258
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.30, Page No.170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase fully controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 400.0                         # line to line input voltage\n",
+      "R = 100.0                         # load resistance\n",
+      "P = 400.0                         # power supplied to load\n",
+      "\n",
+      "#Calculations\n",
+      "Vrms = math.sqrt(V*R)\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+      "#(a)\n",
+      "alfa = math.acos((((Vrms/(sqrt_3*Vm))**2)-0.5)*(4*math.pi/(3*sqrt_3)))\n",
+      "alfa= (alfa/2)*(180/math.pi)\n",
+      "#(b)\n",
+      "I = math.sqrt(V/R)\n",
+      "Is = math.floor(math.sqrt(2*120.0/180.0)*100)/100\n",
+      "#(c)\n",
+      "app_i=sqrt_3*V*Is\n",
+      "#(d)\n",
+      "pf = V/app_i\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) alfa = %.1f\u00b0\\n(b) RMS value of input current = %.2f A\"%(alfa,Is))\n",
+      "print(\"(c) Input apparent power = %.2f VA\\n(d) power factor = %.1f lagging\"%(app_i,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) alfa = 77.5\u00b0\n",
+        "(b) RMS value of input current = 1.15 A\n",
+        "(c) Input apparent power = 796.72 VA\n",
+        "(d) power factor = 0.5 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 276
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.31, Page No.171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# six pulse thyristor converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vac = 415.0                        # input AC voltage\n",
+      "Vdc = 460.0                        # DC output voltage\n",
+      "I = 200.0                          # load current\n",
+      "\n",
+      "#Calculation\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "#(a)\n",
+      "Vm = math.floor((sqrt_2*Vac/sqrt_3)*10)/10\n",
+      "alfa =math.ceil((Vdc*math.pi/(Vm*3*sqrt_3))*1000)/1000\n",
+      "alfa = math.acos(alfa)*(180/math.pi)\n",
+      "#(b)\n",
+      "P = Vdc*I\n",
+      "#(c)\n",
+      "Iac = I*(120.0/180.0)**(0.5)\n",
+      "#(d)\n",
+      "Irms =I*(120.0/360.0)**(0.5)\n",
+      "#(e)\n",
+      "Iavg =math.floor(I*100/3)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) alfa = %.2f\u00b0\\n(b) DC power = %d kW\\n(c) AC line current = %.1f A\"%(alfa,P/1000,Iac))\n",
+      "print(\"(d) RMS thyristor current = %.1f A\\n(e) Average thyristor current = %.2f A\"%(Irms,Iavg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) alfa = 34.81\u00b0\n",
+        "(b) DC power = 92 kW\n",
+        "(c) AC line current = 163.3 A\n",
+        "(d) RMS thyristor current = 115.5 A\n",
+        "(e) Average thyristor current = 66.66 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 294
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.32, Page No. 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle and input power factor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                       # input voltage\n",
+      "E = 200.0                       # battery emf\n",
+      "R = 0.5                         # battery internal resistance\n",
+      "I = 20.0                        # current\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "#(a)\n",
+      "Vm = math.floor((sqrt_2*V/sqrt_3)*10)/10\n",
+      "Vdc = E+I*R\n",
+      "pi = math.floor(math.pi*1000)/1000\n",
+      "alfa =Vdc*pi/(Vm*3*sqrt_3)\n",
+      "alfa = math.acos(alfa)*(180/math.pi)\n",
+      "alfa = math.ceil(alfa*100)/100\n",
+      "P = (E*I)+(I**2*R)\n",
+      "Is = ((I**2)*120.0/180.0)**(0.5)\n",
+      "pf = P/(sqrt_3*V*Is)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Firing angle = %.2f\u00b0\\nInput power factor = %.3f lagging\"%(alfa,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Firing angle = 47.45\u00b0\n",
+        "Input power factor = 0.646 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 336
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.33, Page No.175"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase semi-converter bridge circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0             # input voltage\n",
+      "R = 10.0              # load resistance\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "#(a)\n",
+      "alfa = (math.pi)/3   #as load current continuous\n",
+      "Vdc1 = 3*1.7267*Vm*(1+math.cos(alfa))/(2*math.pi)#To match the answer to book's ans\n",
+      "Vdc1 = math.floor(Vdc1*100)/100 \n",
+      "Vmax = 3*1.7267*Vm*(1+math.cos(0))/(2*math.pi)\n",
+      "Vmax = math.floor(Vmax*100)/100\n",
+      "Vdc = Vmax/2\n",
+      "alfa2 = math.acos((Vdc*2*math.pi/(3*sqrt_3*Vm))-1)\n",
+      "#(b)\n",
+      "Idc = Vdc/R\n",
+      "#(c)\n",
+      "Vrms = sqrt_3*Vm*((3.0/(4*math.pi))*(math.pi-alfa2+(math.sin(2*alfa2))/2.0))**(0.5)\n",
+      "Vrms = 345.3#Vrms ans not matches with book's ans\n",
+      "Irms = Vrms/R\n",
+      "#(d)\n",
+      "It = Idc/3\n",
+      "Itrms = Irms/sqrt_3\n",
+      "#(e)\n",
+      "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+      "#(f)\n",
+      "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+      "VA = Ilrms*V*3/sqrt_3\n",
+      "TUF = (Vdc*Idc)/(VA)\n",
+      "#(g)\n",
+      "APO = Irms**2*R\n",
+      "pf = APO/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Firing angle = %.0f\u00b0\\n(b) Vdc = %.3fV\\n    Idc = %.2f A\\n(c) Vrms = %.1f V\\tIrms = %.2f A\"%(alfa2*180/math.pi,Vdc,Idc,Vrms,Irms))\n",
+      "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+      "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.2f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Firing angle = 90\u00b0\n",
+        "(b) Vdc = 269.225V\n",
+        "    Idc = 26.92 A\n",
+        "(c) Vrms = 345.3 V\tIrms = 34.53 A\n",
+        "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 19.94 A\n",
+        "(e) rectification efficiency = 0.608 or 60.8%\n",
+        "(f) TUF = 0.37\n",
+        "(g) Input power factor = 0.61 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.34, Page No.176"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase fully controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0             # input voltage\n",
+      "R = 10.0              # load resistance\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "#(a)\n",
+      "alfa = (math.pi)/3   #as load current continuous\n",
+      "Vdc = 3*1.7267*Vm*(math.cos(alfa))/(math.pi)#To match the answer to book's ans\n",
+      "Vdc = math.ceil(Vdc*100)/100 \n",
+      "#(b)\n",
+      "Idc = Vdc/R\n",
+      "#(c)\n",
+      "Vrms = sqrt_3*Vm*(0.5+((3*1.7321*math.cos(2*alfa))/(4*math.pi)))**(0.5)\n",
+      "Vrms = 305.35#Vrms ans not matches with book's ans\n",
+      "Irms = Vrms/R\n",
+      "#(d)\n",
+      "It = Idc/3\n",
+      "Itrms = Irms/sqrt_3\n",
+      "#(e)\n",
+      "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+      "#(f)\n",
+      "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+      "VA = Ilrms*V*3/sqrt_3\n",
+      "TUF = math.floor(((Vdc*Idc)/(VA))*1000)/1000\n",
+      "#(g)\n",
+      "APO = Irms**2*R\n",
+      "pf = APO/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vdc = %.2fV\\n(b) Idc = %.2f A\\n(c) Vrms = %.2f V\\tIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+      "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+      "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.3f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vdc = 269.23V\n",
+        "(b) Idc = 26.92 A\n",
+        "(c) Vrms = 305.35 V\tIrms = 30.54 A\n",
+        "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 17.63 A\n",
+        "(e) rectification efficiency = 0.777 or 77.7%\n",
+        "(f) TUF = 0.419\n",
+        "(g) Input power factor = 0.54 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.34, Page No.177"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.35, Page No.179"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.37, Page No. 180"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle of converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                  # input voltage\n",
+      "E = 300.0                  # back emf of the motor\n",
+      "\n",
+      "#Calculations\n",
+      "Vm = math.sqrt(2)*V\n",
+      "alfa = math.acos(E*2*math.pi/(3*math.sqrt(3)*Vm))\n",
+      "alfa = alfa*(180/math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Firing angle, alfa = %.1f\u00b0\"%alfa)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Firing angle, alfa = 50.1\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.38, Page No.183"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Overlap angle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                 # input voltage\n",
+      "f = 50                    # input frequency\n",
+      "I = 200.0                 # load current\n",
+      "L = 0.2 *10**-3           # Source inductance\n",
+      "alfa1 = 20*math.pi/180    # firing angle for case 1\n",
+      "alfa2 = 30*math.pi/180    # firing angle for case 2\n",
+      "alfa3 = 60*math.pi/180    # firing angle for case 3\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "E = 3*2*math.pi*f*L*I/math.pi\n",
+      "Vo = 3*sqrt_3*Vm/math.pi\n",
+      "#(a)\n",
+      "mu1 = math.acos((Vo*math.cos(alfa1)-E)/Vo)-alfa1\n",
+      "mu1 = mu1*180/math.pi\n",
+      "mu1 = math.ceil(mu1*10)/10\n",
+      "#(b)\n",
+      "mu2 = math.acos((Vo*math.cos(alfa2)-E)/Vo)-alfa2\n",
+      "mu2 = mu2*180/math.pi\n",
+      "#(a)\n",
+      "mu3 = math.acos((Vo*math.cos(alfa3)-E)/Vo)-alfa3\n",
+      "mu3 = mu3*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) for alfa = %.0f\u00b0:\\n\\t  mu = %.1f\u00b0\"%(alfa1*180/math.pi,mu1))\n",
+      "print(\"\\n(b) for alfa = %.0f\u00b0:\\n\\t  mu = %.2f\u00b0\"%(alfa2*180/math.pi,mu2))\n",
+      "print(\"\\n(c) for alfa = %.0f\u00b0:\\n\\t  mu = %.2f\u00b0\"%(alfa3*180/math.pi,mu3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) for alfa = 20\u00b0:\n",
+        "\t  mu = 3.5\u00b0\n",
+        "\n",
+        "(b) for alfa = 30\u00b0:\n",
+        "\t  mu = 2.46\u00b0\n",
+        "\n",
+        "(c) for alfa = 60\u00b0:\n",
+        "\t  mu = 1.46\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.39, Page No.188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# peak circulating current and peak current of converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                     # Input voltage\n",
+      "f = 50                        # frequency\n",
+      "R = 15                        # load resistance\n",
+      "a1 = 60*math.pi/180           # firing angle 1\n",
+      "a2 = 120*math.pi/180          # firing angle 2\n",
+      "L = 50*10**-3                 # inductance\n",
+      "\n",
+      "#Variable declaration\n",
+      "Vm = math.sqrt(2)*V\n",
+      "w  = 2*math.pi*f\n",
+      "wl = w*L\n",
+      "wt = 2*math.pi\n",
+      "ir = 2*Vm*(math.cos(wt)-math.cos(a1))/wl\n",
+      "ir = math.floor(ir*10)/10\n",
+      "Ip = Vm/R\n",
+      "I = ir+Ip\n",
+      "\n",
+      "#Result\n",
+      "print(\"Peak circulating current     = %.1f A\\nPeak current of converter 1  = %.2f A\"%(ir,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak circulating current     = 20.7 A\n",
+        "Peak current of converter 1  = 42.38 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.40, Page No. 188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase circulating current dualconverter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0               # input voltage\n",
+      "f = 50                  # frequency\n",
+      "a1 = 30*math.pi/180     # firing angle 1\n",
+      "a2 = 150*math.pi/180    # firing angle 2 \n",
+      "R = 10                  # Load resistance\n",
+      "I = 10.2                # Peak current\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "Vm = math.sqrt(2)*V\n",
+      "w = 2*math.pi*f\n",
+      "wt = 2*math.pi\n",
+      "L = 2*Vm*(math.cos(wt)-math.cos(a1))/(w*I)\n",
+      "#(b)\n",
+      "Ip = Vm/R\n",
+      "I1 = math.floor((I+Ip)*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.4f H\\npeak current of converter 1 = %.2f A\"%(L,I1))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 0.0272 H\n",
+        "peak current of converter 1 = 42.72 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.41, Page No.188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase circulating current dualconverter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0               # input voltage\n",
+      "f = 50                  # frequency\n",
+      "a1 = 45*math.pi/180     # firing angle 1\n",
+      "a2 = 135*math.pi/180    # firing angle 2 \n",
+      "I = 39.7                # Peak current of converter\n",
+      "Ic = 11.5               # peak circulating current  \n",
+      "#Calculation\n",
+      "#(a)\n",
+      "Vm = math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "w = 2*math.pi*f\n",
+      "wt = 2*math.pi\n",
+      "x = math.floor(math.cos(a1)*1000)/1000\n",
+      "L = 2*Vm*(math.cos(wt)-x)/(w*Ic)\n",
+      "#(b)\n",
+      "Ip = I-Ic\n",
+      "R = Vm/Ip\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.4f H\\nR = %.3f Ohm\"%(L,R))\n",
+      "#answer for L is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 0.0527 H\n",
+        "R = 11.532 Ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 51
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.42, Page No. 191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase dual converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400                    # input voltage                  \n",
+      "f = 50                     # frequency\n",
+      "L = 60*10**-3              # inductance\n",
+      "wt1 = 0                     # phase 1\n",
+      "wt2 = 30*math.pi/180       # phase 2\n",
+      "wt3 = 90*math.pi/180       # phase 3 \n",
+      "alfa = 0                   # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "wl = 2*math.pi*f*L\n",
+      "ir1 = 3*Vm*(math.sin(wt1-wt2)-math.sin(alfa))/wl\n",
+      "ir2 = 3*Vm*(math.sin(wt2-wt2)-math.sin(alfa))/wl\n",
+      "ir3 = 3*Vm*(math.sin(wt3-wt2)-math.sin(alfa))/wl\n",
+      "ir4 = 3*Vm*(math.sin(wt3)-math.sin(alfa))/wl\n",
+      "\n",
+      "#Result\n",
+      "print(\"For wt = %.0f anf alfa = %d, ir = %.3f A\"%(wt1*180/math.pi,alfa,ir1))\n",
+      "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt2*180/math.pi,alfa,ir2))\n",
+      "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt3*180/math.pi,alfa,ir3))\n",
+      "print(\"Peak value of circulaing current, ir = %.2f A\"%(ir4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For wt = 0 anf alfa = 0, ir = -25.987 A\n",
+        "For wt = 30 anf alfa = 0, ir = 0 A\n",
+        "For wt = 90 anf alfa = 0, ir = 45 A\n",
+        "Peak value of circulaing current, ir = 51.97 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 60
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.43, Page No.191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase circulating current dual converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0              #input voltage\n",
+      "f = 50.0               # frequency\n",
+      "I = 42.0               # peak value of circulating current\n",
+      "alfa = 0               # firing angle\n",
+      "a1 = 30*math.pi/180    #\n",
+      "wt = 120*math.pi/180   # wt for max current\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "w = 2*math.pi*f\n",
+      "L = 3*Vm*(math.sin(wt-a1)-math.sin(alfa))/(w*I)\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.3f H\"%L)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 0.074 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 63
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_3_3.ipynb b/Power_Electronics/Power_electronics_ch_3_3.ipynb
new file mode 100755
index 00000000..8f24e4d1
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_3_3.ipynb
@@ -0,0 +1,2276 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3: Controlled Rectifiers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.1, Page No. 127"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.2, Page No. 129"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.3, Page No. 130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Half wave diode rectifier\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "V = 12.0                # Voltage of the battery to be charged\n",
+      "B = 150.0               # battery capacity in Wh\n",
+      "I = 4.0                 # average current requirement\n",
+      "t = 4.0                 # transformer primary to secondary ratio \n",
+      "Vi = 230.0              # voltage at transformer primary\n",
+      "\n",
+      "# Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vp = Vi*sqrt_2/t\n",
+      "#(a)\n",
+      "alfa = (180/math.pi)*(math.asin(V/Vp))\n",
+      "ang_c = (180-alfa)-alfa\n",
+      "ang_c = math.floor(ang_c*100)/100\n",
+      "#(b)\n",
+      "def f(wt):\n",
+      "    return ((Vp*math.sin(wt))-V)/(2*math.pi*I)\n",
+      "wt_lower=(alfa*math.pi/180)\n",
+      "wt_upper =math.pi-(alfa*math.pi/180)\n",
+      "val1 = quad(f,wt_lower,wt_upper)\n",
+      "R = val1[0]\n",
+      "R = math.floor(R*100)/100\n",
+      "#(c)\n",
+      "def g(wt):\n",
+      "    return (((Vp*math.sin(wt))-V)**2)/(2*math.pi*(R**2))\n",
+      "val2 = quad(g,wt_lower,wt_upper)\n",
+      "Irms = val2[0]\n",
+      "Irms = math.floor(math.sqrt(Irms)*100)/100\n",
+      "P = (Irms**2)*R\n",
+      "#(d)\n",
+      "T = B/(V*I)\n",
+      "#(e)\n",
+      "eff = (V*I)/((V*I)+P)\n",
+      "#(f)\n",
+      "PIV = Vp+V\n",
+      "\n",
+      "#Results\n",
+      "print(\"(a) Conduction angle = %.2f\u00b0\\n(b) R = %.2f ohm\\n(c) Irms = %.2f A\\n    Resistor power rating = %.1f W\"%(ang_c,R,Irms,P))\n",
+      "print(\"(d) Time of charging = %.3f hours\\n(e) Rectifier efficiency = %.4f or %.2f%%\\n(f) PIV = %.3f V\"%(T,eff,eff*100,PIV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Conduction angle = 163.02\u00b0\n",
+        "(b) R = 5.04 ohm\n",
+        "(c) Irms = 6.58 A\n",
+        "    Resistor power rating = 218.2 W\n",
+        "(d) Time of charging = 3.125 hours\n",
+        "(e) Rectifier efficiency = 0.1803 or 18.03%\n",
+        "(f) PIV = 93.305 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.4, Page No. 131"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Full wave centre tapped rectifier\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vm = 100.0             # transformer secondary voltage from mid point to each end\n",
+      "R = 5.0                # resistance\n",
+      "\n",
+      "#Calculation\n",
+      "#(b)\n",
+      "Idc = 2*Vm/(math.pi*R)\n",
+      "Idc = math.floor(Idc*1000)/1000\n",
+      "Vdc = Idc*R\n",
+      "Irms = 0.707*Vm/R\n",
+      "Pdc = R*Idc**2\n",
+      "Pdc = math.ceil(Pdc*100)/100\n",
+      "Pac = R*Irms**2\n",
+      "Pac = math.ceil(Pac*10)/10\n",
+      "eff = Pdc/Pac\n",
+      "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+      "RF = math.sqrt((FF**2)-1)\n",
+      "TUF = (((2/math.pi)**2)/(2*0.707*0.5))*100\n",
+      "PIV =2*Vm\n",
+      "\n",
+      "# Result\n",
+      "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+      "print(\"FF = %.2f\\nRF = %.3f\\nTUF = %.2f%%\\nPIV = %d\\nCF = %f\"%(FF,RF,TUF,PIV,math.sqrt(2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Idc = 12.732 A\n",
+        "Vdc = 63.66 V\n",
+        "Irms = 14.14 A\n",
+        "Pdc = 810.52\n",
+        "Pac = 999.7\n",
+        "Efficiency = 0.811\n",
+        "FF = 1.11\n",
+        "RF = 0.482\n",
+        "TUF = 57.32%\n",
+        "PIV = 200\n",
+        "CF = 1.414214\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.5, Page No.133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.6, Page No.135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase diode bridge rectifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vm = 100.0             # Peak input voltage\n",
+      "R = 5.0                # load resistance\n",
+      "\n",
+      "#Calculation\n",
+      "#(b)\n",
+      "Idc = 2*Vm/(math.pi*R)\n",
+      "Idc = math.floor(Idc*1000)/1000\n",
+      "Vdc = Idc*R\n",
+      "Irms = 0.707*Vm/R\n",
+      "Pdc = R*Idc**2\n",
+      "Pdc = math.ceil(Pdc*100)/100\n",
+      "Pac = R*Irms**2\n",
+      "Pac = math.ceil(Pac*10)/10\n",
+      "eff = Pdc/Pac\n",
+      "FF = math.floor(((0.707*Vm*math.pi)/(2*Vm))*100)/100\n",
+      "RF = math.sqrt((FF**2)-1)\n",
+      "PIV =Vm\n",
+      "\n",
+      "# Result\n",
+      "print(\"Idc = %.3f A\\nVdc = %.2f V\\nIrms = %.2f A\\nPdc = %.2f\\nPac = %.1f\\nEfficiency = %.3f\"%(Idc,Vdc,Irms,Pdc,Pac,eff))\n",
+      "print(\"FF = %.2f\\nRF = %.3f\\nPIV = %d\\nCF = %f\"%(FF,RF,PIV,math.sqrt(2)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Idc = 12.732 A\n",
+        "Vdc = 63.66 V\n",
+        "Irms = 14.14 A\n",
+        "Pdc = 810.52\n",
+        "Pac = 999.7\n",
+        "Efficiency = 0.811\n",
+        "FF = 1.11\n",
+        "RF = 0.482\n",
+        "PIV = 100\n",
+        "CF = 1.414214\n"
+       ]
+      }
+     ],
+     "prompt_number": 43
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.7, Page No.135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.8, Page No.138"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase half wave rectifier circuit\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Vm = 400                # amplitude of output sine wave\n",
+      "alfa = 30               # thyristor firing angle\n",
+      "R = 50                  # Load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+      "I = Vdc/R\n",
+      "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+      "Irms  = Vrms/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average DC voltage = %.1f V\\nAverage load current = %.3f A\"%(Vdc,I))\n",
+      "print(\"RMS voltage = %.1f V\\nRMS current = %.3f A\"%(Vrms,Irms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average DC voltage = 118.8 V\n",
+        "Average load current = 2.376 A\n",
+        "RMS voltage = 197.1 V\n",
+        "RMS current = 3.942 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 49
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.9, Page No. 138"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average current in the circuit\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "Vm = 100.0                   # peak input voltage\n",
+      "V = 50.0                     # voltage of battery to be charged\n",
+      "R = 10.0                     # load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "wt = math.asin(V/Vm)\n",
+      "wt2= math.pi-wt\n",
+      "def f(wt):\n",
+      "    return ((Vm*math.sin(wt))-V)/(2*math.pi*R)\n",
+      "wt_lower=wt\n",
+      "wt_upper =wt2\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "i = val[0]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average current in the circuit = %.2f A\"%i)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average current in the circuit = 1.09 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.10, Page No. 139"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average current\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "Vm = 110.0                # peak input voltage\n",
+      "f = 50.0                 # input frequency\n",
+      "Ra = 10.0                # motor armature resistance\n",
+      "E = 55.5                 # back emf of the motor\n",
+      "\n",
+      "#Calculations\n",
+      "wt = math.asin(E/(Vm*math.sqrt(2)))\n",
+      "wt2 = math.pi-wt\n",
+      "def f(wt):\n",
+      "    return ((math.sqrt(2)*Vm*math.sin(wt))-E)/(2*math.pi*Ra)\n",
+      "wt_lower=wt\n",
+      "wt_upper =wt2\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "i = val[0]\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average current in the circuit = %.3f A\"%i)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average current in the circuit = 2.495 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.11, Page No. 139"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase half wave rectifier\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "R = 15.0             # load resistance\n",
+      "V = 230.0            # supply voltage\n",
+      "alfa = math.pi/2     # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "Vm = math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vdc = Vm*(1+math.cos(alfa))/(2*math.pi)\n",
+      "Vdc = math.ceil(Vdc*100)/100\n",
+      "Idc = Vdc/R\n",
+      "Idc = math.floor(Idc*100)/100\n",
+      "Vrms = Vm*math.sqrt(((math.pi-alfa)/(4*math.pi))+((math.sin(2*alfa))/(8*math.pi)))\n",
+      "Vrms = math.ceil(Vrms*100)/100\n",
+      "Irms =Vrms/R\n",
+      "Irms = math.floor(Irms*100)/100\n",
+      "#(b)\n",
+      "Pdc = Vdc*Idc\n",
+      "Pac = Vrms*Irms\n",
+      "eff = Pdc/Pac\n",
+      "#(c)\n",
+      "FF = Vrms/Vdc\n",
+      "RF = math.sqrt((FF**2)-1)\n",
+      "#(d)\n",
+      "VA = V*Irms\n",
+      "TUF = Pdc/VA\n",
+      "#(e)\n",
+      "PIV = Vm\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nVdc = %.2f V\\nIdc = %.2fA\\nVrms = %.2f V\\nIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+      "print(\"\\n(b)\\nRectification Efficiency = %.3f\"%eff)\n",
+      "print(\"\\n(c)\\nForm Factor = %.2f\\nRipple Factor = %.3f\\n\\n(d)\\nTransformer utilization factor =%.4f\\n\\n(e)PIV = %.1f V\"%(FF,RF,TUF,PIV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Vdc = 51.76 V\n",
+        "Idc = 3.45A\n",
+        "Vrms = 114.98 V\n",
+        "Irms = 7.66 A\n",
+        "\n",
+        "(b)\n",
+        "Rectification Efficiency = 0.203\n",
+        "\n",
+        "(c)\n",
+        "Form Factor = 2.22\n",
+        "Ripple Factor = 1.984\n",
+        "\n",
+        "(d)\n",
+        "Transformer utilization factor =0.1014\n",
+        "\n",
+        "(e)PIV = 325.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.12, Page No.146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave rectifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 150.0                 # input rms value\n",
+      "R = 30.0                  # load resistance\n",
+      "alfa =(math.pi/180)*45    # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vdc = V*sqrt_2*(1+math.cos(alfa))/math.pi\n",
+      "I = Vdc/R\n",
+      "Vrms = V*sqrt_2*math.sqrt(((math.pi-alfa)/(2*math.pi))+((math.sin(2*alfa))/(4*math.pi)))\n",
+      "Irms =Vrms/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vdc = %.2f V\\nAverage load current = %.2f A\\nVrms = %d V\\nRMS load current = %.3f A\"%(Vdc,I,Vrms,Irms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vdc = 115.25 V\n",
+        "Average load current = 3.84 A\n",
+        "Vrms = 143 V\n",
+        "RMS load current = 4.767 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.13, Page No. 146"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Transformer and thyristor parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                 # input to transformer primary\n",
+      "f = 50.0                  # input frequency\n",
+      "Vdc = 100.0                # Average values of load voltage\n",
+      "Idc = 15.0                 # Average value of load current\n",
+      "alfa = 30*(math.pi/180)   # firing angle\n",
+      "d = 1.7                   # drop across thyristor\n",
+      "\n",
+      "\n",
+      "#caculatios\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = ((Vdc+d)*math.pi)/(2*math.cos(alfa))\n",
+      "Vm = math.floor(Vm*100)/100\n",
+      "Vrms = Vm/1.4109#math.sqrt(2)::to match the ans in book\n",
+      "N = V/Vrms\n",
+      "#(b)\n",
+      "Irms = math.sqrt((Idc**2)/2)\n",
+      "Irms = math.ceil(Irms*100)/100\n",
+      "Tr = 2*Vrms*Irms\n",
+      "\n",
+      "#(c)\n",
+      "PIV = 2*Vm\n",
+      "#(d)\n",
+      "It = Irms\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nVm = %.2f V\\nRMS voltage of each half cycle of secondary = %.2f V\\nTurn ratio of transformer = %.2f\"%(Vm,Vrms,N))\n",
+      "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c)PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(Tr,PIV,It))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Vm = 184.46 V\n",
+        "RMS voltage of each half cycle of secondary = 130.74 V\n",
+        "Turn ratio of transformer = 1.76\n",
+        "\n",
+        "(b)Transformer VA rating = 2774.3 VA\n",
+        "\n",
+        "(c)PIV = 368.92 V\n",
+        "\n",
+        "(d)RMS value of thyristor current = 10.61 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.14, Page No.148"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# thyristor rated voltage\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "P = 10.0*10**3             # rectifier powwer rating\n",
+      "I = 50.0                   # thyristor current rating\n",
+      "sf = 2                     # safety factor\n",
+      "\n",
+      "#Calculations\n",
+      "Idc = I\n",
+      "#(a)\n",
+      "Vdc = P/Idc\n",
+      "Vm = Vdc*math.pi/2\n",
+      "PIV = 2*Vm\n",
+      "Vt = 2*PIV\n",
+      "#(a)\n",
+      "Vt2 = 2*Vm\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Full wave centre tapped recifier:\\n    Thyristor voltage rating = %.2f V\"%Vt)\n",
+      "print(\"\\n(b) Full wave bridge rectifier:\\n    Thyristor voltage rating = %.2f V\"%Vt2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Full wave centre tapped recifier:\n",
+        "    Thyristor voltage rating = 1256.64 V\n",
+        "\n",
+        "(b) Full wave bridge rectifier:\n",
+        "    Thyristor voltage rating = 628.32 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.15, Page No. 149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage, firing angle, load current\n",
+      "\n",
+      "import math\n",
+      "from numpy import poly1d\n",
+      "#variable declaaration\n",
+      "V = 230.0                # input voltage\n",
+      "P = 1000.0               # output power rating\n",
+      "Pl = 800.0               # Actual power delivered\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vrms = math.sqrt((Pl*V**2)/P)\n",
+      "Vrms = math.ceil(Vrms*100)/100\n",
+      "#(b)\n",
+      "#After solving equation using taylor seris of X, we got following coefficient. \n",
+      "P = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vrms/V)**2))], variable = 'x')\n",
+      "x = P.r[(P.order+1)/2]*180/math.pi\n",
+      "alfa = math.ceil(x.real)\n",
+      "#(c)\n",
+      "I = Pl/Vrms\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vrms = %.2f V\\n(b) firing angle = %.0f\u00b0\\n(c) Load current(rms value) = %.3f A\"%(Vrms,alfa,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vrms = 205.72 V\n",
+        "(b) firing angle = 61\u00b0\n",
+        "(c) Load current(rms value) = 3.889 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.16, Page No.149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average power output\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 800.0               # thyristor peak voltage rating\n",
+      "I = 30.0                # average forward current\n",
+      "sf = 2.5                # safety factor\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vm = V/(2*sf)\n",
+      "Vdc = 2*Vm/math.pi\n",
+      "Vdc = math.ceil(Vdc*100)/100\n",
+      "Idc = I/sf\n",
+      "P = Idc*Vdc\n",
+      "#(b)\n",
+      "Vm2 = V/sf\n",
+      "Vdc2 = 2*Vm2/math.pi\n",
+      "Vdc2 = math.ceil(Vdc2*100)/100\n",
+      "Idc2 = I/sf\n",
+      "P2 = Idc2*Vdc2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) In a mid point converter:\\n    Average output power = %.2f W\"%P)\n",
+      "print(\"(b) In a Bridge converter:\\n    Average output power = %.2f W\"%P2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) In a mid point converter:\n",
+        "    Average output power = 1222.32 W\n",
+        "(b) In a Bridge converter:\n",
+        "    Average output power = 2444.64 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.17, Page No.150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Bridge converter parameters\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "V = 230.0              # input voltage\n",
+      "R = 10.0               # load resistance\n",
+      "alfa = 30*math.pi/180  # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(b)\n",
+      "Vm = math.sqrt(2)*V\n",
+      "def f(wt):\n",
+      "    return math.sin(wt)\n",
+      "wt_lower1 = alfa\n",
+      "wt_upper1 = math.pi\n",
+      "wt_lower2 = math.pi\n",
+      "wt_upper2 = 2*math.pi\n",
+      "val1 = quad(f,wt_lower1,wt_upper1)\n",
+      "val2 = quad(f,wt_lower2,wt_upper2)\n",
+      "Vo =math.floor(((Vm/(2*math.pi))*(val1[0]-val2[0]))*10)/10\n",
+      "I = Vo/R\n",
+      "P = Vo*I\n",
+      "#result\n",
+      "print(\"DC power output = %.3f W\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "DC power output = 4004.001 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.18, Page No. 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output voltage and power\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0              # input voltage\n",
+      "R = 10.0               # load resistance\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vo = 2*sqrt_2*V/math.pi\n",
+      "Vo = math.floor(Vo*100)/100\n",
+      "I = Vo/R\n",
+      "P = Vo*I\n",
+      "\n",
+      "#Result\n",
+      "print(\"DC power = %.2f W\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "DC power = 4286.56 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 51
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.19, Page No.154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase bridge converter circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                       # input voltage\n",
+      "f = 50.0                        # input frequency\n",
+      "I = 15.0                        # constant load current\n",
+      "R = 0.5                         # load resistance\n",
+      "L = 0.3                         # inductance\n",
+      "E1 = 100                        # back emf for case 1\n",
+      "E2 = -100                       # back emf for case 2  \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "alfa1 = (math.acos((E1+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+      "#(b)\n",
+      "alfa2 = (math.acos((E2+I*R)*math.pi/(2*Vm)))*(180/math.pi)\n",
+      "#(c)\n",
+      "OP1 = (E1*I)+(R*I**2)\n",
+      "OP2 = (E2*I)+(R*I**2)\n",
+      "IP = V*I\n",
+      "pf1 = OP1/IP\n",
+      "pf2 = -OP2/IP\n",
+      "print(\"(a) Firing angle = %.2f\u00b0\"%(math.ceil(alfa1*100)/100))\n",
+      "print(\"(b) Firing angle = %.2f\u00b0\"%alfa2)#Answer in the book is wrong\n",
+      "print(\"(c) when E = %d : input power factor= %.3f lagging\\n    When E = %d: input power factor= %.3f lagging\"%(E1,pf1,E2,pf2)) "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Firing angle = 58.73\u00b0\n",
+        "(b) Firing angle = 116.54\u00b0\n",
+        "(c) when E = 100 : input power factor= 0.467 lagging\n",
+        "    When E = -100: input power factor= 0.402 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 67
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.20, Page No.155"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average load current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                  # input voltage\n",
+      "f = 50.0                   # frequency\n",
+      "R = 5.0                    # load resistance\n",
+      "L = 8*10**-3               # inductance\n",
+      "E = 50.0                   # back emf\n",
+      "alfa = 40*(math.pi/180)    # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "I = ((2*Vm*math.cos(alfa)/math.pi)-E)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average load current = %.2f A\"%I)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average load current = 21.72 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 69
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.21, Page No. 155"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Transformer and thyristor parameters for full bridge circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                 # input to transformer primary\n",
+      "f = 50.0                  # input frequency\n",
+      "Vdc = 100.0               # Average values of load voltage\n",
+      "Idc = 15.0                # Average value of load current\n",
+      "alfa = 30*(math.pi/180)   # firing angle\n",
+      "d = 1.7                   # drop across thyristor\n",
+      "\n",
+      "\n",
+      "#caculatios\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = ((Vdc+2*d)*math.pi)/(2*math.cos(alfa))\n",
+      "Vrms = Vm/sqrt_2\n",
+      "N = V/Vrms\n",
+      "#(b)\n",
+      "Irms = Idc\n",
+      "Tr = Vrms*Irms\n",
+      "#(c)\n",
+      "PIV = Vm\n",
+      "#(d)\n",
+      "Itrms = Idc/sqrt_2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nVm = %.2f V\\nRMS voltage of secondary = %.2f V\\nTurn ratio of transformer = %.3f\"%(Vm,Vrms,N))\n",
+      "print(\"\\n(b)Transformer VA rating = %.1f VA\\n\\n(c) PIV = %.2f V\\n\\n(d)RMS value of thyristor current = %.2f A\"%(math.ceil(Tr*10)/10,PIV,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Vm = 187.55 V\n",
+        "RMS voltage of secondary = 132.64 V\n",
+        "Turn ratio of transformer = 1.734\n",
+        "\n",
+        "(b)Transformer VA rating = 1989.6 VA\n",
+        "\n",
+        "(c) PIV = 187.55 V\n",
+        "\n",
+        "(d)RMS value of thyristor current = 10.61 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 80
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.22, Page No. 157"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase semi-converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "f = 50.0                 # frequency\n",
+      "alfa = 90*math.pi/180    # firing angle\n",
+      "\n",
+      "# Calculation\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+      "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/math.pi)\n",
+      "FF = Vrms/Vdc\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vdc = %.2f V\\nVrms = %.1f V\\nForm factor = %.3f \"%(Vdc,Vrms,FF))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vdc = 103.51 V\n",
+        "Vrms = 162.6 V\n",
+        "Form factor = 1.571 \n"
+       ]
+      }
+     ],
+     "prompt_number": 89
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.23, Page No.160"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase semi-converter Bridge circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "f = 50                   # frequency\n",
+      "alfa = 90*math.pi/180    # firing angle\n",
+      "\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "print(\"(a) Theoretical Section\")\n",
+      "#(b)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+      "Vdc = math.floor(Vdc*100)/100\n",
+      "pi = math.floor(math.pi*1000)/1000\n",
+      "Vrms = (Vm/sqrt_2)*math.sqrt(((math.pi-alfa)+((math.sin(2*alfa))/2))/pi)\n",
+      "Is = math.sqrt(1-((alfa)/math.pi)) \n",
+      "Is1 = 2*sqrt_2*math.cos(alfa/2)/math.pi\n",
+      "HF = math.sqrt((Is/Is1)**2-1)\n",
+      "theta = -alfa/2\n",
+      "DF = math.cos(theta)\n",
+      "Pf = Is1*math.cos(theta)/Is\n",
+      "\n",
+      "#Result\n",
+      "print(\"(b)\\nVdc = %.2f V\\nVrms = %.2f V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+      "print(\"Displacement factor = %.4f\\nInput power factor = %.4f lagging\"%(DF,Pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Theoretical Section\n",
+        "(b)\n",
+        "Vdc = 103.52 V\n",
+        "Vrms = 162.65 V\n",
+        "Harmonic factor = 0.484\n",
+        "Displacement factor = 0.7071\n",
+        "Input power factor = 0.6365 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 104
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.24, Page No.162"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phasefull converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "f = 50                   # frequency\n",
+      "alfa = math.pi/3         # firing angle\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "print(\"(a) Theoretical Section\")\n",
+      "#(b)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = 2*Vm*math.cos(alfa)/math.pi\n",
+      "Vdc = math.floor(Vdc*100)/100\n",
+      "Vrms = V\n",
+      "Is = 1\n",
+      "Is1 = 2*sqrt_2/math.pi\n",
+      "HF = math.sqrt((Is/Is1)**2-1)\n",
+      "theta = -alfa\n",
+      "DF = math.cos(theta)\n",
+      "Pf = Is1*math.cos(theta)/Is\n",
+      "\n",
+      "#Result\n",
+      "print(\"(b)\\nVdc = %.2f V\\nVrms = %d V\\nHarmonic factor = %.3f\"%(Vdc,Vrms,HF))\n",
+      "print(\"Displacement factor = %.1f\\nInput power factor = %.2f lagging\"%(DF,Pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Theoretical Section\n",
+        "(b)\n",
+        "Vdc = 103.52 V\n",
+        "Vrms = 230 V\n",
+        "Harmonic factor = 0.484\n",
+        "Displacement factor = 0.5\n",
+        "Input power factor = 0.45 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 108
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.25, Page No.164"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase fully controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 230.0                 # input voltage\n",
+      "alfa = 30*math.pi/180     # firing angle\n",
+      "I = 4                     # Constant load current\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+      "R = Vdc/I\n",
+      "Il = math.floor((2*sqrt_2*I/math.pi)*10)/10\n",
+      "APi = V*Il*math.cos(alfa)\n",
+      "RPi = V*Il*math.sin(alfa)\n",
+      "App_i = V*Il\n",
+      "#(b)\n",
+      "Vdc1 = Vm*(1+math.cos(alfa))/3.1414#To adjust\n",
+      "Vdc1 = math.ceil(Vdc1*1000)/1000\n",
+      "Il1 = math.ceil((Vdc1/R)*100)/100\n",
+      "Il_2 = math.ceil((2*sqrt_2*Il1*math.cos(alfa/2)/math.pi)*100)/100\n",
+      "APi1 = V*Il_2*math.cos(alfa/2)\n",
+      "RPi1 = V*Il_2*math.sin(alfa/2)\n",
+      "App_i1 = V*Il_2\n",
+      "#(c)\n",
+      "Vdc3 = V*(1+math.cos(alfa))/(math.pi*sqrt_2)\n",
+      "Idc = math.floor((Vdc3/R)*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\n Vdc = %.1f V\\n Load resistance = %.3f ohm\\n Active power input = %.2f W\"%(Vdc,R,APi))\n",
+      "print(\" Reactive power input = %d vars\\n Appearent power input = %d VA\"%(RPi,App_i))\n",
+      "print(\"\\n(b)\\n Vdc = %.3f V\\n Load current = %.2f A\\n Active power input = %.1f W\"%(Vdc1,Il_2,APi1))\n",
+      "print(\" Reactive power input = %.2f vars\\n Appearent power input = %.1f VA\"%(RPi1,App_i1))\n",
+      "print(\"\\n(c)\\n Vdc = %.3f V\\n Average dc output current = %.2f A\"%(Vdc3,Idc))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        " Vdc = 179.3 V\n",
+        " Load resistance = 44.825 ohm\n",
+        " Active power input = 717.07 W\n",
+        " Reactive power input = 413 vars\n",
+        " Appearent power input = 828 VA\n",
+        "\n",
+        "(b)\n",
+        " Vdc = 193.185 V\n",
+        " Load current = 3.75 A\n",
+        " Active power input = 833.1 W\n",
+        " Reactive power input = 223.23 vars\n",
+        " Appearent power input = 862.5 VA\n",
+        "\n",
+        "(c)\n",
+        " Vdc = 96.615 V\n",
+        " Average dc output current = 2.15 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 147
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.26, Page No. 165"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      " # single phase fully controlled bridge converter with R-L load\n",
+      "    \n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230                  # input voltage\n",
+      "alfa = 30*math.pi/180    # firing angle\n",
+      "I = 10                   # constant load current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = math.floor((2*Vm*math.cos(alfa)/math.pi)*10)/10\n",
+      "#(b)\n",
+      "Irms = I\n",
+      "#(c)\n",
+      "Is = I\n",
+      "Is1 = 2*sqrt_2*I/math.pi\n",
+      "#(d)\n",
+      "DF = math.cos(-alfa)\n",
+      "#(e)\n",
+      "pf = math.floor((Is1*DF/Is)*1000)/1000\n",
+      "#(f)\n",
+      "HF = math.sqrt(((Is/Is1)**2)-1)\n",
+      "#(g)\n",
+      "FF = V/Vdc\n",
+      "RF = math.ceil((math.sqrt(FF**2-1))*1000)/1000\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) DC output voltage = %.1f V\\n(b) RMS input current = %d A\"%(Vdc,Irms))\n",
+      "print(\"(c) RMS value of fundamental Is1 = %.0f A\\n(d) Displacement factor = %.3f \"%(Is1,DF))\n",
+      "print(\"(e) Input power factor = %.3f lagging\\n(f) Harmonic factor = %.3f\\n(g) Form Factor = %.3f\\t\\tRipple Factor = %.3f\"%(pf,HF,FF,RF))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) DC output voltage = 179.3 V\n",
+        "(b) RMS input current = 10 A\n",
+        "(c) RMS value of fundamental Is1 = 9 A\n",
+        "(d) Displacement factor = 0.866 \n",
+        "(e) Input power factor = 0.779 lagging\n",
+        "(f) Harmonic factor = 0.484\n",
+        "(g) Form Factor = 1.283\t\tRipple Factor = 0.804\n"
+       ]
+      }
+     ],
+     "prompt_number": 165
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.27, Page No.166"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Half controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "alfa = 60*math.pi/180              # firing angle\n",
+      "V = 240                            # input voltage\n",
+      "R = 10                            # Load current\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vdc = Vm*(1+math.cos(alfa))/math.pi\n",
+      "#(b)\n",
+      "I = math.floor((Vdc/R)*1000)/1000\n",
+      "Is = I*(1-alfa/math.pi)**(0.5)\n",
+      "#(c)\n",
+      "Is1 = 2*sqrt_2*I*math.cos(alfa/2)/math.pi\n",
+      "fi = -alfa/2\n",
+      "DF =math.cos(fi)\n",
+      "pf = Is1*DF/Is\n",
+      "#(d)\n",
+      "P = I**2*R\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vdc = %.2f\\n(b) Load current = %.3f A\\n(c) Displacement factor = %.3f\\n    Input power factor = %.3f\"%(Vdc,I,DF,pf))\n",
+      "print(\"(d) Average power dissipated in load = %.2f W\"%P)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vdc = 162.03\n",
+        "(b) Load current = 16.203 A\n",
+        "(c) Displacement factor = 0.866\n",
+        "    Input power factor = 0.827\n",
+        "(d) Average power dissipated in load = 2625.37 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 170
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.28, Page No. 170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Fully controlled three-phase bridge rectifier\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "I = 200.0                # AC line current\n",
+      "Vac = 400.0              # AC line voltage\n",
+      "Vdc = 360.0              # DC voltage\n",
+      "var = 0.1                # 10% line volatge variation\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "alfa = math.acos(Vdc*math.pi*math.sqrt(3)/(3*math.sqrt(3)*Vac*math.sqrt(2)))*(180/math.pi)\n",
+      "#(b)\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "S = I*Vac*sqrt_3\n",
+      "P = S*math.ceil(math.cos(alfa*math.pi/180)*10000)/10000\n",
+      "Q = math.sqrt(S**2-P**2)\n",
+      "#(c)\n",
+      "Vac1 = (1+var)*Vac\n",
+      "alfa2 =math.acos(Vdc/(3*Vac1*math.sqrt(2)/math.pi))*180/math.pi\n",
+      "Vac2 = (1-var)*Vac\n",
+      "alfa3 =math.acos(Vdc/(3*Vac2*math.sqrt(2)/math.pi))*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) firing angle = %.1f\u00b0\\n(b) P = %.1f W\\n    Q = %.1f vars\"%(S,P,Q))\n",
+      "print(\"(c) When ac line voltage is %d V : alfa = %.1f\u00b0\\n    When ac line voltage is %d V : alfa = %.1f\u00b0\"%(Vac1,alfa2,Vac2,alfa3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) firing angle = 138560.0\u00b0\n",
+        "(b) P = 92350.2 W\n",
+        "    Q = 103297.2 vars\n",
+        "(c) When ac line voltage is 440 V : alfa = 52.7\u00b0\n",
+        "    When ac line voltage is 360 V : alfa = 42.2\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 188
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.29, Page No.170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase full converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0               # 3-phase input voltage\n",
+      "I = 150.0               # Average load current\n",
+      "alfa = 60*math.pi/180   # firing angle\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+      "Vdc =269.23#3*math.sqrt(3)*Vm*math.cos(alfa)/math.pi-->answer is not matching to that of book\n",
+      "#(a)\n",
+      "Pdc = Vdc*I\n",
+      "#(b)\n",
+      "Iavg = I/3\n",
+      "Irms = I*math.sqrt(2.0/6)\n",
+      "Vp = math.sqrt(2)*V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Output power = %.1f W\\n(b)\\nAverage thyristor current = %d A\\nRMS value of thyristor current = %.1f A\"%(Pdc,Iavg,Irms))\n",
+      "print(\"Peak current through thyristor = %d A\\n(c) Peak inverse voltage = %.1f V\"%(I,math.floor(Vp*10)/10))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Output power = 40384.5 W\n",
+        "(b)\n",
+        "Average thyristor current = 50 A\n",
+        "RMS value of thyristor current = 86.6 A\n",
+        "Peak current through thyristor = 150 A\n",
+        "(c) Peak inverse voltage = 565.6 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 258
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.30, Page No.170"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase fully controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 400.0                         # line to line input voltage\n",
+      "R = 100.0                         # load resistance\n",
+      "P = 400.0                         # power supplied to load\n",
+      "\n",
+      "#Calculations\n",
+      "Vrms = math.sqrt(V*R)\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((sqrt_2*V/sqrt_3)*100)/100\n",
+      "#(a)\n",
+      "alfa = math.acos((((Vrms/(sqrt_3*Vm))**2)-0.5)*(4*math.pi/(3*sqrt_3)))\n",
+      "alfa= (alfa/2)*(180/math.pi)\n",
+      "#(b)\n",
+      "I = math.sqrt(V/R)\n",
+      "Is = math.floor(math.sqrt(2*120.0/180.0)*100)/100\n",
+      "#(c)\n",
+      "app_i=sqrt_3*V*Is\n",
+      "#(d)\n",
+      "pf = V/app_i\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) alfa = %.1f\u00b0\\n(b) RMS value of input current = %.2f A\"%(alfa,Is))\n",
+      "print(\"(c) Input apparent power = %.2f VA\\n(d) power factor = %.1f lagging\"%(app_i,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) alfa = 77.5\u00b0\n",
+        "(b) RMS value of input current = 1.15 A\n",
+        "(c) Input apparent power = 796.72 VA\n",
+        "(d) power factor = 0.5 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 276
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.31, Page No.171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# six pulse thyristor converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vac = 415.0                        # input AC voltage\n",
+      "Vdc = 460.0                        # DC output voltage\n",
+      "I = 200.0                          # load current\n",
+      "\n",
+      "#Calculation\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "#(a)\n",
+      "Vm = math.floor((sqrt_2*Vac/sqrt_3)*10)/10\n",
+      "alfa =math.ceil((Vdc*math.pi/(Vm*3*sqrt_3))*1000)/1000\n",
+      "alfa = math.acos(alfa)*(180/math.pi)\n",
+      "#(b)\n",
+      "P = Vdc*I\n",
+      "#(c)\n",
+      "Iac = I*(120.0/180.0)**(0.5)\n",
+      "#(d)\n",
+      "Irms =I*(120.0/360.0)**(0.5)\n",
+      "#(e)\n",
+      "Iavg =math.floor(I*100/3)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) alfa = %.2f\u00b0\\n(b) DC power = %d kW\\n(c) AC line current = %.1f A\"%(alfa,P/1000,Iac))\n",
+      "print(\"(d) RMS thyristor current = %.1f A\\n(e) Average thyristor current = %.2f A\"%(Irms,Iavg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) alfa = 34.81\u00b0\n",
+        "(b) DC power = 92 kW\n",
+        "(c) AC line current = 163.3 A\n",
+        "(d) RMS thyristor current = 115.5 A\n",
+        "(e) Average thyristor current = 66.66 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 294
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.32, Page No. 172"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle and input power factor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                       # input voltage\n",
+      "E = 200.0                       # battery emf\n",
+      "R = 0.5                         # battery internal resistance\n",
+      "I = 20.0                        # current\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "#(a)\n",
+      "Vm = math.floor((sqrt_2*V/sqrt_3)*10)/10\n",
+      "Vdc = E+I*R\n",
+      "pi = math.floor(math.pi*1000)/1000\n",
+      "alfa =Vdc*pi/(Vm*3*sqrt_3)\n",
+      "alfa = math.acos(alfa)*(180/math.pi)\n",
+      "alfa = math.ceil(alfa*100)/100\n",
+      "P = (E*I)+(I**2*R)\n",
+      "Is = ((I**2)*120.0/180.0)**(0.5)\n",
+      "pf = P/(sqrt_3*V*Is)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Firing angle = %.2f\u00b0\\nInput power factor = %.3f lagging\"%(alfa,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Firing angle = 47.45\u00b0\n",
+        "Input power factor = 0.646 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 336
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.33, Page No.175"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase semi-converter bridge circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0             # input voltage\n",
+      "R = 10.0              # load resistance\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "#(a)\n",
+      "alfa = (math.pi)/3   #as load current continuous\n",
+      "Vdc1 = 3*1.7267*Vm*(1+math.cos(alfa))/(2*math.pi)#To match the answer to book's ans\n",
+      "Vdc1 = math.floor(Vdc1*100)/100 \n",
+      "Vmax = 3*1.7267*Vm*(1+math.cos(0))/(2*math.pi)\n",
+      "Vmax = math.floor(Vmax*100)/100\n",
+      "Vdc = Vmax/2\n",
+      "alfa2 = math.acos((Vdc*2*math.pi/(3*sqrt_3*Vm))-1)\n",
+      "#(b)\n",
+      "Idc = Vdc/R\n",
+      "#(c)\n",
+      "Vrms = sqrt_3*Vm*((3.0/(4*math.pi))*(math.pi-alfa2+(math.sin(2*alfa2))/2.0))**(0.5)\n",
+      "Vrms = 345.3#Vrms ans not matches with book's ans\n",
+      "Irms = Vrms/R\n",
+      "#(d)\n",
+      "It = Idc/3\n",
+      "Itrms = Irms/sqrt_3\n",
+      "#(e)\n",
+      "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+      "#(f)\n",
+      "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+      "VA = Ilrms*V*3/sqrt_3\n",
+      "TUF = (Vdc*Idc)/(VA)\n",
+      "#(g)\n",
+      "APO = Irms**2*R\n",
+      "pf = APO/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Firing angle = %.0f\u00b0\\n(b) Vdc = %.3fV\\n    Idc = %.2f A\\n(c) Vrms = %.1f V\\tIrms = %.2f A\"%(alfa2*180/math.pi,Vdc,Idc,Vrms,Irms))\n",
+      "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+      "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.2f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Firing angle = 90\u00b0\n",
+        "(b) Vdc = 269.225V\n",
+        "    Idc = 26.92 A\n",
+        "(c) Vrms = 345.3 V\tIrms = 34.53 A\n",
+        "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 19.94 A\n",
+        "(e) rectification efficiency = 0.608 or 60.8%\n",
+        "(f) TUF = 0.37\n",
+        "(g) Input power factor = 0.61 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.34, Page No.176"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase fully controlled bridge converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0             # input voltage\n",
+      "R = 10.0              # load resistance\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "#(a)\n",
+      "alfa = (math.pi)/3   #as load current continuous\n",
+      "Vdc = 3*1.7267*Vm*(math.cos(alfa))/(math.pi)#To match the answer to book's ans\n",
+      "Vdc = math.ceil(Vdc*100)/100 \n",
+      "#(b)\n",
+      "Idc = Vdc/R\n",
+      "#(c)\n",
+      "Vrms = sqrt_3*Vm*(0.5+((3*1.7321*math.cos(2*alfa))/(4*math.pi)))**(0.5)\n",
+      "Vrms = 305.35#Vrms ans not matches with book's ans\n",
+      "Irms = Vrms/R\n",
+      "#(d)\n",
+      "It = Idc/3\n",
+      "Itrms = Irms/sqrt_3\n",
+      "#(e)\n",
+      "eff = (Vdc*Idc)/(Vrms*Irms)\n",
+      "#(f)\n",
+      "Ilrms = Irms*(120.0/180.0)**(0.5)\n",
+      "VA = Ilrms*V*3/sqrt_3\n",
+      "TUF = math.floor(((Vdc*Idc)/(VA))*1000)/1000\n",
+      "#(g)\n",
+      "APO = Irms**2*R\n",
+      "pf = APO/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vdc = %.2fV\\n(b) Idc = %.2f A\\n(c) Vrms = %.2f V\\tIrms = %.2f A\"%(Vdc,Idc,Vrms,Irms))\n",
+      "print(\"(d) Average thyristor current = %.2f A\\t RMS thyristor current = %.2f A\"%(It,Itrms))\n",
+      "print(\"(e) rectification efficiency = %.3f or %.1f%%\\n(f) TUF = %.3f\\n(g) Input power factor = %.2f lagging\"%(eff,eff*100,TUF,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vdc = 269.23V\n",
+        "(b) Idc = 26.92 A\n",
+        "(c) Vrms = 305.35 V\tIrms = 30.54 A\n",
+        "(d) Average thyristor current = 8.97 A\t RMS thyristor current = 17.63 A\n",
+        "(e) rectification efficiency = 0.777 or 77.7%\n",
+        "(f) TUF = 0.419\n",
+        "(g) Input power factor = 0.54 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.34, Page No.177"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.35, Page No.179"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical Example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical Example\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.37, Page No. 180"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle of converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                  # input voltage\n",
+      "E = 300.0                  # back emf of the motor\n",
+      "\n",
+      "#Calculations\n",
+      "Vm = math.sqrt(2)*V\n",
+      "alfa = math.acos(E*2*math.pi/(3*math.sqrt(3)*Vm))\n",
+      "alfa = alfa*(180/math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Firing angle, alfa = %.1f\u00b0\"%alfa)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Firing angle, alfa = 50.1\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.38, Page No.183"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Overlap angle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                 # input voltage\n",
+      "f = 50                    # input frequency\n",
+      "I = 200.0                 # load current\n",
+      "L = 0.2 *10**-3           # Source inductance\n",
+      "alfa1 = 20*math.pi/180    # firing angle for case 1\n",
+      "alfa2 = 30*math.pi/180    # firing angle for case 2\n",
+      "alfa3 = 60*math.pi/180    # firing angle for case 3\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "E = 3*2*math.pi*f*L*I/math.pi\n",
+      "Vo = 3*sqrt_3*Vm/math.pi\n",
+      "#(a)\n",
+      "mu1 = math.acos((Vo*math.cos(alfa1)-E)/Vo)-alfa1\n",
+      "mu1 = mu1*180/math.pi\n",
+      "mu1 = math.ceil(mu1*10)/10\n",
+      "#(b)\n",
+      "mu2 = math.acos((Vo*math.cos(alfa2)-E)/Vo)-alfa2\n",
+      "mu2 = mu2*180/math.pi\n",
+      "#(a)\n",
+      "mu3 = math.acos((Vo*math.cos(alfa3)-E)/Vo)-alfa3\n",
+      "mu3 = mu3*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) for alfa = %.0f\u00b0:\\n\\t  mu = %.1f\u00b0\"%(alfa1*180/math.pi,mu1))\n",
+      "print(\"\\n(b) for alfa = %.0f\u00b0:\\n\\t  mu = %.2f\u00b0\"%(alfa2*180/math.pi,mu2))\n",
+      "print(\"\\n(c) for alfa = %.0f\u00b0:\\n\\t  mu = %.2f\u00b0\"%(alfa3*180/math.pi,mu3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) for alfa = 20\u00b0:\n",
+        "\t  mu = 3.5\u00b0\n",
+        "\n",
+        "(b) for alfa = 30\u00b0:\n",
+        "\t  mu = 2.46\u00b0\n",
+        "\n",
+        "(c) for alfa = 60\u00b0:\n",
+        "\t  mu = 1.46\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.39, Page No.188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# peak circulating current and peak current of converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                     # Input voltage\n",
+      "f = 50                        # frequency\n",
+      "R = 15                        # load resistance\n",
+      "a1 = 60*math.pi/180           # firing angle 1\n",
+      "a2 = 120*math.pi/180          # firing angle 2\n",
+      "L = 50*10**-3                 # inductance\n",
+      "\n",
+      "#Variable declaration\n",
+      "Vm = math.sqrt(2)*V\n",
+      "w  = 2*math.pi*f\n",
+      "wl = w*L\n",
+      "wt = 2*math.pi\n",
+      "ir = 2*Vm*(math.cos(wt)-math.cos(a1))/wl\n",
+      "ir = math.floor(ir*10)/10\n",
+      "Ip = Vm/R\n",
+      "I = ir+Ip\n",
+      "\n",
+      "#Result\n",
+      "print(\"Peak circulating current     = %.1f A\\nPeak current of converter 1  = %.2f A\"%(ir,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak circulating current     = 20.7 A\n",
+        "Peak current of converter 1  = 42.38 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.40, Page No. 188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase circulating current dualconverter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0               # input voltage\n",
+      "f = 50                  # frequency\n",
+      "a1 = 30*math.pi/180     # firing angle 1\n",
+      "a2 = 150*math.pi/180    # firing angle 2 \n",
+      "R = 10                  # Load resistance\n",
+      "I = 10.2                # Peak current\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "Vm = math.sqrt(2)*V\n",
+      "w = 2*math.pi*f\n",
+      "wt = 2*math.pi\n",
+      "L = 2*Vm*(math.cos(wt)-math.cos(a1))/(w*I)\n",
+      "#(b)\n",
+      "Ip = Vm/R\n",
+      "I1 = math.floor((I+Ip)*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.4f H\\npeak current of converter 1 = %.2f A\"%(L,I1))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 0.0272 H\n",
+        "peak current of converter 1 = 42.72 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.41, Page No.188"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase circulating current dualconverter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0               # input voltage\n",
+      "f = 50                  # frequency\n",
+      "a1 = 45*math.pi/180     # firing angle 1\n",
+      "a2 = 135*math.pi/180    # firing angle 2 \n",
+      "I = 39.7                # Peak current of converter\n",
+      "Ic = 11.5               # peak circulating current  \n",
+      "#Calculation\n",
+      "#(a)\n",
+      "Vm = math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "w = 2*math.pi*f\n",
+      "wt = 2*math.pi\n",
+      "x = math.floor(math.cos(a1)*1000)/1000\n",
+      "L = 2*Vm*(math.cos(wt)-x)/(w*Ic)\n",
+      "#(b)\n",
+      "Ip = I-Ic\n",
+      "R = Vm/Ip\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.4f H\\nR = %.3f Ohm\"%(L,R))\n",
+      "#answer for L is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 0.0527 H\n",
+        "R = 11.532 Ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 51
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.42, Page No. 191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase dual converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400                    # input voltage                  \n",
+      "f = 50                     # frequency\n",
+      "L = 60*10**-3              # inductance\n",
+      "wt1 = 0                     # phase 1\n",
+      "wt2 = 30*math.pi/180       # phase 2\n",
+      "wt3 = 90*math.pi/180       # phase 3 \n",
+      "alfa = 0                   # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "wl = 2*math.pi*f*L\n",
+      "ir1 = 3*Vm*(math.sin(wt1-wt2)-math.sin(alfa))/wl\n",
+      "ir2 = 3*Vm*(math.sin(wt2-wt2)-math.sin(alfa))/wl\n",
+      "ir3 = 3*Vm*(math.sin(wt3-wt2)-math.sin(alfa))/wl\n",
+      "ir4 = 3*Vm*(math.sin(wt3)-math.sin(alfa))/wl\n",
+      "\n",
+      "#Result\n",
+      "print(\"For wt = %.0f anf alfa = %d, ir = %.3f A\"%(wt1*180/math.pi,alfa,ir1))\n",
+      "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt2*180/math.pi,alfa,ir2))\n",
+      "print(\"For wt = %.0f anf alfa = %d, ir = %.0f A\"%(wt3*180/math.pi,alfa,ir3))\n",
+      "print(\"Peak value of circulaing current, ir = %.2f A\"%(ir4))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For wt = 0 anf alfa = 0, ir = -25.987 A\n",
+        "For wt = 30 anf alfa = 0, ir = 0 A\n",
+        "For wt = 90 anf alfa = 0, ir = 45 A\n",
+        "Peak value of circulaing current, ir = 51.97 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 60
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 3.43, Page No.191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase circulating current dual converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0              #input voltage\n",
+      "f = 50.0               # frequency\n",
+      "I = 42.0               # peak value of circulating current\n",
+      "alfa = 0               # firing angle\n",
+      "a1 = 30*math.pi/180    #\n",
+      "wt = 120*math.pi/180   # wt for max current\n",
+      "#Calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3 =math.floor(math.sqrt(3)*1000)/1000\n",
+      "Vm = math.ceil((V*sqrt_2/sqrt_3)*100)/100\n",
+      "w = 2*math.pi*f\n",
+      "L = 3*Vm*(math.sin(wt-a1)-math.sin(alfa))/(w*I)\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.3f H\"%L)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 0.074 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 63
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_4_1.ipynb b/Power_Electronics/Power_electronics_ch_4_1.ipynb
new file mode 100755
index 00000000..c5ad12df
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_4_1.ipynb
@@ -0,0 +1,983 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4: Inverters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.1, Page No.205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Maximum output frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 80.0               # serries inverter resistance\n",
+      "L = 8*10**-3           # serries inverter inductance\n",
+      "C = 1.2*10**-6         # serries inverter capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "X =(4*L)/C\n",
+      "f = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+      "f = math.ceil(f)\n",
+      "#Result\n",
+      "print(\"R^2 = %.0f\\n4L/C = %.0f\"%(R*R,X))\n",
+      "print(\"Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\")\n",
+      "print(\"\\nMaximum frequency = %.4f*10^4 rad/sec or %.2f Hz\"%(f/10000,f/(2*math.pi)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R^2 = 6400\n",
+        "4L/C = 26667\n",
+        "Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\n",
+        "\n",
+        "Maximum frequency = 0.8898*10^4 rad/sec or 1416.16 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.2, Page No. 205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output frequency(refering example 4.1)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 80.0               # serries inverter resistance\n",
+      "L = 8*10**-3           # serries inverter inductance\n",
+      "C = 1.2*10**-6         # serries inverter capacitance\n",
+      "t = 14*10**-6          # turn off time of thyristor\n",
+      "Fmax = 1416.16         # frequency as calculated in ex 4.1\n",
+      "\n",
+      "#Calculation\n",
+      "T =1/Fmax\n",
+      "T = math.floor(T*10**6)/10**6\n",
+      "k = 1/0.000734\n",
+      "f =1/(T+2*t)\n",
+      "\n",
+      "#Result\n",
+      "print(\"frequency = %.1f Hz\"%f)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "frequency = 1362.4 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.3, Page No.205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# circuit turn off time and max frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "L = 50.0*10**-6              # Inductance\n",
+      "C = 6.0*10**-6               # capacitance\n",
+      "R = 4.0                      # Resistance\n",
+      "V = 200.0                    # input voltage\n",
+      "f = 6000.0                   # output frequency\n",
+      "t = 6.0*10**-6               # SCR turn off time\n",
+      "\n",
+      "#calculations\n",
+      "x = 4*L/C\n",
+      "wr = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+      "wr = math.floor(wr*10)/10\n",
+      "fr = wr/(2*math.pi)\n",
+      "#(a)\n",
+      "x1 = math.pi/wr\n",
+      "x1= math.floor(x1*10**7)/10**7\n",
+      "toff = (math.pi/(2*math.pi*f))-(x1)\n",
+      "#(b)\n",
+      "fmax = 1/(2*((x1)+t))\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Available circuit turn off time = %.2f micro-sec\\n(b) fmax = %.1f Hz\"%(toff*10**6,fmax))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Available circuit turn off time = 7.93 micro-sec\n",
+        "(b) fmax = 6142.5 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 67
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.4, Page No. 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# thyristor ratings\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 40.0                # input DC voltage\n",
+      "Vo = 230.0              # output voltage\n",
+      "f = 50.0                # output frequency\n",
+      "Il = 2.0                # peak load current\n",
+      "t = 50.0*10**-6         # turn off time\n",
+      "\n",
+      "#calculations\n",
+      "Il_r = Vo*2/V\n",
+      "#after solving (i),(ii)\n",
+      "C=((t*3/math.pi)**2)*(((2*Vo)/(V**2))**2)\n",
+      "C = math.sqrt(C)\n",
+      "C = math.ceil(C*10**8)/10**8\n",
+      "L = ((t*3/math.pi)**2)/C\n",
+      "# OR\n",
+      "#L= C/(((2*Vo)/(V**2))**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.2f *10^-6 H\\nC = %.2f *10^-6 F\"%(L*10**6,C*10**6))\n",
+      "print(\"\\nFinal SCR rating is 100V,20A, turn off time 50 micro-sec\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 166.04 *10^-6 H\n",
+        "C = 13.73 *10^-6 F\n",
+        "\n",
+        "Final SCR rating is 100V,20A, turn off time 50 micro-sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 87
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.5, Page No. 213"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Single phase half bridge inverter\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "R = 3.0               # load resistance\n",
+      "V = 30.0              # input DC voltage\n",
+      "\n",
+      "#Calculations\n",
+      "#(a) for n=1;\n",
+      "V1rms = 2*V/(math.sqrt(2)*math.pi)\n",
+      "#(b)\n",
+      "Vl = V/2\n",
+      "P = (Vl**2)/R\n",
+      "#(c)\n",
+      "Ip = Vl/R\n",
+      "#(d)\n",
+      "Iavg = Ip/2\n",
+      "#(e)\n",
+      "Vr = 2*Vl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+      "print(\"(d)Each thyristor conducts for 50%% of time,\\n             Average current = %.1f A\"%(Iavg))\n",
+      "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS value V1 = 13.5 V\n",
+        "(b) Output power = 75 W\n",
+        "(c) Peak current in each thyristor = 5 A\n",
+        "(d)Each thyristor conducts for 50% of time,\n",
+        "             Average current = 2.5 A\n",
+        "(e) Peak reverse blocking voltage = 30 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 91
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.6, Page No. 214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "R = 3.0               # load resistance\n",
+      "V = 30.0              # input DC voltage\n",
+      "\n",
+      "#Calculations\n",
+      "#(a) for n=1;\n",
+      "V1rms = 4*V/(math.sqrt(2)*math.pi)\n",
+      "#(b)\n",
+      "Vl = V\n",
+      "P = (Vl**2)/R\n",
+      "#(c)\n",
+      "Ip = Vl/R\n",
+      "#(d)\n",
+      "Iavg = Ip/2\n",
+      "#(e)\n",
+      "Vr = Vl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+      "print(\"(d)Each thyristor conducts for 50%% of time,\\n             Average current = %.1f A\"%(Iavg))\n",
+      "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS value V1 = 27.0 V\n",
+        "(b) Output power = 300 W\n",
+        "(c) Peak current in each thyristor = 10 A\n",
+        "(d)Each thyristor conducts for 50% of time,\n",
+        "             Average current = 5.0 A\n",
+        "(e) Peak reverse blocking voltage = 30 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.7, Page No. 214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Full bridge inverter circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0                 # input voltage\n",
+      "R = 10.0                  # resistance\n",
+      "L = 20.0*10**-3           # Inductance\n",
+      "C = 100.0*10**-6          # capacitance\n",
+      "f = 50.0                  # inverter frequency\n",
+      "\n",
+      "#(a)\n",
+      "Z1_r = R\n",
+      "Z1_i = (2*math.pi*f*L)-(1/(2*math.pi*f*C))\n",
+      "Z1_i = math.floor(Z1_i*100)/100\n",
+      "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+      "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+      "Z1_angle = math.floor(Z1_angle*100)/100\n",
+      "\n",
+      "Z3_r = R\n",
+      "Z3_i = (3*2*math.pi*f*L)-(1/(3*2*math.pi*f*C))\n",
+      "Z3_i = math.floor(Z3_i*100)/100\n",
+      "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+      "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+      "Z3_angle = math.floor(Z3_angle*100)/100\n",
+      "\n",
+      "Z5_r = R\n",
+      "Z5_i = (5*2*math.pi*f*L)-(1/(5*2*math.pi*f*C))\n",
+      "Z5_i = math.floor(Z5_i*100)/100\n",
+      "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+      "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+      "#Z5_angle = math.floor(Z5_angle*100)/100\n",
+      "\n",
+      "Z7_r = R\n",
+      "Z7_i = (7*2*math.pi*f*L)-(1/(7*2*math.pi*f*C))\n",
+      "Z7_i = math.floor(Z7_i*100)/100\n",
+      "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+      "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+      "Z7_angle = math.floor(Z7_angle*100)/100\n",
+      "\n",
+      "Z9_r = R\n",
+      "Z9_i = (9*2*math.pi*f*L)-(1/(9*2*math.pi*f*C))\n",
+      "Z9_i = math.floor(Z9_i*100)/100\n",
+      "Z9_mag = math.sqrt((Z9_r**2) + (Z9_i**2)) \n",
+      "Z9_angle =math.atan(Z9_i/Z9_r)*(180/math.pi) \n",
+      "Z9_angle = math.floor(Z9_angle*100)/100\n",
+      "\n",
+      "x = 4*V/(math.pi)\n",
+      "w = 2*math.pi*f\n",
+      "\n",
+      "#(b)\n",
+      "I1 = math.floor(x*100/Z1_mag)/100\n",
+      "I3 = math.floor(x*100/(3*Z3_mag))/100\n",
+      "I5 = math.ceil(x*100/(5*Z5_mag))/100\n",
+      "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+      "I9 = math.ceil(x*1000/(9*Z9_mag))/1000\n",
+      "If = I1/math.sqrt(2)\n",
+      "If = math.floor(If*100)/100\n",
+      "#(c)\n",
+      "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2+I9**2)\n",
+      "#(d)\n",
+      "Ihc = math.sqrt(Ip**2- I1**2)/math.sqrt(2)\n",
+      "Thd = math.sqrt(Ip**2- I1**2)/I1\n",
+      "#(e)\n",
+      "Ilrms = Ip/math.sqrt(2)\n",
+      "P = R*Ilrms**2\n",
+      "Pf = R*If**2\n",
+      "#(f)\n",
+      "Iavg = P/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nZ1 = %.3f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+      "print(\"Z3 = %.2f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+      "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+      "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+      "print(\"Z9 = %.2f < %.2f\u00b0\"%(Z9_mag,Z9_angle))\n",
+      "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(3*%.2ft)+%.2fsin(5*%.2ft)+%.2fsin(7*%.2ft)+%.2fsin(9*%.2ft)\"%(x,w,x/3,w,x/5,w,x/7,w,x/9,w))\n",
+      "print(\"Il = %.2fsin(%.2ft%.2f\u00b0)+%.2fsin(3*%.2ft-%.2f\u00b0)+%.2fsin(5*%.2ft-%.2f\u00b0)+%.3fsin(7*%.2ft-%.2f\u00b0)+%.3fsin(9*%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,w,Z3_angle,I5,w,Z5_angle,I7,w,Z7_angle,I9,w,Z9_angle))\n",
+      "\n",
+      "print(\"\\n(b) RMS load current at fundamental frequency = %.2f A\"%If)\n",
+      "print(\"\\n(c) Peak value of load current = %.2f A\"%Ip)\n",
+      "print(\"\\n(d) RMS harmonic current = %.3f A\\n    Total harmonic distortion = %.3f or %.1f%%\"%(Ihc,Thd,Thd*100))\n",
+      "print(\"\\n(e) RMS value of load current = %.3f A\\n    Total output power = %.1f W\\n    Fundamental component of power = %.3f W\"%(Ilrms,P,Pf))\n",
+      "print(\"\\n(f) Average input current = %.4f A\\n    Peak thyristor current = %.2f A\"%(Iavg,Ip))\n",
+      "#Some values are accurate only upto 1 or 2 decimal places"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Z1 = 27.437 < -68.63\u00b0\n",
+        "Z3 = 12.95 < 39.45\u00b0\n",
+        "Z5 = 26.96 < 68.23\u00b0\n",
+        "Z7 = 40.68 < 75.76\u00b0\n",
+        "Z9 = 53.94 < 79.31\u00b0\n",
+        "Vl = 254.65sin(314.16t)+84.88sin(3*314.16t)+50.93sin(5*314.16t)+36.38sin(7*314.16t)+28.29sin(9*314.16t)\n",
+        "Il = 9.28sin(314.16t-68.63\u00b0)+6.55sin(3*314.16t-39.45\u00b0)+1.89sin(5*314.16t-68.23\u00b0)+0.895sin(7*314.16t-75.76\u00b0)+0.525sin(9*314.16t-79.31\u00b0)\n",
+        "\n",
+        "(b) RMS load current at fundamental frequency = 6.56 A\n",
+        "\n",
+        "(c) Peak value of load current = 11.56 A\n",
+        "\n",
+        "(d) RMS harmonic current = 4.876 A\n",
+        "    Total harmonic distortion = 0.743 or 74.3%\n",
+        "\n",
+        "(e) RMS value of load current = 8.175 A\n",
+        "    Total output power = 668.3 W\n",
+        "    Fundamental component of power = 430.336 W\n",
+        "\n",
+        "(f) Average input current = 3.3417 A\n",
+        "    Peak thyristor current = 11.56 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.8, Page No. 216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Value of C for proper load communication\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 2              # resistance\n",
+      "Xl = 10            # inductive reactance\n",
+      "f = 4*10**3        # operating frequency\n",
+      "T = 12*10**-6      # turn off time of thyristor\n",
+      "tol = 1.5          # 50% tolerance in circuit turn off time\n",
+      "\n",
+      "#Calculations\n",
+      "T = T*tol\n",
+      "theta = 2*math.pi*f*T    #radians\n",
+      "#theta = theta*180/math.pi\n",
+      "Xc = 2*math.tan(theta)+Xl\n",
+      "C = 1/(Xc*2*math.pi*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 3.63*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 72
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.9, Page No. 216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaratrion\n",
+      "R = 10              # resistance\n",
+      "L = 50*10**-3       # inductance\n",
+      "f = 50              # frequency\n",
+      "V = 100             # input voltage\n",
+      "\n",
+      "#Calculation \n",
+      "\n",
+      "#(a)\n",
+      "Z1_r = R\n",
+      "Z1_i = (2*math.pi*f*L)\n",
+      "Z1_i = math.floor(Z1_i*100)/100\n",
+      "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+      "Z1_mag = math.ceil(Z1_mag*100)/100\n",
+      "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+      "Z1_angle = math.floor(Z1_angle*100)/100\n",
+      "\n",
+      "Z3_r = R\n",
+      "Z3_i = (3*2*math.pi*f*L)\n",
+      "Z3_i = math.floor(Z3_i*100)/100\n",
+      "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+      "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+      "Z3_angle = math.floor(Z3_angle*100)/100\n",
+      "\n",
+      "Z5_r = R\n",
+      "Z5_i = (5*2*math.pi*f*L)\n",
+      "Z5_i = math.floor(Z5_i*100)/100\n",
+      "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+      "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+      "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+      "Z5_angle = math.ceil(Z5_angle*100)/100\n",
+      "\n",
+      "Z7_r = R\n",
+      "Z7_i = (7*2*math.pi*f*L)\n",
+      "Z7_i = math.floor(Z7_i*100)/100\n",
+      "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+      "Z7_mag = math.ceil(Z7_mag*100)/100\n",
+      "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+      "Z7_angle = math.floor(Z7_angle*100)/100\n",
+      "\n",
+      "x = 4*V/(math.pi)\n",
+      "w = 2*math.pi*f\n",
+      "#(b)\n",
+      "I1 = math.ceil(x*100/Z1_mag)/100\n",
+      "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+      "I5 = math.floor(x*100/(5*Z5_mag))/100\n",
+      "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+      "\n",
+      "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+      "\n",
+      "print(\"\\nLoad impedances for various harmonics are:\")\n",
+      "print(\"Z1 = %.2f < %.1f\u00b0\"%(Z1_mag,Z1_angle))\n",
+      "print(\"Z3 = %.2f < %.0f\u00b0\"%(Z3_mag,Z3_angle))\n",
+      "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+      "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+      "\n",
+      "print(\"\\nIl = %.2fsin(%.2ft-%.1f\u00b0)+%.3fsin(%.2ft-%.0f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.1f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+      "\n",
+      "print(\"\\nPeak load current = %.2f A\"%Ip)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+        "\n",
+        "Load impedances for various harmonics are:\n",
+        "Z1 = 18.62 < 57.5\u00b0\n",
+        "Z3 = 48.17 < 78\u00b0\n",
+        "Z5 = 79.17 < 82.75\u00b0\n",
+        "Z7 = 110.41 < 84.80\u00b0\n",
+        "\n",
+        "Il = 6.84sin(314.16t-57.5\u00b0)+0.881sin(942.48t-78\u00b0)+0.32sin(1570.80t-82.75\u00b0)+0.165sin(2199.11t-84.8\u00b0)\n",
+        "\n",
+        "Peak load current = 6.91 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 117
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.10, Page No. 217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase Full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaratrion\n",
+      "R = 20              # resistance\n",
+      "L = 10*10**-3       # inductance\n",
+      "f = 50.0            # frequency\n",
+      "V = 100             # input voltage\n",
+      "\n",
+      "#Calculation \n",
+      "#(a)\n",
+      "Vrms = V\n",
+      "#(b)\n",
+      "Z1_r = R\n",
+      "Z1_i = (2*math.pi*f*L)\n",
+      "Z1_i = math.floor(Z1_i*100)/100\n",
+      "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+      "Z1_mag = math.floor(Z1_mag*100)/100\n",
+      "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+      "Z1_angle = math.floor(Z1_angle*100)/100\n",
+      "\n",
+      "Z3_r = R\n",
+      "Z3_i = (3*2*math.pi*f*L)\n",
+      "Z3_i = math.floor(Z3_i*100)/100\n",
+      "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+      "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+      "Z3_angle = math.floor(Z3_angle*100)/100\n",
+      "\n",
+      "Z5_r = R\n",
+      "Z5_i = (5*2*math.pi*f*L)\n",
+      "Z5_i = math.floor(Z5_i*100)/100\n",
+      "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+      "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+      "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+      "Z5_angle = math.floor(Z5_angle*100)/100\n",
+      "\n",
+      "Z7_r = R\n",
+      "Z7_i = (7*2*math.pi*f*L)\n",
+      "Z7_i = math.floor(Z7_i*100)/100\n",
+      "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+      "Z7_mag = math.floor(Z7_mag*100)/100\n",
+      "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+      "Z7_angle = math.floor(Z7_angle*100)/100\n",
+      "\n",
+      "x = 4*V/(math.pi)\n",
+      "w = 2*math.pi*f\n",
+      "\n",
+      "I1 = math.floor(x*100/Z1_mag)/100\n",
+      "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+      "I5 = math.floor(x*1000/(5*Z5_mag))/1000\n",
+      "I7 = math.floor(x*1000/(7*Z7_mag))/1000\n",
+      "\n",
+      "#(c)\n",
+      "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS load voltage %d V\"%Vrms)\n",
+      "print(\"\\n(b)\\n\\nVl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+      "\n",
+      "print(\"\\nLoad impedances for various harmonics are:\")\n",
+      "print(\"Z1 = %.2f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+      "print(\"Z3 = %.1f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+      "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+      "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+      "\n",
+      "print(\"\\nIl = %.2fsin(%.2ft-%.2f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+      "print(\"\\nRMS value of fundamental component of load current = %.3f A\"%(I1/math.sqrt(2)))\n",
+      "print(\"\\n(c) Peak load current = %.2f A\"%Ip)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS load voltage 100 V\n",
+        "\n",
+        "(b)\n",
+        "\n",
+        "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+        "\n",
+        "Load impedances for various harmonics are:\n",
+        "Z1 = 20.24 < 8.92\u00b0\n",
+        "Z3 = 22.1 < 25.22\u00b0\n",
+        "Z5 = 25.43 < 38.13\u00b0\n",
+        "Z7 = 29.72 < 47.71\u00b0\n",
+        "\n",
+        "Il = 6.29sin(314.16t-8.92\u00b0)+1.92sin(942.48t-25.22\u00b0)+1.001sin(1570.80t-38.13\u00b0)+0.612sin(2199.11t-47.71\u00b0)\n",
+        "\n",
+        "RMS value of fundamental component of load current = 4.448 A\n",
+        "\n",
+        "(c) Peak load current = 6.68 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 152
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.11, Page No.229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase bridge inverter with 120\u00b0 mode of operation\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                # supply voltage\n",
+      "R = 10.0                 # per phase resistor\n",
+      "\n",
+      "#Calculations\n",
+      "Ip = V/(2*R)\n",
+      "Irms = math.sqrt(((2*R)**2)*(2.0/3.0))\n",
+      "P = Irms**2*R*3\n",
+      "Iavg = 2*R/3\n",
+      "Itrms = math.sqrt((2*R)**2/3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Peak value of load current = %d A\\nRMS load current = %.2f A\\nPower output = %.0f W\"%(Ip,Irms,P))\n",
+      "print(\"Average thyristor current = %.2f A\\nRMS value of thyristor current = %.2f A\"%(Iavg,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak value of load current = 20 A\n",
+        "RMS load current = 16.33 A\n",
+        "Power output = 8000 W\n",
+        "Average thyristor current = 6.67 A\n",
+        "RMS value of thyristor current = 11.55 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 156
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.12, Page No. 230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase bridge inverter with 180\u00b0 mode of operation\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 400.0                # supply voltage\n",
+      "R = 10.0                 # per phase resistor\n",
+      "\n",
+      "#Calculations\n",
+      "Rl = 1.5*R\n",
+      "i1 = V/Rl\n",
+      "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+      "P =Irms**2*R*3\n",
+      "Iavg = ((i1*math.pi/3)+(i1*math.pi/3))/(2*math.pi)\n",
+      "Itrms = math.sqrt(((i1**2*math.pi/3)+((i1/2)**2*2*math.pi/3))/(2*math.pi))\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS load current = %.3f A\\nPower output = %.2f A\\nPeak thyristor current = %.2f A\"%(Irms,P,i1))\n",
+      "print(\"Average current of thyristor = %.2f A\\nRMS current of thyristor = %.2f A\"%(Iavg,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS load current = 18.856 A\n",
+        "Power output = 10666.67 A\n",
+        "Peak thyristor current = 26.67 A\n",
+        "Average current of thyristor = 8.89 A\n",
+        "RMS current of thyristor = 13.33 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 164
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.13, Page No.230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# RMS value of load current and RMS value of thyristor current\n",
+      "\n",
+      "import math\n",
+      "#variaable declaration\n",
+      "V = 450.0                  # supply voltage\n",
+      "R = 10.0                   # per phase load resistance\n",
+      "mode = 180                 # conduction mode\n",
+      "\n",
+      "#calculation\n",
+      "Rl = 1.5*R\n",
+      "i1 = V/Rl\n",
+      "#(a)\n",
+      "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+      "Ip = i1\n",
+      "Itrms = math.sqrt((1/(2*math.pi))*(((i1**2*(math.pi/3)))+((i1/2)**2*((math.pi)-(math.pi/3)))))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS load current = %.2f A\\n(b) Peak current of thyristor = %.0f A\\n(c) RMS current of thyristor = %.0f A\"%(Irms,Ip,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS load current = 21.21 A\n",
+        "(b) Peak current of thyristor = 30 A\n",
+        "(c) RMS current of thyristor = 15 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 167
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.14, Page No. 234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 200.0                 # input voltage\n",
+      "w = 30.0                  # width of each pulse\n",
+      "n = 5.0                   # no of pulses each cycle\n",
+      "i =1.1                  # factor by whic input is to be increased\n",
+      "w1= 33.0                  # maximum width of pulse\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vl = V*math.sqrt(n*w/180.0)\n",
+      "Vl = math.floor(Vl*100)/100\n",
+      "Vl1 = 182.52 #value used in the book for calculations\n",
+      "#(b)\n",
+      "Vi = V*i\n",
+      "sig=(180*(Vl1/Vi)**2)/n\n",
+      "#(c)\n",
+      "V = Vl1/math.sqrt(n*w1/180.0)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vl = %.2f V\\n(b) Pulse-width = %.2f\u00b0\\n(c) V = %.2f V\"%(Vl,sig,V))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vl = 182.57 V\n",
+        "(b) Pulse-width = 24.78\u00b0\n",
+        "(c) V = 190.64 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 186
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.15, Page No.234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 200.0              #input voltage\n",
+      "w = 120.0              # width of signal\n",
+      "\n",
+      "#Calculations\n",
+      "Vl = V*math.sqrt(w/180)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vl = %.1f V\"%Vl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vl = 163.3 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 190
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.16, Page No. 235"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Inverter controlled by sinusoidal pulse-width modulation\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 150.0                # input DC voltage\n",
+      "w1 = 20.0                # reference signal is more than control signal from 20\u00b0 to 40\u00b0\n",
+      "w2 = 60.0                # reference signal is more than control signal from 60\u00b0 to 120\u00b0\n",
+      "w3 = 20.0                # reference signal is more than control signal from 140\u00b0 to 160\u00b0\n",
+      "\n",
+      "#Calculations\n",
+      "Vl = V*math.sqrt((w1/180)+(w2/180)+(w3/180))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vl = %.1f V\"%Vl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vl = 111.8 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 192
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_4_2.ipynb b/Power_Electronics/Power_electronics_ch_4_2.ipynb
new file mode 100755
index 00000000..c5ad12df
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_4_2.ipynb
@@ -0,0 +1,983 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4: Inverters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.1, Page No.205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Maximum output frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 80.0               # serries inverter resistance\n",
+      "L = 8*10**-3           # serries inverter inductance\n",
+      "C = 1.2*10**-6         # serries inverter capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "X =(4*L)/C\n",
+      "f = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+      "f = math.ceil(f)\n",
+      "#Result\n",
+      "print(\"R^2 = %.0f\\n4L/C = %.0f\"%(R*R,X))\n",
+      "print(\"Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\")\n",
+      "print(\"\\nMaximum frequency = %.4f*10^4 rad/sec or %.2f Hz\"%(f/10000,f/(2*math.pi)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R^2 = 6400\n",
+        "4L/C = 26667\n",
+        "Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\n",
+        "\n",
+        "Maximum frequency = 0.8898*10^4 rad/sec or 1416.16 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.2, Page No. 205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output frequency(refering example 4.1)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 80.0               # serries inverter resistance\n",
+      "L = 8*10**-3           # serries inverter inductance\n",
+      "C = 1.2*10**-6         # serries inverter capacitance\n",
+      "t = 14*10**-6          # turn off time of thyristor\n",
+      "Fmax = 1416.16         # frequency as calculated in ex 4.1\n",
+      "\n",
+      "#Calculation\n",
+      "T =1/Fmax\n",
+      "T = math.floor(T*10**6)/10**6\n",
+      "k = 1/0.000734\n",
+      "f =1/(T+2*t)\n",
+      "\n",
+      "#Result\n",
+      "print(\"frequency = %.1f Hz\"%f)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "frequency = 1362.4 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.3, Page No.205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# circuit turn off time and max frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "L = 50.0*10**-6              # Inductance\n",
+      "C = 6.0*10**-6               # capacitance\n",
+      "R = 4.0                      # Resistance\n",
+      "V = 200.0                    # input voltage\n",
+      "f = 6000.0                   # output frequency\n",
+      "t = 6.0*10**-6               # SCR turn off time\n",
+      "\n",
+      "#calculations\n",
+      "x = 4*L/C\n",
+      "wr = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+      "wr = math.floor(wr*10)/10\n",
+      "fr = wr/(2*math.pi)\n",
+      "#(a)\n",
+      "x1 = math.pi/wr\n",
+      "x1= math.floor(x1*10**7)/10**7\n",
+      "toff = (math.pi/(2*math.pi*f))-(x1)\n",
+      "#(b)\n",
+      "fmax = 1/(2*((x1)+t))\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Available circuit turn off time = %.2f micro-sec\\n(b) fmax = %.1f Hz\"%(toff*10**6,fmax))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Available circuit turn off time = 7.93 micro-sec\n",
+        "(b) fmax = 6142.5 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 67
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.4, Page No. 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# thyristor ratings\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 40.0                # input DC voltage\n",
+      "Vo = 230.0              # output voltage\n",
+      "f = 50.0                # output frequency\n",
+      "Il = 2.0                # peak load current\n",
+      "t = 50.0*10**-6         # turn off time\n",
+      "\n",
+      "#calculations\n",
+      "Il_r = Vo*2/V\n",
+      "#after solving (i),(ii)\n",
+      "C=((t*3/math.pi)**2)*(((2*Vo)/(V**2))**2)\n",
+      "C = math.sqrt(C)\n",
+      "C = math.ceil(C*10**8)/10**8\n",
+      "L = ((t*3/math.pi)**2)/C\n",
+      "# OR\n",
+      "#L= C/(((2*Vo)/(V**2))**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.2f *10^-6 H\\nC = %.2f *10^-6 F\"%(L*10**6,C*10**6))\n",
+      "print(\"\\nFinal SCR rating is 100V,20A, turn off time 50 micro-sec\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 166.04 *10^-6 H\n",
+        "C = 13.73 *10^-6 F\n",
+        "\n",
+        "Final SCR rating is 100V,20A, turn off time 50 micro-sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 87
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.5, Page No. 213"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Single phase half bridge inverter\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "R = 3.0               # load resistance\n",
+      "V = 30.0              # input DC voltage\n",
+      "\n",
+      "#Calculations\n",
+      "#(a) for n=1;\n",
+      "V1rms = 2*V/(math.sqrt(2)*math.pi)\n",
+      "#(b)\n",
+      "Vl = V/2\n",
+      "P = (Vl**2)/R\n",
+      "#(c)\n",
+      "Ip = Vl/R\n",
+      "#(d)\n",
+      "Iavg = Ip/2\n",
+      "#(e)\n",
+      "Vr = 2*Vl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+      "print(\"(d)Each thyristor conducts for 50%% of time,\\n             Average current = %.1f A\"%(Iavg))\n",
+      "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS value V1 = 13.5 V\n",
+        "(b) Output power = 75 W\n",
+        "(c) Peak current in each thyristor = 5 A\n",
+        "(d)Each thyristor conducts for 50% of time,\n",
+        "             Average current = 2.5 A\n",
+        "(e) Peak reverse blocking voltage = 30 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 91
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.6, Page No. 214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "R = 3.0               # load resistance\n",
+      "V = 30.0              # input DC voltage\n",
+      "\n",
+      "#Calculations\n",
+      "#(a) for n=1;\n",
+      "V1rms = 4*V/(math.sqrt(2)*math.pi)\n",
+      "#(b)\n",
+      "Vl = V\n",
+      "P = (Vl**2)/R\n",
+      "#(c)\n",
+      "Ip = Vl/R\n",
+      "#(d)\n",
+      "Iavg = Ip/2\n",
+      "#(e)\n",
+      "Vr = Vl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+      "print(\"(d)Each thyristor conducts for 50%% of time,\\n             Average current = %.1f A\"%(Iavg))\n",
+      "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS value V1 = 27.0 V\n",
+        "(b) Output power = 300 W\n",
+        "(c) Peak current in each thyristor = 10 A\n",
+        "(d)Each thyristor conducts for 50% of time,\n",
+        "             Average current = 5.0 A\n",
+        "(e) Peak reverse blocking voltage = 30 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.7, Page No. 214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Full bridge inverter circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0                 # input voltage\n",
+      "R = 10.0                  # resistance\n",
+      "L = 20.0*10**-3           # Inductance\n",
+      "C = 100.0*10**-6          # capacitance\n",
+      "f = 50.0                  # inverter frequency\n",
+      "\n",
+      "#(a)\n",
+      "Z1_r = R\n",
+      "Z1_i = (2*math.pi*f*L)-(1/(2*math.pi*f*C))\n",
+      "Z1_i = math.floor(Z1_i*100)/100\n",
+      "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+      "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+      "Z1_angle = math.floor(Z1_angle*100)/100\n",
+      "\n",
+      "Z3_r = R\n",
+      "Z3_i = (3*2*math.pi*f*L)-(1/(3*2*math.pi*f*C))\n",
+      "Z3_i = math.floor(Z3_i*100)/100\n",
+      "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+      "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+      "Z3_angle = math.floor(Z3_angle*100)/100\n",
+      "\n",
+      "Z5_r = R\n",
+      "Z5_i = (5*2*math.pi*f*L)-(1/(5*2*math.pi*f*C))\n",
+      "Z5_i = math.floor(Z5_i*100)/100\n",
+      "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+      "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+      "#Z5_angle = math.floor(Z5_angle*100)/100\n",
+      "\n",
+      "Z7_r = R\n",
+      "Z7_i = (7*2*math.pi*f*L)-(1/(7*2*math.pi*f*C))\n",
+      "Z7_i = math.floor(Z7_i*100)/100\n",
+      "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+      "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+      "Z7_angle = math.floor(Z7_angle*100)/100\n",
+      "\n",
+      "Z9_r = R\n",
+      "Z9_i = (9*2*math.pi*f*L)-(1/(9*2*math.pi*f*C))\n",
+      "Z9_i = math.floor(Z9_i*100)/100\n",
+      "Z9_mag = math.sqrt((Z9_r**2) + (Z9_i**2)) \n",
+      "Z9_angle =math.atan(Z9_i/Z9_r)*(180/math.pi) \n",
+      "Z9_angle = math.floor(Z9_angle*100)/100\n",
+      "\n",
+      "x = 4*V/(math.pi)\n",
+      "w = 2*math.pi*f\n",
+      "\n",
+      "#(b)\n",
+      "I1 = math.floor(x*100/Z1_mag)/100\n",
+      "I3 = math.floor(x*100/(3*Z3_mag))/100\n",
+      "I5 = math.ceil(x*100/(5*Z5_mag))/100\n",
+      "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+      "I9 = math.ceil(x*1000/(9*Z9_mag))/1000\n",
+      "If = I1/math.sqrt(2)\n",
+      "If = math.floor(If*100)/100\n",
+      "#(c)\n",
+      "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2+I9**2)\n",
+      "#(d)\n",
+      "Ihc = math.sqrt(Ip**2- I1**2)/math.sqrt(2)\n",
+      "Thd = math.sqrt(Ip**2- I1**2)/I1\n",
+      "#(e)\n",
+      "Ilrms = Ip/math.sqrt(2)\n",
+      "P = R*Ilrms**2\n",
+      "Pf = R*If**2\n",
+      "#(f)\n",
+      "Iavg = P/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nZ1 = %.3f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+      "print(\"Z3 = %.2f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+      "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+      "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+      "print(\"Z9 = %.2f < %.2f\u00b0\"%(Z9_mag,Z9_angle))\n",
+      "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(3*%.2ft)+%.2fsin(5*%.2ft)+%.2fsin(7*%.2ft)+%.2fsin(9*%.2ft)\"%(x,w,x/3,w,x/5,w,x/7,w,x/9,w))\n",
+      "print(\"Il = %.2fsin(%.2ft%.2f\u00b0)+%.2fsin(3*%.2ft-%.2f\u00b0)+%.2fsin(5*%.2ft-%.2f\u00b0)+%.3fsin(7*%.2ft-%.2f\u00b0)+%.3fsin(9*%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,w,Z3_angle,I5,w,Z5_angle,I7,w,Z7_angle,I9,w,Z9_angle))\n",
+      "\n",
+      "print(\"\\n(b) RMS load current at fundamental frequency = %.2f A\"%If)\n",
+      "print(\"\\n(c) Peak value of load current = %.2f A\"%Ip)\n",
+      "print(\"\\n(d) RMS harmonic current = %.3f A\\n    Total harmonic distortion = %.3f or %.1f%%\"%(Ihc,Thd,Thd*100))\n",
+      "print(\"\\n(e) RMS value of load current = %.3f A\\n    Total output power = %.1f W\\n    Fundamental component of power = %.3f W\"%(Ilrms,P,Pf))\n",
+      "print(\"\\n(f) Average input current = %.4f A\\n    Peak thyristor current = %.2f A\"%(Iavg,Ip))\n",
+      "#Some values are accurate only upto 1 or 2 decimal places"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Z1 = 27.437 < -68.63\u00b0\n",
+        "Z3 = 12.95 < 39.45\u00b0\n",
+        "Z5 = 26.96 < 68.23\u00b0\n",
+        "Z7 = 40.68 < 75.76\u00b0\n",
+        "Z9 = 53.94 < 79.31\u00b0\n",
+        "Vl = 254.65sin(314.16t)+84.88sin(3*314.16t)+50.93sin(5*314.16t)+36.38sin(7*314.16t)+28.29sin(9*314.16t)\n",
+        "Il = 9.28sin(314.16t-68.63\u00b0)+6.55sin(3*314.16t-39.45\u00b0)+1.89sin(5*314.16t-68.23\u00b0)+0.895sin(7*314.16t-75.76\u00b0)+0.525sin(9*314.16t-79.31\u00b0)\n",
+        "\n",
+        "(b) RMS load current at fundamental frequency = 6.56 A\n",
+        "\n",
+        "(c) Peak value of load current = 11.56 A\n",
+        "\n",
+        "(d) RMS harmonic current = 4.876 A\n",
+        "    Total harmonic distortion = 0.743 or 74.3%\n",
+        "\n",
+        "(e) RMS value of load current = 8.175 A\n",
+        "    Total output power = 668.3 W\n",
+        "    Fundamental component of power = 430.336 W\n",
+        "\n",
+        "(f) Average input current = 3.3417 A\n",
+        "    Peak thyristor current = 11.56 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.8, Page No. 216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Value of C for proper load communication\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 2              # resistance\n",
+      "Xl = 10            # inductive reactance\n",
+      "f = 4*10**3        # operating frequency\n",
+      "T = 12*10**-6      # turn off time of thyristor\n",
+      "tol = 1.5          # 50% tolerance in circuit turn off time\n",
+      "\n",
+      "#Calculations\n",
+      "T = T*tol\n",
+      "theta = 2*math.pi*f*T    #radians\n",
+      "#theta = theta*180/math.pi\n",
+      "Xc = 2*math.tan(theta)+Xl\n",
+      "C = 1/(Xc*2*math.pi*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 3.63*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 72
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.9, Page No. 216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaratrion\n",
+      "R = 10              # resistance\n",
+      "L = 50*10**-3       # inductance\n",
+      "f = 50              # frequency\n",
+      "V = 100             # input voltage\n",
+      "\n",
+      "#Calculation \n",
+      "\n",
+      "#(a)\n",
+      "Z1_r = R\n",
+      "Z1_i = (2*math.pi*f*L)\n",
+      "Z1_i = math.floor(Z1_i*100)/100\n",
+      "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+      "Z1_mag = math.ceil(Z1_mag*100)/100\n",
+      "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+      "Z1_angle = math.floor(Z1_angle*100)/100\n",
+      "\n",
+      "Z3_r = R\n",
+      "Z3_i = (3*2*math.pi*f*L)\n",
+      "Z3_i = math.floor(Z3_i*100)/100\n",
+      "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+      "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+      "Z3_angle = math.floor(Z3_angle*100)/100\n",
+      "\n",
+      "Z5_r = R\n",
+      "Z5_i = (5*2*math.pi*f*L)\n",
+      "Z5_i = math.floor(Z5_i*100)/100\n",
+      "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+      "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+      "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+      "Z5_angle = math.ceil(Z5_angle*100)/100\n",
+      "\n",
+      "Z7_r = R\n",
+      "Z7_i = (7*2*math.pi*f*L)\n",
+      "Z7_i = math.floor(Z7_i*100)/100\n",
+      "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+      "Z7_mag = math.ceil(Z7_mag*100)/100\n",
+      "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+      "Z7_angle = math.floor(Z7_angle*100)/100\n",
+      "\n",
+      "x = 4*V/(math.pi)\n",
+      "w = 2*math.pi*f\n",
+      "#(b)\n",
+      "I1 = math.ceil(x*100/Z1_mag)/100\n",
+      "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+      "I5 = math.floor(x*100/(5*Z5_mag))/100\n",
+      "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+      "\n",
+      "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+      "\n",
+      "print(\"\\nLoad impedances for various harmonics are:\")\n",
+      "print(\"Z1 = %.2f < %.1f\u00b0\"%(Z1_mag,Z1_angle))\n",
+      "print(\"Z3 = %.2f < %.0f\u00b0\"%(Z3_mag,Z3_angle))\n",
+      "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+      "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+      "\n",
+      "print(\"\\nIl = %.2fsin(%.2ft-%.1f\u00b0)+%.3fsin(%.2ft-%.0f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.1f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+      "\n",
+      "print(\"\\nPeak load current = %.2f A\"%Ip)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+        "\n",
+        "Load impedances for various harmonics are:\n",
+        "Z1 = 18.62 < 57.5\u00b0\n",
+        "Z3 = 48.17 < 78\u00b0\n",
+        "Z5 = 79.17 < 82.75\u00b0\n",
+        "Z7 = 110.41 < 84.80\u00b0\n",
+        "\n",
+        "Il = 6.84sin(314.16t-57.5\u00b0)+0.881sin(942.48t-78\u00b0)+0.32sin(1570.80t-82.75\u00b0)+0.165sin(2199.11t-84.8\u00b0)\n",
+        "\n",
+        "Peak load current = 6.91 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 117
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.10, Page No. 217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase Full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaratrion\n",
+      "R = 20              # resistance\n",
+      "L = 10*10**-3       # inductance\n",
+      "f = 50.0            # frequency\n",
+      "V = 100             # input voltage\n",
+      "\n",
+      "#Calculation \n",
+      "#(a)\n",
+      "Vrms = V\n",
+      "#(b)\n",
+      "Z1_r = R\n",
+      "Z1_i = (2*math.pi*f*L)\n",
+      "Z1_i = math.floor(Z1_i*100)/100\n",
+      "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+      "Z1_mag = math.floor(Z1_mag*100)/100\n",
+      "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+      "Z1_angle = math.floor(Z1_angle*100)/100\n",
+      "\n",
+      "Z3_r = R\n",
+      "Z3_i = (3*2*math.pi*f*L)\n",
+      "Z3_i = math.floor(Z3_i*100)/100\n",
+      "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+      "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+      "Z3_angle = math.floor(Z3_angle*100)/100\n",
+      "\n",
+      "Z5_r = R\n",
+      "Z5_i = (5*2*math.pi*f*L)\n",
+      "Z5_i = math.floor(Z5_i*100)/100\n",
+      "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+      "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+      "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+      "Z5_angle = math.floor(Z5_angle*100)/100\n",
+      "\n",
+      "Z7_r = R\n",
+      "Z7_i = (7*2*math.pi*f*L)\n",
+      "Z7_i = math.floor(Z7_i*100)/100\n",
+      "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+      "Z7_mag = math.floor(Z7_mag*100)/100\n",
+      "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+      "Z7_angle = math.floor(Z7_angle*100)/100\n",
+      "\n",
+      "x = 4*V/(math.pi)\n",
+      "w = 2*math.pi*f\n",
+      "\n",
+      "I1 = math.floor(x*100/Z1_mag)/100\n",
+      "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+      "I5 = math.floor(x*1000/(5*Z5_mag))/1000\n",
+      "I7 = math.floor(x*1000/(7*Z7_mag))/1000\n",
+      "\n",
+      "#(c)\n",
+      "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS load voltage %d V\"%Vrms)\n",
+      "print(\"\\n(b)\\n\\nVl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+      "\n",
+      "print(\"\\nLoad impedances for various harmonics are:\")\n",
+      "print(\"Z1 = %.2f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+      "print(\"Z3 = %.1f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+      "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+      "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+      "\n",
+      "print(\"\\nIl = %.2fsin(%.2ft-%.2f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+      "print(\"\\nRMS value of fundamental component of load current = %.3f A\"%(I1/math.sqrt(2)))\n",
+      "print(\"\\n(c) Peak load current = %.2f A\"%Ip)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS load voltage 100 V\n",
+        "\n",
+        "(b)\n",
+        "\n",
+        "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+        "\n",
+        "Load impedances for various harmonics are:\n",
+        "Z1 = 20.24 < 8.92\u00b0\n",
+        "Z3 = 22.1 < 25.22\u00b0\n",
+        "Z5 = 25.43 < 38.13\u00b0\n",
+        "Z7 = 29.72 < 47.71\u00b0\n",
+        "\n",
+        "Il = 6.29sin(314.16t-8.92\u00b0)+1.92sin(942.48t-25.22\u00b0)+1.001sin(1570.80t-38.13\u00b0)+0.612sin(2199.11t-47.71\u00b0)\n",
+        "\n",
+        "RMS value of fundamental component of load current = 4.448 A\n",
+        "\n",
+        "(c) Peak load current = 6.68 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 152
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.11, Page No.229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase bridge inverter with 120\u00b0 mode of operation\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                # supply voltage\n",
+      "R = 10.0                 # per phase resistor\n",
+      "\n",
+      "#Calculations\n",
+      "Ip = V/(2*R)\n",
+      "Irms = math.sqrt(((2*R)**2)*(2.0/3.0))\n",
+      "P = Irms**2*R*3\n",
+      "Iavg = 2*R/3\n",
+      "Itrms = math.sqrt((2*R)**2/3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Peak value of load current = %d A\\nRMS load current = %.2f A\\nPower output = %.0f W\"%(Ip,Irms,P))\n",
+      "print(\"Average thyristor current = %.2f A\\nRMS value of thyristor current = %.2f A\"%(Iavg,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak value of load current = 20 A\n",
+        "RMS load current = 16.33 A\n",
+        "Power output = 8000 W\n",
+        "Average thyristor current = 6.67 A\n",
+        "RMS value of thyristor current = 11.55 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 156
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.12, Page No. 230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase bridge inverter with 180\u00b0 mode of operation\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 400.0                # supply voltage\n",
+      "R = 10.0                 # per phase resistor\n",
+      "\n",
+      "#Calculations\n",
+      "Rl = 1.5*R\n",
+      "i1 = V/Rl\n",
+      "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+      "P =Irms**2*R*3\n",
+      "Iavg = ((i1*math.pi/3)+(i1*math.pi/3))/(2*math.pi)\n",
+      "Itrms = math.sqrt(((i1**2*math.pi/3)+((i1/2)**2*2*math.pi/3))/(2*math.pi))\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS load current = %.3f A\\nPower output = %.2f A\\nPeak thyristor current = %.2f A\"%(Irms,P,i1))\n",
+      "print(\"Average current of thyristor = %.2f A\\nRMS current of thyristor = %.2f A\"%(Iavg,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS load current = 18.856 A\n",
+        "Power output = 10666.67 A\n",
+        "Peak thyristor current = 26.67 A\n",
+        "Average current of thyristor = 8.89 A\n",
+        "RMS current of thyristor = 13.33 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 164
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.13, Page No.230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# RMS value of load current and RMS value of thyristor current\n",
+      "\n",
+      "import math\n",
+      "#variaable declaration\n",
+      "V = 450.0                  # supply voltage\n",
+      "R = 10.0                   # per phase load resistance\n",
+      "mode = 180                 # conduction mode\n",
+      "\n",
+      "#calculation\n",
+      "Rl = 1.5*R\n",
+      "i1 = V/Rl\n",
+      "#(a)\n",
+      "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+      "Ip = i1\n",
+      "Itrms = math.sqrt((1/(2*math.pi))*(((i1**2*(math.pi/3)))+((i1/2)**2*((math.pi)-(math.pi/3)))))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS load current = %.2f A\\n(b) Peak current of thyristor = %.0f A\\n(c) RMS current of thyristor = %.0f A\"%(Irms,Ip,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS load current = 21.21 A\n",
+        "(b) Peak current of thyristor = 30 A\n",
+        "(c) RMS current of thyristor = 15 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 167
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.14, Page No. 234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 200.0                 # input voltage\n",
+      "w = 30.0                  # width of each pulse\n",
+      "n = 5.0                   # no of pulses each cycle\n",
+      "i =1.1                  # factor by whic input is to be increased\n",
+      "w1= 33.0                  # maximum width of pulse\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vl = V*math.sqrt(n*w/180.0)\n",
+      "Vl = math.floor(Vl*100)/100\n",
+      "Vl1 = 182.52 #value used in the book for calculations\n",
+      "#(b)\n",
+      "Vi = V*i\n",
+      "sig=(180*(Vl1/Vi)**2)/n\n",
+      "#(c)\n",
+      "V = Vl1/math.sqrt(n*w1/180.0)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vl = %.2f V\\n(b) Pulse-width = %.2f\u00b0\\n(c) V = %.2f V\"%(Vl,sig,V))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vl = 182.57 V\n",
+        "(b) Pulse-width = 24.78\u00b0\n",
+        "(c) V = 190.64 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 186
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.15, Page No.234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 200.0              #input voltage\n",
+      "w = 120.0              # width of signal\n",
+      "\n",
+      "#Calculations\n",
+      "Vl = V*math.sqrt(w/180)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vl = %.1f V\"%Vl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vl = 163.3 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 190
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.16, Page No. 235"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Inverter controlled by sinusoidal pulse-width modulation\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 150.0                # input DC voltage\n",
+      "w1 = 20.0                # reference signal is more than control signal from 20\u00b0 to 40\u00b0\n",
+      "w2 = 60.0                # reference signal is more than control signal from 60\u00b0 to 120\u00b0\n",
+      "w3 = 20.0                # reference signal is more than control signal from 140\u00b0 to 160\u00b0\n",
+      "\n",
+      "#Calculations\n",
+      "Vl = V*math.sqrt((w1/180)+(w2/180)+(w3/180))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vl = %.1f V\"%Vl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vl = 111.8 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 192
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_4_3.ipynb b/Power_Electronics/Power_electronics_ch_4_3.ipynb
new file mode 100755
index 00000000..c5ad12df
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_4_3.ipynb
@@ -0,0 +1,983 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4: Inverters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.1, Page No.205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Maximum output frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 80.0               # serries inverter resistance\n",
+      "L = 8*10**-3           # serries inverter inductance\n",
+      "C = 1.2*10**-6         # serries inverter capacitance\n",
+      "\n",
+      "#Calculations\n",
+      "X =(4*L)/C\n",
+      "f = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+      "f = math.ceil(f)\n",
+      "#Result\n",
+      "print(\"R^2 = %.0f\\n4L/C = %.0f\"%(R*R,X))\n",
+      "print(\"Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\")\n",
+      "print(\"\\nMaximum frequency = %.4f*10^4 rad/sec or %.2f Hz\"%(f/10000,f/(2*math.pi)))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R^2 = 6400\n",
+        "4L/C = 26667\n",
+        "Since (R^2)<(4L/C), circuit is underdamped and it will work as a series inverter.\n",
+        "\n",
+        "Maximum frequency = 0.8898*10^4 rad/sec or 1416.16 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.2, Page No. 205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output frequency(refering example 4.1)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 80.0               # serries inverter resistance\n",
+      "L = 8*10**-3           # serries inverter inductance\n",
+      "C = 1.2*10**-6         # serries inverter capacitance\n",
+      "t = 14*10**-6          # turn off time of thyristor\n",
+      "Fmax = 1416.16         # frequency as calculated in ex 4.1\n",
+      "\n",
+      "#Calculation\n",
+      "T =1/Fmax\n",
+      "T = math.floor(T*10**6)/10**6\n",
+      "k = 1/0.000734\n",
+      "f =1/(T+2*t)\n",
+      "\n",
+      "#Result\n",
+      "print(\"frequency = %.1f Hz\"%f)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "frequency = 1362.4 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.3, Page No.205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# circuit turn off time and max frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "L = 50.0*10**-6              # Inductance\n",
+      "C = 6.0*10**-6               # capacitance\n",
+      "R = 4.0                      # Resistance\n",
+      "V = 200.0                    # input voltage\n",
+      "f = 6000.0                   # output frequency\n",
+      "t = 6.0*10**-6               # SCR turn off time\n",
+      "\n",
+      "#calculations\n",
+      "x = 4*L/C\n",
+      "wr = math.sqrt((1/(L*C))-((R**2)/(4*L**2)))\n",
+      "wr = math.floor(wr*10)/10\n",
+      "fr = wr/(2*math.pi)\n",
+      "#(a)\n",
+      "x1 = math.pi/wr\n",
+      "x1= math.floor(x1*10**7)/10**7\n",
+      "toff = (math.pi/(2*math.pi*f))-(x1)\n",
+      "#(b)\n",
+      "fmax = 1/(2*((x1)+t))\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) Available circuit turn off time = %.2f micro-sec\\n(b) fmax = %.1f Hz\"%(toff*10**6,fmax))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Available circuit turn off time = 7.93 micro-sec\n",
+        "(b) fmax = 6142.5 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 67
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.4, Page No. 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# thyristor ratings\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 40.0                # input DC voltage\n",
+      "Vo = 230.0              # output voltage\n",
+      "f = 50.0                # output frequency\n",
+      "Il = 2.0                # peak load current\n",
+      "t = 50.0*10**-6         # turn off time\n",
+      "\n",
+      "#calculations\n",
+      "Il_r = Vo*2/V\n",
+      "#after solving (i),(ii)\n",
+      "C=((t*3/math.pi)**2)*(((2*Vo)/(V**2))**2)\n",
+      "C = math.sqrt(C)\n",
+      "C = math.ceil(C*10**8)/10**8\n",
+      "L = ((t*3/math.pi)**2)/C\n",
+      "# OR\n",
+      "#L= C/(((2*Vo)/(V**2))**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.2f *10^-6 H\\nC = %.2f *10^-6 F\"%(L*10**6,C*10**6))\n",
+      "print(\"\\nFinal SCR rating is 100V,20A, turn off time 50 micro-sec\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 166.04 *10^-6 H\n",
+        "C = 13.73 *10^-6 F\n",
+        "\n",
+        "Final SCR rating is 100V,20A, turn off time 50 micro-sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 87
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.5, Page No. 213"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Single phase half bridge inverter\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "R = 3.0               # load resistance\n",
+      "V = 30.0              # input DC voltage\n",
+      "\n",
+      "#Calculations\n",
+      "#(a) for n=1;\n",
+      "V1rms = 2*V/(math.sqrt(2)*math.pi)\n",
+      "#(b)\n",
+      "Vl = V/2\n",
+      "P = (Vl**2)/R\n",
+      "#(c)\n",
+      "Ip = Vl/R\n",
+      "#(d)\n",
+      "Iavg = Ip/2\n",
+      "#(e)\n",
+      "Vr = 2*Vl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+      "print(\"(d)Each thyristor conducts for 50%% of time,\\n             Average current = %.1f A\"%(Iavg))\n",
+      "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS value V1 = 13.5 V\n",
+        "(b) Output power = 75 W\n",
+        "(c) Peak current in each thyristor = 5 A\n",
+        "(d)Each thyristor conducts for 50% of time,\n",
+        "             Average current = 2.5 A\n",
+        "(e) Peak reverse blocking voltage = 30 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 91
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.6, Page No. 214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "R = 3.0               # load resistance\n",
+      "V = 30.0              # input DC voltage\n",
+      "\n",
+      "#Calculations\n",
+      "#(a) for n=1;\n",
+      "V1rms = 4*V/(math.sqrt(2)*math.pi)\n",
+      "#(b)\n",
+      "Vl = V\n",
+      "P = (Vl**2)/R\n",
+      "#(c)\n",
+      "Ip = Vl/R\n",
+      "#(d)\n",
+      "Iavg = Ip/2\n",
+      "#(e)\n",
+      "Vr = Vl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS value V1 = %.1f V\\n(b) Output power = %.0f W\\n(c) Peak current in each thyristor = %.0f A\"%(V1rms,P,Ip))\n",
+      "print(\"(d)Each thyristor conducts for 50%% of time,\\n             Average current = %.1f A\"%(Iavg))\n",
+      "print(\"(e) Peak reverse blocking voltage = %.0f V\"%Vr)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS value V1 = 27.0 V\n",
+        "(b) Output power = 300 W\n",
+        "(c) Peak current in each thyristor = 10 A\n",
+        "(d)Each thyristor conducts for 50% of time,\n",
+        "             Average current = 5.0 A\n",
+        "(e) Peak reverse blocking voltage = 30 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.7, Page No. 214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Full bridge inverter circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0                 # input voltage\n",
+      "R = 10.0                  # resistance\n",
+      "L = 20.0*10**-3           # Inductance\n",
+      "C = 100.0*10**-6          # capacitance\n",
+      "f = 50.0                  # inverter frequency\n",
+      "\n",
+      "#(a)\n",
+      "Z1_r = R\n",
+      "Z1_i = (2*math.pi*f*L)-(1/(2*math.pi*f*C))\n",
+      "Z1_i = math.floor(Z1_i*100)/100\n",
+      "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+      "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+      "Z1_angle = math.floor(Z1_angle*100)/100\n",
+      "\n",
+      "Z3_r = R\n",
+      "Z3_i = (3*2*math.pi*f*L)-(1/(3*2*math.pi*f*C))\n",
+      "Z3_i = math.floor(Z3_i*100)/100\n",
+      "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+      "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+      "Z3_angle = math.floor(Z3_angle*100)/100\n",
+      "\n",
+      "Z5_r = R\n",
+      "Z5_i = (5*2*math.pi*f*L)-(1/(5*2*math.pi*f*C))\n",
+      "Z5_i = math.floor(Z5_i*100)/100\n",
+      "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+      "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+      "#Z5_angle = math.floor(Z5_angle*100)/100\n",
+      "\n",
+      "Z7_r = R\n",
+      "Z7_i = (7*2*math.pi*f*L)-(1/(7*2*math.pi*f*C))\n",
+      "Z7_i = math.floor(Z7_i*100)/100\n",
+      "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+      "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+      "Z7_angle = math.floor(Z7_angle*100)/100\n",
+      "\n",
+      "Z9_r = R\n",
+      "Z9_i = (9*2*math.pi*f*L)-(1/(9*2*math.pi*f*C))\n",
+      "Z9_i = math.floor(Z9_i*100)/100\n",
+      "Z9_mag = math.sqrt((Z9_r**2) + (Z9_i**2)) \n",
+      "Z9_angle =math.atan(Z9_i/Z9_r)*(180/math.pi) \n",
+      "Z9_angle = math.floor(Z9_angle*100)/100\n",
+      "\n",
+      "x = 4*V/(math.pi)\n",
+      "w = 2*math.pi*f\n",
+      "\n",
+      "#(b)\n",
+      "I1 = math.floor(x*100/Z1_mag)/100\n",
+      "I3 = math.floor(x*100/(3*Z3_mag))/100\n",
+      "I5 = math.ceil(x*100/(5*Z5_mag))/100\n",
+      "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+      "I9 = math.ceil(x*1000/(9*Z9_mag))/1000\n",
+      "If = I1/math.sqrt(2)\n",
+      "If = math.floor(If*100)/100\n",
+      "#(c)\n",
+      "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2+I9**2)\n",
+      "#(d)\n",
+      "Ihc = math.sqrt(Ip**2- I1**2)/math.sqrt(2)\n",
+      "Thd = math.sqrt(Ip**2- I1**2)/I1\n",
+      "#(e)\n",
+      "Ilrms = Ip/math.sqrt(2)\n",
+      "P = R*Ilrms**2\n",
+      "Pf = R*If**2\n",
+      "#(f)\n",
+      "Iavg = P/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nZ1 = %.3f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+      "print(\"Z3 = %.2f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+      "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+      "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+      "print(\"Z9 = %.2f < %.2f\u00b0\"%(Z9_mag,Z9_angle))\n",
+      "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(3*%.2ft)+%.2fsin(5*%.2ft)+%.2fsin(7*%.2ft)+%.2fsin(9*%.2ft)\"%(x,w,x/3,w,x/5,w,x/7,w,x/9,w))\n",
+      "print(\"Il = %.2fsin(%.2ft%.2f\u00b0)+%.2fsin(3*%.2ft-%.2f\u00b0)+%.2fsin(5*%.2ft-%.2f\u00b0)+%.3fsin(7*%.2ft-%.2f\u00b0)+%.3fsin(9*%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,w,Z3_angle,I5,w,Z5_angle,I7,w,Z7_angle,I9,w,Z9_angle))\n",
+      "\n",
+      "print(\"\\n(b) RMS load current at fundamental frequency = %.2f A\"%If)\n",
+      "print(\"\\n(c) Peak value of load current = %.2f A\"%Ip)\n",
+      "print(\"\\n(d) RMS harmonic current = %.3f A\\n    Total harmonic distortion = %.3f or %.1f%%\"%(Ihc,Thd,Thd*100))\n",
+      "print(\"\\n(e) RMS value of load current = %.3f A\\n    Total output power = %.1f W\\n    Fundamental component of power = %.3f W\"%(Ilrms,P,Pf))\n",
+      "print(\"\\n(f) Average input current = %.4f A\\n    Peak thyristor current = %.2f A\"%(Iavg,Ip))\n",
+      "#Some values are accurate only upto 1 or 2 decimal places"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Z1 = 27.437 < -68.63\u00b0\n",
+        "Z3 = 12.95 < 39.45\u00b0\n",
+        "Z5 = 26.96 < 68.23\u00b0\n",
+        "Z7 = 40.68 < 75.76\u00b0\n",
+        "Z9 = 53.94 < 79.31\u00b0\n",
+        "Vl = 254.65sin(314.16t)+84.88sin(3*314.16t)+50.93sin(5*314.16t)+36.38sin(7*314.16t)+28.29sin(9*314.16t)\n",
+        "Il = 9.28sin(314.16t-68.63\u00b0)+6.55sin(3*314.16t-39.45\u00b0)+1.89sin(5*314.16t-68.23\u00b0)+0.895sin(7*314.16t-75.76\u00b0)+0.525sin(9*314.16t-79.31\u00b0)\n",
+        "\n",
+        "(b) RMS load current at fundamental frequency = 6.56 A\n",
+        "\n",
+        "(c) Peak value of load current = 11.56 A\n",
+        "\n",
+        "(d) RMS harmonic current = 4.876 A\n",
+        "    Total harmonic distortion = 0.743 or 74.3%\n",
+        "\n",
+        "(e) RMS value of load current = 8.175 A\n",
+        "    Total output power = 668.3 W\n",
+        "    Fundamental component of power = 430.336 W\n",
+        "\n",
+        "(f) Average input current = 3.3417 A\n",
+        "    Peak thyristor current = 11.56 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.8, Page No. 216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Value of C for proper load communication\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 2              # resistance\n",
+      "Xl = 10            # inductive reactance\n",
+      "f = 4*10**3        # operating frequency\n",
+      "T = 12*10**-6      # turn off time of thyristor\n",
+      "tol = 1.5          # 50% tolerance in circuit turn off time\n",
+      "\n",
+      "#Calculations\n",
+      "T = T*tol\n",
+      "theta = 2*math.pi*f*T    #radians\n",
+      "#theta = theta*180/math.pi\n",
+      "Xc = 2*math.tan(theta)+Xl\n",
+      "C = 1/(Xc*2*math.pi*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C = %.2f*10^-6 F\"%(C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C = 3.63*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 72
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.9, Page No. 216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaratrion\n",
+      "R = 10              # resistance\n",
+      "L = 50*10**-3       # inductance\n",
+      "f = 50              # frequency\n",
+      "V = 100             # input voltage\n",
+      "\n",
+      "#Calculation \n",
+      "\n",
+      "#(a)\n",
+      "Z1_r = R\n",
+      "Z1_i = (2*math.pi*f*L)\n",
+      "Z1_i = math.floor(Z1_i*100)/100\n",
+      "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+      "Z1_mag = math.ceil(Z1_mag*100)/100\n",
+      "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+      "Z1_angle = math.floor(Z1_angle*100)/100\n",
+      "\n",
+      "Z3_r = R\n",
+      "Z3_i = (3*2*math.pi*f*L)\n",
+      "Z3_i = math.floor(Z3_i*100)/100\n",
+      "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+      "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+      "Z3_angle = math.floor(Z3_angle*100)/100\n",
+      "\n",
+      "Z5_r = R\n",
+      "Z5_i = (5*2*math.pi*f*L)\n",
+      "Z5_i = math.floor(Z5_i*100)/100\n",
+      "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+      "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+      "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+      "Z5_angle = math.ceil(Z5_angle*100)/100\n",
+      "\n",
+      "Z7_r = R\n",
+      "Z7_i = (7*2*math.pi*f*L)\n",
+      "Z7_i = math.floor(Z7_i*100)/100\n",
+      "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+      "Z7_mag = math.ceil(Z7_mag*100)/100\n",
+      "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+      "Z7_angle = math.floor(Z7_angle*100)/100\n",
+      "\n",
+      "x = 4*V/(math.pi)\n",
+      "w = 2*math.pi*f\n",
+      "#(b)\n",
+      "I1 = math.ceil(x*100/Z1_mag)/100\n",
+      "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+      "I5 = math.floor(x*100/(5*Z5_mag))/100\n",
+      "I7 = math.ceil(x*1000/(7*Z7_mag))/1000\n",
+      "\n",
+      "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+      "\n",
+      "print(\"\\nLoad impedances for various harmonics are:\")\n",
+      "print(\"Z1 = %.2f < %.1f\u00b0\"%(Z1_mag,Z1_angle))\n",
+      "print(\"Z3 = %.2f < %.0f\u00b0\"%(Z3_mag,Z3_angle))\n",
+      "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+      "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+      "\n",
+      "print(\"\\nIl = %.2fsin(%.2ft-%.1f\u00b0)+%.3fsin(%.2ft-%.0f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.1f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+      "\n",
+      "print(\"\\nPeak load current = %.2f A\"%Ip)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+        "\n",
+        "Load impedances for various harmonics are:\n",
+        "Z1 = 18.62 < 57.5\u00b0\n",
+        "Z3 = 48.17 < 78\u00b0\n",
+        "Z5 = 79.17 < 82.75\u00b0\n",
+        "Z7 = 110.41 < 84.80\u00b0\n",
+        "\n",
+        "Il = 6.84sin(314.16t-57.5\u00b0)+0.881sin(942.48t-78\u00b0)+0.32sin(1570.80t-82.75\u00b0)+0.165sin(2199.11t-84.8\u00b0)\n",
+        "\n",
+        "Peak load current = 6.91 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 117
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.10, Page No. 217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase Full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaratrion\n",
+      "R = 20              # resistance\n",
+      "L = 10*10**-3       # inductance\n",
+      "f = 50.0            # frequency\n",
+      "V = 100             # input voltage\n",
+      "\n",
+      "#Calculation \n",
+      "#(a)\n",
+      "Vrms = V\n",
+      "#(b)\n",
+      "Z1_r = R\n",
+      "Z1_i = (2*math.pi*f*L)\n",
+      "Z1_i = math.floor(Z1_i*100)/100\n",
+      "Z1_mag = math.sqrt((Z1_r**2) + (Z1_i**2)) \n",
+      "Z1_mag = math.floor(Z1_mag*100)/100\n",
+      "Z1_angle =math.atan(Z1_i/Z1_r)*(180/math.pi) \n",
+      "Z1_angle = math.floor(Z1_angle*100)/100\n",
+      "\n",
+      "Z3_r = R\n",
+      "Z3_i = (3*2*math.pi*f*L)\n",
+      "Z3_i = math.floor(Z3_i*100)/100\n",
+      "Z3_mag = math.sqrt((Z3_r**2) + (Z3_i**2)) \n",
+      "Z3_angle =math.atan(Z3_i/Z3_r)*(180/math.pi) \n",
+      "Z3_angle = math.floor(Z3_angle*100)/100\n",
+      "\n",
+      "Z5_r = R\n",
+      "Z5_i = (5*2*math.pi*f*L)\n",
+      "Z5_i = math.floor(Z5_i*100)/100\n",
+      "Z5_mag = math.sqrt((Z5_r**2) + (Z5_i**2)) \n",
+      "Z5_mag = math.ceil(Z5_mag*100)/100\n",
+      "Z5_angle =math.atan(Z5_i/Z5_r)*(180/math.pi) \n",
+      "Z5_angle = math.floor(Z5_angle*100)/100\n",
+      "\n",
+      "Z7_r = R\n",
+      "Z7_i = (7*2*math.pi*f*L)\n",
+      "Z7_i = math.floor(Z7_i*100)/100\n",
+      "Z7_mag = math.sqrt((Z7_r**2) + (Z7_i**2)) \n",
+      "Z7_mag = math.floor(Z7_mag*100)/100\n",
+      "Z7_angle =math.atan(Z7_i/Z7_r)*(180/math.pi) \n",
+      "Z7_angle = math.floor(Z7_angle*100)/100\n",
+      "\n",
+      "x = 4*V/(math.pi)\n",
+      "w = 2*math.pi*f\n",
+      "\n",
+      "I1 = math.floor(x*100/Z1_mag)/100\n",
+      "I3 = math.floor(x*1000/(3*Z3_mag))/1000\n",
+      "I5 = math.floor(x*1000/(5*Z5_mag))/1000\n",
+      "I7 = math.floor(x*1000/(7*Z7_mag))/1000\n",
+      "\n",
+      "#(c)\n",
+      "Ip =math.sqrt(I1**2+I3**2+I5**2+I7**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS load voltage %d V\"%Vrms)\n",
+      "print(\"\\n(b)\\n\\nVl = %.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)+%.2fsin(%.2ft)\"%(x,w,x/3,3*w,x/5,5*w,x/7,7*w))\n",
+      "\n",
+      "print(\"\\nLoad impedances for various harmonics are:\")\n",
+      "print(\"Z1 = %.2f < %.2f\u00b0\"%(Z1_mag,Z1_angle))\n",
+      "print(\"Z3 = %.1f < %.2f\u00b0\"%(Z3_mag,Z3_angle))\n",
+      "print(\"Z5 = %.2f < %.2f\u00b0\"%(Z5_mag,Z5_angle))\n",
+      "print(\"Z7 = %.2f < %.2f\u00b0\"%(Z7_mag,Z7_angle))\n",
+      "\n",
+      "print(\"\\nIl = %.2fsin(%.2ft-%.2f\u00b0)+%.2fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)+%.3fsin(%.2ft-%.2f\u00b0)\"%(I1,w,Z1_angle,I3,3*w,Z3_angle,I5,5*w,Z5_angle,I7,7*w,Z7_angle))\n",
+      "print(\"\\nRMS value of fundamental component of load current = %.3f A\"%(I1/math.sqrt(2)))\n",
+      "print(\"\\n(c) Peak load current = %.2f A\"%Ip)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS load voltage 100 V\n",
+        "\n",
+        "(b)\n",
+        "\n",
+        "Vl = 127.32sin(314.16t)+42.44sin(942.48t)+25.46sin(1570.80t)+18.19sin(2199.11t)\n",
+        "\n",
+        "Load impedances for various harmonics are:\n",
+        "Z1 = 20.24 < 8.92\u00b0\n",
+        "Z3 = 22.1 < 25.22\u00b0\n",
+        "Z5 = 25.43 < 38.13\u00b0\n",
+        "Z7 = 29.72 < 47.71\u00b0\n",
+        "\n",
+        "Il = 6.29sin(314.16t-8.92\u00b0)+1.92sin(942.48t-25.22\u00b0)+1.001sin(1570.80t-38.13\u00b0)+0.612sin(2199.11t-47.71\u00b0)\n",
+        "\n",
+        "RMS value of fundamental component of load current = 4.448 A\n",
+        "\n",
+        "(c) Peak load current = 6.68 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 152
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.11, Page No.229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase bridge inverter with 120\u00b0 mode of operation\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                # supply voltage\n",
+      "R = 10.0                 # per phase resistor\n",
+      "\n",
+      "#Calculations\n",
+      "Ip = V/(2*R)\n",
+      "Irms = math.sqrt(((2*R)**2)*(2.0/3.0))\n",
+      "P = Irms**2*R*3\n",
+      "Iavg = 2*R/3\n",
+      "Itrms = math.sqrt((2*R)**2/3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Peak value of load current = %d A\\nRMS load current = %.2f A\\nPower output = %.0f W\"%(Ip,Irms,P))\n",
+      "print(\"Average thyristor current = %.2f A\\nRMS value of thyristor current = %.2f A\"%(Iavg,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Peak value of load current = 20 A\n",
+        "RMS load current = 16.33 A\n",
+        "Power output = 8000 W\n",
+        "Average thyristor current = 6.67 A\n",
+        "RMS value of thyristor current = 11.55 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 156
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.12, Page No. 230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# 3-phase bridge inverter with 180\u00b0 mode of operation\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 400.0                # supply voltage\n",
+      "R = 10.0                 # per phase resistor\n",
+      "\n",
+      "#Calculations\n",
+      "Rl = 1.5*R\n",
+      "i1 = V/Rl\n",
+      "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+      "P =Irms**2*R*3\n",
+      "Iavg = ((i1*math.pi/3)+(i1*math.pi/3))/(2*math.pi)\n",
+      "Itrms = math.sqrt(((i1**2*math.pi/3)+((i1/2)**2*2*math.pi/3))/(2*math.pi))\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS load current = %.3f A\\nPower output = %.2f A\\nPeak thyristor current = %.2f A\"%(Irms,P,i1))\n",
+      "print(\"Average current of thyristor = %.2f A\\nRMS current of thyristor = %.2f A\"%(Iavg,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS load current = 18.856 A\n",
+        "Power output = 10666.67 A\n",
+        "Peak thyristor current = 26.67 A\n",
+        "Average current of thyristor = 8.89 A\n",
+        "RMS current of thyristor = 13.33 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 164
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.13, Page No.230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# RMS value of load current and RMS value of thyristor current\n",
+      "\n",
+      "import math\n",
+      "#variaable declaration\n",
+      "V = 450.0                  # supply voltage\n",
+      "R = 10.0                   # per phase load resistance\n",
+      "mode = 180                 # conduction mode\n",
+      "\n",
+      "#calculation\n",
+      "Rl = 1.5*R\n",
+      "i1 = V/Rl\n",
+      "#(a)\n",
+      "Irms = math.sqrt((1/(2*math.pi))*(((i1**2*(2*math.pi/3)))+((i1/2)**2*((2*math.pi)-(2*math.pi/3)))))\n",
+      "Ip = i1\n",
+      "Itrms = math.sqrt((1/(2*math.pi))*(((i1**2*(math.pi/3)))+((i1/2)**2*((math.pi)-(math.pi/3)))))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS load current = %.2f A\\n(b) Peak current of thyristor = %.0f A\\n(c) RMS current of thyristor = %.0f A\"%(Irms,Ip,Itrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS load current = 21.21 A\n",
+        "(b) Peak current of thyristor = 30 A\n",
+        "(c) RMS current of thyristor = 15 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 167
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.14, Page No. 234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 200.0                 # input voltage\n",
+      "w = 30.0                  # width of each pulse\n",
+      "n = 5.0                   # no of pulses each cycle\n",
+      "i =1.1                  # factor by whic input is to be increased\n",
+      "w1= 33.0                  # maximum width of pulse\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vl = V*math.sqrt(n*w/180.0)\n",
+      "Vl = math.floor(Vl*100)/100\n",
+      "Vl1 = 182.52 #value used in the book for calculations\n",
+      "#(b)\n",
+      "Vi = V*i\n",
+      "sig=(180*(Vl1/Vi)**2)/n\n",
+      "#(c)\n",
+      "V = Vl1/math.sqrt(n*w1/180.0)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vl = %.2f V\\n(b) Pulse-width = %.2f\u00b0\\n(c) V = %.2f V\"%(Vl,sig,V))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vl = 182.57 V\n",
+        "(b) Pulse-width = 24.78\u00b0\n",
+        "(c) V = 190.64 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 186
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.15, Page No.234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full bridge inverter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 200.0              #input voltage\n",
+      "w = 120.0              # width of signal\n",
+      "\n",
+      "#Calculations\n",
+      "Vl = V*math.sqrt(w/180)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vl = %.1f V\"%Vl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vl = 163.3 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 190
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 4.16, Page No. 235"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Inverter controlled by sinusoidal pulse-width modulation\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 150.0                # input DC voltage\n",
+      "w1 = 20.0                # reference signal is more than control signal from 20\u00b0 to 40\u00b0\n",
+      "w2 = 60.0                # reference signal is more than control signal from 60\u00b0 to 120\u00b0\n",
+      "w3 = 20.0                # reference signal is more than control signal from 140\u00b0 to 160\u00b0\n",
+      "\n",
+      "#Calculations\n",
+      "Vl = V*math.sqrt((w1/180)+(w2/180)+(w3/180))\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vl = %.1f V\"%Vl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vl = 111.8 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 192
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_5_1.ipynb b/Power_Electronics/Power_electronics_ch_5_1.ipynb
new file mode 100755
index 00000000..eed0454a
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_5_1.ipynb
@@ -0,0 +1,1095 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5: Choppers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.1, Page No. 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vi = 200.0               # input voltage\n",
+      "Vo = 150.0               # output voltage\n",
+      "R = 10.0                 # resistance\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "alfa = Vo/Vi\n",
+      "#(b)\n",
+      "Iavg = Vo/R\n",
+      "Irms = math.sqrt(alfa)*Vi/R\n",
+      "#(c)\n",
+      "Irms_t = Irms\n",
+      "#(d)\n",
+      "Iavg_i = Iavg\n",
+      "#(e)\n",
+      "Reff = R/alfa\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Alfa = %.2f \"%alfa)\n",
+      "print(\"(b) Average load current  = %.0f A\\n    RMS load current = %.2f A\"%(Iavg,Irms))\n",
+      "print(\"(c) RMS thyristor current = %.2f A\"%Irms_t)\n",
+      "print(\"(d) Average input current = %.0f A\"%Iavg_i)\n",
+      "print(\"(e) Effective input resistance = %.3f ohm\"%Reff)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Alfa = 0.75 \n",
+        "(b) Average load current  = 15 A\n",
+        "    RMS load current = 17.32 A\n",
+        "(c) RMS thyristor current = 17.32 A\n",
+        "(d) Average input current = 15 A\n",
+        "(e) Effective input resistance = 13.333 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# periods of conduction and blocking in each cycle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vi = 230.0                    # input voltage\n",
+      "Vav = 150.0                   # output voltage\n",
+      "f = 1000.0                    # frequency\n",
+      "\n",
+      "# Calculation\n",
+      "T = 1/f\n",
+      "Ton = Vav*T/Vi\n",
+      "Toff = T -Ton\n",
+      "\n",
+      "#Result\n",
+      "print(\"Conduction Period = %.3f*10^-3 s\\nBlocking period   = %.3f*10^-3 s\"%(Ton*1000,Toff*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Conduction Period = 0.652*10^-3 s\n",
+        "Blocking period   = 0.348*10^-3 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.3, Page No. 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# periods of conduction and blocking\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ra = 0.06                  # armature resistance\n",
+      "Rf = 0.03                  # field resistance\n",
+      "I = 15.0                   # Average circuit current\n",
+      "f = 500.0                  # chopper frequency\n",
+      "Be = 100                   # back emf of motor\n",
+      "Vi = 200                   # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "Vav = I*(Ra+Rf)+Be\n",
+      "T = 1/f\n",
+      "Ton = Vav*T/Vi\n",
+      "Toff = T -Ton\n",
+      "\n",
+      "#Result\n",
+      "print(\"Conduction Period = %.4f*10^-3 s\\nBlocking period   = %.4f*10^-3 s\"%(Ton*1000,Toff*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Conduction Period = 1.0135*10^-3 s\n",
+        "Blocking period   = 0.9865*10^-3 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.4, Page No.250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Duty Cycle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "N = 800.0            # rated speed in rpm\n",
+      "I = 20               # rated current\n",
+      "Ra = 0.5             # armature resistanc\n",
+      "V = 240.0            # supply voltage\n",
+      "N1 = 600.0           # motor speed\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Be_800 = V- I*Ra\n",
+      "Be_600 = Be_800*N1/N\n",
+      "Vav = Be_600 + I*Ra\n",
+      "D1 = Vav/V\n",
+      "#(b)\n",
+      "Ia = I/2.0\n",
+      "Vav2 = Be_600+Ia*Ra\n",
+      "D2 = Vav2/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Since torque is constant,Ia is also constant, i.e. %d A\\n    Duty cycle = %.4f \"%(I,D1))\n",
+      "print(\"(b) Since torque is reduced to half and flux is constant,armature current is reduced to half, i.e. %d A\\n    Duty cycle = %.4f \"%(Ia,D2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Since torque is constant,Ia is also constant, i.e. 20 A\n",
+        "    Duty cycle = 0.7604 \n",
+        "(b) Since torque is reduced to half and flux is constant,armature current is reduced to half, i.e. 10 A\n",
+        "    Duty cycle = 0.7396 \n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.5, Page No.256"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0               # input voltage\n",
+      "R = 8.0                 # load resistance\n",
+      "Vt = 2.0                # voltage drop across thyristor\n",
+      "f = 800.0               # chopper frequency\n",
+      "d = 0.4                 # duty cycle\n",
+      "alfa = 0.5              # duty cycle for case 5\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vav = d*(V-Vt)\n",
+      "#(b)\n",
+      "Vl = math.sqrt(d)*(V-Vt)\n",
+      "#(c)\n",
+      "Po = (Vl**2)/R\n",
+      "Pi = d*V*(V-Vt)/R\n",
+      "eff = Po/Pi\n",
+      "#(d)\n",
+      "Ri = R/d\n",
+      "#(e)\n",
+      "Vl2 = 2*(V-Vt)/math.pi\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "V1 = Vl2/sqrt_2\n",
+      "V1 = math.floor(V1*1000)/1000\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vav = %.1f V\\n(b) Vl = %.3f V\\n(c) Chopper efficiency = %.0f%%\\n(d) Input resistance = %.0f ohm\"%(Vav,Vl,eff*100,Ri))\n",
+      "print(\"(e)\\nThe fundamental component (n=1) is,\\nVl = %.2fsin(%d*pi*t)\\nThe rms value of fundamental component is, V1 = %.3f V\"%(Vl2,2*f,V1))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vav = 79.2 V\n",
+        "(b) Vl = 125.226 V\n",
+        "(c) Chopper efficiency = 99%\n",
+        "(d) Input resistance = 20 ohm\n",
+        "(e)\n",
+        "The fundamental component (n=1) is,\n",
+        "Vl = 126.05sin(1600*pi*t)\n",
+        "The rms value of fundamental component is, V1 = 89.144 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.6, Page No. 257"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopping frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declartion\n",
+      "V = 400                 # input voltage\n",
+      "R = 0                   # resistance\n",
+      "L = 0.05                # inductance\n",
+      "alfa = 0.25             # duty cycle of chopper\n",
+      "I = 10                  # load current\n",
+      "\n",
+      "#Calculation\n",
+      "Vav = V*alfa\n",
+      "Ton = L*I/(V-Vav)\n",
+      "T = Ton/alfa\n",
+      "f = 1/T\n",
+      "\n",
+      "#Result\n",
+      "print(\"Chopper frequency = %d pulses/s\"%(f))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Chopper frequency = 150 pulses/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.7, Page No. 257"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 4.0                 # resistance\n",
+      "L = 6*10**-3            # inductance\n",
+      "V = 200.0               # voltage\n",
+      "alfa = 0.5              # duty cycle\n",
+      "f = 1000.0              # frequency\n",
+      "E = 0                   # back emf \n",
+      "#calculations\n",
+      "T = 1/f\n",
+      "#(a)\n",
+      "x = R*T/L\n",
+      "Imax = ((V/R)*((1-math.e**(-alfa*x))/(1-math.e**(-x))))-(E/R)\n",
+      "Imax = math.ceil(Imax*100)/100\n",
+      "Imin = ((V/R)*(((math.e**(alfa*x))-1)/((math.e**(x))-1)))-(E/R)\n",
+      "Imin = math.floor(Imin*100)/100\n",
+      "#(b)\n",
+      "ripple = V/(f*R*L)\n",
+      "#(c)\n",
+      "Iavg = (Imax+Imin)/2\n",
+      "#(d)\n",
+      "Il = math.sqrt((Imin**2)+(((Imax-Imin)**2)/3)+(Imin*(Imax-Imin)))\n",
+      "Il = math.floor(Il*100)/100\n",
+      "#(e)\n",
+      "Iavg_i =0.5*Iavg\n",
+      "#(f)\n",
+      "Irms_i = Il*math.sqrt(0.5)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Imax = %.2f A\\tImin = %.2f A\"%(Imax,Imin))\n",
+      "print(\"(b) Maximum Ripple = %.2f A\\n(c) Average load current = %.0f A\"%(ripple,Iavg))\n",
+      "print(\"(d) rms load current = %.2f A\\n(e) Average input current = %.1f A\\n(f) RMS input current = %.3f A\"%(Il,Iavg_i,Irms_i))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Imax = 29.13 A\tImin = 20.87 A\n",
+        "(b) Maximum Ripple = 8.33 A\n",
+        "(c) Average load current = 25 A\n",
+        "(d) rms load current = 25.11 A\n",
+        "(e) Average input current = 12.5 A\n",
+        "(f) RMS input current = 17.755 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.8, Page No.258 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Load inductance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 300                    # input voltage\n",
+      "R = 5                      # load resistance\n",
+      "f = 250.0                  # chopping frequency\n",
+      "r = 0.20                   # 20% ripple\n",
+      "I = 30                     # Average load current\n",
+      "\n",
+      "#Calculations\n",
+      "x = r*I\n",
+      "L = V/(4*f*x)\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.0f *10^-3 H\"%(L*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 50 *10^-3 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 66
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.9, Page No.258"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Current at the instannce of turn off of thryster and 5 msec after turn off\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 0.5                # Armature resistance\n",
+      "L = 16*10**-3          # Arature inductance\n",
+      "V = 200.0              # DC input voltage\n",
+      "Be = 100.0             # Back emf\n",
+      "Imin = 10.0            # minimum load current\n",
+      "Toff = 2*10**-3        # thyristor turn off time\n",
+      "delay = 5*10**-3       # current at the to be calculated 5 msec after turn off\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "x = R/L\n",
+      "i = (((V-Be)/R)*(1-math.e**(-x*Toff)))+Imin*(math.e**(-x*Toff))\n",
+      "i = math.floor(i*100)/100\n",
+      "#(b)\n",
+      "i2 = i*(math.e**(-x*delay))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Current at the instance of turn off of thyristor = %.2f A\"%i)\n",
+      "print(\"(b) After the turn off of thyristor,the current freewheels 5 ms.\\n\\ti = %.2f A\"%i2)\n",
+      "# answers in the book are wrong:12.12+9.39=21.41"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Current at the instance of turn off of thyristor = 21.51 A\n",
+        "(b) After the turn off of thyristor,the current freewheels 5 ms.\n",
+        "\ti = 18.40 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 88
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.10, Page No. 258"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Speed of the motor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 220.0              # input voltage\n",
+      "Ra = 1.0               # armature resistance\n",
+      "N = 1000.0             # no load speed of the motor\n",
+      "alfa = 0.6             # duty cycle\n",
+      "I = 20                 # motor current\n",
+      "E = 220.0              # back emf at no load\n",
+      "\n",
+      "# Calculations\n",
+      "Vi = V*alfa\n",
+      "Be = Vi-Ra*I\n",
+      "N1 = Be*N/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Speed of the motor = %.1f rpm\"%N1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Speed of the motor = 509.1 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 90
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.11, Page No.259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average load voltage of the chopper\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vi = 230.0                     # input voltage\n",
+      "Ton = 25                       # on time in ms\n",
+      "Toff = 10                      # off time in ms\n",
+      "\n",
+      "#Calculations\n",
+      "V = Vi*Ton/(Ton+Toff)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average load voltage = %.3f V\"%V)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average load voltage = 164.286 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 84
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.12, Page No. 259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# max, min and average load current and load voltage\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100.0               # applied voltage\n",
+      "Be = 0                  # back emf\n",
+      "L = 1.0*10**-3          # inductance\n",
+      "R = 0.5                 # Resistance\n",
+      "T = 3*10**-3            # Ton + Toff\n",
+      "Ton = 1*10**-3          # Ton\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = Ton/T\n",
+      "x = T*R/L\n",
+      "#(a)\n",
+      "Imax = (V/R)*((1- math.e**(-alfa*x))/(1-math.e**(-x)))\n",
+      "#(b)\n",
+      "Imin = (V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1))\n",
+      "#(c)\n",
+      "Vavg = alfa*V\n",
+      "\n",
+      "#Result\n",
+      "print(\" Imax = %.2f A\\n Imin = %.1f A\\n Average load current = %.1f A\\n Average output voltage = %.2f V\"%(Imax,Imin,(Imax+Imin)/2,Vavg))\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Imax = 101.30 A\n",
+        " Imin = 37.3 A\n",
+        " Average load current = 69.3 A\n",
+        " Average output voltage = 33.33 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 89
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.13, Page No.259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# In One quadrant chopper, output voltage and current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100.0               # applied voltage\n",
+      "Be = 12.0               # back emf\n",
+      "L = 0.8*10**-3          # inductance\n",
+      "R = 0.2                 # Resistance\n",
+      "T = 2.4*10**-3          # Ton + Toff\n",
+      "Ton = 1*10**-3          # Ton\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = Ton/T\n",
+      "x = T*R/L\n",
+      "#(a)\n",
+      "Imax = (V/R)*((1- math.e**(-alfa*x))/(1-math.e**(-x)))\n",
+      "#(b)\n",
+      "Imin = (V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1))\n",
+      "#(c)\n",
+      "Vavg = alfa*V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Imax = %.2f A\\n(b) Imin = %.1f A\\n(c) Average output voltage = %.2f V\"%(Imax,Imin,Vavg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Imax = 245.13 A\n",
+        "(b) Imin = 172.7 A\n",
+        "(c) Average output voltage = 41.67 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.14, Page No. 260"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Series inductance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 400.0              # chopping frequency\n",
+      "V = 500.0              # input voltage\n",
+      "I = 10                 # maximum current swing\n",
+      "\n",
+      "#calculations\n",
+      "L = V/(4*f*I)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Series Inductance, L = %.2f*10^-3 H \"%(L*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Series Inductance, L = 31.25*10^-3 H \n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.15, Pager No.260"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Motor speed and current swing\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 800.0          # input voltage\n",
+      "P = 300.0          # motor power rating in HP\n",
+      "eff = 0.9          # motor efficiency\n",
+      "R = 0.1            # total armature and field resistance\n",
+      "L = 100*10**-3     # inductance\n",
+      "alfa = 0.2         # duty cycle\n",
+      "N = 900.0          # motor rated speed \n",
+      "f = 400.0          # chopping frequency\n",
+      "\n",
+      "#Calculations\n",
+      "Po = P*735.5/1000\n",
+      "Pi = Po/eff\n",
+      "I = Pi*1000/V\n",
+      "Be = V-(I*R)\n",
+      "Be_duty = (alfa*V)-(I*R)\n",
+      "N2 = N*Be_duty/Be\n",
+      "di = (V- (alfa*V))*alfa/(L*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Motor speed = %.2f rpm\\nCurrent swing = %.1f A\"%(N2,di))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Motor speed = 151.32 rpm\n",
+        "Current swing = 3.2 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.16, Page No. 261"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.17, Page No. 262"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.18, Page No. 264"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# step down chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0               # input voltage\n",
+      "R = 2.0                 # resistance\n",
+      "L = 10*10**-3           # inductance\n",
+      "E = 20.0                # back emf\n",
+      "T = 1000*10**-6         # chopping cycle\n",
+      "Ton =300*10**-6         # Ton time of thyrister\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "f = 1/T\n",
+      "x = (R*T)/L\n",
+      "alfa_min =(math.log(1+((E/V)*(math.e**(x)-1))))/x\n",
+      "alfa = Ton/T\n",
+      "#(b)\n",
+      "Imax = ((V/R)*((1-math.e**(-alfa*x))/(1-math.e**(-x))))-(E/R)\n",
+      "Imax = math.floor(Imax*10)/10\n",
+      "Imin = ((V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1)))-(E/R)\n",
+      "Imin = math.floor(Imin*100)/100\n",
+      "#(c)\n",
+      "Il = (alfa*V-E)/R\n",
+      "#(d)\n",
+      "x1 = alfa*V\n",
+      "x2 = (V*math.sin(math.pi*2*alfa))/math.pi\n",
+      "x3 = (V/math.pi)*(1-math.cos(alfa*2*math.pi))\n",
+      "x4 =  (V*math.sin(math.pi*2*2*alfa))/(math.pi*2)\n",
+      "x5 =  (V/(2*math.pi))*(1-math.cos(alfa*2*2*math.pi))\n",
+      "x6 =  (V*math.sin(math.pi*3*2*alfa))/(math.pi*3)\n",
+      "x7 =  (V/(3*math.pi))*(1-math.cos(alfa*2*3*math.pi))\n",
+      "d = f*2*math.pi\n",
+      "#(e)\n",
+      "Iavg = (alfa*(V-E)/R)-(L*(Imax-Imin)/(R*T))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Minimum required value of alfa = %.4f\\n    Actual value of alfa = %.1f\"%(alfa_min,alfa))\n",
+      "print(\"    Since actual value is more than minimum required for continuous current,the load current is continuous.\")\n",
+      "print(\"\\n(b) Imax = %.1f A\\tImin = %.2f A\"%(Imax,Imin))\n",
+      "print(\"\\n(c) Average load current = %.0f A\"%Il)\n",
+      "print(\"\\n(d) Vl = %d + %.2fcos(%.1ft) + %.2fsin(%.1ft)%.2fcos(%.1ft) + %.2fsin(%.1ft)%.2fcos(%.1ft) + %.2fsin(%.1ft)+....\"%(x1,x2,d,x3,d,x4,2*d,x5,2*d,x6,3*d,x7,3*d))\n",
+      "print(\"\\n(e) Average Input current = %.2f A\"%Iavg)\n",
+      "# answer for Imin is slightly greater than the answer given in book and hence answer for avg input current"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Minimum required value of alfa = 0.1095\n",
+        "    Actual value of alfa = 0.3\n",
+        "    Since actual value is more than minimum required for continuous current,the load current is continuous.\n",
+        "\n",
+        "(b) Imax = 22.1 A\tImin = 17.92 A\n",
+        "\n",
+        "(c) Average load current = 20 A\n",
+        "\n",
+        "(d) Vl = 60 + 60.55cos(6283.2t) + 83.33sin(6283.2t)-18.71cos(12566.4t) + 57.58sin(12566.4t)-12.47cos(18849.6t) + 4.05sin(18849.6t)+....\n",
+        "\n",
+        "(e) Average Input current = 6.10 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 59
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.19, Page No.266"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# load current values\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 200.0               # input voltage\n",
+      "R = 4.0                 # resistance\n",
+      "L = 10*10**-3           # inductance\n",
+      "T = 1000*10**-6         # chopping cycle\n",
+      "Ton =300*10**-6         # Ton time of thyrister\n",
+      "\n",
+      "#Calculations\n",
+      "f = 1/T\n",
+      "alfa = Ton/T\n",
+      "x1 = alfa*V\n",
+      "x2 = (V*math.sin(math.pi*2*alfa))/math.pi\n",
+      "x2 = math.ceil(x2*100)/100\n",
+      "x3 = (V/math.pi)*(1-math.cos(alfa*2*math.pi))\n",
+      "x3 = math.floor(x3*100)/100\n",
+      "x4 =  (V*math.sin(math.pi*2*2*alfa))/(math.pi*2)\n",
+      "x4 = math.floor(x4*100)/100\n",
+      "x5 =  (V/(2*math.pi))*(1-math.cos(alfa*2*2*math.pi))\n",
+      "x5 = math.floor(x5*100)/100\n",
+      "x6 =  (V*math.sin(math.pi*3*2*alfa))/(math.pi*3)\n",
+      "x6 = math.ceil(x6*100)/100\n",
+      "x7 =  (V/(3*math.pi))*(1-math.cos(alfa*2*3*math.pi))\n",
+      "x7 = math.floor(x7*100)/100\n",
+      "\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "V1 = math.sqrt((x2**2+x3**2))/sqrt_2\n",
+      "V2 = math.sqrt((x4**2+x5**2))/sqrt_2\n",
+      "V3 = math.sqrt((x6**2+x7**2))/sqrt_2\n",
+      "Z1_mag = math.sqrt(R**2+(2*math.pi*f*L)**2)\n",
+      "Z1_angle = math.tan((2*math.pi*f*L)/R)\n",
+      "I1 = V1/Z1_mag\n",
+      "\n",
+      "Z2_mag = math.sqrt(R**2+(2*2*math.pi*f*L)**2)\n",
+      "Z2_angle = math.tan((2*2*math.pi*f*L)/R)\n",
+      "I2 = V2/Z2_mag\n",
+      "\n",
+      "Z3_mag = math.sqrt(R**2+(3*2*math.pi*f*L)**2)\n",
+      "Z3_angle = math.tan((3*2*math.pi*f*L)/R)\n",
+      "I3 = V3/Z3_mag\n",
+      "\n",
+      "Iavg = alfa*V/4\n",
+      "Irms = math.sqrt(Iavg**2+I1**2+I2**2+I3**2)\n",
+      "\n",
+      "print(\"RMS value of first harmonic component of load current  = %.3f A\"%I1)\n",
+      "print(\"RMS value of second harmonic component of load current = %.4f A\"%I2)\n",
+      "print(\"RMS value of third harmonic component of load current  = %.4f A\"%I3)\n",
+      "print(\"RMS value of load current = %.4f A\"%Irms)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS value of first harmonic component of load current  = 1.157 A\n",
+        "RMS value of second harmonic component of load current = 0.3406 A\n",
+        "RMS value of third harmonic component of load current  = 0.0492 A\n",
+        "RMS value of load current = 15.0485 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 74
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.20, Page No.273"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# L and C of the auxiliary commutation circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200               # input voltage\n",
+      "I = 50                # average current\n",
+      "Il = 60               # peak load current\n",
+      "Toff = 15*10**-6      # thyristor turn off current\n",
+      "l = 1.5               # max current limit of 150%\n",
+      "\n",
+      "\n",
+      "#calculation\n",
+      "C = Toff*Il/V           # C should be greater than this value\n",
+      "C1 = 5 *10**-6          # assumed\n",
+      "Ic = Il*l-Il\n",
+      "L = (V**2*(C1))/(Ic**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C > %.1f*10^-6, Therefore assume C = %.1f*10^6 F\"%(C*10**6,C1*10**6))\n",
+      "print(\"L = %.2f*10^-6 H\"%(L*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C > 4.5*10^-6, Therefore assume C = 5.0*10^6 F\n",
+        "L = 222.22*10^-6 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.21, Page No.277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# period of conduction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0                    # input voltage \n",
+      "Vav = 250.0                  # output voltage\n",
+      "Toff = 0.6*10**-3            # blocking period\n",
+      "\n",
+      "#calculation\n",
+      "Ton = (Vav*Toff/V) - Toff\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ton = %.2f*10^-3 second\"%(Ton*10**3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ton = 0.15*10^-3 second\n"
+       ]
+      }
+     ],
+     "prompt_number": 81
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.22, Page No.277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# period of conduction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 150.0                    # input voltage \n",
+      "Vav = 250.0                  # output voltage\n",
+      "Toff = 1*10**-3            # blocking period\n",
+      "\n",
+      "#calculation\n",
+      "Ton = (Vav*Toff/V) - Toff\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ton = %.4f*10^-3 second\"%(Ton*10**3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ton = 0.6667*10^-3 second\n"
+       ]
+      }
+     ],
+     "prompt_number": 83
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_5_2.ipynb b/Power_Electronics/Power_electronics_ch_5_2.ipynb
new file mode 100755
index 00000000..eed0454a
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_5_2.ipynb
@@ -0,0 +1,1095 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5: Choppers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.1, Page No. 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vi = 200.0               # input voltage\n",
+      "Vo = 150.0               # output voltage\n",
+      "R = 10.0                 # resistance\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "alfa = Vo/Vi\n",
+      "#(b)\n",
+      "Iavg = Vo/R\n",
+      "Irms = math.sqrt(alfa)*Vi/R\n",
+      "#(c)\n",
+      "Irms_t = Irms\n",
+      "#(d)\n",
+      "Iavg_i = Iavg\n",
+      "#(e)\n",
+      "Reff = R/alfa\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Alfa = %.2f \"%alfa)\n",
+      "print(\"(b) Average load current  = %.0f A\\n    RMS load current = %.2f A\"%(Iavg,Irms))\n",
+      "print(\"(c) RMS thyristor current = %.2f A\"%Irms_t)\n",
+      "print(\"(d) Average input current = %.0f A\"%Iavg_i)\n",
+      "print(\"(e) Effective input resistance = %.3f ohm\"%Reff)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Alfa = 0.75 \n",
+        "(b) Average load current  = 15 A\n",
+        "    RMS load current = 17.32 A\n",
+        "(c) RMS thyristor current = 17.32 A\n",
+        "(d) Average input current = 15 A\n",
+        "(e) Effective input resistance = 13.333 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# periods of conduction and blocking in each cycle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vi = 230.0                    # input voltage\n",
+      "Vav = 150.0                   # output voltage\n",
+      "f = 1000.0                    # frequency\n",
+      "\n",
+      "# Calculation\n",
+      "T = 1/f\n",
+      "Ton = Vav*T/Vi\n",
+      "Toff = T -Ton\n",
+      "\n",
+      "#Result\n",
+      "print(\"Conduction Period = %.3f*10^-3 s\\nBlocking period   = %.3f*10^-3 s\"%(Ton*1000,Toff*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Conduction Period = 0.652*10^-3 s\n",
+        "Blocking period   = 0.348*10^-3 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.3, Page No. 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# periods of conduction and blocking\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ra = 0.06                  # armature resistance\n",
+      "Rf = 0.03                  # field resistance\n",
+      "I = 15.0                   # Average circuit current\n",
+      "f = 500.0                  # chopper frequency\n",
+      "Be = 100                   # back emf of motor\n",
+      "Vi = 200                   # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "Vav = I*(Ra+Rf)+Be\n",
+      "T = 1/f\n",
+      "Ton = Vav*T/Vi\n",
+      "Toff = T -Ton\n",
+      "\n",
+      "#Result\n",
+      "print(\"Conduction Period = %.4f*10^-3 s\\nBlocking period   = %.4f*10^-3 s\"%(Ton*1000,Toff*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Conduction Period = 1.0135*10^-3 s\n",
+        "Blocking period   = 0.9865*10^-3 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.4, Page No.250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Duty Cycle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "N = 800.0            # rated speed in rpm\n",
+      "I = 20               # rated current\n",
+      "Ra = 0.5             # armature resistanc\n",
+      "V = 240.0            # supply voltage\n",
+      "N1 = 600.0           # motor speed\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Be_800 = V- I*Ra\n",
+      "Be_600 = Be_800*N1/N\n",
+      "Vav = Be_600 + I*Ra\n",
+      "D1 = Vav/V\n",
+      "#(b)\n",
+      "Ia = I/2.0\n",
+      "Vav2 = Be_600+Ia*Ra\n",
+      "D2 = Vav2/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Since torque is constant,Ia is also constant, i.e. %d A\\n    Duty cycle = %.4f \"%(I,D1))\n",
+      "print(\"(b) Since torque is reduced to half and flux is constant,armature current is reduced to half, i.e. %d A\\n    Duty cycle = %.4f \"%(Ia,D2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Since torque is constant,Ia is also constant, i.e. 20 A\n",
+        "    Duty cycle = 0.7604 \n",
+        "(b) Since torque is reduced to half and flux is constant,armature current is reduced to half, i.e. 10 A\n",
+        "    Duty cycle = 0.7396 \n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.5, Page No.256"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0               # input voltage\n",
+      "R = 8.0                 # load resistance\n",
+      "Vt = 2.0                # voltage drop across thyristor\n",
+      "f = 800.0               # chopper frequency\n",
+      "d = 0.4                 # duty cycle\n",
+      "alfa = 0.5              # duty cycle for case 5\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vav = d*(V-Vt)\n",
+      "#(b)\n",
+      "Vl = math.sqrt(d)*(V-Vt)\n",
+      "#(c)\n",
+      "Po = (Vl**2)/R\n",
+      "Pi = d*V*(V-Vt)/R\n",
+      "eff = Po/Pi\n",
+      "#(d)\n",
+      "Ri = R/d\n",
+      "#(e)\n",
+      "Vl2 = 2*(V-Vt)/math.pi\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "V1 = Vl2/sqrt_2\n",
+      "V1 = math.floor(V1*1000)/1000\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vav = %.1f V\\n(b) Vl = %.3f V\\n(c) Chopper efficiency = %.0f%%\\n(d) Input resistance = %.0f ohm\"%(Vav,Vl,eff*100,Ri))\n",
+      "print(\"(e)\\nThe fundamental component (n=1) is,\\nVl = %.2fsin(%d*pi*t)\\nThe rms value of fundamental component is, V1 = %.3f V\"%(Vl2,2*f,V1))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vav = 79.2 V\n",
+        "(b) Vl = 125.226 V\n",
+        "(c) Chopper efficiency = 99%\n",
+        "(d) Input resistance = 20 ohm\n",
+        "(e)\n",
+        "The fundamental component (n=1) is,\n",
+        "Vl = 126.05sin(1600*pi*t)\n",
+        "The rms value of fundamental component is, V1 = 89.144 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.6, Page No. 257"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopping frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declartion\n",
+      "V = 400                 # input voltage\n",
+      "R = 0                   # resistance\n",
+      "L = 0.05                # inductance\n",
+      "alfa = 0.25             # duty cycle of chopper\n",
+      "I = 10                  # load current\n",
+      "\n",
+      "#Calculation\n",
+      "Vav = V*alfa\n",
+      "Ton = L*I/(V-Vav)\n",
+      "T = Ton/alfa\n",
+      "f = 1/T\n",
+      "\n",
+      "#Result\n",
+      "print(\"Chopper frequency = %d pulses/s\"%(f))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Chopper frequency = 150 pulses/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.7, Page No. 257"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 4.0                 # resistance\n",
+      "L = 6*10**-3            # inductance\n",
+      "V = 200.0               # voltage\n",
+      "alfa = 0.5              # duty cycle\n",
+      "f = 1000.0              # frequency\n",
+      "E = 0                   # back emf \n",
+      "#calculations\n",
+      "T = 1/f\n",
+      "#(a)\n",
+      "x = R*T/L\n",
+      "Imax = ((V/R)*((1-math.e**(-alfa*x))/(1-math.e**(-x))))-(E/R)\n",
+      "Imax = math.ceil(Imax*100)/100\n",
+      "Imin = ((V/R)*(((math.e**(alfa*x))-1)/((math.e**(x))-1)))-(E/R)\n",
+      "Imin = math.floor(Imin*100)/100\n",
+      "#(b)\n",
+      "ripple = V/(f*R*L)\n",
+      "#(c)\n",
+      "Iavg = (Imax+Imin)/2\n",
+      "#(d)\n",
+      "Il = math.sqrt((Imin**2)+(((Imax-Imin)**2)/3)+(Imin*(Imax-Imin)))\n",
+      "Il = math.floor(Il*100)/100\n",
+      "#(e)\n",
+      "Iavg_i =0.5*Iavg\n",
+      "#(f)\n",
+      "Irms_i = Il*math.sqrt(0.5)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Imax = %.2f A\\tImin = %.2f A\"%(Imax,Imin))\n",
+      "print(\"(b) Maximum Ripple = %.2f A\\n(c) Average load current = %.0f A\"%(ripple,Iavg))\n",
+      "print(\"(d) rms load current = %.2f A\\n(e) Average input current = %.1f A\\n(f) RMS input current = %.3f A\"%(Il,Iavg_i,Irms_i))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Imax = 29.13 A\tImin = 20.87 A\n",
+        "(b) Maximum Ripple = 8.33 A\n",
+        "(c) Average load current = 25 A\n",
+        "(d) rms load current = 25.11 A\n",
+        "(e) Average input current = 12.5 A\n",
+        "(f) RMS input current = 17.755 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.8, Page No.258 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Load inductance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 300                    # input voltage\n",
+      "R = 5                      # load resistance\n",
+      "f = 250.0                  # chopping frequency\n",
+      "r = 0.20                   # 20% ripple\n",
+      "I = 30                     # Average load current\n",
+      "\n",
+      "#Calculations\n",
+      "x = r*I\n",
+      "L = V/(4*f*x)\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.0f *10^-3 H\"%(L*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 50 *10^-3 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 66
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.9, Page No.258"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Current at the instannce of turn off of thryster and 5 msec after turn off\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 0.5                # Armature resistance\n",
+      "L = 16*10**-3          # Arature inductance\n",
+      "V = 200.0              # DC input voltage\n",
+      "Be = 100.0             # Back emf\n",
+      "Imin = 10.0            # minimum load current\n",
+      "Toff = 2*10**-3        # thyristor turn off time\n",
+      "delay = 5*10**-3       # current at the to be calculated 5 msec after turn off\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "x = R/L\n",
+      "i = (((V-Be)/R)*(1-math.e**(-x*Toff)))+Imin*(math.e**(-x*Toff))\n",
+      "i = math.floor(i*100)/100\n",
+      "#(b)\n",
+      "i2 = i*(math.e**(-x*delay))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Current at the instance of turn off of thyristor = %.2f A\"%i)\n",
+      "print(\"(b) After the turn off of thyristor,the current freewheels 5 ms.\\n\\ti = %.2f A\"%i2)\n",
+      "# answers in the book are wrong:12.12+9.39=21.41"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Current at the instance of turn off of thyristor = 21.51 A\n",
+        "(b) After the turn off of thyristor,the current freewheels 5 ms.\n",
+        "\ti = 18.40 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 88
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.10, Page No. 258"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Speed of the motor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 220.0              # input voltage\n",
+      "Ra = 1.0               # armature resistance\n",
+      "N = 1000.0             # no load speed of the motor\n",
+      "alfa = 0.6             # duty cycle\n",
+      "I = 20                 # motor current\n",
+      "E = 220.0              # back emf at no load\n",
+      "\n",
+      "# Calculations\n",
+      "Vi = V*alfa\n",
+      "Be = Vi-Ra*I\n",
+      "N1 = Be*N/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Speed of the motor = %.1f rpm\"%N1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Speed of the motor = 509.1 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 90
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.11, Page No.259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average load voltage of the chopper\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vi = 230.0                     # input voltage\n",
+      "Ton = 25                       # on time in ms\n",
+      "Toff = 10                      # off time in ms\n",
+      "\n",
+      "#Calculations\n",
+      "V = Vi*Ton/(Ton+Toff)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average load voltage = %.3f V\"%V)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average load voltage = 164.286 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 84
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.12, Page No. 259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# max, min and average load current and load voltage\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100.0               # applied voltage\n",
+      "Be = 0                  # back emf\n",
+      "L = 1.0*10**-3          # inductance\n",
+      "R = 0.5                 # Resistance\n",
+      "T = 3*10**-3            # Ton + Toff\n",
+      "Ton = 1*10**-3          # Ton\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = Ton/T\n",
+      "x = T*R/L\n",
+      "#(a)\n",
+      "Imax = (V/R)*((1- math.e**(-alfa*x))/(1-math.e**(-x)))\n",
+      "#(b)\n",
+      "Imin = (V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1))\n",
+      "#(c)\n",
+      "Vavg = alfa*V\n",
+      "\n",
+      "#Result\n",
+      "print(\" Imax = %.2f A\\n Imin = %.1f A\\n Average load current = %.1f A\\n Average output voltage = %.2f V\"%(Imax,Imin,(Imax+Imin)/2,Vavg))\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Imax = 101.30 A\n",
+        " Imin = 37.3 A\n",
+        " Average load current = 69.3 A\n",
+        " Average output voltage = 33.33 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 89
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.13, Page No.259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# In One quadrant chopper, output voltage and current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100.0               # applied voltage\n",
+      "Be = 12.0               # back emf\n",
+      "L = 0.8*10**-3          # inductance\n",
+      "R = 0.2                 # Resistance\n",
+      "T = 2.4*10**-3          # Ton + Toff\n",
+      "Ton = 1*10**-3          # Ton\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = Ton/T\n",
+      "x = T*R/L\n",
+      "#(a)\n",
+      "Imax = (V/R)*((1- math.e**(-alfa*x))/(1-math.e**(-x)))\n",
+      "#(b)\n",
+      "Imin = (V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1))\n",
+      "#(c)\n",
+      "Vavg = alfa*V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Imax = %.2f A\\n(b) Imin = %.1f A\\n(c) Average output voltage = %.2f V\"%(Imax,Imin,Vavg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Imax = 245.13 A\n",
+        "(b) Imin = 172.7 A\n",
+        "(c) Average output voltage = 41.67 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.14, Page No. 260"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Series inductance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 400.0              # chopping frequency\n",
+      "V = 500.0              # input voltage\n",
+      "I = 10                 # maximum current swing\n",
+      "\n",
+      "#calculations\n",
+      "L = V/(4*f*I)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Series Inductance, L = %.2f*10^-3 H \"%(L*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Series Inductance, L = 31.25*10^-3 H \n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.15, Pager No.260"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Motor speed and current swing\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 800.0          # input voltage\n",
+      "P = 300.0          # motor power rating in HP\n",
+      "eff = 0.9          # motor efficiency\n",
+      "R = 0.1            # total armature and field resistance\n",
+      "L = 100*10**-3     # inductance\n",
+      "alfa = 0.2         # duty cycle\n",
+      "N = 900.0          # motor rated speed \n",
+      "f = 400.0          # chopping frequency\n",
+      "\n",
+      "#Calculations\n",
+      "Po = P*735.5/1000\n",
+      "Pi = Po/eff\n",
+      "I = Pi*1000/V\n",
+      "Be = V-(I*R)\n",
+      "Be_duty = (alfa*V)-(I*R)\n",
+      "N2 = N*Be_duty/Be\n",
+      "di = (V- (alfa*V))*alfa/(L*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Motor speed = %.2f rpm\\nCurrent swing = %.1f A\"%(N2,di))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Motor speed = 151.32 rpm\n",
+        "Current swing = 3.2 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.16, Page No. 261"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.17, Page No. 262"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.18, Page No. 264"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# step down chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0               # input voltage\n",
+      "R = 2.0                 # resistance\n",
+      "L = 10*10**-3           # inductance\n",
+      "E = 20.0                # back emf\n",
+      "T = 1000*10**-6         # chopping cycle\n",
+      "Ton =300*10**-6         # Ton time of thyrister\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "f = 1/T\n",
+      "x = (R*T)/L\n",
+      "alfa_min =(math.log(1+((E/V)*(math.e**(x)-1))))/x\n",
+      "alfa = Ton/T\n",
+      "#(b)\n",
+      "Imax = ((V/R)*((1-math.e**(-alfa*x))/(1-math.e**(-x))))-(E/R)\n",
+      "Imax = math.floor(Imax*10)/10\n",
+      "Imin = ((V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1)))-(E/R)\n",
+      "Imin = math.floor(Imin*100)/100\n",
+      "#(c)\n",
+      "Il = (alfa*V-E)/R\n",
+      "#(d)\n",
+      "x1 = alfa*V\n",
+      "x2 = (V*math.sin(math.pi*2*alfa))/math.pi\n",
+      "x3 = (V/math.pi)*(1-math.cos(alfa*2*math.pi))\n",
+      "x4 =  (V*math.sin(math.pi*2*2*alfa))/(math.pi*2)\n",
+      "x5 =  (V/(2*math.pi))*(1-math.cos(alfa*2*2*math.pi))\n",
+      "x6 =  (V*math.sin(math.pi*3*2*alfa))/(math.pi*3)\n",
+      "x7 =  (V/(3*math.pi))*(1-math.cos(alfa*2*3*math.pi))\n",
+      "d = f*2*math.pi\n",
+      "#(e)\n",
+      "Iavg = (alfa*(V-E)/R)-(L*(Imax-Imin)/(R*T))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Minimum required value of alfa = %.4f\\n    Actual value of alfa = %.1f\"%(alfa_min,alfa))\n",
+      "print(\"    Since actual value is more than minimum required for continuous current,the load current is continuous.\")\n",
+      "print(\"\\n(b) Imax = %.1f A\\tImin = %.2f A\"%(Imax,Imin))\n",
+      "print(\"\\n(c) Average load current = %.0f A\"%Il)\n",
+      "print(\"\\n(d) Vl = %d + %.2fcos(%.1ft) + %.2fsin(%.1ft)%.2fcos(%.1ft) + %.2fsin(%.1ft)%.2fcos(%.1ft) + %.2fsin(%.1ft)+....\"%(x1,x2,d,x3,d,x4,2*d,x5,2*d,x6,3*d,x7,3*d))\n",
+      "print(\"\\n(e) Average Input current = %.2f A\"%Iavg)\n",
+      "# answer for Imin is slightly greater than the answer given in book and hence answer for avg input current"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Minimum required value of alfa = 0.1095\n",
+        "    Actual value of alfa = 0.3\n",
+        "    Since actual value is more than minimum required for continuous current,the load current is continuous.\n",
+        "\n",
+        "(b) Imax = 22.1 A\tImin = 17.92 A\n",
+        "\n",
+        "(c) Average load current = 20 A\n",
+        "\n",
+        "(d) Vl = 60 + 60.55cos(6283.2t) + 83.33sin(6283.2t)-18.71cos(12566.4t) + 57.58sin(12566.4t)-12.47cos(18849.6t) + 4.05sin(18849.6t)+....\n",
+        "\n",
+        "(e) Average Input current = 6.10 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 59
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.19, Page No.266"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# load current values\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 200.0               # input voltage\n",
+      "R = 4.0                 # resistance\n",
+      "L = 10*10**-3           # inductance\n",
+      "T = 1000*10**-6         # chopping cycle\n",
+      "Ton =300*10**-6         # Ton time of thyrister\n",
+      "\n",
+      "#Calculations\n",
+      "f = 1/T\n",
+      "alfa = Ton/T\n",
+      "x1 = alfa*V\n",
+      "x2 = (V*math.sin(math.pi*2*alfa))/math.pi\n",
+      "x2 = math.ceil(x2*100)/100\n",
+      "x3 = (V/math.pi)*(1-math.cos(alfa*2*math.pi))\n",
+      "x3 = math.floor(x3*100)/100\n",
+      "x4 =  (V*math.sin(math.pi*2*2*alfa))/(math.pi*2)\n",
+      "x4 = math.floor(x4*100)/100\n",
+      "x5 =  (V/(2*math.pi))*(1-math.cos(alfa*2*2*math.pi))\n",
+      "x5 = math.floor(x5*100)/100\n",
+      "x6 =  (V*math.sin(math.pi*3*2*alfa))/(math.pi*3)\n",
+      "x6 = math.ceil(x6*100)/100\n",
+      "x7 =  (V/(3*math.pi))*(1-math.cos(alfa*2*3*math.pi))\n",
+      "x7 = math.floor(x7*100)/100\n",
+      "\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "V1 = math.sqrt((x2**2+x3**2))/sqrt_2\n",
+      "V2 = math.sqrt((x4**2+x5**2))/sqrt_2\n",
+      "V3 = math.sqrt((x6**2+x7**2))/sqrt_2\n",
+      "Z1_mag = math.sqrt(R**2+(2*math.pi*f*L)**2)\n",
+      "Z1_angle = math.tan((2*math.pi*f*L)/R)\n",
+      "I1 = V1/Z1_mag\n",
+      "\n",
+      "Z2_mag = math.sqrt(R**2+(2*2*math.pi*f*L)**2)\n",
+      "Z2_angle = math.tan((2*2*math.pi*f*L)/R)\n",
+      "I2 = V2/Z2_mag\n",
+      "\n",
+      "Z3_mag = math.sqrt(R**2+(3*2*math.pi*f*L)**2)\n",
+      "Z3_angle = math.tan((3*2*math.pi*f*L)/R)\n",
+      "I3 = V3/Z3_mag\n",
+      "\n",
+      "Iavg = alfa*V/4\n",
+      "Irms = math.sqrt(Iavg**2+I1**2+I2**2+I3**2)\n",
+      "\n",
+      "print(\"RMS value of first harmonic component of load current  = %.3f A\"%I1)\n",
+      "print(\"RMS value of second harmonic component of load current = %.4f A\"%I2)\n",
+      "print(\"RMS value of third harmonic component of load current  = %.4f A\"%I3)\n",
+      "print(\"RMS value of load current = %.4f A\"%Irms)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS value of first harmonic component of load current  = 1.157 A\n",
+        "RMS value of second harmonic component of load current = 0.3406 A\n",
+        "RMS value of third harmonic component of load current  = 0.0492 A\n",
+        "RMS value of load current = 15.0485 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 74
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.20, Page No.273"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# L and C of the auxiliary commutation circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200               # input voltage\n",
+      "I = 50                # average current\n",
+      "Il = 60               # peak load current\n",
+      "Toff = 15*10**-6      # thyristor turn off current\n",
+      "l = 1.5               # max current limit of 150%\n",
+      "\n",
+      "\n",
+      "#calculation\n",
+      "C = Toff*Il/V           # C should be greater than this value\n",
+      "C1 = 5 *10**-6          # assumed\n",
+      "Ic = Il*l-Il\n",
+      "L = (V**2*(C1))/(Ic**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C > %.1f*10^-6, Therefore assume C = %.1f*10^6 F\"%(C*10**6,C1*10**6))\n",
+      "print(\"L = %.2f*10^-6 H\"%(L*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C > 4.5*10^-6, Therefore assume C = 5.0*10^6 F\n",
+        "L = 222.22*10^-6 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.21, Page No.277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# period of conduction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0                    # input voltage \n",
+      "Vav = 250.0                  # output voltage\n",
+      "Toff = 0.6*10**-3            # blocking period\n",
+      "\n",
+      "#calculation\n",
+      "Ton = (Vav*Toff/V) - Toff\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ton = %.2f*10^-3 second\"%(Ton*10**3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ton = 0.15*10^-3 second\n"
+       ]
+      }
+     ],
+     "prompt_number": 81
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.22, Page No.277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# period of conduction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 150.0                    # input voltage \n",
+      "Vav = 250.0                  # output voltage\n",
+      "Toff = 1*10**-3            # blocking period\n",
+      "\n",
+      "#calculation\n",
+      "Ton = (Vav*Toff/V) - Toff\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ton = %.4f*10^-3 second\"%(Ton*10**3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ton = 0.6667*10^-3 second\n"
+       ]
+      }
+     ],
+     "prompt_number": 83
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_5_3.ipynb b/Power_Electronics/Power_electronics_ch_5_3.ipynb
new file mode 100755
index 00000000..eed0454a
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_5_3.ipynb
@@ -0,0 +1,1095 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5: Choppers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.1, Page No. 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vi = 200.0               # input voltage\n",
+      "Vo = 150.0               # output voltage\n",
+      "R = 10.0                 # resistance\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "alfa = Vo/Vi\n",
+      "#(b)\n",
+      "Iavg = Vo/R\n",
+      "Irms = math.sqrt(alfa)*Vi/R\n",
+      "#(c)\n",
+      "Irms_t = Irms\n",
+      "#(d)\n",
+      "Iavg_i = Iavg\n",
+      "#(e)\n",
+      "Reff = R/alfa\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Alfa = %.2f \"%alfa)\n",
+      "print(\"(b) Average load current  = %.0f A\\n    RMS load current = %.2f A\"%(Iavg,Irms))\n",
+      "print(\"(c) RMS thyristor current = %.2f A\"%Irms_t)\n",
+      "print(\"(d) Average input current = %.0f A\"%Iavg_i)\n",
+      "print(\"(e) Effective input resistance = %.3f ohm\"%Reff)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Alfa = 0.75 \n",
+        "(b) Average load current  = 15 A\n",
+        "    RMS load current = 17.32 A\n",
+        "(c) RMS thyristor current = 17.32 A\n",
+        "(d) Average input current = 15 A\n",
+        "(e) Effective input resistance = 13.333 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# periods of conduction and blocking in each cycle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vi = 230.0                    # input voltage\n",
+      "Vav = 150.0                   # output voltage\n",
+      "f = 1000.0                    # frequency\n",
+      "\n",
+      "# Calculation\n",
+      "T = 1/f\n",
+      "Ton = Vav*T/Vi\n",
+      "Toff = T -Ton\n",
+      "\n",
+      "#Result\n",
+      "print(\"Conduction Period = %.3f*10^-3 s\\nBlocking period   = %.3f*10^-3 s\"%(Ton*1000,Toff*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Conduction Period = 0.652*10^-3 s\n",
+        "Blocking period   = 0.348*10^-3 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.3, Page No. 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# periods of conduction and blocking\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ra = 0.06                  # armature resistance\n",
+      "Rf = 0.03                  # field resistance\n",
+      "I = 15.0                   # Average circuit current\n",
+      "f = 500.0                  # chopper frequency\n",
+      "Be = 100                   # back emf of motor\n",
+      "Vi = 200                   # input voltage\n",
+      "\n",
+      "#Calculations\n",
+      "Vav = I*(Ra+Rf)+Be\n",
+      "T = 1/f\n",
+      "Ton = Vav*T/Vi\n",
+      "Toff = T -Ton\n",
+      "\n",
+      "#Result\n",
+      "print(\"Conduction Period = %.4f*10^-3 s\\nBlocking period   = %.4f*10^-3 s\"%(Ton*1000,Toff*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Conduction Period = 1.0135*10^-3 s\n",
+        "Blocking period   = 0.9865*10^-3 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.4, Page No.250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Duty Cycle\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "N = 800.0            # rated speed in rpm\n",
+      "I = 20               # rated current\n",
+      "Ra = 0.5             # armature resistanc\n",
+      "V = 240.0            # supply voltage\n",
+      "N1 = 600.0           # motor speed\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Be_800 = V- I*Ra\n",
+      "Be_600 = Be_800*N1/N\n",
+      "Vav = Be_600 + I*Ra\n",
+      "D1 = Vav/V\n",
+      "#(b)\n",
+      "Ia = I/2.0\n",
+      "Vav2 = Be_600+Ia*Ra\n",
+      "D2 = Vav2/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Since torque is constant,Ia is also constant, i.e. %d A\\n    Duty cycle = %.4f \"%(I,D1))\n",
+      "print(\"(b) Since torque is reduced to half and flux is constant,armature current is reduced to half, i.e. %d A\\n    Duty cycle = %.4f \"%(Ia,D2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Since torque is constant,Ia is also constant, i.e. 20 A\n",
+        "    Duty cycle = 0.7604 \n",
+        "(b) Since torque is reduced to half and flux is constant,armature current is reduced to half, i.e. 10 A\n",
+        "    Duty cycle = 0.7396 \n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.5, Page No.256"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0               # input voltage\n",
+      "R = 8.0                 # load resistance\n",
+      "Vt = 2.0                # voltage drop across thyristor\n",
+      "f = 800.0               # chopper frequency\n",
+      "d = 0.4                 # duty cycle\n",
+      "alfa = 0.5              # duty cycle for case 5\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vav = d*(V-Vt)\n",
+      "#(b)\n",
+      "Vl = math.sqrt(d)*(V-Vt)\n",
+      "#(c)\n",
+      "Po = (Vl**2)/R\n",
+      "Pi = d*V*(V-Vt)/R\n",
+      "eff = Po/Pi\n",
+      "#(d)\n",
+      "Ri = R/d\n",
+      "#(e)\n",
+      "Vl2 = 2*(V-Vt)/math.pi\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "V1 = Vl2/sqrt_2\n",
+      "V1 = math.floor(V1*1000)/1000\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vav = %.1f V\\n(b) Vl = %.3f V\\n(c) Chopper efficiency = %.0f%%\\n(d) Input resistance = %.0f ohm\"%(Vav,Vl,eff*100,Ri))\n",
+      "print(\"(e)\\nThe fundamental component (n=1) is,\\nVl = %.2fsin(%d*pi*t)\\nThe rms value of fundamental component is, V1 = %.3f V\"%(Vl2,2*f,V1))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vav = 79.2 V\n",
+        "(b) Vl = 125.226 V\n",
+        "(c) Chopper efficiency = 99%\n",
+        "(d) Input resistance = 20 ohm\n",
+        "(e)\n",
+        "The fundamental component (n=1) is,\n",
+        "Vl = 126.05sin(1600*pi*t)\n",
+        "The rms value of fundamental component is, V1 = 89.144 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.6, Page No. 257"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopping frequency\n",
+      "\n",
+      "import math\n",
+      "#Variable declartion\n",
+      "V = 400                 # input voltage\n",
+      "R = 0                   # resistance\n",
+      "L = 0.05                # inductance\n",
+      "alfa = 0.25             # duty cycle of chopper\n",
+      "I = 10                  # load current\n",
+      "\n",
+      "#Calculation\n",
+      "Vav = V*alfa\n",
+      "Ton = L*I/(V-Vav)\n",
+      "T = Ton/alfa\n",
+      "f = 1/T\n",
+      "\n",
+      "#Result\n",
+      "print(\"Chopper frequency = %d pulses/s\"%(f))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Chopper frequency = 150 pulses/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.7, Page No. 257"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "R = 4.0                 # resistance\n",
+      "L = 6*10**-3            # inductance\n",
+      "V = 200.0               # voltage\n",
+      "alfa = 0.5              # duty cycle\n",
+      "f = 1000.0              # frequency\n",
+      "E = 0                   # back emf \n",
+      "#calculations\n",
+      "T = 1/f\n",
+      "#(a)\n",
+      "x = R*T/L\n",
+      "Imax = ((V/R)*((1-math.e**(-alfa*x))/(1-math.e**(-x))))-(E/R)\n",
+      "Imax = math.ceil(Imax*100)/100\n",
+      "Imin = ((V/R)*(((math.e**(alfa*x))-1)/((math.e**(x))-1)))-(E/R)\n",
+      "Imin = math.floor(Imin*100)/100\n",
+      "#(b)\n",
+      "ripple = V/(f*R*L)\n",
+      "#(c)\n",
+      "Iavg = (Imax+Imin)/2\n",
+      "#(d)\n",
+      "Il = math.sqrt((Imin**2)+(((Imax-Imin)**2)/3)+(Imin*(Imax-Imin)))\n",
+      "Il = math.floor(Il*100)/100\n",
+      "#(e)\n",
+      "Iavg_i =0.5*Iavg\n",
+      "#(f)\n",
+      "Irms_i = Il*math.sqrt(0.5)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Imax = %.2f A\\tImin = %.2f A\"%(Imax,Imin))\n",
+      "print(\"(b) Maximum Ripple = %.2f A\\n(c) Average load current = %.0f A\"%(ripple,Iavg))\n",
+      "print(\"(d) rms load current = %.2f A\\n(e) Average input current = %.1f A\\n(f) RMS input current = %.3f A\"%(Il,Iavg_i,Irms_i))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Imax = 29.13 A\tImin = 20.87 A\n",
+        "(b) Maximum Ripple = 8.33 A\n",
+        "(c) Average load current = 25 A\n",
+        "(d) rms load current = 25.11 A\n",
+        "(e) Average input current = 12.5 A\n",
+        "(f) RMS input current = 17.755 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.8, Page No.258 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Load inductance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 300                    # input voltage\n",
+      "R = 5                      # load resistance\n",
+      "f = 250.0                  # chopping frequency\n",
+      "r = 0.20                   # 20% ripple\n",
+      "I = 30                     # Average load current\n",
+      "\n",
+      "#Calculations\n",
+      "x = r*I\n",
+      "L = V/(4*f*x)\n",
+      "\n",
+      "#Result\n",
+      "print(\"L = %.0f *10^-3 H\"%(L*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "L = 50 *10^-3 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 66
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.9, Page No.258"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Current at the instannce of turn off of thryster and 5 msec after turn off\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R = 0.5                # Armature resistance\n",
+      "L = 16*10**-3          # Arature inductance\n",
+      "V = 200.0              # DC input voltage\n",
+      "Be = 100.0             # Back emf\n",
+      "Imin = 10.0            # minimum load current\n",
+      "Toff = 2*10**-3        # thyristor turn off time\n",
+      "delay = 5*10**-3       # current at the to be calculated 5 msec after turn off\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "x = R/L\n",
+      "i = (((V-Be)/R)*(1-math.e**(-x*Toff)))+Imin*(math.e**(-x*Toff))\n",
+      "i = math.floor(i*100)/100\n",
+      "#(b)\n",
+      "i2 = i*(math.e**(-x*delay))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Current at the instance of turn off of thyristor = %.2f A\"%i)\n",
+      "print(\"(b) After the turn off of thyristor,the current freewheels 5 ms.\\n\\ti = %.2f A\"%i2)\n",
+      "# answers in the book are wrong:12.12+9.39=21.41"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Current at the instance of turn off of thyristor = 21.51 A\n",
+        "(b) After the turn off of thyristor,the current freewheels 5 ms.\n",
+        "\ti = 18.40 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 88
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.10, Page No. 258"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Speed of the motor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 220.0              # input voltage\n",
+      "Ra = 1.0               # armature resistance\n",
+      "N = 1000.0             # no load speed of the motor\n",
+      "alfa = 0.6             # duty cycle\n",
+      "I = 20                 # motor current\n",
+      "E = 220.0              # back emf at no load\n",
+      "\n",
+      "# Calculations\n",
+      "Vi = V*alfa\n",
+      "Be = Vi-Ra*I\n",
+      "N1 = Be*N/V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Speed of the motor = %.1f rpm\"%N1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Speed of the motor = 509.1 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 90
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.11, Page No.259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average load voltage of the chopper\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vi = 230.0                     # input voltage\n",
+      "Ton = 25                       # on time in ms\n",
+      "Toff = 10                      # off time in ms\n",
+      "\n",
+      "#Calculations\n",
+      "V = Vi*Ton/(Ton+Toff)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Average load voltage = %.3f V\"%V)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average load voltage = 164.286 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 84
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.12, Page No. 259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# max, min and average load current and load voltage\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100.0               # applied voltage\n",
+      "Be = 0                  # back emf\n",
+      "L = 1.0*10**-3          # inductance\n",
+      "R = 0.5                 # Resistance\n",
+      "T = 3*10**-3            # Ton + Toff\n",
+      "Ton = 1*10**-3          # Ton\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = Ton/T\n",
+      "x = T*R/L\n",
+      "#(a)\n",
+      "Imax = (V/R)*((1- math.e**(-alfa*x))/(1-math.e**(-x)))\n",
+      "#(b)\n",
+      "Imin = (V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1))\n",
+      "#(c)\n",
+      "Vavg = alfa*V\n",
+      "\n",
+      "#Result\n",
+      "print(\" Imax = %.2f A\\n Imin = %.1f A\\n Average load current = %.1f A\\n Average output voltage = %.2f V\"%(Imax,Imin,(Imax+Imin)/2,Vavg))\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Imax = 101.30 A\n",
+        " Imin = 37.3 A\n",
+        " Average load current = 69.3 A\n",
+        " Average output voltage = 33.33 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 89
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.13, Page No.259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# In One quadrant chopper, output voltage and current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 100.0               # applied voltage\n",
+      "Be = 12.0               # back emf\n",
+      "L = 0.8*10**-3          # inductance\n",
+      "R = 0.2                 # Resistance\n",
+      "T = 2.4*10**-3          # Ton + Toff\n",
+      "Ton = 1*10**-3          # Ton\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = Ton/T\n",
+      "x = T*R/L\n",
+      "#(a)\n",
+      "Imax = (V/R)*((1- math.e**(-alfa*x))/(1-math.e**(-x)))\n",
+      "#(b)\n",
+      "Imin = (V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1))\n",
+      "#(c)\n",
+      "Vavg = alfa*V\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Imax = %.2f A\\n(b) Imin = %.1f A\\n(c) Average output voltage = %.2f V\"%(Imax,Imin,Vavg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Imax = 245.13 A\n",
+        "(b) Imin = 172.7 A\n",
+        "(c) Average output voltage = 41.67 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.14, Page No. 260"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Series inductance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "f = 400.0              # chopping frequency\n",
+      "V = 500.0              # input voltage\n",
+      "I = 10                 # maximum current swing\n",
+      "\n",
+      "#calculations\n",
+      "L = V/(4*f*I)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Series Inductance, L = %.2f*10^-3 H \"%(L*1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Series Inductance, L = 31.25*10^-3 H \n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.15, Pager No.260"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Motor speed and current swing\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 800.0          # input voltage\n",
+      "P = 300.0          # motor power rating in HP\n",
+      "eff = 0.9          # motor efficiency\n",
+      "R = 0.1            # total armature and field resistance\n",
+      "L = 100*10**-3     # inductance\n",
+      "alfa = 0.2         # duty cycle\n",
+      "N = 900.0          # motor rated speed \n",
+      "f = 400.0          # chopping frequency\n",
+      "\n",
+      "#Calculations\n",
+      "Po = P*735.5/1000\n",
+      "Pi = Po/eff\n",
+      "I = Pi*1000/V\n",
+      "Be = V-(I*R)\n",
+      "Be_duty = (alfa*V)-(I*R)\n",
+      "N2 = N*Be_duty/Be\n",
+      "di = (V- (alfa*V))*alfa/(L*f)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Motor speed = %.2f rpm\\nCurrent swing = %.1f A\"%(N2,di))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Motor speed = 151.32 rpm\n",
+        "Current swing = 3.2 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.16, Page No. 261"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.17, Page No. 262"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "print(\"Theoretical example\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Theoretical example\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.18, Page No. 264"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# step down chopper parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0               # input voltage\n",
+      "R = 2.0                 # resistance\n",
+      "L = 10*10**-3           # inductance\n",
+      "E = 20.0                # back emf\n",
+      "T = 1000*10**-6         # chopping cycle\n",
+      "Ton =300*10**-6         # Ton time of thyrister\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "f = 1/T\n",
+      "x = (R*T)/L\n",
+      "alfa_min =(math.log(1+((E/V)*(math.e**(x)-1))))/x\n",
+      "alfa = Ton/T\n",
+      "#(b)\n",
+      "Imax = ((V/R)*((1-math.e**(-alfa*x))/(1-math.e**(-x))))-(E/R)\n",
+      "Imax = math.floor(Imax*10)/10\n",
+      "Imin = ((V/R)*((math.e**(alfa*x)-1)/(math.e**(x)-1)))-(E/R)\n",
+      "Imin = math.floor(Imin*100)/100\n",
+      "#(c)\n",
+      "Il = (alfa*V-E)/R\n",
+      "#(d)\n",
+      "x1 = alfa*V\n",
+      "x2 = (V*math.sin(math.pi*2*alfa))/math.pi\n",
+      "x3 = (V/math.pi)*(1-math.cos(alfa*2*math.pi))\n",
+      "x4 =  (V*math.sin(math.pi*2*2*alfa))/(math.pi*2)\n",
+      "x5 =  (V/(2*math.pi))*(1-math.cos(alfa*2*2*math.pi))\n",
+      "x6 =  (V*math.sin(math.pi*3*2*alfa))/(math.pi*3)\n",
+      "x7 =  (V/(3*math.pi))*(1-math.cos(alfa*2*3*math.pi))\n",
+      "d = f*2*math.pi\n",
+      "#(e)\n",
+      "Iavg = (alfa*(V-E)/R)-(L*(Imax-Imin)/(R*T))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Minimum required value of alfa = %.4f\\n    Actual value of alfa = %.1f\"%(alfa_min,alfa))\n",
+      "print(\"    Since actual value is more than minimum required for continuous current,the load current is continuous.\")\n",
+      "print(\"\\n(b) Imax = %.1f A\\tImin = %.2f A\"%(Imax,Imin))\n",
+      "print(\"\\n(c) Average load current = %.0f A\"%Il)\n",
+      "print(\"\\n(d) Vl = %d + %.2fcos(%.1ft) + %.2fsin(%.1ft)%.2fcos(%.1ft) + %.2fsin(%.1ft)%.2fcos(%.1ft) + %.2fsin(%.1ft)+....\"%(x1,x2,d,x3,d,x4,2*d,x5,2*d,x6,3*d,x7,3*d))\n",
+      "print(\"\\n(e) Average Input current = %.2f A\"%Iavg)\n",
+      "# answer for Imin is slightly greater than the answer given in book and hence answer for avg input current"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Minimum required value of alfa = 0.1095\n",
+        "    Actual value of alfa = 0.3\n",
+        "    Since actual value is more than minimum required for continuous current,the load current is continuous.\n",
+        "\n",
+        "(b) Imax = 22.1 A\tImin = 17.92 A\n",
+        "\n",
+        "(c) Average load current = 20 A\n",
+        "\n",
+        "(d) Vl = 60 + 60.55cos(6283.2t) + 83.33sin(6283.2t)-18.71cos(12566.4t) + 57.58sin(12566.4t)-12.47cos(18849.6t) + 4.05sin(18849.6t)+....\n",
+        "\n",
+        "(e) Average Input current = 6.10 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 59
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.19, Page No.266"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# load current values\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 200.0               # input voltage\n",
+      "R = 4.0                 # resistance\n",
+      "L = 10*10**-3           # inductance\n",
+      "T = 1000*10**-6         # chopping cycle\n",
+      "Ton =300*10**-6         # Ton time of thyrister\n",
+      "\n",
+      "#Calculations\n",
+      "f = 1/T\n",
+      "alfa = Ton/T\n",
+      "x1 = alfa*V\n",
+      "x2 = (V*math.sin(math.pi*2*alfa))/math.pi\n",
+      "x2 = math.ceil(x2*100)/100\n",
+      "x3 = (V/math.pi)*(1-math.cos(alfa*2*math.pi))\n",
+      "x3 = math.floor(x3*100)/100\n",
+      "x4 =  (V*math.sin(math.pi*2*2*alfa))/(math.pi*2)\n",
+      "x4 = math.floor(x4*100)/100\n",
+      "x5 =  (V/(2*math.pi))*(1-math.cos(alfa*2*2*math.pi))\n",
+      "x5 = math.floor(x5*100)/100\n",
+      "x6 =  (V*math.sin(math.pi*3*2*alfa))/(math.pi*3)\n",
+      "x6 = math.ceil(x6*100)/100\n",
+      "x7 =  (V/(3*math.pi))*(1-math.cos(alfa*2*3*math.pi))\n",
+      "x7 = math.floor(x7*100)/100\n",
+      "\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "V1 = math.sqrt((x2**2+x3**2))/sqrt_2\n",
+      "V2 = math.sqrt((x4**2+x5**2))/sqrt_2\n",
+      "V3 = math.sqrt((x6**2+x7**2))/sqrt_2\n",
+      "Z1_mag = math.sqrt(R**2+(2*math.pi*f*L)**2)\n",
+      "Z1_angle = math.tan((2*math.pi*f*L)/R)\n",
+      "I1 = V1/Z1_mag\n",
+      "\n",
+      "Z2_mag = math.sqrt(R**2+(2*2*math.pi*f*L)**2)\n",
+      "Z2_angle = math.tan((2*2*math.pi*f*L)/R)\n",
+      "I2 = V2/Z2_mag\n",
+      "\n",
+      "Z3_mag = math.sqrt(R**2+(3*2*math.pi*f*L)**2)\n",
+      "Z3_angle = math.tan((3*2*math.pi*f*L)/R)\n",
+      "I3 = V3/Z3_mag\n",
+      "\n",
+      "Iavg = alfa*V/4\n",
+      "Irms = math.sqrt(Iavg**2+I1**2+I2**2+I3**2)\n",
+      "\n",
+      "print(\"RMS value of first harmonic component of load current  = %.3f A\"%I1)\n",
+      "print(\"RMS value of second harmonic component of load current = %.4f A\"%I2)\n",
+      "print(\"RMS value of third harmonic component of load current  = %.4f A\"%I3)\n",
+      "print(\"RMS value of load current = %.4f A\"%Irms)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS value of first harmonic component of load current  = 1.157 A\n",
+        "RMS value of second harmonic component of load current = 0.3406 A\n",
+        "RMS value of third harmonic component of load current  = 0.0492 A\n",
+        "RMS value of load current = 15.0485 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 74
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.20, Page No.273"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# L and C of the auxiliary commutation circuit\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200               # input voltage\n",
+      "I = 50                # average current\n",
+      "Il = 60               # peak load current\n",
+      "Toff = 15*10**-6      # thyristor turn off current\n",
+      "l = 1.5               # max current limit of 150%\n",
+      "\n",
+      "\n",
+      "#calculation\n",
+      "C = Toff*Il/V           # C should be greater than this value\n",
+      "C1 = 5 *10**-6          # assumed\n",
+      "Ic = Il*l-Il\n",
+      "L = (V**2*(C1))/(Ic**2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"C > %.1f*10^-6, Therefore assume C = %.1f*10^6 F\"%(C*10**6,C1*10**6))\n",
+      "print(\"L = %.2f*10^-6 H\"%(L*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C > 4.5*10^-6, Therefore assume C = 5.0*10^6 F\n",
+        "L = 222.22*10^-6 H\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.21, Page No.277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# period of conduction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200.0                    # input voltage \n",
+      "Vav = 250.0                  # output voltage\n",
+      "Toff = 0.6*10**-3            # blocking period\n",
+      "\n",
+      "#calculation\n",
+      "Ton = (Vav*Toff/V) - Toff\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ton = %.2f*10^-3 second\"%(Ton*10**3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ton = 0.15*10^-3 second\n"
+       ]
+      }
+     ],
+     "prompt_number": 81
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 5.22, Page No.277"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# period of conduction\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 150.0                    # input voltage \n",
+      "Vav = 250.0                  # output voltage\n",
+      "Toff = 1*10**-3            # blocking period\n",
+      "\n",
+      "#calculation\n",
+      "Ton = (Vav*Toff/V) - Toff\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ton = %.4f*10^-3 second\"%(Ton*10**3))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ton = 0.6667*10^-3 second\n"
+       ]
+      }
+     ],
+     "prompt_number": 83
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_6_1.ipynb b/Power_Electronics/Power_electronics_ch_6_1.ipynb
new file mode 100755
index 00000000..9456765e
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_6_1.ipynb
@@ -0,0 +1,852 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6: AC Regulators"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.1, Page No.286"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input/output power, input power factor, average and rms vales of thyristor\n",
+      "\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "nc = 36.0              # conduction cycles\n",
+      "no = 64.0              # off cycles\n",
+      "V = 150.0              # input voltage\n",
+      "Rl = 8.0               # load resistance\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "alfa = nc/(nc+no)\n",
+      "Vl = V*math.sqrt(alfa)\n",
+      "#(b)\n",
+      "P = (Vl**2)/Rl\n",
+      "#(d)\n",
+      "Il = Vl/Rl\n",
+      "va_i = V*Il\n",
+      "pf_i = P/va_i\n",
+      "#(e)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Ip = sqrt_2*V/Rl\n",
+      "\n",
+      "def f(x):\n",
+      "    return (alfa/(2*math.pi))*Ip*(math.sin(x))\n",
+      "wt_lower=0\n",
+      "wt_upper =math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "\n",
+      "val2 =Ip*math.sqrt(alfa)/2.0\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) rms output voltage, Vl = %.0f V\\n(b) Power output = %.1f W\"%(Vl,P))\n",
+      "print(\"(c) Since losses are neglected, input power = Output power = %.1f W\"%(P))\n",
+      "print(\"(d) input power factor = %.1f lagging\\n(e)\\tPeak thyristor current = %.4f A \"%(pf_i,Ip))\n",
+      "print(\"\\tAverage thyristor current = %.3f A\\n\\tRMS thyristor current = %.2f A\"%(val[0],val2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) rms output voltage, Vl = 90 V\n",
+        "(b) Power output = 1012.5 W\n",
+        "(c) Since losses are neglected, input power = Output power = 1012.5 W\n",
+        "(d) input power factor = 0.6 lagging\n",
+        "(e)\tPeak thyristor current = 26.5125 A \n",
+        "\tAverage thyristor current = 3.038 A\n",
+        "\tRMS thyristor current = 7.95 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.2, Page No.288"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase half wave regulator parameter\n",
+      "\n",
+      "import math\n",
+      "#vaariable declaration\n",
+      "V = 150.0                   # input voltage\n",
+      "Rl = 8.0                    # load resistance\n",
+      "theta = 60.0                # thyristor firing angle in degrees\n",
+      "\n",
+      "# Calculations\n",
+      "Vm =math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vo = Vm*(math.cos(theta*math.pi/180)-1)/(2*math.pi)\n",
+      "#(b)\n",
+      "Vl = Vm*math.sqrt(((2*math.pi)-(theta*math.pi/180)+(math.sin(2*theta*math.pi/180)/2))/(4*math.pi))\n",
+      "Vl = math.ceil(Vl*100)/100\n",
+      "#(c)\n",
+      "Po = (Vl**2)/Rl\n",
+      "#(d)\n",
+      "I = Vl/Rl\n",
+      "va = V*I\n",
+      "pf = Po/va\n",
+      "#(e)\n",
+      "Iavg = Vo/Rl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average output voltage = %.1f V\\n This is negative because only a part of positive half cycle appears at the output\"%Vo)\n",
+      "print(\" whereas the whole negative cycle appears at the output.\")\n",
+      "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.2f lagging\"%(Vl,Po,pf))\n",
+      "print(\"\\n(e) Average input current = Average output current = %.2f A \"%(Iavg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average output voltage = -16.9 V\n",
+        " This is negative because only a part of positive half cycle appears at the output\n",
+        " whereas the whole negative cycle appears at the output.\n",
+        "\n",
+        "(b) Vl = 142.46 V\n",
+        "\n",
+        "(c) Power output = 2536.86 W\n",
+        "\n",
+        "(d) Input pf = 0.95 lagging\n",
+        "\n",
+        "(e) Average input current = Average output current = -2.11 A \n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.3, Page No.293"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave regulator parameters\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "V = 150.0                   # input voltage\n",
+      "Rl = 8.0                    # load resistance\n",
+      "theta = 60.0                # thyristor firing angle in degrees\n",
+      "\n",
+      "#calculations\n",
+      "Vm =math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vav = Vm*(math.cos(theta*math.pi/180)+1)/(math.pi)\n",
+      "#(b)\n",
+      "Vl = Vm*math.sqrt(((3.14)-(3.14/3)+(math.sin(2*theta*3.14/180)/2))/(2*3.141))\n",
+      "Vl = math.ceil(Vl*100)/100\n",
+      "#(c)\n",
+      "Io = Vl/Rl\n",
+      "Po = (Io**2)*Rl\n",
+      "#(d)\n",
+      "va = V*Io\n",
+      "pf = Po/va\n",
+      "#(e)\n",
+      "def f(x):\n",
+      "    return math.sin(x)\n",
+      "wt_lower = math.pi/3 \n",
+      "wt_upper = math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "Iavg = val[0]*Vm/(2*math.pi*Rl)\n",
+      "\n",
+      "def g(x):\n",
+      "    return math.sin(x)**2\n",
+      "wt_lower1 = math.pi/3\n",
+      "wt_upper1 = math.pi\n",
+      "val1 = quad(g,wt_lower1,wt_upper1)\n",
+      "Irms = (Vm/(Rl))*math.sqrt(val1[0]/(math.pi*2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average output voltage = %.2f V\\n \"%Vav)\n",
+      "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.3f lagging\"%(Vl,Po,pf))\n",
+      "print(\"\\n(e) Average thyristor current= %.2f A\\n    RMS thyristor current = %.2f A \"%(Iavg,Irms))\n",
+      "\n",
+      "#(b) For Vl calculation, value of pi is used different at different place. if math.pi is used then Vl = 134.53V\n",
+      "#(c) answer in the book is misprinted"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average output voltage = 101.27 V\n",
+        " \n",
+        "\n",
+        "(b) Vl = 134.52 V\n",
+        "\n",
+        "(c) Power output = 2261.95 W\n",
+        "\n",
+        "(d) Input pf = 0.897 lagging\n",
+        "\n",
+        "(e) Average thyristor current= 6.33 A\n",
+        "    RMS thyristor current = 11.89 A \n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.4, Page No. 294"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#  Single phase full wave ac voltage regulator\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "V = 120.0                   # input voltage\n",
+      "Rl = 10.0                   # load resistance\n",
+      "alfa = 90.0                 # thyristor firing angle in degrees\n",
+      "\n",
+      "#Calculations\n",
+      "Vm =math.sqrt(2)*V\n",
+      "#Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+      "#Vo = 60*math.sqrt(2) \n",
+      "#(b)\n",
+      "Il = Vo/Rl\n",
+      "Po = (Il**2)*Rl\n",
+      "VA = Il*V\n",
+      "pf = Po/VA\n",
+      "#(c)\n",
+      "def f(x):\n",
+      "    return math.sin(x)\n",
+      "wt_lower = math.pi/2\n",
+      "wt_upper = math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "Iav = Vm*val[0]/(2*math.pi*Rl)\n",
+      "   \n",
+      "#(d)\n",
+      "Irms = Il/math.sqrt(2)\n",
+      "#(e)\n",
+      "Irmsl = Vo/Rl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS output voltage = %f V\\n(b) Input p.f. = %.3f lagging\\n(c) Average thyristor current = %.1f A\"%(Vo,pf,Iav))\n",
+      "print(\"(d) RMS thyristor current = %.1f A\\n(e) RMS load current =%f A\"%(Irms,Irmsl))\n",
+      "# Answer for \"RMS output voltage\" and \"RMS load current\" is wrong in the book."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS output voltage = 84.852814 V\n",
+        "(b) Input p.f. = 0.707 lagging\n",
+        "(c) Average thyristor current = 2.7 A\n",
+        "(d) RMS thyristor current = 6.0 A\n",
+        "(e) RMS load current =8.485281 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.5, Page No. 294"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# rms output voltage and average power\n",
+      "\n",
+      "import math\n",
+      "R = 400.0                  # load resistance\n",
+      "V = 110.0                  # input voltage\n",
+      "alfa = 60.0                # firing angle\n",
+      "\n",
+      "# calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+      "P = (Vo**2)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS output voltage = %.2f V\\nAverage power = %.2f W\"%(Vm,P))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS output voltage = 155.54 V\n",
+        "Average power = 24.33 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 58
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.6, Page No.294 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle\n",
+      "\n",
+      "import math\n",
+      "from numpy import poly1d\n",
+      "# variable declaration\n",
+      "a1 = 0.80          # % of maximum power value1\n",
+      "a2 = 0.30          # % of maximum power value2\n",
+      "\n",
+      "#Calculation\n",
+      "#After solving equation using taylor seris of X, we got following coefficient. \n",
+      "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-a1))], variable = 'x')\n",
+      "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-math.pi*1.525)], variable = 'x')\n",
+      "# hardcoded value used to match the answer to the book\n",
+      "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+      "x2 = P2.r[(P1.order+1)/2]*180/math.pi\n",
+      "alfa1 = x1.real\n",
+      "alfa2 = x2.real\n",
+      "print(\"(a) alfa1 = %.1f\u00b0\"%(x1.real))\n",
+      "print(\"(b) alfa2 = %.1f\u00b0\"%(x2.real))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) alfa1 = 60.5\u00b0\n",
+        "(b) alfa2 = 108.6\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 98
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.7, Page No.295"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase AC regulator\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 230.0                 # Single phase supply voltage\n",
+      "f = 50.0                  # supply frequency\n",
+      "R = 15.0                  # load resistance\n",
+      "alfa = 30.0               # firing angle\n",
+      "\n",
+      "#calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "alfa = alfa*math.pi/180   #degree to radians\n",
+      "#(a)\n",
+      "#-Theoretical\n",
+      "Iavg = Vm*(1+ math.cos(alfa))/(2*math.pi*R)\n",
+      "Irms = (Vm/R)*math.sqrt(((math.pi - alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+      "#(b)\n",
+      "a1 = (Vm)*(math.cos(2*alfa)-1)/(2*math.pi)\n",
+      "b1 = (Vm)*((math.pi-alfa)+((math.sin(2*alfa))/2.0))/(math.pi)\n",
+      "Va = math.sqrt(a1**2 + b1**2)\n",
+      "Vrms = Va/sqrt_2\n",
+      "Vrms = math.floor(Vrms*1000)/1000\n",
+      "#(e)\n",
+      "P = (Vrms**2)/R\n",
+      "#(f)\n",
+      "Vl = Vm*math.sqrt((math.pi -alfa+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+      "Vl =math.floor(Vl*1000)/1000\n",
+      "#(g)\n",
+      "Pt = (Vl**2)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average thyristor current = %.2f A\\n RMS thyristor current = %.3f A\"%(Iavg,Irms))\n",
+      "print(\"\\n(b) Amplitude of fundamental component of load voltage  = %.1f V\\n RMS value = %.3f V\"%(math.floor(Va*10)/10,Vrms))\n",
+      "print(\"\\n(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\")\n",
+      "print(\" Hence max.(di/dt) is infinite\")\n",
+      "print(\"\\n(d) Maximum forward or reverse voltage across thyristor  = %.2f V \"%(Vm))#math.pi =1.414\n",
+      "print(\"\\n\\n(e) Power delevered to load by fundamental component of load voltage = %.2f W\"%P)\n",
+      "print(\"\\n\\n(f) Load voltage = %.3f V\"%Vl)\n",
+      "print(\"\\n\\n(g) Total power output = %.2f W\"%Pt)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average thyristor current = 6.44 A\n",
+        " RMS thyristor current = 10.683 A\n",
+        "\n",
+        "(b) Amplitude of fundamental component of load voltage  = 316.9 V\n",
+        " RMS value = 224.116 V\n",
+        "\n",
+        "(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\n",
+        " Hence max.(di/dt) is infinite\n",
+        "\n",
+        "(d) Maximum forward or reverse voltage across thyristor  = 325.22 V \n",
+        "\n",
+        "\n",
+        "(e) Power delevered to load by fundamental component of load voltage = 3348.53 W\n",
+        "\n",
+        "\n",
+        "(f) Load voltage = 226.625 V\n",
+        "\n",
+        "\n",
+        "(g) Total power output = 3423.93 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.8, Page No. 300"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave regulator\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 150              # input voltage\n",
+      "R = 4                # resistance of the circuit\n",
+      "L = 22*10**-3        # Inductance\n",
+      "f = 50               # frequency \n",
+      "alfa = 60            # firing angle\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "w = 2*math.pi*f\n",
+      "theta = (180/math.pi)*math.atan(w*L/R)\n",
+      "beta = 180+alfa\n",
+      "#(b)\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vm = V*math.sqrt(2)\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "Vl = Vm*math.sqrt((math.pi-((math.sin(2*beta*math.pi/180))/2)+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\ntheta = %.0f\u00b0\\nAs alfa = theta, (beta-alfa) = Conduction angle= pi\\ntherefore, Beta = %d\u00b0\"%(theta,beta))\n",
+      "print(\"\\n(b)\\n Vl = %.0f V\"%Vl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "theta = 60\u00b0\n",
+        "As alfa = theta, (beta-alfa) = Conduction angle= pi\n",
+        "therefore, Beta = 240\u00b0\n",
+        "\n",
+        "(b)\n",
+        " Vl = 150 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.9, Page No. 300"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave regulator parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230               # input voltage\n",
+      "f = 50                # frequency\n",
+      "R = 5                 # resistance of the circuit\n",
+      "L = 20*10**-3         # inductance\n",
+      "\n",
+      "#Calculations\n",
+      "w = 2*math.pi*f\n",
+      "theta = (180/math.pi)*math.atan(R/(2*math.pi*f*L))\n",
+      "theta = math.ceil(theta*100)/100\n",
+      "Il = V/math.sqrt((R**2)+((w**2)*(L**2)))\n",
+      "Il = math.floor(Il*100)/100\n",
+      "P =R*Il**2\n",
+      "ipf = (P)/(V*Il)\n",
+      "\n",
+      "#Result\n",
+      "print(\"theta = %.2f\u00b0\"%theta)\n",
+      "print(\"\\n(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is %.2f\u00b0 to 180\u00b0.\"%theta)\n",
+      "print(\"\\n(b) Conduction period of each thyristor is 180\u00b0.\")\n",
+      "print(\"\\n(c)\\n  Load current = %.2f A\\n  Power output = %.2f W\\n  Input power factor = %.3f lagging\"%(Il,P,ipf)) "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "theta = 38.52\u00b0\n",
+        "\n",
+        "(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is 38.52\u00b0 to 180\u00b0.\n",
+        "\n",
+        "(b) Conduction period of each thyristor is 180\u00b0.\n",
+        "\n",
+        "(c)\n",
+        "  Load current = 28.64 A\n",
+        "  Power output = 4101.25 W\n",
+        "  Input power factor = 0.623 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 52
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.10, Page No. 300"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Singal phase full wave regulator circuit parameters\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "R = 9                    # resistance of the circuit\n",
+      "L = 0.03                 # inductance\n",
+      "V = 240                  # input voltage\n",
+      "f = 50                   # frequency\n",
+      "alfa1 = 0                # firing angle case a\n",
+      "alfa2 = 60               # firing angle case b\n",
+      "alfa3 = 90               # firing angle case c\n",
+      "\n",
+      "#calculations\n",
+      "RbyL = R/L\n",
+      "alfa1 = 0*math.pi/180\n",
+      "alfa2 = 60*math.pi/180\n",
+      "alfa3 = 90*math.pi/180 \n",
+      "alfa4 = 13.7*math.pi/180 \n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "w = 2*math.pi*f\n",
+      "Z_mag = math.sqrt((R**2)+(w**2)*(L**2))\n",
+      "Z_angle = math.floor((math.atan(w*L/R))*1000)/1000\n",
+      "x=math.floor(math.cos(Z_angle)*10000)/10000\n",
+      "\n",
+      "#(a)\n",
+      "Il = (V*math.sqrt(2)/Z_mag)#*math.sin((w/f)-(Z_angle*math.pi/180))\n",
+      "Il = math.floor(Il*100)/100\n",
+      "P = V*Il*x/sqrt_2\n",
+      "#b\n",
+      "k1 = math.ceil((Il*math.sin(alfa2-Z_angle))*100)/100\n",
+      "def h(t):\n",
+      "    return ((V*sqrt_2*math.sin(w*t*alfa2))*((Il*math.sin((w*t)+(alfa2-Z_angle)))-(k1*math.e**(-RbyL*t))))\n",
+      "t2 = 0.00919\n",
+      "t1 = 0\n",
+      "val = quad(h,t1,t2)\n",
+      "P2 = val[0]/0.01\n",
+      "#c\n",
+      "k2 =  math.floor((Il*math.sin(alfa3-Z_angle))*100)/100\n",
+      "def g(t):\n",
+      "    return ((V*sqrt_2*math.sin(w*t*alfa3))*((Il*math.sin((w*t)+(alfa3-Z_angle)))-(k2*math.e**(-RbyL*t))))\n",
+      "t2 = 0.00733\n",
+      "t1 = 0\n",
+      "val2 = quad(g,t1,t2)\n",
+      "P3 = val2[0]/0.01\n",
+      "\n",
+      "angle1 = math.ceil((Z_angle*180/math.pi)*10)/10\n",
+      "angle2 = (alfa2-Z_angle)*180/math.pi\n",
+      "angle3 = (alfa3-Z_angle)*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nCurrent waveform--> i = %.2fsin(2pi*%dt-%.1f\u00b0) A\\nPower delivered = %.1f W\"%(Il,f,angle1,P))\n",
+      "print(\"(b)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle2,k1,RbyL,P2))\n",
+      "print(\"(c)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle3,k2,RbyL,P3))\n",
+      "#Power answer for (b) and (c) do not match with the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Current waveform--> i = 26.04sin(2pi*50t-46.3\u00b0) A\n",
+        "Power delivered = 3053.6 W\n",
+        "(b)\n",
+        "Current waveform--> i = 26.04sin(2pi*50t+13.7\u00b0)-6.17e^(-300t) A\n",
+        "Power delivered = 3885.4 W\n",
+        "(c)\n",
+        "Current waveform--> i = 26.04sin(2pi*50t+43.7\u00b0)-17.99e^(-300t) A\n",
+        "Power delivered = 2138.7 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 200
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.11, Page No. 304"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Current and voltage ratings\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 415               # 3-phase input voltage\n",
+      "f = 50                # frequency\n",
+      "P = 20*10**3          # output power\n",
+      "sf = 1.5              # safety factor\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Il = P/(math.sqrt(3)*V)\n",
+      "Irms = Il*sf\n",
+      "Irms = math.floor(Irms*100)/100\n",
+      "Vrms = V*sf\n",
+      "#(b)\n",
+      "Irms_thyristor = Il*sf/math.sqrt(2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\n Line Current = %.2f A\\n RMS rating of each triac = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms,Vrms))\n",
+      "print(\"\\n(b)\\n Line Current = %.2f A\\n RMS rating of each thyristor = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms_thyristor,Vrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        " Line Current = 27.82 A\n",
+        " RMS rating of each triac = 41.73 A\n",
+        " rms voltage rating = 622.5 V\n",
+        "\n",
+        "(b)\n",
+        " Line Current = 27.82 A\n",
+        " RMS rating of each thyristor = 29.51 A\n",
+        " rms voltage rating = 622.5 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.12, Page No.305"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output parameters of 3-phase AC regulator\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 415               # 3-phase input voltage\n",
+      "R = 15                # load resistance per phase\n",
+      "alfa = 30             # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vrms = V/math.sqrt(3)\n",
+      "Vl = math.sqrt(3)*(math.sqrt(2)*Vrms)*math.sqrt(((math.pi/6)-((alfa*math.pi)/(180*4))+(math.sin(2*alfa*math.pi/180)/8))/(math.pi))\n",
+      "Vl = math.floor(Vl*10)/10\n",
+      "#(b)\n",
+      "P = (3*Vl**2)/R\n",
+      "#(c)\n",
+      "Il = Vl/R\n",
+      "#(d)\n",
+      "VA = 3*Vrms*Il\n",
+      "ipf = P/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) rms value of input phase voltage = %.1f V\\n    Vl = %.1f V\"%(Vrms,Vl))\n",
+      "print(\"\\n(b) Output power = %.1f W or %.4f kW\\n\\n(c) Line Current = %.2fA\\n\\n(d) input p.f. = %.3f lagging\"%(P,P/1000,Il,ipf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) rms value of input phase voltage = 239.6 V\n",
+        "    Vl = 234.3 V\n",
+        "\n",
+        "(b) Output power = 10979.3 W or 10.9793 kW\n",
+        "\n",
+        "(c) Line Current = 15.62A\n",
+        "\n",
+        "(d) input p.f. = 0.978 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 88
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.13, Page No. 305"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output parameters of 3-phase AC regulator\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 415               # 3-phase input voltage\n",
+      "R = 15                # load resistance per phase\n",
+      "alfa = 60             # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vrms = V/math.sqrt(3)\n",
+      "#Vrms = math.floor(Vrms*10)/10\n",
+      "Vl = math.sqrt(3)*(1.414*Vrms)*math.sqrt(((3.141/6)-((alfa*3.141)/(180*4))+(math.sin(2*alfa*3.141/180)/8))/(math.pi))\n",
+      "#pi value = 3.141 to match the answer in the book\n",
+      "Vl = math.floor(Vl*100)/100\n",
+      "#(b)\n",
+      "P = (3*Vl**2)/R\n",
+      "#(c)\n",
+      "Il = Vl/R\n",
+      "#(d)\n",
+      "VA = 3*Vrms*Il\n",
+      "ipf = P/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) rms value of input phase voltage = %f V\\n    Vl = %f V\"%(Vrms,Vl))\n",
+      "print(\"\\n(b) Output power = %.2f W or %.5f kW\\n\\n(c) Line Current = %.3fA\\n\\n(d) input p.f. = %.2f lagging\"%(P,P/1000,Il,ipf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) rms value of input phase voltage = 239.600362 V\n",
+        "    Vl = 201.390000 V\n",
+        "\n",
+        "(b) Output power = 8111.59 W or 8.11159 kW\n",
+        "\n",
+        "(c) Line Current = 13.426A\n",
+        "\n",
+        "(d) input p.f. = 0.84 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 109
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_6_2.ipynb b/Power_Electronics/Power_electronics_ch_6_2.ipynb
new file mode 100755
index 00000000..9456765e
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_6_2.ipynb
@@ -0,0 +1,852 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6: AC Regulators"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.1, Page No.286"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input/output power, input power factor, average and rms vales of thyristor\n",
+      "\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "nc = 36.0              # conduction cycles\n",
+      "no = 64.0              # off cycles\n",
+      "V = 150.0              # input voltage\n",
+      "Rl = 8.0               # load resistance\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "alfa = nc/(nc+no)\n",
+      "Vl = V*math.sqrt(alfa)\n",
+      "#(b)\n",
+      "P = (Vl**2)/Rl\n",
+      "#(d)\n",
+      "Il = Vl/Rl\n",
+      "va_i = V*Il\n",
+      "pf_i = P/va_i\n",
+      "#(e)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Ip = sqrt_2*V/Rl\n",
+      "\n",
+      "def f(x):\n",
+      "    return (alfa/(2*math.pi))*Ip*(math.sin(x))\n",
+      "wt_lower=0\n",
+      "wt_upper =math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "\n",
+      "val2 =Ip*math.sqrt(alfa)/2.0\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) rms output voltage, Vl = %.0f V\\n(b) Power output = %.1f W\"%(Vl,P))\n",
+      "print(\"(c) Since losses are neglected, input power = Output power = %.1f W\"%(P))\n",
+      "print(\"(d) input power factor = %.1f lagging\\n(e)\\tPeak thyristor current = %.4f A \"%(pf_i,Ip))\n",
+      "print(\"\\tAverage thyristor current = %.3f A\\n\\tRMS thyristor current = %.2f A\"%(val[0],val2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) rms output voltage, Vl = 90 V\n",
+        "(b) Power output = 1012.5 W\n",
+        "(c) Since losses are neglected, input power = Output power = 1012.5 W\n",
+        "(d) input power factor = 0.6 lagging\n",
+        "(e)\tPeak thyristor current = 26.5125 A \n",
+        "\tAverage thyristor current = 3.038 A\n",
+        "\tRMS thyristor current = 7.95 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.2, Page No.288"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase half wave regulator parameter\n",
+      "\n",
+      "import math\n",
+      "#vaariable declaration\n",
+      "V = 150.0                   # input voltage\n",
+      "Rl = 8.0                    # load resistance\n",
+      "theta = 60.0                # thyristor firing angle in degrees\n",
+      "\n",
+      "# Calculations\n",
+      "Vm =math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vo = Vm*(math.cos(theta*math.pi/180)-1)/(2*math.pi)\n",
+      "#(b)\n",
+      "Vl = Vm*math.sqrt(((2*math.pi)-(theta*math.pi/180)+(math.sin(2*theta*math.pi/180)/2))/(4*math.pi))\n",
+      "Vl = math.ceil(Vl*100)/100\n",
+      "#(c)\n",
+      "Po = (Vl**2)/Rl\n",
+      "#(d)\n",
+      "I = Vl/Rl\n",
+      "va = V*I\n",
+      "pf = Po/va\n",
+      "#(e)\n",
+      "Iavg = Vo/Rl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average output voltage = %.1f V\\n This is negative because only a part of positive half cycle appears at the output\"%Vo)\n",
+      "print(\" whereas the whole negative cycle appears at the output.\")\n",
+      "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.2f lagging\"%(Vl,Po,pf))\n",
+      "print(\"\\n(e) Average input current = Average output current = %.2f A \"%(Iavg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average output voltage = -16.9 V\n",
+        " This is negative because only a part of positive half cycle appears at the output\n",
+        " whereas the whole negative cycle appears at the output.\n",
+        "\n",
+        "(b) Vl = 142.46 V\n",
+        "\n",
+        "(c) Power output = 2536.86 W\n",
+        "\n",
+        "(d) Input pf = 0.95 lagging\n",
+        "\n",
+        "(e) Average input current = Average output current = -2.11 A \n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.3, Page No.293"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave regulator parameters\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "V = 150.0                   # input voltage\n",
+      "Rl = 8.0                    # load resistance\n",
+      "theta = 60.0                # thyristor firing angle in degrees\n",
+      "\n",
+      "#calculations\n",
+      "Vm =math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vav = Vm*(math.cos(theta*math.pi/180)+1)/(math.pi)\n",
+      "#(b)\n",
+      "Vl = Vm*math.sqrt(((3.14)-(3.14/3)+(math.sin(2*theta*3.14/180)/2))/(2*3.141))\n",
+      "Vl = math.ceil(Vl*100)/100\n",
+      "#(c)\n",
+      "Io = Vl/Rl\n",
+      "Po = (Io**2)*Rl\n",
+      "#(d)\n",
+      "va = V*Io\n",
+      "pf = Po/va\n",
+      "#(e)\n",
+      "def f(x):\n",
+      "    return math.sin(x)\n",
+      "wt_lower = math.pi/3 \n",
+      "wt_upper = math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "Iavg = val[0]*Vm/(2*math.pi*Rl)\n",
+      "\n",
+      "def g(x):\n",
+      "    return math.sin(x)**2\n",
+      "wt_lower1 = math.pi/3\n",
+      "wt_upper1 = math.pi\n",
+      "val1 = quad(g,wt_lower1,wt_upper1)\n",
+      "Irms = (Vm/(Rl))*math.sqrt(val1[0]/(math.pi*2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average output voltage = %.2f V\\n \"%Vav)\n",
+      "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.3f lagging\"%(Vl,Po,pf))\n",
+      "print(\"\\n(e) Average thyristor current= %.2f A\\n    RMS thyristor current = %.2f A \"%(Iavg,Irms))\n",
+      "\n",
+      "#(b) For Vl calculation, value of pi is used different at different place. if math.pi is used then Vl = 134.53V\n",
+      "#(c) answer in the book is misprinted"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average output voltage = 101.27 V\n",
+        " \n",
+        "\n",
+        "(b) Vl = 134.52 V\n",
+        "\n",
+        "(c) Power output = 2261.95 W\n",
+        "\n",
+        "(d) Input pf = 0.897 lagging\n",
+        "\n",
+        "(e) Average thyristor current= 6.33 A\n",
+        "    RMS thyristor current = 11.89 A \n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.4, Page No. 294"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#  Single phase full wave ac voltage regulator\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "V = 120.0                   # input voltage\n",
+      "Rl = 10.0                   # load resistance\n",
+      "alfa = 90.0                 # thyristor firing angle in degrees\n",
+      "\n",
+      "#Calculations\n",
+      "Vm =math.sqrt(2)*V\n",
+      "#Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+      "#Vo = 60*math.sqrt(2) \n",
+      "#(b)\n",
+      "Il = Vo/Rl\n",
+      "Po = (Il**2)*Rl\n",
+      "VA = Il*V\n",
+      "pf = Po/VA\n",
+      "#(c)\n",
+      "def f(x):\n",
+      "    return math.sin(x)\n",
+      "wt_lower = math.pi/2\n",
+      "wt_upper = math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "Iav = Vm*val[0]/(2*math.pi*Rl)\n",
+      "   \n",
+      "#(d)\n",
+      "Irms = Il/math.sqrt(2)\n",
+      "#(e)\n",
+      "Irmsl = Vo/Rl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS output voltage = %f V\\n(b) Input p.f. = %.3f lagging\\n(c) Average thyristor current = %.1f A\"%(Vo,pf,Iav))\n",
+      "print(\"(d) RMS thyristor current = %.1f A\\n(e) RMS load current =%f A\"%(Irms,Irmsl))\n",
+      "# Answer for \"RMS output voltage\" and \"RMS load current\" is wrong in the book."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS output voltage = 84.852814 V\n",
+        "(b) Input p.f. = 0.707 lagging\n",
+        "(c) Average thyristor current = 2.7 A\n",
+        "(d) RMS thyristor current = 6.0 A\n",
+        "(e) RMS load current =8.485281 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.5, Page No. 294"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# rms output voltage and average power\n",
+      "\n",
+      "import math\n",
+      "R = 400.0                  # load resistance\n",
+      "V = 110.0                  # input voltage\n",
+      "alfa = 60.0                # firing angle\n",
+      "\n",
+      "# calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+      "P = (Vo**2)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS output voltage = %.2f V\\nAverage power = %.2f W\"%(Vm,P))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS output voltage = 155.54 V\n",
+        "Average power = 24.33 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 58
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.6, Page No.294 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle\n",
+      "\n",
+      "import math\n",
+      "from numpy import poly1d\n",
+      "# variable declaration\n",
+      "a1 = 0.80          # % of maximum power value1\n",
+      "a2 = 0.30          # % of maximum power value2\n",
+      "\n",
+      "#Calculation\n",
+      "#After solving equation using taylor seris of X, we got following coefficient. \n",
+      "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-a1))], variable = 'x')\n",
+      "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-math.pi*1.525)], variable = 'x')\n",
+      "# hardcoded value used to match the answer to the book\n",
+      "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+      "x2 = P2.r[(P1.order+1)/2]*180/math.pi\n",
+      "alfa1 = x1.real\n",
+      "alfa2 = x2.real\n",
+      "print(\"(a) alfa1 = %.1f\u00b0\"%(x1.real))\n",
+      "print(\"(b) alfa2 = %.1f\u00b0\"%(x2.real))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) alfa1 = 60.5\u00b0\n",
+        "(b) alfa2 = 108.6\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 98
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.7, Page No.295"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase AC regulator\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 230.0                 # Single phase supply voltage\n",
+      "f = 50.0                  # supply frequency\n",
+      "R = 15.0                  # load resistance\n",
+      "alfa = 30.0               # firing angle\n",
+      "\n",
+      "#calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "alfa = alfa*math.pi/180   #degree to radians\n",
+      "#(a)\n",
+      "#-Theoretical\n",
+      "Iavg = Vm*(1+ math.cos(alfa))/(2*math.pi*R)\n",
+      "Irms = (Vm/R)*math.sqrt(((math.pi - alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+      "#(b)\n",
+      "a1 = (Vm)*(math.cos(2*alfa)-1)/(2*math.pi)\n",
+      "b1 = (Vm)*((math.pi-alfa)+((math.sin(2*alfa))/2.0))/(math.pi)\n",
+      "Va = math.sqrt(a1**2 + b1**2)\n",
+      "Vrms = Va/sqrt_2\n",
+      "Vrms = math.floor(Vrms*1000)/1000\n",
+      "#(e)\n",
+      "P = (Vrms**2)/R\n",
+      "#(f)\n",
+      "Vl = Vm*math.sqrt((math.pi -alfa+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+      "Vl =math.floor(Vl*1000)/1000\n",
+      "#(g)\n",
+      "Pt = (Vl**2)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average thyristor current = %.2f A\\n RMS thyristor current = %.3f A\"%(Iavg,Irms))\n",
+      "print(\"\\n(b) Amplitude of fundamental component of load voltage  = %.1f V\\n RMS value = %.3f V\"%(math.floor(Va*10)/10,Vrms))\n",
+      "print(\"\\n(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\")\n",
+      "print(\" Hence max.(di/dt) is infinite\")\n",
+      "print(\"\\n(d) Maximum forward or reverse voltage across thyristor  = %.2f V \"%(Vm))#math.pi =1.414\n",
+      "print(\"\\n\\n(e) Power delevered to load by fundamental component of load voltage = %.2f W\"%P)\n",
+      "print(\"\\n\\n(f) Load voltage = %.3f V\"%Vl)\n",
+      "print(\"\\n\\n(g) Total power output = %.2f W\"%Pt)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average thyristor current = 6.44 A\n",
+        " RMS thyristor current = 10.683 A\n",
+        "\n",
+        "(b) Amplitude of fundamental component of load voltage  = 316.9 V\n",
+        " RMS value = 224.116 V\n",
+        "\n",
+        "(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\n",
+        " Hence max.(di/dt) is infinite\n",
+        "\n",
+        "(d) Maximum forward or reverse voltage across thyristor  = 325.22 V \n",
+        "\n",
+        "\n",
+        "(e) Power delevered to load by fundamental component of load voltage = 3348.53 W\n",
+        "\n",
+        "\n",
+        "(f) Load voltage = 226.625 V\n",
+        "\n",
+        "\n",
+        "(g) Total power output = 3423.93 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.8, Page No. 300"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave regulator\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 150              # input voltage\n",
+      "R = 4                # resistance of the circuit\n",
+      "L = 22*10**-3        # Inductance\n",
+      "f = 50               # frequency \n",
+      "alfa = 60            # firing angle\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "w = 2*math.pi*f\n",
+      "theta = (180/math.pi)*math.atan(w*L/R)\n",
+      "beta = 180+alfa\n",
+      "#(b)\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vm = V*math.sqrt(2)\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "Vl = Vm*math.sqrt((math.pi-((math.sin(2*beta*math.pi/180))/2)+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\ntheta = %.0f\u00b0\\nAs alfa = theta, (beta-alfa) = Conduction angle= pi\\ntherefore, Beta = %d\u00b0\"%(theta,beta))\n",
+      "print(\"\\n(b)\\n Vl = %.0f V\"%Vl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "theta = 60\u00b0\n",
+        "As alfa = theta, (beta-alfa) = Conduction angle= pi\n",
+        "therefore, Beta = 240\u00b0\n",
+        "\n",
+        "(b)\n",
+        " Vl = 150 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.9, Page No. 300"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave regulator parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230               # input voltage\n",
+      "f = 50                # frequency\n",
+      "R = 5                 # resistance of the circuit\n",
+      "L = 20*10**-3         # inductance\n",
+      "\n",
+      "#Calculations\n",
+      "w = 2*math.pi*f\n",
+      "theta = (180/math.pi)*math.atan(R/(2*math.pi*f*L))\n",
+      "theta = math.ceil(theta*100)/100\n",
+      "Il = V/math.sqrt((R**2)+((w**2)*(L**2)))\n",
+      "Il = math.floor(Il*100)/100\n",
+      "P =R*Il**2\n",
+      "ipf = (P)/(V*Il)\n",
+      "\n",
+      "#Result\n",
+      "print(\"theta = %.2f\u00b0\"%theta)\n",
+      "print(\"\\n(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is %.2f\u00b0 to 180\u00b0.\"%theta)\n",
+      "print(\"\\n(b) Conduction period of each thyristor is 180\u00b0.\")\n",
+      "print(\"\\n(c)\\n  Load current = %.2f A\\n  Power output = %.2f W\\n  Input power factor = %.3f lagging\"%(Il,P,ipf)) "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "theta = 38.52\u00b0\n",
+        "\n",
+        "(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is 38.52\u00b0 to 180\u00b0.\n",
+        "\n",
+        "(b) Conduction period of each thyristor is 180\u00b0.\n",
+        "\n",
+        "(c)\n",
+        "  Load current = 28.64 A\n",
+        "  Power output = 4101.25 W\n",
+        "  Input power factor = 0.623 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 52
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.10, Page No. 300"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Singal phase full wave regulator circuit parameters\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "R = 9                    # resistance of the circuit\n",
+      "L = 0.03                 # inductance\n",
+      "V = 240                  # input voltage\n",
+      "f = 50                   # frequency\n",
+      "alfa1 = 0                # firing angle case a\n",
+      "alfa2 = 60               # firing angle case b\n",
+      "alfa3 = 90               # firing angle case c\n",
+      "\n",
+      "#calculations\n",
+      "RbyL = R/L\n",
+      "alfa1 = 0*math.pi/180\n",
+      "alfa2 = 60*math.pi/180\n",
+      "alfa3 = 90*math.pi/180 \n",
+      "alfa4 = 13.7*math.pi/180 \n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "w = 2*math.pi*f\n",
+      "Z_mag = math.sqrt((R**2)+(w**2)*(L**2))\n",
+      "Z_angle = math.floor((math.atan(w*L/R))*1000)/1000\n",
+      "x=math.floor(math.cos(Z_angle)*10000)/10000\n",
+      "\n",
+      "#(a)\n",
+      "Il = (V*math.sqrt(2)/Z_mag)#*math.sin((w/f)-(Z_angle*math.pi/180))\n",
+      "Il = math.floor(Il*100)/100\n",
+      "P = V*Il*x/sqrt_2\n",
+      "#b\n",
+      "k1 = math.ceil((Il*math.sin(alfa2-Z_angle))*100)/100\n",
+      "def h(t):\n",
+      "    return ((V*sqrt_2*math.sin(w*t*alfa2))*((Il*math.sin((w*t)+(alfa2-Z_angle)))-(k1*math.e**(-RbyL*t))))\n",
+      "t2 = 0.00919\n",
+      "t1 = 0\n",
+      "val = quad(h,t1,t2)\n",
+      "P2 = val[0]/0.01\n",
+      "#c\n",
+      "k2 =  math.floor((Il*math.sin(alfa3-Z_angle))*100)/100\n",
+      "def g(t):\n",
+      "    return ((V*sqrt_2*math.sin(w*t*alfa3))*((Il*math.sin((w*t)+(alfa3-Z_angle)))-(k2*math.e**(-RbyL*t))))\n",
+      "t2 = 0.00733\n",
+      "t1 = 0\n",
+      "val2 = quad(g,t1,t2)\n",
+      "P3 = val2[0]/0.01\n",
+      "\n",
+      "angle1 = math.ceil((Z_angle*180/math.pi)*10)/10\n",
+      "angle2 = (alfa2-Z_angle)*180/math.pi\n",
+      "angle3 = (alfa3-Z_angle)*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nCurrent waveform--> i = %.2fsin(2pi*%dt-%.1f\u00b0) A\\nPower delivered = %.1f W\"%(Il,f,angle1,P))\n",
+      "print(\"(b)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle2,k1,RbyL,P2))\n",
+      "print(\"(c)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle3,k2,RbyL,P3))\n",
+      "#Power answer for (b) and (c) do not match with the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Current waveform--> i = 26.04sin(2pi*50t-46.3\u00b0) A\n",
+        "Power delivered = 3053.6 W\n",
+        "(b)\n",
+        "Current waveform--> i = 26.04sin(2pi*50t+13.7\u00b0)-6.17e^(-300t) A\n",
+        "Power delivered = 3885.4 W\n",
+        "(c)\n",
+        "Current waveform--> i = 26.04sin(2pi*50t+43.7\u00b0)-17.99e^(-300t) A\n",
+        "Power delivered = 2138.7 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 200
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.11, Page No. 304"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Current and voltage ratings\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 415               # 3-phase input voltage\n",
+      "f = 50                # frequency\n",
+      "P = 20*10**3          # output power\n",
+      "sf = 1.5              # safety factor\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Il = P/(math.sqrt(3)*V)\n",
+      "Irms = Il*sf\n",
+      "Irms = math.floor(Irms*100)/100\n",
+      "Vrms = V*sf\n",
+      "#(b)\n",
+      "Irms_thyristor = Il*sf/math.sqrt(2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\n Line Current = %.2f A\\n RMS rating of each triac = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms,Vrms))\n",
+      "print(\"\\n(b)\\n Line Current = %.2f A\\n RMS rating of each thyristor = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms_thyristor,Vrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        " Line Current = 27.82 A\n",
+        " RMS rating of each triac = 41.73 A\n",
+        " rms voltage rating = 622.5 V\n",
+        "\n",
+        "(b)\n",
+        " Line Current = 27.82 A\n",
+        " RMS rating of each thyristor = 29.51 A\n",
+        " rms voltage rating = 622.5 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.12, Page No.305"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output parameters of 3-phase AC regulator\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 415               # 3-phase input voltage\n",
+      "R = 15                # load resistance per phase\n",
+      "alfa = 30             # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vrms = V/math.sqrt(3)\n",
+      "Vl = math.sqrt(3)*(math.sqrt(2)*Vrms)*math.sqrt(((math.pi/6)-((alfa*math.pi)/(180*4))+(math.sin(2*alfa*math.pi/180)/8))/(math.pi))\n",
+      "Vl = math.floor(Vl*10)/10\n",
+      "#(b)\n",
+      "P = (3*Vl**2)/R\n",
+      "#(c)\n",
+      "Il = Vl/R\n",
+      "#(d)\n",
+      "VA = 3*Vrms*Il\n",
+      "ipf = P/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) rms value of input phase voltage = %.1f V\\n    Vl = %.1f V\"%(Vrms,Vl))\n",
+      "print(\"\\n(b) Output power = %.1f W or %.4f kW\\n\\n(c) Line Current = %.2fA\\n\\n(d) input p.f. = %.3f lagging\"%(P,P/1000,Il,ipf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) rms value of input phase voltage = 239.6 V\n",
+        "    Vl = 234.3 V\n",
+        "\n",
+        "(b) Output power = 10979.3 W or 10.9793 kW\n",
+        "\n",
+        "(c) Line Current = 15.62A\n",
+        "\n",
+        "(d) input p.f. = 0.978 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 88
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.13, Page No. 305"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output parameters of 3-phase AC regulator\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 415               # 3-phase input voltage\n",
+      "R = 15                # load resistance per phase\n",
+      "alfa = 60             # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vrms = V/math.sqrt(3)\n",
+      "#Vrms = math.floor(Vrms*10)/10\n",
+      "Vl = math.sqrt(3)*(1.414*Vrms)*math.sqrt(((3.141/6)-((alfa*3.141)/(180*4))+(math.sin(2*alfa*3.141/180)/8))/(math.pi))\n",
+      "#pi value = 3.141 to match the answer in the book\n",
+      "Vl = math.floor(Vl*100)/100\n",
+      "#(b)\n",
+      "P = (3*Vl**2)/R\n",
+      "#(c)\n",
+      "Il = Vl/R\n",
+      "#(d)\n",
+      "VA = 3*Vrms*Il\n",
+      "ipf = P/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) rms value of input phase voltage = %f V\\n    Vl = %f V\"%(Vrms,Vl))\n",
+      "print(\"\\n(b) Output power = %.2f W or %.5f kW\\n\\n(c) Line Current = %.3fA\\n\\n(d) input p.f. = %.2f lagging\"%(P,P/1000,Il,ipf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) rms value of input phase voltage = 239.600362 V\n",
+        "    Vl = 201.390000 V\n",
+        "\n",
+        "(b) Output power = 8111.59 W or 8.11159 kW\n",
+        "\n",
+        "(c) Line Current = 13.426A\n",
+        "\n",
+        "(d) input p.f. = 0.84 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 109
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_6_3.ipynb b/Power_Electronics/Power_electronics_ch_6_3.ipynb
new file mode 100755
index 00000000..9456765e
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_6_3.ipynb
@@ -0,0 +1,852 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6: AC Regulators"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.1, Page No.286"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input/output power, input power factor, average and rms vales of thyristor\n",
+      "\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "nc = 36.0              # conduction cycles\n",
+      "no = 64.0              # off cycles\n",
+      "V = 150.0              # input voltage\n",
+      "Rl = 8.0               # load resistance\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "alfa = nc/(nc+no)\n",
+      "Vl = V*math.sqrt(alfa)\n",
+      "#(b)\n",
+      "P = (Vl**2)/Rl\n",
+      "#(d)\n",
+      "Il = Vl/Rl\n",
+      "va_i = V*Il\n",
+      "pf_i = P/va_i\n",
+      "#(e)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Ip = sqrt_2*V/Rl\n",
+      "\n",
+      "def f(x):\n",
+      "    return (alfa/(2*math.pi))*Ip*(math.sin(x))\n",
+      "wt_lower=0\n",
+      "wt_upper =math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "\n",
+      "val2 =Ip*math.sqrt(alfa)/2.0\n",
+      "\n",
+      "#result\n",
+      "print(\"(a) rms output voltage, Vl = %.0f V\\n(b) Power output = %.1f W\"%(Vl,P))\n",
+      "print(\"(c) Since losses are neglected, input power = Output power = %.1f W\"%(P))\n",
+      "print(\"(d) input power factor = %.1f lagging\\n(e)\\tPeak thyristor current = %.4f A \"%(pf_i,Ip))\n",
+      "print(\"\\tAverage thyristor current = %.3f A\\n\\tRMS thyristor current = %.2f A\"%(val[0],val2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) rms output voltage, Vl = 90 V\n",
+        "(b) Power output = 1012.5 W\n",
+        "(c) Since losses are neglected, input power = Output power = 1012.5 W\n",
+        "(d) input power factor = 0.6 lagging\n",
+        "(e)\tPeak thyristor current = 26.5125 A \n",
+        "\tAverage thyristor current = 3.038 A\n",
+        "\tRMS thyristor current = 7.95 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.2, Page No.288"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase half wave regulator parameter\n",
+      "\n",
+      "import math\n",
+      "#vaariable declaration\n",
+      "V = 150.0                   # input voltage\n",
+      "Rl = 8.0                    # load resistance\n",
+      "theta = 60.0                # thyristor firing angle in degrees\n",
+      "\n",
+      "# Calculations\n",
+      "Vm =math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vo = Vm*(math.cos(theta*math.pi/180)-1)/(2*math.pi)\n",
+      "#(b)\n",
+      "Vl = Vm*math.sqrt(((2*math.pi)-(theta*math.pi/180)+(math.sin(2*theta*math.pi/180)/2))/(4*math.pi))\n",
+      "Vl = math.ceil(Vl*100)/100\n",
+      "#(c)\n",
+      "Po = (Vl**2)/Rl\n",
+      "#(d)\n",
+      "I = Vl/Rl\n",
+      "va = V*I\n",
+      "pf = Po/va\n",
+      "#(e)\n",
+      "Iavg = Vo/Rl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average output voltage = %.1f V\\n This is negative because only a part of positive half cycle appears at the output\"%Vo)\n",
+      "print(\" whereas the whole negative cycle appears at the output.\")\n",
+      "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.2f lagging\"%(Vl,Po,pf))\n",
+      "print(\"\\n(e) Average input current = Average output current = %.2f A \"%(Iavg))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average output voltage = -16.9 V\n",
+        " This is negative because only a part of positive half cycle appears at the output\n",
+        " whereas the whole negative cycle appears at the output.\n",
+        "\n",
+        "(b) Vl = 142.46 V\n",
+        "\n",
+        "(c) Power output = 2536.86 W\n",
+        "\n",
+        "(d) Input pf = 0.95 lagging\n",
+        "\n",
+        "(e) Average input current = Average output current = -2.11 A \n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.3, Page No.293"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave regulator parameters\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "V = 150.0                   # input voltage\n",
+      "Rl = 8.0                    # load resistance\n",
+      "theta = 60.0                # thyristor firing angle in degrees\n",
+      "\n",
+      "#calculations\n",
+      "Vm =math.sqrt(2)*V\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vav = Vm*(math.cos(theta*math.pi/180)+1)/(math.pi)\n",
+      "#(b)\n",
+      "Vl = Vm*math.sqrt(((3.14)-(3.14/3)+(math.sin(2*theta*3.14/180)/2))/(2*3.141))\n",
+      "Vl = math.ceil(Vl*100)/100\n",
+      "#(c)\n",
+      "Io = Vl/Rl\n",
+      "Po = (Io**2)*Rl\n",
+      "#(d)\n",
+      "va = V*Io\n",
+      "pf = Po/va\n",
+      "#(e)\n",
+      "def f(x):\n",
+      "    return math.sin(x)\n",
+      "wt_lower = math.pi/3 \n",
+      "wt_upper = math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "Iavg = val[0]*Vm/(2*math.pi*Rl)\n",
+      "\n",
+      "def g(x):\n",
+      "    return math.sin(x)**2\n",
+      "wt_lower1 = math.pi/3\n",
+      "wt_upper1 = math.pi\n",
+      "val1 = quad(g,wt_lower1,wt_upper1)\n",
+      "Irms = (Vm/(Rl))*math.sqrt(val1[0]/(math.pi*2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average output voltage = %.2f V\\n \"%Vav)\n",
+      "print(\"\\n(b) Vl = %.2f V\\n\\n(c) Power output = %.2f W\\n\\n(d) Input pf = %.3f lagging\"%(Vl,Po,pf))\n",
+      "print(\"\\n(e) Average thyristor current= %.2f A\\n    RMS thyristor current = %.2f A \"%(Iavg,Irms))\n",
+      "\n",
+      "#(b) For Vl calculation, value of pi is used different at different place. if math.pi is used then Vl = 134.53V\n",
+      "#(c) answer in the book is misprinted"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average output voltage = 101.27 V\n",
+        " \n",
+        "\n",
+        "(b) Vl = 134.52 V\n",
+        "\n",
+        "(c) Power output = 2261.95 W\n",
+        "\n",
+        "(d) Input pf = 0.897 lagging\n",
+        "\n",
+        "(e) Average thyristor current= 6.33 A\n",
+        "    RMS thyristor current = 11.89 A \n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.4, Page No. 294"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#  Single phase full wave ac voltage regulator\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#variable declaration\n",
+      "V = 120.0                   # input voltage\n",
+      "Rl = 10.0                   # load resistance\n",
+      "alfa = 90.0                 # thyristor firing angle in degrees\n",
+      "\n",
+      "#Calculations\n",
+      "Vm =math.sqrt(2)*V\n",
+      "#Vm = math.floor(Vm*10)/10\n",
+      "#(a)\n",
+      "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+      "#Vo = 60*math.sqrt(2) \n",
+      "#(b)\n",
+      "Il = Vo/Rl\n",
+      "Po = (Il**2)*Rl\n",
+      "VA = Il*V\n",
+      "pf = Po/VA\n",
+      "#(c)\n",
+      "def f(x):\n",
+      "    return math.sin(x)\n",
+      "wt_lower = math.pi/2\n",
+      "wt_upper = math.pi\n",
+      "val = quad(f,wt_lower,wt_upper)\n",
+      "Iav = Vm*val[0]/(2*math.pi*Rl)\n",
+      "   \n",
+      "#(d)\n",
+      "Irms = Il/math.sqrt(2)\n",
+      "#(e)\n",
+      "Irmsl = Vo/Rl\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS output voltage = %f V\\n(b) Input p.f. = %.3f lagging\\n(c) Average thyristor current = %.1f A\"%(Vo,pf,Iav))\n",
+      "print(\"(d) RMS thyristor current = %.1f A\\n(e) RMS load current =%f A\"%(Irms,Irmsl))\n",
+      "# Answer for \"RMS output voltage\" and \"RMS load current\" is wrong in the book."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS output voltage = 84.852814 V\n",
+        "(b) Input p.f. = 0.707 lagging\n",
+        "(c) Average thyristor current = 2.7 A\n",
+        "(d) RMS thyristor current = 6.0 A\n",
+        "(e) RMS load current =8.485281 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.5, Page No. 294"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# rms output voltage and average power\n",
+      "\n",
+      "import math\n",
+      "R = 400.0                  # load resistance\n",
+      "V = 110.0                  # input voltage\n",
+      "alfa = 60.0                # firing angle\n",
+      "\n",
+      "# calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = sqrt_2*V\n",
+      "Vo = Vm*math.sqrt(((math.pi)-(alfa*math.pi/180)+(math.sin(2*alfa*math.pi/180)/2.0))/(2*math.pi))\n",
+      "P = (Vo**2)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS output voltage = %.2f V\\nAverage power = %.2f W\"%(Vm,P))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS output voltage = 155.54 V\n",
+        "Average power = 24.33 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 58
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.6, Page No.294 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle\n",
+      "\n",
+      "import math\n",
+      "from numpy import poly1d\n",
+      "# variable declaration\n",
+      "a1 = 0.80          # % of maximum power value1\n",
+      "a2 = 0.30          # % of maximum power value2\n",
+      "\n",
+      "#Calculation\n",
+      "#After solving equation using taylor seris of X, we got following coefficient. \n",
+      "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-a1))], variable = 'x')\n",
+      "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-math.pi*1.525)], variable = 'x')\n",
+      "# hardcoded value used to match the answer to the book\n",
+      "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+      "x2 = P2.r[(P1.order+1)/2]*180/math.pi\n",
+      "alfa1 = x1.real\n",
+      "alfa2 = x2.real\n",
+      "print(\"(a) alfa1 = %.1f\u00b0\"%(x1.real))\n",
+      "print(\"(b) alfa2 = %.1f\u00b0\"%(x2.real))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) alfa1 = 60.5\u00b0\n",
+        "(b) alfa2 = 108.6\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 98
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.7, Page No.295"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# single phase AC regulator\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 230.0                 # Single phase supply voltage\n",
+      "f = 50.0                  # supply frequency\n",
+      "R = 15.0                  # load resistance\n",
+      "alfa = 30.0               # firing angle\n",
+      "\n",
+      "#calculations\n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "alfa = alfa*math.pi/180   #degree to radians\n",
+      "#(a)\n",
+      "#-Theoretical\n",
+      "Iavg = Vm*(1+ math.cos(alfa))/(2*math.pi*R)\n",
+      "Irms = (Vm/R)*math.sqrt(((math.pi - alfa)/(4*math.pi))+(math.sin(2*alfa)/(8*math.pi)))\n",
+      "#(b)\n",
+      "a1 = (Vm)*(math.cos(2*alfa)-1)/(2*math.pi)\n",
+      "b1 = (Vm)*((math.pi-alfa)+((math.sin(2*alfa))/2.0))/(math.pi)\n",
+      "Va = math.sqrt(a1**2 + b1**2)\n",
+      "Vrms = Va/sqrt_2\n",
+      "Vrms = math.floor(Vrms*1000)/1000\n",
+      "#(e)\n",
+      "P = (Vrms**2)/R\n",
+      "#(f)\n",
+      "Vl = Vm*math.sqrt((math.pi -alfa+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+      "Vl =math.floor(Vl*1000)/1000\n",
+      "#(g)\n",
+      "Pt = (Vl**2)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average thyristor current = %.2f A\\n RMS thyristor current = %.3f A\"%(Iavg,Irms))\n",
+      "print(\"\\n(b) Amplitude of fundamental component of load voltage  = %.1f V\\n RMS value = %.3f V\"%(math.floor(Va*10)/10,Vrms))\n",
+      "print(\"\\n(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\")\n",
+      "print(\" Hence max.(di/dt) is infinite\")\n",
+      "print(\"\\n(d) Maximum forward or reverse voltage across thyristor  = %.2f V \"%(Vm))#math.pi =1.414\n",
+      "print(\"\\n\\n(e) Power delevered to load by fundamental component of load voltage = %.2f W\"%P)\n",
+      "print(\"\\n\\n(f) Load voltage = %.3f V\"%Vl)\n",
+      "print(\"\\n\\n(g) Total power output = %.2f W\"%Pt)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average thyristor current = 6.44 A\n",
+        " RMS thyristor current = 10.683 A\n",
+        "\n",
+        "(b) Amplitude of fundamental component of load voltage  = 316.9 V\n",
+        " RMS value = 224.116 V\n",
+        "\n",
+        "(c) Since load is purely resistive, the load current rises from 0 to peak value instantaneously at alfa.\n",
+        " Hence max.(di/dt) is infinite\n",
+        "\n",
+        "(d) Maximum forward or reverse voltage across thyristor  = 325.22 V \n",
+        "\n",
+        "\n",
+        "(e) Power delevered to load by fundamental component of load voltage = 3348.53 W\n",
+        "\n",
+        "\n",
+        "(f) Load voltage = 226.625 V\n",
+        "\n",
+        "\n",
+        "(g) Total power output = 3423.93 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.8, Page No. 300"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave regulator\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 150              # input voltage\n",
+      "R = 4                # resistance of the circuit\n",
+      "L = 22*10**-3        # Inductance\n",
+      "f = 50               # frequency \n",
+      "alfa = 60            # firing angle\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "w = 2*math.pi*f\n",
+      "theta = (180/math.pi)*math.atan(w*L/R)\n",
+      "beta = 180+alfa\n",
+      "#(b)\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vm = V*math.sqrt(2)\n",
+      "Vm = math.floor(Vm*10)/10\n",
+      "Vl = Vm*math.sqrt((math.pi-((math.sin(2*beta*math.pi/180))/2)+((math.sin(2*alfa))/2.0))/(2*math.pi))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\ntheta = %.0f\u00b0\\nAs alfa = theta, (beta-alfa) = Conduction angle= pi\\ntherefore, Beta = %d\u00b0\"%(theta,beta))\n",
+      "print(\"\\n(b)\\n Vl = %.0f V\"%Vl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "theta = 60\u00b0\n",
+        "As alfa = theta, (beta-alfa) = Conduction angle= pi\n",
+        "therefore, Beta = 240\u00b0\n",
+        "\n",
+        "(b)\n",
+        " Vl = 150 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.9, Page No. 300"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Single phase full wave regulator parameters\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230               # input voltage\n",
+      "f = 50                # frequency\n",
+      "R = 5                 # resistance of the circuit\n",
+      "L = 20*10**-3         # inductance\n",
+      "\n",
+      "#Calculations\n",
+      "w = 2*math.pi*f\n",
+      "theta = (180/math.pi)*math.atan(R/(2*math.pi*f*L))\n",
+      "theta = math.ceil(theta*100)/100\n",
+      "Il = V/math.sqrt((R**2)+((w**2)*(L**2)))\n",
+      "Il = math.floor(Il*100)/100\n",
+      "P =R*Il**2\n",
+      "ipf = (P)/(V*Il)\n",
+      "\n",
+      "#Result\n",
+      "print(\"theta = %.2f\u00b0\"%theta)\n",
+      "print(\"\\n(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is %.2f\u00b0 to 180\u00b0.\"%theta)\n",
+      "print(\"\\n(b) Conduction period of each thyristor is 180\u00b0.\")\n",
+      "print(\"\\n(c)\\n  Load current = %.2f A\\n  Power output = %.2f W\\n  Input power factor = %.3f lagging\"%(Il,P,ipf)) "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "theta = 38.52\u00b0\n",
+        "\n",
+        "(a) The minimum value of firing angle(alfa) is theta. Therefore, range of firing angle is 38.52\u00b0 to 180\u00b0.\n",
+        "\n",
+        "(b) Conduction period of each thyristor is 180\u00b0.\n",
+        "\n",
+        "(c)\n",
+        "  Load current = 28.64 A\n",
+        "  Power output = 4101.25 W\n",
+        "  Input power factor = 0.623 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 52
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.10, Page No. 300"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Singal phase full wave regulator circuit parameters\n",
+      "\n",
+      "import math\n",
+      "from scipy.integrate import quad\n",
+      "#Variable declaration\n",
+      "R = 9                    # resistance of the circuit\n",
+      "L = 0.03                 # inductance\n",
+      "V = 240                  # input voltage\n",
+      "f = 50                   # frequency\n",
+      "alfa1 = 0                # firing angle case a\n",
+      "alfa2 = 60               # firing angle case b\n",
+      "alfa3 = 90               # firing angle case c\n",
+      "\n",
+      "#calculations\n",
+      "RbyL = R/L\n",
+      "alfa1 = 0*math.pi/180\n",
+      "alfa2 = 60*math.pi/180\n",
+      "alfa3 = 90*math.pi/180 \n",
+      "alfa4 = 13.7*math.pi/180 \n",
+      "sqrt_2 =math.floor(math.sqrt(2)*1000)/1000\n",
+      "w = 2*math.pi*f\n",
+      "Z_mag = math.sqrt((R**2)+(w**2)*(L**2))\n",
+      "Z_angle = math.floor((math.atan(w*L/R))*1000)/1000\n",
+      "x=math.floor(math.cos(Z_angle)*10000)/10000\n",
+      "\n",
+      "#(a)\n",
+      "Il = (V*math.sqrt(2)/Z_mag)#*math.sin((w/f)-(Z_angle*math.pi/180))\n",
+      "Il = math.floor(Il*100)/100\n",
+      "P = V*Il*x/sqrt_2\n",
+      "#b\n",
+      "k1 = math.ceil((Il*math.sin(alfa2-Z_angle))*100)/100\n",
+      "def h(t):\n",
+      "    return ((V*sqrt_2*math.sin(w*t*alfa2))*((Il*math.sin((w*t)+(alfa2-Z_angle)))-(k1*math.e**(-RbyL*t))))\n",
+      "t2 = 0.00919\n",
+      "t1 = 0\n",
+      "val = quad(h,t1,t2)\n",
+      "P2 = val[0]/0.01\n",
+      "#c\n",
+      "k2 =  math.floor((Il*math.sin(alfa3-Z_angle))*100)/100\n",
+      "def g(t):\n",
+      "    return ((V*sqrt_2*math.sin(w*t*alfa3))*((Il*math.sin((w*t)+(alfa3-Z_angle)))-(k2*math.e**(-RbyL*t))))\n",
+      "t2 = 0.00733\n",
+      "t1 = 0\n",
+      "val2 = quad(g,t1,t2)\n",
+      "P3 = val2[0]/0.01\n",
+      "\n",
+      "angle1 = math.ceil((Z_angle*180/math.pi)*10)/10\n",
+      "angle2 = (alfa2-Z_angle)*180/math.pi\n",
+      "angle3 = (alfa3-Z_angle)*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nCurrent waveform--> i = %.2fsin(2pi*%dt-%.1f\u00b0) A\\nPower delivered = %.1f W\"%(Il,f,angle1,P))\n",
+      "print(\"(b)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle2,k1,RbyL,P2))\n",
+      "print(\"(c)\\nCurrent waveform--> i = %.2fsin(2pi*%dt+%.1f\u00b0)-%.2fe^(-%dt) A\\nPower delivered = %.1f W\"%(Il,f,angle3,k2,RbyL,P3))\n",
+      "#Power answer for (b) and (c) do not match with the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Current waveform--> i = 26.04sin(2pi*50t-46.3\u00b0) A\n",
+        "Power delivered = 3053.6 W\n",
+        "(b)\n",
+        "Current waveform--> i = 26.04sin(2pi*50t+13.7\u00b0)-6.17e^(-300t) A\n",
+        "Power delivered = 3885.4 W\n",
+        "(c)\n",
+        "Current waveform--> i = 26.04sin(2pi*50t+43.7\u00b0)-17.99e^(-300t) A\n",
+        "Power delivered = 2138.7 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 200
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.11, Page No. 304"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Current and voltage ratings\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 415               # 3-phase input voltage\n",
+      "f = 50                # frequency\n",
+      "P = 20*10**3          # output power\n",
+      "sf = 1.5              # safety factor\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Il = P/(math.sqrt(3)*V)\n",
+      "Irms = Il*sf\n",
+      "Irms = math.floor(Irms*100)/100\n",
+      "Vrms = V*sf\n",
+      "#(b)\n",
+      "Irms_thyristor = Il*sf/math.sqrt(2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\n Line Current = %.2f A\\n RMS rating of each triac = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms,Vrms))\n",
+      "print(\"\\n(b)\\n Line Current = %.2f A\\n RMS rating of each thyristor = %.2f A\\n rms voltage rating = %.1f V\"%(Il,Irms_thyristor,Vrms))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        " Line Current = 27.82 A\n",
+        " RMS rating of each triac = 41.73 A\n",
+        " rms voltage rating = 622.5 V\n",
+        "\n",
+        "(b)\n",
+        " Line Current = 27.82 A\n",
+        " RMS rating of each thyristor = 29.51 A\n",
+        " rms voltage rating = 622.5 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.12, Page No.305"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output parameters of 3-phase AC regulator\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 415               # 3-phase input voltage\n",
+      "R = 15                # load resistance per phase\n",
+      "alfa = 30             # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vrms = V/math.sqrt(3)\n",
+      "Vl = math.sqrt(3)*(math.sqrt(2)*Vrms)*math.sqrt(((math.pi/6)-((alfa*math.pi)/(180*4))+(math.sin(2*alfa*math.pi/180)/8))/(math.pi))\n",
+      "Vl = math.floor(Vl*10)/10\n",
+      "#(b)\n",
+      "P = (3*Vl**2)/R\n",
+      "#(c)\n",
+      "Il = Vl/R\n",
+      "#(d)\n",
+      "VA = 3*Vrms*Il\n",
+      "ipf = P/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) rms value of input phase voltage = %.1f V\\n    Vl = %.1f V\"%(Vrms,Vl))\n",
+      "print(\"\\n(b) Output power = %.1f W or %.4f kW\\n\\n(c) Line Current = %.2fA\\n\\n(d) input p.f. = %.3f lagging\"%(P,P/1000,Il,ipf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) rms value of input phase voltage = 239.6 V\n",
+        "    Vl = 234.3 V\n",
+        "\n",
+        "(b) Output power = 10979.3 W or 10.9793 kW\n",
+        "\n",
+        "(c) Line Current = 15.62A\n",
+        "\n",
+        "(d) input p.f. = 0.978 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 88
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 6.13, Page No. 305"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# output parameters of 3-phase AC regulator\n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "V = 415               # 3-phase input voltage\n",
+      "R = 15                # load resistance per phase\n",
+      "alfa = 60             # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "Vrms = V/math.sqrt(3)\n",
+      "#Vrms = math.floor(Vrms*10)/10\n",
+      "Vl = math.sqrt(3)*(1.414*Vrms)*math.sqrt(((3.141/6)-((alfa*3.141)/(180*4))+(math.sin(2*alfa*3.141/180)/8))/(math.pi))\n",
+      "#pi value = 3.141 to match the answer in the book\n",
+      "Vl = math.floor(Vl*100)/100\n",
+      "#(b)\n",
+      "P = (3*Vl**2)/R\n",
+      "#(c)\n",
+      "Il = Vl/R\n",
+      "#(d)\n",
+      "VA = 3*Vrms*Il\n",
+      "ipf = P/VA\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) rms value of input phase voltage = %f V\\n    Vl = %f V\"%(Vrms,Vl))\n",
+      "print(\"\\n(b) Output power = %.2f W or %.5f kW\\n\\n(c) Line Current = %.3fA\\n\\n(d) input p.f. = %.2f lagging\"%(P,P/1000,Il,ipf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) rms value of input phase voltage = 239.600362 V\n",
+        "    Vl = 201.390000 V\n",
+        "\n",
+        "(b) Output power = 8111.59 W or 8.11159 kW\n",
+        "\n",
+        "(c) Line Current = 13.426A\n",
+        "\n",
+        "(d) input p.f. = 0.84 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 109
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_7_1.ipynb b/Power_Electronics/Power_electronics_ch_7_1.ipynb
new file mode 100755
index 00000000..7288e1e0
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_7_1.ipynb
@@ -0,0 +1,204 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7 : Cycloconverters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.1, Page No.319"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input voltage, SCR ratings and input power factors\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 250                # single phase supply voltage \n",
+      "I = 50                 # supply current\n",
+      "pf = 0.8               # lagging power factor\n",
+      "alfa = 0               # ideal SCR\n",
+      "\n",
+      "#calculations\n",
+      "x = math.sqrt(2)\n",
+      "x = math.floor(x*1000)/1000\n",
+      "Vm = (V*math.pi*x)/(3*math.sin(math.pi/3))\n",
+      "Vrms = Vm/math.sqrt(2)\n",
+      "Irms = I*math.sqrt(2)/math.sqrt(3)\n",
+      "y = math.sqrt(3)\n",
+      "y = math.floor(y*1000)/1000\n",
+      "piv = y*Vm\n",
+      "piv = math.floor(piv*100)/100\n",
+      "Ii = math.sqrt((I**2)/3)\n",
+      "pipp = V*I*pf/3.0\n",
+      "pf_i = pipp/(Vrms*Ii)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vm = %f V\\nrms current rating of thyristor = %.1f A\\nPIV = %.2fV\\nRMS value of input current = %.1f A\"%(Vm,math.ceil(Irms),piv,Ii))\n",
+      "print(\"Power input per phase = %.2f W\\nInput power factor = %.3f lagging.\"%(pipp,pf_i))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vm = 427.452050 V\n",
+        "rms current rating of thyristor = 41.0 A\n",
+        "PIV = 740.34V\n",
+        "RMS value of input current = 28.9 A\n",
+        "Power input per phase = 3333.33 W\n",
+        "Input power factor = 0.382 lagging.\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.2, Page No. 320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#output voltage(referring ex 7.1)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 250                # single phase supply voltage \n",
+      "theta1 = 30            # firing angle 1\n",
+      "theta2 = 45            # firing angle 2\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "v1 = V*math.cos(theta1*math.pi/180)\n",
+      "#(b)\n",
+      "v2 = V*math.cos(theta2*math.pi/180)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS value of output voltage = %.1f V\"%v1)\n",
+      "print(\"(b) RMS value of output voltage = %.2f V\"%v2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS value of output voltage = 216.5 V\n",
+        "(b) RMS value of output voltage = 176.78 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.3, Page No.320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Output voltage for different firing angle\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vrms = 230               # input voltage\n",
+      "theta1 = 0               # firing angle 1\n",
+      "theta2 = 30              # firing angle 2\n",
+      "\n",
+      "#calculation\n",
+      "#(a)\n",
+      "v1 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta1*math.pi/180)/(math.pi*math.sqrt(2))\n",
+      "#(b)\n",
+      "v2 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta2*math.pi/180)/(math.pi*math.sqrt(2))\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vo = %.2f V\\n(b) Vo = %.1f V\"%(v1,v2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vo = 219.63 V\n",
+        "(b) Vo = 190.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.4, Page No.320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# supply voltage\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vo = 200                   # output voltage\n",
+      "\n",
+      "#Calculation\n",
+      "Vi = Vo*(math.pi/3)/math.sin(math.pi/3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS value of input voltage = %.2f V \"%Vi)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS value of input voltage = 241.84 V \n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_7_2.ipynb b/Power_Electronics/Power_electronics_ch_7_2.ipynb
new file mode 100755
index 00000000..7288e1e0
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_7_2.ipynb
@@ -0,0 +1,204 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7 : Cycloconverters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.1, Page No.319"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input voltage, SCR ratings and input power factors\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 250                # single phase supply voltage \n",
+      "I = 50                 # supply current\n",
+      "pf = 0.8               # lagging power factor\n",
+      "alfa = 0               # ideal SCR\n",
+      "\n",
+      "#calculations\n",
+      "x = math.sqrt(2)\n",
+      "x = math.floor(x*1000)/1000\n",
+      "Vm = (V*math.pi*x)/(3*math.sin(math.pi/3))\n",
+      "Vrms = Vm/math.sqrt(2)\n",
+      "Irms = I*math.sqrt(2)/math.sqrt(3)\n",
+      "y = math.sqrt(3)\n",
+      "y = math.floor(y*1000)/1000\n",
+      "piv = y*Vm\n",
+      "piv = math.floor(piv*100)/100\n",
+      "Ii = math.sqrt((I**2)/3)\n",
+      "pipp = V*I*pf/3.0\n",
+      "pf_i = pipp/(Vrms*Ii)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vm = %f V\\nrms current rating of thyristor = %.1f A\\nPIV = %.2fV\\nRMS value of input current = %.1f A\"%(Vm,math.ceil(Irms),piv,Ii))\n",
+      "print(\"Power input per phase = %.2f W\\nInput power factor = %.3f lagging.\"%(pipp,pf_i))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vm = 427.452050 V\n",
+        "rms current rating of thyristor = 41.0 A\n",
+        "PIV = 740.34V\n",
+        "RMS value of input current = 28.9 A\n",
+        "Power input per phase = 3333.33 W\n",
+        "Input power factor = 0.382 lagging.\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.2, Page No. 320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#output voltage(referring ex 7.1)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 250                # single phase supply voltage \n",
+      "theta1 = 30            # firing angle 1\n",
+      "theta2 = 45            # firing angle 2\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "v1 = V*math.cos(theta1*math.pi/180)\n",
+      "#(b)\n",
+      "v2 = V*math.cos(theta2*math.pi/180)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS value of output voltage = %.1f V\"%v1)\n",
+      "print(\"(b) RMS value of output voltage = %.2f V\"%v2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS value of output voltage = 216.5 V\n",
+        "(b) RMS value of output voltage = 176.78 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.3, Page No.320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Output voltage for different firing angle\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vrms = 230               # input voltage\n",
+      "theta1 = 0               # firing angle 1\n",
+      "theta2 = 30              # firing angle 2\n",
+      "\n",
+      "#calculation\n",
+      "#(a)\n",
+      "v1 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta1*math.pi/180)/(math.pi*math.sqrt(2))\n",
+      "#(b)\n",
+      "v2 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta2*math.pi/180)/(math.pi*math.sqrt(2))\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vo = %.2f V\\n(b) Vo = %.1f V\"%(v1,v2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vo = 219.63 V\n",
+        "(b) Vo = 190.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.4, Page No.320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# supply voltage\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vo = 200                   # output voltage\n",
+      "\n",
+      "#Calculation\n",
+      "Vi = Vo*(math.pi/3)/math.sin(math.pi/3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS value of input voltage = %.2f V \"%Vi)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS value of input voltage = 241.84 V \n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_7_3.ipynb b/Power_Electronics/Power_electronics_ch_7_3.ipynb
new file mode 100755
index 00000000..7288e1e0
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_7_3.ipynb
@@ -0,0 +1,204 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7 : Cycloconverters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.1, Page No.319"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input voltage, SCR ratings and input power factors\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 250                # single phase supply voltage \n",
+      "I = 50                 # supply current\n",
+      "pf = 0.8               # lagging power factor\n",
+      "alfa = 0               # ideal SCR\n",
+      "\n",
+      "#calculations\n",
+      "x = math.sqrt(2)\n",
+      "x = math.floor(x*1000)/1000\n",
+      "Vm = (V*math.pi*x)/(3*math.sin(math.pi/3))\n",
+      "Vrms = Vm/math.sqrt(2)\n",
+      "Irms = I*math.sqrt(2)/math.sqrt(3)\n",
+      "y = math.sqrt(3)\n",
+      "y = math.floor(y*1000)/1000\n",
+      "piv = y*Vm\n",
+      "piv = math.floor(piv*100)/100\n",
+      "Ii = math.sqrt((I**2)/3)\n",
+      "pipp = V*I*pf/3.0\n",
+      "pf_i = pipp/(Vrms*Ii)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vm = %f V\\nrms current rating of thyristor = %.1f A\\nPIV = %.2fV\\nRMS value of input current = %.1f A\"%(Vm,math.ceil(Irms),piv,Ii))\n",
+      "print(\"Power input per phase = %.2f W\\nInput power factor = %.3f lagging.\"%(pipp,pf_i))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vm = 427.452050 V\n",
+        "rms current rating of thyristor = 41.0 A\n",
+        "PIV = 740.34V\n",
+        "RMS value of input current = 28.9 A\n",
+        "Power input per phase = 3333.33 W\n",
+        "Input power factor = 0.382 lagging.\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.2, Page No. 320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#output voltage(referring ex 7.1)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 250                # single phase supply voltage \n",
+      "theta1 = 30            # firing angle 1\n",
+      "theta2 = 45            # firing angle 2\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "v1 = V*math.cos(theta1*math.pi/180)\n",
+      "#(b)\n",
+      "v2 = V*math.cos(theta2*math.pi/180)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) RMS value of output voltage = %.1f V\"%v1)\n",
+      "print(\"(b) RMS value of output voltage = %.2f V\"%v2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RMS value of output voltage = 216.5 V\n",
+        "(b) RMS value of output voltage = 176.78 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.3, Page No.320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Output voltage for different firing angle\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vrms = 230               # input voltage\n",
+      "theta1 = 0               # firing angle 1\n",
+      "theta2 = 30              # firing angle 2\n",
+      "\n",
+      "#calculation\n",
+      "#(a)\n",
+      "v1 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta1*math.pi/180)/(math.pi*math.sqrt(2))\n",
+      "#(b)\n",
+      "v2 = 6*math.sqrt(2)*Vrms*math.sin(math.pi/6)*math.cos(theta2*math.pi/180)/(math.pi*math.sqrt(2))\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Vo = %.2f V\\n(b) Vo = %.1f V\"%(v1,v2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Vo = 219.63 V\n",
+        "(b) Vo = 190.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 7.4, Page No.320"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# supply voltage\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Vo = 200                   # output voltage\n",
+      "\n",
+      "#Calculation\n",
+      "Vi = Vo*(math.pi/3)/math.sin(math.pi/3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS value of input voltage = %.2f V \"%Vi)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS value of input voltage = 241.84 V \n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_8_1.ipynb b/Power_Electronics/Power_electronics_ch_8_1.ipynb
new file mode 100755
index 00000000..2f3270f0
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_8_1.ipynb
@@ -0,0 +1,576 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Applications of Thyristors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.1, Page No. 326"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Crowbar circuit(refering to fig8.2)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vz = 14.8                 # zener breakdown voltage\n",
+      "Vt = 0.85                 # thyristor trigger voltage\n",
+      "\n",
+      "# Calculations \n",
+      "Vi = Vz+Vt\n",
+      "\n",
+      "#Result \n",
+      "print(\"Thyrister will be turned on when voltage across R is %.2f V.\"%Vt)\n",
+      "print(\"Since zener breakdown at %.1f V, the crowbar circuit will be turned on when\\nVi = %.2f V\"%(Vz,Vi))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thyrister will be turned on when voltage across R is 0.85 V.\n",
+        "Since zener breakdown at 14.8 V, the crowbar circuit will be turned on when\n",
+        "Vi = 15.65 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.2, Page No. 326"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Crowbar circuit(refering to fig.8.2) \n",
+      "\n",
+      "import math\n",
+      "Rz = 15.0           # resistance of zener diode under breakdown condition\n",
+      "Ig = 20*10**-3      # gate triggering current of thyristor\n",
+      "Vz = 14.8           # zener breakdown voltage\n",
+      "Vt = 0.85           # thyristor trigger voltage\n",
+      "R = 50.0            # resistance\n",
+      "\n",
+      "#Calculations\n",
+      "Rt = (R*Rz)/(R+Rz)\n",
+      "V = Rt*Ig\n",
+      "Vi = Vz+Vt+V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vi = %.3f V\"%Vi)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vi = 15.881 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.3, Page No. 327"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Values of R and C (refering to fig.8.3)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200               # input voltage\n",
+      "Il = 10               # load current\n",
+      "Toff1 = 15*10**-6     # turn off time\n",
+      "Ih = 4*10**-3         # thyristor holding current\n",
+      "\n",
+      "#Calculations\n",
+      "R = V/Ih\n",
+      "Rl = V/Il\n",
+      "C = Toff1/(Rl*math.log(2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.0f k-ohm\\nC = %.3f*10^-6 F\"%(R/1000,C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 50 k-ohm\n",
+        "C = 1.082*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.4, Page No. 331"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# duty cycle and Ton/Toff ratio\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "R = 60.0                 # load resistance\n",
+      "P1 = 400.0               # output ppower in case 1\n",
+      "P2 = 700.0               # output ppower in case 2\n",
+      "\n",
+      "#Calculations\n",
+      "Pmax = (V**2)/R\n",
+      "#(a)\n",
+      "alfa = P1/Pmax\n",
+      "Ton = alfa\n",
+      "Toff= 1-Ton\n",
+      "r = Ton/Toff\n",
+      "#(b)\n",
+      "alfa2 = P2/Pmax\n",
+      "Ton2 = alfa2\n",
+      "Toff2= 1-Ton2\n",
+      "r2= Ton2/Toff2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Maximum power output = %.2f W\\n\\n(a)\\n Duty cycle = %.4f\\n Ton/Toff = %.4f\"%(Pmax,alfa,math.ceil(r*10000)/10000))\n",
+      "print(\"\\n(b)\\n Duty cycle = %.3f\\n Ton/Toff = %.3f\"%(alfa2,math.ceil(r2*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum power output = 881.67 W\n",
+        "\n",
+        "(a)\n",
+        " Duty cycle = 0.4537\n",
+        " Ton/Toff = 0.8305\n",
+        "\n",
+        "(b)\n",
+        " Duty cycle = 0.794\n",
+        " Ton/Toff = 3.854\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.5, Page No.333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Output RMS voltage\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Ton = 12.0               # circuit is on for 12 cycles\n",
+      "Toff = 19.0              # circuit is on for 19 cycles\n",
+      "V = 230.0                # input voltage\n",
+      "\n",
+      "#calcualtions\n",
+      "d = Ton/(Ton+Toff)\n",
+      "Vrms = V*math.sqrt(d)\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS output voltage = %.1f V\"%Vrms)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS output voltage = 143.1 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.6, Page No. 333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Power supplied to heater\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230                # input voltage\n",
+      "R = 50                 # load resistance\n",
+      "alfa1 = 90             # firing angle for case 1\n",
+      "alfa2 = 120            # firing angle for case 2\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "\n",
+      "#(a)\n",
+      "Vl = Vm*math.sqrt((math.pi-(alfa1*math.pi/180)+((math.sin(2*alfa1*math.pi/180))/2.0))/(2*math.pi))\n",
+      "P = (Vl**2)/R\n",
+      "\n",
+      "#(b)\n",
+      "Vl2 = Vm*math.sqrt((math.pi-(alfa2*math.pi/180)+((math.sin(2*alfa2*math.pi/180))/2.0))/(2*math.pi))\n",
+      "P2 = (Vl**2)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) when alfa = %.0f\u00b0,\\n    Power = %.2fW\"%(alfa1,Vl))\n",
+      "print(\"\\n(b) when alfa = %.0f\u00b0,\\n    Power = %.2fW\"%(alfa2,Vl2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) when alfa = 90\u00b0,\n",
+        "    Power = 162.61W\n",
+        "\n",
+        "(b) when alfa = 120\u00b0,\n",
+        "    Power = 101.68W\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.7, Page No.333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# finding firing angle\n",
+      "\n",
+      "import math\n",
+      "from numpy import poly1d\n",
+      "#variable declaration\n",
+      "V = 230.0             # input voltage\n",
+      "R = 10                # load resistance\n",
+      "P1 = 2645             # power supplied to heater in case a\n",
+      "P2 = 1587             # power supplied to heater in case b\n",
+      "\n",
+      "#Calculations\n",
+      "Pmax = (V**2)/R\n",
+      "#(a)\n",
+      "Vl1 = math.floor((math.sqrt(P1*R))*100)/100\n",
+      "#After solving equation using taylor seris of X, we got following coefficient. \n",
+      "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vl1/V)**2))], variable = 'x')\n",
+      "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+      "alfa1 = x1.real\n",
+      "#(b)\n",
+      "Vl2 = math.floor((math.sqrt(P2*R))*1000)/1000\n",
+      "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*0.762500)], variable = 'x')\n",
+      "# hardcoded value used to match the answer to the book\n",
+      "x2 = P2.r[(P2.order+1)/2]*180/math.pi\n",
+      "alfa2 = x2.real\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) firing angle = %.0f\u00b0\"%math.ceil(alfa1))\n",
+      "print(\"(b) firing angle = %.1f\u00b0\"%(alfa2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) firing angle = 90\u00b0\n",
+        "(b) firing angle = 108.6\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.8, Page No. 334"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# current rating and Peak Inverse Voltage of each thyristor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400                  # 3-phase input voltage\n",
+      "P = 20*10**3             # load \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "# since load is resistive, theta = 0\u00b0,therefore, cos(theta) = 1\n",
+      "I = P/(math.sqrt(3)*V)\n",
+      "PIV = V*math.sqrt(2)\n",
+      "PIV = math.floor(PIV*10)/10\n",
+      "#(b)\n",
+      "Ir = I/math.sqrt(2)\n",
+      "Ir = math.ceil(Ir*100)/100\n",
+      "#Result\n",
+      "print(\"(a)\\n  I = %.2f A\\n  During off state, line to line voltage can appear across triac. Hence current rating is %.2f A and\"%(I,I))\n",
+      "print(\"  peak inverse voltage = %.1f V\"%PIV)\n",
+      "print(\"\\n(b)\\n  Each thyristor conducts for every half cycle.\\n  current rating = %.2f A\\n  Peak inverse voltage is the same i.e. %.1f V\"%(Ir,PIV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "  I = 28.87 A\n",
+        "  During off state, line to line voltage can appear across triac. Hence current rating is 28.87 A and\n",
+        "  peak inverse voltage = 565.6 V\n",
+        "\n",
+        "(b)\n",
+        "  Each thyristor conducts for every half cycle.\n",
+        "  current rating = 20.42 A\n",
+        "  Peak inverse voltage is the same i.e. 565.6 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.9, Page No.338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# applied voltage and current\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "t = 5*10**-2               # insulating slab thickness\n",
+      "A = 100*10**-4             # insulating slab area\n",
+      "P = 300                    # power \n",
+      "f = 10*10**6               # frequency\n",
+      "eps = 8.85*10**-12         # permitivity of free space\n",
+      "eps_r = 4.5                # relative permitivity\n",
+      "pf = 0.05                  # power factor\n",
+      "\n",
+      "#Calculation\n",
+      "C = eps*eps_r*A/t\n",
+      "pi =math.floor(math.pi*100)/100\n",
+      "w = 2*pi*f\n",
+      "fi = (math.acos(pf))*(180/math.pi)\n",
+      "sig =90-fi\n",
+      "sig = math.ceil(sig*1000)/1000\n",
+      "sig = sig*math.pi/180\n",
+      "V = math.sqrt(P/(w*C*math.tan(sig)))\n",
+      "I = P/(V*pf)\n",
+      "\n",
+      "#Result\n",
+      "print(\"V = %.1f V\\nI = %.2f A\"%(V,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "V = 3461.2 V\n",
+        "I = 1.73 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.10, Page No. 338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# power input and current\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "t = 1*10**-2               # insulating slab thickness\n",
+      "A = 50*10**-4              # insulating slab area\n",
+      "V = 400                    # input voltage \n",
+      "f = 20*10**6               # frequency\n",
+      "eps = 8.85*10**-12         # permitivity of free space\n",
+      "eps_r = 5                  # relative permitivity\n",
+      "pf = 0.05                  # power factor\n",
+      "\n",
+      "#Calculation\n",
+      "C = eps*eps_r*A/t\n",
+      "w = 2*math.pi*f\n",
+      "fi = (math.acos(pf))*(180/math.pi)\n",
+      "sig =90-fi\n",
+      "sig = math.ceil(sig*1000)/1000\n",
+      "sig = sig*math.pi/180\n",
+      "P = (V**2)*(w*C*math.tan(sig))\n",
+      "I = P/(V*pf)\n",
+      "\n",
+      "#Result\n",
+      "print(\"P = %.2f W\\nI = %.4f A\"%(P,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "P = 22.27 W\n",
+        "I = 1.1135 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 68
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.11, Page No. 338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# voltage of the source and current input\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "t = 2                      # insulating slab thickness\n",
+      "A = 75                     # insulating slab area\n",
+      "T1 = 20                    # lower temperature\n",
+      "T2 = 50                    # Higher temperature\n",
+      "Time = 7*60                # time \n",
+      "f = 20*10**6               # frequency\n",
+      "eps = 8.85*10**-12         # permitivity of free space\n",
+      "eps_r =6.5                 # relative permitivity\n",
+      "sh = 0.25                  # specific heat\n",
+      "den = 0.55                 # density\n",
+      "pf = 0.04                  # power factor\n",
+      "\n",
+      "#Calculations\n",
+      "C = eps*eps_r*A*10**-4/(t*10**-2)\n",
+      "w = 2*math.pi*f\n",
+      "fi = (math.acos(pf))*(180/math.pi)\n",
+      "sig =90-fi\n",
+      "sig = math.ceil(sig*1000)/1000\n",
+      "sig = sig*math.pi/180\n",
+      "\n",
+      "m = A*t*den\n",
+      "H = m*sh*(T2-T1)\n",
+      "TH = H/0.9\n",
+      "Ei = TH*4.186\n",
+      "P = Ei/Time\n",
+      "P = math.floor(P*100)/100\n",
+      "V = math.sqrt(P/(w*C*pf))\n",
+      "V = math.ceil(V*100)/100\n",
+      "I = P/(V*pf)\n",
+      "I = math.floor(I*1000)/1000\n",
+      "#Result\n",
+      "print(\"V = %.2f V\\nI = %.3f A\"%(V,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "V = 251.35 V\n",
+        "I = 0.681 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 86
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_8_2.ipynb b/Power_Electronics/Power_electronics_ch_8_2.ipynb
new file mode 100755
index 00000000..2f3270f0
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_8_2.ipynb
@@ -0,0 +1,576 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Applications of Thyristors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.1, Page No. 326"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Crowbar circuit(refering to fig8.2)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vz = 14.8                 # zener breakdown voltage\n",
+      "Vt = 0.85                 # thyristor trigger voltage\n",
+      "\n",
+      "# Calculations \n",
+      "Vi = Vz+Vt\n",
+      "\n",
+      "#Result \n",
+      "print(\"Thyrister will be turned on when voltage across R is %.2f V.\"%Vt)\n",
+      "print(\"Since zener breakdown at %.1f V, the crowbar circuit will be turned on when\\nVi = %.2f V\"%(Vz,Vi))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thyrister will be turned on when voltage across R is 0.85 V.\n",
+        "Since zener breakdown at 14.8 V, the crowbar circuit will be turned on when\n",
+        "Vi = 15.65 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.2, Page No. 326"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Crowbar circuit(refering to fig.8.2) \n",
+      "\n",
+      "import math\n",
+      "Rz = 15.0           # resistance of zener diode under breakdown condition\n",
+      "Ig = 20*10**-3      # gate triggering current of thyristor\n",
+      "Vz = 14.8           # zener breakdown voltage\n",
+      "Vt = 0.85           # thyristor trigger voltage\n",
+      "R = 50.0            # resistance\n",
+      "\n",
+      "#Calculations\n",
+      "Rt = (R*Rz)/(R+Rz)\n",
+      "V = Rt*Ig\n",
+      "Vi = Vz+Vt+V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vi = %.3f V\"%Vi)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vi = 15.881 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.3, Page No. 327"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Values of R and C (refering to fig.8.3)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200               # input voltage\n",
+      "Il = 10               # load current\n",
+      "Toff1 = 15*10**-6     # turn off time\n",
+      "Ih = 4*10**-3         # thyristor holding current\n",
+      "\n",
+      "#Calculations\n",
+      "R = V/Ih\n",
+      "Rl = V/Il\n",
+      "C = Toff1/(Rl*math.log(2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.0f k-ohm\\nC = %.3f*10^-6 F\"%(R/1000,C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 50 k-ohm\n",
+        "C = 1.082*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.4, Page No. 331"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# duty cycle and Ton/Toff ratio\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "R = 60.0                 # load resistance\n",
+      "P1 = 400.0               # output ppower in case 1\n",
+      "P2 = 700.0               # output ppower in case 2\n",
+      "\n",
+      "#Calculations\n",
+      "Pmax = (V**2)/R\n",
+      "#(a)\n",
+      "alfa = P1/Pmax\n",
+      "Ton = alfa\n",
+      "Toff= 1-Ton\n",
+      "r = Ton/Toff\n",
+      "#(b)\n",
+      "alfa2 = P2/Pmax\n",
+      "Ton2 = alfa2\n",
+      "Toff2= 1-Ton2\n",
+      "r2= Ton2/Toff2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Maximum power output = %.2f W\\n\\n(a)\\n Duty cycle = %.4f\\n Ton/Toff = %.4f\"%(Pmax,alfa,math.ceil(r*10000)/10000))\n",
+      "print(\"\\n(b)\\n Duty cycle = %.3f\\n Ton/Toff = %.3f\"%(alfa2,math.ceil(r2*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum power output = 881.67 W\n",
+        "\n",
+        "(a)\n",
+        " Duty cycle = 0.4537\n",
+        " Ton/Toff = 0.8305\n",
+        "\n",
+        "(b)\n",
+        " Duty cycle = 0.794\n",
+        " Ton/Toff = 3.854\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.5, Page No.333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Output RMS voltage\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Ton = 12.0               # circuit is on for 12 cycles\n",
+      "Toff = 19.0              # circuit is on for 19 cycles\n",
+      "V = 230.0                # input voltage\n",
+      "\n",
+      "#calcualtions\n",
+      "d = Ton/(Ton+Toff)\n",
+      "Vrms = V*math.sqrt(d)\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS output voltage = %.1f V\"%Vrms)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS output voltage = 143.1 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.6, Page No. 333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Power supplied to heater\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230                # input voltage\n",
+      "R = 50                 # load resistance\n",
+      "alfa1 = 90             # firing angle for case 1\n",
+      "alfa2 = 120            # firing angle for case 2\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "\n",
+      "#(a)\n",
+      "Vl = Vm*math.sqrt((math.pi-(alfa1*math.pi/180)+((math.sin(2*alfa1*math.pi/180))/2.0))/(2*math.pi))\n",
+      "P = (Vl**2)/R\n",
+      "\n",
+      "#(b)\n",
+      "Vl2 = Vm*math.sqrt((math.pi-(alfa2*math.pi/180)+((math.sin(2*alfa2*math.pi/180))/2.0))/(2*math.pi))\n",
+      "P2 = (Vl**2)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) when alfa = %.0f\u00b0,\\n    Power = %.2fW\"%(alfa1,Vl))\n",
+      "print(\"\\n(b) when alfa = %.0f\u00b0,\\n    Power = %.2fW\"%(alfa2,Vl2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) when alfa = 90\u00b0,\n",
+        "    Power = 162.61W\n",
+        "\n",
+        "(b) when alfa = 120\u00b0,\n",
+        "    Power = 101.68W\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.7, Page No.333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# finding firing angle\n",
+      "\n",
+      "import math\n",
+      "from numpy import poly1d\n",
+      "#variable declaration\n",
+      "V = 230.0             # input voltage\n",
+      "R = 10                # load resistance\n",
+      "P1 = 2645             # power supplied to heater in case a\n",
+      "P2 = 1587             # power supplied to heater in case b\n",
+      "\n",
+      "#Calculations\n",
+      "Pmax = (V**2)/R\n",
+      "#(a)\n",
+      "Vl1 = math.floor((math.sqrt(P1*R))*100)/100\n",
+      "#After solving equation using taylor seris of X, we got following coefficient. \n",
+      "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vl1/V)**2))], variable = 'x')\n",
+      "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+      "alfa1 = x1.real\n",
+      "#(b)\n",
+      "Vl2 = math.floor((math.sqrt(P2*R))*1000)/1000\n",
+      "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*0.762500)], variable = 'x')\n",
+      "# hardcoded value used to match the answer to the book\n",
+      "x2 = P2.r[(P2.order+1)/2]*180/math.pi\n",
+      "alfa2 = x2.real\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) firing angle = %.0f\u00b0\"%math.ceil(alfa1))\n",
+      "print(\"(b) firing angle = %.1f\u00b0\"%(alfa2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) firing angle = 90\u00b0\n",
+        "(b) firing angle = 108.6\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.8, Page No. 334"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# current rating and Peak Inverse Voltage of each thyristor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400                  # 3-phase input voltage\n",
+      "P = 20*10**3             # load \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "# since load is resistive, theta = 0\u00b0,therefore, cos(theta) = 1\n",
+      "I = P/(math.sqrt(3)*V)\n",
+      "PIV = V*math.sqrt(2)\n",
+      "PIV = math.floor(PIV*10)/10\n",
+      "#(b)\n",
+      "Ir = I/math.sqrt(2)\n",
+      "Ir = math.ceil(Ir*100)/100\n",
+      "#Result\n",
+      "print(\"(a)\\n  I = %.2f A\\n  During off state, line to line voltage can appear across triac. Hence current rating is %.2f A and\"%(I,I))\n",
+      "print(\"  peak inverse voltage = %.1f V\"%PIV)\n",
+      "print(\"\\n(b)\\n  Each thyristor conducts for every half cycle.\\n  current rating = %.2f A\\n  Peak inverse voltage is the same i.e. %.1f V\"%(Ir,PIV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "  I = 28.87 A\n",
+        "  During off state, line to line voltage can appear across triac. Hence current rating is 28.87 A and\n",
+        "  peak inverse voltage = 565.6 V\n",
+        "\n",
+        "(b)\n",
+        "  Each thyristor conducts for every half cycle.\n",
+        "  current rating = 20.42 A\n",
+        "  Peak inverse voltage is the same i.e. 565.6 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.9, Page No.338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# applied voltage and current\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "t = 5*10**-2               # insulating slab thickness\n",
+      "A = 100*10**-4             # insulating slab area\n",
+      "P = 300                    # power \n",
+      "f = 10*10**6               # frequency\n",
+      "eps = 8.85*10**-12         # permitivity of free space\n",
+      "eps_r = 4.5                # relative permitivity\n",
+      "pf = 0.05                  # power factor\n",
+      "\n",
+      "#Calculation\n",
+      "C = eps*eps_r*A/t\n",
+      "pi =math.floor(math.pi*100)/100\n",
+      "w = 2*pi*f\n",
+      "fi = (math.acos(pf))*(180/math.pi)\n",
+      "sig =90-fi\n",
+      "sig = math.ceil(sig*1000)/1000\n",
+      "sig = sig*math.pi/180\n",
+      "V = math.sqrt(P/(w*C*math.tan(sig)))\n",
+      "I = P/(V*pf)\n",
+      "\n",
+      "#Result\n",
+      "print(\"V = %.1f V\\nI = %.2f A\"%(V,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "V = 3461.2 V\n",
+        "I = 1.73 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.10, Page No. 338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# power input and current\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "t = 1*10**-2               # insulating slab thickness\n",
+      "A = 50*10**-4              # insulating slab area\n",
+      "V = 400                    # input voltage \n",
+      "f = 20*10**6               # frequency\n",
+      "eps = 8.85*10**-12         # permitivity of free space\n",
+      "eps_r = 5                  # relative permitivity\n",
+      "pf = 0.05                  # power factor\n",
+      "\n",
+      "#Calculation\n",
+      "C = eps*eps_r*A/t\n",
+      "w = 2*math.pi*f\n",
+      "fi = (math.acos(pf))*(180/math.pi)\n",
+      "sig =90-fi\n",
+      "sig = math.ceil(sig*1000)/1000\n",
+      "sig = sig*math.pi/180\n",
+      "P = (V**2)*(w*C*math.tan(sig))\n",
+      "I = P/(V*pf)\n",
+      "\n",
+      "#Result\n",
+      "print(\"P = %.2f W\\nI = %.4f A\"%(P,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "P = 22.27 W\n",
+        "I = 1.1135 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 68
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.11, Page No. 338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# voltage of the source and current input\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "t = 2                      # insulating slab thickness\n",
+      "A = 75                     # insulating slab area\n",
+      "T1 = 20                    # lower temperature\n",
+      "T2 = 50                    # Higher temperature\n",
+      "Time = 7*60                # time \n",
+      "f = 20*10**6               # frequency\n",
+      "eps = 8.85*10**-12         # permitivity of free space\n",
+      "eps_r =6.5                 # relative permitivity\n",
+      "sh = 0.25                  # specific heat\n",
+      "den = 0.55                 # density\n",
+      "pf = 0.04                  # power factor\n",
+      "\n",
+      "#Calculations\n",
+      "C = eps*eps_r*A*10**-4/(t*10**-2)\n",
+      "w = 2*math.pi*f\n",
+      "fi = (math.acos(pf))*(180/math.pi)\n",
+      "sig =90-fi\n",
+      "sig = math.ceil(sig*1000)/1000\n",
+      "sig = sig*math.pi/180\n",
+      "\n",
+      "m = A*t*den\n",
+      "H = m*sh*(T2-T1)\n",
+      "TH = H/0.9\n",
+      "Ei = TH*4.186\n",
+      "P = Ei/Time\n",
+      "P = math.floor(P*100)/100\n",
+      "V = math.sqrt(P/(w*C*pf))\n",
+      "V = math.ceil(V*100)/100\n",
+      "I = P/(V*pf)\n",
+      "I = math.floor(I*1000)/1000\n",
+      "#Result\n",
+      "print(\"V = %.2f V\\nI = %.3f A\"%(V,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "V = 251.35 V\n",
+        "I = 0.681 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 86
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_8_3.ipynb b/Power_Electronics/Power_electronics_ch_8_3.ipynb
new file mode 100755
index 00000000..2f3270f0
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_8_3.ipynb
@@ -0,0 +1,576 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Applications of Thyristors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.1, Page No. 326"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Crowbar circuit(refering to fig8.2)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vz = 14.8                 # zener breakdown voltage\n",
+      "Vt = 0.85                 # thyristor trigger voltage\n",
+      "\n",
+      "# Calculations \n",
+      "Vi = Vz+Vt\n",
+      "\n",
+      "#Result \n",
+      "print(\"Thyrister will be turned on when voltage across R is %.2f V.\"%Vt)\n",
+      "print(\"Since zener breakdown at %.1f V, the crowbar circuit will be turned on when\\nVi = %.2f V\"%(Vz,Vi))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thyrister will be turned on when voltage across R is 0.85 V.\n",
+        "Since zener breakdown at 14.8 V, the crowbar circuit will be turned on when\n",
+        "Vi = 15.65 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.2, Page No. 326"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Crowbar circuit(refering to fig.8.2) \n",
+      "\n",
+      "import math\n",
+      "Rz = 15.0           # resistance of zener diode under breakdown condition\n",
+      "Ig = 20*10**-3      # gate triggering current of thyristor\n",
+      "Vz = 14.8           # zener breakdown voltage\n",
+      "Vt = 0.85           # thyristor trigger voltage\n",
+      "R = 50.0            # resistance\n",
+      "\n",
+      "#Calculations\n",
+      "Rt = (R*Rz)/(R+Rz)\n",
+      "V = Rt*Ig\n",
+      "Vi = Vz+Vt+V\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vi = %.3f V\"%Vi)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vi = 15.881 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.3, Page No. 327"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Values of R and C (refering to fig.8.3)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 200               # input voltage\n",
+      "Il = 10               # load current\n",
+      "Toff1 = 15*10**-6     # turn off time\n",
+      "Ih = 4*10**-3         # thyristor holding current\n",
+      "\n",
+      "#Calculations\n",
+      "R = V/Ih\n",
+      "Rl = V/Il\n",
+      "C = Toff1/(Rl*math.log(2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %.0f k-ohm\\nC = %.3f*10^-6 F\"%(R/1000,C*10**6))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 50 k-ohm\n",
+        "C = 1.082*10^-6 F\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.4, Page No. 331"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# duty cycle and Ton/Toff ratio\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "R = 60.0                 # load resistance\n",
+      "P1 = 400.0               # output ppower in case 1\n",
+      "P2 = 700.0               # output ppower in case 2\n",
+      "\n",
+      "#Calculations\n",
+      "Pmax = (V**2)/R\n",
+      "#(a)\n",
+      "alfa = P1/Pmax\n",
+      "Ton = alfa\n",
+      "Toff= 1-Ton\n",
+      "r = Ton/Toff\n",
+      "#(b)\n",
+      "alfa2 = P2/Pmax\n",
+      "Ton2 = alfa2\n",
+      "Toff2= 1-Ton2\n",
+      "r2= Ton2/Toff2\n",
+      "\n",
+      "#Result\n",
+      "print(\"Maximum power output = %.2f W\\n\\n(a)\\n Duty cycle = %.4f\\n Ton/Toff = %.4f\"%(Pmax,alfa,math.ceil(r*10000)/10000))\n",
+      "print(\"\\n(b)\\n Duty cycle = %.3f\\n Ton/Toff = %.3f\"%(alfa2,math.ceil(r2*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum power output = 881.67 W\n",
+        "\n",
+        "(a)\n",
+        " Duty cycle = 0.4537\n",
+        " Ton/Toff = 0.8305\n",
+        "\n",
+        "(b)\n",
+        " Duty cycle = 0.794\n",
+        " Ton/Toff = 3.854\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.5, Page No.333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Output RMS voltage\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "Ton = 12.0               # circuit is on for 12 cycles\n",
+      "Toff = 19.0              # circuit is on for 19 cycles\n",
+      "V = 230.0                # input voltage\n",
+      "\n",
+      "#calcualtions\n",
+      "d = Ton/(Ton+Toff)\n",
+      "Vrms = V*math.sqrt(d)\n",
+      "\n",
+      "#Result\n",
+      "print(\"RMS output voltage = %.1f V\"%Vrms)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "RMS output voltage = 143.1 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.6, Page No. 333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Power supplied to heater\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230                # input voltage\n",
+      "R = 50                 # load resistance\n",
+      "alfa1 = 90             # firing angle for case 1\n",
+      "alfa2 = 120            # firing angle for case 2\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "\n",
+      "#(a)\n",
+      "Vl = Vm*math.sqrt((math.pi-(alfa1*math.pi/180)+((math.sin(2*alfa1*math.pi/180))/2.0))/(2*math.pi))\n",
+      "P = (Vl**2)/R\n",
+      "\n",
+      "#(b)\n",
+      "Vl2 = Vm*math.sqrt((math.pi-(alfa2*math.pi/180)+((math.sin(2*alfa2*math.pi/180))/2.0))/(2*math.pi))\n",
+      "P2 = (Vl**2)/R\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) when alfa = %.0f\u00b0,\\n    Power = %.2fW\"%(alfa1,Vl))\n",
+      "print(\"\\n(b) when alfa = %.0f\u00b0,\\n    Power = %.2fW\"%(alfa2,Vl2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) when alfa = 90\u00b0,\n",
+        "    Power = 162.61W\n",
+        "\n",
+        "(b) when alfa = 120\u00b0,\n",
+        "    Power = 101.68W\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.7, Page No.333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# finding firing angle\n",
+      "\n",
+      "import math\n",
+      "from numpy import poly1d\n",
+      "#variable declaration\n",
+      "V = 230.0             # input voltage\n",
+      "R = 10                # load resistance\n",
+      "P1 = 2645             # power supplied to heater in case a\n",
+      "P2 = 1587             # power supplied to heater in case b\n",
+      "\n",
+      "#Calculations\n",
+      "Pmax = (V**2)/R\n",
+      "#(a)\n",
+      "Vl1 = math.floor((math.sqrt(P1*R))*100)/100\n",
+      "#After solving equation using taylor seris of X, we got following coefficient. \n",
+      "P1 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*(1-(Vl1/V)**2))], variable = 'x')\n",
+      "x1 = P1.r[(P1.order+1)/2]*180/math.pi\n",
+      "alfa1 = x1.real\n",
+      "#(b)\n",
+      "Vl2 = math.floor((math.sqrt(P2*R))*1000)/1000\n",
+      "P2 = poly1d([128.0/math.factorial(7),0,-32.0/math.factorial(5),0,8.0/math.factorial(3),0,0,(-2*math.pi*0.762500)], variable = 'x')\n",
+      "# hardcoded value used to match the answer to the book\n",
+      "x2 = P2.r[(P2.order+1)/2]*180/math.pi\n",
+      "alfa2 = x2.real\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) firing angle = %.0f\u00b0\"%math.ceil(alfa1))\n",
+      "print(\"(b) firing angle = %.1f\u00b0\"%(alfa2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) firing angle = 90\u00b0\n",
+        "(b) firing angle = 108.6\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.8, Page No. 334"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# current rating and Peak Inverse Voltage of each thyristor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400                  # 3-phase input voltage\n",
+      "P = 20*10**3             # load \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "# since load is resistive, theta = 0\u00b0,therefore, cos(theta) = 1\n",
+      "I = P/(math.sqrt(3)*V)\n",
+      "PIV = V*math.sqrt(2)\n",
+      "PIV = math.floor(PIV*10)/10\n",
+      "#(b)\n",
+      "Ir = I/math.sqrt(2)\n",
+      "Ir = math.ceil(Ir*100)/100\n",
+      "#Result\n",
+      "print(\"(a)\\n  I = %.2f A\\n  During off state, line to line voltage can appear across triac. Hence current rating is %.2f A and\"%(I,I))\n",
+      "print(\"  peak inverse voltage = %.1f V\"%PIV)\n",
+      "print(\"\\n(b)\\n  Each thyristor conducts for every half cycle.\\n  current rating = %.2f A\\n  Peak inverse voltage is the same i.e. %.1f V\"%(Ir,PIV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "  I = 28.87 A\n",
+        "  During off state, line to line voltage can appear across triac. Hence current rating is 28.87 A and\n",
+        "  peak inverse voltage = 565.6 V\n",
+        "\n",
+        "(b)\n",
+        "  Each thyristor conducts for every half cycle.\n",
+        "  current rating = 20.42 A\n",
+        "  Peak inverse voltage is the same i.e. 565.6 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 53
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.9, Page No.338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# applied voltage and current\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "t = 5*10**-2               # insulating slab thickness\n",
+      "A = 100*10**-4             # insulating slab area\n",
+      "P = 300                    # power \n",
+      "f = 10*10**6               # frequency\n",
+      "eps = 8.85*10**-12         # permitivity of free space\n",
+      "eps_r = 4.5                # relative permitivity\n",
+      "pf = 0.05                  # power factor\n",
+      "\n",
+      "#Calculation\n",
+      "C = eps*eps_r*A/t\n",
+      "pi =math.floor(math.pi*100)/100\n",
+      "w = 2*pi*f\n",
+      "fi = (math.acos(pf))*(180/math.pi)\n",
+      "sig =90-fi\n",
+      "sig = math.ceil(sig*1000)/1000\n",
+      "sig = sig*math.pi/180\n",
+      "V = math.sqrt(P/(w*C*math.tan(sig)))\n",
+      "I = P/(V*pf)\n",
+      "\n",
+      "#Result\n",
+      "print(\"V = %.1f V\\nI = %.2f A\"%(V,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "V = 3461.2 V\n",
+        "I = 1.73 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.10, Page No. 338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# power input and current\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "t = 1*10**-2               # insulating slab thickness\n",
+      "A = 50*10**-4              # insulating slab area\n",
+      "V = 400                    # input voltage \n",
+      "f = 20*10**6               # frequency\n",
+      "eps = 8.85*10**-12         # permitivity of free space\n",
+      "eps_r = 5                  # relative permitivity\n",
+      "pf = 0.05                  # power factor\n",
+      "\n",
+      "#Calculation\n",
+      "C = eps*eps_r*A/t\n",
+      "w = 2*math.pi*f\n",
+      "fi = (math.acos(pf))*(180/math.pi)\n",
+      "sig =90-fi\n",
+      "sig = math.ceil(sig*1000)/1000\n",
+      "sig = sig*math.pi/180\n",
+      "P = (V**2)*(w*C*math.tan(sig))\n",
+      "I = P/(V*pf)\n",
+      "\n",
+      "#Result\n",
+      "print(\"P = %.2f W\\nI = %.4f A\"%(P,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "P = 22.27 W\n",
+        "I = 1.1135 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 68
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 8.11, Page No. 338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# voltage of the source and current input\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "t = 2                      # insulating slab thickness\n",
+      "A = 75                     # insulating slab area\n",
+      "T1 = 20                    # lower temperature\n",
+      "T2 = 50                    # Higher temperature\n",
+      "Time = 7*60                # time \n",
+      "f = 20*10**6               # frequency\n",
+      "eps = 8.85*10**-12         # permitivity of free space\n",
+      "eps_r =6.5                 # relative permitivity\n",
+      "sh = 0.25                  # specific heat\n",
+      "den = 0.55                 # density\n",
+      "pf = 0.04                  # power factor\n",
+      "\n",
+      "#Calculations\n",
+      "C = eps*eps_r*A*10**-4/(t*10**-2)\n",
+      "w = 2*math.pi*f\n",
+      "fi = (math.acos(pf))*(180/math.pi)\n",
+      "sig =90-fi\n",
+      "sig = math.ceil(sig*1000)/1000\n",
+      "sig = sig*math.pi/180\n",
+      "\n",
+      "m = A*t*den\n",
+      "H = m*sh*(T2-T1)\n",
+      "TH = H/0.9\n",
+      "Ei = TH*4.186\n",
+      "P = Ei/Time\n",
+      "P = math.floor(P*100)/100\n",
+      "V = math.sqrt(P/(w*C*pf))\n",
+      "V = math.ceil(V*100)/100\n",
+      "I = P/(V*pf)\n",
+      "I = math.floor(I*1000)/1000\n",
+      "#Result\n",
+      "print(\"V = %.2f V\\nI = %.3f A\"%(V,I))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "V = 251.35 V\n",
+        "I = 0.681 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 86
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_9_1.ipynb b/Power_Electronics/Power_electronics_ch_9_1.ipynb
new file mode 100755
index 00000000..3528b8b2
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_9_1.ipynb
@@ -0,0 +1,1256 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9: DC and AC Motor Drives"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.1, Page No. 377"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Field current, firing angle and power factor\n",
+      "\n",
+      "import math\n",
+      "# Variable delcaration\n",
+      "V= 230.0                # input supply voltage\n",
+      "f = 50.0                # supply frequency\n",
+      "alfa_f = 0              # firing angle for semi-converter for field\n",
+      "Rf = 200.0              # field resistance\n",
+      "Ra = 0.3                # Armature resistance\n",
+      "T = 50.0                # torque\n",
+      "r = 900.0               # rpm\n",
+      "vc = 0.8                # voltage constant\n",
+      "tc = 0.8                # torque constant\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "Vf = (2*Vm/math.pi)*math.cos(alfa_f)\n",
+      "If = Vf/Rf\n",
+      "If = math.floor(If*10**4)/10**4\n",
+      "#(b)\n",
+      "Ia = T/(tc*If)\n",
+      "Ia = math.ceil(Ia*1000)/1000\n",
+      "w = r*2*math.pi/60\n",
+      "w = math.ceil(w*1000)/1000\n",
+      "back_emf =vc*w*If\n",
+      "back_emf = math.floor(back_emf*100)/100\n",
+      "Va = back_emf+Ia*Ra\n",
+      "Va = math.floor(Va*1000)/1000\n",
+      "alfa = math.acos((Va*math.pi/(Vm))-1)\n",
+      "alfa_a = alfa*180/math.pi\n",
+      "alfa_a = math.floor(alfa_a*1000)/1000\n",
+      "#(c)\n",
+      "P = Va*Ia\n",
+      "Ii = Ia*math.sqrt((180-alfa_a)/180)\n",
+      "Ii = math.floor(Ii*100)/100\n",
+      "VA = V*Ii\n",
+      "pf = P/VA\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Field current = %.4f A\\n(b) Alfa_a = %.3f\u00b0\\n(c) Input power factor = %.3f lagging\"%(If,alfa_a,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Field current = 1.0352 A\n",
+        "(b) Alfa_a = 94.076\u00b0\n",
+        "(c) Input power factor = 0.605 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.2, Page No.378"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Torque developed and motor speed\n",
+      "\n",
+      "import math\n",
+      "# Variable delcaration\n",
+      "V= 230.0                # input supply voltage\n",
+      "f = 50.0                # supply frequency\n",
+      "alfa_f = 0              # firing angle of converter in the field\n",
+      "Rf = 200.0              # field resistance\n",
+      "Ra = 0.25               # Armature resistance\n",
+      "Ia = 50                 # Armature current\n",
+      "vc = 1.1                # voltage constant\n",
+      "tc = 1.1                # torque constant\n",
+      "alfa_a = 45             # firing angle of armature ciruit\n",
+      "\n",
+      "#Calculations\n",
+      "alfa_a = alfa_a*math.pi/180\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+      "Va = 2*Vm*math.cos(alfa_a)/math.pi\n",
+      "If = Vf/Rf\n",
+      "If = math.floor(If*10**4)/10**4\n",
+      "T = tc*Ia*If\n",
+      "bemf = Va- Ia*Ra - 2\n",
+      "w = bemf/(vc*If)\n",
+      "N = w*60/(2*math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Torque = %.3f N-m\\n\\nMotor Speed = %.1f rpm\"%(T,N))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Torque = 56.936 N-m\n",
+        "\n",
+        "Motor Speed = 1106.1 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 52
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.3, Page No. 378"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# firing angle of the converter in the armature circuit\n",
+      "\n",
+      "import math\n",
+      "V = 400                  # input 3-phase supply\n",
+      "alfa_f = 0               # firing angle of field converter\n",
+      "Ra = 0.3                 # Armature resistance\n",
+      "Rf = 250                 # field resistance\n",
+      "Ia = 50                  # Armature current\n",
+      "vc = 1.3                 # motor voltage constant\n",
+      "N = 1200                 # speed in rpm\n",
+      "\n",
+      "#Calculations\n",
+      "Vf = 3*math.sqrt(3)*V*math.sqrt(2)*math.cos(alfa_f)/(math.sqrt(3)*math.pi)\n",
+      "If = Vf/Rf\n",
+      "w = N*2*math.pi/60\n",
+      "Eb = vc*If*w\n",
+      "Va = Eb+Ia*Ra\n",
+      "alfa_a = math.acos(Va*math.sqrt(3)*math.pi/(3*V*math.sqrt(2)*math.sqrt(3)))\n",
+      "alfa_a = alfa_a*180/math.pi\n",
+      "alfa_a = math.ceil(alfa_a*100)/100\n",
+      "#Result\n",
+      "print(\"Alfa_a = %.2f\u00b0\"%alfa_a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Alfa_a = 47.07\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 55
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.4, Page No. 378"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input power, speed and torque\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 500                # input supply voltage\n",
+      "Ra = 0.1               # Armature resistance\n",
+      "Ia = 200.0             # Armature current\n",
+      "vc = 1.4               # Volatage constant\n",
+      "tc = 1.4               # Torque constant\n",
+      "If = 2                 # Field current\n",
+      "d = 0.5                # chopper duty cycle\n",
+      "\n",
+      "# Calculations\n",
+      "#(a)\n",
+      "Pi = d*V*Ia\n",
+      "#(b)\n",
+      "Va = V*d\n",
+      "Eb = Va - Ia*Ra\n",
+      "w = Eb/(vc*If)\n",
+      "w = math.floor(w*100)/100\n",
+      "N = w*60/(2*math.pi)\n",
+      "#(c)\n",
+      "T = tc*Ia*If\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Power input = %.0f kW \\n(b) Speed = %.2f rpm\\n(c) Torque = %.0f N-m\"%(Pi/1000,N,T))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Power input = 50 kW \n",
+        "(b) Speed = 784.38 rpm\n",
+        "(c) Torque = 560 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 71
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.5, Page No. 379"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Braking DC motor using one quadrant chopper\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ra = 0.1                # Armature resistance\n",
+      "Rb = 7.5                # Breaking resistance\n",
+      "vc = 1.4                # voltage constant\n",
+      "Ia = 120                # armature current\n",
+      "If = 1.6                # field current\n",
+      "d = 0.35                # chopper duty cycle\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "Vavg = Rb*Ia*(1-d)\n",
+      "#(b)\n",
+      "Pb = (Ia**2)*Rb*((1-d)**2)\n",
+      "#(c)\n",
+      "Eb = Vavg+Ra*Ia\n",
+      "w = Eb/(vc*If)\n",
+      "w = math.ceil(w*100)/100\n",
+      "N = w*60/(2*math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average voltage across chopper = %.0f V\\n(b) Pb = %.0f W\\n(c) Speed = %.4f rpm \"%(Vavg,Pb,N))\n",
+      "#Answer for Pb and Speed is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average voltage across chopper = 585 V\n",
+        "(b) Pb = 45630 W\n",
+        "(c) Speed = 2545.0785 rpm \n"
+       ]
+      }
+     ],
+     "prompt_number": 87
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.6, Page No. 379"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Speed -Torque characteristics\n",
+      "\n",
+      "import math\n",
+      "from pylab import *\n",
+      "#variable declaration\n",
+      "V = 220.0                # per phase input voltage\n",
+      "f = 50                   # frequency\n",
+      "L = 0.012                # motor inductance\n",
+      "R = 0.72                 # Resistance\n",
+      "a = 2                    # Armature constant\n",
+      "alfa = 90                # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3=math.floor(math.sqrt(3)*1000)/1000\n",
+      "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(2*math.pi)\n",
+      "Va = math.floor(Va*100)/100\n",
+      "Ia1 = 5                  # Armature current for case 1\n",
+      "T1 = Ia1*a\n",
+      "Eb1 =Va-Ia1*R\n",
+      "Speed1 = Eb1*60/(a*2*math.pi) \n",
+      "Speed1 = math.floor(Speed1*100)/100\n",
+      "\n",
+      "Ia2 = 10                  # Armature current for case 2\n",
+      "T2 = Ia2*a\n",
+      "Eb2 =Va-Ia2*R\n",
+      "Speed2 = Eb2*60/(a*2*math.pi) \n",
+      "Speed2 = math.floor(Speed2*100)/100\n",
+      "\n",
+      "Ia3 = 20                  # Armature current for case 3\n",
+      "T3 = Ia3*a\n",
+      "Eb3 =Va-Ia3*R\n",
+      "Speed3 = Eb3*60/(a*2*math.pi) \n",
+      "Speed3 = math.floor(Speed3*100)/100\n",
+      "\n",
+      "Ia4 = 30                  # Armature current for case 4\n",
+      "T4 = Ia4*a\n",
+      "Eb4 =Va-Ia4*R\n",
+      "Speed4 = Eb4*60/(a*2*math.pi) \n",
+      "Speed4 = math.floor(Speed4*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"Armature Voltage =%f V\"%Va)\n",
+      "print(\"For Ia =0%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia1,T1,Speed1))\n",
+      "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia2,T2,Speed2))\n",
+      "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia3,T3,Speed3))\n",
+      "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia4,T4,Speed4))\n",
+      "#################-----PLOT-----#####################\n",
+      "%matplotlib inline\n",
+      "import matplotlib.pyplot as plt\n",
+      "t = [T1, T2, T3, T4]\n",
+      "S = [Speed1, Speed2, Speed3, Speed4 ]\n",
+      "plt.plot(t,S)\n",
+      "plt.plot(t,S,'ro')\n",
+      "plt.axis([0,70,0,1500])\n",
+      "plt.xlabel('Torque(N-m)')\n",
+      "plt.ylabel('Speed(RPM)')\n",
+      "plt.title('Speed torque characteristics')\n",
+      "plt.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature Voltage =257.250000 V\n",
+        "For Ia =05 A, Torque = 10 N-m and Speed = 1211.08 rpm\n",
+        "For Ia =10 A, Torque = 20 N-m and Speed = 1193.90 rpm\n",
+        "For Ia =20 A, Torque = 40 N-m and Speed = 1159.52 rpm\n",
+        "For Ia =30 A, Torque = 60 N-m and Speed = 1125.14 rpm\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x8209fd0>"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.7, Page No. 380"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle and no load speed\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400                   # input 3-phase voltage\n",
+      "f = 50                    # frequency\n",
+      "Ia = 50                   # motor armature current\n",
+      "Ra = 0.1                  # armature resistance\n",
+      "bec = 0.3                 # back emf constant\n",
+      "alfa = 30.0               # firing angle\n",
+      "Inl = 5                   # no load current\n",
+      "n = 1600                  # speed in rpm \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+      "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*math.pi)\n",
+      "Bemf = Va-Inl*Ra\n",
+      "Speed = Bemf/bec\n",
+      "#(b)\n",
+      "Bemf2 = n*bec\n",
+      "Vi = Bemf2+(Ra*Ia)\n",
+      "alfa2= math.acos((Vi/(3*sqrt_3*V*sqrt_2/(sqrt_3*2*math.pi)))-1)\n",
+      "alfa2 = alfa2*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nAverage output voltage of rectifier = %.1f V\\nBack emf = %.1f V\\nSpeed = %d rpm\"%(math.floor(Va*10)/10,Bemf,Speed))\n",
+      "print(\"\\n(b)\\nBack emf = %.0f V\\nInput voltage to motor = %.0f V\\nfiring angle = %.2f\u00b0\"%(Bemf2,Vi,alfa2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Average output voltage of rectifier = 503.9 V\n",
+        "Back emf = 503.4 V\n",
+        "Speed = 1678 rpm\n",
+        "\n",
+        "(b)\n",
+        "Back emf = 480 V\n",
+        "Input voltage to motor = 485 V\n",
+        "firing angle = 37.26\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 147
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.8, Page No. 381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#firing angle of converter and power fed back to source(refering ex.9.2)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V= 230.0                # input supply voltage\n",
+      "f = 50.0                # supply frequency\n",
+      "alfa_f = 0              # firing angle of converter in the field\n",
+      "Rf = 200.0              # field resistance\n",
+      "Ra = 0.25               # Armature resistance\n",
+      "Ia = 50                 # Armature current\n",
+      "vc = 1.1                # voltage constant\n",
+      "tc = 1.1                # torque constant\n",
+      "alfa_a = 45             # firing angle of armature ciruit\n",
+      "\n",
+      "#Calculations\n",
+      "alfa_a = alfa_a*math.pi/180\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+      "Va1 = 2*Vm*math.cos(alfa_a)/math.pi\n",
+      "bemf = Va1- Ia*Ra - 2\n",
+      "Eg = -bemf\n",
+      "Va = Eg +  Ia*Ra +2\n",
+      "alfa = math.acos(Va*math.pi/(2*sqrt_2*V))\n",
+      "alfa = alfa*180/math.pi\n",
+      "P = -Va*Ia\n",
+      "\n",
+      "#Result\n",
+      "print(\"When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\\n\\nEg = %f\"%Eg)\n",
+      "print(\"\\nAlfa = %.2f\u00b0\\n\\nPower fed back to source = %d W\"%(alfa,P))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\n",
+        "\n",
+        "Eg = -131.900436\n",
+        "\n",
+        "Alfa = 124.54\u00b0\n",
+        "\n",
+        "Power fed back to source = 5870 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 152
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.9, Page No.381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Half controlled single phase bridge converter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 240                  # input DC voltage\n",
+      "alfa = 100               # firing angle    \n",
+      "Ra = 6                   # armature Resistance\n",
+      "Ia = 1.8                 # armature current\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = alfa*math.pi/180\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vdc = sqrt_2*V*(1+math.cos(alfa))/math.pi\n",
+      "Vdc = math.floor(Vdc*100)/100\n",
+      "Bemf = Vdc-Ra*Ia\n",
+      "\n",
+      "#Result\n",
+      "print(\"Back emf = %.2f V\"%Bemf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Back emf = 78.46 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 96
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.10, Page No.381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Speed and Torue\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "N = 1500.0               # rpm \n",
+      "Ra = 1.0                 # armature resistance\n",
+      "Ia = 10                  # Armature current\n",
+      "T1 = 5                   # Torque for case-1\n",
+      "alfa1 = 30               # Firing angle for case-1\n",
+      "N2 = 950.0               # rpm in case-2\n",
+      "alfa2 = 45               # Firing angle for case-2\n",
+      "\n",
+      "#Calculations\n",
+      "w = N*2*math.pi/60\n",
+      "k = (V-Ia*Ra)/w\n",
+      "k = math.floor(k*10)/10\n",
+      "#(a)\n",
+      "Ia1 = T1/k\n",
+      "V1 = 2*V*math.sqrt(2)*math.cos(alfa1*math.pi/180)/math.pi\n",
+      "V1 = math.floor(V1*10)/10\n",
+      "w1 = (V1-Ia1*Ra)/k\n",
+      "w1 = w1*60/(2*math.pi)\n",
+      "#(b)\n",
+      "V2 = 2*V*math.sqrt(2)*math.cos(alfa2*math.pi/180)/math.pi\n",
+      "V2 = math.ceil(V2*100)/100\n",
+      "Ia2 = V2-(k*N2*2*math.pi/60)\n",
+      "#Ia2 = math.floor(Ia2*100)/100\n",
+      "T2 = k*Ia2\n",
+      "\n",
+      "#Result\n",
+      "print(\"k - Torque constant = %.1f N-m/A\"%k)\n",
+      "print(\"\\n(a) Speed = %.1f rpm\\n\\n(b) Torque = %f N-m\"%(w1,T2))\n",
+      "#Answer for torque is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "k - Torque constant = 1.4 N-m/A\n",
+        "\n",
+        "(a) Speed = 1198.6 rpm\n",
+        "\n",
+        "(b) Torque = 10.013816 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 177
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.11, Page No.382"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# rms source, rms and average thyristor current and power  factor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 500.0                    # Morot max. voltage rating\n",
+      "N = 1500.0                   # motor max. speed in rpm\n",
+      "Ia = 100.0                   # Motor max. current\n",
+      "Vi = 350.0                   # 3-phase input supply voltage\n",
+      "Ra = 1.1                     # armature resistance\n",
+      "alfa = 45                    # firing angle\n",
+      "N1 = 1200.0                  # actual speed               \n",
+      "\n",
+      "#Calculations\n",
+      "w = N*2*math.pi/60\n",
+      "w1 = N1*2*math.pi/60\n",
+      "k = (V-Ia*Ra)/w\n",
+      "k = math.floor(k*10**4)/10**4\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+      "Va = 3*sqrt_3*Vi*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*3.142)#--math.pi = 3.142 to match the ans\n",
+      "Va = math.ceil(Va*100)/100\n",
+      "Ia = (Va -k*w1)/Ra\n",
+      "Ia = math.ceil(Ia*100)/100\n",
+      "Irms_i = Ia*math.sqrt(120.0/180.0)\n",
+      "Iavg = Ia/3\n",
+      "Irms = Ia/math.sqrt(3)\n",
+      "pf = (Ia*Va)/(sqrt_3*Vi*Irms_i)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Torque constant, k = %.2f V-s/rad\\n\\n(a)\\nConverter output voltage = %.2f V\\nIa = %.2f A \"%(k,Va,Ia))\n",
+      "print(\"\\n(b)\\nRMS input current = %.2f A\\nAverage thyristor current = %.2f A\\nRMS thyristor current = %.2f A\"%(Irms_i,Iavg,Irms))\n",
+      "print(\"Input power factor = %.3f lagging\"%(math.floor(pf*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Torque constant, k = 2.48 V-s/rad\n",
+        "\n",
+        "(a)\n",
+        "Converter output voltage = 403.34 V\n",
+        "Ia = 83.04 A \n",
+        "\n",
+        "(b)\n",
+        "RMS input current = 67.80 A\n",
+        "Average thyristor current = 27.68 A\n",
+        "RMS thyristor current = 47.94 A\n",
+        "Input power factor = 0.815 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.12, Page No.383"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# time taken by motor to reach 1000rpm speed\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "T = 40                # Load torque\n",
+      "N = 500.0             # motor speed \n",
+      "i = 0.01              # inertia of the drive\n",
+      "T1 = 100.0            # increased value of torque\n",
+      "N1 = 1000.0           # speed value\n",
+      "\n",
+      "#Calculations\n",
+      "w = N*2*math.pi/60\n",
+      "w1 = N1*2*math.pi/60\n",
+      "A = -w/((T1-T)/i)\n",
+      "t = (w1/((T1-T)/i))+A\n",
+      "t = math.floor(t*10**6)/10**6\n",
+      "\n",
+      "#Result\n",
+      "print(\"Time taken by motor to reach 1000 rpm speed = %f seconds\"%t)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time taken by motor to reach 1000 rpm speed = 0.008726 seconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.13, Page No.384"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# motor parameters:motor driven by DC chopper\n",
+      "\n",
+      "import math\n",
+      "#Variavble declaration\n",
+      "f = 400.0              # chopper operating frequency\n",
+      "V = 200.0              # input voltage\n",
+      "T = 30.0               # load torque\n",
+      "N = 1000.0             # speed in rpm\n",
+      "Ra = 0.2               # motor resistance\n",
+      "L = 2*10**-3           # motor inductance\n",
+      "emf = 1.5              # emf\n",
+      "k = 1.5                # torque constant\n",
+      "\n",
+      "#calculations\n",
+      "\n",
+      "w = N*math.pi*2/60\n",
+      "Ia = T/k\n",
+      "Be = emf*w\n",
+      "Be = math.ceil(Be*100)/100\n",
+      "alfa = (Be+Ia*Ra)/V\n",
+      "\n",
+      "t = 1/f\n",
+      "Ton = alfa*t\n",
+      "Toff = t-Ton\n",
+      "x = t*Ra/L\n",
+      "b1 = (1-(math.e**(-alfa*x)))\n",
+      "b1 = math.ceil(b1*10**4)/10**4\n",
+      "b2 = (1-(math.e**(-x)))\n",
+      "b2 = math.ceil(b2*10**4)/10**4\n",
+      "Imax = ((V/Ra)*(b1/b2))-(Be/Ra)\n",
+      "Imin= ((V/Ra)*(((math.e**(alfa*x))-1)/(((math.e**(x))-1))))-(Be/Ra)\n",
+      "x1 = (V-Be)/Ra\n",
+      "x2 = Ra/L\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nImax = %.3f A\\nImin = %d A\\n\\n(b) Excursion of armature current = %.3f A\"%(Imax,Imin,Imax))\n",
+      "print(\"\\n(c)\\nVariation of cuurent during on period of chopper is \\ni = %.1f*(1-e^(-%d*t'))\"%(x1,x2))\n",
+      "print(\"\\nVariation of cuurent during off period of chopper is \\ni = %.3f*e^(-%d*t')-%.1f*(1-e^(-%d*t'))\"%(Imax,x2,Be/Ra,x2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Imax = 39.193 A\n",
+        "Imin = 0 A\n",
+        "\n",
+        "(b) Excursion of armature current = 39.193 A\n",
+        "\n",
+        "(c)\n",
+        "Variation of cuurent during on period of chopper is \n",
+        "i = 214.6*(1-e^(-100*t'))\n",
+        "\n",
+        "Variation of cuurent during off period of chopper is \n",
+        "i = 39.193*e^(-100*t')-785.4*(1-e^(-100*t'))\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.14, Page No.391"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average motor current and speed\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "f = 50.0               # input frequency\n",
+      "V = 230                # input voltage\n",
+      "Ra = 1.5               # armature resistance\n",
+      "Rf = 1.5               # field resistance\n",
+      "K = 0.25               # torque constant\n",
+      "TL = 25                 # load torque\n",
+      "emf = 0.25             # emf constant\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = 2*math.sqrt(2)*V/math.pi\n",
+      "Vo = math.floor(Vo)\n",
+      "Ia = math.sqrt(T/K)\n",
+      "Ia = math.floor(Ia)\n",
+      "w = (Vo-Ia*Ra)/(emf*Ia)\n",
+      "N =w*60/(2*math.pi)\n",
+      "N = math.floor(N*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ia = %d A\\nN = %.2f RPM\"%(Ia,N))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ia = 10 A\n",
+        "N = 733.38 RPM\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.15, Page No.391"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Armature current and firing angle of semi-converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vo = 675.0               # transformer secondary voltage\n",
+      "alfa1 = 90.5             # case 1 firing angle\n",
+      "N1 = 350.0               # case 1 motor speed in rpm\n",
+      "Ia1 = 30.0               # case 1 armature current\n",
+      "N2 = 500.0               # expected speed\n",
+      "Ra = 0.22                # armature resistance\n",
+      "Rf = 0.22                # field resistance\n",
+      "\n",
+      "#Calculations\n",
+      "Ia2 = Ia1*N2/N1\n",
+      "Ia2 = math.ceil(Ia2*100)/100\n",
+      "Va1 = Vo*math.sqrt(2)*(1+math.cos(alfa1*math.pi/180))/math.pi\n",
+      "Eb1 = Va1-(Ia1*(Ra+Rf))\n",
+      "Va2 = (Eb1/((Ia1*N1)/(Ia2*N2)))+Ia2*(Ra+Rf)\n",
+      "alfa2 = math.acos(((Va2*math.pi)/(math.sqrt(2)*Vo))-1)\n",
+      "alfa2 = alfa2*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"Armature current = %.2f A\\n\\nFiring Angle = %.2f\u00b0\"%(Ia2,alfa2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature current = 42.86 A\n",
+        "\n",
+        "Firing Angle = 4.77\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.16, Page No. 392"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Torque and armature current\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "P = 15.0                    # motor power rating\n",
+      "V = 220.0                   # motor voltage rating\n",
+      "N = 1500.0                  # motor max. speed\n",
+      "Vi = 230.0                  # input voltage\n",
+      "emf = 0.03                  # emf constant\n",
+      "K = 0.03                    # Torque constant\n",
+      "alfa =45                    # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vm = Vi*sqrt_2\n",
+      "N = N*2*math.pi/60\n",
+      "T = (4*emf*(Vm**2)*(math.cos(alfa)**2))/(((math.pi)**2)*(K*N)**2)\n",
+      "Ia = math.sqrt(T/K)\n",
+      "Ia = math.floor(Ia*100)/100\n",
+      "#(b)\n",
+      "Ia2 = Vm*(1+math.cos(alfa))/(math.pi*K*N)\n",
+      "Ia2 = math.floor(Ia2*10)/10\n",
+      "T2 = K*Ia2**2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\n Torque = %.2f N-m\\n Armature current = %.2f A\"%(T,Ia))\n",
+      "print(\"\\n(b)\\n Armature current = %.1f A\\n Torque = %.4f N-m\"%(Ia2,T2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        " Torque = 28.96 N-m\n",
+        " Armature current = 31.06 A\n",
+        "\n",
+        "(b)\n",
+        " Armature current = 37.5 A\n",
+        " Torque = 42.1875 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.17, Page No.392"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "# motor current and Torque \n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Pr = 15.0                   # motor power rating\n",
+      "Vr = 220.0                  # motor voltage rating\n",
+      "N = 1000.0                  # motor max. speed\n",
+      "R = 0.2                     # total armature and series resistance\n",
+      "Vi = 230.0                  # input voltage\n",
+      "Ks = 0.03                   # speed constant\n",
+      "K = 0.03                    # Torque constant\n",
+      "alfa = 30                   # Firing angle\n",
+      "\n",
+      "#Calculation\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vm = Vi*sqrt_2\n",
+      "N = N*2*math.pi/60\n",
+      "N = math.ceil(N*100)/100\n",
+      "V = Vm*(1+math.cos(alfa))/math.pi\n",
+      "V = math.floor(V*100)/100\n",
+      "Ia = V/((Ks*N)+R)\n",
+      "Ia = math.floor(Ia*1000)/1000\n",
+      "T = K*(Ia*Ia)\n",
+      "\n",
+      "# Result\n",
+      "print(\"Armature current = %.3f A\\n\\nTorque = %.2f N-m\"%(Ia,T))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature current = 57.807 A\n",
+        "\n",
+        "Torque = 100.25 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 69
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.18, Page No. 400"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# load torque, rotor current and stator voltage\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 400.0                  # motor voltage rating\n",
+      "p = 4.0                      # no of poles\n",
+      "f = 50.0                   # frequency\n",
+      "r1 = 0.64                  # Stator resistance \n",
+      "x1 = 1.1                   # leakage resistance\n",
+      "r2 = 0.08                  # rotor resistance\n",
+      "x2 = 0.12                  # leakage resistance\n",
+      "T = 40.0                   # Torque at given speed\n",
+      "N1 = 1440.0                # Speed value for given torque\n",
+      "N2 = 1300.0                # Speed value for which torque is asked to calculate\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "ns = 60*2*f/p\n",
+      "Tl = T*(N2/N1)**2\n",
+      "Tl = math.floor(Tl*10)/10\n",
+      "#(b)\n",
+      "s = (ns -N2)/ns\n",
+      "r2_dash = r2*(2)**2\n",
+      "x2_dash = x2*(2)**2\n",
+      "pi = math.floor(math.pi*100)/100\n",
+      "I2_dash = math.sqrt((Tl*2*pi*s*(ns/60))/(3*r2_dash)) \n",
+      "I2 = 2*I2_dash\n",
+      "#(c)\n",
+      "I1 = I2_dash\n",
+      "V1 = I1*math.sqrt(((r1+r2_dash+r2_dash*((1-s)/s))**2)+(x1+x2_dash)**2)\n",
+      "StV = V1*math.sqrt(3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) At %d rpm , Load torque = %.1f N-m\\n(b) Rotor current = %.2f A\\n(c) Stator voltage = %.1f V\"%(N2,Tl,I2,StV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) At 1300 rpm , Load torque = 32.6 N-m\n",
+        "(b) Rotor current = 53.32 A\n",
+        "(c) Stator voltage = 158.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.19, Page No. 400"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# slip for max torque, speed and corresponding max torque\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                  # motor voltage rating\n",
+      "p = 4.0                      # no of poles\n",
+      "f = 50.0                   # frequency\n",
+      "r1 = 0.64                  # Stator resistance \n",
+      "x1 = 1.1                   # leakage resistance\n",
+      "r2 = 0.08                  # rotor resistance\n",
+      "x2 = 0.12                  # leakage resistance\n",
+      "T = 40.0                   # Torque at given speed\n",
+      "N1 = 1440.0                # Speed value for given torque\n",
+      "N2 = 1300.0                # Speed value for which torque is asked to calculate\n",
+      "f1 = 50                    # case 1 frequency\n",
+      "f2 = 25                    # case 2 frequency\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "ns = 2*f1/p\n",
+      "r2_dash = r2*(2)**2\n",
+      "x2_dash = x2*(2)**2\n",
+      "s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+      "s = math.floor(s*10000)/10000\n",
+      "V1 = V/math.sqrt(3)\n",
+      "V1 = math.ceil(V1*100)/100\n",
+      "Tmax = (1.5*V1**2/(2*math.pi*ns))*(1/(r1+math.sqrt(r1**2+(x1+x2_dash)**2)))\n",
+      "Tmax = math.floor(Tmax*10)/10\n",
+      "n = ns*(1-s)\n",
+      "N = n*60\n",
+      "#(b)\n",
+      "x1_b = x1/2\n",
+      "x2_dash_b = x2_dash/2\n",
+      "s2 = r2_dash/math.sqrt(r1**2+(x1_b+x2_dash_b)**2)\n",
+      "s2 = math.floor(s2*10000)/10000\n",
+      "ns2 = 2*f2/p\n",
+      "V1_b = V1*0.5\n",
+      "Tmax2 = (1.5*V1_b**2/(2*math.pi*ns2))*(1/(r1+math.sqrt(r1**2+(x1_b+x2_dash_b)**2)))\n",
+      "n2 = ns2*(1-s2)\n",
+      "N2 = n2*60\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.1f N-m\\n\\nSpeed corresponds to max torque = %.2f rpm\"%(f1,s,Tmax,N))\n",
+      "print(\"\\n\\n(b) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.2f N-m\\n\\nSpeed corresponds to max torque = %.3f rpm\"%(f2,s2,Tmax2,N2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) for f = 50 Hz\n",
+        "\n",
+        "slip = 0.1877\n",
+        "\n",
+        "Tmax = 217.2 N-m\n",
+        "\n",
+        "Speed corresponds to max torque = 1218.45 rpm\n",
+        "\n",
+        "\n",
+        "(b) for f = 25 Hz\n",
+        "\n",
+        "slip = 0.3147\n",
+        "\n",
+        "Tmax = 153.72 N-m\n",
+        "\n",
+        "Speed corresponds to max torque = 513.975 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 46
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.20, Page No. 401"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Starting torque\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 400.0                  # motor voltage rating\n",
+      "p = 4.0                      # no of poles\n",
+      "f = 50.0                   # frequency\n",
+      "r1 = 0.64                  # Stator resistance \n",
+      "x1 = 1.1                   # leakage resistance\n",
+      "r2 = 0.08                  # rotor resistance\n",
+      "x2 = 0.12                  # leakage resistance\n",
+      "T = 40.0                   # Torque at given speed\n",
+      "N1 = 1440.0                # Speed value for given torque\n",
+      "N2 = 1300.0                # Speed value for which torque is asked to calculate\n",
+      "f1 = 50                    # case 1 frequency\n",
+      "f2 = 25                    # case 2 frequency\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "ns = 2*f1/p\n",
+      "r2_dash = r2*(2)**2\n",
+      "x2_dash = x2*(2)**2\n",
+      "#s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+      "#s = math.floor(s*10000)/10000\n",
+      "V1 = V/math.sqrt(3)\n",
+      "V1 = math.ceil(V1*100)/100\n",
+      "Tstarting = (3*(V1**2)*(r2_dash))/(2*math.pi*ns*((r1+r2_dash)**2+(x1+x2_dash)**2))\n",
+      "#(b)\n",
+      "x1_b = x1/2\n",
+      "x2_dash_b = x2_dash/2\n",
+      "#s2 = math.floor(s2*10000)/10000\n",
+      "ns2 = 2*f2/p\n",
+      "V1_b = V1*0.5\n",
+      "Tstarting_b = (3*(V1_b**2)*(r2_dash))/(2*math.pi*ns2*((r1+r2_dash)**2+(x1_b+x2_dash_b)**2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) for %d Hz,\\nT_starting = %.2f N-m\"%(f1,Tstarting))\n",
+      "print(\"\\n(b) for %d Hz,\\nT_starting = %.2f N-m\"%(f2,Tstarting_b))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) for 50 Hz,\n",
+        "T_starting = 95.37 N-m\n",
+        "\n",
+        "(b) for 25 Hz,\n",
+        "T_starting = 105.45 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 57
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_9_2.ipynb b/Power_Electronics/Power_electronics_ch_9_2.ipynb
new file mode 100755
index 00000000..3528b8b2
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_9_2.ipynb
@@ -0,0 +1,1256 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9: DC and AC Motor Drives"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.1, Page No. 377"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Field current, firing angle and power factor\n",
+      "\n",
+      "import math\n",
+      "# Variable delcaration\n",
+      "V= 230.0                # input supply voltage\n",
+      "f = 50.0                # supply frequency\n",
+      "alfa_f = 0              # firing angle for semi-converter for field\n",
+      "Rf = 200.0              # field resistance\n",
+      "Ra = 0.3                # Armature resistance\n",
+      "T = 50.0                # torque\n",
+      "r = 900.0               # rpm\n",
+      "vc = 0.8                # voltage constant\n",
+      "tc = 0.8                # torque constant\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "Vf = (2*Vm/math.pi)*math.cos(alfa_f)\n",
+      "If = Vf/Rf\n",
+      "If = math.floor(If*10**4)/10**4\n",
+      "#(b)\n",
+      "Ia = T/(tc*If)\n",
+      "Ia = math.ceil(Ia*1000)/1000\n",
+      "w = r*2*math.pi/60\n",
+      "w = math.ceil(w*1000)/1000\n",
+      "back_emf =vc*w*If\n",
+      "back_emf = math.floor(back_emf*100)/100\n",
+      "Va = back_emf+Ia*Ra\n",
+      "Va = math.floor(Va*1000)/1000\n",
+      "alfa = math.acos((Va*math.pi/(Vm))-1)\n",
+      "alfa_a = alfa*180/math.pi\n",
+      "alfa_a = math.floor(alfa_a*1000)/1000\n",
+      "#(c)\n",
+      "P = Va*Ia\n",
+      "Ii = Ia*math.sqrt((180-alfa_a)/180)\n",
+      "Ii = math.floor(Ii*100)/100\n",
+      "VA = V*Ii\n",
+      "pf = P/VA\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Field current = %.4f A\\n(b) Alfa_a = %.3f\u00b0\\n(c) Input power factor = %.3f lagging\"%(If,alfa_a,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Field current = 1.0352 A\n",
+        "(b) Alfa_a = 94.076\u00b0\n",
+        "(c) Input power factor = 0.605 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.2, Page No.378"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Torque developed and motor speed\n",
+      "\n",
+      "import math\n",
+      "# Variable delcaration\n",
+      "V= 230.0                # input supply voltage\n",
+      "f = 50.0                # supply frequency\n",
+      "alfa_f = 0              # firing angle of converter in the field\n",
+      "Rf = 200.0              # field resistance\n",
+      "Ra = 0.25               # Armature resistance\n",
+      "Ia = 50                 # Armature current\n",
+      "vc = 1.1                # voltage constant\n",
+      "tc = 1.1                # torque constant\n",
+      "alfa_a = 45             # firing angle of armature ciruit\n",
+      "\n",
+      "#Calculations\n",
+      "alfa_a = alfa_a*math.pi/180\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+      "Va = 2*Vm*math.cos(alfa_a)/math.pi\n",
+      "If = Vf/Rf\n",
+      "If = math.floor(If*10**4)/10**4\n",
+      "T = tc*Ia*If\n",
+      "bemf = Va- Ia*Ra - 2\n",
+      "w = bemf/(vc*If)\n",
+      "N = w*60/(2*math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Torque = %.3f N-m\\n\\nMotor Speed = %.1f rpm\"%(T,N))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Torque = 56.936 N-m\n",
+        "\n",
+        "Motor Speed = 1106.1 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 52
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.3, Page No. 378"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# firing angle of the converter in the armature circuit\n",
+      "\n",
+      "import math\n",
+      "V = 400                  # input 3-phase supply\n",
+      "alfa_f = 0               # firing angle of field converter\n",
+      "Ra = 0.3                 # Armature resistance\n",
+      "Rf = 250                 # field resistance\n",
+      "Ia = 50                  # Armature current\n",
+      "vc = 1.3                 # motor voltage constant\n",
+      "N = 1200                 # speed in rpm\n",
+      "\n",
+      "#Calculations\n",
+      "Vf = 3*math.sqrt(3)*V*math.sqrt(2)*math.cos(alfa_f)/(math.sqrt(3)*math.pi)\n",
+      "If = Vf/Rf\n",
+      "w = N*2*math.pi/60\n",
+      "Eb = vc*If*w\n",
+      "Va = Eb+Ia*Ra\n",
+      "alfa_a = math.acos(Va*math.sqrt(3)*math.pi/(3*V*math.sqrt(2)*math.sqrt(3)))\n",
+      "alfa_a = alfa_a*180/math.pi\n",
+      "alfa_a = math.ceil(alfa_a*100)/100\n",
+      "#Result\n",
+      "print(\"Alfa_a = %.2f\u00b0\"%alfa_a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Alfa_a = 47.07\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 55
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.4, Page No. 378"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input power, speed and torque\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 500                # input supply voltage\n",
+      "Ra = 0.1               # Armature resistance\n",
+      "Ia = 200.0             # Armature current\n",
+      "vc = 1.4               # Volatage constant\n",
+      "tc = 1.4               # Torque constant\n",
+      "If = 2                 # Field current\n",
+      "d = 0.5                # chopper duty cycle\n",
+      "\n",
+      "# Calculations\n",
+      "#(a)\n",
+      "Pi = d*V*Ia\n",
+      "#(b)\n",
+      "Va = V*d\n",
+      "Eb = Va - Ia*Ra\n",
+      "w = Eb/(vc*If)\n",
+      "w = math.floor(w*100)/100\n",
+      "N = w*60/(2*math.pi)\n",
+      "#(c)\n",
+      "T = tc*Ia*If\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Power input = %.0f kW \\n(b) Speed = %.2f rpm\\n(c) Torque = %.0f N-m\"%(Pi/1000,N,T))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Power input = 50 kW \n",
+        "(b) Speed = 784.38 rpm\n",
+        "(c) Torque = 560 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 71
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.5, Page No. 379"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Braking DC motor using one quadrant chopper\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ra = 0.1                # Armature resistance\n",
+      "Rb = 7.5                # Breaking resistance\n",
+      "vc = 1.4                # voltage constant\n",
+      "Ia = 120                # armature current\n",
+      "If = 1.6                # field current\n",
+      "d = 0.35                # chopper duty cycle\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "Vavg = Rb*Ia*(1-d)\n",
+      "#(b)\n",
+      "Pb = (Ia**2)*Rb*((1-d)**2)\n",
+      "#(c)\n",
+      "Eb = Vavg+Ra*Ia\n",
+      "w = Eb/(vc*If)\n",
+      "w = math.ceil(w*100)/100\n",
+      "N = w*60/(2*math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average voltage across chopper = %.0f V\\n(b) Pb = %.0f W\\n(c) Speed = %.4f rpm \"%(Vavg,Pb,N))\n",
+      "#Answer for Pb and Speed is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average voltage across chopper = 585 V\n",
+        "(b) Pb = 45630 W\n",
+        "(c) Speed = 2545.0785 rpm \n"
+       ]
+      }
+     ],
+     "prompt_number": 87
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.6, Page No. 379"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Speed -Torque characteristics\n",
+      "\n",
+      "import math\n",
+      "from pylab import *\n",
+      "#variable declaration\n",
+      "V = 220.0                # per phase input voltage\n",
+      "f = 50                   # frequency\n",
+      "L = 0.012                # motor inductance\n",
+      "R = 0.72                 # Resistance\n",
+      "a = 2                    # Armature constant\n",
+      "alfa = 90                # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3=math.floor(math.sqrt(3)*1000)/1000\n",
+      "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(2*math.pi)\n",
+      "Va = math.floor(Va*100)/100\n",
+      "Ia1 = 5                  # Armature current for case 1\n",
+      "T1 = Ia1*a\n",
+      "Eb1 =Va-Ia1*R\n",
+      "Speed1 = Eb1*60/(a*2*math.pi) \n",
+      "Speed1 = math.floor(Speed1*100)/100\n",
+      "\n",
+      "Ia2 = 10                  # Armature current for case 2\n",
+      "T2 = Ia2*a\n",
+      "Eb2 =Va-Ia2*R\n",
+      "Speed2 = Eb2*60/(a*2*math.pi) \n",
+      "Speed2 = math.floor(Speed2*100)/100\n",
+      "\n",
+      "Ia3 = 20                  # Armature current for case 3\n",
+      "T3 = Ia3*a\n",
+      "Eb3 =Va-Ia3*R\n",
+      "Speed3 = Eb3*60/(a*2*math.pi) \n",
+      "Speed3 = math.floor(Speed3*100)/100\n",
+      "\n",
+      "Ia4 = 30                  # Armature current for case 4\n",
+      "T4 = Ia4*a\n",
+      "Eb4 =Va-Ia4*R\n",
+      "Speed4 = Eb4*60/(a*2*math.pi) \n",
+      "Speed4 = math.floor(Speed4*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"Armature Voltage =%f V\"%Va)\n",
+      "print(\"For Ia =0%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia1,T1,Speed1))\n",
+      "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia2,T2,Speed2))\n",
+      "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia3,T3,Speed3))\n",
+      "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia4,T4,Speed4))\n",
+      "#################-----PLOT-----#####################\n",
+      "%matplotlib inline\n",
+      "import matplotlib.pyplot as plt\n",
+      "t = [T1, T2, T3, T4]\n",
+      "S = [Speed1, Speed2, Speed3, Speed4 ]\n",
+      "plt.plot(t,S)\n",
+      "plt.plot(t,S,'ro')\n",
+      "plt.axis([0,70,0,1500])\n",
+      "plt.xlabel('Torque(N-m)')\n",
+      "plt.ylabel('Speed(RPM)')\n",
+      "plt.title('Speed torque characteristics')\n",
+      "plt.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature Voltage =257.250000 V\n",
+        "For Ia =05 A, Torque = 10 N-m and Speed = 1211.08 rpm\n",
+        "For Ia =10 A, Torque = 20 N-m and Speed = 1193.90 rpm\n",
+        "For Ia =20 A, Torque = 40 N-m and Speed = 1159.52 rpm\n",
+        "For Ia =30 A, Torque = 60 N-m and Speed = 1125.14 rpm\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x8209fd0>"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.7, Page No. 380"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle and no load speed\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400                   # input 3-phase voltage\n",
+      "f = 50                    # frequency\n",
+      "Ia = 50                   # motor armature current\n",
+      "Ra = 0.1                  # armature resistance\n",
+      "bec = 0.3                 # back emf constant\n",
+      "alfa = 30.0               # firing angle\n",
+      "Inl = 5                   # no load current\n",
+      "n = 1600                  # speed in rpm \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+      "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*math.pi)\n",
+      "Bemf = Va-Inl*Ra\n",
+      "Speed = Bemf/bec\n",
+      "#(b)\n",
+      "Bemf2 = n*bec\n",
+      "Vi = Bemf2+(Ra*Ia)\n",
+      "alfa2= math.acos((Vi/(3*sqrt_3*V*sqrt_2/(sqrt_3*2*math.pi)))-1)\n",
+      "alfa2 = alfa2*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nAverage output voltage of rectifier = %.1f V\\nBack emf = %.1f V\\nSpeed = %d rpm\"%(math.floor(Va*10)/10,Bemf,Speed))\n",
+      "print(\"\\n(b)\\nBack emf = %.0f V\\nInput voltage to motor = %.0f V\\nfiring angle = %.2f\u00b0\"%(Bemf2,Vi,alfa2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Average output voltage of rectifier = 503.9 V\n",
+        "Back emf = 503.4 V\n",
+        "Speed = 1678 rpm\n",
+        "\n",
+        "(b)\n",
+        "Back emf = 480 V\n",
+        "Input voltage to motor = 485 V\n",
+        "firing angle = 37.26\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 147
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.8, Page No. 381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#firing angle of converter and power fed back to source(refering ex.9.2)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V= 230.0                # input supply voltage\n",
+      "f = 50.0                # supply frequency\n",
+      "alfa_f = 0              # firing angle of converter in the field\n",
+      "Rf = 200.0              # field resistance\n",
+      "Ra = 0.25               # Armature resistance\n",
+      "Ia = 50                 # Armature current\n",
+      "vc = 1.1                # voltage constant\n",
+      "tc = 1.1                # torque constant\n",
+      "alfa_a = 45             # firing angle of armature ciruit\n",
+      "\n",
+      "#Calculations\n",
+      "alfa_a = alfa_a*math.pi/180\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+      "Va1 = 2*Vm*math.cos(alfa_a)/math.pi\n",
+      "bemf = Va1- Ia*Ra - 2\n",
+      "Eg = -bemf\n",
+      "Va = Eg +  Ia*Ra +2\n",
+      "alfa = math.acos(Va*math.pi/(2*sqrt_2*V))\n",
+      "alfa = alfa*180/math.pi\n",
+      "P = -Va*Ia\n",
+      "\n",
+      "#Result\n",
+      "print(\"When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\\n\\nEg = %f\"%Eg)\n",
+      "print(\"\\nAlfa = %.2f\u00b0\\n\\nPower fed back to source = %d W\"%(alfa,P))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\n",
+        "\n",
+        "Eg = -131.900436\n",
+        "\n",
+        "Alfa = 124.54\u00b0\n",
+        "\n",
+        "Power fed back to source = 5870 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 152
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.9, Page No.381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Half controlled single phase bridge converter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 240                  # input DC voltage\n",
+      "alfa = 100               # firing angle    \n",
+      "Ra = 6                   # armature Resistance\n",
+      "Ia = 1.8                 # armature current\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = alfa*math.pi/180\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vdc = sqrt_2*V*(1+math.cos(alfa))/math.pi\n",
+      "Vdc = math.floor(Vdc*100)/100\n",
+      "Bemf = Vdc-Ra*Ia\n",
+      "\n",
+      "#Result\n",
+      "print(\"Back emf = %.2f V\"%Bemf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Back emf = 78.46 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 96
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.10, Page No.381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Speed and Torue\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "N = 1500.0               # rpm \n",
+      "Ra = 1.0                 # armature resistance\n",
+      "Ia = 10                  # Armature current\n",
+      "T1 = 5                   # Torque for case-1\n",
+      "alfa1 = 30               # Firing angle for case-1\n",
+      "N2 = 950.0               # rpm in case-2\n",
+      "alfa2 = 45               # Firing angle for case-2\n",
+      "\n",
+      "#Calculations\n",
+      "w = N*2*math.pi/60\n",
+      "k = (V-Ia*Ra)/w\n",
+      "k = math.floor(k*10)/10\n",
+      "#(a)\n",
+      "Ia1 = T1/k\n",
+      "V1 = 2*V*math.sqrt(2)*math.cos(alfa1*math.pi/180)/math.pi\n",
+      "V1 = math.floor(V1*10)/10\n",
+      "w1 = (V1-Ia1*Ra)/k\n",
+      "w1 = w1*60/(2*math.pi)\n",
+      "#(b)\n",
+      "V2 = 2*V*math.sqrt(2)*math.cos(alfa2*math.pi/180)/math.pi\n",
+      "V2 = math.ceil(V2*100)/100\n",
+      "Ia2 = V2-(k*N2*2*math.pi/60)\n",
+      "#Ia2 = math.floor(Ia2*100)/100\n",
+      "T2 = k*Ia2\n",
+      "\n",
+      "#Result\n",
+      "print(\"k - Torque constant = %.1f N-m/A\"%k)\n",
+      "print(\"\\n(a) Speed = %.1f rpm\\n\\n(b) Torque = %f N-m\"%(w1,T2))\n",
+      "#Answer for torque is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "k - Torque constant = 1.4 N-m/A\n",
+        "\n",
+        "(a) Speed = 1198.6 rpm\n",
+        "\n",
+        "(b) Torque = 10.013816 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 177
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.11, Page No.382"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# rms source, rms and average thyristor current and power  factor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 500.0                    # Morot max. voltage rating\n",
+      "N = 1500.0                   # motor max. speed in rpm\n",
+      "Ia = 100.0                   # Motor max. current\n",
+      "Vi = 350.0                   # 3-phase input supply voltage\n",
+      "Ra = 1.1                     # armature resistance\n",
+      "alfa = 45                    # firing angle\n",
+      "N1 = 1200.0                  # actual speed               \n",
+      "\n",
+      "#Calculations\n",
+      "w = N*2*math.pi/60\n",
+      "w1 = N1*2*math.pi/60\n",
+      "k = (V-Ia*Ra)/w\n",
+      "k = math.floor(k*10**4)/10**4\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+      "Va = 3*sqrt_3*Vi*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*3.142)#--math.pi = 3.142 to match the ans\n",
+      "Va = math.ceil(Va*100)/100\n",
+      "Ia = (Va -k*w1)/Ra\n",
+      "Ia = math.ceil(Ia*100)/100\n",
+      "Irms_i = Ia*math.sqrt(120.0/180.0)\n",
+      "Iavg = Ia/3\n",
+      "Irms = Ia/math.sqrt(3)\n",
+      "pf = (Ia*Va)/(sqrt_3*Vi*Irms_i)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Torque constant, k = %.2f V-s/rad\\n\\n(a)\\nConverter output voltage = %.2f V\\nIa = %.2f A \"%(k,Va,Ia))\n",
+      "print(\"\\n(b)\\nRMS input current = %.2f A\\nAverage thyristor current = %.2f A\\nRMS thyristor current = %.2f A\"%(Irms_i,Iavg,Irms))\n",
+      "print(\"Input power factor = %.3f lagging\"%(math.floor(pf*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Torque constant, k = 2.48 V-s/rad\n",
+        "\n",
+        "(a)\n",
+        "Converter output voltage = 403.34 V\n",
+        "Ia = 83.04 A \n",
+        "\n",
+        "(b)\n",
+        "RMS input current = 67.80 A\n",
+        "Average thyristor current = 27.68 A\n",
+        "RMS thyristor current = 47.94 A\n",
+        "Input power factor = 0.815 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.12, Page No.383"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# time taken by motor to reach 1000rpm speed\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "T = 40                # Load torque\n",
+      "N = 500.0             # motor speed \n",
+      "i = 0.01              # inertia of the drive\n",
+      "T1 = 100.0            # increased value of torque\n",
+      "N1 = 1000.0           # speed value\n",
+      "\n",
+      "#Calculations\n",
+      "w = N*2*math.pi/60\n",
+      "w1 = N1*2*math.pi/60\n",
+      "A = -w/((T1-T)/i)\n",
+      "t = (w1/((T1-T)/i))+A\n",
+      "t = math.floor(t*10**6)/10**6\n",
+      "\n",
+      "#Result\n",
+      "print(\"Time taken by motor to reach 1000 rpm speed = %f seconds\"%t)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time taken by motor to reach 1000 rpm speed = 0.008726 seconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.13, Page No.384"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# motor parameters:motor driven by DC chopper\n",
+      "\n",
+      "import math\n",
+      "#Variavble declaration\n",
+      "f = 400.0              # chopper operating frequency\n",
+      "V = 200.0              # input voltage\n",
+      "T = 30.0               # load torque\n",
+      "N = 1000.0             # speed in rpm\n",
+      "Ra = 0.2               # motor resistance\n",
+      "L = 2*10**-3           # motor inductance\n",
+      "emf = 1.5              # emf\n",
+      "k = 1.5                # torque constant\n",
+      "\n",
+      "#calculations\n",
+      "\n",
+      "w = N*math.pi*2/60\n",
+      "Ia = T/k\n",
+      "Be = emf*w\n",
+      "Be = math.ceil(Be*100)/100\n",
+      "alfa = (Be+Ia*Ra)/V\n",
+      "\n",
+      "t = 1/f\n",
+      "Ton = alfa*t\n",
+      "Toff = t-Ton\n",
+      "x = t*Ra/L\n",
+      "b1 = (1-(math.e**(-alfa*x)))\n",
+      "b1 = math.ceil(b1*10**4)/10**4\n",
+      "b2 = (1-(math.e**(-x)))\n",
+      "b2 = math.ceil(b2*10**4)/10**4\n",
+      "Imax = ((V/Ra)*(b1/b2))-(Be/Ra)\n",
+      "Imin= ((V/Ra)*(((math.e**(alfa*x))-1)/(((math.e**(x))-1))))-(Be/Ra)\n",
+      "x1 = (V-Be)/Ra\n",
+      "x2 = Ra/L\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nImax = %.3f A\\nImin = %d A\\n\\n(b) Excursion of armature current = %.3f A\"%(Imax,Imin,Imax))\n",
+      "print(\"\\n(c)\\nVariation of cuurent during on period of chopper is \\ni = %.1f*(1-e^(-%d*t'))\"%(x1,x2))\n",
+      "print(\"\\nVariation of cuurent during off period of chopper is \\ni = %.3f*e^(-%d*t')-%.1f*(1-e^(-%d*t'))\"%(Imax,x2,Be/Ra,x2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Imax = 39.193 A\n",
+        "Imin = 0 A\n",
+        "\n",
+        "(b) Excursion of armature current = 39.193 A\n",
+        "\n",
+        "(c)\n",
+        "Variation of cuurent during on period of chopper is \n",
+        "i = 214.6*(1-e^(-100*t'))\n",
+        "\n",
+        "Variation of cuurent during off period of chopper is \n",
+        "i = 39.193*e^(-100*t')-785.4*(1-e^(-100*t'))\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.14, Page No.391"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average motor current and speed\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "f = 50.0               # input frequency\n",
+      "V = 230                # input voltage\n",
+      "Ra = 1.5               # armature resistance\n",
+      "Rf = 1.5               # field resistance\n",
+      "K = 0.25               # torque constant\n",
+      "TL = 25                 # load torque\n",
+      "emf = 0.25             # emf constant\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = 2*math.sqrt(2)*V/math.pi\n",
+      "Vo = math.floor(Vo)\n",
+      "Ia = math.sqrt(T/K)\n",
+      "Ia = math.floor(Ia)\n",
+      "w = (Vo-Ia*Ra)/(emf*Ia)\n",
+      "N =w*60/(2*math.pi)\n",
+      "N = math.floor(N*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ia = %d A\\nN = %.2f RPM\"%(Ia,N))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ia = 10 A\n",
+        "N = 733.38 RPM\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.15, Page No.391"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Armature current and firing angle of semi-converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vo = 675.0               # transformer secondary voltage\n",
+      "alfa1 = 90.5             # case 1 firing angle\n",
+      "N1 = 350.0               # case 1 motor speed in rpm\n",
+      "Ia1 = 30.0               # case 1 armature current\n",
+      "N2 = 500.0               # expected speed\n",
+      "Ra = 0.22                # armature resistance\n",
+      "Rf = 0.22                # field resistance\n",
+      "\n",
+      "#Calculations\n",
+      "Ia2 = Ia1*N2/N1\n",
+      "Ia2 = math.ceil(Ia2*100)/100\n",
+      "Va1 = Vo*math.sqrt(2)*(1+math.cos(alfa1*math.pi/180))/math.pi\n",
+      "Eb1 = Va1-(Ia1*(Ra+Rf))\n",
+      "Va2 = (Eb1/((Ia1*N1)/(Ia2*N2)))+Ia2*(Ra+Rf)\n",
+      "alfa2 = math.acos(((Va2*math.pi)/(math.sqrt(2)*Vo))-1)\n",
+      "alfa2 = alfa2*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"Armature current = %.2f A\\n\\nFiring Angle = %.2f\u00b0\"%(Ia2,alfa2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature current = 42.86 A\n",
+        "\n",
+        "Firing Angle = 4.77\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.16, Page No. 392"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Torque and armature current\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "P = 15.0                    # motor power rating\n",
+      "V = 220.0                   # motor voltage rating\n",
+      "N = 1500.0                  # motor max. speed\n",
+      "Vi = 230.0                  # input voltage\n",
+      "emf = 0.03                  # emf constant\n",
+      "K = 0.03                    # Torque constant\n",
+      "alfa =45                    # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vm = Vi*sqrt_2\n",
+      "N = N*2*math.pi/60\n",
+      "T = (4*emf*(Vm**2)*(math.cos(alfa)**2))/(((math.pi)**2)*(K*N)**2)\n",
+      "Ia = math.sqrt(T/K)\n",
+      "Ia = math.floor(Ia*100)/100\n",
+      "#(b)\n",
+      "Ia2 = Vm*(1+math.cos(alfa))/(math.pi*K*N)\n",
+      "Ia2 = math.floor(Ia2*10)/10\n",
+      "T2 = K*Ia2**2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\n Torque = %.2f N-m\\n Armature current = %.2f A\"%(T,Ia))\n",
+      "print(\"\\n(b)\\n Armature current = %.1f A\\n Torque = %.4f N-m\"%(Ia2,T2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        " Torque = 28.96 N-m\n",
+        " Armature current = 31.06 A\n",
+        "\n",
+        "(b)\n",
+        " Armature current = 37.5 A\n",
+        " Torque = 42.1875 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.17, Page No.392"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "# motor current and Torque \n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Pr = 15.0                   # motor power rating\n",
+      "Vr = 220.0                  # motor voltage rating\n",
+      "N = 1000.0                  # motor max. speed\n",
+      "R = 0.2                     # total armature and series resistance\n",
+      "Vi = 230.0                  # input voltage\n",
+      "Ks = 0.03                   # speed constant\n",
+      "K = 0.03                    # Torque constant\n",
+      "alfa = 30                   # Firing angle\n",
+      "\n",
+      "#Calculation\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vm = Vi*sqrt_2\n",
+      "N = N*2*math.pi/60\n",
+      "N = math.ceil(N*100)/100\n",
+      "V = Vm*(1+math.cos(alfa))/math.pi\n",
+      "V = math.floor(V*100)/100\n",
+      "Ia = V/((Ks*N)+R)\n",
+      "Ia = math.floor(Ia*1000)/1000\n",
+      "T = K*(Ia*Ia)\n",
+      "\n",
+      "# Result\n",
+      "print(\"Armature current = %.3f A\\n\\nTorque = %.2f N-m\"%(Ia,T))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature current = 57.807 A\n",
+        "\n",
+        "Torque = 100.25 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 69
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.18, Page No. 400"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# load torque, rotor current and stator voltage\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 400.0                  # motor voltage rating\n",
+      "p = 4.0                      # no of poles\n",
+      "f = 50.0                   # frequency\n",
+      "r1 = 0.64                  # Stator resistance \n",
+      "x1 = 1.1                   # leakage resistance\n",
+      "r2 = 0.08                  # rotor resistance\n",
+      "x2 = 0.12                  # leakage resistance\n",
+      "T = 40.0                   # Torque at given speed\n",
+      "N1 = 1440.0                # Speed value for given torque\n",
+      "N2 = 1300.0                # Speed value for which torque is asked to calculate\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "ns = 60*2*f/p\n",
+      "Tl = T*(N2/N1)**2\n",
+      "Tl = math.floor(Tl*10)/10\n",
+      "#(b)\n",
+      "s = (ns -N2)/ns\n",
+      "r2_dash = r2*(2)**2\n",
+      "x2_dash = x2*(2)**2\n",
+      "pi = math.floor(math.pi*100)/100\n",
+      "I2_dash = math.sqrt((Tl*2*pi*s*(ns/60))/(3*r2_dash)) \n",
+      "I2 = 2*I2_dash\n",
+      "#(c)\n",
+      "I1 = I2_dash\n",
+      "V1 = I1*math.sqrt(((r1+r2_dash+r2_dash*((1-s)/s))**2)+(x1+x2_dash)**2)\n",
+      "StV = V1*math.sqrt(3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) At %d rpm , Load torque = %.1f N-m\\n(b) Rotor current = %.2f A\\n(c) Stator voltage = %.1f V\"%(N2,Tl,I2,StV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) At 1300 rpm , Load torque = 32.6 N-m\n",
+        "(b) Rotor current = 53.32 A\n",
+        "(c) Stator voltage = 158.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.19, Page No. 400"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# slip for max torque, speed and corresponding max torque\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                  # motor voltage rating\n",
+      "p = 4.0                      # no of poles\n",
+      "f = 50.0                   # frequency\n",
+      "r1 = 0.64                  # Stator resistance \n",
+      "x1 = 1.1                   # leakage resistance\n",
+      "r2 = 0.08                  # rotor resistance\n",
+      "x2 = 0.12                  # leakage resistance\n",
+      "T = 40.0                   # Torque at given speed\n",
+      "N1 = 1440.0                # Speed value for given torque\n",
+      "N2 = 1300.0                # Speed value for which torque is asked to calculate\n",
+      "f1 = 50                    # case 1 frequency\n",
+      "f2 = 25                    # case 2 frequency\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "ns = 2*f1/p\n",
+      "r2_dash = r2*(2)**2\n",
+      "x2_dash = x2*(2)**2\n",
+      "s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+      "s = math.floor(s*10000)/10000\n",
+      "V1 = V/math.sqrt(3)\n",
+      "V1 = math.ceil(V1*100)/100\n",
+      "Tmax = (1.5*V1**2/(2*math.pi*ns))*(1/(r1+math.sqrt(r1**2+(x1+x2_dash)**2)))\n",
+      "Tmax = math.floor(Tmax*10)/10\n",
+      "n = ns*(1-s)\n",
+      "N = n*60\n",
+      "#(b)\n",
+      "x1_b = x1/2\n",
+      "x2_dash_b = x2_dash/2\n",
+      "s2 = r2_dash/math.sqrt(r1**2+(x1_b+x2_dash_b)**2)\n",
+      "s2 = math.floor(s2*10000)/10000\n",
+      "ns2 = 2*f2/p\n",
+      "V1_b = V1*0.5\n",
+      "Tmax2 = (1.5*V1_b**2/(2*math.pi*ns2))*(1/(r1+math.sqrt(r1**2+(x1_b+x2_dash_b)**2)))\n",
+      "n2 = ns2*(1-s2)\n",
+      "N2 = n2*60\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.1f N-m\\n\\nSpeed corresponds to max torque = %.2f rpm\"%(f1,s,Tmax,N))\n",
+      "print(\"\\n\\n(b) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.2f N-m\\n\\nSpeed corresponds to max torque = %.3f rpm\"%(f2,s2,Tmax2,N2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) for f = 50 Hz\n",
+        "\n",
+        "slip = 0.1877\n",
+        "\n",
+        "Tmax = 217.2 N-m\n",
+        "\n",
+        "Speed corresponds to max torque = 1218.45 rpm\n",
+        "\n",
+        "\n",
+        "(b) for f = 25 Hz\n",
+        "\n",
+        "slip = 0.3147\n",
+        "\n",
+        "Tmax = 153.72 N-m\n",
+        "\n",
+        "Speed corresponds to max torque = 513.975 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 46
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.20, Page No. 401"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Starting torque\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 400.0                  # motor voltage rating\n",
+      "p = 4.0                      # no of poles\n",
+      "f = 50.0                   # frequency\n",
+      "r1 = 0.64                  # Stator resistance \n",
+      "x1 = 1.1                   # leakage resistance\n",
+      "r2 = 0.08                  # rotor resistance\n",
+      "x2 = 0.12                  # leakage resistance\n",
+      "T = 40.0                   # Torque at given speed\n",
+      "N1 = 1440.0                # Speed value for given torque\n",
+      "N2 = 1300.0                # Speed value for which torque is asked to calculate\n",
+      "f1 = 50                    # case 1 frequency\n",
+      "f2 = 25                    # case 2 frequency\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "ns = 2*f1/p\n",
+      "r2_dash = r2*(2)**2\n",
+      "x2_dash = x2*(2)**2\n",
+      "#s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+      "#s = math.floor(s*10000)/10000\n",
+      "V1 = V/math.sqrt(3)\n",
+      "V1 = math.ceil(V1*100)/100\n",
+      "Tstarting = (3*(V1**2)*(r2_dash))/(2*math.pi*ns*((r1+r2_dash)**2+(x1+x2_dash)**2))\n",
+      "#(b)\n",
+      "x1_b = x1/2\n",
+      "x2_dash_b = x2_dash/2\n",
+      "#s2 = math.floor(s2*10000)/10000\n",
+      "ns2 = 2*f2/p\n",
+      "V1_b = V1*0.5\n",
+      "Tstarting_b = (3*(V1_b**2)*(r2_dash))/(2*math.pi*ns2*((r1+r2_dash)**2+(x1_b+x2_dash_b)**2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) for %d Hz,\\nT_starting = %.2f N-m\"%(f1,Tstarting))\n",
+      "print(\"\\n(b) for %d Hz,\\nT_starting = %.2f N-m\"%(f2,Tstarting_b))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) for 50 Hz,\n",
+        "T_starting = 95.37 N-m\n",
+        "\n",
+        "(b) for 25 Hz,\n",
+        "T_starting = 105.45 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 57
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/Power_electronics_ch_9_3.ipynb b/Power_Electronics/Power_electronics_ch_9_3.ipynb
new file mode 100755
index 00000000..9cc8b752
--- /dev/null
+++ b/Power_Electronics/Power_electronics_ch_9_3.ipynb
@@ -0,0 +1,1255 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9: DC and AC Motor Drives"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.1, Page No. 377"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Field current, firing angle and power factor\n",
+      "\n",
+      "import math\n",
+      "# Variable delcaration\n",
+      "V= 230.0                # input supply voltage\n",
+      "f = 50.0                # supply frequency\n",
+      "alfa_f = 0              # firing angle for semi-converter for field\n",
+      "Rf = 200.0              # field resistance\n",
+      "Ra = 0.3                # Armature resistance\n",
+      "T = 50.0                # torque\n",
+      "r = 900.0               # rpm\n",
+      "vc = 0.8                # voltage constant\n",
+      "tc = 0.8                # torque constant\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "Vf = (2*Vm/math.pi)*math.cos(alfa_f)\n",
+      "If = Vf/Rf\n",
+      "If = math.floor(If*10**4)/10**4\n",
+      "#(b)\n",
+      "Ia = T/(tc*If)\n",
+      "Ia = math.ceil(Ia*1000)/1000\n",
+      "w = r*2*math.pi/60\n",
+      "w = math.ceil(w*1000)/1000\n",
+      "back_emf =vc*w*If\n",
+      "back_emf = math.floor(back_emf*100)/100\n",
+      "Va = back_emf+Ia*Ra\n",
+      "Va = math.floor(Va*1000)/1000\n",
+      "alfa = math.acos((Va*math.pi/(Vm))-1)\n",
+      "alfa_a = alfa*180/math.pi\n",
+      "alfa_a = math.floor(alfa_a*1000)/1000\n",
+      "#(c)\n",
+      "P = Va*Ia\n",
+      "Ii = Ia*math.sqrt((180-alfa_a)/180)\n",
+      "Ii = math.floor(Ii*100)/100\n",
+      "VA = V*Ii\n",
+      "pf = P/VA\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Field current = %.4f A\\n(b) Alfa_a = %.3f\u00b0\\n(c) Input power factor = %.3f lagging\"%(If,alfa_a,pf))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Field current = 1.0352 A\n",
+        "(b) Alfa_a = 94.076\u00b0\n",
+        "(c) Input power factor = 0.605 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.2, Page No.378"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Torque developed and motor speed\n",
+      "\n",
+      "import math\n",
+      "# Variable delcaration\n",
+      "V= 230.0                # input supply voltage\n",
+      "f = 50.0                # supply frequency\n",
+      "alfa_f = 0              # firing angle of converter in the field\n",
+      "Rf = 200.0              # field resistance\n",
+      "Ra = 0.25               # Armature resistance\n",
+      "Ia = 50                 # Armature current\n",
+      "vc = 1.1                # voltage constant\n",
+      "tc = 1.1                # torque constant\n",
+      "alfa_a = 45             # firing angle of armature ciruit\n",
+      "\n",
+      "#Calculations\n",
+      "alfa_a = alfa_a*math.pi/180\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+      "Va = 2*Vm*math.cos(alfa_a)/math.pi\n",
+      "If = Vf/Rf\n",
+      "If = math.floor(If*10**4)/10**4\n",
+      "T = tc*Ia*If\n",
+      "bemf = Va- Ia*Ra - 2\n",
+      "w = bemf/(vc*If)\n",
+      "N = w*60/(2*math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Torque = %.3f N-m\\n\\nMotor Speed = %.1f rpm\"%(T,N))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Torque = 56.936 N-m\n",
+        "\n",
+        "Motor Speed = 1106.1 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 52
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.3, Page No. 378"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# firing angle of the converter in the armature circuit\n",
+      "\n",
+      "import math\n",
+      "V = 400                  # input 3-phase supply\n",
+      "alfa_f = 0               # firing angle of field converter\n",
+      "Ra = 0.3                 # Armature resistance\n",
+      "Rf = 250                 # field resistance\n",
+      "Ia = 50                  # Armature current\n",
+      "vc = 1.3                 # motor voltage constant\n",
+      "N = 1200                 # speed in rpm\n",
+      "\n",
+      "#Calculations\n",
+      "Vf = 3*math.sqrt(3)*V*math.sqrt(2)*math.cos(alfa_f)/(math.sqrt(3)*math.pi)\n",
+      "If = Vf/Rf\n",
+      "w = N*2*math.pi/60\n",
+      "Eb = vc*If*w\n",
+      "Va = Eb+Ia*Ra\n",
+      "alfa_a = math.acos(Va*math.sqrt(3)*math.pi/(3*V*math.sqrt(2)*math.sqrt(3)))\n",
+      "alfa_a = alfa_a*180/math.pi\n",
+      "alfa_a = math.ceil(alfa_a*100)/100\n",
+      "#Result\n",
+      "print(\"Alfa_a = %.2f\u00b0\"%alfa_a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Alfa_a = 47.07\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 55
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.4, Page No. 378"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# input power, speed and torque\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 500                # input supply voltage\n",
+      "Ra = 0.1               # Armature resistance\n",
+      "Ia = 200.0             # Armature current\n",
+      "vc = 1.4               # Volatage constant\n",
+      "tc = 1.4               # Torque constant\n",
+      "If = 2                 # Field current\n",
+      "d = 0.5                # chopper duty cycle\n",
+      "\n",
+      "# Calculations\n",
+      "#(a)\n",
+      "Pi = d*V*Ia\n",
+      "#(b)\n",
+      "Va = V*d\n",
+      "Eb = Va - Ia*Ra\n",
+      "w = Eb/(vc*If)\n",
+      "w = math.floor(w*100)/100\n",
+      "N = w*60/(2*math.pi)\n",
+      "#(c)\n",
+      "T = tc*Ia*If\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Power input = %.0f kW \\n(b) Speed = %.2f rpm\\n(c) Torque = %.0f N-m\"%(Pi/1000,N,T))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Power input = 50 kW \n",
+        "(b) Speed = 784.38 rpm\n",
+        "(c) Torque = 560 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 71
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.5, Page No. 379"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Braking DC motor using one quadrant chopper\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ra = 0.1                # Armature resistance\n",
+      "Rb = 7.5                # Breaking resistance\n",
+      "vc = 1.4                # voltage constant\n",
+      "Ia = 120                # armature current\n",
+      "If = 1.6                # field current\n",
+      "d = 0.35                # chopper duty cycle\n",
+      "\n",
+      "#calculations\n",
+      "#(a)\n",
+      "Vavg = Rb*Ia*(1-d)\n",
+      "#(b)\n",
+      "Pb = (Ia**2)*Rb*((1-d)**2)\n",
+      "#(c)\n",
+      "Eb = Vavg+Ra*Ia\n",
+      "w = Eb/(vc*If)\n",
+      "w = math.ceil(w*100)/100\n",
+      "N = w*60/(2*math.pi)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) Average voltage across chopper = %.0f V\\n(b) Pb = %.0f W\\n(c) Speed = %.4f rpm \"%(Vavg,Pb,N))\n",
+      "#Answer for Pb and Speed is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Average voltage across chopper = 585 V\n",
+        "(b) Pb = 45630 W\n",
+        "(c) Speed = 2545.0785 rpm \n"
+       ]
+      }
+     ],
+     "prompt_number": 87
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.6, Page No. 379"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Speed -Torque characteristics\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 220.0                # per phase input voltage\n",
+      "f = 50                   # frequency\n",
+      "L = 0.012                # motor inductance\n",
+      "R = 0.72                 # Resistance\n",
+      "a = 2                    # Armature constant\n",
+      "alfa = 90                # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3=math.floor(math.sqrt(3)*1000)/1000\n",
+      "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(2*math.pi)\n",
+      "Va = math.floor(Va*100)/100\n",
+      "Ia1 = 5                  # Armature current for case 1\n",
+      "T1 = Ia1*a\n",
+      "Eb1 =Va-Ia1*R\n",
+      "Speed1 = Eb1*60/(a*2*math.pi) \n",
+      "Speed1 = math.floor(Speed1*100)/100\n",
+      "\n",
+      "Ia2 = 10                  # Armature current for case 2\n",
+      "T2 = Ia2*a\n",
+      "Eb2 =Va-Ia2*R\n",
+      "Speed2 = Eb2*60/(a*2*math.pi) \n",
+      "Speed2 = math.floor(Speed2*100)/100\n",
+      "\n",
+      "Ia3 = 20                  # Armature current for case 3\n",
+      "T3 = Ia3*a\n",
+      "Eb3 =Va-Ia3*R\n",
+      "Speed3 = Eb3*60/(a*2*math.pi) \n",
+      "Speed3 = math.floor(Speed3*100)/100\n",
+      "\n",
+      "Ia4 = 30                  # Armature current for case 4\n",
+      "T4 = Ia4*a\n",
+      "Eb4 =Va-Ia4*R\n",
+      "Speed4 = Eb4*60/(a*2*math.pi) \n",
+      "Speed4 = math.floor(Speed4*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"Armature Voltage =%f V\"%Va)\n",
+      "print(\"For Ia =0%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia1,T1,Speed1))\n",
+      "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia2,T2,Speed2))\n",
+      "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia3,T3,Speed3))\n",
+      "print(\"For Ia =%d A, Torque = %d N-m and Speed = %.2f rpm\"%(Ia4,T4,Speed4))\n",
+      "#################-----PLOT-----#####################\n",
+      "%matplotlib inline\n",
+      "import matplotlib.pyplot as plt\n",
+      "t = [T1, T2, T3, T4]\n",
+      "S = [Speed1, Speed2, Speed3, Speed4 ]\n",
+      "plt.plot(t,S)\n",
+      "plt.plot(t,S,'ro')\n",
+      "plt.axis([0,70,0,1500])\n",
+      "plt.xlabel('Torque(N-m)')\n",
+      "plt.ylabel('Speed(RPM)')\n",
+      "plt.title('Speed torque characteristics')\n",
+      "plt.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature Voltage =257.250000 V\n",
+        "For Ia =05 A, Torque = 10 N-m and Speed = 1211.08 rpm\n",
+        "For Ia =10 A, Torque = 20 N-m and Speed = 1193.90 rpm\n",
+        "For Ia =20 A, Torque = 40 N-m and Speed = 1159.52 rpm\n",
+        "For Ia =30 A, Torque = 60 N-m and Speed = 1125.14 rpm\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x8890e80>"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.7, Page No. 380"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Firing angle and no load speed\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400                   # input 3-phase voltage\n",
+      "f = 50                    # frequency\n",
+      "Ia = 50                   # motor armature current\n",
+      "Ra = 0.1                  # armature resistance\n",
+      "bec = 0.3                 # back emf constant\n",
+      "alfa = 30.0               # firing angle\n",
+      "Inl = 5                   # no load current\n",
+      "n = 1600                  # speed in rpm \n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+      "Va = 3*sqrt_3*V*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*math.pi)\n",
+      "Bemf = Va-Inl*Ra\n",
+      "Speed = Bemf/bec\n",
+      "#(b)\n",
+      "Bemf2 = n*bec\n",
+      "Vi = Bemf2+(Ra*Ia)\n",
+      "alfa2= math.acos((Vi/(3*sqrt_3*V*sqrt_2/(sqrt_3*2*math.pi)))-1)\n",
+      "alfa2 = alfa2*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nAverage output voltage of rectifier = %.1f V\\nBack emf = %.1f V\\nSpeed = %d rpm\"%(math.floor(Va*10)/10,Bemf,Speed))\n",
+      "print(\"\\n(b)\\nBack emf = %.0f V\\nInput voltage to motor = %.0f V\\nfiring angle = %.2f\u00b0\"%(Bemf2,Vi,alfa2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Average output voltage of rectifier = 503.9 V\n",
+        "Back emf = 503.4 V\n",
+        "Speed = 1678 rpm\n",
+        "\n",
+        "(b)\n",
+        "Back emf = 480 V\n",
+        "Input voltage to motor = 485 V\n",
+        "firing angle = 37.26\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 147
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.8, Page No. 381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#firing angle of converter and power fed back to source(refering ex.9.2)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V= 230.0                # input supply voltage\n",
+      "f = 50.0                # supply frequency\n",
+      "alfa_f = 0              # firing angle of converter in the field\n",
+      "Rf = 200.0              # field resistance\n",
+      "Ra = 0.25               # Armature resistance\n",
+      "Ia = 50                 # Armature current\n",
+      "vc = 1.1                # voltage constant\n",
+      "tc = 1.1                # torque constant\n",
+      "alfa_a = 45             # firing angle of armature ciruit\n",
+      "\n",
+      "#Calculations\n",
+      "alfa_a = alfa_a*math.pi/180\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vm = V*sqrt_2\n",
+      "Vf = 2*Vm*math.cos(alfa_f)/math.pi\n",
+      "Va1 = 2*Vm*math.cos(alfa_a)/math.pi\n",
+      "bemf = Va1- Ia*Ra - 2\n",
+      "Eg = -bemf\n",
+      "Va = Eg +  Ia*Ra +2\n",
+      "alfa = math.acos(Va*math.pi/(2*sqrt_2*V))\n",
+      "alfa = alfa*180/math.pi\n",
+      "P = -Va*Ia\n",
+      "\n",
+      "#Result\n",
+      "print(\"When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\\n\\nEg = %f\"%Eg)\n",
+      "print(\"\\nAlfa = %.2f\u00b0\\n\\nPower fed back to source = %d W\"%(alfa,P))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "When field current is reversed, the direction of back emf is reversed. The motor now acts as generator.\n",
+        "\n",
+        "Eg = -131.900436\n",
+        "\n",
+        "Alfa = 124.54\u00b0\n",
+        "\n",
+        "Power fed back to source = 5870 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 152
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.9, Page No.381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Half controlled single phase bridge converter\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "V = 240                  # input DC voltage\n",
+      "alfa = 100               # firing angle    \n",
+      "Ra = 6                   # armature Resistance\n",
+      "Ia = 1.8                 # armature current\n",
+      "\n",
+      "#Calculations\n",
+      "alfa = alfa*math.pi/180\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "Vdc = sqrt_2*V*(1+math.cos(alfa))/math.pi\n",
+      "Vdc = math.floor(Vdc*100)/100\n",
+      "Bemf = Vdc-Ra*Ia\n",
+      "\n",
+      "#Result\n",
+      "print(\"Back emf = %.2f V\"%Bemf)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Back emf = 78.46 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 96
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.10, Page No.381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Speed and Torue\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 230.0                # input voltage\n",
+      "N = 1500.0               # rpm \n",
+      "Ra = 1.0                 # armature resistance\n",
+      "Ia = 10                  # Armature current\n",
+      "T1 = 5                   # Torque for case-1\n",
+      "alfa1 = 30               # Firing angle for case-1\n",
+      "N2 = 950.0               # rpm in case-2\n",
+      "alfa2 = 45               # Firing angle for case-2\n",
+      "\n",
+      "#Calculations\n",
+      "w = N*2*math.pi/60\n",
+      "k = (V-Ia*Ra)/w\n",
+      "k = math.floor(k*10)/10\n",
+      "#(a)\n",
+      "Ia1 = T1/k\n",
+      "V1 = 2*V*math.sqrt(2)*math.cos(alfa1*math.pi/180)/math.pi\n",
+      "V1 = math.floor(V1*10)/10\n",
+      "w1 = (V1-Ia1*Ra)/k\n",
+      "w1 = w1*60/(2*math.pi)\n",
+      "#(b)\n",
+      "V2 = 2*V*math.sqrt(2)*math.cos(alfa2*math.pi/180)/math.pi\n",
+      "V2 = math.ceil(V2*100)/100\n",
+      "Ia2 = V2-(k*N2*2*math.pi/60)\n",
+      "#Ia2 = math.floor(Ia2*100)/100\n",
+      "T2 = k*Ia2\n",
+      "\n",
+      "#Result\n",
+      "print(\"k - Torque constant = %.1f N-m/A\"%k)\n",
+      "print(\"\\n(a) Speed = %.1f rpm\\n\\n(b) Torque = %f N-m\"%(w1,T2))\n",
+      "#Answer for torque is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "k - Torque constant = 1.4 N-m/A\n",
+        "\n",
+        "(a) Speed = 1198.6 rpm\n",
+        "\n",
+        "(b) Torque = 10.013816 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 177
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.11, Page No.382"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# rms source, rms and average thyristor current and power  factor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 500.0                    # Morot max. voltage rating\n",
+      "N = 1500.0                   # motor max. speed in rpm\n",
+      "Ia = 100.0                   # Motor max. current\n",
+      "Vi = 350.0                   # 3-phase input supply voltage\n",
+      "Ra = 1.1                     # armature resistance\n",
+      "alfa = 45                    # firing angle\n",
+      "N1 = 1200.0                  # actual speed               \n",
+      "\n",
+      "#Calculations\n",
+      "w = N*2*math.pi/60\n",
+      "w1 = N1*2*math.pi/60\n",
+      "k = (V-Ia*Ra)/w\n",
+      "k = math.floor(k*10**4)/10**4\n",
+      "sqrt_2=math.floor(math.sqrt(2)*1000)/1000\n",
+      "sqrt_3=math.floor(math.sqrt(3)*100)/100\n",
+      "Va = 3*sqrt_3*Vi*sqrt_2*(1+math.cos(alfa*math.pi/180))/(sqrt_3*2*3.142)#--math.pi = 3.142 to match the ans\n",
+      "Va = math.ceil(Va*100)/100\n",
+      "Ia = (Va -k*w1)/Ra\n",
+      "Ia = math.ceil(Ia*100)/100\n",
+      "Irms_i = Ia*math.sqrt(120.0/180.0)\n",
+      "Iavg = Ia/3\n",
+      "Irms = Ia/math.sqrt(3)\n",
+      "pf = (Ia*Va)/(sqrt_3*Vi*Irms_i)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Torque constant, k = %.2f V-s/rad\\n\\n(a)\\nConverter output voltage = %.2f V\\nIa = %.2f A \"%(k,Va,Ia))\n",
+      "print(\"\\n(b)\\nRMS input current = %.2f A\\nAverage thyristor current = %.2f A\\nRMS thyristor current = %.2f A\"%(Irms_i,Iavg,Irms))\n",
+      "print(\"Input power factor = %.3f lagging\"%(math.floor(pf*1000)/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Torque constant, k = 2.48 V-s/rad\n",
+        "\n",
+        "(a)\n",
+        "Converter output voltage = 403.34 V\n",
+        "Ia = 83.04 A \n",
+        "\n",
+        "(b)\n",
+        "RMS input current = 67.80 A\n",
+        "Average thyristor current = 27.68 A\n",
+        "RMS thyristor current = 47.94 A\n",
+        "Input power factor = 0.815 lagging\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.12, Page No.383"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# time taken by motor to reach 1000rpm speed\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "T = 40                # Load torque\n",
+      "N = 500.0             # motor speed \n",
+      "i = 0.01              # inertia of the drive\n",
+      "T1 = 100.0            # increased value of torque\n",
+      "N1 = 1000.0           # speed value\n",
+      "\n",
+      "#Calculations\n",
+      "w = N*2*math.pi/60\n",
+      "w1 = N1*2*math.pi/60\n",
+      "A = -w/((T1-T)/i)\n",
+      "t = (w1/((T1-T)/i))+A\n",
+      "t = math.floor(t*10**6)/10**6\n",
+      "\n",
+      "#Result\n",
+      "print(\"Time taken by motor to reach 1000 rpm speed = %f seconds\"%t)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time taken by motor to reach 1000 rpm speed = 0.008726 seconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.13, Page No.384"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# motor parameters:motor driven by DC chopper\n",
+      "\n",
+      "import math\n",
+      "#Variavble declaration\n",
+      "f = 400.0              # chopper operating frequency\n",
+      "V = 200.0              # input voltage\n",
+      "T = 30.0               # load torque\n",
+      "N = 1000.0             # speed in rpm\n",
+      "Ra = 0.2               # motor resistance\n",
+      "L = 2*10**-3           # motor inductance\n",
+      "emf = 1.5              # emf\n",
+      "k = 1.5                # torque constant\n",
+      "\n",
+      "#calculations\n",
+      "\n",
+      "w = N*math.pi*2/60\n",
+      "Ia = T/k\n",
+      "Be = emf*w\n",
+      "Be = math.ceil(Be*100)/100\n",
+      "alfa = (Be+Ia*Ra)/V\n",
+      "\n",
+      "t = 1/f\n",
+      "Ton = alfa*t\n",
+      "Toff = t-Ton\n",
+      "x = t*Ra/L\n",
+      "b1 = (1-(math.e**(-alfa*x)))\n",
+      "b1 = math.ceil(b1*10**4)/10**4\n",
+      "b2 = (1-(math.e**(-x)))\n",
+      "b2 = math.ceil(b2*10**4)/10**4\n",
+      "Imax = ((V/Ra)*(b1/b2))-(Be/Ra)\n",
+      "Imin= ((V/Ra)*(((math.e**(alfa*x))-1)/(((math.e**(x))-1))))-(Be/Ra)\n",
+      "x1 = (V-Be)/Ra\n",
+      "x2 = Ra/L\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\nImax = %.3f A\\nImin = %d A\\n\\n(b) Excursion of armature current = %.3f A\"%(Imax,Imin,Imax))\n",
+      "print(\"\\n(c)\\nVariation of cuurent during on period of chopper is \\ni = %.1f*(1-e^(-%d*t'))\"%(x1,x2))\n",
+      "print(\"\\nVariation of cuurent during off period of chopper is \\ni = %.3f*e^(-%d*t')-%.1f*(1-e^(-%d*t'))\"%(Imax,x2,Be/Ra,x2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        "Imax = 39.193 A\n",
+        "Imin = 0 A\n",
+        "\n",
+        "(b) Excursion of armature current = 39.193 A\n",
+        "\n",
+        "(c)\n",
+        "Variation of cuurent during on period of chopper is \n",
+        "i = 214.6*(1-e^(-100*t'))\n",
+        "\n",
+        "Variation of cuurent during off period of chopper is \n",
+        "i = 39.193*e^(-100*t')-785.4*(1-e^(-100*t'))\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.14, Page No.391"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average motor current and speed\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "f = 50.0               # input frequency\n",
+      "V = 230                # input voltage\n",
+      "Ra = 1.5               # armature resistance\n",
+      "Rf = 1.5               # field resistance\n",
+      "K = 0.25               # torque constant\n",
+      "TL = 25                 # load torque\n",
+      "emf = 0.25             # emf constant\n",
+      "\n",
+      "#Calculations\n",
+      "Vo = 2*math.sqrt(2)*V/math.pi\n",
+      "Vo = math.floor(Vo)\n",
+      "Ia = math.sqrt(T/K)\n",
+      "Ia = math.floor(Ia)\n",
+      "w = (Vo-Ia*Ra)/(emf*Ia)\n",
+      "N =w*60/(2*math.pi)\n",
+      "N = math.floor(N*100)/100\n",
+      "\n",
+      "#Result\n",
+      "print(\"Ia = %d A\\nN = %.2f RPM\"%(Ia,N))\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ia = 10 A\n",
+        "N = 733.38 RPM\n"
+       ]
+      }
+     ],
+     "prompt_number": 36
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.15, Page No.391"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Armature current and firing angle of semi-converter\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vo = 675.0               # transformer secondary voltage\n",
+      "alfa1 = 90.5             # case 1 firing angle\n",
+      "N1 = 350.0               # case 1 motor speed in rpm\n",
+      "Ia1 = 30.0               # case 1 armature current\n",
+      "N2 = 500.0               # expected speed\n",
+      "Ra = 0.22                # armature resistance\n",
+      "Rf = 0.22                # field resistance\n",
+      "\n",
+      "#Calculations\n",
+      "Ia2 = Ia1*N2/N1\n",
+      "Ia2 = math.ceil(Ia2*100)/100\n",
+      "Va1 = Vo*math.sqrt(2)*(1+math.cos(alfa1*math.pi/180))/math.pi\n",
+      "Eb1 = Va1-(Ia1*(Ra+Rf))\n",
+      "Va2 = (Eb1/((Ia1*N1)/(Ia2*N2)))+Ia2*(Ra+Rf)\n",
+      "alfa2 = math.acos(((Va2*math.pi)/(math.sqrt(2)*Vo))-1)\n",
+      "alfa2 = alfa2*180/math.pi\n",
+      "\n",
+      "#Result\n",
+      "print(\"Armature current = %.2f A\\n\\nFiring Angle = %.2f\u00b0\"%(Ia2,alfa2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature current = 42.86 A\n",
+        "\n",
+        "Firing Angle = 4.77\u00b0\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.16, Page No. 392"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Torque and armature current\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "P = 15.0                    # motor power rating\n",
+      "V = 220.0                   # motor voltage rating\n",
+      "N = 1500.0                  # motor max. speed\n",
+      "Vi = 230.0                  # input voltage\n",
+      "emf = 0.03                  # emf constant\n",
+      "K = 0.03                    # Torque constant\n",
+      "alfa =45                    # firing angle\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vm = Vi*sqrt_2\n",
+      "N = N*2*math.pi/60\n",
+      "T = (4*emf*(Vm**2)*(math.cos(alfa)**2))/(((math.pi)**2)*(K*N)**2)\n",
+      "Ia = math.sqrt(T/K)\n",
+      "Ia = math.floor(Ia*100)/100\n",
+      "#(b)\n",
+      "Ia2 = Vm*(1+math.cos(alfa))/(math.pi*K*N)\n",
+      "Ia2 = math.floor(Ia2*10)/10\n",
+      "T2 = K*Ia2**2\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a)\\n Torque = %.2f N-m\\n Armature current = %.2f A\"%(T,Ia))\n",
+      "print(\"\\n(b)\\n Armature current = %.1f A\\n Torque = %.4f N-m\"%(Ia2,T2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)\n",
+        " Torque = 28.96 N-m\n",
+        " Armature current = 31.06 A\n",
+        "\n",
+        "(b)\n",
+        " Armature current = 37.5 A\n",
+        " Torque = 42.1875 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 50
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.17, Page No.392"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "# motor current and Torque \n",
+      "\n",
+      "import math\n",
+      "# variable declaration\n",
+      "Pr = 15.0                   # motor power rating\n",
+      "Vr = 220.0                  # motor voltage rating\n",
+      "N = 1000.0                  # motor max. speed\n",
+      "R = 0.2                     # total armature and series resistance\n",
+      "Vi = 230.0                  # input voltage\n",
+      "Ks = 0.03                   # speed constant\n",
+      "K = 0.03                    # Torque constant\n",
+      "alfa = 30                   # Firing angle\n",
+      "\n",
+      "#Calculation\n",
+      "sqrt_2 = math.floor(math.sqrt(2)*1000)/1000\n",
+      "alfa = alfa*math.pi/180\n",
+      "Vm = Vi*sqrt_2\n",
+      "N = N*2*math.pi/60\n",
+      "N = math.ceil(N*100)/100\n",
+      "V = Vm*(1+math.cos(alfa))/math.pi\n",
+      "V = math.floor(V*100)/100\n",
+      "Ia = V/((Ks*N)+R)\n",
+      "Ia = math.floor(Ia*1000)/1000\n",
+      "T = K*(Ia*Ia)\n",
+      "\n",
+      "# Result\n",
+      "print(\"Armature current = %.3f A\\n\\nTorque = %.2f N-m\"%(Ia,T))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Armature current = 57.807 A\n",
+        "\n",
+        "Torque = 100.25 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 69
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.18, Page No. 400"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# load torque, rotor current and stator voltage\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 400.0                  # motor voltage rating\n",
+      "p = 4.0                      # no of poles\n",
+      "f = 50.0                   # frequency\n",
+      "r1 = 0.64                  # Stator resistance \n",
+      "x1 = 1.1                   # leakage resistance\n",
+      "r2 = 0.08                  # rotor resistance\n",
+      "x2 = 0.12                  # leakage resistance\n",
+      "T = 40.0                   # Torque at given speed\n",
+      "N1 = 1440.0                # Speed value for given torque\n",
+      "N2 = 1300.0                # Speed value for which torque is asked to calculate\n",
+      "\n",
+      "#Calculations\n",
+      "#(a)\n",
+      "ns = 60*2*f/p\n",
+      "Tl = T*(N2/N1)**2\n",
+      "Tl = math.floor(Tl*10)/10\n",
+      "#(b)\n",
+      "s = (ns -N2)/ns\n",
+      "r2_dash = r2*(2)**2\n",
+      "x2_dash = x2*(2)**2\n",
+      "pi = math.floor(math.pi*100)/100\n",
+      "I2_dash = math.sqrt((Tl*2*pi*s*(ns/60))/(3*r2_dash)) \n",
+      "I2 = 2*I2_dash\n",
+      "#(c)\n",
+      "I1 = I2_dash\n",
+      "V1 = I1*math.sqrt(((r1+r2_dash+r2_dash*((1-s)/s))**2)+(x1+x2_dash)**2)\n",
+      "StV = V1*math.sqrt(3)\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) At %d rpm , Load torque = %.1f N-m\\n(b) Rotor current = %.2f A\\n(c) Stator voltage = %.1f V\"%(N2,Tl,I2,StV))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) At 1300 rpm , Load torque = 32.6 N-m\n",
+        "(b) Rotor current = 53.32 A\n",
+        "(c) Stator voltage = 158.2 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 2.19, Page No. 400"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# slip for max torque, speed and corresponding max torque\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "V = 400.0                  # motor voltage rating\n",
+      "p = 4.0                      # no of poles\n",
+      "f = 50.0                   # frequency\n",
+      "r1 = 0.64                  # Stator resistance \n",
+      "x1 = 1.1                   # leakage resistance\n",
+      "r2 = 0.08                  # rotor resistance\n",
+      "x2 = 0.12                  # leakage resistance\n",
+      "T = 40.0                   # Torque at given speed\n",
+      "N1 = 1440.0                # Speed value for given torque\n",
+      "N2 = 1300.0                # Speed value for which torque is asked to calculate\n",
+      "f1 = 50                    # case 1 frequency\n",
+      "f2 = 25                    # case 2 frequency\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "ns = 2*f1/p\n",
+      "r2_dash = r2*(2)**2\n",
+      "x2_dash = x2*(2)**2\n",
+      "s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+      "s = math.floor(s*10000)/10000\n",
+      "V1 = V/math.sqrt(3)\n",
+      "V1 = math.ceil(V1*100)/100\n",
+      "Tmax = (1.5*V1**2/(2*math.pi*ns))*(1/(r1+math.sqrt(r1**2+(x1+x2_dash)**2)))\n",
+      "Tmax = math.floor(Tmax*10)/10\n",
+      "n = ns*(1-s)\n",
+      "N = n*60\n",
+      "#(b)\n",
+      "x1_b = x1/2\n",
+      "x2_dash_b = x2_dash/2\n",
+      "s2 = r2_dash/math.sqrt(r1**2+(x1_b+x2_dash_b)**2)\n",
+      "s2 = math.floor(s2*10000)/10000\n",
+      "ns2 = 2*f2/p\n",
+      "V1_b = V1*0.5\n",
+      "Tmax2 = (1.5*V1_b**2/(2*math.pi*ns2))*(1/(r1+math.sqrt(r1**2+(x1_b+x2_dash_b)**2)))\n",
+      "n2 = ns2*(1-s2)\n",
+      "N2 = n2*60\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.1f N-m\\n\\nSpeed corresponds to max torque = %.2f rpm\"%(f1,s,Tmax,N))\n",
+      "print(\"\\n\\n(b) for f = %d Hz\\n\\nslip = %.4f\\n\\nTmax = %.2f N-m\\n\\nSpeed corresponds to max torque = %.3f rpm\"%(f2,s2,Tmax2,N2))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) for f = 50 Hz\n",
+        "\n",
+        "slip = 0.1877\n",
+        "\n",
+        "Tmax = 217.2 N-m\n",
+        "\n",
+        "Speed corresponds to max torque = 1218.45 rpm\n",
+        "\n",
+        "\n",
+        "(b) for f = 25 Hz\n",
+        "\n",
+        "slip = 0.3147\n",
+        "\n",
+        "Tmax = 153.72 N-m\n",
+        "\n",
+        "Speed corresponds to max torque = 513.975 rpm\n"
+       ]
+      }
+     ],
+     "prompt_number": 46
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 9.20, Page No. 401"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Starting torque\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "V = 400.0                  # motor voltage rating\n",
+      "p = 4.0                      # no of poles\n",
+      "f = 50.0                   # frequency\n",
+      "r1 = 0.64                  # Stator resistance \n",
+      "x1 = 1.1                   # leakage resistance\n",
+      "r2 = 0.08                  # rotor resistance\n",
+      "x2 = 0.12                  # leakage resistance\n",
+      "T = 40.0                   # Torque at given speed\n",
+      "N1 = 1440.0                # Speed value for given torque\n",
+      "N2 = 1300.0                # Speed value for which torque is asked to calculate\n",
+      "f1 = 50                    # case 1 frequency\n",
+      "f2 = 25                    # case 2 frequency\n",
+      "\n",
+      "#Calculation\n",
+      "#(a)\n",
+      "ns = 2*f1/p\n",
+      "r2_dash = r2*(2)**2\n",
+      "x2_dash = x2*(2)**2\n",
+      "#s = r2_dash/math.sqrt(r1**2+(x1+x2_dash)**2)\n",
+      "#s = math.floor(s*10000)/10000\n",
+      "V1 = V/math.sqrt(3)\n",
+      "V1 = math.ceil(V1*100)/100\n",
+      "Tstarting = (3*(V1**2)*(r2_dash))/(2*math.pi*ns*((r1+r2_dash)**2+(x1+x2_dash)**2))\n",
+      "#(b)\n",
+      "x1_b = x1/2\n",
+      "x2_dash_b = x2_dash/2\n",
+      "#s2 = math.floor(s2*10000)/10000\n",
+      "ns2 = 2*f2/p\n",
+      "V1_b = V1*0.5\n",
+      "Tstarting_b = (3*(V1_b**2)*(r2_dash))/(2*math.pi*ns2*((r1+r2_dash)**2+(x1_b+x2_dash_b)**2))\n",
+      "\n",
+      "#Result\n",
+      "print(\"(a) for %d Hz,\\nT_starting = %.2f N-m\"%(f1,Tstarting))\n",
+      "print(\"\\n(b) for %d Hz,\\nT_starting = %.2f N-m\"%(f2,Tstarting_b))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) for 50 Hz,\n",
+        "T_starting = 95.37 N-m\n",
+        "\n",
+        "(b) for 25 Hz,\n",
+        "T_starting = 105.45 N-m\n"
+       ]
+      }
+     ],
+     "prompt_number": 57
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Power_Electronics/README.txt b/Power_Electronics/README.txt
new file mode 100755
index 00000000..95f5f179
--- /dev/null
+++ b/Power_Electronics/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Anay Sonawane
+Course: btech
+College/Institute/Organization: Wavelet group
+Department/Designation: E&tc
+Book Title: Power Electronics
+Author: Dr. B R Gupta, V Singhal
+Publisher: S.K.Kataria and sons, New Delhi
+Year of publication: 2010
+Isbn: 81-85749-53-1
+Edition: 6
\ No newline at end of file
diff --git a/Power_Electronics/screenshots/Chapter2_4.png b/Power_Electronics/screenshots/Chapter2_4.png
new file mode 100755
index 00000000..9380fbcb
Binary files /dev/null and b/Power_Electronics/screenshots/Chapter2_4.png differ
diff --git a/Power_Electronics/screenshots/Chapter3_4.png b/Power_Electronics/screenshots/Chapter3_4.png
new file mode 100755
index 00000000..cef740d3
Binary files /dev/null and b/Power_Electronics/screenshots/Chapter3_4.png differ
diff --git a/Power_Electronics/screenshots/Chapter4_4.png b/Power_Electronics/screenshots/Chapter4_4.png
new file mode 100755
index 00000000..a1d64cf1
Binary files /dev/null and b/Power_Electronics/screenshots/Chapter4_4.png differ
diff --git a/Power_Electronics/screenshots/ex1_2.PNG b/Power_Electronics/screenshots/ex1_2.PNG
new file mode 100755
index 00000000..abb82616
Binary files /dev/null and b/Power_Electronics/screenshots/ex1_2.PNG differ
diff --git a/Power_Electronics/screenshots/ex1_2_1.PNG b/Power_Electronics/screenshots/ex1_2_1.PNG
new file mode 100755
index 00000000..abb82616
Binary files /dev/null and b/Power_Electronics/screenshots/ex1_2_1.PNG differ
diff --git a/Power_Electronics/screenshots/ex1_9.PNG b/Power_Electronics/screenshots/ex1_9.PNG
new file mode 100755
index 00000000..49309df8
Binary files /dev/null and b/Power_Electronics/screenshots/ex1_9.PNG differ
diff --git a/Power_Electronics/screenshots/ex1_9_1.PNG b/Power_Electronics/screenshots/ex1_9_1.PNG
new file mode 100755
index 00000000..49309df8
Binary files /dev/null and b/Power_Electronics/screenshots/ex1_9_1.PNG differ
diff --git a/Power_Electronics/screenshots/ex9_6.PNG b/Power_Electronics/screenshots/ex9_6.PNG
new file mode 100755
index 00000000..f5604a90
Binary files /dev/null and b/Power_Electronics/screenshots/ex9_6.PNG differ
diff --git a/Power_Electronics/screenshots/ex9_6_1.PNG b/Power_Electronics/screenshots/ex9_6_1.PNG
new file mode 100755
index 00000000..f5604a90
Binary files /dev/null and b/Power_Electronics/screenshots/ex9_6_1.PNG differ
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter1.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter1.ipynb
new file mode 100755
index 00000000..48b042da
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter1.ipynb
@@ -0,0 +1,249 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:fa4937e894b2eaacf3d917ad54d3257fed9024ea716662722fd829aea08934e3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1 Introduction to electronic communication"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.1.a Page no 14"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "c=300000000\n",
+      "f1=150000000.0\n",
+      "f2=430000000.0\n",
+      "f3=8000000.0\n",
+      "f4=750000.0\n",
+      "\n",
+      "#Calculation\n",
+      "W1 = c/f1\n",
+      "W2=c/f2\n",
+      "W3=c/f3\n",
+      "W4=c/f4\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) Wavelength is \",W1,\"meter\"\n",
+      "print\"(b) Wavelength is \",round(W2,3),\"meter\"\n",
+      "print\"(c) Wavelength is \",W3,\"meter\"\n",
+      "print\"(d) Wavelength is \",W4,\"meter\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Wavelength is  2.0 meter\n",
+        "(b) Wavelength is  0.698 meter\n",
+        "(c) Wavelength is  37.5 meter\n",
+        "(d) Wavelength is  400.0 meter\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.2 page no 15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "c=300000000\n",
+      "wavelength=1.5\n",
+      "\n",
+      "#Calculation\n",
+      "frequency=c/wavelength\n",
+      "\n",
+      "#Result\n",
+      "print\"Signal frequncy is \",frequency/1000000.0,\"MHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Signal frequncy is  200.0 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.3 page no 15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "wavelength_feet=75\n",
+      "wavelength_meter= 75/3.28\n",
+      "c=300000000\n",
+      "\n",
+      "#Calculation\n",
+      "frequency=c/wavelength_meter\n",
+      "\n",
+      "#Result\n",
+      "print\"The signal frequncy is \",frequency/1000000.0,\"MHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The signal frequncy is  13.12 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.4 page no 15"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "wavelength_inches=8\n",
+      "wavelength_meter=  8/39.37\n",
+      "c=300\n",
+      "\n",
+      "#Calculation\n",
+      "frequency= c/wavelength_meter\n",
+      "\n",
+      "#Result\n",
+      "print\"The signal freuency is \",round(frequency,1),\"MHz\"\n",
+      "print\"The signnalfrequency is \",round(frequency*10**-3,2),\"GHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The signal freuency is  1476.4 MHz\n",
+        "The signnalfrequency is  1.48 GHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.5 page no 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "f1=902000000\n",
+      "f2=928000000\n",
+      "\n",
+      "#Calculation\n",
+      "bandwidth=f2-f1\n",
+      "\n",
+      "#Result\n",
+      "print\"Width of the band is \",bandwidth/1000000,\"MHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Width of the band is  26 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.6 page no 19"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "bandwidth_megahertz= 6\n",
+      "f1_megahertz=54\n",
+      "\n",
+      "#Calculation\n",
+      "f2_megahertz=f1_megahertz + bandwidth_megahertz\n",
+      "\n",
+      "#Result\n",
+      "print\"Upper frequency limit is \",f2_megahertz,\"MHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Upper frequency limit is  60 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter10.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter10.ipynb
new file mode 100755
index 00000000..f969c01b
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter10.ipynb
@@ -0,0 +1,101 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:6d0a5becdae7bf2928f5747f4da31ef68eb2576da776218335d8b44a4a733949"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10 Multiplexing and Demultiplexing"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.1 Page no 368"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "BW_service = 860*10**6\n",
+      "BW_ch = 6.0*10**6\n",
+      "\n",
+      "#calculation\n",
+      "total_ch = BW_service/BW_ch\n",
+      "\n",
+      "#result\n",
+      "print\"Total number of channels are \",round(total_ch,0)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total number of channels are  143.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10.2 Page no 380"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "channels =16\n",
+      "sampling_rate= 3.5*10**3\n",
+      "w_len=6\n",
+      "\n",
+      "#Calculation\n",
+      "available_ch =channels-1\n",
+      "bpf =channels*w_len\n",
+      "data_rate = sampling_rate * bpf\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) Available channels are \",available_ch\n",
+      "print\"(b) Bits Per Frame = \",bpf\n",
+      "print\"(c) The serial data rate \",data_rate/10**3,\"KHz\"\n",
+      " \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Available channels are  15\n",
+        "(b) Bits Per Frame =  96\n",
+        "(c) The serial data rate  336.0 KHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter11.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter11.ipynb
new file mode 100755
index 00000000..015bcc79
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter11.ipynb
@@ -0,0 +1,143 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:8bd5af3b2acf26b36843842ce0fbb28501e7f5eae117a0af6c810fe6d60c2891"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11 The Transmission of binary data in communication systems"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.1 Page no 392"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "t=0.0016\n",
+      "No_words=256.0\n",
+      "bits_word = 12.0\n",
+      "\n",
+      "#Calculation\n",
+      "tword= t/No_words\n",
+      "tbit = tword/bits_word\n",
+      "bps =1/tbit\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The time duration of the word \",tword*10**8,\"microsecond\"\n",
+      "print\"(b) The time duration of the one bit is \",round(tbit*10**8,4),\"microseconds\"\n",
+      "print\"(c) The speed of transmission is \",bps/10**5,\"kbps\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The time duration of the word  625.0 microsecond\n",
+        "(b) The time duration of the one bit is  52.0833 microseconds\n",
+        "(c) The speed of transmission is  19.2 kbps\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.2 Page no 400"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "B=12.5*10**3\n",
+      "SN_dB= 25\n",
+      "\n",
+      "#Calculation\n",
+      "import math\n",
+      "C_th = 2*B\n",
+      "SN=316.2\n",
+      "C =B*3.32*log10(SN+1)\n",
+      "N= 2**(C/(2.0*B))\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The maximum theorotical data rate is \",C_th/10**3,\"kbps\"\n",
+      "print\"(b) The maximum theorotical capacity of channel is \",round(C/10**3,1),\"Kbps\"\n",
+      "print\"(c) The number of levels needed to acheive maximum speed are \",round(N,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The maximum theorotical data rate is  25.0 kbps\n",
+        "(b) The maximum theorotical capacity of channel is  103.8 Kbps\n",
+        "(c) The number of levels needed to acheive maximum speed are  17.78\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11.3 Page no 430"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "block =512\n",
+      "packets =8\n",
+      "BER = 2*10**-4\n",
+      " \n",
+      "#Calculation\n",
+      "avg_errors = block*packets*8*BER\n",
+      "\n",
+      "print\"Average number of errors are \",avg_errors\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average number of errors are  6.5536\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter12.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter12.ipynb
new file mode 100755
index 00000000..ae98ce2e
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter12.ipynb
@@ -0,0 +1,101 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:70c87938501c80a4a95b89850ad3f0f2a57b63c9811bc118f804b4d657133c5f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12 Introduction to Networking and local area networks"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.1 Page no 448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "N = 20\n",
+      "\n",
+      "#Calculation\n",
+      "L = (N*(N-1))/2.0\n",
+      "\n",
+      "#Result\n",
+      "print\"The number of interconnecting wires required are \",L\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The number of interconnecting wires required are  190.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12.2 Page no 474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "block = 1500\n",
+      "ethernet = 10.0*10**6\n",
+      "token_ring = 16.0*10**6\n",
+      "\n",
+      "#Calculation\n",
+      "t1_bit = 1/ethernet\n",
+      "t1_byte = 8*t1_bit\n",
+      "t1_1526 = 1526 *t1_byte\n",
+      "t2_bit = 1/token_ring\n",
+      "t2_byte = 8 * t2_bit\n",
+      "t2_1521 =1521*t2_byte\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) Time required for 1526 bytes is \",t1_1526*10**6,\"ns\"\n",
+      "print\"(b) Time required for 1521 bytes is \",t2_1521*10**3,\"ms\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Time required for 1526 bytes is  1220.8 ns\n",
+        "(b) Time required for 1521 bytes is  0.7605 ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter13.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter13.ipynb
new file mode 100755
index 00000000..de1fc475
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter13.ipynb
@@ -0,0 +1,339 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:4be2df010e0c0a454b43a2b1267f5b9f24594cfd973fe52088cb80f0e511082b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 13 Transmission lines"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.1 Page no 483"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "f= 450.0*10**6\n",
+      "\n",
+      "#Calculation\n",
+      "lamda = 984/f\n",
+      "len =0.1*lamda\n",
+      "\n",
+      "#Result\n",
+      "print\"feet long conductors would be considered as the transmission line \",round(len*10**6,3),\"ft\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "feet long conductors would be considered as the transmission line  0.219 ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.2 Page no 484"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "lamda = 2.19\n",
+      "\n",
+      "#Calculation\n",
+      "len = (3/8.0)*lamda\n",
+      "\n",
+      "#Result\n",
+      "print\"The pyhsical length of the transmission line \",round(len,2),\"feet\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The pyhsical length of the transmission line  0.82 feet\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.3 Page no 492"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "len = 165\n",
+      "attn_100ft = 5.3\n",
+      "pin = 100\n",
+      "attn_ft = 5.3/100.0\n",
+      "\n",
+      "#Calculation\n",
+      "total_attn = attn_ft * len\n",
+      "pout = pin *0.1335\n",
+      "\n",
+      "#Result\n",
+      "print\"The total attenuation of the cable is \",total_attn,\"dB\"\n",
+      "print\"Output power is \",pout,\"W\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The total attenuation of the cable is  8.745 dB\n",
+        "Output power is  13.35 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.4 Page no 494"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "len =150\n",
+      "C =13.5\n",
+      "Z0 =93\n",
+      "f =2.5*10**6\n",
+      "attn_100ft =2.8\n",
+      "\n",
+      "#Calculation\n",
+      "L =C*Z0**2\n",
+      "td =(L*C)**0.5\n",
+      "theta = ((360)*188.3)/(1/f)\n",
+      "attn_ft = attn_100ft/100.0\n",
+      "total_attn = attn_ft*150\n",
+      "\n",
+      "print\"(a) The load impedance required to terminate the the line to avoid the reflections is %d ohm\",Z0\n",
+      "print\"(b) The equivalent inductance per feet is \",L/10**3,\"nh\"\n",
+      "print\"(c) The time delay introduced by the cable per feet is \",td/10**3,\"ns\"\n",
+      "print\"(d) The phase shift occurs in degrees for the 2.5 Mhz sine wave is \",theta/10**9\n",
+      "print\"(e) The total attenuation is \",total_attn,\"db\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The load impedance required to terminate the the line to avoid the reflections is %d ohm 93\n",
+        "(b) The equivalent inductance per feet is  116.7615 nh\n",
+        "(c) The time delay introduced by the cable per feet is  1.2555 ns\n",
+        "(d) The phase shift occurs in degrees for the 2.5 Mhz sine wave is  169.47\n",
+        "(e) The total attenuation is  4.2 db\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.5 Page no 501"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "vmax= 52.0\n",
+      "vmin= 17.0\n",
+      "Z0 = 75\n",
+      "\n",
+      "#calculation\n",
+      "SWR = vmax/vmin\n",
+      "ref_coeff = (vmax-vmin)/(vmax+vmin)\n",
+      "Zl1 = Z0*SWR\n",
+      "Zl2 = Z0/SWR\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The standing wave ratio is \",round(SWR,2)\n",
+      "print\"(b) Reflection coefficient is \",round(ref_coeff,2)\n",
+      "print\"The value of resistive load is \",round(Zl1,2),\"ohm or\",round(Zl2,2),\"ohm\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The standing wave ratio is  3.06\n",
+        "(b) Reflection coefficient is  0.51\n",
+        "The value of resistive load is  229.41 ohm or 24.52 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.6 Page no 503"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "SWR =3.05\n",
+      "ref_pwr =0.2562\n",
+      "pin =30\n",
+      "\n",
+      "#calculation\n",
+      "pout = pin -(pin*((SWR-1)/(SWR+1))**2)\n",
+      "\n",
+      "#Result\n",
+      "print\"The output power of the cable is \",round(pout,3),\"W\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output power of the cable is  22.314 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.7 Page no 508"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "C =4*10**-12\n",
+      "f =800*10**6\n",
+      "diele = 3.5\n",
+      "h = 0.0625\n",
+      "w = 0.13\n",
+      "t = 0.002\n",
+      "\n",
+      "#Calculation\n",
+      "import math\n",
+      "Z0 = 38.8*math.log(0.374/0.106)\n",
+      "Xc = 1/(6.28*f*C)\n",
+      "\n",
+      "#Result\n",
+      "print\"The charecteristics impedance of the transmission line is \",round(Z0,1),\"ohm\"\n",
+      "print\"The reactance of the capacitor is \",round(Xc,2),\"ohm\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The charecteristics impedance of the transmission line is  48.9 ohm\n",
+        "The reactance of the capacitor is  49.76 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13.8 Page no 508"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "lamda = (984/800.0)\n",
+      "lamda_8 =lamda/8.0\n",
+      "\n",
+      "#Calculation\n",
+      "len = lamda_8*12*(1/3.6**0.5)\n",
+      "\n",
+      "#Result\n",
+      "print\"The length of the transmission line is \",round(len,3),\"inch\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The length of the transmission line is  0.972 inch\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter14.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter14.ipynb
new file mode 100755
index 00000000..483c5c1b
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter14.ipynb
@@ -0,0 +1,229 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e45779b9fe24c5d57bbc44b21eced0e689b3f83e9f5f5eea042afe4effb61cee"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 14 Antennas and Wave Propogation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14.1 page no 544"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "f=310.0*10**6\n",
+      "\n",
+      "#Calculation\n",
+      "import math\n",
+      "len1 =(492*0.97)/f\n",
+      "len2 =(492/f)*0.8\n",
+      "len3 =(984/f)*0.73\n",
+      "z1 =120*log(35/2.0)\n",
+      "len4 =234/f\n",
+      "z2  = 73/2.0\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The length and radiation resistance of the dipole are \",round(len1*10**6,2),\"feet and 73 ohm respectively\"\n",
+      "print\"(b) The length of the folded dipole are \",round(len2*10**6,2),\"feet\"\n",
+      "print\"(c) The length and radiation resistance of the bow tie antenna are \",round(len3*10**6,1),\"feet and \",round(z1,1),\"ohm resp.\"\n",
+      "print\"(d) The length and radiation resistance of the groun plane antenna are \",round(len4*10**6,3),\"feet and\",z2,\"ohm resp.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The length and radiation resistance of the dipole are  1.54 feet and 73 ohm respectively\n",
+        "(b) The length of the folded dipole are  1.27 feet\n",
+        "(c) The length and radiation resistance of the bow tie antenna are  2.3 feet and  343.5 ohm resp.\n",
+        "(d) The length and radiation resistance of the groun plane antenna are  0.755 feet and 36.5 ohm resp.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14.2 Page no 553"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "gain=14\n",
+      "len=250\n",
+      "attn_100=3.6\n",
+      "f =220*10\n",
+      "pin =50\n",
+      "p =0.126\n",
+      "\n",
+      "#Calculation\n",
+      "pout =pin*p\n",
+      "line_loss =pin-pout\n",
+      "pwr_ratio = 25.1\n",
+      "ERP = pwr_ratio*pout\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The transmission line loss is \",line_loss\n",
+      "print\"(b) Effective raduated power is \",round(ERP,1),\"W\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The transmission line loss is  43.7\n",
+        "(b) Effective raduated power is  158.1 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14.3 Page no 556"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Z0 =50\n",
+      "Zl =172\n",
+      "f =460.0*10**6\n",
+      "VF =0.86\n",
+      "\n",
+      "#Calculation\n",
+      "len =(246/f)*VF\n",
+      "\n",
+      "#Result\n",
+      "print\"The length of the impedance matching section needed for the Q section is \",round(len*10**6,2),\"feet\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The length of the impedance matching section needed for the Q section is  0.46 feet\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14.4 Page no 557"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "f = 460.0*10**6\n",
+      "VF = 0.66\n",
+      "\n",
+      "#Calculation\n",
+      "len = (246/f)*VF\n",
+      "\n",
+      "#Result \n",
+      "print\"The length of impedance matching section is \",round(len*10**6,3),\"feet\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The length of impedance matching section is  0.353 feet\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14.5 Page no 567"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "ht =275\n",
+      "hr =60\n",
+      "f=224.0*10**6\n",
+      "pt=100\n",
+      "Gt = 26\n",
+      "Gr = 3.27\n",
+      "\n",
+      "#Calculation\n",
+      "D =((2*ht)**0.5+(2*hr)**0.5)*1.61\n",
+      "lamda = 300/f\n",
+      "Pr = (pt*Gt*Gr*lamda**2)/(16*3.14**2*D**2)\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The maximmum transmitting distance is \",round(D,1),\"kilometer\"\n",
+      "print\"(b) The received power is \",round(Pr*10**15,1),\"nW\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The maximmum transmitting distance is  55.4 kilometer\n",
+        "(b) The received power is  31.5 nW\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter16.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter16.ipynb
new file mode 100755
index 00000000..a3463547
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter16.ipynb
@@ -0,0 +1,216 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:526f0478ca7a5ec4522d70a6832114c547e4784f425e0391463d5037753dde9d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 16 Microwave communication"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.1 Page no 616"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Zsrc =50\n",
+      "Zld  =136\n",
+      "f =5800.0*10**6\n",
+      "Er =2.4\n",
+      "\n",
+      "#Calculation\n",
+      "Zq =(Zsrc * Zld)**0.5\n",
+      "Vp =1/(Er)**0.5\n",
+      "lamda = 300/f\n",
+      "len = (lamda/4.0)*38.37*Vp\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The required impedance is \",round(Zq,2),\"ohm\"\n",
+      "print\"(b) The length of the microstrip \",round(len*10**6,2),\"inches\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The required impedance is  82.46 ohm\n",
+        "(b) The length of the microstrip  0.32 inches\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.2 Page no 623"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "w=0.65\n",
+      "h=0.38\n",
+      "\n",
+      "#Calculation\n",
+      "fco = 300/(2.0*((0.65*2.54)/100.0))\n",
+      "f =1.42*fco\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The cutoff frequency of the \",round(fco/10**3,3),\"GHz\"\n",
+      "print\"(b) Operating frequency of the wavwguide is \",round(f/10**3,1),\"GHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The cutoff frequency of the  9.085 GHz\n",
+        "(b) Operating frequency of the wavwguide is  12.9 GHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.3 Page no 623"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#for the above question\n",
+      "print\"The c band is approximately 4 to 6 Ghz since a waveguide acts as a high pass filter with cut off of 9.08 Ghz it will not pass c band signal\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The c band is approximately 4 to 6 Ghz since a waveguide acts as a high pass filter with cut off of 9.08 Ghz it will not pass c band signal\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.4 Page no 648"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "lamda1 =5.0\n",
+      "f2 = 15.0*10**9\n",
+      "D=1.524\n",
+      "\n",
+      "#Calculation\n",
+      "f1=984/lamda1\n",
+      "lamda2 =300/f2\n",
+      "G = (6*(D/lamda2)**2)\n",
+      "B = 70/(D/lamda2)\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The lowest possible oprerating frequency is \",f1,\"MHz\"\n",
+      "print\"(b) The gain at 15 Ghz is \",G/10**12\n",
+      "print\"(c) The beam width at 15Ghz is \",round(B*10**6,2),\"degree\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The lowest possible oprerating frequency is  196.8 MHz\n",
+        "(b) The gain at 15 Ghz is  34838.64\n",
+        "(c) The beam width at 15Ghz is  0.92 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16.5 Page no 661"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "T = 9.2\n",
+      "theta = 20\n",
+      "sin20 = 0.342\n",
+      "a=5280\n",
+      "\n",
+      "#Calculation\n",
+      "D_nautical = T/12.36\n",
+      "D_statute =D_nautical*0.87\n",
+      "A = D_statute*0.342\n",
+      "A1=A*a\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The line of distance to the aircraft in the statute miles \",round(D_statute,3)\n",
+      "print\"(b) The altitude of the aircraft is \",round(A,2),\"mi\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The line of distance to the aircraft in the statute miles  0.648\n",
+        "(b) The altitude of the aircraft is  0.22 mi\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter17.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter17.ipynb
new file mode 100755
index 00000000..c9e3dcac
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter17.ipynb
@@ -0,0 +1,142 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:36f7565fa260d3a1374317f250783789b0d4ba7834e883c19725c0b3c84c1d9a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapeter 17 Satellite communication"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17.1 Page no 678"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "stn_long = 95\n",
+      "stn_lat = 30\n",
+      "sat_long =121\n",
+      "rad_pos = 137\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "azimuth = 360-rad_pos\n",
+      "\n",
+      "#Result\n",
+      "print\"The elevation setting for the antenna is 45 degree\"\n",
+      "print\"The azimuth setting for the antenna is \",azimuth,\"degree\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The elevation setting for the antenna is 45 degree\n",
+        "The azimuth setting for the antenna is  223 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17.2 Page no 681"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "flo = 2*10**9\n",
+      "fd =3840*10**6\n",
+      "B =36*10**6\n",
+      "\n",
+      "#Calculation\n",
+      "fu =fd+flo\n",
+      "C =2*B\n",
+      "\n",
+      "#Result\n",
+      "print\"The uplink frequency is \",fu/10.0**9,\"GHz\"\n",
+      "print\"The data rate is \", C/10**6,\"Mbps\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The uplink frequency is  5.84 GHz\n",
+        "The data rate is  72 Mbps\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17.3 Page no 691"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "fs = 4.08*10**9\n",
+      "fIF1 = 770*10**6\n",
+      "fIF2 = 140*10**6\n",
+      "\n",
+      "#Calculation\n",
+      "flo1 = fs - fIF1\n",
+      "flo2 = fIF1 - fIF2\n",
+      "\n",
+      "#Result\n",
+      "print\"The local oscillator frequency for first IF is \",flo1/10**6,\"MHz\"\n",
+      "print\"The local oscillator frequency for the second IF is \",flo2/10**6,\"MHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The local oscillator frequency for first IF is  3310.0 MHz\n",
+        "The local oscillator frequency for the second IF is  630 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter19.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter19.ipynb
new file mode 100755
index 00000000..1ce8f35e
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter19.ipynb
@@ -0,0 +1,128 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:bbbebe541ba21d9bbb4d54500aef67ec9a094ac72f21cf0a19a14aa93b9c61ce"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 19 Optical communication"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19.1 Page no 760"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "NA = 0.29\n",
+      "\n",
+      "#Calculation\n",
+      "import math\n",
+      "critical_angle = math.asin(0.29)*180/3.14\n",
+      "\n",
+      "print\"The critical angle is \",round(critical_angle,2),\"degree\"\n",
+      " \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The critical angle is  16.87 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19.2 Page no 767"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "B_rating_Mhzkm =600*10**6\n",
+      "len_ft=500\n",
+      "\n",
+      "#Calculation\n",
+      "bandwidth = B_rating_Mhzkm/(len_ft/3274.0)\n",
+      "\n",
+      "#Result\n",
+      "print\"The bandwidth of the 500 feetr segment of the cable is \",bandwidth/10**6,\"MHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The bandwidth of the 500 feetr segment of the ccable is  3928.8 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19.3 Page no 780"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "R=43*10**6\n",
+      "D=1200/3274.0\n",
+      "\n",
+      "#Calculation\n",
+      "d=1/(5.0*R*D)\n",
+      "\n",
+      "#Result\n",
+      "print\"The dispersion factor is \",round(d*10**9,1),\"ns/km\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The dispersion factor is  12.7 ns/km\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter22.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter22.ipynb
new file mode 100755
index 00000000..2fc3916b
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter22.ipynb
@@ -0,0 +1,94 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d66b7b0a5ebd4fcdf9eb24f98ae81ac03aa2dcdb229f576b47a170647bd9ea49"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 22 Communication tests and measurments"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 22.1 Page no 854"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Vp=8                       #volts\n",
+      "R=75                       #Ohm\n",
+      "\n",
+      "#Calculation\n",
+      "Vmax=0.707*Vp\n",
+      "P=Vmax**2/R\n",
+      "\n",
+      "#Result\n",
+      "print\"Power is dissipated in the load is \",round(P,4),\"Watt\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Power is dissipated in the load is  0.4265 Watt\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 22.2 Page no 857"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Pf=380.0                     #Watt\n",
+      "Pr=40                      #Watt\n",
+      "\n",
+      "#Calculation\n",
+      "import math\n",
+      "m=math.sqrt(Pr/Pf)\n",
+      "SWR=(1+m)/(1-m)\n",
+      "print\"SWR= \",round(SWR,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "SWR=  1.96\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter3.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter3.ipynb
new file mode 100755
index 00000000..ef029e65
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter3.ipynb
@@ -0,0 +1,331 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:8e1b5c14d4876dc6b60f9f51fe0f04e94941e7f01c84340bf3441e1daf170b7a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3 Amplitude modulation fundamentals"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.1 page no 99"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Vmax = 5.9\n",
+      "Vmin = 1.2\n",
+      "\n",
+      "#Calculation\n",
+      "m = (Vmax-Vmin)/(Vmax+Vmin)\n",
+      "Vc = (Vmax+Vmin)/2.0\n",
+      "Vm = (Vmax-Vmin)/2.0\n",
+      "m = Vm/Vc\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The modulation index is \",round(m,2)\n",
+      "print\"Vc= \",Vc,\"Vm= \",Vm,\"(for 2 volt/div on verticle scale)\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The modulation index is  0.66\n",
+        "Vc=  3.55 Vm=  2.35 (for 2 volt/div on verticle scale)\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.2 page no 102"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "frq =980*10**3\n",
+      "frq_range = 5*10**3\n",
+      "\n",
+      "#Calculation\n",
+      "fusb = frq+frq_range\n",
+      "flsb = frq-frq_range\n",
+      "bw=fusb-flsb\n",
+      "\n",
+      "#Result\n",
+      "print\"The upper sideband is at \",fusb/10**3,\"Khz\"\n",
+      "print\"Lower sideband is at \",flsb/10**3,\"Khz\"\n",
+      "print\"the babdwidth is \",bw/10**3,\"KHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The upper sideband is at  985 Khz\n",
+        "Lower sideband is at  975 Khz\n",
+        "the babdwidth is  10 KHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.3 page no 106"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Pc = 30\n",
+      "m=0.85\n",
+      "\n",
+      "#Calculation\n",
+      "Pt = Pc*(1+ (m**2/2.0))\n",
+      "Psb_both =Pt-Pc\n",
+      "Psb_one = Psb_both/2.0\n",
+      "\n",
+      "#Result\n",
+      "print\"The total power is \",round(Pt,1),\"watt\" \n",
+      "print\"The power in one sideband is \",round(Psb_one,1),\"Watt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The total power is  40.8 watt\n",
+        "The power in one sideband is  5.4 Watt\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.4 page no 108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "R = 40\n",
+      "I = 4.8\n",
+      "m=0.9\n",
+      "\n",
+      "#Calculation\n",
+      "Pc = I**2*R\n",
+      "Pt = (I*(1+(m**2/2.0))**0.5)**2*R\n",
+      "Psb = Pt-Pc\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The carrier power is \",Pc,\" watt\"\n",
+      "print\"(b) Total power = \",round(Pt,0),\"watt\"\n",
+      "print\"(c) Sideband Power = \",round(Psb,1),\"watt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The carrier power is  921.6  watt\n",
+        "(b) Total power =  1295.0 watt\n",
+        "(c) Sideband Power =  373.2 watt\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.5 page no 108"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "It = 5.1\n",
+      "Ic =4.8\n",
+      "\n",
+      "#Calculation\n",
+      "m=(2*((It/Ic)**2-1))**0.5\n",
+      "\n",
+      "#Result\n",
+      "print\"The percentage of modulation is \",round(m*100,0)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The percentage of modulation is  51.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.6 page no 109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "m = 0.9\n",
+      "Pc = 921.6\n",
+      "\n",
+      "#calculation\n",
+      "Psb = (m**2*Pc)/4.0\n",
+      "\n",
+      "#Result\n",
+      "print\"The power in one sideband \",round(Psb,1),\"Watt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The power in one sideband  186.6 Watt\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.7 page no 113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Vpp = 178\n",
+      "R = 75.0\n",
+      "\n",
+      "#Calculation\n",
+      "Vp =Vpp/2.0\n",
+      "Vrms = 0.707*Vp\n",
+      "PEP =(Vrms**2/R)\n",
+      "\n",
+      "#Result\n",
+      "print\"The peak envelop power is \", round(PEP,1),\"Watt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The peak envelop power is  52.8 Watt\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3.8 page no 113"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Vs =24\n",
+      "Im =9.3\n",
+      "\n",
+      "#Calculation\n",
+      "PEP = Vs*Im \n",
+      "Pavg1 = PEP/3.0\n",
+      "Pavg2 = PEP/4.0\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The peak envelope power is \",PEP,\"watt\"\n",
+      "print\"(b) Average power of transmitter is \",Pavg2,\"watt to\",Pavg1,\"watt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The peak envelope power is  223.2 watt\n",
+        "(b) Average power of transmitter is  55.8 watt to 74.4 watt\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter4.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter4.ipynb
new file mode 100755
index 00000000..522fe2b5
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter4.ipynb
@@ -0,0 +1,123 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:268207babca50d59c46d454ea7ce41b37f6eaad8a022bc43c98526f17a497ebd"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "chapter 4 Amplitude Modulator and Demodulator circuits"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.1 Page no 129"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "\n",
+      "Vcc =48\n",
+      "I = 3.5\n",
+      "efficiency =70                           #percent\n",
+      "modulation = 67                          #percent\n",
+      "m = modulation/100.0\n",
+      "#calculation\n",
+      "\n",
+      "Pi = Vcc*I\n",
+      "Pc=Pi\n",
+      "Pm = Pi/2.0\n",
+      "Pout = (efficiency*Pi)/100.0\n",
+      "Ps = Pc*((m**2)/4.0)\n",
+      "maximum_swing = 2*Vcc \n",
+      "#Result\n",
+      "\n",
+      "print \"(a) RF input power to the output stage is \",Pi,\"W\"\n",
+      "print \"(b) AF power required for 100 percent modulation is \",Pm,\"W\"\n",
+      "print \"(c) Carrier output power is \",Pout,\"W\"\n",
+      "print \"(d) Power in one sideband for 67 percent modulation is \",round(Ps,2),\"W\"\n",
+      "print \"(e) maximum and minimum dc supply voltage swing with 100 percent modulation is \",maximum_swing,\"V\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) RF input power to the output stage is  168.0 W\n",
+        "(b) AF power required for 100 percent modulation is  84.0 W\n",
+        "(c) Carrier output power is  117.6 W\n",
+        "(d) Power in one sideband for 67 percent modulation is  18.85 W\n",
+        "(e) maximum and minimum dc supply voltage swing with 100 percent modulation is  96 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.2 Page no 145"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "\n",
+      "fc =4.2*10**6\n",
+      "f1 = 300\n",
+      "f2 = 3400\n",
+      "#calculation\n",
+      "#upper sideband\n",
+      "\n",
+      "x0=fc+f1\n",
+      "y0=fc+f2\n",
+      "#lower sideband\n",
+      "\n",
+      "x1=fc-f1\n",
+      "y1=fc-f2\n",
+      "frequency=(x1+y1)/2.0\n",
+      "#Result \n",
+      "\n",
+      "print \"(a) Upper sideband ranges from \",x0,\"to\",y0\n",
+      "print \"    lower sideband ranges from \",x1,\"to\",y1\n",
+      "print \"(b) approximate center frequency of a bandpass filter is \",frequency,\"Hz\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) Upper sideband ranges from  4200300.0 to 4203400.0\n",
+        "    lower sideband ranges from  4199700.0 to 4196600.0\n",
+        "(b) approximate center frequency of a bandpass filter is  4198150.0 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter5.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter5.ipynb
new file mode 100755
index 00000000..3539866c
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter5.ipynb
@@ -0,0 +1,253 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:91b0cb714976b5e3abb5fa418cb1d12fb7cd307f6d4fd008a74f2dcf67b41e57"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5 Fundamentals of frequency modulation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.1 Page no 153"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "f = 915*10**6\n",
+      "fm_deviation =12.5*10**3\n",
+      "\n",
+      "#Calculation\n",
+      "max_deviation = f + fm_deviation\n",
+      "min_deviation = f - fm_deviation\n",
+      "\n",
+      "#Result\n",
+      "print\"Maximum frequency occur during modulation is \",max_deviation/1000.0,\"KHz\"\n",
+      "print\"Minimum frequency occur during modulation is \",min_deviation/1000.0,\"KHz\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum frequency occur during modulation is  915012.5 KHz\n",
+        "Minimum frequency occur during modulation is  914987.5 KHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.2 Page no 160"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "max_deviation = 25*10**3\n",
+      "fm =15.0*10**3\n",
+      "\n",
+      "#Calculation\n",
+      "mf =max_deviation/fm\n",
+      "\n",
+      "#Result\n",
+      "print\"The deviation ratio of the TV sound is \",round(mf,3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The deviation ratio of the TV sound is  1.667\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.3 Page no 162"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "mf = 2.2\n",
+      "fd = 7.48*10**3\n",
+      "\n",
+      "#Calculation\n",
+      "fm = fd/mf\n",
+      "\n",
+      "#Result\n",
+      "print\"The maximum modulating frequency is \",fm/1000.0,\"KHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The maximum modulating frequency is  3.4 KHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.4 Page no 164"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "J0 = -0.4\n",
+      "J1 = -0.07\n",
+      "J2 = 0.36\n",
+      "J3 = 0.43\n",
+      "J4 = 0.28\n",
+      "\n",
+      "#Result\n",
+      "print\"The amplitude of the carrier is \",J0\n",
+      "print\"Amplitudes of the first four sidebands are \",\" \\n \", J1,\"\\n \",J2,\"\\n \",J3,\"\\n \",J4\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The amplitude of the carrier is  -0.4\n",
+        "Amplitudes of the first four sidebands are   \n",
+        "  -0.07 \n",
+        "  0.36 \n",
+        "  0.43 \n",
+        "  0.28\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.5 Page no 165"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "fd = 30*10**3\n",
+      "fm = 5*10**3\n",
+      "N=9\n",
+      "\n",
+      "#Calculation\n",
+      "bw1 = 2*fm*N\n",
+      "bw2 = 2*(fd+fm)\n",
+      "\n",
+      "#Result\n",
+      "print\"The maximum bandwidth of the fm signal is \",bw1/10**3,\"KHz\"\n",
+      "print\"Bandwidth using carson's rule \",bw2/10**3,\"KHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The maximum bandwidth of the fm signal is  90 KHz\n",
+        "Bandwidth using carson's rule  70 KHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5.6 Page no 167"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "S_N = 2.8\n",
+      "fm = 1.5*10**3\n",
+      "fd =4*10**3\n",
+      "\n",
+      "#Calculation\n",
+      "import math\n",
+      "fi= math.asin(1/S_N)\n",
+      "delta = fi*fm\n",
+      "SN =fd/delta\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The frequency deviation caused by the noise \",round(delta,1),\"Hz\"\n",
+      "print\"(b) The improved output signal to noise ratio is \",round(SN,1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The frequency deviation caused by the noise  547.8 Hz\n",
+        "(b) The improved output signal to noise ratio is  7.3\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter6.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter6.ipynb
new file mode 100755
index 00000000..8bd8c6da
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter6.ipynb
@@ -0,0 +1,148 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:aac83d9b958acba775304d5e53683242c3be955e852f2ce5dbe2f25d81f3bf36"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6 FM Circuits"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.1 Page no 178"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Vc =40*10**-12\n",
+      "c = 20*10**-12\n",
+      "f0 = 5.5*10**6\n",
+      "Ct = Vc+c\n",
+      "\n",
+      "#Calculation\n",
+      "L = 1/((6.28*f0)**2*Ct)\n",
+      "\n",
+      "#Result\n",
+      "print\"The value of the inductance is \",round(L*10**6,0),\"microhenry\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of the inductance is  14.0 microhenry\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.2 Page no 186"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "f=168.96*10**6\n",
+      "multiplier=24.0\n",
+      "deviation = 5*10**3\n",
+      "fm = 2.8*10**3\n",
+      "\n",
+      "#Calculation\n",
+      "f0 =f/multiplier\n",
+      "fd= deviation/multiplier\n",
+      "phaseshift = fd/fm\n",
+      "phaseshift_degrees = phaseshift*57.3\n",
+      "total_phaseshift =2*phaseshift_degrees\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The crystal oscillator frequency is \",f0/10**6,\"MHz\"\n",
+      "print\"(b) The total phase shift is \",round(total_phaseshift,3),\"degree\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The crystal oscillator frequency is  7.04 MHz\n",
+        "(b) The total phase shift is  8.527 degree\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.3 Page no 187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "R =1*10**3\n",
+      "phaseshift =4.263\n",
+      "phaseshift_center= 45\n",
+      "f =7.04*10**6\n",
+      "\n",
+      "#Calculation\n",
+      "phase_l = phaseshift_center - phaseshift\n",
+      "phase_u = phaseshift_center + phaseshift\n",
+      "phaserange_total = phase_u - phase_l\n",
+      "Xc1 = 1161\n",
+      "C1 = 1/(6.28*f*Xc1)\n",
+      "Xc2 = 861\n",
+      "C2 = 1/(6.28*f*Xc2)\n",
+      "\n",
+      "#Result\n",
+      "print\"The two values of the capacitance to achieve total deviation are \",round(C1*10**12,1),\"pf to\",round(C2*10**12,1),\"pf\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The two values of the capacitance to achieve total deviation are  19.5 pf to 26.3 pf\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter7.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter7.ipynb
new file mode 100755
index 00000000..c4587482
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter7.ipynb
@@ -0,0 +1,221 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:13e4ad42742896befb0b329fd930804197555dd5705f1dd526b017e9117b7b00"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7 Digital communication techniques"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.1 Page no 210"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "t = 71.4*10**-6\n",
+      "\n",
+      "#calculation\n",
+      "f = 1/t\n",
+      "fourth_harmonic = f*4\n",
+      "min_sampling = 2*fourth_harmonic\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The frequency of the signal is \",round(f/10**3,1),\"KHz\"\n",
+      "print\"(b) The fourth harmonic is \",round(fourth_harmonic/10**3,0),\"KHz\"\n",
+      "print\"(c) Minimum sampling rate is \",round(min_sampling/10**3,0),\"KHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The frequency of the signal is  14.0 KHz\n",
+        "(b) The fourth harmonic is  56.0 KHz\n",
+        "(c) Minimum sampling rate is  112.0 KHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.2 Page no 222"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "N = 14\n",
+      "discrete_levels = 2.0**N\n",
+      "\n",
+      "#Calculation\n",
+      "num_vltg_inc =2**N-1\n",
+      "resolution = 12/discrete_levels \n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The numbedr of discrete levels that are represented using N number of bits are \",discrete_levels\n",
+      "print\"(b) the number odf voltage increments required to divide the voltage range are \",num_vltg_inc\n",
+      "print\"(c) Resolution of the digitization \",round(resolution*10**6,2),\"microvolt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The numbedr of discrete levels that are represented using N number of bits are  16384.0\n",
+        "(b) the number odf voltage increments required to divide the voltage range are  16383\n",
+        "(c) Resolution of the digitization  732.42 microvolt\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.3 Page no 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "N =12\n",
+      "SINAD1=78\n",
+      "\n",
+      "#Calculation\n",
+      "SINAD2 = 6.02*N + 1.76\n",
+      "ENOB =(SINAD1 -1.76)/6.02\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The SINAD for 12 bit convertre is \",SINAD2,\"db\"\n",
+      "print\"(b) The ENOB for the converter with SINAD of 78 dB is \",round(ENOB,2),\"bits\"   \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The SINAD for 12 bit convertre is  74.0 db\n",
+        "(b) The ENOB for the converter with SINAD of 78 dB is  12.66 bits\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.4 Page no 233"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Gievn\n",
+      "Vm = 1.0\n",
+      "Vin = 0.25\n",
+      "mu =255\n",
+      "\n",
+      "#Calculation\n",
+      "import math\n",
+      "Vout = (Vm*log(1+mu*(Vin/Vm)))/log(1+mu)\n",
+      "gain =Vout/Vin\n",
+      "\n",
+      "#Result\n",
+      "print\"The output voltage of the compander \",round(Vout,2),\"volt\"\n",
+      "print\"Gain of the compander is \",round(gain,0)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output voltage of the compander  0.75 volt\n",
+        "Gain of the compander is  3.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7.5 Page no 234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Vin = 0.8\n",
+      "Vm =1.0\n",
+      "mu =255\n",
+      "\n",
+      "#Calculation\n",
+      "import math\n",
+      "Vout = (Vm*math.log(1+mu*(Vin/Vm)))/math.log(1+mu)\n",
+      "gain =Vout/Vin\n",
+      "\n",
+      "#Result\n",
+      "print\"The output voltage of the compander \",round(Vout,1),\"volt\"\n",
+      "print\"Gain of the compander is \",round(gain,1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output voltage of the compander  1.0 volt\n",
+        "Gain of the compander is  1.2\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter8.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter8.ipynb
new file mode 100755
index 00000000..4cad3df0
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter8.ipynb
@@ -0,0 +1,185 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:6738b73e6fb4913114449836a25c14169c484a93e5e60fcba9b0e4a9815c8f56"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8 Radio transmitters"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.1 Page no 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "f = 16*10**6\n",
+      "ppm = 200\n",
+      "frequency_variation = 200 *16 \n",
+      "\n",
+      "#Calculation\n",
+      "min_f = f - frequency_variation\n",
+      "max_f = f + frequency_variation\n",
+      "\n",
+      "#Reslt\n",
+      "print\"The minimum and maximum frequencies for the crystal of 16 Mhz with stability of 200 are \",min_f,\"Hz and\",max_f,\"Hz respectively\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum and maximum frequencies for the crystal of 16 Mhz with stability of 200 are  15996800 Hz and 16003200 Hz respectively\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.2 Page no 250"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "f =14.9*10**6\n",
+      "mul_factor = 2*3*3\n",
+      "stability_ppm =300\n",
+      "variation = 0.0003\n",
+      "\n",
+      "#Calculation\n",
+      "total_variation = variation* mul_factor\n",
+      "fout = f * mul_factor\n",
+      "frequency_variation = fout*total_variation\n",
+      "f_lower = fout - frequency_variation\n",
+      "f_upper = fout + frequency_variation\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The output frequency of the transmitter is \",fout/10**6,\"MHz\"\n",
+      "print\"(b) The maximum and minimum frequencies of the transmitter are \",round(f_lower/10**6,2),\"Mhz and \",round(f_upper/10**6,2),\"Mhz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The output frequency of the transmitter is  268.2 MHz\n",
+        "(b) The maximum and minimum frequencies of the transmitter are  266.75 Mhz and  269.65 Mhz\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.3 Page no 259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "f = 10*10**6\n",
+      "div_factor = 100.0\n",
+      "A =63\n",
+      "N = 285\n",
+      "M=32\n",
+      "\n",
+      "#Calculation\n",
+      "ref = f/div_factor\n",
+      "R =M*N+A\n",
+      "fout= R*ref\n",
+      "\n",
+      "#Result\n",
+      "print\"The output frequency of the synthesizer is \",fout/10**6,\"MHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output frequency of the synthesizer is  918.3 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8.4 Page no 259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "f = 10*10**6\n",
+      "div_factor = 100.0\n",
+      "A =64\n",
+      "N = 285\n",
+      "M=32\n",
+      "\n",
+      "#Calculation\n",
+      "ref = f/div_factor\n",
+      "R =M*N+A\n",
+      "fout= R*ref\n",
+      "\n",
+      "#Result\n",
+      "print\"The output frequency of the synthesizer is \",fout/10**6,\"MHz\"\n",
+      "print\"The step change is \",fout/10**6-918.3,\"MHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output frequency of the synthesizer is  918.4 MHz\n",
+        "The step change is  0.1 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter9.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter9.ipynb
new file mode 100755
index 00000000..379e8939
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter9.ipynb
@@ -0,0 +1,274 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3ff4b00636e0eec0da6869f81549546163050c8b991ea646d8083caae0f8dd37"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9 Communication receivers"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.1 Page no 318"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "fl =220*10**6\n",
+      "fm =224*10**6\n",
+      "IF1 = 10.7*10**6\n",
+      "IF = 1.5*10**6\n",
+      "\n",
+      "#Calculation\n",
+      "IF2 =IF1+IF\n",
+      "tune_l =fl+IF1\n",
+      "tune_m = fm+IF1\n",
+      "IF1_imgl = tune_l+IF1\n",
+      "IF2_imgm = tune_m+IF1\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The local oscillatior tuning range is \",tune_l/10**6,\"to \",tune_m/10**6,\"MHz\"\n",
+      "print\"(b) Frequency of the second local oscillator is \",IF2/10**6,\"MHz\"\n",
+      "print\"(c) First IF image range is \",IF1_imgl/10**6,\"MHz to \",IF2_imgm/10**6,\"MHz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The local oscillatior tuning range is  230.7 to  234.7 MHz\n",
+        "(b) Frequency of the second local oscillator is  12.2 MHz\n",
+        "(c) First IF image range is  241.4 MHz to  245.4 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.2 Page no 324"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "R = 100*10**3\n",
+      "T = 273+25\n",
+      "B = 20*10**3\n",
+      "k = 1.38*10**-23\n",
+      "\n",
+      "#Calculation\n",
+      "Vn=(4*k*T*B*R)**0.5\n",
+      "\n",
+      "#Result\n",
+      "print\"The noise voltage across 100k resistor is \",round(Vn*10**6,2),\"microvolt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The noise voltage across 100k resistor is  5.74 microvolt\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.3 Page no 324"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "R=75\n",
+      "B=6*10**6  \n",
+      "T = 29+273\n",
+      "k =1.38*10**-23\n",
+      "\n",
+      "#calculation\n",
+      "Vn = (4*k*T*B*R)**0.5\n",
+      "\n",
+      "#Result\n",
+      "print\"The input themal noise is \",round(Vn*10**6,2),\"microvolt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The input themal noise is  2.74 microvolt\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.4 Page no 326"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "Tc=32.2\n",
+      "Tk=273+Tc\n",
+      "B =30*10**3\n",
+      "k =1.38*10**-23\n",
+      "\n",
+      "#Calculation\n",
+      "Pn=k*Tk*B\n",
+      "\n",
+      "#Result\n",
+      "print\"The average noise power is \",round(Pn*10**16,2),\"10**-16 W\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The average noise power is  1.26 10**-16 W\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 Page no 329"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "SN_ip = 8\n",
+      "SN_op = 6.0\n",
+      "\n",
+      "#Calculation\n",
+      "NR = SN_ip/SN_op\n",
+      "NF = 10*log10(NR)\n",
+      "\n",
+      "#Result\n",
+      "print\"The noise factor is \",round(NR,2)\n",
+      "print\"The noise figure is \",round(NF,2),\"dB\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The noise factor is  1.33\n",
+        "The noise figure is  1.25 dB\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.6 Page no 330"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Given\n",
+      "R= 75.0\n",
+      "T=31+273\n",
+      "k=1.38*10**-23\n",
+      "B=6*10**6\n",
+      "Vs = 8.3*10**-6\n",
+      "NF=2.8\n",
+      "\n",
+      "#Calculation\n",
+      "import math\n",
+      "Vn = math.sqrt(4*k*T*B*R)\n",
+      "Pn = Vn**2/R\n",
+      "Ps = Vs**2/R\n",
+      "SN = (Ps*10**12)/(Pn/10.0**12)\n",
+      "SN_dB =10*log10(SN)\n",
+      "NR = 10**0.28\n",
+      "SN_op = SN/NR\n",
+      "Tn = 290*(NR-1)\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The input noise power is \",round(Pn*10**12,1),\"pW\"\n",
+      "print\"(b) The input signal power is \",round(Ps*10**12,3),\"pW\"\n",
+      "print\"(c) Signal to noise ratio in decibels \",round(SN/10**24,2)\n",
+      "print\"(d) The noise factor is \",round(NR,2)\n",
+      "print\"(e) Signal to noise ratio of the amplifier is \",round(SN_op/10**24,2)\n",
+      "print\"(f) The noise temperature of the amplifier \",round(Tn,0),\"K\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The input noise power is  0.1 pW\n",
+        "(b) The input signal power is  0.919 pW\n",
+        "(c) Signal to noise ratio in decibels  9.12\n",
+        "(d) The noise factor is  1.91\n",
+        "(e) Signal to noise ratio of the amplifier is  4.79\n",
+        "(f) The noise temperature of the amplifier  263.0 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/chapter_2.ipynb b/Principles_Of_Electronic_Communication_Systems/chapter_2.ipynb
new file mode 100755
index 00000000..3847150a
--- /dev/null
+++ b/Principles_Of_Electronic_Communication_Systems/chapter_2.ipynb
@@ -0,0 +1,1143 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:759039f1dfc5f6d62e90bf867630bc8f1cdda845968a4b5c11c4acddcb77b251"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2 The fundamentals of Electronics: A Review"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.1 Page no 31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "vout=750*10**-3\n",
+      "vin = 30*10**-6\n",
+      "\n",
+      "#calculation\n",
+      "gain=vout/vin\n",
+      "\n",
+      "#Result\n",
+      "print\"The Voltage gain of the amplifier is \",gain\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Voltage gain of the amplifier is  25000.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.2 Page no 31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "pout=6\n",
+      "power_gain=80.0\n",
+      "\n",
+      "#calculation\n",
+      "pin=pout/power_gain\n",
+      "\n",
+      "#Result\n",
+      "print\"The input power of the signal is \",pin*1000,\"mW\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The input power of the sigmal is  75.0 mW\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3 Page no 32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "A1=5;\n",
+      "A2=2;\n",
+      "A3=17;\n",
+      "total_gain=A1*A2*A3;\n",
+      "pin= 40*10**-3;\n",
+      "\n",
+      "#calculation\n",
+      "pout=total_gain*pin;\n",
+      "\n",
+      "#Result\n",
+      "print\"The output power is\",pout,\"watts\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output power is 6.8 watts\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.4 Page no 32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "pin=25.0*10**-6;\n",
+      "pout=1.5*10**-3;\n",
+      "A1=3.0;\n",
+      "\n",
+      "#Calculation\n",
+      "total_gain=pout/pin;\n",
+      "print\"Total gain is\",total_gain\n",
+      "A2=total_gain/A1\n",
+      "\n",
+      "#Result\n",
+      "print\"The gain of second stage is \",A2\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total gain is 60.0\n",
+        "The gain of second stage is  20.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.5 Page no 34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "R1=10.0*10**3;\n",
+      "R2=470.0;\n",
+      "\n",
+      "#Calculation\n",
+      "attenuation=R2/(R2+R1)\n",
+      "A2=1/attenuation\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The attenuation (A1) is\",round(attenuation,3)\n",
+      "print\"(b) The attenuation (A2) is\",round(A2,1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The attenuation (A1) is 0.045\n",
+        "(b) The attenuation (A2) is 22.3\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6 Page no 35"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "Vin=20.0*10**-6;\n",
+      "Vout=100*10**-3;\n",
+      "A1=45000.0                                #A1 isAmplifier gain\n",
+      "\n",
+      "#calculation\n",
+      "AT=Vout/Vin                                #AT is Total gain\n",
+      "A2=AT/A1                                   #A2 is attenuation factor\n",
+      "\n",
+      "#Result\n",
+      "print\"Total gain is\",AT\n",
+      "print\"The atenuation factor needed to to keep the output voltage from exceeding 100 mv is \",round(A2,4)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total gain is 5000.0\n",
+        "The atenuation factor needed to to keep the output voltage from exceeding 100 mv is  0.1111\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7 Page no 36"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "Vin=3.0*10**-3\n",
+      "Vout=5\n",
+      "Pin=50.0*10**-3                                     \n",
+      "Pout=2*10**-3                                     \n",
+      "\n",
+      "#calculation\n",
+      "import math\n",
+      "gain_dB= 20*log10 (Vout/Vin)\n",
+      "gain_db=10*log10 (Pout/Pin)\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The gain of amplifier in dB is \",round(gain_dB,1)\n",
+      "print\"(b) The gain in dB is \",round(gain_db,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The gain of amplifier in dB is  64.4\n",
+        "(b) The gain in dB is  -13.98\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8 Page no 38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "gain_dB = 40\n",
+      "pout_W= 100\n",
+      "\n",
+      "#calculation\n",
+      "pin_W = pout_W/10.0**4\n",
+      "\n",
+      "#Result\n",
+      "print\"The input power is \",pin_W*10**3,\"m Watt\"\n",
+      " \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The input power is  10.0 m Watt\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.9 Page no 38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "\n",
+      "gain_db = 60\n",
+      "vin = 50*10**-6\n",
+      "\n",
+      "#calculation\n",
+      "vout = 10**(60/20.0)*vin\n",
+      "\n",
+      "#Result\n",
+      "print\"The output voltage is \",vout,\"volt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output voltage is  0.05 volt\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.10 Page no 39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "\n",
+      "vin=90*10**-3\n",
+      "R1= 10.0*10**3\n",
+      "vout=7.8\n",
+      "Rout=8.0\n",
+      "\n",
+      "#calculation\n",
+      "pin= vin**2/R1\n",
+      "pout=vout**2/Rout\n",
+      "\n",
+      "import math\n",
+      "Ap_db = 10*log10 (pout/pin)\n",
+      "\n",
+      "#Result\n",
+      "print\"The power gain in decibel is \",round(Ap_db,1),\"dB\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The power gain in decibel is  69.7 dB\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.11 Page no 40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "\n",
+      "gain_db = 28\n",
+      "pin = 36*10**-3\n",
+      "\n",
+      "#calculation\n",
+      "pout = 10**2.8*pin;\n",
+      "\n",
+      "#Result\n",
+      "print\"The output power is \",round(pout,2),\"watt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output power is  22.71 watt\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.12 Page no 40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "gain1 = 6.8 \n",
+      "gain2 = 14.3\n",
+      "attenuation1 = -16.4\n",
+      "attenuation2 = -2.9\n",
+      "vout = 800*10**-3\n",
+      "\n",
+      "#calculation\n",
+      "At = gain1+gain2+attenuation1+attenuation2\n",
+      "vin = vout/10.0**(At/20.0)\n",
+      "\n",
+      "#Result\n",
+      "print\"The input voltage is \",round(vin*10**3,1),\"mv\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The input voltage is  650.3 mv\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.13 Page no 40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "pout_db =12.3\n",
+      "\n",
+      "#calculation\n",
+      "pout_mW = 0.001*10**(12.3/10.0)\n",
+      "\n",
+      "#Result\n",
+      "print\"The output power is \" ,round(pout_mW*10**3,0),\"mv\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output power is  17.0 mv\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.14 Page no 46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "c = 2.7*10**-12\n",
+      "l = 33*10**-9\n",
+      "\n",
+      "#calculation\n",
+      "fr= 1/(6.28*(l*c)**0.5)\n",
+      "\n",
+      "#Result\n",
+      "print\"The resonat frequency is \" ,round(fr/10.0**6,0),\"Mhz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The resonat frequency is  533.0 Mhz\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.15 Page no 47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "c =12*10**-12\n",
+      "fr = 49*10**6\n",
+      "\n",
+      "#calculation\n",
+      "l=1/(4*3.14**2*fr**2*c)\n",
+      "\n",
+      "#Result\n",
+      "print\"The value of inductance is \" ,round(l*10**9,0),\"nh\" \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of inductance is  880.0 nh\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.16 Page no 49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "fr=28*10**6\n",
+      "Q=70.0\n",
+      "\n",
+      "#calculation\n",
+      "bandwidth = fr/Q\n",
+      "\n",
+      "#Result\n",
+      "print\"The bandwidth is \",bandwidth/10.0**3,\"Khz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The bandwidth is  400.0 Khz\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.17 Page no 50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "f1= 7.93*10**6\n",
+      "f2= 8.07*10**6\n",
+      "\n",
+      "#calculation\n",
+      "bw= f2-f1\n",
+      "fr=(f1*f2)**0.5\n",
+      "Q= fr/bw\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The bandwidth is \",bw/10.0**3,\"Khz\"\n",
+      "print\"(b) The resonant frequency is \",round(fr/10.0**6,0),\"Mhz\"\n",
+      "print\"(c) The Q of resonant circuit is \",round(Q,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The bandwidth is  140.0 Khz\n",
+        "(b) The resonant frequency is  8.0 Mhz\n",
+        "(c) The Q of resonant circuit is  57.14\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.18 Page no 50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "Q=200.0\n",
+      "fr=16*10**6\n",
+      "\n",
+      "#calculation\n",
+      "bw=fr/Q\n",
+      "f1= fr-(bw/2)\n",
+      "f2=fr+(bw/2)\n",
+      "\n",
+      "#Result\n",
+      "print\"Bandwidth is \",bw*10**-3,\"KHz\"\n",
+      "print\"f1= \",f1*10**-6,\"MHz\"\n",
+      "print\"f2= \",f2*10**-6,\"MHz\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Bandwidth is  80.0 KHz\n",
+        "f1=  15.96 MHz\n",
+        "f2=  16.04 MHz\n"
+       ]
+      }
+     ],
+     "prompt_number": 30
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.19 Page no 52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "Q= 150\n",
+      "Vs=3*10**-6\n",
+      "\n",
+      "#calculation\n",
+      "Vc= Q*Vs\n",
+      "\n",
+      "#Result\n",
+      "print\"The voltage across capacitor is \",Vc*10**6,\"microvolt\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The voltage across capacitor is  450.0 microvolt\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.20 Page no 54"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "fr= 52*10**6\n",
+      "Q=12.0\n",
+      "L=0.15*10**-6\n",
+      "\n",
+      "#calculation\n",
+      "Rw=(6.28*fr*L)/Q\n",
+      "Req= Rw*(Q**2+1)\n",
+      "\n",
+      "#Result\n",
+      "print\"Impedance of the parellel LC circuit is \",round(Req,0),\"ohm\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Impedance of the parellel LC circuit is  592.0 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.21 Page no 54"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "fr= 52.0*10**6\n",
+      "Rw= 4.1\n",
+      "L =0.15*10**-6\n",
+      "\n",
+      "#calculation\n",
+      "C=1/(4.0*3.14**2*fr**2*L)\n",
+      "Z = L/(C*Rw)\n",
+      "\n",
+      "#Result\n",
+      "print\"the impedance of the circuit is \",round(Z,0),\"ohm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the impedance of the circuit is  585.0 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.22 Page no 55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "bw = 1.0*10**6\n",
+      "XL = 300\n",
+      "Rw = 10.0\n",
+      "fr =10*10**6\n",
+      "\n",
+      "#calculation\n",
+      "Q1 = XL/Rw\n",
+      "Rp = Rw*(Q1**2+1) \n",
+      "\n",
+      "Q2 = fr/bw\n",
+      "Rpnew = Q2*XL\n",
+      "\n",
+      "Rext = (Rpnew*Rp)/(Rp-Rpnew)\n",
+      "\n",
+      "#Result\n",
+      "print\"The value of resistor needed to set the bandwidth of the parellel tuned circuit is \",round(Rext,1),\"ohm\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of resistor needed to set the bandwidth of the parellel tuned circuit is  4497.5 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.23 Page no 57"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "R = 8.2*10**3\n",
+      "C =0.0033*10**-6\n",
+      "\n",
+      "#calculation\n",
+      "fco = 1/(6.28* R*C)\n",
+      "\n",
+      "#Result\n",
+      "print\"The cut off frequency is \",round(fco/10.0**3,2),\"Khz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The cut off frequency is  5.88 Khz\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.24 Page no 60"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "fco =3.4*10**3\n",
+      "C = 0.047*10**-6\n",
+      "\n",
+      "#calculation\n",
+      "R = 1/(6.28* fco* C)\n",
+      "\n",
+      "#Result\n",
+      "print\"The value of the resistor is \",round(R,0),\"ohm\"\n",
+      "print\"The closest standard value is \", 1000 ,\"ohm\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of the resistor is  996.0 ohm\n",
+        "The closest standard value is  1000 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.25 Page no 61"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "fnotch = 120\n",
+      "R = 220*10**3\n",
+      "\n",
+      "#calculatiuon\n",
+      "C = 1/(6.28*R*fnotch)\n",
+      "\n",
+      "#Result\n",
+      "print\"The value of capacitance required is \",round(2*C*10**6,3),\"microfarad\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The value of capacitance required is  0.012 microfarad\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.26 Page no 82"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "Vpeak =3.0\n",
+      "f=48*10**3\n",
+      "\n",
+      "#calculation\n",
+      "fifth_harmonic = 5*f\n",
+      "Vrms=(4/3.14)*(3/5.0)*0.707\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The frequency of the fifth harmonic is \",fifth_harmonic/10.0**3,\"Khz\"\n",
+      "print\"The RMS voltage of the fifth harmonic is \",round(Vrms,3)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The frequency of the fifth harmonic is  240.0 Khz\n",
+        "The RMS voltage of the fifth harmonic is  0.54\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.27 Page no 87"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "Vpeak = 5\n",
+      "f = 4.0*10**6\n",
+      "duty_cycle=0.3\n",
+      "\n",
+      "#calculation\n",
+      "T = 1/f\n",
+      "t0 = duty_cycle*T\n",
+      "Vavg = Vpeak*duty_cycle\n",
+      "min_bw =1/t0\n",
+      "\n",
+      "#Result\n",
+      "print\"(a) The average DC value is \",Vavg,\"volt\"\n",
+      "print\"(b) The minimum bandwidth required is \" ,round(min_bw/10.0**6,3),\"Mhz\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a) The average DC value is  1.5 volt\n",
+        "(b) The minimum bandwidth required is  13.333 Mhz\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.28 Page no 88"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "tr =6*10**-9\n",
+      "\n",
+      "#calculation\n",
+      "min_bw=(35/0.006)\n",
+      "\n",
+      "#Result\n",
+      "print\"The minimum bandwidth is % is \",round(min_bw/10.0**2,1),\"Mhz\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum bandwidth is % is  58.3 Mhz\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.29 Page no 89"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "bw= 200.0*10**3\n",
+      "\n",
+      "#calculation\n",
+      "tr= 0.35/(bw*10**-3)\n",
+      "\n",
+      "#Result\n",
+      "print\"The fastest rise time of the circuit is \" ,tr*10**3,\"microseconds\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fastest rise time of the circuit is  1.75 microseconds\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.30 Page no 90"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#given\n",
+      "bw_mhz = 60\n",
+      "tri_ns= 15\n",
+      "\n",
+      "#calculation\n",
+      "tra_osci = 0.35/(bw_mhz)\n",
+      "tra_comp = 1.1*(tri_ns**2 + (tra_osci*10**3)**2)**0.5\n",
+      "\n",
+      "#Result\n",
+      "print\"The rise time of the displayed square wave is \",round(tra_comp,1),\"ns\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The rise time of the displayed square wave is  17.7 ns\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Electronic_Communication_Systems/screenshots/image_1.png b/Principles_Of_Electronic_Communication_Systems/screenshots/image_1.png
new file mode 100755
index 00000000..41f1e840
Binary files /dev/null and b/Principles_Of_Electronic_Communication_Systems/screenshots/image_1.png differ
diff --git a/Principles_Of_Electronic_Communication_Systems/screenshots/image_2.png b/Principles_Of_Electronic_Communication_Systems/screenshots/image_2.png
new file mode 100755
index 00000000..3575a38f
Binary files /dev/null and b/Principles_Of_Electronic_Communication_Systems/screenshots/image_2.png differ
diff --git a/Principles_Of_Electronic_Communication_Systems/screenshots/image_3.png b/Principles_Of_Electronic_Communication_Systems/screenshots/image_3.png
new file mode 100755
index 00000000..882458c8
Binary files /dev/null and b/Principles_Of_Electronic_Communication_Systems/screenshots/image_3.png differ
diff --git a/Principles_Of_Foundation_Engineering/Chapter01_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter01_1.ipynb
new file mode 100755
index 00000000..61dc3457
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter01_1.ipynb
@@ -0,0 +1,249 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3f5444f542f0d6a3b857b61fbecdc4e8047247ed8828d4cea5a34f91ccdf5eb3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1:Geotechnical Properties of Soil"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1.1:Pg-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 1.1\n",
+      "\n",
+      "V=0.25; # ft^3\n",
+      "W=30.8; #lb\n",
+      "Wd=28.2; # weight dried lb\n",
+      "Gs=2.7;\n",
+      "Gammaw=62.4; #lb/ft^3\n",
+      "Gamma=W/V;\n",
+      "print Gamma,\" is moist unit weight in lb/ft^3\"\n",
+      "w=(W-Wd)/W;\n",
+      "print round(w*100,2),\"is moisture content in %\"\n",
+      "Gammad=Wd/V;\n",
+      "print Gammad, \"is dry unit weight in lb/ft^3\"\n",
+      "Vs=Wd/Gs/Gammaw;\n",
+      "Vv=V-Vs;\n",
+      "e=Vv/Vs;\n",
+      "print round(e,3),\" is void ratio\"\n",
+      "n=e/(1+e);\n",
+      "print round(n,2),\"is porosity\"\n",
+      "Vw=(W-Wd)/Gammaw;\n",
+      "S=Vw/Vv;\n",
+      "print round(S*100,2),\"is saturation in %\"\n",
+      "\n",
+      "# The answers in the book are different due to approximation while here calculations are precise\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "123.2  is moist unit weight in lb/ft^3\n",
+        "8.44 is moisture content in %\n",
+        "112.8 is dry unit weight in lb/ft^3\n",
+        "0.494  is void ratio\n",
+        "0.33 is porosity\n",
+        "50.43 is saturation in %\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1.2:Pg-11"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 1.2\n",
+      "\n",
+      "e=0.72;\n",
+      "w=12.0/100; #moisture content\n",
+      "Gs=2.72;\n",
+      "Gammaw=9.81;#kN/m^3\n",
+      "Gammad=Gs*Gammaw/(1+e);\n",
+      "print round(Gammad,2),\"= dry unit weight in kN/m^3\"\n",
+      "Gamma=Gs*Gammaw*(1+w)/(1+e);\n",
+      "print round(Gamma,2),\" = moist unit weight in kN/m^3\"\n",
+      "Gammasat=(Gs+e)*Gammaw/(1+e);\n",
+      "wa=Gammasat-Gamma;#water added\n",
+      "print round(wa,2),\" = water added in kN/m^3\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "15.51 = dry unit weight in kN/m^3\n",
+        "17.38  = moist unit weight in kN/m^3\n",
+        "2.24  = water added in kN/m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1.3:Pg-12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 1.3\n",
+      "from scipy.optimize import fsolve\n",
+      "gmax=17.1; # Gammadmax\n",
+      "Dr=0.7;\n",
+      "w=8.0/100;#moisture content\n",
+      "gmin=14.2; #Gammadmin\n",
+      "def f(x):\n",
+      "    return (x-14.2)/(17.1-14.2)*17.1/x-0.7 \n",
+      "x=fsolve(f,16);#solving for gammad\n",
+      "Gamma=x[0]*(1+w);\n",
+      "print round(Gamma,2),\"moist unit weight in kN/m^3\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "17.4 moist unit weight in kN/m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1.7:Pg-38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 1.7\n",
+      "import math\n",
+      "#part (a)\n",
+      "e1=0.92;\n",
+      "e2=0.86;\n",
+      "Hc=2.8; # in m\n",
+      "s2=212.0;#sigma2dash Load in kN/m2\n",
+      "s1=140.0;#sigma1dash Load in kN/m2\n",
+      "Cc=(e1-e2)/math.log10(s2/s1);\n",
+      "Sc=Cc*Hc/(1+e1)*math.log10(s2/s1);\n",
+      "print Sc*1000,\"consolidated depth in mm\"\n",
+      "#part (b)\n",
+      "# from Figure (1.21):\n",
+      "Sct=40.0;# in mm\n",
+      "T50=0.197;\n",
+      "t=4.5; # in MIN\n",
+      "Cr=T50*12.7**2.0/t;\n",
+      "U=Sct/Sc*100.0/1000;\n",
+      "H=Hc/2;\n",
+      "Tv=math.pi/4*U**2.0/100**2;\n",
+      "t=Tv*H**2.0/Cr*1000.0**2/60.0/24;\n",
+      "print round(t,1),\" is time required in days\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "87.5 consolidated depth in mm\n",
+        "31.6  is time required in days\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1.8:Pg-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 1.8\n",
+      "\n",
+      "Cv=7.061; # in mm^2/min\n",
+      "tc=15*24*60.0;\n",
+      "H=2.8/2*1000.0;\n",
+      "Scmax=87.5; # consolidation\n",
+      "Tc=Cv*tc/H**2;\n",
+      "tv=31.6*24*60;\n",
+      "Tv=Cv*tv/H**2;\n",
+      "#from figure 1.28\n",
+      "Sct=Scmax*0.36;\n",
+      "print Sct,\"is consolidation in 31.6 days in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "31.5 is consolidation in 31.6 days in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter01_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter01_2.ipynb
new file mode 100755
index 00000000..61dc3457
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter01_2.ipynb
@@ -0,0 +1,249 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3f5444f542f0d6a3b857b61fbecdc4e8047247ed8828d4cea5a34f91ccdf5eb3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1:Geotechnical Properties of Soil"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1.1:Pg-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 1.1\n",
+      "\n",
+      "V=0.25; # ft^3\n",
+      "W=30.8; #lb\n",
+      "Wd=28.2; # weight dried lb\n",
+      "Gs=2.7;\n",
+      "Gammaw=62.4; #lb/ft^3\n",
+      "Gamma=W/V;\n",
+      "print Gamma,\" is moist unit weight in lb/ft^3\"\n",
+      "w=(W-Wd)/W;\n",
+      "print round(w*100,2),\"is moisture content in %\"\n",
+      "Gammad=Wd/V;\n",
+      "print Gammad, \"is dry unit weight in lb/ft^3\"\n",
+      "Vs=Wd/Gs/Gammaw;\n",
+      "Vv=V-Vs;\n",
+      "e=Vv/Vs;\n",
+      "print round(e,3),\" is void ratio\"\n",
+      "n=e/(1+e);\n",
+      "print round(n,2),\"is porosity\"\n",
+      "Vw=(W-Wd)/Gammaw;\n",
+      "S=Vw/Vv;\n",
+      "print round(S*100,2),\"is saturation in %\"\n",
+      "\n",
+      "# The answers in the book are different due to approximation while here calculations are precise\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "123.2  is moist unit weight in lb/ft^3\n",
+        "8.44 is moisture content in %\n",
+        "112.8 is dry unit weight in lb/ft^3\n",
+        "0.494  is void ratio\n",
+        "0.33 is porosity\n",
+        "50.43 is saturation in %\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1.2:Pg-11"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 1.2\n",
+      "\n",
+      "e=0.72;\n",
+      "w=12.0/100; #moisture content\n",
+      "Gs=2.72;\n",
+      "Gammaw=9.81;#kN/m^3\n",
+      "Gammad=Gs*Gammaw/(1+e);\n",
+      "print round(Gammad,2),\"= dry unit weight in kN/m^3\"\n",
+      "Gamma=Gs*Gammaw*(1+w)/(1+e);\n",
+      "print round(Gamma,2),\" = moist unit weight in kN/m^3\"\n",
+      "Gammasat=(Gs+e)*Gammaw/(1+e);\n",
+      "wa=Gammasat-Gamma;#water added\n",
+      "print round(wa,2),\" = water added in kN/m^3\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "15.51 = dry unit weight in kN/m^3\n",
+        "17.38  = moist unit weight in kN/m^3\n",
+        "2.24  = water added in kN/m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1.3:Pg-12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 1.3\n",
+      "from scipy.optimize import fsolve\n",
+      "gmax=17.1; # Gammadmax\n",
+      "Dr=0.7;\n",
+      "w=8.0/100;#moisture content\n",
+      "gmin=14.2; #Gammadmin\n",
+      "def f(x):\n",
+      "    return (x-14.2)/(17.1-14.2)*17.1/x-0.7 \n",
+      "x=fsolve(f,16);#solving for gammad\n",
+      "Gamma=x[0]*(1+w);\n",
+      "print round(Gamma,2),\"moist unit weight in kN/m^3\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "17.4 moist unit weight in kN/m^3\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1.7:Pg-38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 1.7\n",
+      "import math\n",
+      "#part (a)\n",
+      "e1=0.92;\n",
+      "e2=0.86;\n",
+      "Hc=2.8; # in m\n",
+      "s2=212.0;#sigma2dash Load in kN/m2\n",
+      "s1=140.0;#sigma1dash Load in kN/m2\n",
+      "Cc=(e1-e2)/math.log10(s2/s1);\n",
+      "Sc=Cc*Hc/(1+e1)*math.log10(s2/s1);\n",
+      "print Sc*1000,\"consolidated depth in mm\"\n",
+      "#part (b)\n",
+      "# from Figure (1.21):\n",
+      "Sct=40.0;# in mm\n",
+      "T50=0.197;\n",
+      "t=4.5; # in MIN\n",
+      "Cr=T50*12.7**2.0/t;\n",
+      "U=Sct/Sc*100.0/1000;\n",
+      "H=Hc/2;\n",
+      "Tv=math.pi/4*U**2.0/100**2;\n",
+      "t=Tv*H**2.0/Cr*1000.0**2/60.0/24;\n",
+      "print round(t,1),\" is time required in days\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "87.5 consolidated depth in mm\n",
+        "31.6  is time required in days\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1.8:Pg-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 1.8\n",
+      "\n",
+      "Cv=7.061; # in mm^2/min\n",
+      "tc=15*24*60.0;\n",
+      "H=2.8/2*1000.0;\n",
+      "Scmax=87.5; # consolidation\n",
+      "Tc=Cv*tc/H**2;\n",
+      "tv=31.6*24*60;\n",
+      "Tv=Cv*tv/H**2;\n",
+      "#from figure 1.28\n",
+      "Sct=Scmax*0.36;\n",
+      "print Sct,\"is consolidation in 31.6 days in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "31.5 is consolidation in 31.6 days in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter02_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter02_1.ipynb
new file mode 100755
index 00000000..f284c073
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter02_1.ipynb
@@ -0,0 +1,95 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1d0e8ca0a27c4b0cb17e7318d009efc3241a84a31e3f27c8ca705f6cb5276ce4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 02:Natural Soil Deposits and Subsoil Exploration"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex2.1:Pg-109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 2.1\n",
+      "import matplotlib.pyplot as plt\n",
+      "import numpy\n",
+      "import math\n",
+      "Distance=[2.5,5,7.5,10,15,20,25,30,35,40,50];\n",
+      "Time=(10**(-3))*numpy.array([11.2,23.3,33.5,42.4,50.9,57.2,64.4,68.6,71.1,72.1,75.5])\n",
+      "#part1\n",
+      "distance=5.25; # in meter\n",
+      "time=23e-3; # in second\n",
+      "v1=distance/time;\n",
+      "print round(v1,2),\"is speed in m/s\"\n",
+      "#part2\n",
+      "distance=11; # in meter\n",
+      "time=13.5e-3;# in second\n",
+      "v2=distance/time;\n",
+      "print round(v2,2),\" is speed in m/s\"\n",
+      "#part3\n",
+      "distance=14.75;# in meter\n",
+      "time=3.5e-3;# in second\n",
+      "v3=distance/time;\n",
+      "print round(v3,2),\"speed in m/s\"\n",
+      "plt.plot(Distance,Time);\n",
+      "plt.title(\"distance vs time\")\n",
+      "plt.xlabel(\"Distance in m\")\n",
+      "plt.ylabel(\"time in s\")\n",
+      "plt.show()\n",
+      "#part4\n",
+      "xc=10.4;\n",
+      "Ta=65e-3;\n",
+      "Z1=1/2.0*math.sqrt((v2-v1)/(v2+v1))*xc;\n",
+      "print round(Z1,2),\" is thickness of layer 1 in m\"\n",
+      "Z2=1/2.0*(Ta-2*Z1*math.sqrt(v3**2-v1**2)/v3/v1)*v3*v2/math.sqrt(v3**2-v2**2);\n",
+      "print round(Z2,2),\" is thickness of layer 2 in m\"\n",
+      "\n",
+      "# the answers are slightly different in textbook due to approximation while here answers are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "228.26 is speed in m/s\n",
+        "814.81  is speed in m/s\n",
+        "4214.29 speed in m/s\n",
+        "3.9"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "  is thickness of layer 1 in m\n",
+        "12.82  is thickness of layer 2 in m\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter02_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter02_2.ipynb
new file mode 100755
index 00000000..f284c073
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter02_2.ipynb
@@ -0,0 +1,95 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1d0e8ca0a27c4b0cb17e7318d009efc3241a84a31e3f27c8ca705f6cb5276ce4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 02:Natural Soil Deposits and Subsoil Exploration"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex2.1:Pg-109"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 2.1\n",
+      "import matplotlib.pyplot as plt\n",
+      "import numpy\n",
+      "import math\n",
+      "Distance=[2.5,5,7.5,10,15,20,25,30,35,40,50];\n",
+      "Time=(10**(-3))*numpy.array([11.2,23.3,33.5,42.4,50.9,57.2,64.4,68.6,71.1,72.1,75.5])\n",
+      "#part1\n",
+      "distance=5.25; # in meter\n",
+      "time=23e-3; # in second\n",
+      "v1=distance/time;\n",
+      "print round(v1,2),\"is speed in m/s\"\n",
+      "#part2\n",
+      "distance=11; # in meter\n",
+      "time=13.5e-3;# in second\n",
+      "v2=distance/time;\n",
+      "print round(v2,2),\" is speed in m/s\"\n",
+      "#part3\n",
+      "distance=14.75;# in meter\n",
+      "time=3.5e-3;# in second\n",
+      "v3=distance/time;\n",
+      "print round(v3,2),\"speed in m/s\"\n",
+      "plt.plot(Distance,Time);\n",
+      "plt.title(\"distance vs time\")\n",
+      "plt.xlabel(\"Distance in m\")\n",
+      "plt.ylabel(\"time in s\")\n",
+      "plt.show()\n",
+      "#part4\n",
+      "xc=10.4;\n",
+      "Ta=65e-3;\n",
+      "Z1=1/2.0*math.sqrt((v2-v1)/(v2+v1))*xc;\n",
+      "print round(Z1,2),\" is thickness of layer 1 in m\"\n",
+      "Z2=1/2.0*(Ta-2*Z1*math.sqrt(v3**2-v1**2)/v3/v1)*v3*v2/math.sqrt(v3**2-v2**2);\n",
+      "print round(Z2,2),\" is thickness of layer 2 in m\"\n",
+      "\n",
+      "# the answers are slightly different in textbook due to approximation while here answers are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "228.26 is speed in m/s\n",
+        "814.81  is speed in m/s\n",
+        "4214.29 speed in m/s\n",
+        "3.9"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "  is thickness of layer 1 in m\n",
+        "12.82  is thickness of layer 2 in m\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter03_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter03_1.ipynb
new file mode 100755
index 00000000..520b4f21
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter03_1.ipynb
@@ -0,0 +1,412 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e3a75199f67af72d14bee528a629ae06b2506206625e1ef3a86291ef88f556ed"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 03:Shallow Foundations: Ultimate bearing capacity"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.1:Pg-130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.1\n",
+      "# From Table 3.1\n",
+      "Nc=17.69;\n",
+      "Nq=7.44;\n",
+      "Ny=3.64;\n",
+      "q=3*115;\n",
+      "Gamma=115.0; #lb/ft**3\n",
+      "c=320;\n",
+      "B=5.0;#ft\n",
+      "FS=4;#factor of safety\n",
+      "qu=1.3*c*Nc+q*Nq+0.4*Gamma*B*Ny\n",
+      "qall=qu/FS; #q allowed\n",
+      "Q=qall*B**2;\n",
+      "print Q,\"is allowable gross load in lb\" \n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation but here answer are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "67269.0 is allowable gross load in lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.2:Pg-134"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.2\n",
+      "\n",
+      "from scipy.optimize import fsolve\n",
+      "import math\n",
+      "Gamma=105.0;#lb/ft**3\n",
+      "Gammasat=118.0;#lb/ft**3\n",
+      "FS=3.0;\n",
+      "pa=2014.125;#lb/ft**2\n",
+      "Depth=[5,10,15,20,25]; # in ft\n",
+      "N60=[4,6,6,10,5]; # in  blow/ft\n",
+      "sigmao=[0,0,0,0,0]; # in  lb/ft^2\n",
+      "phi=[0,0,0,0,0] # in degree\n",
+      "Gammaw=62.4;\n",
+      "s=0;\n",
+      "print \"depth (ft)\\tN60\\t  \\tstress(lb/ft**2)\\t phi(degrees)\\n\"\n",
+      "for i in  range(0,5):\n",
+      "    sigmao[i]=2*Gamma+(Depth[i]-2)*(Gammasat-Gammaw);\n",
+      "    phi[i]=math.sqrt(20*N60[i]*math.sqrt(pa/sigmao[i]))+20;\n",
+      "    print \" \",Depth[i],\"\\t      \",N60[i],\"\\t\\t   \",sigmao[i],\"  \\t \\t  \\t\",round(phi[i],1),\" \\n\"\n",
+      "    s=phi[i]+s\n",
+      "\n",
+      "avgphi=s/(i+1)\n",
+      "\n",
+      "print round(avgphi),\"average friction angle in degrees\"\n",
+      "#using graph get the values of other terms in terms of B and solve for B\n",
+      "def f(x):\n",
+      "    return-150000/x**2+5263.9+5527.1/x+228.3*x\n",
+      "x=fsolve(f,4);\n",
+      "print round(x[0],1),\" is the width in ft\"\n",
+      "\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "depth (ft)\tN60\t  \tstress(lb/ft**2)\t phi(degrees)\n",
+        "\n",
+        "  5 \t       4 \t\t    376.8   \t \t  \t33.6  \n",
+        "\n",
+        "  10 \t       6 \t\t    654.8   \t \t  \t34.5  \n",
+        "\n",
+        "  15 \t       6 \t\t    932.8   \t \t  \t33.3  \n",
+        "\n",
+        "  20 \t       10 \t\t    1210.8   \t \t  \t36.1  \n",
+        "\n",
+        "  25 \t       5 \t\t    1488.8   \t \t  \t30.8  \n",
+        "\n",
+        "34.0 average friction angle in degrees\n",
+        "4.5  is the width in ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.3:Pg-144"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.3\n",
+      "\n",
+      "import math\n",
+      "phi=25.0; #degrees\n",
+      "Es=620.0; #kN/m**2\n",
+      "Gamma=18.0;#kN/m**2\n",
+      "Df=0.6;# in m\n",
+      "B=0.6; # in m\n",
+      "L=1.2; # in m\n",
+      "Fqc=0.347;\n",
+      "Nq=10.66;\n",
+      "Nc=20.72;\n",
+      "Ngamma=10.88;\n",
+      "mu=0.3; # Poisson's ratio\n",
+      "Fyd=1.0;\n",
+      "c=48.0;#kN/m**2\n",
+      "q=Gamma*(Df+B/2);\n",
+      "Ir=Es/(2*(1+mu)*(c+q*math.tan(phi*math.pi/180.0)));\n",
+      "print round(Ir,2),\" is value of Ir\"\n",
+      "Fcc=Fqc-(1-Fqc)/(Nq*math.tan(phi*math.pi/180.0));\n",
+      "Fcs=1+Nq/Nc*B/L;\n",
+      "Fqs=1+B/L*math.tan(phi*math.pi/180.0);\n",
+      "Fys=1-0.4*B/L;\n",
+      "Fcd=1+0.4*Df/B;\n",
+      "Fqd=1+2.0*math.tan(phi*math.pi/180.0)*(1-math.sin(phi*math.pi/180.0))**2*Df/B;\n",
+      "q1=0.6*18;\n",
+      "Fyc=Fqc;\n",
+      "qu=c*Nc*Fcs*Fcd*Fcc+q1*Nq*Fqs*Fqd*Fqc+1.0/2*Gamma*Ngamma*Fys*Fyd*Fyc;\n",
+      "print round(qu,2),\"is ultimate bearing capacity in kN/m**2\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation but here answer are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4.29  is value of Ir\n",
+        "469.24 is ultimate bearing capacity in kN/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.4:Pg-156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.4\n",
+      "import math\n",
+      "q=110*4.0; #lb/ft**2\n",
+      "Nq=33.3;\n",
+      "phi=35.0; # in degree\n",
+      "Df=4.0; # in ft\n",
+      "B=6.0; # in ft\n",
+      "Gamma=110.0;#lb/ft**3\n",
+      "Ngamma=48.03; #lb/ft**3\n",
+      "B1=6-2*0.5; # in ft\n",
+      "Fqi=1;\n",
+      "Fyi=1;\n",
+      "Fyd=1;\n",
+      "Fqs=1;\n",
+      "Fys=1;\n",
+      "Fqd=1+2*math.tan(phi*math.pi/180)*(1-math.sin(phi*math.pi/180.0))**2*Df/B;\n",
+      "qu=q*Nq*Fqs*Fqd*Fqi+1/2.0*B1*Gamma*Ngamma*Fys*Fyd*Fyi;\n",
+      "Qult=B1*1*qu;\n",
+      "print round(Qult,2),\" is ultimate bearing capacity in lb/ft\" \n",
+      "print round(Qult/2000.0,2),\" is ultimate bearing capacity in ton/ft\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation but here answer are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "151738.23  is ultimate bearing capacity in lb/ft\n",
+        "75.87  is ultimate bearing capacity in ton/ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.5:Pg-158"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.5\n",
+      "\n",
+      "e=0.5; # in ft\n",
+      "B=6; # in ft\n",
+      "k=e/B;\n",
+      "Gamma=110; # in lb/ft^3 \n",
+      "q=440;\n",
+      "print \"get the values of Nqe and Nye from the figure from the value of e/B\"\n",
+      "Nye=26.8;\n",
+      "Nqe=33.4;\n",
+      "Qult=B*1*(q*Nqe+1/2.0*Gamma*B*Nye);\n",
+      "print round(Qult,2),\" is ultimate bearing capacity in lb/ft\"\n",
+      "print round(Qult/2000.0,2),\" is ultimate bearing capacity in ton/ft\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "get the values of Nqe and Nye from the figure from the value of e/B\n",
+        "141240.0  is ultimate bearing capacity in lb/ft\n",
+        "70.62  is ultimate bearing capacity in ton/ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.6:Pg-159"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.6\n",
+      "\n",
+      "Df=0.7; # in m\n",
+      "#from table\n",
+      "Nq=18.4;\n",
+      "Ny=22.4;\n",
+      "q=12.6;\n",
+      "phi=30; #angle in degree\n",
+      "L=1.5;# in m\n",
+      "Fyd=1;\n",
+      "Gamma=18; # in KN/m^3\n",
+      "L1=0.85*1.5; # in m\n",
+      "L2=0.21*1.5; # in m\n",
+      "B=1.5; # in m\n",
+      "A=1/2.0*(L1+L2)*B;\n",
+      "B1=A/L1; #B'\n",
+      "Fqs=1+B1/L1*math.tan(phi*math.pi/180);\n",
+      "Fys=1-0.4*B1/L1;\n",
+      "Fqd=1+2*math.tan(phi*math.pi/180)*(1-math.sin(phi*math.pi/180))**2*Df/B;\n",
+      "Qult=A*(q*Nq*Fqs*Fqd+1/2.0*Gamma*B1*Ny*Fys*Fyd);\n",
+      "print round(Qult,2),\" is ultimate load in kN\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation but here answer are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "605.45  is ultimate load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.7:Pg-161"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.7\n",
+      "\n",
+      "e=0.15; # in m\n",
+      "B=1.5; # in m\n",
+      "Fqs=1.0;\n",
+      "L=1.5;# in m\n",
+      "Gamma=18.0; # in KN/m^3\n",
+      "q=0.7*18;\n",
+      "#from table\n",
+      "Nqe=18.4;\n",
+      "Nye=11.58;\n",
+      "Fys=1+(2*e/B-0.68)*(B/L)+(0.43-3/2.0*e/B)*(B/L)**2;\n",
+      "Qult=B*L*(q*Nqe*Fqs+1/2.0*L*Gamma*Nye*Fys);\n",
+      "print round(Qult,2),\"is ultimate load in kN\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "803.03 is ultimate load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.8:Pg-163"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.8\n",
+      "\n",
+      "q=16.0;# in kN/m^2\n",
+      "Nqei=14.2;\n",
+      "Gamma=16.0 # in kN/m^3\n",
+      "B=1.5;# in m\n",
+      "Nyet=20.0;\n",
+      "Qult=B*(Nqei*q+1/2.0*Gamma*B*Nyet);\n",
+      "print round(Qult,2),\" is ultimate load in kN/m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "700.8  is ultimate load in kN/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter03_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter03_2.ipynb
new file mode 100755
index 00000000..520b4f21
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter03_2.ipynb
@@ -0,0 +1,412 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e3a75199f67af72d14bee528a629ae06b2506206625e1ef3a86291ef88f556ed"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 03:Shallow Foundations: Ultimate bearing capacity"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.1:Pg-130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.1\n",
+      "# From Table 3.1\n",
+      "Nc=17.69;\n",
+      "Nq=7.44;\n",
+      "Ny=3.64;\n",
+      "q=3*115;\n",
+      "Gamma=115.0; #lb/ft**3\n",
+      "c=320;\n",
+      "B=5.0;#ft\n",
+      "FS=4;#factor of safety\n",
+      "qu=1.3*c*Nc+q*Nq+0.4*Gamma*B*Ny\n",
+      "qall=qu/FS; #q allowed\n",
+      "Q=qall*B**2;\n",
+      "print Q,\"is allowable gross load in lb\" \n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation but here answer are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "67269.0 is allowable gross load in lb\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.2:Pg-134"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.2\n",
+      "\n",
+      "from scipy.optimize import fsolve\n",
+      "import math\n",
+      "Gamma=105.0;#lb/ft**3\n",
+      "Gammasat=118.0;#lb/ft**3\n",
+      "FS=3.0;\n",
+      "pa=2014.125;#lb/ft**2\n",
+      "Depth=[5,10,15,20,25]; # in ft\n",
+      "N60=[4,6,6,10,5]; # in  blow/ft\n",
+      "sigmao=[0,0,0,0,0]; # in  lb/ft^2\n",
+      "phi=[0,0,0,0,0] # in degree\n",
+      "Gammaw=62.4;\n",
+      "s=0;\n",
+      "print \"depth (ft)\\tN60\\t  \\tstress(lb/ft**2)\\t phi(degrees)\\n\"\n",
+      "for i in  range(0,5):\n",
+      "    sigmao[i]=2*Gamma+(Depth[i]-2)*(Gammasat-Gammaw);\n",
+      "    phi[i]=math.sqrt(20*N60[i]*math.sqrt(pa/sigmao[i]))+20;\n",
+      "    print \" \",Depth[i],\"\\t      \",N60[i],\"\\t\\t   \",sigmao[i],\"  \\t \\t  \\t\",round(phi[i],1),\" \\n\"\n",
+      "    s=phi[i]+s\n",
+      "\n",
+      "avgphi=s/(i+1)\n",
+      "\n",
+      "print round(avgphi),\"average friction angle in degrees\"\n",
+      "#using graph get the values of other terms in terms of B and solve for B\n",
+      "def f(x):\n",
+      "    return-150000/x**2+5263.9+5527.1/x+228.3*x\n",
+      "x=fsolve(f,4);\n",
+      "print round(x[0],1),\" is the width in ft\"\n",
+      "\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "depth (ft)\tN60\t  \tstress(lb/ft**2)\t phi(degrees)\n",
+        "\n",
+        "  5 \t       4 \t\t    376.8   \t \t  \t33.6  \n",
+        "\n",
+        "  10 \t       6 \t\t    654.8   \t \t  \t34.5  \n",
+        "\n",
+        "  15 \t       6 \t\t    932.8   \t \t  \t33.3  \n",
+        "\n",
+        "  20 \t       10 \t\t    1210.8   \t \t  \t36.1  \n",
+        "\n",
+        "  25 \t       5 \t\t    1488.8   \t \t  \t30.8  \n",
+        "\n",
+        "34.0 average friction angle in degrees\n",
+        "4.5  is the width in ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.3:Pg-144"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.3\n",
+      "\n",
+      "import math\n",
+      "phi=25.0; #degrees\n",
+      "Es=620.0; #kN/m**2\n",
+      "Gamma=18.0;#kN/m**2\n",
+      "Df=0.6;# in m\n",
+      "B=0.6; # in m\n",
+      "L=1.2; # in m\n",
+      "Fqc=0.347;\n",
+      "Nq=10.66;\n",
+      "Nc=20.72;\n",
+      "Ngamma=10.88;\n",
+      "mu=0.3; # Poisson's ratio\n",
+      "Fyd=1.0;\n",
+      "c=48.0;#kN/m**2\n",
+      "q=Gamma*(Df+B/2);\n",
+      "Ir=Es/(2*(1+mu)*(c+q*math.tan(phi*math.pi/180.0)));\n",
+      "print round(Ir,2),\" is value of Ir\"\n",
+      "Fcc=Fqc-(1-Fqc)/(Nq*math.tan(phi*math.pi/180.0));\n",
+      "Fcs=1+Nq/Nc*B/L;\n",
+      "Fqs=1+B/L*math.tan(phi*math.pi/180.0);\n",
+      "Fys=1-0.4*B/L;\n",
+      "Fcd=1+0.4*Df/B;\n",
+      "Fqd=1+2.0*math.tan(phi*math.pi/180.0)*(1-math.sin(phi*math.pi/180.0))**2*Df/B;\n",
+      "q1=0.6*18;\n",
+      "Fyc=Fqc;\n",
+      "qu=c*Nc*Fcs*Fcd*Fcc+q1*Nq*Fqs*Fqd*Fqc+1.0/2*Gamma*Ngamma*Fys*Fyd*Fyc;\n",
+      "print round(qu,2),\"is ultimate bearing capacity in kN/m**2\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation but here answer are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4.29  is value of Ir\n",
+        "469.24 is ultimate bearing capacity in kN/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.4:Pg-156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.4\n",
+      "import math\n",
+      "q=110*4.0; #lb/ft**2\n",
+      "Nq=33.3;\n",
+      "phi=35.0; # in degree\n",
+      "Df=4.0; # in ft\n",
+      "B=6.0; # in ft\n",
+      "Gamma=110.0;#lb/ft**3\n",
+      "Ngamma=48.03; #lb/ft**3\n",
+      "B1=6-2*0.5; # in ft\n",
+      "Fqi=1;\n",
+      "Fyi=1;\n",
+      "Fyd=1;\n",
+      "Fqs=1;\n",
+      "Fys=1;\n",
+      "Fqd=1+2*math.tan(phi*math.pi/180)*(1-math.sin(phi*math.pi/180.0))**2*Df/B;\n",
+      "qu=q*Nq*Fqs*Fqd*Fqi+1/2.0*B1*Gamma*Ngamma*Fys*Fyd*Fyi;\n",
+      "Qult=B1*1*qu;\n",
+      "print round(Qult,2),\" is ultimate bearing capacity in lb/ft\" \n",
+      "print round(Qult/2000.0,2),\" is ultimate bearing capacity in ton/ft\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation but here answer are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "151738.23  is ultimate bearing capacity in lb/ft\n",
+        "75.87  is ultimate bearing capacity in ton/ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.5:Pg-158"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.5\n",
+      "\n",
+      "e=0.5; # in ft\n",
+      "B=6; # in ft\n",
+      "k=e/B;\n",
+      "Gamma=110; # in lb/ft^3 \n",
+      "q=440;\n",
+      "print \"get the values of Nqe and Nye from the figure from the value of e/B\"\n",
+      "Nye=26.8;\n",
+      "Nqe=33.4;\n",
+      "Qult=B*1*(q*Nqe+1/2.0*Gamma*B*Nye);\n",
+      "print round(Qult,2),\" is ultimate bearing capacity in lb/ft\"\n",
+      "print round(Qult/2000.0,2),\" is ultimate bearing capacity in ton/ft\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "get the values of Nqe and Nye from the figure from the value of e/B\n",
+        "141240.0  is ultimate bearing capacity in lb/ft\n",
+        "70.62  is ultimate bearing capacity in ton/ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.6:Pg-159"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.6\n",
+      "\n",
+      "Df=0.7; # in m\n",
+      "#from table\n",
+      "Nq=18.4;\n",
+      "Ny=22.4;\n",
+      "q=12.6;\n",
+      "phi=30; #angle in degree\n",
+      "L=1.5;# in m\n",
+      "Fyd=1;\n",
+      "Gamma=18; # in KN/m^3\n",
+      "L1=0.85*1.5; # in m\n",
+      "L2=0.21*1.5; # in m\n",
+      "B=1.5; # in m\n",
+      "A=1/2.0*(L1+L2)*B;\n",
+      "B1=A/L1; #B'\n",
+      "Fqs=1+B1/L1*math.tan(phi*math.pi/180);\n",
+      "Fys=1-0.4*B1/L1;\n",
+      "Fqd=1+2*math.tan(phi*math.pi/180)*(1-math.sin(phi*math.pi/180))**2*Df/B;\n",
+      "Qult=A*(q*Nq*Fqs*Fqd+1/2.0*Gamma*B1*Ny*Fys*Fyd);\n",
+      "print round(Qult,2),\" is ultimate load in kN\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation but here answer are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "605.45  is ultimate load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.7:Pg-161"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.7\n",
+      "\n",
+      "e=0.15; # in m\n",
+      "B=1.5; # in m\n",
+      "Fqs=1.0;\n",
+      "L=1.5;# in m\n",
+      "Gamma=18.0; # in KN/m^3\n",
+      "q=0.7*18;\n",
+      "#from table\n",
+      "Nqe=18.4;\n",
+      "Nye=11.58;\n",
+      "Fys=1+(2*e/B-0.68)*(B/L)+(0.43-3/2.0*e/B)*(B/L)**2;\n",
+      "Qult=B*L*(q*Nqe*Fqs+1/2.0*L*Gamma*Nye*Fys);\n",
+      "print round(Qult,2),\"is ultimate load in kN\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "803.03 is ultimate load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3.8:Pg-163"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 3.8\n",
+      "\n",
+      "q=16.0;# in kN/m^2\n",
+      "Nqei=14.2;\n",
+      "Gamma=16.0 # in kN/m^3\n",
+      "B=1.5;# in m\n",
+      "Nyet=20.0;\n",
+      "Qult=B*(Nqei*q+1/2.0*Gamma*B*Nyet);\n",
+      "print round(Qult,2),\" is ultimate load in kN/m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "700.8  is ultimate load in kN/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter04_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter04_1.ipynb
new file mode 100755
index 00000000..1d75ed9f
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter04_1.ipynb
@@ -0,0 +1,373 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:7e16b5ec29439d0d7eaa54a0826b64a36c559ed79f17d130c42f4478805c682f"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter 04:Ultimate Bearing Capacity of Shallow Foundations: Special Cases"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.1:Pg-176"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.1\n",

+      "\n",

+      "FS=4.0; # FOS\n",

+      "q=110*2.0; # in 1b/ft^2\n",

+      "Nq=90.0;\n",

+      "Ny=50.0;\n",

+      "Gamma=110.0; # in 1b/ft^3\n",

+      "m1=0.34; # From Figure 4.6(a)\n",

+      "B=2.5; # in ft\n",

+      "L=2.5; # in ft\n",

+      "H=1.5; # in ft\n",

+      "phi=35; # in degree\n",

+      "m2=0.45; # From Figure 4.6(b)\n",

+      "Fqs=1-0.34*B/L;\n",

+      "Fys=1-0.45*B/L;\n",

+      "qu=q*Nq*Fqs+1/2.0*Gamma*Ny*Fys*B;\n",

+      "Qall=qu*B**2/FS;\n",

+      "print round(Qall,2),\"bearing load in lb\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "26326.95 bearing load in lb\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.2:Pg-177"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.2\n",

+      "\n",

+      "FS=3.0; # FOS\n",

+      "cu=72.0;\n",

+      "q=18.0; # in kN/m^3\n",

+      "B=1.0;# in m\n",

+      "H=0.25;# in m\n",

+      "qu=5.14*(1+(0.5*B/H-0.707)/5.14)*cu+q;\n",

+      "qall=qu/FS;\n",

+      "print round(qall,1),\"bearing capacity of soil in kN/m**2\" \n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "160.4 bearing capacity of soil in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.3:Pg-183"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.3\n",

+      "import math\n",

+      "k=0; #B/L;\n",

+      "c2=30;\n",

+      "Gamma=17.5; # in kN/m^3\n",

+      "H=1.5; # in m\n",

+      "Df=1.2; # in m\n",

+      "B=2.0; # in m\n",

+      "Ks=2.5;\n",

+      "phi=40; # in degree\n",

+      "pi=math.pi;\n",

+      "qu=(1+0.2*k)*5.14*c2+(1+k)*Gamma*H**2*(1+2*Df/H)*Ks*math.tan(phi*pi/180)/B+Gamma*H;\n",

+      "Qu=qu*B;\n",

+      "print round(Qu,2),\"is bearing capacity in kN/m\"\n",

+      "print \"there is slight variation due to rounding off error\"\n",

+      "#soil 2\n",

+      "Ny=109.4;\n",

+      "Nq=64.2;\n",

+      "Fqs=1;\n",

+      "Fys=1;\n",

+      "qt=Gamma*Df*Nq*Fqs+1/2.0*Gamma*Ny*Fys*B;\n",

+      "print qt,\"bearing capacity in kN/m**2\"\n",

+      "\n",

+      "# answer in book is different due to approximation"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "575.66 is bearing capacity in kN/m\n",

+        "there is slight variation due to rounding off error\n",

+        "3262.7 bearing capacity in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.4:Pg-184"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.4\n",

+      "\n",

+      "B=1.0;  # in m\n",

+      "L=1.5;# in m\n",

+      "c2=48;# in m\n",

+      "ca=108; # in KN/m^2\n",

+      "D=1.0;# in m\n",

+      "H=1.0;# in m\n",

+      "Gamma=16.8; # in KN/m^3\n",

+      "FS=4;\n",

+      "qu=(1+0.2*B/L)*5.14*c2+(1+B/L)*2*ca*H/B+Gamma*D; # in KN/m^2\n",

+      "c1=120.0;\n",

+      "gamma1=16.8;  # in kN/m^3\n",

+      "Df=1.0;\n",

+      "qt=(1+0.2*B/L)*5.14*c1+gamma1*Df;\n",

+      "print qt,\"is qt in kN/m**2\"\n",

+      "print \"no need to calculate qt since it is not useful for calculation\"\n",

+      "print qu/FS,\"is allowable shear stress in kN/m**2\"\n",

+      "print qu/FS*1*1.5,\" is allowable load in kN\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "715.84 is qt in kN/m**2\n",

+        "no need to calculate qt since it is not useful for calculation\n",

+        "164.104 is allowable shear stress in kN/m**2\n",

+        "246.156  is allowable load in kN\n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.5:Pg-190"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.5\n",

+      "\n",

+      "c=50;  # in KN/m^2\n",

+      "#from table\n",

+      "Ncq=6.3;\n",

+      "FS=4.0;# FOS\n",

+      "qu=c*Ncq;  # in KN/m^2\n",

+      "qall=qu/4;\n",

+      "print qall,\"allowed shear stress in kN/m**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "78.75 allowed shear stress in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.6:Pg-191"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.6\n",

+      "\n",

+      "Gamma=16.8; # in kN/m^3\n",

+      "B=1.5;#  in m\n",

+      "#from table\n",

+      "Nyq=120.0;\n",

+      "qu=1/2.0*Gamma*B*Nyq; # in KN/m^2\n",

+      "print qu,\" is shear stress in kN/m**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1512.0  shear stress in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.7:Pg-198"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.7\n",

+      "import math\n",

+      "phi=35; # in degree\n",

+      "Df=1.5; # in m\n",

+      "B=1.5; # in m\n",

+      "Gamma=17.4; # in kN/m^3\n",

+      "A=math.pi/4*Df**2; # in m^2\n",

+      "m=0.25;\n",

+      "Ku=0.936;\n",

+      "Fq=1+2*(1+m*Df/B)*Df/B*Ku*math.tan(phi*math.pi/180);\n",

+      "Qu=Fq*Gamma*A*Df; # in KN/m^2\n",

+      "print round(Qu,1),\" is bearing capacity in kN\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "121.7  is bearing capacity in kN\n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.8:pg-198"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#example 4.8\n",

+      "\n",

+      "\n",

+      "\n",

+      "cu=52; # in kN/m^2\n",

+      "\n",

+      "B=1.5; # in m\n",

+      "\n",

+      "L=3; # in m\n",

+      "\n",

+      "k=0.107*cu+2.5;\n",

+      "\n",

+      "print round(k,2),\" is Df/B of square\" \n",

+      "\n",

+      "A=L*B; # in m^2\n",

+      "\n",

+      "Beta=0.2;\n",

+      "\n",

+      "Gamma=18.9; # in kN/m^3\n",

+      "\n",

+      "Df=1.8; # in m\n",

+      "\n",

+      "Qu=A*(Beta*(7.56+1.44*B/L)*cu+Gamma*Df); # in kN/m^2\n",

+      "\n",

+      "print round(Qu,1),\" is ultimate shear force in kN\"\n",

+      "\n",

+      " \n",

+      "\n",

+      " "

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "8.06  is Df/B of square\n",

+        "540.6  is ultimate shear force in kN\n"

+       ]

+      }

+     ],

+     "prompt_number": 20

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter04_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter04_2.ipynb
new file mode 100755
index 00000000..1d75ed9f
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter04_2.ipynb
@@ -0,0 +1,373 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:7e16b5ec29439d0d7eaa54a0826b64a36c559ed79f17d130c42f4478805c682f"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter 04:Ultimate Bearing Capacity of Shallow Foundations: Special Cases"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.1:Pg-176"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.1\n",

+      "\n",

+      "FS=4.0; # FOS\n",

+      "q=110*2.0; # in 1b/ft^2\n",

+      "Nq=90.0;\n",

+      "Ny=50.0;\n",

+      "Gamma=110.0; # in 1b/ft^3\n",

+      "m1=0.34; # From Figure 4.6(a)\n",

+      "B=2.5; # in ft\n",

+      "L=2.5; # in ft\n",

+      "H=1.5; # in ft\n",

+      "phi=35; # in degree\n",

+      "m2=0.45; # From Figure 4.6(b)\n",

+      "Fqs=1-0.34*B/L;\n",

+      "Fys=1-0.45*B/L;\n",

+      "qu=q*Nq*Fqs+1/2.0*Gamma*Ny*Fys*B;\n",

+      "Qall=qu*B**2/FS;\n",

+      "print round(Qall,2),\"bearing load in lb\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "26326.95 bearing load in lb\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.2:Pg-177"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.2\n",

+      "\n",

+      "FS=3.0; # FOS\n",

+      "cu=72.0;\n",

+      "q=18.0; # in kN/m^3\n",

+      "B=1.0;# in m\n",

+      "H=0.25;# in m\n",

+      "qu=5.14*(1+(0.5*B/H-0.707)/5.14)*cu+q;\n",

+      "qall=qu/FS;\n",

+      "print round(qall,1),\"bearing capacity of soil in kN/m**2\" \n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "160.4 bearing capacity of soil in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.3:Pg-183"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.3\n",

+      "import math\n",

+      "k=0; #B/L;\n",

+      "c2=30;\n",

+      "Gamma=17.5; # in kN/m^3\n",

+      "H=1.5; # in m\n",

+      "Df=1.2; # in m\n",

+      "B=2.0; # in m\n",

+      "Ks=2.5;\n",

+      "phi=40; # in degree\n",

+      "pi=math.pi;\n",

+      "qu=(1+0.2*k)*5.14*c2+(1+k)*Gamma*H**2*(1+2*Df/H)*Ks*math.tan(phi*pi/180)/B+Gamma*H;\n",

+      "Qu=qu*B;\n",

+      "print round(Qu,2),\"is bearing capacity in kN/m\"\n",

+      "print \"there is slight variation due to rounding off error\"\n",

+      "#soil 2\n",

+      "Ny=109.4;\n",

+      "Nq=64.2;\n",

+      "Fqs=1;\n",

+      "Fys=1;\n",

+      "qt=Gamma*Df*Nq*Fqs+1/2.0*Gamma*Ny*Fys*B;\n",

+      "print qt,\"bearing capacity in kN/m**2\"\n",

+      "\n",

+      "# answer in book is different due to approximation"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "575.66 is bearing capacity in kN/m\n",

+        "there is slight variation due to rounding off error\n",

+        "3262.7 bearing capacity in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.4:Pg-184"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.4\n",

+      "\n",

+      "B=1.0;  # in m\n",

+      "L=1.5;# in m\n",

+      "c2=48;# in m\n",

+      "ca=108; # in KN/m^2\n",

+      "D=1.0;# in m\n",

+      "H=1.0;# in m\n",

+      "Gamma=16.8; # in KN/m^3\n",

+      "FS=4;\n",

+      "qu=(1+0.2*B/L)*5.14*c2+(1+B/L)*2*ca*H/B+Gamma*D; # in KN/m^2\n",

+      "c1=120.0;\n",

+      "gamma1=16.8;  # in kN/m^3\n",

+      "Df=1.0;\n",

+      "qt=(1+0.2*B/L)*5.14*c1+gamma1*Df;\n",

+      "print qt,\"is qt in kN/m**2\"\n",

+      "print \"no need to calculate qt since it is not useful for calculation\"\n",

+      "print qu/FS,\"is allowable shear stress in kN/m**2\"\n",

+      "print qu/FS*1*1.5,\" is allowable load in kN\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "715.84 is qt in kN/m**2\n",

+        "no need to calculate qt since it is not useful for calculation\n",

+        "164.104 is allowable shear stress in kN/m**2\n",

+        "246.156  is allowable load in kN\n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.5:Pg-190"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.5\n",

+      "\n",

+      "c=50;  # in KN/m^2\n",

+      "#from table\n",

+      "Ncq=6.3;\n",

+      "FS=4.0;# FOS\n",

+      "qu=c*Ncq;  # in KN/m^2\n",

+      "qall=qu/4;\n",

+      "print qall,\"allowed shear stress in kN/m**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "78.75 allowed shear stress in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.6:Pg-191"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.6\n",

+      "\n",

+      "Gamma=16.8; # in kN/m^3\n",

+      "B=1.5;#  in m\n",

+      "#from table\n",

+      "Nyq=120.0;\n",

+      "qu=1/2.0*Gamma*B*Nyq; # in KN/m^2\n",

+      "print qu,\" is shear stress in kN/m**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1512.0  shear stress in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.7:Pg-198"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 4.7\n",

+      "import math\n",

+      "phi=35; # in degree\n",

+      "Df=1.5; # in m\n",

+      "B=1.5; # in m\n",

+      "Gamma=17.4; # in kN/m^3\n",

+      "A=math.pi/4*Df**2; # in m^2\n",

+      "m=0.25;\n",

+      "Ku=0.936;\n",

+      "Fq=1+2*(1+m*Df/B)*Df/B*Ku*math.tan(phi*math.pi/180);\n",

+      "Qu=Fq*Gamma*A*Df; # in KN/m^2\n",

+      "print round(Qu,1),\" is bearing capacity in kN\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "121.7  is bearing capacity in kN\n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex4.8:pg-198"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "\n",

+      "#example 4.8\n",

+      "\n",

+      "\n",

+      "\n",

+      "cu=52; # in kN/m^2\n",

+      "\n",

+      "B=1.5; # in m\n",

+      "\n",

+      "L=3; # in m\n",

+      "\n",

+      "k=0.107*cu+2.5;\n",

+      "\n",

+      "print round(k,2),\" is Df/B of square\" \n",

+      "\n",

+      "A=L*B; # in m^2\n",

+      "\n",

+      "Beta=0.2;\n",

+      "\n",

+      "Gamma=18.9; # in kN/m^3\n",

+      "\n",

+      "Df=1.8; # in m\n",

+      "\n",

+      "Qu=A*(Beta*(7.56+1.44*B/L)*cu+Gamma*Df); # in kN/m^2\n",

+      "\n",

+      "print round(Qu,1),\" is ultimate shear force in kN\"\n",

+      "\n",

+      " \n",

+      "\n",

+      " "

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "8.06  is Df/B of square\n",

+        "540.6  is ultimate shear force in kN\n"

+       ]

+      }

+     ],

+     "prompt_number": 20

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter05_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter05_1.ipynb
new file mode 100755
index 00000000..ca975aae
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter05_1.ipynb
@@ -0,0 +1,550 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:77a2cf465cec464205dc151afe10d9acafa79fe1b46b30f4a468368f8af3f8ea"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter05:Shallow Foundations: Allowable Bearing Capacity and Settlement"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.1:Pg-212"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.1\n",
+      "\n",
+      "#first solution\n",
+      "B1=2.5; # in ft\n",
+      "B2=B1;\n",
+      "z=12.5; # in ft\n",
+      "L1=5; # in ft\n",
+      "L2=L1;\n",
+      "m=B1/z;\n",
+      "n=B2/z;\n",
+      "#from table 5.2  of the values using m,n\n",
+      "q=2000; # in lb/ft^2\n",
+      "I=0.0328;\n",
+      "deltasigma=q*4*I; # in lb/ft**2\n",
+      "print round(deltasigma,2),\"change in pressure in lb/ft**2\"\n",
+      "#second solution\n",
+      "Ic=0.131;#from table\n",
+      "deltasigma=q*Ic; #  in lb/ft**2\n",
+      "print round(deltasigma,2),\"change in pressure in lb/ft**2\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "262.4 change in pressure in lb/ft**2\n",
+        "262.0 change in pressure in lb/ft**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.2:Pg-215"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.2\n",
+      "\n",
+      "qo=100; # in KN/m^2\n",
+      "H1=3; # in m\n",
+      "H2=5; # in m\n",
+      "#from table\n",
+      "IaH2=0.126;\n",
+      "IaH1=0.175;\n",
+      "deltasigma=qo*((H2*IaH2-H1*IaH1)/(H2-H1)); # in kN/m**2\n",
+      "print round(deltasigma,2),\"change in pressure in kN/m**2\"\n",
+      "TS=4*deltasigma; # in kN/m**2\n",
+      "print round(TS,2),\"total change in pressure in kN/m**2\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5.25 change in pressure in kN/m**2\n",
+        "21.0 total change in pressure in kN/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.3:Pg-217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.3\n",
+      "H=7;\n",
+      "Gamma=17.5; # in KN/m^3\n",
+      "q0=Gamma*H # in KN/m^2\n",
+      "print q0,\" is pressure change in kN/m**2\"\n",
+      "#part2\n",
+      "#from figure\n",
+      "Ileftside=0.445;\n",
+      "Irightside=0.445;\n",
+      "deltasigma=q0*(Ileftside+Irightside); # in KN/m^2\n",
+      "print round(deltasigma,2),\"is change in stress in kN/m**2\"\n",
+      "#partc\n",
+      "#from figure 5.11\n",
+      "I=0.24;#I'\n",
+      "Dsigma1=43.75*I;#deltasigma1 in KN/m^2\n",
+      "I2=0.495;#I'\n",
+      "Dsigma2=I2*q0;#deltasigma2 in KN/m^2\n",
+      "I3=0.335;#I'\n",
+      "Dsigma3=I3*78.75;#deltasigma3 in KN/m^2\n",
+      "Dsigma=Dsigma1+Dsigma2-Dsigma3; # in KN/m^2\n",
+      "print round(Dsigma,2),\"is total stress increase in A in kN/m**2\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "122.5  is pressure change in kN/m**2\n",
+        "109.03 is change in stress in kN/m**2\n",
+        "44.76 is total stress increase in A in kN/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.4:Pg-228"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.4\n",
+      "\n",
+      "zbar=5;\n",
+      "mus=0.3;\n",
+      "F1=0.641;\n",
+      "F2=0.031;\n",
+      "z1=2.0; # in m\n",
+      "z2=1.0; # in m\n",
+      "z3=2.0; # in m\n",
+      "Es1=10000; # in kN/m**2\n",
+      "Es2=8000; # in kN/m**2\n",
+      "Es3=12000;# in kN/m**2\n",
+      "qo=150; # in KN/m^2\n",
+      "#from table 5.4\n",
+      "If=0.709;\n",
+      "Es=(Es1*z1+Es2*z2+Es3*z3)/zbar; # in kN/m**2\n",
+      "print Es,\"  is modulus of elasticity in kN/m**2\"\n",
+      "Is=F1+(2-mus)/(1-mus)*F2;\n",
+      "Sc=qo*(1.0/Es-mus**2.0/Es)*Is*If*2;\n",
+      "Scrigid=0.93*Sc; # in m\n",
+      "print round(Scrigid*1000,2),\"is settlement in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "10400.0   is modulus of elasticity in kN/m**2\n",
+        "12.4 is settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.5:Pg-234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.5\n",
+      "import math\n",
+      "B=5; # in ft\n",
+      "L=10; # in ft\n",
+      "Ef=2.3e6; # in lb/in^2\n",
+      "Eo=1400.0; # in lb/in^2\n",
+      "k=25.0; # in lb/in^2/ft\n",
+      "t=1.0;\n",
+      "mus=0.3;\n",
+      "Df=5.0; # in ft\n",
+      "qo=5000.0; # in lb/ft^2\n",
+      "Ig=0.69;\n",
+      "Be=math.sqrt(4*B*L/math.pi);\n",
+      "If=math.pi/4+1/(4.6+10*(Ef/(Eo+2*Be/2*k))*(2*t/Be)**3);\n",
+      "Ie=1-1/(3.5*math.exp(1.22*mus-0.4)*(Be/Df+1.6));\n",
+      "Se=qo*Be*Ig*If*Ie/Eo*(1-mus**2)/144; # in ft\n",
+      "print round(Se*12,2),\"settlement in inches\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1.07 settlement in inches\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.6:238"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.6\n",
+      "\n",
+      "import math\n",
+      "import numpy\n",
+      "q=3.06; # in lb/in^2\n",
+      "qbar=25; # in lb/in^2\n",
+      "C1=1-0.5*(q/(qbar-q));\n",
+      "Sum=0;\n",
+      "C2=1+0.2*math.log10(10/0.1);\n",
+      "L=[1, 2, 3, 4, 5];\n",
+      "Dz=[48, 48, 96, 48, 144]; # in inch\n",
+      "Es=[750, 1250, 1250, 1000, 2000]; # in lb/in^2\n",
+      "z=[24, 72, 144, 216, 312]; # in inch\n",
+      "Iz=[0.275, 0.425, 0.417, 0.292, 0.125];\n",
+      "k=numpy.zeros(5)\n",
+      "print \"Layer No.\\t deltaz (in)\\t Es(lb/in**2)\\t z to the middle of the layer (in)  Iz at the middle of the layer  Iz/delta(z) \\n\"\n",
+      "for i in  range(0,5):\n",
+      "    k[i]=Iz[i]/Es[i]*Dz[i];\n",
+      "    print L[i],\"\\t \\t \",Dz[i],\"\\t\\t   \",Es[i],\"\\t\\t \",z[i],\" \\t\\t\\t\\t\\t  \",Iz[i],\"\\t\\t  \",round(k[i],3)\n",
+      "    Sum=Sum+k[i];\n",
+      "\n",
+      "Se=C1*C2*(qbar-q)*Sum; # in inch\n",
+      "print round(Se,2),\"settlement in inches\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Layer No.\t deltaz (in)\t Es(lb/in**2)\t z to the middle of the layer (in)  Iz at the middle of the layer  Iz/delta(z) \n",
+        "\n",
+        "1 \t \t  48 \t\t    750 \t\t  24  \t\t\t\t\t   0.275 \t\t   0.018\n",
+        "2 \t \t  48 \t\t    1250 \t\t  72  \t\t\t\t\t   0.425 \t\t   0.016\n",
+        "3 \t \t  96 \t\t    1250 \t\t  144  \t\t\t\t\t   0.417 \t\t   0.032\n",
+        "4 \t \t  48 \t\t    1000 \t\t  216  \t\t\t\t\t   0.292 \t\t   0.014\n",
+        "5 \t \t  144 \t\t    2000 \t\t  312  \t\t\t\t\t   0.125 \t\t   0.009\n",
+        "2.54 settlement in inches\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.7:Pg-244"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.7\n",
+      "\n",
+      "Df=1.0; # in m\n",
+      "B=1.75; # in m\n",
+      "L=1.75 # in m\n",
+      "qnet=120.0; # in KN/m^2\n",
+      "N60=10.0;# in m\n",
+      "alpha1=0.14 # for normally consolated sand\n",
+      "alpha2=1.71/(N60)**1.4 # for normally consolated sand\n",
+      "alpha3=1.0 # for normally consolated sand\n",
+      "Se=0.3*alpha1*alpha2*alpha3*(qnet/100)*((B/0.3)**0.7)*((1.25*(L/B)/(0.25+(L/B))))**2\n",
+      "print round(Se*1000,2),\"settlement in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "11.79 settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.8:Pg-245"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.8\n",
+      "\n",
+      "Df=1; # in m\n",
+      "B=1.75; # in m\n",
+      "qnet=120; # in KN/m^2\n",
+      "N60=10; # in m\n",
+      "Fd=1+0.33*Df/B;\n",
+      "Se=2*qnet/N60/Fd*(B/(B+0.3))**2; # in mm\n",
+      "print round(Se,2),\"settlement in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "14.71 settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.9:Pg-251"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.9\n",
+      "\n",
+      "Ny=23.76; \n",
+      "Nq=16.51; \n",
+      "q=3*110.0; # in lb/ft^2\n",
+      "Gamma=110.0; # in lb/ft^3\n",
+      "B=4.0; # in ft\n",
+      "Nqe=0.63*Nq;\n",
+      "Nye=0.4*Ny;\n",
+      "que=q*Nqe+1/2.0*Gamma*B*Nye; # in lb/ft^2\n",
+      "print round(que,2),\" is bearing capacity in lb/ft**2\"\n",
+      "#part 2\n",
+      "V=0.4; # in ft/sec\n",
+      "A=0.32; # given in question\n",
+      "g=9.81; # acceleration constant in m/sec^2\n",
+      "kh=0.26;\n",
+      "k=0.92;#tan(alphae)\n",
+      "Seq=0.174*k*V**2/A/g*kh**-4/A**-4; # in m\n",
+      "print round(Seq,3),\"settelement in m\"\n",
+      "print round(Seq*39.57,2),\"settlement in inches\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5523.31  is bearing capacity in lb/ft**2\n",
+        "0.019 settelement in m\n",
+        "0.74 settlement in inches\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.10:Pg-256"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.10\n",
+      "\n",
+      "import math\n",
+      "Cc=0.32;\n",
+      "Hc=2.5;\n",
+      "eo=0.8;\n",
+      "sigmao=2.5*16.5+0.5*(17.5-9.81)+1.25*(16-9.81); # in kN/m^2\n",
+      "m1=[2, 2, 2];\n",
+      "z=[2, 3.25, 4.5];\n",
+      "n1=[4, 6.5, 9];\n",
+      "Ic=[0.19, 0.085, 0.045];\n",
+      "Dsigma=[28.5, 12.75, 6.75];#deltasigma\n",
+      "print (\"m1\\t z(m)\\t n1\\t Ic\\t Dsigma \\n\");\n",
+      "for i in range(0,3):\n",
+      "    print round(m1[i],2),\"\\t \",round(z[i],2),\"\\t \",round(n1[i],2),\"\\t \",round(Ic[i],2),\"\\t \",round(Dsigma[i],2)\n",
+      "\n",
+      "    Dsigmaav=1/6.0*(Dsigma[0]+4*Dsigma[1]+Dsigma[2]);\n",
+      "    Sc=Cc*Hc/(1+eo)*math.log10((sigmao+Dsigmaav)/sigmao);\n",
+      "print round(Sc*1000,2),\"settlement in mm\"\n",
+      "#partb\n",
+      "B=1.0; # in m\n",
+      "L=2.0; # in m\n",
+      "z=0.5+1.5; # in m\n",
+      "B=B+z; # in m\n",
+      "L=L+z; # in m\n",
+      "A=0.6; # given in question\n",
+      "#from table\n",
+      "kcr=0.78; # by data\n",
+      "Sep=kcr*Sc;\n",
+      "print round(Sep*1000,2),\"settlement in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "m1\t z(m)\t n1\t Ic\t Dsigma \n",
+        "\n",
+        "2.0 \t  2.0 \t  4.0 \t  0.19 \t  28.5\n",
+        "2.0 \t  3.25 \t  6.5 \t  0.09 \t  12.75\n",
+        "2.0 \t  4.5 \t  9.0 \t  0.04 \t  6.75\n",
+        "46.45 settlement in mm\n",
+        "36.23 settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.11:Pg-262"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.11\n",
+      "\n",
+      "import numpy\n",
+      "N60=(3+7+12+12+16)/5.0;\n",
+      "B=[2, 2.25, 2.3]; # in m\n",
+      "Fd=[1.248, 1.22, 1.215];\n",
+      "Qoac=102000*9.81/1000;#actual Qo\n",
+      "Se=25; # in mm\n",
+      "qnet=numpy.zeros(3)\n",
+      "Qo=numpy.zeros(3) # in kN\n",
+      "print \"B(m)\\t Fd\\t qnet(kN/m**2)\\t \\t Qo \\n\"\n",
+      "for i in range(0,3):\n",
+      "    qnet[i]=10/0.08*(B[i]+0.3)**2/(B[i])**2*Fd[i]*Se/25;\n",
+      "    Qo[i]=qnet[i]*B[i]**2;\n",
+      "    print B[i],\"\\t\",Fd[i],\" \\t \",round(qnet[i],2),\"\\t\\t \",Qo[i],\"\\n\"\n",
+      "print int(Qoac),\"value of Qo in kN\"\n",
+      "print \"since Qo is 1000 kN thus B is equal to 2.3 m from the table\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "B(m)\t Fd\t qnet(kN/m**2)\t \t Qo \n",
+        "\n",
+        "2 \t1.248  \t  206.31 \t\t  825.24 \n",
+        "\n",
+        "2.25 \t1.22  \t  195.88 \t\t  991.63125 \n",
+        "\n",
+        "2.3 \t1.215  \t  194.08 \t\t  1026.675 \n",
+        "\n",
+        "1000 value of Qo in kN\n",
+        "since Qo is 1000 kN thus B is equal to 2.3 m from the table\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter05_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter05_2.ipynb
new file mode 100755
index 00000000..ca975aae
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter05_2.ipynb
@@ -0,0 +1,550 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:77a2cf465cec464205dc151afe10d9acafa79fe1b46b30f4a468368f8af3f8ea"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter05:Shallow Foundations: Allowable Bearing Capacity and Settlement"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.1:Pg-212"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.1\n",
+      "\n",
+      "#first solution\n",
+      "B1=2.5; # in ft\n",
+      "B2=B1;\n",
+      "z=12.5; # in ft\n",
+      "L1=5; # in ft\n",
+      "L2=L1;\n",
+      "m=B1/z;\n",
+      "n=B2/z;\n",
+      "#from table 5.2  of the values using m,n\n",
+      "q=2000; # in lb/ft^2\n",
+      "I=0.0328;\n",
+      "deltasigma=q*4*I; # in lb/ft**2\n",
+      "print round(deltasigma,2),\"change in pressure in lb/ft**2\"\n",
+      "#second solution\n",
+      "Ic=0.131;#from table\n",
+      "deltasigma=q*Ic; #  in lb/ft**2\n",
+      "print round(deltasigma,2),\"change in pressure in lb/ft**2\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "262.4 change in pressure in lb/ft**2\n",
+        "262.0 change in pressure in lb/ft**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.2:Pg-215"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.2\n",
+      "\n",
+      "qo=100; # in KN/m^2\n",
+      "H1=3; # in m\n",
+      "H2=5; # in m\n",
+      "#from table\n",
+      "IaH2=0.126;\n",
+      "IaH1=0.175;\n",
+      "deltasigma=qo*((H2*IaH2-H1*IaH1)/(H2-H1)); # in kN/m**2\n",
+      "print round(deltasigma,2),\"change in pressure in kN/m**2\"\n",
+      "TS=4*deltasigma; # in kN/m**2\n",
+      "print round(TS,2),\"total change in pressure in kN/m**2\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5.25 change in pressure in kN/m**2\n",
+        "21.0 total change in pressure in kN/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.3:Pg-217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.3\n",
+      "H=7;\n",
+      "Gamma=17.5; # in KN/m^3\n",
+      "q0=Gamma*H # in KN/m^2\n",
+      "print q0,\" is pressure change in kN/m**2\"\n",
+      "#part2\n",
+      "#from figure\n",
+      "Ileftside=0.445;\n",
+      "Irightside=0.445;\n",
+      "deltasigma=q0*(Ileftside+Irightside); # in KN/m^2\n",
+      "print round(deltasigma,2),\"is change in stress in kN/m**2\"\n",
+      "#partc\n",
+      "#from figure 5.11\n",
+      "I=0.24;#I'\n",
+      "Dsigma1=43.75*I;#deltasigma1 in KN/m^2\n",
+      "I2=0.495;#I'\n",
+      "Dsigma2=I2*q0;#deltasigma2 in KN/m^2\n",
+      "I3=0.335;#I'\n",
+      "Dsigma3=I3*78.75;#deltasigma3 in KN/m^2\n",
+      "Dsigma=Dsigma1+Dsigma2-Dsigma3; # in KN/m^2\n",
+      "print round(Dsigma,2),\"is total stress increase in A in kN/m**2\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "122.5  is pressure change in kN/m**2\n",
+        "109.03 is change in stress in kN/m**2\n",
+        "44.76 is total stress increase in A in kN/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.4:Pg-228"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.4\n",
+      "\n",
+      "zbar=5;\n",
+      "mus=0.3;\n",
+      "F1=0.641;\n",
+      "F2=0.031;\n",
+      "z1=2.0; # in m\n",
+      "z2=1.0; # in m\n",
+      "z3=2.0; # in m\n",
+      "Es1=10000; # in kN/m**2\n",
+      "Es2=8000; # in kN/m**2\n",
+      "Es3=12000;# in kN/m**2\n",
+      "qo=150; # in KN/m^2\n",
+      "#from table 5.4\n",
+      "If=0.709;\n",
+      "Es=(Es1*z1+Es2*z2+Es3*z3)/zbar; # in kN/m**2\n",
+      "print Es,\"  is modulus of elasticity in kN/m**2\"\n",
+      "Is=F1+(2-mus)/(1-mus)*F2;\n",
+      "Sc=qo*(1.0/Es-mus**2.0/Es)*Is*If*2;\n",
+      "Scrigid=0.93*Sc; # in m\n",
+      "print round(Scrigid*1000,2),\"is settlement in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "10400.0   is modulus of elasticity in kN/m**2\n",
+        "12.4 is settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.5:Pg-234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.5\n",
+      "import math\n",
+      "B=5; # in ft\n",
+      "L=10; # in ft\n",
+      "Ef=2.3e6; # in lb/in^2\n",
+      "Eo=1400.0; # in lb/in^2\n",
+      "k=25.0; # in lb/in^2/ft\n",
+      "t=1.0;\n",
+      "mus=0.3;\n",
+      "Df=5.0; # in ft\n",
+      "qo=5000.0; # in lb/ft^2\n",
+      "Ig=0.69;\n",
+      "Be=math.sqrt(4*B*L/math.pi);\n",
+      "If=math.pi/4+1/(4.6+10*(Ef/(Eo+2*Be/2*k))*(2*t/Be)**3);\n",
+      "Ie=1-1/(3.5*math.exp(1.22*mus-0.4)*(Be/Df+1.6));\n",
+      "Se=qo*Be*Ig*If*Ie/Eo*(1-mus**2)/144; # in ft\n",
+      "print round(Se*12,2),\"settlement in inches\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1.07 settlement in inches\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.6:238"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.6\n",
+      "\n",
+      "import math\n",
+      "import numpy\n",
+      "q=3.06; # in lb/in^2\n",
+      "qbar=25; # in lb/in^2\n",
+      "C1=1-0.5*(q/(qbar-q));\n",
+      "Sum=0;\n",
+      "C2=1+0.2*math.log10(10/0.1);\n",
+      "L=[1, 2, 3, 4, 5];\n",
+      "Dz=[48, 48, 96, 48, 144]; # in inch\n",
+      "Es=[750, 1250, 1250, 1000, 2000]; # in lb/in^2\n",
+      "z=[24, 72, 144, 216, 312]; # in inch\n",
+      "Iz=[0.275, 0.425, 0.417, 0.292, 0.125];\n",
+      "k=numpy.zeros(5)\n",
+      "print \"Layer No.\\t deltaz (in)\\t Es(lb/in**2)\\t z to the middle of the layer (in)  Iz at the middle of the layer  Iz/delta(z) \\n\"\n",
+      "for i in  range(0,5):\n",
+      "    k[i]=Iz[i]/Es[i]*Dz[i];\n",
+      "    print L[i],\"\\t \\t \",Dz[i],\"\\t\\t   \",Es[i],\"\\t\\t \",z[i],\" \\t\\t\\t\\t\\t  \",Iz[i],\"\\t\\t  \",round(k[i],3)\n",
+      "    Sum=Sum+k[i];\n",
+      "\n",
+      "Se=C1*C2*(qbar-q)*Sum; # in inch\n",
+      "print round(Se,2),\"settlement in inches\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Layer No.\t deltaz (in)\t Es(lb/in**2)\t z to the middle of the layer (in)  Iz at the middle of the layer  Iz/delta(z) \n",
+        "\n",
+        "1 \t \t  48 \t\t    750 \t\t  24  \t\t\t\t\t   0.275 \t\t   0.018\n",
+        "2 \t \t  48 \t\t    1250 \t\t  72  \t\t\t\t\t   0.425 \t\t   0.016\n",
+        "3 \t \t  96 \t\t    1250 \t\t  144  \t\t\t\t\t   0.417 \t\t   0.032\n",
+        "4 \t \t  48 \t\t    1000 \t\t  216  \t\t\t\t\t   0.292 \t\t   0.014\n",
+        "5 \t \t  144 \t\t    2000 \t\t  312  \t\t\t\t\t   0.125 \t\t   0.009\n",
+        "2.54 settlement in inches\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.7:Pg-244"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.7\n",
+      "\n",
+      "Df=1.0; # in m\n",
+      "B=1.75; # in m\n",
+      "L=1.75 # in m\n",
+      "qnet=120.0; # in KN/m^2\n",
+      "N60=10.0;# in m\n",
+      "alpha1=0.14 # for normally consolated sand\n",
+      "alpha2=1.71/(N60)**1.4 # for normally consolated sand\n",
+      "alpha3=1.0 # for normally consolated sand\n",
+      "Se=0.3*alpha1*alpha2*alpha3*(qnet/100)*((B/0.3)**0.7)*((1.25*(L/B)/(0.25+(L/B))))**2\n",
+      "print round(Se*1000,2),\"settlement in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "11.79 settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 27
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.8:Pg-245"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.8\n",
+      "\n",
+      "Df=1; # in m\n",
+      "B=1.75; # in m\n",
+      "qnet=120; # in KN/m^2\n",
+      "N60=10; # in m\n",
+      "Fd=1+0.33*Df/B;\n",
+      "Se=2*qnet/N60/Fd*(B/(B+0.3))**2; # in mm\n",
+      "print round(Se,2),\"settlement in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "14.71 settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.9:Pg-251"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.9\n",
+      "\n",
+      "Ny=23.76; \n",
+      "Nq=16.51; \n",
+      "q=3*110.0; # in lb/ft^2\n",
+      "Gamma=110.0; # in lb/ft^3\n",
+      "B=4.0; # in ft\n",
+      "Nqe=0.63*Nq;\n",
+      "Nye=0.4*Ny;\n",
+      "que=q*Nqe+1/2.0*Gamma*B*Nye; # in lb/ft^2\n",
+      "print round(que,2),\" is bearing capacity in lb/ft**2\"\n",
+      "#part 2\n",
+      "V=0.4; # in ft/sec\n",
+      "A=0.32; # given in question\n",
+      "g=9.81; # acceleration constant in m/sec^2\n",
+      "kh=0.26;\n",
+      "k=0.92;#tan(alphae)\n",
+      "Seq=0.174*k*V**2/A/g*kh**-4/A**-4; # in m\n",
+      "print round(Seq,3),\"settelement in m\"\n",
+      "print round(Seq*39.57,2),\"settlement in inches\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5523.31  is bearing capacity in lb/ft**2\n",
+        "0.019 settelement in m\n",
+        "0.74 settlement in inches\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.10:Pg-256"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.10\n",
+      "\n",
+      "import math\n",
+      "Cc=0.32;\n",
+      "Hc=2.5;\n",
+      "eo=0.8;\n",
+      "sigmao=2.5*16.5+0.5*(17.5-9.81)+1.25*(16-9.81); # in kN/m^2\n",
+      "m1=[2, 2, 2];\n",
+      "z=[2, 3.25, 4.5];\n",
+      "n1=[4, 6.5, 9];\n",
+      "Ic=[0.19, 0.085, 0.045];\n",
+      "Dsigma=[28.5, 12.75, 6.75];#deltasigma\n",
+      "print (\"m1\\t z(m)\\t n1\\t Ic\\t Dsigma \\n\");\n",
+      "for i in range(0,3):\n",
+      "    print round(m1[i],2),\"\\t \",round(z[i],2),\"\\t \",round(n1[i],2),\"\\t \",round(Ic[i],2),\"\\t \",round(Dsigma[i],2)\n",
+      "\n",
+      "    Dsigmaav=1/6.0*(Dsigma[0]+4*Dsigma[1]+Dsigma[2]);\n",
+      "    Sc=Cc*Hc/(1+eo)*math.log10((sigmao+Dsigmaav)/sigmao);\n",
+      "print round(Sc*1000,2),\"settlement in mm\"\n",
+      "#partb\n",
+      "B=1.0; # in m\n",
+      "L=2.0; # in m\n",
+      "z=0.5+1.5; # in m\n",
+      "B=B+z; # in m\n",
+      "L=L+z; # in m\n",
+      "A=0.6; # given in question\n",
+      "#from table\n",
+      "kcr=0.78; # by data\n",
+      "Sep=kcr*Sc;\n",
+      "print round(Sep*1000,2),\"settlement in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "m1\t z(m)\t n1\t Ic\t Dsigma \n",
+        "\n",
+        "2.0 \t  2.0 \t  4.0 \t  0.19 \t  28.5\n",
+        "2.0 \t  3.25 \t  6.5 \t  0.09 \t  12.75\n",
+        "2.0 \t  4.5 \t  9.0 \t  0.04 \t  6.75\n",
+        "46.45 settlement in mm\n",
+        "36.23 settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.11:Pg-262"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 5.11\n",
+      "\n",
+      "import numpy\n",
+      "N60=(3+7+12+12+16)/5.0;\n",
+      "B=[2, 2.25, 2.3]; # in m\n",
+      "Fd=[1.248, 1.22, 1.215];\n",
+      "Qoac=102000*9.81/1000;#actual Qo\n",
+      "Se=25; # in mm\n",
+      "qnet=numpy.zeros(3)\n",
+      "Qo=numpy.zeros(3) # in kN\n",
+      "print \"B(m)\\t Fd\\t qnet(kN/m**2)\\t \\t Qo \\n\"\n",
+      "for i in range(0,3):\n",
+      "    qnet[i]=10/0.08*(B[i]+0.3)**2/(B[i])**2*Fd[i]*Se/25;\n",
+      "    Qo[i]=qnet[i]*B[i]**2;\n",
+      "    print B[i],\"\\t\",Fd[i],\" \\t \",round(qnet[i],2),\"\\t\\t \",Qo[i],\"\\n\"\n",
+      "print int(Qoac),\"value of Qo in kN\"\n",
+      "print \"since Qo is 1000 kN thus B is equal to 2.3 m from the table\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "B(m)\t Fd\t qnet(kN/m**2)\t \t Qo \n",
+        "\n",
+        "2 \t1.248  \t  206.31 \t\t  825.24 \n",
+        "\n",
+        "2.25 \t1.22  \t  195.88 \t\t  991.63125 \n",
+        "\n",
+        "2.3 \t1.215  \t  194.08 \t\t  1026.675 \n",
+        "\n",
+        "1000 value of Qo in kN\n",
+        "since Qo is 1000 kN thus B is equal to 2.3 m from the table\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter06_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter06_1.ipynb
new file mode 100755
index 00000000..d87679c7
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter06_1.ipynb
@@ -0,0 +1,351 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:0ea06255a04932e0bf9952689cf2f6d919d320d1161a790bec574191c6fbafa1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter06: Mat Foundations"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.1:Pg-279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.1\n",
+      "\n",
+      "B=30; # in ft\n",
+      "L=45; # in ft\n",
+      "Df=6.5; # in ft\n",
+      "cu=1950;# in lb/ft^2\n",
+      "qunet=5.14*cu*(1+0.195*B/L)*(1+0.4*Df/B);\n",
+      "print int(qunet),\" is allowed force in lb/ft**2\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "12307  is allowed force in lb/ft**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.2:Pg-280"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.2\n",
+      "\n",
+      "N60=10; # penetration number\n",
+      "Df=2; # in m\n",
+      "B=10.0; # in m\n",
+      "Se=25.0; # in mm\n",
+      "qnetall=N60/0.08*(1+0.33*Df/B)*Se/25;\n",
+      "print qnetall,\" is allowed pressure in kN/m**2\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "133.25  is allowed pressure in kN/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.3:Pg-283"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.3\n",
+      "\n",
+      "cu=2800; # in lb/ft^2\n",
+      "B=60; # in ft\n",
+      "L=100; # in ft\n",
+      "Df=5; # in ft\n",
+      "\n",
+      "Gamma=120; # in lb/ft^3\n",
+      "A=60*100; # in ft^2\n",
+      "Q=25e6; # load in Kip\n",
+      "FS=5.14*cu*(1+0.195*B/L)*(1+0.4*Df/B)/(Q/A-Gamma*Df);\n",
+      "print round(FS,2),\" is factor of safety\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4.66  is factor of safety\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.4:Pg-284"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.4\n",
+      "\n",
+      "import math\n",
+      "Cc=0.28;\n",
+      "Hc=18*12.0;\n",
+      "e0=0.9;\n",
+      "sigmao=11*100+40*(121.5-64)+18/2*(118-62.4); # in lb/ft^2\n",
+      "H2=5+40+18.0;\n",
+      "H1=5+40.0;\n",
+      "qo=3567.0;\n",
+      "#from table\n",
+      "IaH2=0.21;\n",
+      "IaH1=0.225;\n",
+      "Dsigma=qo*((H2*IaH2-H1*IaH1)/(H2-H1))*4;\n",
+      "Scp=Cc*Hc/(1+e0)*math.log10(sigmao/sigmao+Dsigma/sigmao);\n",
+      "print round(Scp,2),\"is settlement in inches\"\n",
+      "\n",
+      "# The answers in the book are different due to approximation while here calculations are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6.76 is settlement in inches\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.5:Pg-296"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.5\n",
+      "import numpy\n",
+      "P=['A','B','C','D','E','F','G','H','I','J','K','L','M','N'];#point\n",
+      "k=1.2*numpy.ones(14);#Q/A\n",
+      "x=[-38,-24, -12, 0, 12, 24, 38, 38, 24, 12, 0, -12, -24, -38];\n",
+      "x1=numpy.zeros(14)\n",
+      "for i in range(0,14):\n",
+      "    x1[i]=0.0017*x[i];\n",
+      "y=[48,48,48,48,48,48,48, -48, -48, -48, -48, -48, -48, -48];\n",
+      "y1=numpy.zeros(14)\n",
+      "for i in range(0,14):\n",
+      "    y1[i]=-0.0011*y[i];\n",
+      "print \"point\\t Q\\A (kip/ft**2)  x(ft)\\t 0.0017x(ft)\\t\\ty(ft)\\t \\t  0.0011y(ft)\\t  \\t  q(kip/ft**2)\\n\"\n",
+      "q=numpy.zeros(14)\n",
+      "for i in  range(0,14):\n",
+      "    q[i]=1.2+x1[i]+y1[i];\n",
+      "    print P[i],\"\\t \",k[i],\"\\t\\t \",x[i],\"\\t\\t\",round(x1[i],3),\"\\t\\t\",y[i],\"\\t \\t \",round(y1[i],3),\"\\t \\t \\t\",round(q[i],3),\"\\t\\t \\n \"\n",
+      "\n",
+      "print \"the soil pressure at all point is less than the given qallnet=1.5 kip/ft**2\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "point\t Q\\A (kip/ft**2)  x(ft)\t 0.0017x(ft)\t\ty(ft)\t \t  0.0011y(ft)\t  \t  q(kip/ft**2)\n",
+        "\n",
+        "A \t  1.2 \t\t  -38 \t\t-0.065 \t\t48 \t \t  -0.053 \t \t \t1.083 \t\t \n",
+        " \n",
+        "B \t  1.2 \t\t  -24 \t\t-0.041 \t\t48 \t \t  -0.053 \t \t \t1.106 \t\t \n",
+        " \n",
+        "C \t  1.2 \t\t  -12 \t\t-0.02 \t\t48 \t \t  -0.053 \t \t \t1.127 \t\t \n",
+        " \n",
+        "D \t  1.2 \t\t  0 \t\t0.0 \t\t48 \t \t  -0.053 \t \t \t1.147 \t\t \n",
+        " \n",
+        "E \t  1.2 \t\t  12 \t\t0.02 \t\t48 \t \t  -0.053 \t \t \t1.168 \t\t \n",
+        " \n",
+        "F \t  1.2 \t\t  24 \t\t0.041 \t\t48 \t \t  -0.053 \t \t \t1.188 \t\t \n",
+        " \n",
+        "G \t  1.2 \t\t  38 \t\t0.065 \t\t48 \t \t  -0.053 \t \t \t1.212 \t\t \n",
+        " \n",
+        "H \t  1.2 \t\t  38 \t\t0.065 \t\t-48 \t \t  0.053 \t \t \t1.317 \t\t \n",
+        " \n",
+        "I \t  1.2 \t\t  24 \t\t0.041 \t\t-48 \t \t  0.053 \t \t \t1.294 \t\t \n",
+        " \n",
+        "J \t  1.2 \t\t  12 \t\t0.02 \t\t-48 \t \t  0.053 \t \t \t1.273 \t\t \n",
+        " \n",
+        "K \t  1.2 \t\t  0 \t\t0.0 \t\t-48 \t \t  0.053 \t \t \t1.253 \t\t \n",
+        " \n",
+        "L \t  1.2 \t\t  -12 \t\t-0.02 \t\t-48 \t \t  0.053 \t \t \t1.232 \t\t \n",
+        " \n",
+        "M \t  1.2 \t\t  -24 \t\t-0.041 \t\t-48 \t \t  0.053 \t \t \t1.212 \t\t \n",
+        " \n",
+        "N \t  1.2 \t\t  -38 \t\t-0.065 \t\t-48 \t \t  0.053 \t \t \t1.188 \t\t \n",
+        " \n",
+        "the soil pressure at all point is less than the given qallnet=1.5 kip/ft**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.6:Pg-299"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.6\n",
+      "\n",
+      "from scipy.optimize import fsolve\n",
+      "#solving for d\n",
+      "def f(d):\n",
+      "    return (96+2*d)*d-2615.1\n",
+      "[x]=fsolve(f,19);\n",
+      "d1=x;\n",
+      "def f(d):\n",
+      "      return (96+4*d)*d-6046.4\n",
+      "[x]=fsolve(f,28);\n",
+      "d2=x;\n",
+      "d=max(d2,d1);\n",
+      "d=round(d)\n",
+      "#now coming to design part\n",
+      "h=d+3+1; #in inch\n",
+      "print h,\"is total slab thickness in inches\"\n",
+      "qa=1.082; # in kip/ft^2\n",
+      "qb=1.106; # in kip/ft^2\n",
+      "qm=1.212; # in kip/ft^2\n",
+      "qn=1.188; # in kip/ft^2\n",
+      "q1A=qa/2.0+qb/2.0;\n",
+      "print round(q1A,3),\"is force in strip ABMN in kip/ft**2\"\n",
+      "q2A=qm/2.0+qn/2.0;\n",
+      "print  round(q2A,3),\"is force in strip ABMN in kip/ft**2\"\n",
+      "q1=1.106/3+1.127/3+1.147/3;\n",
+      "print  round(q1,3),\"is force in strip BCDKLM in kip/ft**2\"\n",
+      "q2=1.253/3+1.233/3+1.212/3;\n",
+      "print  round(q2,3),\"is force in strip BCDKLM in kip/ft**2\"\n",
+      "q1=1.147/3+1.167/3+1.188/3;\n",
+      "print  round(q1,3),\"is force in strip DEFIJK in kip/ft**2\"\n",
+      "q2=1.294/3+1.273/3+1.253/3;\n",
+      "print  round(q2,3),\"is force in strip DEFIJK in kip/ft**2\"\n",
+      "q1=1.188/2+1.212/2;\n",
+      "print  round(q1,3),\"is force in strip FGHI in kip/ft**2\"\n",
+      "q2=1.318/2+1.294/2;\n",
+      "print  round(q2,3),\" is force in strip FGHI in kip/ft**2\"\n",
+      "#checking for force\n",
+      "#net soil reaction <load \n",
+      "netforce=1/2.0*(1.094+1.2)*14*96+1/2.0*(1.127+1.233)*24*96+1/2.0*(1.167+1.273)*24*96+1/2.0*(1.2+1.306)*14*96;\n",
+      "if netforce<8761 :\n",
+      "    print \"forces generated is OK\"\n",
+      "\n",
+      "#checking for reinforcement requirement\n",
+      "Q1=1.4*180+1.7*120;\n",
+      "Q2=1.4*360+1.7*200;\n",
+      "Q3=1.4*400+1.7*240;\n",
+      "Q4=1.4*180+1.7*120;\n",
+      "#solving for a\n",
+      "def f(a):\n",
+      "    return 0.9*0.51*a*60*(29-a/2)-95.05*12\n",
+      "[x]=fsolve(f,1.4);\n",
+      "a=x;\n",
+      "As=0.51*a\n",
+      "fy=60000;\n",
+      "print round(As,2),\"is required area in in**2\"\n",
+      "Asmin=200.0/fy*12*29;\n",
+      "print Asmin,\" is minimum reinforcement required in**2/ft\"\n",
+      "print \"use No 9 bars at 10 inch centre to centre\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "33.0 is total slab thickness in inches\n",
+        "1.094 is force in strip ABMN in kip/ft**2\n",
+        "1.2 is force in strip ABMN in kip/ft**2\n",
+        "1.127 is force in strip BCDKLM in kip/ft**2\n",
+        "1.233 is force in strip BCDKLM in kip/ft**2\n",
+        "1.167 is force in strip DEFIJK in kip/ft**2\n",
+        "1.273 is force in strip DEFIJK in kip/ft**2\n",
+        "1.2 is force in strip FGHI in kip/ft**2\n",
+        "1.306  is force in strip FGHI in kip/ft**2\n",
+        "forces generated is OK\n",
+        "0.75 is required area in in**2\n",
+        "1.16  is minimum reinforcement required in**2/ft\n",
+        "use No 9 bars at 10 inch centre to centre\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter06_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter06_2.ipynb
new file mode 100755
index 00000000..d87679c7
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter06_2.ipynb
@@ -0,0 +1,351 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:0ea06255a04932e0bf9952689cf2f6d919d320d1161a790bec574191c6fbafa1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter06: Mat Foundations"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.1:Pg-279"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.1\n",
+      "\n",
+      "B=30; # in ft\n",
+      "L=45; # in ft\n",
+      "Df=6.5; # in ft\n",
+      "cu=1950;# in lb/ft^2\n",
+      "qunet=5.14*cu*(1+0.195*B/L)*(1+0.4*Df/B);\n",
+      "print int(qunet),\" is allowed force in lb/ft**2\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "12307  is allowed force in lb/ft**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.2:Pg-280"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.2\n",
+      "\n",
+      "N60=10; # penetration number\n",
+      "Df=2; # in m\n",
+      "B=10.0; # in m\n",
+      "Se=25.0; # in mm\n",
+      "qnetall=N60/0.08*(1+0.33*Df/B)*Se/25;\n",
+      "print qnetall,\" is allowed pressure in kN/m**2\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "133.25  is allowed pressure in kN/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.3:Pg-283"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.3\n",
+      "\n",
+      "cu=2800; # in lb/ft^2\n",
+      "B=60; # in ft\n",
+      "L=100; # in ft\n",
+      "Df=5; # in ft\n",
+      "\n",
+      "Gamma=120; # in lb/ft^3\n",
+      "A=60*100; # in ft^2\n",
+      "Q=25e6; # load in Kip\n",
+      "FS=5.14*cu*(1+0.195*B/L)*(1+0.4*Df/B)/(Q/A-Gamma*Df);\n",
+      "print round(FS,2),\" is factor of safety\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4.66  is factor of safety\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.4:Pg-284"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.4\n",
+      "\n",
+      "import math\n",
+      "Cc=0.28;\n",
+      "Hc=18*12.0;\n",
+      "e0=0.9;\n",
+      "sigmao=11*100+40*(121.5-64)+18/2*(118-62.4); # in lb/ft^2\n",
+      "H2=5+40+18.0;\n",
+      "H1=5+40.0;\n",
+      "qo=3567.0;\n",
+      "#from table\n",
+      "IaH2=0.21;\n",
+      "IaH1=0.225;\n",
+      "Dsigma=qo*((H2*IaH2-H1*IaH1)/(H2-H1))*4;\n",
+      "Scp=Cc*Hc/(1+e0)*math.log10(sigmao/sigmao+Dsigma/sigmao);\n",
+      "print round(Scp,2),\"is settlement in inches\"\n",
+      "\n",
+      "# The answers in the book are different due to approximation while here calculations are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6.76 is settlement in inches\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.5:Pg-296"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.5\n",
+      "import numpy\n",
+      "P=['A','B','C','D','E','F','G','H','I','J','K','L','M','N'];#point\n",
+      "k=1.2*numpy.ones(14);#Q/A\n",
+      "x=[-38,-24, -12, 0, 12, 24, 38, 38, 24, 12, 0, -12, -24, -38];\n",
+      "x1=numpy.zeros(14)\n",
+      "for i in range(0,14):\n",
+      "    x1[i]=0.0017*x[i];\n",
+      "y=[48,48,48,48,48,48,48, -48, -48, -48, -48, -48, -48, -48];\n",
+      "y1=numpy.zeros(14)\n",
+      "for i in range(0,14):\n",
+      "    y1[i]=-0.0011*y[i];\n",
+      "print \"point\\t Q\\A (kip/ft**2)  x(ft)\\t 0.0017x(ft)\\t\\ty(ft)\\t \\t  0.0011y(ft)\\t  \\t  q(kip/ft**2)\\n\"\n",
+      "q=numpy.zeros(14)\n",
+      "for i in  range(0,14):\n",
+      "    q[i]=1.2+x1[i]+y1[i];\n",
+      "    print P[i],\"\\t \",k[i],\"\\t\\t \",x[i],\"\\t\\t\",round(x1[i],3),\"\\t\\t\",y[i],\"\\t \\t \",round(y1[i],3),\"\\t \\t \\t\",round(q[i],3),\"\\t\\t \\n \"\n",
+      "\n",
+      "print \"the soil pressure at all point is less than the given qallnet=1.5 kip/ft**2\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "point\t Q\\A (kip/ft**2)  x(ft)\t 0.0017x(ft)\t\ty(ft)\t \t  0.0011y(ft)\t  \t  q(kip/ft**2)\n",
+        "\n",
+        "A \t  1.2 \t\t  -38 \t\t-0.065 \t\t48 \t \t  -0.053 \t \t \t1.083 \t\t \n",
+        " \n",
+        "B \t  1.2 \t\t  -24 \t\t-0.041 \t\t48 \t \t  -0.053 \t \t \t1.106 \t\t \n",
+        " \n",
+        "C \t  1.2 \t\t  -12 \t\t-0.02 \t\t48 \t \t  -0.053 \t \t \t1.127 \t\t \n",
+        " \n",
+        "D \t  1.2 \t\t  0 \t\t0.0 \t\t48 \t \t  -0.053 \t \t \t1.147 \t\t \n",
+        " \n",
+        "E \t  1.2 \t\t  12 \t\t0.02 \t\t48 \t \t  -0.053 \t \t \t1.168 \t\t \n",
+        " \n",
+        "F \t  1.2 \t\t  24 \t\t0.041 \t\t48 \t \t  -0.053 \t \t \t1.188 \t\t \n",
+        " \n",
+        "G \t  1.2 \t\t  38 \t\t0.065 \t\t48 \t \t  -0.053 \t \t \t1.212 \t\t \n",
+        " \n",
+        "H \t  1.2 \t\t  38 \t\t0.065 \t\t-48 \t \t  0.053 \t \t \t1.317 \t\t \n",
+        " \n",
+        "I \t  1.2 \t\t  24 \t\t0.041 \t\t-48 \t \t  0.053 \t \t \t1.294 \t\t \n",
+        " \n",
+        "J \t  1.2 \t\t  12 \t\t0.02 \t\t-48 \t \t  0.053 \t \t \t1.273 \t\t \n",
+        " \n",
+        "K \t  1.2 \t\t  0 \t\t0.0 \t\t-48 \t \t  0.053 \t \t \t1.253 \t\t \n",
+        " \n",
+        "L \t  1.2 \t\t  -12 \t\t-0.02 \t\t-48 \t \t  0.053 \t \t \t1.232 \t\t \n",
+        " \n",
+        "M \t  1.2 \t\t  -24 \t\t-0.041 \t\t-48 \t \t  0.053 \t \t \t1.212 \t\t \n",
+        " \n",
+        "N \t  1.2 \t\t  -38 \t\t-0.065 \t\t-48 \t \t  0.053 \t \t \t1.188 \t\t \n",
+        " \n",
+        "the soil pressure at all point is less than the given qallnet=1.5 kip/ft**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6.6:Pg-299"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 6.6\n",
+      "\n",
+      "from scipy.optimize import fsolve\n",
+      "#solving for d\n",
+      "def f(d):\n",
+      "    return (96+2*d)*d-2615.1\n",
+      "[x]=fsolve(f,19);\n",
+      "d1=x;\n",
+      "def f(d):\n",
+      "      return (96+4*d)*d-6046.4\n",
+      "[x]=fsolve(f,28);\n",
+      "d2=x;\n",
+      "d=max(d2,d1);\n",
+      "d=round(d)\n",
+      "#now coming to design part\n",
+      "h=d+3+1; #in inch\n",
+      "print h,\"is total slab thickness in inches\"\n",
+      "qa=1.082; # in kip/ft^2\n",
+      "qb=1.106; # in kip/ft^2\n",
+      "qm=1.212; # in kip/ft^2\n",
+      "qn=1.188; # in kip/ft^2\n",
+      "q1A=qa/2.0+qb/2.0;\n",
+      "print round(q1A,3),\"is force in strip ABMN in kip/ft**2\"\n",
+      "q2A=qm/2.0+qn/2.0;\n",
+      "print  round(q2A,3),\"is force in strip ABMN in kip/ft**2\"\n",
+      "q1=1.106/3+1.127/3+1.147/3;\n",
+      "print  round(q1,3),\"is force in strip BCDKLM in kip/ft**2\"\n",
+      "q2=1.253/3+1.233/3+1.212/3;\n",
+      "print  round(q2,3),\"is force in strip BCDKLM in kip/ft**2\"\n",
+      "q1=1.147/3+1.167/3+1.188/3;\n",
+      "print  round(q1,3),\"is force in strip DEFIJK in kip/ft**2\"\n",
+      "q2=1.294/3+1.273/3+1.253/3;\n",
+      "print  round(q2,3),\"is force in strip DEFIJK in kip/ft**2\"\n",
+      "q1=1.188/2+1.212/2;\n",
+      "print  round(q1,3),\"is force in strip FGHI in kip/ft**2\"\n",
+      "q2=1.318/2+1.294/2;\n",
+      "print  round(q2,3),\" is force in strip FGHI in kip/ft**2\"\n",
+      "#checking for force\n",
+      "#net soil reaction <load \n",
+      "netforce=1/2.0*(1.094+1.2)*14*96+1/2.0*(1.127+1.233)*24*96+1/2.0*(1.167+1.273)*24*96+1/2.0*(1.2+1.306)*14*96;\n",
+      "if netforce<8761 :\n",
+      "    print \"forces generated is OK\"\n",
+      "\n",
+      "#checking for reinforcement requirement\n",
+      "Q1=1.4*180+1.7*120;\n",
+      "Q2=1.4*360+1.7*200;\n",
+      "Q3=1.4*400+1.7*240;\n",
+      "Q4=1.4*180+1.7*120;\n",
+      "#solving for a\n",
+      "def f(a):\n",
+      "    return 0.9*0.51*a*60*(29-a/2)-95.05*12\n",
+      "[x]=fsolve(f,1.4);\n",
+      "a=x;\n",
+      "As=0.51*a\n",
+      "fy=60000;\n",
+      "print round(As,2),\"is required area in in**2\"\n",
+      "Asmin=200.0/fy*12*29;\n",
+      "print Asmin,\" is minimum reinforcement required in**2/ft\"\n",
+      "print \"use No 9 bars at 10 inch centre to centre\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "33.0 is total slab thickness in inches\n",
+        "1.094 is force in strip ABMN in kip/ft**2\n",
+        "1.2 is force in strip ABMN in kip/ft**2\n",
+        "1.127 is force in strip BCDKLM in kip/ft**2\n",
+        "1.233 is force in strip BCDKLM in kip/ft**2\n",
+        "1.167 is force in strip DEFIJK in kip/ft**2\n",
+        "1.273 is force in strip DEFIJK in kip/ft**2\n",
+        "1.2 is force in strip FGHI in kip/ft**2\n",
+        "1.306  is force in strip FGHI in kip/ft**2\n",
+        "forces generated is OK\n",
+        "0.75 is required area in in**2\n",
+        "1.16  is minimum reinforcement required in**2/ft\n",
+        "use No 9 bars at 10 inch centre to centre\n"
+       ]
+      }
+     ],
+     "prompt_number": 32
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter07_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter07_1.ipynb
new file mode 100755
index 00000000..63b3bc22
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter07_1.ipynb
@@ -0,0 +1,358 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:6111670c8f96effbf1bc0bc29859353d67e53cd5b906d2b571173d1698f7ba9c"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter07:Lateral earth pressure"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.1:Pg-319"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.1\n",

+      "\n",

+      "sigmao=48.0; # in KN/m^2\n",

+      "phi1=30*math.pi/180; # angle\n",

+      "phi2=36*math.pi/180; # angle\n",

+      "Ka1=(math.tan(math.pi/4.0-phi1/2))**2;\n",

+      "Ka2=(math.tan(math.pi/4.0-phi2/2))**2;\n",

+      "sigmaa1=Ka1*sigmao; # in KN/m^2\n",

+      "print round(sigmaa1,2),\"top soil pressure in kN/m**2\"\n",

+      "sigmaa2=Ka2*sigmao; # in KN/m^2\n",

+      "print round(sigmaa2,2),\"bottom soil pressure in kN/m**2\"\n",

+      "Po=1/2.0*3*16+3*12.48+1/3.0*3*(19.65-12.48)+1/2.0*3*29.43;\n",

+      "zbar=(24*(3+3/3.0)+37.44*(3/2.0)+10.76*3/3.0+44.1*3/3.0)/Po;\n",

+      "print round(zbar,2),\"resultant force acting from the bottom in m\"\n",

+      "\n",

+      "# The answers in the book are different due to approximation while here calculations are precise"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "16.0 top soil pressure in kN/m**2\n",

+        "12.46 bottom soil pressure in kN/m**2\n",

+        "1.84 resultant force acting from the bottom in m\n"

+       ]

+      }

+     ],

+     "prompt_number": 34

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.2:Pg-321"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.2\n",

+      "\n",

+      "import math\n",

+      "c=14.36;\n",

+      "Gamma=17.4; #  in KN/m^3\n",

+      "H=6; # in m\n",

+      "phi=26*math.pi/180;\n",

+      "Ka=(math.tan(math.pi/4-phi/2))**2;\n",

+      "sigma0=Gamma*H*Ka-2*c*math.sqrt(Ka);\n",

+      "Pa=1/2.0*Gamma*H**2*Ka-2*c*H*math.sqrt(Ka);\n",

+      "print round(Pa,2),\"active force before which tensile crack appeared in kN/m\"\n",

+      "zbar=(244.32-323.1)/14.46;\n",

+      "print round(zbar,2),\"the line of action on which net force is acting in m\"\n",

+      "zc=2*c/Gamma/math.sqrt(Ka);\n",

+      "print round(zc,2),\"distance where tensile crack appeared in m\"\n",

+      "Pa=1/2.0*(H-zc)*(Gamma*H*Ka-2*c*math.sqrt(Ka));\n",

+      "print round(Pa,2),\"Active force in tensile crack in kN/m\"\n",

+      "zbar=(H-zc)/3;\n",

+      "print round(zbar,2),\"the line of action on which net force is acting in m\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "14.62 active force before which tensile crack appeared in kN/m\n",

+        "-5.45 the line of action on which net force is acting in m\n",

+        "2.64 distance where tensile crack appeared in m\n",

+        "38.32 Active force in tensile crack in kN/m\n",

+        "1.12 the line of action on which net force is acting in m\n"

+       ]

+      }

+     ],

+     "prompt_number": 30

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3:Pg-322"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.3\n",

+      "import math\n",

+      "pi=math.pi\n",

+      "H=10.0; # in ft\n",

+      "Gamma=110.0; # in lb/ft^3\n",

+      "phi=35*math.pi/180.0; # angle\n",

+      "alpha=15*math.pi/180.0; # angle\n",

+      "theta=10*math.pi/180.0; # angle\n",

+      "zi=math.sin(math.sin(alpha)/math.sin(phi))-alpha+2*theta;\n",

+      "print round(zi*180.0/math.pi,2),\" is zi in degrees\"\n",

+      "Ka=math.cos(alpha-theta)*math.sqrt(1+(math.sin(phi))**2-2*math.sin(phi)*math.sin(zi))/((math.cos(theta))**2*(math.cos(alpha)+math.sqrt((math.sin(phi))**2+((math.sin(alpha))**2))));\n",

+      "Pa=1/2.0*Gamma*H**2*Ka;\n",

+      "print round(Pa,2),\" is rankine earth pressure in lb/ft\"\n",

+      "print \"there is slight error in answer due to rounding off error\"\n",

+      "Beta=math.tan(math.sin(phi)*math.sin(zi)/(1-math.sin(phi)*math.cos(zi)));\n",

+      "print round(Beta*180/pi,2),\" is angle in degrees\"\n",

+      "\n",

+      "# The answers in the book are different due to approximation while here calculations are precise"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "29.99  is zi in degrees\n",

+        "3078.61  is rankine earth pressure in lb/ft\n",

+        "there is slight error in answer due to rounding off error\n",

+        "36.7  is angle in degrees\n"

+       ]

+      }

+     ],

+     "prompt_number": 25

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.4:Pg-326"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.4\n",

+      "\n",

+      "H=4.6; # in m\n",

+      "Gamma=16.5; # in KN/m^3\n",

+      "Ka=0.297;\n",

+      "Po=1/2.0*Gamma*H**2*Ka;\n",

+      "print round(Po,2),\"coulomb active force per unit length in kN/m\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "51.85 coulomb active force per unit length in kN/m\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5:Pg-331"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.5\n",

+      "\n",

+      "#part(a)\n",

+      "Gamma=105; # in lb/ft^3\n",

+      "H=10; #in ft\n",

+      "Kae=0.474;\n",

+      "k1=0;\n",

+      "Pae=1/2.0*Gamma*H**2*Kae*(1-k1) # in lb/ft\n",

+      "print Pae,\"active force in lb/ft\"\n",

+      "#part(b)\n",

+      "Ka=0.246;\n",

+      "Pa=1/2.0*Gamma*H**2*Ka; # in lb/ft\n",

+      "print Pa,\"active force in lb/ft\"\n",

+      "DPae=Pae-Pa;#deltaPae\n",

+      "zbar=(0.6*H*DPae+H/3*(Pa))/Pae;\n",

+      "print round(zbar,2),\"the distance of resultant force from bottom in ft\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2488.5 active force in lb/ft\n",

+        "1291.5 active force in lb/ft\n",

+        "4.44 the distance of resultant force from bottom in ft\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.6:Pg-337"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.6\n",

+      "\n",

+      "import math\n",

+      "import numpy\n",

+      "import matplotlib.pyplot as plt\n",

+      "\n",

+      "z=[0, 4, 8, 12, 16];\n",

+      "Gamma=110; # in lb/ft^3\n",

+      "phi=36*math.pi/180;\n",

+      "H=16; # in ft\n",

+      "Sa1=numpy.zeros(5);#sigma(1)\n",

+      "Sa2=numpy.zeros(5);#sigma(2)\n",

+      "Sztr=numpy.zeros(5);#sigma(z)translation\n",

+      "print \"z(ft)\\t sigma(1)(lb/ft**2)   \\t sigma(2)(lb/ft**2)    \\t sigma(z)translation (lb/ft**2)\\n\"\n",

+      "for i in range(0,5):\n",

+      "    Sa1[i]=Gamma*(math.tan(math.pi/4-phi*z[i]/2/H))**2*(z[i]-phi*z[i]**2/H/math.cos(phi*z[i]/H));\n",

+      "    Sa2[i]=Gamma*z[i]*(math.cos(phi)/(1+math.sin(phi)))**2;\n",

+      "    Sztr[i]=Sa1[i]/2.0+Sa2[i]/2.0;\n",

+      "    print  round(z[i],2),\"\\t \",round(Sa1[i],2),\"\\t\\t\\t \",round(Sa2[i],2),\"\\t\\t\\t \",round(Sztr[i],2),\"\\n\"\n",

+      "plt.plot(Sztr,z);\n",

+      "plt.title(\"sigma(z)translation vs z\")\n",

+      "plt.ylabel(\"z(ft)\")\n",

+      "plt.xlabel(\"sigma(z)translation (lb/ft**2)\")\n",

+      "plt.show()\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "z(ft)\t sigma(1)(lb/ft**2)   \t sigma(2)(lb/ft**2)    \t sigma(z)translation (lb/ft**2)\n",

+        "\n",

+        "0.0 \t  0.0 \t\t\t  0.0 \t\t\t  0.0 \n",

+        "\n",

+        "4.0 \t  269.92 \t\t\t  114.23 \t\t\t  192.07 \n",

+        "\n",

+        "8.0 \t  311.08 \t\t\t  228.46 \t\t\t  269.77 \n",

+        "\n",

+        "12.0 \t  233.53 \t\t\t  342.69 \t\t\t  288.11 \n",

+        "\n",

+        "16.0 \t  102.06 \t\t\t  456.92 \t\t\t  279.49 \n",

+        "\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.7:Pg-342"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.7\n",

+      "import math\n",

+      "Gammasat=18.86; # in KN/m^3\n",

+      "Gammaw=9.81; # in KN/m^3\n",

+      "phi1=math.pi/180*30;  # angle 1\n",

+      "phi2=math.pi/180*26; # angle 2\n",

+      "Kp1=(math.tan(math.pi/4+phi1/2))**2;\n",

+      "Kp2=(math.tan(math.pi/4+phi2/2))**2;\n",

+      "#for top soil\n",

+      "c=0;\n",

+      "sigma0=31.44; # in KN/m^2\n",

+      "sigmap=sigma0*Kp1+2*c*math.sqrt(Kp1);\n",

+      "print round(sigmap,2),\"passive pressure for top layer in kN/m**2\"\n",

+      "#for z=2\n",

+      "c=10;\n",

+      "sigma0=31.44; # in KN/m^2\n",

+      "sigmap=sigma0*Kp2+2*c*math.sqrt(Kp2);\n",

+      "print round(sigmap,2),\"passive pressure for z=2m in kN/m**2\"\n",

+      "#for z=3\n",

+      "c=10;\n",

+      "sigma0=15.72*2+(Gammasat-Gammaw)*1; # in KN/m^2\n",

+      "sigmap=sigma0*Kp2+2*c*math.sqrt(Kp2); # in KN/m^2\n",

+      "print round(sigmap,2),\" is passive pressure for z=3m in kN/m**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "94.32 passive pressure for top layer in kN/m**2\n",

+        "112.53 passive pressure for z=2m in kN/m**2\n",

+        "135.7  is passive pressure for z=3m in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter07_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter07_2.ipynb
new file mode 100755
index 00000000..63b3bc22
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter07_2.ipynb
@@ -0,0 +1,358 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:6111670c8f96effbf1bc0bc29859353d67e53cd5b906d2b571173d1698f7ba9c"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter07:Lateral earth pressure"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.1:Pg-319"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.1\n",

+      "\n",

+      "sigmao=48.0; # in KN/m^2\n",

+      "phi1=30*math.pi/180; # angle\n",

+      "phi2=36*math.pi/180; # angle\n",

+      "Ka1=(math.tan(math.pi/4.0-phi1/2))**2;\n",

+      "Ka2=(math.tan(math.pi/4.0-phi2/2))**2;\n",

+      "sigmaa1=Ka1*sigmao; # in KN/m^2\n",

+      "print round(sigmaa1,2),\"top soil pressure in kN/m**2\"\n",

+      "sigmaa2=Ka2*sigmao; # in KN/m^2\n",

+      "print round(sigmaa2,2),\"bottom soil pressure in kN/m**2\"\n",

+      "Po=1/2.0*3*16+3*12.48+1/3.0*3*(19.65-12.48)+1/2.0*3*29.43;\n",

+      "zbar=(24*(3+3/3.0)+37.44*(3/2.0)+10.76*3/3.0+44.1*3/3.0)/Po;\n",

+      "print round(zbar,2),\"resultant force acting from the bottom in m\"\n",

+      "\n",

+      "# The answers in the book are different due to approximation while here calculations are precise"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "16.0 top soil pressure in kN/m**2\n",

+        "12.46 bottom soil pressure in kN/m**2\n",

+        "1.84 resultant force acting from the bottom in m\n"

+       ]

+      }

+     ],

+     "prompt_number": 34

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.2:Pg-321"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.2\n",

+      "\n",

+      "import math\n",

+      "c=14.36;\n",

+      "Gamma=17.4; #  in KN/m^3\n",

+      "H=6; # in m\n",

+      "phi=26*math.pi/180;\n",

+      "Ka=(math.tan(math.pi/4-phi/2))**2;\n",

+      "sigma0=Gamma*H*Ka-2*c*math.sqrt(Ka);\n",

+      "Pa=1/2.0*Gamma*H**2*Ka-2*c*H*math.sqrt(Ka);\n",

+      "print round(Pa,2),\"active force before which tensile crack appeared in kN/m\"\n",

+      "zbar=(244.32-323.1)/14.46;\n",

+      "print round(zbar,2),\"the line of action on which net force is acting in m\"\n",

+      "zc=2*c/Gamma/math.sqrt(Ka);\n",

+      "print round(zc,2),\"distance where tensile crack appeared in m\"\n",

+      "Pa=1/2.0*(H-zc)*(Gamma*H*Ka-2*c*math.sqrt(Ka));\n",

+      "print round(Pa,2),\"Active force in tensile crack in kN/m\"\n",

+      "zbar=(H-zc)/3;\n",

+      "print round(zbar,2),\"the line of action on which net force is acting in m\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "14.62 active force before which tensile crack appeared in kN/m\n",

+        "-5.45 the line of action on which net force is acting in m\n",

+        "2.64 distance where tensile crack appeared in m\n",

+        "38.32 Active force in tensile crack in kN/m\n",

+        "1.12 the line of action on which net force is acting in m\n"

+       ]

+      }

+     ],

+     "prompt_number": 30

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.3:Pg-322"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.3\n",

+      "import math\n",

+      "pi=math.pi\n",

+      "H=10.0; # in ft\n",

+      "Gamma=110.0; # in lb/ft^3\n",

+      "phi=35*math.pi/180.0; # angle\n",

+      "alpha=15*math.pi/180.0; # angle\n",

+      "theta=10*math.pi/180.0; # angle\n",

+      "zi=math.sin(math.sin(alpha)/math.sin(phi))-alpha+2*theta;\n",

+      "print round(zi*180.0/math.pi,2),\" is zi in degrees\"\n",

+      "Ka=math.cos(alpha-theta)*math.sqrt(1+(math.sin(phi))**2-2*math.sin(phi)*math.sin(zi))/((math.cos(theta))**2*(math.cos(alpha)+math.sqrt((math.sin(phi))**2+((math.sin(alpha))**2))));\n",

+      "Pa=1/2.0*Gamma*H**2*Ka;\n",

+      "print round(Pa,2),\" is rankine earth pressure in lb/ft\"\n",

+      "print \"there is slight error in answer due to rounding off error\"\n",

+      "Beta=math.tan(math.sin(phi)*math.sin(zi)/(1-math.sin(phi)*math.cos(zi)));\n",

+      "print round(Beta*180/pi,2),\" is angle in degrees\"\n",

+      "\n",

+      "# The answers in the book are different due to approximation while here calculations are precise"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "29.99  is zi in degrees\n",

+        "3078.61  is rankine earth pressure in lb/ft\n",

+        "there is slight error in answer due to rounding off error\n",

+        "36.7  is angle in degrees\n"

+       ]

+      }

+     ],

+     "prompt_number": 25

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.4:Pg-326"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.4\n",

+      "\n",

+      "H=4.6; # in m\n",

+      "Gamma=16.5; # in KN/m^3\n",

+      "Ka=0.297;\n",

+      "Po=1/2.0*Gamma*H**2*Ka;\n",

+      "print round(Po,2),\"coulomb active force per unit length in kN/m\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "51.85 coulomb active force per unit length in kN/m\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.5:Pg-331"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.5\n",

+      "\n",

+      "#part(a)\n",

+      "Gamma=105; # in lb/ft^3\n",

+      "H=10; #in ft\n",

+      "Kae=0.474;\n",

+      "k1=0;\n",

+      "Pae=1/2.0*Gamma*H**2*Kae*(1-k1) # in lb/ft\n",

+      "print Pae,\"active force in lb/ft\"\n",

+      "#part(b)\n",

+      "Ka=0.246;\n",

+      "Pa=1/2.0*Gamma*H**2*Ka; # in lb/ft\n",

+      "print Pa,\"active force in lb/ft\"\n",

+      "DPae=Pae-Pa;#deltaPae\n",

+      "zbar=(0.6*H*DPae+H/3*(Pa))/Pae;\n",

+      "print round(zbar,2),\"the distance of resultant force from bottom in ft\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2488.5 active force in lb/ft\n",

+        "1291.5 active force in lb/ft\n",

+        "4.44 the distance of resultant force from bottom in ft\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.6:Pg-337"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.6\n",

+      "\n",

+      "import math\n",

+      "import numpy\n",

+      "import matplotlib.pyplot as plt\n",

+      "\n",

+      "z=[0, 4, 8, 12, 16];\n",

+      "Gamma=110; # in lb/ft^3\n",

+      "phi=36*math.pi/180;\n",

+      "H=16; # in ft\n",

+      "Sa1=numpy.zeros(5);#sigma(1)\n",

+      "Sa2=numpy.zeros(5);#sigma(2)\n",

+      "Sztr=numpy.zeros(5);#sigma(z)translation\n",

+      "print \"z(ft)\\t sigma(1)(lb/ft**2)   \\t sigma(2)(lb/ft**2)    \\t sigma(z)translation (lb/ft**2)\\n\"\n",

+      "for i in range(0,5):\n",

+      "    Sa1[i]=Gamma*(math.tan(math.pi/4-phi*z[i]/2/H))**2*(z[i]-phi*z[i]**2/H/math.cos(phi*z[i]/H));\n",

+      "    Sa2[i]=Gamma*z[i]*(math.cos(phi)/(1+math.sin(phi)))**2;\n",

+      "    Sztr[i]=Sa1[i]/2.0+Sa2[i]/2.0;\n",

+      "    print  round(z[i],2),\"\\t \",round(Sa1[i],2),\"\\t\\t\\t \",round(Sa2[i],2),\"\\t\\t\\t \",round(Sztr[i],2),\"\\n\"\n",

+      "plt.plot(Sztr,z);\n",

+      "plt.title(\"sigma(z)translation vs z\")\n",

+      "plt.ylabel(\"z(ft)\")\n",

+      "plt.xlabel(\"sigma(z)translation (lb/ft**2)\")\n",

+      "plt.show()\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "z(ft)\t sigma(1)(lb/ft**2)   \t sigma(2)(lb/ft**2)    \t sigma(z)translation (lb/ft**2)\n",

+        "\n",

+        "0.0 \t  0.0 \t\t\t  0.0 \t\t\t  0.0 \n",

+        "\n",

+        "4.0 \t  269.92 \t\t\t  114.23 \t\t\t  192.07 \n",

+        "\n",

+        "8.0 \t  311.08 \t\t\t  228.46 \t\t\t  269.77 \n",

+        "\n",

+        "12.0 \t  233.53 \t\t\t  342.69 \t\t\t  288.11 \n",

+        "\n",

+        "16.0 \t  102.06 \t\t\t  456.92 \t\t\t  279.49 \n",

+        "\n"

+       ]

+      }

+     ],

+     "prompt_number": 13

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex7.7:Pg-342"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 7.7\n",

+      "import math\n",

+      "Gammasat=18.86; # in KN/m^3\n",

+      "Gammaw=9.81; # in KN/m^3\n",

+      "phi1=math.pi/180*30;  # angle 1\n",

+      "phi2=math.pi/180*26; # angle 2\n",

+      "Kp1=(math.tan(math.pi/4+phi1/2))**2;\n",

+      "Kp2=(math.tan(math.pi/4+phi2/2))**2;\n",

+      "#for top soil\n",

+      "c=0;\n",

+      "sigma0=31.44; # in KN/m^2\n",

+      "sigmap=sigma0*Kp1+2*c*math.sqrt(Kp1);\n",

+      "print round(sigmap,2),\"passive pressure for top layer in kN/m**2\"\n",

+      "#for z=2\n",

+      "c=10;\n",

+      "sigma0=31.44; # in KN/m^2\n",

+      "sigmap=sigma0*Kp2+2*c*math.sqrt(Kp2);\n",

+      "print round(sigmap,2),\"passive pressure for z=2m in kN/m**2\"\n",

+      "#for z=3\n",

+      "c=10;\n",

+      "sigma0=15.72*2+(Gammasat-Gammaw)*1; # in KN/m^2\n",

+      "sigmap=sigma0*Kp2+2*c*math.sqrt(Kp2); # in KN/m^2\n",

+      "print round(sigmap,2),\" is passive pressure for z=3m in kN/m**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "94.32 passive pressure for top layer in kN/m**2\n",

+        "112.53 passive pressure for z=2m in kN/m**2\n",

+        "135.7  is passive pressure for z=3m in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 3

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter08_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter08_1.ipynb
new file mode 100755
index 00000000..de2367cd
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter08_1.ipynb
@@ -0,0 +1,527 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:ae926d3fc40f9f56d82ee333a9b5a7f719ff4a11c08f89381773660beb02ead3"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter08: Retaining walls"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.1:Pg-366"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.1\n",

+      "\n",

+      "import math\n",

+      "import numpy\n",

+      "H1=6*math.tan(10*math.pi/180.0); # in ft\n",

+      "H2=18.0; # in ft\n",

+      "H3=2.75; # in ft\n",

+      "Gamma1=117.0;  # in lb/ft^3\n",

+      "Ka=0.294;#from table 7.1\n",

+      "H=H1+H2+H3; # in ft\n",

+      "Pa=1/2.0*Gamma1*H**2*Ka/1000; # in Kip/ft\n",

+      "Pr=Pa*math.sin(10*math.pi/180); # in Kip/ft\n",

+      "Ph=Pa*math.cos(10*math.pi/180); # in Kip/ft\n",

+      "Mo=Ph*H/3.0; # in Kip-ft/ft\n",

+      "Sum=0;#sigma Mr\n",

+      "S=[1, 2, 3, 4, 5];#section\n",

+      "W=[4.05, 1.35, 5.156, 13.01, 1.42];#weight\n",

+      "MA=[5.75, 4.67, 6.25, 9.5, 12.5, 12.5];#Moment Arm\n",

+      "M=numpy.zeros(5)\n",

+      "print \"Section        Weight(kip/ft)    Moment Arm(ft)       Moment (kip-ft/ft)\\n\"\n",

+      "for i in range(0,5):\n",

+      "    M[i]=W[i]*MA[i];\n",

+      "    Sum=Sum+M[i];\n",

+      "    print round(S[i],2),\"\\t \\t \",round(W[i],2),\"\\t \\t \\t\",round(MA[i],2),\"\\t \\t \\t \",round(M[i],2),\"\\n\"\n",

+      "\n",

+      "FSO=Sum/Mo;\n",

+      "if FSO>2 :\n",

+      "    print  \"safe in overturning with FS=\",round(FSO,2),\"\\n\"\n",

+      "\n",

+      "#for sliding\n",

+      "phi2=18*math.pi/180; # the given angle\n",

+      "V=24.986;\n",

+      "B=12.5;\n",

+      "c2=0.9; # in lb/ft^2\n",

+      "FSS=(V*math.tan(2/3.0*phi2)+B*2/3.0*c2)/Ph;\n",

+      "if FSS>2 :\n",

+      "    print \"safe in sliding with FS=\",round(FSS,2),\"\\n\"\n",

+      "\n",

+      "#for bearing\n",

+      "e=B/2.0-(Sum-Mo)/V;\n",

+      "qtoe=V/B*(1+6*e/B); # in Kip/ft^2\n",

+      "Nc=13.1;\n",

+      "Nq=5.26;\n",

+      "Ny=4.07;\n",

+      "D=0.107;\n",

+      "Gamma2=4.0; # in lb/ft^3\n",

+      "B1=B-2*e;#Bdash\n",

+      "q=Gamma2*D # in lb/ft^2\n",

+      "Fcd=1+0.4*D/B1;\n",

+      "Fqd=1+2*math.tan(phi2)*(1-math.sin(phi2))**2*(D/B1);\n",

+      "Fyd=1;\n",

+      "zi=math.tan(Ph/V);\n",

+      "Fci=(1-zi/math.pi*2)**2;\n",

+      "Fqi=Fci;\n",

+      "Fyi=round((1-zi/phi2)**2);\n",

+      "qu=c2*Nc*Fcd*Fci+q*Nq*Fqd*Fqi+1/2.0*Gamma2*B1*Fyd*Fyi;\n",

+      "FSB=qu/qtoe;\n",

+      "if FSB>3 :\n",

+      "    print \"bearing  is safe with FS=\",round(FSB),\"\\n\\n\"\n",

+      "    print \"slight changes due to round off error\"\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Section        Weight(kip/ft)    Moment Arm(ft)       Moment (kip-ft/ft)\n",

+        "\n",

+        "1.0 \t \t  4.05 \t \t \t5.75 \t \t \t  23.29 \n",

+        "\n",

+        "2.0 \t \t  1.35 \t \t \t4.67 \t \t \t  6.3 \n",

+        "\n",

+        "3.0 \t \t  5.16 \t \t \t6.25 \t \t \t  32.23 \n",

+        "\n",

+        "4.0 \t \t  13.01 \t \t \t9.5 \t \t \t  123.59 \n",

+        "\n",

+        "5.0 \t \t  1.42 \t \t \t12.5 \t \t \t  17.75 \n",

+        "\n",

+        "safe in overturning with FS= 3.47 \n",

+        "\n",

+        "bearing  is safe with FS= 4.0 \n",

+        "\n",

+        "\n",

+        "slight changes due to round off error\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.2:Pg-369"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.2\n",

+      "\n",

+      "c=0.9; # # in lb/ft^2\n",

+      "B=12.5; # in ft\n",

+      "Gamma2=4; # in lb/ft^3\n",

+      "Fcd=1.138;\n",

+      "Fqd=1.107; \n",

+      "Nc=7.5;\n",

+      "Nq=4;\n",

+      "Ny=0;\n",

+      "q=0.428; # in lb/ft^2\n",

+      "qtoe=2.44; # in lb/ft^2\n",

+      "qu=c*Nc*Fcd+q*Nq*Fqd+1/2.0*Gamma2*B*Ny;\n",

+      "FSB=qu/qtoe; # factor of safety\n",

+      "if FSB>3.0 :\n",

+      "    print \"safe in bearing with FS=\",round(FSB,2),\"\\n\\n\",\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "safe in bearing with FS= 3.92 \n",

+        "\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.3:Pg-370"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.3\n",

+      "import math\n",

+      "import numpy\n",

+      "Msum=0;#sum of moment\n",

+      "Vsum=0;#sum of force\n",

+      "H=15+2.5;#Hdash  in ft\n",

+      "phi=30*math.pi/180; # given angle in degree\n",

+      "Gamma=121.0; # in lb/ft^3\n",

+      "Ka=(math.tan(math.pi/4-phi/2))**2;\n",

+      "Pa=1/2.0*Gamma*H**2*Ka/1000; # in Kip/ft\n",

+      "Ph=Pa; # in Kip/ft\n",

+      "Mo=Ph*H/3.0; # in Kip-ft/ft\n",

+      "AN=[1.0,2.0,3.0,4.0,5.0,6.0];#area number\n",

+      "W=[0.9,3.375,5.906,3.863,4.764,2.723];#weight\n",

+      "MA=[1.783,2.8,5.3,5.15,7.05,9.55];#moment arm\n",

+      "\n",

+      "print \"AreaNo  \\t Weight(kip/ft) \\t  Moment Arm(ft) \\t Moment (kip-ft/ft)\\n\"\n",

+      "M= numpy.zeros(6)\n",

+      "for i in range(0,6):\n",

+      "    M[i]=W[i]*MA[i];\n",

+      "    Vsum=Vsum+W[i];\n",

+      "    Msum=Msum+M[i];\n",

+      "    print round(AN[i],2),\"\\t\\t \",round(W[i],2),\"\\t \\t  \\t \",MA[i],\"\\t \\t \\t  \",M[i],\"\\n\"\n",

+      "\n",

+      "FSO=(Msum)/Mo;\n",

+      "if FSO>2 :\n",

+      "    print \"safe in overturning with FS=\",round(FSO,2)\n",

+      "\n",

+      "#for sliding\n",

+      "phi2=20*math.pi/180;\n",

+      "V=Vsum\n",

+      "B=10.3; # in ft\n",

+      "c2=1.0; # in lb/ft^2\n",

+      "FSS=(V*math.tan(2/3.0*phi2)+B*2/3.0*c2)/Ph;\n",

+      "print \"safe in sliding with FS=\",round(FSS,2),\"\\n\"\n",

+      "e=B/2.0-(Msum-Mo)/V;\n",

+      "qtoe=V/B*(1+6*e/B); #  in kip/ft**2\n",

+      "print round(qtoe,2),\" is soil pressure at toe in kip/ft**2\"\n",

+      "qheel=V/B*(1-6*e/B);  # in kip/ft**2\n",

+      "print round(qheel,2),\" is soil pressure at heel in kip/ft**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "AreaNo  \t Weight(kip/ft) \t  Moment Arm(ft) \t Moment (kip-ft/ft)\n",

+        "\n",

+        "1.0 \t\t  0.9 \t \t  \t  1.783 \t \t \t   1.6047 \n",

+        "\n",

+        "2.0 \t\t  3.38 \t \t  \t  2.8 \t \t \t   9.45 \n",

+        "\n",

+        "3.0 \t\t  5.91 \t \t  \t  5.3 \t \t \t   31.3018 \n",

+        "\n",

+        "4.0 \t\t  3.86 \t \t  \t  5.15 \t \t \t   19.89445 \n",

+        "\n",

+        "5.0 \t\t  4.76 \t \t  \t  7.05 \t \t \t   33.5862 \n",

+        "\n",

+        "6.0 \t\t  2.72 \t \t  \t  9.55 \t \t \t   26.00465 \n",

+        "\n",

+        "safe in overturning with FS= 3.38\n",

+        "safe in sliding with FS= 1.94 \n",

+        "\n",

+        "3.51  is soil pressure at toe in kip/ft**2\n",

+        "0.67  is soil pressure at heel in kip/ft**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 33

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.4:Pg-372"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.4\n",

+      "\n",

+      "import math\n",

+      "import numpy\n",

+      "Msum=0;#sum of moment\n",

+      "Vsum=0;#sum of force\n",

+      "H=5+1.5;#Hdash in m\n",

+      "phi=32*math.pi/180 # angle in degree\n",

+      "Gamma=18.5; # in KN/m^3\n",

+      "Ka=0.424;\n",

+      "Pa=1/2.0*Gamma*H**2*Ka; # in KN/m\n",

+      "Ph=Pa*math.cos(15*math.pi/180+2/3.0*phi); # in KN/m\n",

+      "Mo=Ph*H/3.0; # moment\n",

+      "AN=[1,2,3,4,5];#area number\n",

+      "A=[4.36, 3.42, 0.77, 2.8, 2.8];#area\n",

+      "W=[102.81, 80.64, 18.16, 66.02, 93.14];#weight\n",

+      "MA=[2.18, 1.37, 0.98, 1.75, 2.83];#moment arm\n",

+      "print \"AreaNo  \\t  Area(m**2) \\t  Weight(kN/m)  \\t  Moment Arm(m) \\t  Moment (kN-m/m)\\n\"\n",

+      "M= numpy.zeros(5)\n",

+      "for i in range(0,5):\n",

+      "    M[i]=W[i]*MA[i];\n",

+      "    Vsum=Vsum+W[i];\n",

+      "    Msum=Msum+M[i];\n",

+      "    print round(AN[i],2),\"\\t\\t \",round(A[i],2),\" \\t \\t\",round(W[i],2),\"\\t \\t  \\t \",MA[i],\"\\t \\t \\t  \",M[i],\"\\n\"\n",

+      "\n",

+      "FSO=Msum/Mo;\n",

+      "if FSO>2 :\n",

+      "    print \"safe in overturning with FS=\",round(FSO,2),\"\\n\"\n",

+      "\n",

+      "#for sliding\n",

+      "phi2=24*math.pi/180;\n",

+      "V=Vsum\n",

+      "B=3.5; # in m\n",

+      "c2=30; # in KN/m^2\n",

+      "Pp=1/2.0*2.37*18*1.5**2+2*30*1.54*1.5;\n",

+      "FSS=(V*math.tan(2/3.0*phi2)+B*2/3.0*c2+Pp)/Ph;\n",

+      "print \"safe in sliding with FS=\",round(FSS,2),\"\\n\"\n",

+      "print \"if Pp is ignored then FS=1.37\"\n",

+      "e=B/2.0-(Msum-Mo)/V;\n",

+      "qtoe=V/B*(1+6*e/B); # in kN/m**2\n",

+      "print round(qtoe,2),\"soil pressure at toe in kN/m**2\"\n",

+      "qheel=V/B*(1-6*e/B); # in kN/m**2\n",

+      "print round(qheel,2),\"soil pressure at heel in kN/m**2\"\n",

+      "print \"there is difference in answer due to rounding off error\"\n",

+      "\n",

+      "# there is difference in answer due to rounding off error\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "AreaNo  \t  Area(m**2) \t  Weight(kN/m)  \t  Moment Arm(m) \t  Moment (kN-m/m)\n",

+        "\n",

+        "1.0 \t\t  4.36  \t \t102.81 \t \t  \t  2.18 \t \t \t   224.1258 \n",

+        "\n",

+        "2.0 \t\t  3.42  \t \t80.64 \t \t  \t  1.37 \t \t \t   110.4768 \n",

+        "\n",

+        "3.0 \t\t  0.77  \t \t18.16 \t \t  \t  0.98 \t \t \t   17.7968 \n",

+        "\n",

+        "4.0 \t\t  2.8  \t \t66.02 \t \t  \t  1.75 \t \t \t   115.535 \n",

+        "\n",

+        "5.0 \t\t  2.8  \t \t93.14 \t \t  \t  2.83 \t \t \t   263.5862 \n",

+        "\n",

+        "safe in overturning with FS= 2.53 \n",

+        "\n",

+        "safe in sliding with FS= 2.7 \n",

+        "\n",

+        "if Pp is ignored then FS=1.37\n",

+        "195.67 soil pressure at toe in kN/m**2\n",

+        "10.48 soil pressure at heel in kN/m**2\n",

+        "there is difference in answer due to rounding off error\n"

+       ]

+      }

+     ],

+     "prompt_number": 49

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.6:Pg-393"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.6\n",

+      "import math\n",

+      "Sv=2; # in ft\n",

+      "Sh=3; # in ft\n",

+      "w=3/12.0; # in inch\n",

+      "fy=35000*144;\n",

+      "FSb=3;\n",

+      "pi=math.pi;\n",

+      "phi=36*pi/180;\n",

+      "Gamma1=105; # in lb/ft^3\n",

+      "H=30;\n",

+      "t=Gamma1*H*Sv*Sh*FSb/w/fy*(math.tan(pi/4-phi/2))**2;\n",

+      "t=t*12; #in inch\n",

+      "print round(t,2),\" is thickness in inches\"\n",

+      "t=t+0.001*50;\n",

+      "print \"so take thickness=0.2 inches\"\n",

+      "#for tie length\n",

+      "z=[5,10,15,20,25,30];\n",

+      "TL=[38.45, 35.89, 33.34, 30.79, 28.25, 25.7];#tie length\n",

+      "print \"z(ft)\\t Tie Length (ft)\\n\"\n",

+      "for i in range(0,6):\n",

+      "    print z[i],\"\\t\",TL[i]\n",

+      "\n",

+      "print \"use tie length=40ft\"\n",

+      "#check for over turning\n",

+      "\n",

+      "z=30/3.0;\n",

+      "x1=20;\n",

+      "L=40;\n",

+      "Ka=0.26;\n",

+      "Pa=1/2.0*Gamma1*Ka*H**2; #  in kip/ft**2\n",

+      "W1=Gamma1*H*L;\n",

+      "FSO=W1*x1/(Pa*z);\n",

+      "print round(FSO,2),\" is factor of safety is\" \n",

+      "print \"since FS>3 structure is safe\"\n",

+      "#check for sliding\n",

+      "k=2/3.0;\n",

+      "Pa=12285; #  in kip/ft**2\n",

+      "FSS=W1*math.tan(k*phi)/Pa;\n",

+      "if FSS>3 :\n",

+      "    print \"safe in sliding with FS=\",round(FSS,2)\n",

+      "\n",

+      "#check for bearing\n",

+      "Mr=126000*20; # in lb-ft/ft\n",

+      "Mo=12285*10; # in lb-ft/ft\n",

+      "V=126000;\n",

+      "e=L/2-Mr/V+Mo/V;\n",

+      "L1=L-2*e;#Ldash\n",

+      "c2=1000; # in lb/ft^2\n",

+      "Nc=25.8;\n",

+      "Gamma2=110; # in lb/ft^3\n",

+      "Ny=16.72;\n",

+      "qult=c2*Nc+1/2.0*Gamma2*L1*Ny\n",

+      "sigma0=Gamma1*H; # in lb/ft^2\n",

+      "FSB=qult/sigma0;\n",

+      "if FSB>5 :\n",

+      "    print \"bearing is safe  with FS=\",round(FSB,2)\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.14  is thickness in inches\n",

+        "so take thickness=0.2 inches\n",

+        "z(ft)\t Tie Length (ft)\n",

+        "\n",

+        "5 \t38.45\n",

+        "10 \t35.89\n",

+        "15 \t33.34\n",

+        "20 \t30.79\n",

+        "25 \t28.25\n",

+        "30 \t25.7\n",

+        "use tie length=40ft\n",

+        "20.51  is factor of safety is\n",

+        "since FS>3 structure is safe\n",

+        "safe in sliding with FS= 4.57\n",

+        "safe in bearing with FS= 19.87\n"

+       ]

+      }

+     ],

+     "prompt_number": 56

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.7:Pg-397"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.7\n",

+      "import math\n",

+      "import numpy\n",

+      "pi=math.pi;\n",

+      "phi=36.0*pi/180;\n",

+      "Ka=(math.tan(pi/4-phi/2))**2;\n",

+      "z=[8.0, 12.0, 16.0]; # in ft\n",

+      "sigmaG=80*12.0; # in lb/ft^2\n",

+      "Gamma1=110.0; # in lb/ft^3\n",

+      "FS=1.5;\n",

+      "Sv=numpy.zeros(3)\n",

+      "for i in range(0,3):\n",

+      "    Sv[i]=sigmaG/Gamma1/z[i]/Ka/FS*12.0;\n",

+      "    print \"for z=\",z[i],\" ft Sv = \",round(Sv[i],2),\" inches\\n\"\n",

+      "\n",

+      "z=[16.0,56.0,76.0,96.0,112.0,144.0,176.0];\n",

+      "zf=numpy.zeros(7)\n",

+      "k2=numpy.zeros(7)\n",

+      "L=numpy.zeros(7)\n",

+      "for i in range(0,7):\n",

+      "    zf[i]=z[i]/12.0;#z in ft\n",

+      "Sv=[1.67,1.67,1.67,1.67,1.33,1.33,1.33];\n",

+      "k=[7.48,5.78,4.93,4.08,3.4,2.04,0.68];#0.51(H-z)\n",

+      "print \"z(in)        z(ft)        Sv(ft)            0.51(H-z)(ft)         0.438Sv(ft)         L(ft) \\n\"\n",

+      "for i in range(0,7):\n",

+      "    k2[i]=0.438*Sv[i];#0.438Sv\n",

+      "    L[i]=k[i]+k2[i];\n",

+      "    print round(z[i],2),\"\\t \\t\",round(zf[i],2),\"\\t \",round(Sv[i],2),\"\\t \\t \",round(k[i],2),\"\\t \\t \\t\",round(k2[i],2),\"\\t \\t \\t \",round(L[i],2)\n",

+      "\n",

+      "Sv=20/12.0;\n",

+      "Ka=0.26;\n",

+      "FS=1.5;\n",

+      "l1=Sv*Ka*FS/4/math.tan(2/3.0*phi);\n",

+      "if l1<3:\n",

+      "    l1=3;\n",

+      "    print l1,\"length in ft\"\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "for z= 8.0  ft Sv =  33.62  inches\n",

+        "\n",

+        "for z= 12.0  ft Sv =  22.41  inches\n",

+        "\n",

+        "for z= 16.0  ft Sv =  16.81  inches\n",

+        "\n",

+        "z(in)        z(ft)        Sv(ft)            0.51(H-z)(ft)         0.438Sv(ft)         L(ft) \n",

+        "\n",

+        "16.0 \t \t1.33 \t  1.67 \t \t  7.48 \t \t \t0.73 \t \t \t  8.21\n",

+        "56.0 \t \t4.67 \t  1.67 \t \t  5.78 \t \t \t0.73 \t \t \t  6.51\n",

+        "76.0 \t \t6.33 \t  1.67 \t \t  4.93 \t \t \t0.73 \t \t \t  5.66\n",

+        "96.0 \t \t8.0 \t  1.67 \t \t  4.08 \t \t \t0.73 \t \t \t  4.81\n",

+        "112.0 \t \t9.33 \t  1.33 \t \t  3.4 \t \t \t0.58 \t \t \t  3.98\n",

+        "144.0 \t \t12.0 \t  1.33 \t \t  2.04 \t \t \t0.58 \t \t \t  2.62\n",

+        "176.0 \t \t14.67 \t  1.33 \t \t  0.68 \t \t \t0.58 \t \t \t  1.26\n",

+        "3 length in ft\n"

+       ]

+      }

+     ],

+     "prompt_number": 79

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter08_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter08_2.ipynb
new file mode 100755
index 00000000..de2367cd
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter08_2.ipynb
@@ -0,0 +1,527 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:ae926d3fc40f9f56d82ee333a9b5a7f719ff4a11c08f89381773660beb02ead3"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter08: Retaining walls"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.1:Pg-366"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.1\n",

+      "\n",

+      "import math\n",

+      "import numpy\n",

+      "H1=6*math.tan(10*math.pi/180.0); # in ft\n",

+      "H2=18.0; # in ft\n",

+      "H3=2.75; # in ft\n",

+      "Gamma1=117.0;  # in lb/ft^3\n",

+      "Ka=0.294;#from table 7.1\n",

+      "H=H1+H2+H3; # in ft\n",

+      "Pa=1/2.0*Gamma1*H**2*Ka/1000; # in Kip/ft\n",

+      "Pr=Pa*math.sin(10*math.pi/180); # in Kip/ft\n",

+      "Ph=Pa*math.cos(10*math.pi/180); # in Kip/ft\n",

+      "Mo=Ph*H/3.0; # in Kip-ft/ft\n",

+      "Sum=0;#sigma Mr\n",

+      "S=[1, 2, 3, 4, 5];#section\n",

+      "W=[4.05, 1.35, 5.156, 13.01, 1.42];#weight\n",

+      "MA=[5.75, 4.67, 6.25, 9.5, 12.5, 12.5];#Moment Arm\n",

+      "M=numpy.zeros(5)\n",

+      "print \"Section        Weight(kip/ft)    Moment Arm(ft)       Moment (kip-ft/ft)\\n\"\n",

+      "for i in range(0,5):\n",

+      "    M[i]=W[i]*MA[i];\n",

+      "    Sum=Sum+M[i];\n",

+      "    print round(S[i],2),\"\\t \\t \",round(W[i],2),\"\\t \\t \\t\",round(MA[i],2),\"\\t \\t \\t \",round(M[i],2),\"\\n\"\n",

+      "\n",

+      "FSO=Sum/Mo;\n",

+      "if FSO>2 :\n",

+      "    print  \"safe in overturning with FS=\",round(FSO,2),\"\\n\"\n",

+      "\n",

+      "#for sliding\n",

+      "phi2=18*math.pi/180; # the given angle\n",

+      "V=24.986;\n",

+      "B=12.5;\n",

+      "c2=0.9; # in lb/ft^2\n",

+      "FSS=(V*math.tan(2/3.0*phi2)+B*2/3.0*c2)/Ph;\n",

+      "if FSS>2 :\n",

+      "    print \"safe in sliding with FS=\",round(FSS,2),\"\\n\"\n",

+      "\n",

+      "#for bearing\n",

+      "e=B/2.0-(Sum-Mo)/V;\n",

+      "qtoe=V/B*(1+6*e/B); # in Kip/ft^2\n",

+      "Nc=13.1;\n",

+      "Nq=5.26;\n",

+      "Ny=4.07;\n",

+      "D=0.107;\n",

+      "Gamma2=4.0; # in lb/ft^3\n",

+      "B1=B-2*e;#Bdash\n",

+      "q=Gamma2*D # in lb/ft^2\n",

+      "Fcd=1+0.4*D/B1;\n",

+      "Fqd=1+2*math.tan(phi2)*(1-math.sin(phi2))**2*(D/B1);\n",

+      "Fyd=1;\n",

+      "zi=math.tan(Ph/V);\n",

+      "Fci=(1-zi/math.pi*2)**2;\n",

+      "Fqi=Fci;\n",

+      "Fyi=round((1-zi/phi2)**2);\n",

+      "qu=c2*Nc*Fcd*Fci+q*Nq*Fqd*Fqi+1/2.0*Gamma2*B1*Fyd*Fyi;\n",

+      "FSB=qu/qtoe;\n",

+      "if FSB>3 :\n",

+      "    print \"bearing  is safe with FS=\",round(FSB),\"\\n\\n\"\n",

+      "    print \"slight changes due to round off error\"\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Section        Weight(kip/ft)    Moment Arm(ft)       Moment (kip-ft/ft)\n",

+        "\n",

+        "1.0 \t \t  4.05 \t \t \t5.75 \t \t \t  23.29 \n",

+        "\n",

+        "2.0 \t \t  1.35 \t \t \t4.67 \t \t \t  6.3 \n",

+        "\n",

+        "3.0 \t \t  5.16 \t \t \t6.25 \t \t \t  32.23 \n",

+        "\n",

+        "4.0 \t \t  13.01 \t \t \t9.5 \t \t \t  123.59 \n",

+        "\n",

+        "5.0 \t \t  1.42 \t \t \t12.5 \t \t \t  17.75 \n",

+        "\n",

+        "safe in overturning with FS= 3.47 \n",

+        "\n",

+        "bearing  is safe with FS= 4.0 \n",

+        "\n",

+        "\n",

+        "slight changes due to round off error\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.2:Pg-369"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.2\n",

+      "\n",

+      "c=0.9; # # in lb/ft^2\n",

+      "B=12.5; # in ft\n",

+      "Gamma2=4; # in lb/ft^3\n",

+      "Fcd=1.138;\n",

+      "Fqd=1.107; \n",

+      "Nc=7.5;\n",

+      "Nq=4;\n",

+      "Ny=0;\n",

+      "q=0.428; # in lb/ft^2\n",

+      "qtoe=2.44; # in lb/ft^2\n",

+      "qu=c*Nc*Fcd+q*Nq*Fqd+1/2.0*Gamma2*B*Ny;\n",

+      "FSB=qu/qtoe; # factor of safety\n",

+      "if FSB>3.0 :\n",

+      "    print \"safe in bearing with FS=\",round(FSB,2),\"\\n\\n\",\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "safe in bearing with FS= 3.92 \n",

+        "\n"

+       ]

+      }

+     ],

+     "prompt_number": 16

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.3:Pg-370"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.3\n",

+      "import math\n",

+      "import numpy\n",

+      "Msum=0;#sum of moment\n",

+      "Vsum=0;#sum of force\n",

+      "H=15+2.5;#Hdash  in ft\n",

+      "phi=30*math.pi/180; # given angle in degree\n",

+      "Gamma=121.0; # in lb/ft^3\n",

+      "Ka=(math.tan(math.pi/4-phi/2))**2;\n",

+      "Pa=1/2.0*Gamma*H**2*Ka/1000; # in Kip/ft\n",

+      "Ph=Pa; # in Kip/ft\n",

+      "Mo=Ph*H/3.0; # in Kip-ft/ft\n",

+      "AN=[1.0,2.0,3.0,4.0,5.0,6.0];#area number\n",

+      "W=[0.9,3.375,5.906,3.863,4.764,2.723];#weight\n",

+      "MA=[1.783,2.8,5.3,5.15,7.05,9.55];#moment arm\n",

+      "\n",

+      "print \"AreaNo  \\t Weight(kip/ft) \\t  Moment Arm(ft) \\t Moment (kip-ft/ft)\\n\"\n",

+      "M= numpy.zeros(6)\n",

+      "for i in range(0,6):\n",

+      "    M[i]=W[i]*MA[i];\n",

+      "    Vsum=Vsum+W[i];\n",

+      "    Msum=Msum+M[i];\n",

+      "    print round(AN[i],2),\"\\t\\t \",round(W[i],2),\"\\t \\t  \\t \",MA[i],\"\\t \\t \\t  \",M[i],\"\\n\"\n",

+      "\n",

+      "FSO=(Msum)/Mo;\n",

+      "if FSO>2 :\n",

+      "    print \"safe in overturning with FS=\",round(FSO,2)\n",

+      "\n",

+      "#for sliding\n",

+      "phi2=20*math.pi/180;\n",

+      "V=Vsum\n",

+      "B=10.3; # in ft\n",

+      "c2=1.0; # in lb/ft^2\n",

+      "FSS=(V*math.tan(2/3.0*phi2)+B*2/3.0*c2)/Ph;\n",

+      "print \"safe in sliding with FS=\",round(FSS,2),\"\\n\"\n",

+      "e=B/2.0-(Msum-Mo)/V;\n",

+      "qtoe=V/B*(1+6*e/B); #  in kip/ft**2\n",

+      "print round(qtoe,2),\" is soil pressure at toe in kip/ft**2\"\n",

+      "qheel=V/B*(1-6*e/B);  # in kip/ft**2\n",

+      "print round(qheel,2),\" is soil pressure at heel in kip/ft**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "AreaNo  \t Weight(kip/ft) \t  Moment Arm(ft) \t Moment (kip-ft/ft)\n",

+        "\n",

+        "1.0 \t\t  0.9 \t \t  \t  1.783 \t \t \t   1.6047 \n",

+        "\n",

+        "2.0 \t\t  3.38 \t \t  \t  2.8 \t \t \t   9.45 \n",

+        "\n",

+        "3.0 \t\t  5.91 \t \t  \t  5.3 \t \t \t   31.3018 \n",

+        "\n",

+        "4.0 \t\t  3.86 \t \t  \t  5.15 \t \t \t   19.89445 \n",

+        "\n",

+        "5.0 \t\t  4.76 \t \t  \t  7.05 \t \t \t   33.5862 \n",

+        "\n",

+        "6.0 \t\t  2.72 \t \t  \t  9.55 \t \t \t   26.00465 \n",

+        "\n",

+        "safe in overturning with FS= 3.38\n",

+        "safe in sliding with FS= 1.94 \n",

+        "\n",

+        "3.51  is soil pressure at toe in kip/ft**2\n",

+        "0.67  is soil pressure at heel in kip/ft**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 33

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.4:Pg-372"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.4\n",

+      "\n",

+      "import math\n",

+      "import numpy\n",

+      "Msum=0;#sum of moment\n",

+      "Vsum=0;#sum of force\n",

+      "H=5+1.5;#Hdash in m\n",

+      "phi=32*math.pi/180 # angle in degree\n",

+      "Gamma=18.5; # in KN/m^3\n",

+      "Ka=0.424;\n",

+      "Pa=1/2.0*Gamma*H**2*Ka; # in KN/m\n",

+      "Ph=Pa*math.cos(15*math.pi/180+2/3.0*phi); # in KN/m\n",

+      "Mo=Ph*H/3.0; # moment\n",

+      "AN=[1,2,3,4,5];#area number\n",

+      "A=[4.36, 3.42, 0.77, 2.8, 2.8];#area\n",

+      "W=[102.81, 80.64, 18.16, 66.02, 93.14];#weight\n",

+      "MA=[2.18, 1.37, 0.98, 1.75, 2.83];#moment arm\n",

+      "print \"AreaNo  \\t  Area(m**2) \\t  Weight(kN/m)  \\t  Moment Arm(m) \\t  Moment (kN-m/m)\\n\"\n",

+      "M= numpy.zeros(5)\n",

+      "for i in range(0,5):\n",

+      "    M[i]=W[i]*MA[i];\n",

+      "    Vsum=Vsum+W[i];\n",

+      "    Msum=Msum+M[i];\n",

+      "    print round(AN[i],2),\"\\t\\t \",round(A[i],2),\" \\t \\t\",round(W[i],2),\"\\t \\t  \\t \",MA[i],\"\\t \\t \\t  \",M[i],\"\\n\"\n",

+      "\n",

+      "FSO=Msum/Mo;\n",

+      "if FSO>2 :\n",

+      "    print \"safe in overturning with FS=\",round(FSO,2),\"\\n\"\n",

+      "\n",

+      "#for sliding\n",

+      "phi2=24*math.pi/180;\n",

+      "V=Vsum\n",

+      "B=3.5; # in m\n",

+      "c2=30; # in KN/m^2\n",

+      "Pp=1/2.0*2.37*18*1.5**2+2*30*1.54*1.5;\n",

+      "FSS=(V*math.tan(2/3.0*phi2)+B*2/3.0*c2+Pp)/Ph;\n",

+      "print \"safe in sliding with FS=\",round(FSS,2),\"\\n\"\n",

+      "print \"if Pp is ignored then FS=1.37\"\n",

+      "e=B/2.0-(Msum-Mo)/V;\n",

+      "qtoe=V/B*(1+6*e/B); # in kN/m**2\n",

+      "print round(qtoe,2),\"soil pressure at toe in kN/m**2\"\n",

+      "qheel=V/B*(1-6*e/B); # in kN/m**2\n",

+      "print round(qheel,2),\"soil pressure at heel in kN/m**2\"\n",

+      "print \"there is difference in answer due to rounding off error\"\n",

+      "\n",

+      "# there is difference in answer due to rounding off error\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "AreaNo  \t  Area(m**2) \t  Weight(kN/m)  \t  Moment Arm(m) \t  Moment (kN-m/m)\n",

+        "\n",

+        "1.0 \t\t  4.36  \t \t102.81 \t \t  \t  2.18 \t \t \t   224.1258 \n",

+        "\n",

+        "2.0 \t\t  3.42  \t \t80.64 \t \t  \t  1.37 \t \t \t   110.4768 \n",

+        "\n",

+        "3.0 \t\t  0.77  \t \t18.16 \t \t  \t  0.98 \t \t \t   17.7968 \n",

+        "\n",

+        "4.0 \t\t  2.8  \t \t66.02 \t \t  \t  1.75 \t \t \t   115.535 \n",

+        "\n",

+        "5.0 \t\t  2.8  \t \t93.14 \t \t  \t  2.83 \t \t \t   263.5862 \n",

+        "\n",

+        "safe in overturning with FS= 2.53 \n",

+        "\n",

+        "safe in sliding with FS= 2.7 \n",

+        "\n",

+        "if Pp is ignored then FS=1.37\n",

+        "195.67 soil pressure at toe in kN/m**2\n",

+        "10.48 soil pressure at heel in kN/m**2\n",

+        "there is difference in answer due to rounding off error\n"

+       ]

+      }

+     ],

+     "prompt_number": 49

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.6:Pg-393"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.6\n",

+      "import math\n",

+      "Sv=2; # in ft\n",

+      "Sh=3; # in ft\n",

+      "w=3/12.0; # in inch\n",

+      "fy=35000*144;\n",

+      "FSb=3;\n",

+      "pi=math.pi;\n",

+      "phi=36*pi/180;\n",

+      "Gamma1=105; # in lb/ft^3\n",

+      "H=30;\n",

+      "t=Gamma1*H*Sv*Sh*FSb/w/fy*(math.tan(pi/4-phi/2))**2;\n",

+      "t=t*12; #in inch\n",

+      "print round(t,2),\" is thickness in inches\"\n",

+      "t=t+0.001*50;\n",

+      "print \"so take thickness=0.2 inches\"\n",

+      "#for tie length\n",

+      "z=[5,10,15,20,25,30];\n",

+      "TL=[38.45, 35.89, 33.34, 30.79, 28.25, 25.7];#tie length\n",

+      "print \"z(ft)\\t Tie Length (ft)\\n\"\n",

+      "for i in range(0,6):\n",

+      "    print z[i],\"\\t\",TL[i]\n",

+      "\n",

+      "print \"use tie length=40ft\"\n",

+      "#check for over turning\n",

+      "\n",

+      "z=30/3.0;\n",

+      "x1=20;\n",

+      "L=40;\n",

+      "Ka=0.26;\n",

+      "Pa=1/2.0*Gamma1*Ka*H**2; #  in kip/ft**2\n",

+      "W1=Gamma1*H*L;\n",

+      "FSO=W1*x1/(Pa*z);\n",

+      "print round(FSO,2),\" is factor of safety is\" \n",

+      "print \"since FS>3 structure is safe\"\n",

+      "#check for sliding\n",

+      "k=2/3.0;\n",

+      "Pa=12285; #  in kip/ft**2\n",

+      "FSS=W1*math.tan(k*phi)/Pa;\n",

+      "if FSS>3 :\n",

+      "    print \"safe in sliding with FS=\",round(FSS,2)\n",

+      "\n",

+      "#check for bearing\n",

+      "Mr=126000*20; # in lb-ft/ft\n",

+      "Mo=12285*10; # in lb-ft/ft\n",

+      "V=126000;\n",

+      "e=L/2-Mr/V+Mo/V;\n",

+      "L1=L-2*e;#Ldash\n",

+      "c2=1000; # in lb/ft^2\n",

+      "Nc=25.8;\n",

+      "Gamma2=110; # in lb/ft^3\n",

+      "Ny=16.72;\n",

+      "qult=c2*Nc+1/2.0*Gamma2*L1*Ny\n",

+      "sigma0=Gamma1*H; # in lb/ft^2\n",

+      "FSB=qult/sigma0;\n",

+      "if FSB>5 :\n",

+      "    print \"bearing is safe  with FS=\",round(FSB,2)\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.14  is thickness in inches\n",

+        "so take thickness=0.2 inches\n",

+        "z(ft)\t Tie Length (ft)\n",

+        "\n",

+        "5 \t38.45\n",

+        "10 \t35.89\n",

+        "15 \t33.34\n",

+        "20 \t30.79\n",

+        "25 \t28.25\n",

+        "30 \t25.7\n",

+        "use tie length=40ft\n",

+        "20.51  is factor of safety is\n",

+        "since FS>3 structure is safe\n",

+        "safe in sliding with FS= 4.57\n",

+        "safe in bearing with FS= 19.87\n"

+       ]

+      }

+     ],

+     "prompt_number": 56

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex8.7:Pg-397"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 8.7\n",

+      "import math\n",

+      "import numpy\n",

+      "pi=math.pi;\n",

+      "phi=36.0*pi/180;\n",

+      "Ka=(math.tan(pi/4-phi/2))**2;\n",

+      "z=[8.0, 12.0, 16.0]; # in ft\n",

+      "sigmaG=80*12.0; # in lb/ft^2\n",

+      "Gamma1=110.0; # in lb/ft^3\n",

+      "FS=1.5;\n",

+      "Sv=numpy.zeros(3)\n",

+      "for i in range(0,3):\n",

+      "    Sv[i]=sigmaG/Gamma1/z[i]/Ka/FS*12.0;\n",

+      "    print \"for z=\",z[i],\" ft Sv = \",round(Sv[i],2),\" inches\\n\"\n",

+      "\n",

+      "z=[16.0,56.0,76.0,96.0,112.0,144.0,176.0];\n",

+      "zf=numpy.zeros(7)\n",

+      "k2=numpy.zeros(7)\n",

+      "L=numpy.zeros(7)\n",

+      "for i in range(0,7):\n",

+      "    zf[i]=z[i]/12.0;#z in ft\n",

+      "Sv=[1.67,1.67,1.67,1.67,1.33,1.33,1.33];\n",

+      "k=[7.48,5.78,4.93,4.08,3.4,2.04,0.68];#0.51(H-z)\n",

+      "print \"z(in)        z(ft)        Sv(ft)            0.51(H-z)(ft)         0.438Sv(ft)         L(ft) \\n\"\n",

+      "for i in range(0,7):\n",

+      "    k2[i]=0.438*Sv[i];#0.438Sv\n",

+      "    L[i]=k[i]+k2[i];\n",

+      "    print round(z[i],2),\"\\t \\t\",round(zf[i],2),\"\\t \",round(Sv[i],2),\"\\t \\t \",round(k[i],2),\"\\t \\t \\t\",round(k2[i],2),\"\\t \\t \\t \",round(L[i],2)\n",

+      "\n",

+      "Sv=20/12.0;\n",

+      "Ka=0.26;\n",

+      "FS=1.5;\n",

+      "l1=Sv*Ka*FS/4/math.tan(2/3.0*phi);\n",

+      "if l1<3:\n",

+      "    l1=3;\n",

+      "    print l1,\"length in ft\"\n",

+      "\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "for z= 8.0  ft Sv =  33.62  inches\n",

+        "\n",

+        "for z= 12.0  ft Sv =  22.41  inches\n",

+        "\n",

+        "for z= 16.0  ft Sv =  16.81  inches\n",

+        "\n",

+        "z(in)        z(ft)        Sv(ft)            0.51(H-z)(ft)         0.438Sv(ft)         L(ft) \n",

+        "\n",

+        "16.0 \t \t1.33 \t  1.67 \t \t  7.48 \t \t \t0.73 \t \t \t  8.21\n",

+        "56.0 \t \t4.67 \t  1.67 \t \t  5.78 \t \t \t0.73 \t \t \t  6.51\n",

+        "76.0 \t \t6.33 \t  1.67 \t \t  4.93 \t \t \t0.73 \t \t \t  5.66\n",

+        "96.0 \t \t8.0 \t  1.67 \t \t  4.08 \t \t \t0.73 \t \t \t  4.81\n",

+        "112.0 \t \t9.33 \t  1.33 \t \t  3.4 \t \t \t0.58 \t \t \t  3.98\n",

+        "144.0 \t \t12.0 \t  1.33 \t \t  2.04 \t \t \t0.58 \t \t \t  2.62\n",

+        "176.0 \t \t14.67 \t  1.33 \t \t  0.68 \t \t \t0.58 \t \t \t  1.26\n",

+        "3 length in ft\n"

+       ]

+      }

+     ],

+     "prompt_number": 79

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter09_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter09_1.ipynb
new file mode 100755
index 00000000..8264fd98
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter09_1.ipynb
@@ -0,0 +1,512 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d9cb29be0932a6e1135cb07bf43a7e4c55a006ff68a1efd4e530482a24833ad9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Chapter09:Sheet Pile Walls"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex9.1:Pg-419"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 9.1\n",
+      "\n",
+      "import math\n",
+      "from scipy.optimize import fsolve\n",
+      "sall=30;#sigma allowed\n",
+      "pi=math.pi;\n",
+      "zbar=12.1; # in ft\n",
+      "L1=10.0; # in ft\n",
+      "L2=20.0; #in ft\n",
+      "Gamma=0.12; # in lb/ft^3\n",
+      "Gamma1=0.1294-0.0624; # in lb/ft^3\n",
+      "phi=40*pi/180; # angle given\n",
+      "Ka=(math.tan(pi/4-phi/2))**2;\n",
+      "Kp=(math.tan(pi/4+phi/2))**2;\n",
+      "s1=Gamma*L1*Ka;#sigma1 in Kip/ft\n",
+      "s2=Gamma*L1*Ka+Gamma1*L2*Ka;#sigma2 in Kip/ft\n",
+      "L3=s2/(Gamma1*(Kp-Ka)); # in ft\n",
+      "print round(L3,2),\"is length in ft\"\n",
+      "P=1/2.0*s1*L1+s1*L2+1/2.0*(s2-s1)*L2+1/2.0*s2*L3;# in Kip/ft\n",
+      "print round(P,2),\" is force in kip/ft\"\n",
+      "s5=Gamma*L1*Kp+Gamma1*L2*Kp+Gamma*L3*(Kp-Ka);#sigma5 in Kip/ft\n",
+      "print round(s5,2),\" is pressure in kip/ft\"\n",
+      "A1=s5/(Gamma1*(Kp-Ka)); # in ft^2\n",
+      "A2=8.0*P/(Gamma1*(Kp-Ka)) # in ft^2\n",
+      "A3=6.0*P*(2.0*zbar*(Gamma1*(Kp-Ka))+s5)/(Gamma1*(Kp-Ka))**2.0 # in ft^2\n",
+      "A4=P*(6.0*zbar*s5+4.0*P)/(Gamma1*(Kp-Ka))**2.0 # in ft^2\n",
+      "print \"A1,A2,A3,A4 respectively is  \",round(A1,1),round(A2,2),round(A3,2),round(A4,2)\n",
+      "print \"slight error due to rounding off error\"\n",
+      "#part(b)\n",
+      "def f(x):\n",
+      "    return x**4+41.7*x**3-270.5*x**2-13363*x-106863\n",
+      "[x]=fsolve(f,20);\n",
+      "D=1.88+x;\n",
+      "print round(D,2),\" is value of D, in ft\"\n",
+      "TL=L1+L2+1.3*D;\n",
+      "print round(TL,2),\" is total length in ft\"\n",
+      "#partc\n",
+      "z=math.sqrt(2*P/(Gamma1*(Kp-Ka)));#zdash\n",
+      "Mmax=P*(z+zbar)-1/2.0*(Gamma1*(Kp-Ka))*z**2*z/3.0;\n",
+      "S=Mmax*12/sall;\n",
+      "print round(S,2),\"is section modulus in in^3/ft\"\n",
+      "\n",
+      "# The answers in the book are different due to approximation while here calculations are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1.88 is length in ft\n",
+        "9.96  is force in kip/ft\n",
+        "12.67  is pressure in kip/ft\n",
+        "A1,A2,A3,A4 respectively is   43.2 271.33 13708.16 110880.89\n",
+        "slight error due to rounding off error\n",
+        "21.68  is value of D, in ft\n",
+        "58.19  is total length in ft\n",
+        "70.06 is section modulus in in^3/ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex9.2:Pg-426"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 9.2\n",
+      "import math\n",
+      "from scipy.optimize import fsolve\n",
+      "sall=172.5*1000;#sigma allowed in KN/m^2\n",
+      "pi=math.pi;\n",
+      "c=47.0;  # in KN/m^2\n",
+      "zbar=1.78; # in m\n",
+      "L1=2.0; #in m\n",
+      "L2=3.0; # in m\n",
+      "Gamma=15.9;  # in KN/m^3\n",
+      "Gamma1=19.33-9.81;  # in KN/m^3\n",
+      "phi=32*pi/180;\n",
+      "Ka=(math.tan(pi/4-phi/2))**2;\n",
+      "Kp=(math.tan(pi/4+phi/2))**2;\n",
+      "s1=Gamma*L1*Ka;#sigma1 in KN/m^2\n",
+      "s2=Gamma*L1*Ka+Gamma1*L2*Ka;#sigma2 in KN/m^2\n",
+      "P=1/2.0*s1*L1+s1*L2+1/2.0*(s2-s1)*L2; # in  kN/ft\n",
+      "print round(P,2),\" is force in kN/m\"\n",
+      "def f(x):\n",
+      "    return 127.4*x**2-104.4*x-357.15\n",
+      "[x]=fsolve(f,2);\n",
+      "D=x;\n",
+      "print round(D,2),\" is value of D in m\"\n",
+      "print round(D*1.5,2),\"actual D in m\"\n",
+      "L4=D*(4*c-(Gamma*L1+Gamma1*L2)-P/D)/4/c;\n",
+      "print round(L4,2),\" is length in m\"\n",
+      "s6=4*c-(Gamma*L1+Gamma1*L2);#sigma6 in KN/m^2\n",
+      "s7=4*c+(Gamma*L1+Gamma1*L2);#sigma7 in KN/m^2\n",
+      "z=P/s6;#zdash\n",
+      "Mmax=P*(z+zbar)-1/2.0*s6*z**2; # in KN-m/m\n",
+      "S=Mmax*12.0/sall; #  in m^3/m\n",
+      "print round(S,4),\" is section modulus in m**3/m\"\n",
+      "print \"is slight error due to rounding off error\"\n",
+      "\n",
+      "# The answers in the book are different due to approximation while here calculations are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "52.25  is force in kN/m\n",
+        "2.13  is value of D in m\n",
+        "3.2 actual D in m\n",
+        "1.17  is length in m\n",
+        "0.0072  is section modulus in m**3/m\n",
+        "is slight error due to rounding off error\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex9.3:Pg-433"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 9.3\n",
+      "import math\n",
+      "from scipy.optimize import fsolve\n",
+      "\n",
+      "pi=math.pi;\n",
+      "zbar=2.23;  # in m\n",
+      "L1=2.0; # in m\n",
+      "L2=3.0; # in m\n",
+      "Gamma=15.9; # in KN/m^3\n",
+      "Gamma1=19.33-9.81; # in KN/m^3\n",
+      "phi=32*pi/180;\n",
+      "Ka=(math.tan(pi/4-phi/2))**2;\n",
+      "Kp=(math.tan(pi/4+phi/2))**2;\n",
+      "s1=Gamma*L1*Ka;#sigma1 in KN/m^2\n",
+      "s2=Gamma*L1*Ka+Gamma1*L2*Ka;#sigma2 in KN/m^2\n",
+      "L3=s2/(Gamma1*(Kp-Ka)); # in m\n",
+      "print round(L3,2),\"length in m\"\n",
+      "P=1/2.0*s1*L1+s1*L2+1/2.0*(s2-s1)*L2+1/2.0*s2*L3;\n",
+      "print round(P,2),\"force in kN/m\"\n",
+      "def f(x):\n",
+      "    return x**3+6.99*x**2-14.55\n",
+      "[x]=fsolve(f,1.4);\n",
+      "D=L3+x;\n",
+      "print round(D,2),\"value of D in m\"\n",
+      "AL=1.4*D;\n",
+      "print round(AL,2),\"actual length in m\"\n",
+      "#partb\n",
+      "L4=1.4;\n",
+      "F=P-1/2.0*(Gamma1*(Kp-Ka)*L4**2);\n",
+      "print round(F,2),\"anchor force in kN/m\"\n",
+      "#partc\n",
+      "def f(x):\n",
+      "    return x**2+6.682*x-14.44\n",
+      "[x]=fsolve(f,1.7);\n",
+      "z=x+2;\n",
+      "Mmax=-1/2.0*s1*L1*(x+2/3.0)+F*(x+1)-s1*x*x/2-1/2.0*Ka*Gamma1*x**3/3.0;\n",
+      "print round(Mmax,2),\" is maximum moment in kN-m/m\" \n",
+      "\n",
+      "# The answers in the book are different due to approximation while here calculations are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0.66 length in m\n",
+        "58.38 force in kN/m\n",
+        "1.98 value of D in m\n",
+        "2.78 actual length in m\n",
+        "30.88 anchor force in kN/m\n",
+        "43.74  is maximum moment in kN-m/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex9.4:Pg-439"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 9.4\n",
+      "\n",
+      "Gamma=15.9; # in KN/m^3\n",
+      "Gamma1=19.33-9.81; # in KN/m^3\n",
+      "GD=0.23;  # from fig. 9.16\n",
+      "CDL1=1.172; # from fig. 9.19\n",
+      "L1=2; # in m\n",
+      "L2=3; # in m\n",
+      "Dth=(L1+L2)*GD*CDL1;\n",
+      "print round(Dth,2),\"theoritical depth in m\"\n",
+      "Dac=1.4*Dth;\n",
+      "print round(Dac,2),\"actual depth in m\"\n",
+      "print \"approximate it as 2 m\"\n",
+      "#part(b)\n",
+      "CFL1=1.073;\n",
+      "GF=0.07;\n",
+      "Gammaa=(Gamma*L1**2+Gamma1*L2**2+2*Gamma*L1*L2)/(L1+L2)**2; # in KN/m^3\n",
+      "F=Gammaa*(L1+L2)**2*GF*CFL1; # in KN/m\n",
+      "print round(F,2),\"force in kN/m\"\n",
+      "#part(c)\n",
+      "GM=0.021; # from fig. 9.18\n",
+      "CML1=1.036; # from fig. 9.21\n",
+      "Mmax=Gammaa*(L1+L2)**3*GM*CML1; # in kN-m/m\n",
+      "print round(Mmax,2),\"maximum moment in kN-m/m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1.35 theoritical depth in m\n",
+        "1.89 actual depth in m\n",
+        "approximate it as 2 m\n",
+        "25.54 force in kN/m\n",
+        "36.99 maximum moment in kN-m/m\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex9.5:Pg-442"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 9.5\n",
+      "import math\n",
+      "import matplotlib.pyplot as plt\n",
+      "import numpy\n",
+      "Mmax=43.72; # in kN-m/m\n",
+      "sp=[\"PSA-31\",\"PSA-23\"];#sheet pile\n",
+      "H=[7.9,7.9] # in m\n",
+      "I=[4.41e-6,5.63e-6]; # in m^4/m\n",
+      "p=[0.00466,0.00365];\n",
+      "S=[10.8e-5,12.8e-5]; # in m^3/m\n",
+      "Md=[18.63,22.08]; # kn-m/m\n",
+      "Logp=numpy.zeros(2)\n",
+      "k=numpy.zeros(2)\n",
+      "print \"SheetPile    I(m**4/m)    H(m)    p\\t     Logp    S(m**3/m)    Md(kN-m/m)   Md/Mmax \\n\"\n",
+      "for i in range(0,2):\n",
+      "    Logp[i]=math.log10(p[i]);\n",
+      "    k[i]=Md[i]/Mmax;\n",
+      "    print sp[i],\"\\t   \",I[i],\"    \",H[i],\" \",p[i],\"   \",round(Logp[i],2),\"   \",S[i],\"   \",Md[i],\"\\t \",round(k[i],3)\n",
+      "    \n",
+      "\n",
+      "plt.plot(Logp,k);\n",
+      "plt.title(\"Ex9.5\")\n",
+      "plt.xlabel(\"LogP\")\n",
+      "plt.ylabel(\"Md/Mmax\")\n",
+      "plt.show()\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "SheetPile    I(m**4/m)    H(m)    p\t     Logp    S(m**3/m)    Md(kN-m/m)   Md/Mmax \n",
+        "\n",
+        "PSA-31 \t    4.41e-06      7.9   0.00466     -2.33     0.000108     18.63 \t  0.426\n",
+        "PSA-23 \t    5.63e-06      7.9   0.00365     -2.44     0.000128     22.08 \t  0.505\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex9.6:Pg-445"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 9.6\n",
+      "\n",
+      "import math\n",
+      "from scipy.optimize import fsolve\n",
+      "\n",
+      "pi=math.pi;\n",
+      "R=0.6;\n",
+      "L1=10.0; # in ft\n",
+      "L2=20.0; #in ft\n",
+      "Gammasat=122.4; # in lb/ft^3\n",
+      "l1=5; # in ft\n",
+      "Gamma=110.0; # in lb/ft^3\n",
+      "C=0.68;\n",
+      "L=L1+L2; # in ft\n",
+      "Gammaw=62.4; # in lb/ft^3\n",
+      "Gamma1=Gammasat-Gammaw;#gammadash in  lb/ft^3\n",
+      "Gammaav=(Gamma*L1+Gamma1*L2)/(L1+L2); # in lb/ft^3\n",
+      "phi=35.0*pi/180;\n",
+      "Ka=(math.tan(pi/4-phi/2))**2;\n",
+      "sa=C*Ka*Gammaav*L;#sigmaa in lb/ft^2\n",
+      "sp=R*sa;#sigmap # in lb/ft^2\n",
+      "def f(x):\n",
+      "    return x**2+50*x-1000\n",
+      "[x]=fsolve(f,15);\n",
+      "D=x;#in ft\n",
+      "print round(D,2),\" is depth in ft\"\n",
+      "R=L/D*(L-2*l1)/(2*L+D-2*l1);\n",
+      "print \"value of R=\",round(R,2),\" is OK\\n\"\n",
+      "#partb\n",
+      "F=sa*(L-R*D); # in lb/ft\n",
+      "print round(F,2),\" is Force in lb/ft\"\n",
+      "#partc\n",
+      "Mmax=0.5*sa*L**2*((1-R*D/L)**2-(2*l1/L)*(1-R*D/L)); # in lb-ft/ft\n",
+      "print round(Mmax,2),\"maximum moment lb-ft/ft\"\n",
+      "\n",
+      "# The answers in the book are different due to approximation while here calculations are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "15.31  is depth in ft\n",
+        "value of R= 0.6  is OK\n",
+        "\n",
+        "8821.24  is Force in lb/ft\n",
+        "47693.02 maximum moment lb-ft/ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex9.7:Pg-451"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 9.7\n",
+      "import math\n",
+      "from scipy.optimize import fsolve\n",
+      "\n",
+      "pi=math.pi;\n",
+      "zbar=3.2; # in m\n",
+      "c=41; # in KN/m^2\n",
+      "L1=3; # in m\n",
+      "L2=6; # in m\n",
+      "Gamma=17;# in KN/m^3\n",
+      "Gamma1=20-9.81; # in KN/m^3\n",
+      "phi=35*pi/180;\n",
+      "Ka=(math.tan(pi/4-phi/2))**2;\n",
+      "Kp=(math.tan(pi/4+phi/2))**2;\n",
+      "s1=Gamma*L1*Ka;#sigma1 in kN/m**2\n",
+      "s2=Gamma*L1*Ka+Gamma1*L2*Ka;#sigma2 in kN/m**2\n",
+      "P=1/2.0*s1*L1+s1*L2+1/2.0*(s2-s1)*L2;\n",
+      "print round(P,2),\"Force in kN/m\"\n",
+      "s6=4*c-(Gamma*L1+Gamma1*L2);#sigma6 in kN/m**2\n",
+      "print round(s6,2),\"pressure in kN/m**2\"\n",
+      "def f(x):\n",
+      "    return x**2+15*x-25.43\n",
+      "[x]=fsolve(f,1.6);\n",
+      "D=x; # in m\n",
+      "print round(D,1),\"depth in m\"\n",
+      "F=P-s6*D; # in kN/m\n",
+      "print round(F,2),\"force in kN/m\"\n",
+      "print \"slight error due to rounding off\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "153.36 Force in kN/m\n",
+        "51.86 pressure in kN/m**2\n",
+        "1.5 depth in m\n",
+        "73.61 force in kN/m\n",
+        "slight error due to rounding off\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 9.8\n",
+      "import math\n",
+      "pi=math.pi;\n",
+      "Gamma=105.0; # in lb/ft^3\n",
+      "Cov=14.0;\n",
+      "B=15/12.0; # in inch\n",
+      "Ka=0.26;\n",
+      "phi=35.0*pi/180; # given angle in degree\n",
+      "H=37.5/12; # in inch\n",
+      "h=15/12.0; # in inch\n",
+      "t=6/12.0; # in inch\n",
+      "Gc=150.0;#gamma concrete in lb/ft^3\n",
+      "W=H*t*Gc; # in lb/ft\n",
+      "k=4.5;#kp*cos(delta)\n",
+      "Pu=1/2.0*Gamma*H**2*(k-Ka*math.cos(phi)); # in lb/ft\n",
+      "print round(Pu,2),\"force in lb/ft\"\n",
+      "Pus=((Cov+1)/(Cov+H/h))*Pu; # in lb/ft\n",
+      "print round(Pus,2),\"force in lb/ft\"\n",
+      "Be=0.227*(H+h)+B;\n",
+      "Pu=Pus*Be; # in lb/ft\n",
+      "print round(Pu,2),\" is resistance of anchor plate in lb/ft\"\n",
+      "\n",
+      "# The answers in the book are different due to approximation while here calculations are precise"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2197.94 force in lb/ft\n",
+        "1998.12 force in lb/ft\n",
+        "4482.04  is resistance of anchor plate in lb/ft\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter09_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter09_2.ipynb
new file mode 100755
index 00000000..7d8bec64
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter09_2.ipynb
@@ -0,0 +1,520 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:a20958eb0a1cf98629a18a836583d76a2fff705e2f3370294ba37a907bebd17b"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter09:Sheet Pile Walls"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.1:Pg-419"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 9.1\n",

+      "\n",

+      "import math\n",

+      "from scipy.optimize import fsolve\n",

+      "sall=30;#sigma allowed\n",

+      "pi=math.pi;\n",

+      "zbar=12.1; # in ft\n",

+      "L1=10.0; # in ft\n",

+      "L2=20.0; #in ft\n",

+      "Gamma=0.12; # in lb/ft^3\n",

+      "Gamma1=0.1294-0.0624; # in lb/ft^3\n",

+      "phi=40*pi/180; # angle given\n",

+      "Ka=(math.tan(pi/4-phi/2))**2;\n",

+      "Kp=(math.tan(pi/4+phi/2))**2;\n",

+      "s1=Gamma*L1*Ka;#sigma1 in Kip/ft\n",

+      "s2=Gamma*L1*Ka+Gamma1*L2*Ka;#sigma2 in Kip/ft\n",

+      "L3=s2/(Gamma1*(Kp-Ka)); # in ft\n",

+      "print round(L3,2),\"is length in ft\"\n",

+      "P=1/2.0*s1*L1+s1*L2+1/2.0*(s2-s1)*L2+1/2.0*s2*L3;# in Kip/ft\n",

+      "print round(P,2),\" is force in kip/ft\"\n",

+      "s5=Gamma*L1*Kp+Gamma1*L2*Kp+Gamma*L3*(Kp-Ka);#sigma5 in Kip/ft\n",

+      "print round(s5,2),\" is pressure in kip/ft\"\n",

+      "A1=s5/(Gamma1*(Kp-Ka)); # in ft^2\n",

+      "A2=8.0*P/(Gamma1*(Kp-Ka)) # in ft^2\n",

+      "A3=6.0*P*(2.0*zbar*(Gamma1*(Kp-Ka))+s5)/(Gamma1*(Kp-Ka))**2.0 # in ft^2\n",

+      "A4=P*(6.0*zbar*s5+4.0*P)/(Gamma1*(Kp-Ka))**2.0 # in ft^2\n",

+      "print \"A1,A2,A3,A4 respectively is  \",round(A1,1),round(A2,2),round(A3,2),round(A4,2)\n",

+      "print \"slight error due to rounding off error\"\n",

+      "#part(b)\n",

+      "def f(x):\n",

+      "    return x**4+41.7*x**3-270.5*x**2-13363*x-106863\n",

+      "[x]=fsolve(f,20);\n",

+      "D=1.88+x;\n",

+      "print round(D,2),\" is value of D, in ft\"\n",

+      "TL=L1+L2+1.3*D;\n",

+      "print round(TL,2),\" is total length in ft\"\n",

+      "#partc\n",

+      "z=math.sqrt(2*P/(Gamma1*(Kp-Ka)));#zdash\n",

+      "Mmax=P*(z+zbar)-1/2.0*(Gamma1*(Kp-Ka))*z**2*z/3.0;\n",

+      "S=Mmax*12/sall;\n",

+      "print round(S,2),\"is section modulus in in^3/ft\"\n",

+      "\n",

+      "# The answers in the book are different due to approximation while here calculations are precise"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.88 is length in ft\n",

+        "9.96  is force in kip/ft\n",

+        "12.67  is pressure in kip/ft\n",

+        "A1,A2,A3,A4 respectively is   43.2 271.33 13708.16 110880.89\n",

+        "slight error due to rounding off error\n",

+        "21.68  is value of D, in ft\n",

+        "58.19  is total length in ft\n",

+        "70.06 is section modulus in in^3/ft\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.2:Pg-426"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 9.2\n",

+      "import math\n",

+      "from scipy.optimize import fsolve\n",

+      "sall=172.5*1000;#sigma allowed in KN/m^2\n",

+      "pi=math.pi;\n",

+      "c=47.0;  # in KN/m^2\n",

+      "zbar=1.78; # in m\n",

+      "L1=2.0; #in m\n",

+      "L2=3.0; # in m\n",

+      "Gamma=15.9;  # in KN/m^3\n",

+      "Gamma1=19.33-9.81;  # in KN/m^3\n",

+      "phi=32*pi/180;\n",

+      "Ka=(math.tan(pi/4-phi/2))**2;\n",

+      "Kp=(math.tan(pi/4+phi/2))**2;\n",

+      "s1=Gamma*L1*Ka;#sigma1 in KN/m^2\n",

+      "s2=Gamma*L1*Ka+Gamma1*L2*Ka;#sigma2 in KN/m^2\n",

+      "P=1/2.0*s1*L1+s1*L2+1/2.0*(s2-s1)*L2; # in  kN/ft\n",

+      "print round(P,2),\" is force in kN/m\"\n",

+      "def f(x):\n",

+      "    return 127.4*x**2-104.4*x-357.15\n",

+      "[x]=fsolve(f,2);\n",

+      "D=x;\n",

+      "print round(D,2),\" is value of D in m\"\n",

+      "print round(D*1.5,2),\"actual D in m\"\n",

+      "L4=D*(4*c-(Gamma*L1+Gamma1*L2)-P/D)/4/c;\n",

+      "print round(L4,2),\" is length in m\"\n",

+      "s6=4*c-(Gamma*L1+Gamma1*L2);#sigma6 in KN/m^2\n",

+      "s7=4*c+(Gamma*L1+Gamma1*L2);#sigma7 in KN/m^2\n",

+      "z=P/s6;#zdash\n",

+      "Mmax=P*(z+zbar)-1/2.0*s6*z**2; # in KN-m/m\n",

+      "S=Mmax*12.0/sall; #  in m^3/m\n",

+      "print round(S,4),\" is section modulus in m**3/m\"\n",

+      "print \"is slight error due to rounding off error\"\n",

+      "\n",

+      "# The answers in the book are different due to approximation while here calculations are precise"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "52.25  is force in kN/m\n",

+        "2.13  is value of D in m\n",

+        "3.2 actual D in m\n",

+        "1.17  is length in m\n",

+        "0.0072  is section modulus in m**3/m\n",

+        "is slight error due to rounding off error\n"

+       ]

+      }

+     ],

+     "prompt_number": 17

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.3:Pg-433"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 9.3\n",

+      "import math\n",

+      "from scipy.optimize import fsolve\n",

+      "\n",

+      "pi=math.pi;\n",

+      "zbar=2.23;  # in m\n",

+      "L1=2.0; # in m\n",

+      "L2=3.0; # in m\n",

+      "Gamma=15.9; # in KN/m^3\n",

+      "Gamma1=19.33-9.81; # in KN/m^3\n",

+      "phi=32*pi/180;\n",

+      "Ka=(math.tan(pi/4-phi/2))**2;\n",

+      "Kp=(math.tan(pi/4+phi/2))**2;\n",

+      "s1=Gamma*L1*Ka;#sigma1 in KN/m^2\n",

+      "s2=Gamma*L1*Ka+Gamma1*L2*Ka;#sigma2 in KN/m^2\n",

+      "L3=s2/(Gamma1*(Kp-Ka)); # in m\n",

+      "print round(L3,2),\"length in m\"\n",

+      "P=1/2.0*s1*L1+s1*L2+1/2.0*(s2-s1)*L2+1/2.0*s2*L3;\n",

+      "print round(P,2),\"force in kN/m\"\n",

+      "def f(x):\n",

+      "    return x**3+6.99*x**2-14.55\n",

+      "[x]=fsolve(f,1.4);\n",

+      "D=L3+x;\n",

+      "print round(D,2),\"value of D in m\"\n",

+      "AL=1.4*D;\n",

+      "print round(AL,2),\"actual length in m\"\n",

+      "#partb\n",

+      "L4=1.4;\n",

+      "F=P-1/2.0*(Gamma1*(Kp-Ka)*L4**2);\n",

+      "print round(F,2),\"anchor force in kN/m\"\n",

+      "#partc\n",

+      "def f(x):\n",

+      "    return x**2+6.682*x-14.44\n",

+      "[x]=fsolve(f,1.7);\n",

+      "z=x+2;\n",

+      "Mmax=-1/2.0*s1*L1*(x+2/3.0)+F*(x+1)-s1*x*x/2-1/2.0*Ka*Gamma1*x**3/3.0;\n",

+      "print round(Mmax,2),\" is maximum moment in kN-m/m\" \n",

+      "\n",

+      "# The answers in the book are different due to approximation while here calculations are precise"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "0.66 length in m\n",

+        "58.38 force in kN/m\n",

+        "1.98 value of D in m\n",

+        "2.78 actual length in m\n",

+        "30.88 anchor force in kN/m\n",

+        "43.74  is maximum moment in kN-m/m\n"

+       ]

+      }

+     ],

+     "prompt_number": 18

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.4:Pg-439"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 9.4\n",

+      "\n",

+      "Gamma=15.9; # in KN/m^3\n",

+      "Gamma1=19.33-9.81; # in KN/m^3\n",

+      "GD=0.23;  # from fig. 9.16\n",

+      "CDL1=1.172; # from fig. 9.19\n",

+      "L1=2; # in m\n",

+      "L2=3; # in m\n",

+      "Dth=(L1+L2)*GD*CDL1;\n",

+      "print round(Dth,2),\"theoritical depth in m\"\n",

+      "Dac=1.4*Dth;\n",

+      "print round(Dac,2),\"actual depth in m\"\n",

+      "print \"approximate it as 2 m\"\n",

+      "#part(b)\n",

+      "CFL1=1.073;\n",

+      "GF=0.07;\n",

+      "Gammaa=(Gamma*L1**2+Gamma1*L2**2+2*Gamma*L1*L2)/(L1+L2)**2; # in KN/m^3\n",

+      "F=Gammaa*(L1+L2)**2*GF*CFL1; # in KN/m\n",

+      "print round(F,2),\"force in kN/m\"\n",

+      "#part(c)\n",

+      "GM=0.021; # from fig. 9.18\n",

+      "CML1=1.036; # from fig. 9.21\n",

+      "Mmax=Gammaa*(L1+L2)**3*GM*CML1; # in kN-m/m\n",

+      "print round(Mmax,2),\"maximum moment in kN-m/m\""

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.35 theoritical depth in m\n",

+        "1.89 actual depth in m\n",

+        "approximate it as 2 m\n",

+        "25.54 force in kN/m\n",

+        "36.99 maximum moment in kN-m/m\n"

+       ]

+      }

+     ],

+     "prompt_number": 20

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.5:Pg-442"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 9.5\n",

+      "import math\n",

+      "import matplotlib.pyplot as plt\n",

+      "import numpy\n",

+      "Mmax=43.72; # in kN-m/m\n",

+      "sp=[\"PSA-31\",\"PSA-23\"];#sheet pile\n",

+      "H=[7.9,7.9] # in m\n",

+      "I=[4.41e-6,5.63e-6]; # in m^4/m\n",

+      "p=[0.00466,0.00365];\n",

+      "S=[10.8e-5,12.8e-5]; # in m^3/m\n",

+      "Md=[18.63,22.08]; # kn-m/m\n",

+      "Logp=numpy.zeros(2)\n",

+      "k=numpy.zeros(2)\n",

+      "print \"SheetPile    I(m**4/m)    H(m)    p\\t     Logp    S(m**3/m)    Md(kN-m/m)   Md/Mmax \\n\"\n",

+      "for i in range(0,2):\n",

+      "    Logp[i]=math.log10(p[i]);\n",

+      "    k[i]=Md[i]/Mmax;\n",

+      "    print sp[i],\"\\t   \",I[i],\"    \",H[i],\" \",p[i],\"   \",round(Logp[i],2),\"   \",S[i],\"   \",Md[i],\"\\t \",round(k[i],3)\n",

+      "    \n",

+      "\n",

+      "plt.plot(Logp,k);\n",

+      "plt.title(\"Ex9.5\")\n",

+      "plt.xlabel(\"LogP\")\n",

+      "plt.ylabel(\"Md/Mmax\")\n",

+      "plt.show()\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "SheetPile    I(m**4/m)    H(m)    p\t     Logp    S(m**3/m)    Md(kN-m/m)   Md/Mmax \n",

+        "\n",

+        "PSA-31 \t    4.41e-06      7.9   0.00466     -2.33     0.000108     18.63 \t  0.426\n",

+        "PSA-23 \t    5.63e-06      7.9   0.00365     -2.44     0.000128     22.08 \t  0.505\n"

+       ]

+      }

+     ],

+     "prompt_number": 28

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.6:Pg-445"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 9.6\n",

+      "\n",

+      "import math\n",

+      "from scipy.optimize import fsolve\n",

+      "\n",

+      "pi=math.pi;\n",

+      "R=0.6;\n",

+      "L1=10.0; # in ft\n",

+      "L2=20.0; #in ft\n",

+      "Gammasat=122.4; # in lb/ft^3\n",

+      "l1=5; # in ft\n",

+      "Gamma=110.0; # in lb/ft^3\n",

+      "C=0.68;\n",

+      "L=L1+L2; # in ft\n",

+      "Gammaw=62.4; # in lb/ft^3\n",

+      "Gamma1=Gammasat-Gammaw;#gammadash in  lb/ft^3\n",

+      "Gammaav=(Gamma*L1+Gamma1*L2)/(L1+L2); # in lb/ft^3\n",

+      "phi=35.0*pi/180;\n",

+      "Ka=(math.tan(pi/4-phi/2))**2;\n",

+      "sa=C*Ka*Gammaav*L;#sigmaa in lb/ft^2\n",

+      "sp=R*sa;#sigmap # in lb/ft^2\n",

+      "def f(x):\n",

+      "    return x**2+50*x-1000\n",

+      "[x]=fsolve(f,15);\n",

+      "D=x;#in ft\n",

+      "print round(D,2),\" is depth in ft\"\n",

+      "R=L/D*(L-2*l1)/(2*L+D-2*l1);\n",

+      "print \"value of R=\",round(R,2),\" is OK\\n\"\n",

+      "#partb\n",

+      "F=sa*(L-R*D); # in lb/ft\n",

+      "print round(F,2),\" is Force in lb/ft\"\n",

+      "#partc\n",

+      "Mmax=0.5*sa*L**2*((1-R*D/L)**2-(2*l1/L)*(1-R*D/L)); # in lb-ft/ft\n",

+      "print round(Mmax,2),\"maximum moment lb-ft/ft\"\n",

+      "\n",

+      "# The answers in the book are different due to approximation while here calculations are precise"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "15.31  is depth in ft\n",

+        "value of R= 0.6  is OK\n",

+        "\n",

+        "8821.24  is Force in lb/ft\n",

+        "47693.02 maximum moment lb-ft/ft\n"

+       ]

+      }

+     ],

+     "prompt_number": 31

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.7:Pg-451"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 9.7\n",

+      "import math\n",

+      "from scipy.optimize import fsolve\n",

+      "\n",

+      "pi=math.pi;\n",

+      "zbar=3.2; # in m\n",

+      "c=41; # in KN/m^2\n",

+      "L1=3; # in m\n",

+      "L2=6; # in m\n",

+      "Gamma=17;# in KN/m^3\n",

+      "Gamma1=20-9.81; # in KN/m^3\n",

+      "phi=35*pi/180;\n",

+      "Ka=(math.tan(pi/4-phi/2))**2;\n",

+      "Kp=(math.tan(pi/4+phi/2))**2;\n",

+      "s1=Gamma*L1*Ka;#sigma1 in kN/m**2\n",

+      "s2=Gamma*L1*Ka+Gamma1*L2*Ka;#sigma2 in kN/m**2\n",

+      "P=1/2.0*s1*L1+s1*L2+1/2.0*(s2-s1)*L2;\n",

+      "print round(P,2),\"Force in kN/m\"\n",

+      "s6=4*c-(Gamma*L1+Gamma1*L2);#sigma6 in kN/m**2\n",

+      "print round(s6,2),\"pressure in kN/m**2\"\n",

+      "def f(x):\n",

+      "    return x**2+15*x-25.43\n",

+      "[x]=fsolve(f,1.6);\n",

+      "D=x; # in m\n",

+      "print round(D,1),\"depth in m\"\n",

+      "F=P-s6*D; # in kN/m\n",

+      "print round(F,2),\"force in kN/m\"\n",

+      "print \"slight error due to rounding off\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "153.36 Force in kN/m\n",

+        "51.86 pressure in kN/m**2\n",

+        "1.5 depth in m\n",

+        "73.61 force in kN/m\n",

+        "slight error due to rounding off\n"

+       ]

+      }

+     ],

+     "prompt_number": 35

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex9.8:pg-458"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 9.8\n",

+      "import math\n",

+      "pi=math.pi;\n",

+      "Gamma=105.0; # in lb/ft^3\n",

+      "Cov=14.0;\n",

+      "B=15/12.0; # in inch\n",

+      "Ka=0.26;\n",

+      "phi=35.0*pi/180; # given angle in degree\n",

+      "H=37.5/12; # in inch\n",

+      "h=15/12.0; # in inch\n",

+      "t=6/12.0; # in inch\n",

+      "Gc=150.0;#gamma concrete in lb/ft^3\n",

+      "W=H*t*Gc; # in lb/ft\n",

+      "k=4.5;#kp*cos(delta)\n",

+      "Pu=1/2.0*Gamma*H**2*(k-Ka*math.cos(phi)); # in lb/ft\n",

+      "print round(Pu,2),\"force in lb/ft\"\n",

+      "Pus=((Cov+1)/(Cov+H/h))*Pu; # in lb/ft\n",

+      "print round(Pus,2),\"force in lb/ft\"\n",

+      "Be=0.227*(H+h)+B;\n",

+      "Pu=Pus*Be; # in lb/ft\n",

+      "print round(Pu,2),\" is resistance of anchor plate in lb/ft\"\n",

+      "\n",

+      "# The answers in the book are different due to approximation while here calculations are precise"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "2197.94 force in lb/ft\n",

+        "1998.12 force in lb/ft\n",

+        "4482.04  is resistance of anchor plate in lb/ft\n"

+       ]

+      }

+     ],

+     "prompt_number": 37

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter10_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter10_1.ipynb
new file mode 100755
index 00000000..3af11efd
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter10_1.ipynb
@@ -0,0 +1,211 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:54ddb8c76d55d78e9f237ddb7f5823ac10a3585adf1b3932a3b8cc9352fd8e76"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10:Braced Cuts"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex10.1: pg-511"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 10.1 : \n",
+      "\n",
+      "Gamma=18.0;\n",
+      "H=7.0;\n",
+      "sigmaa=0.3*Gamma*H;\n",
+      "print\"maximum pressure intensity in kN/m^2 is\",sigmaa ;\n",
+      "#partb\n",
+      "A=54.02;\n",
+      "B1=1.0/2*1.75*37.8+37.8*1.75-A;\n",
+      "B2=45.2;\n",
+      "C=54.02;\n",
+      "s=3.0; #spacing\n",
+      "Pa=C*s;\n",
+      "print \"strut loads in kN is\",Pa\n",
+      "Pb=(B1+B2)*s;\n",
+      "print \"strut loads in kN is\",Pb\n",
+      "Pc=C*s;\n",
+      "print \"strut loads in kN is\", Pc\n",
+      "#partc\n",
+      "Me=45.2*1.196-37.8*1.196*1.196/2;#Me=Mmax\n",
+      "Sall=170e3;#sigmaall\n",
+      "S=Me/Sall;\n",
+      "print \"section modulus in m^3/m is \",round(S,7)\n",
+      "#partd\n",
+      "Mmax=(B1+B2)*s**2.0/8;\n",
+      "S=Mmax/Sall;\n",
+      "print\"section modulus in m^3/m is\",round(S,6)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "maximum pressure intensity in kN/m^2 is 37.8\n",
+        "strut loads in kN is 162.06\n",
+        "strut loads in kN is 271.215\n",
+        "strut loads in kN is 162.06\n",
+        "section modulus in m^3/m is  0.000159\n",
+        "section modulus in m^3/m is 0.000598\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex10.2:pg-514"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 10.2\n",
+      "\n",
+      "import math\n",
+      "phi=35.0;\n",
+      "Gamma=17.0; # kN/m^3\n",
+      "s=4; #spacing in m\n",
+      "H=9;\n",
+      "Ka=(math.tan(45*(math.pi/180)-35*(math.pi/(180.0*2))))**2\n",
+      "sigma=0.65*Gamma*Ka*H\n",
+      "A=sigma*5*5.0/6;\n",
+      "B1=sigma*5-A;\n",
+      "C=sigma*4*4/6.0; \n",
+      "B2=sigma*s-C;\n",
+      "Pa=A*s;\n",
+      "Pb=(B1+B2)*s;\n",
+      "Pc=C*s;\n",
+      "print \"strut loads at A in kN is\",round(Pa,2)\n",
+      "\n",
+      "print \"strut loads at B in kN is\",round(Pb,2)\n",
+      "\n",
+      "print \"strut loads at C in kN is\",round(Pc,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "strut loads at A in kN is 449.17\n",
+        "strut loads at B in kN is 233.57\n",
+        "strut loads at C in kN is 287.47\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex10.3:pg-523"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 10.3\n",
+      "\n",
+      "import math\n",
+      "q=0;\n",
+      "Gamma=17; # in KN/m^3\n",
+      "B=3.0 # in meter\n",
+      "L=20; # in meter\n",
+      "c=30;# in KN/m^3\n",
+      "T=1.5;# in meter\n",
+      "H=5.5;# in meter\n",
+      "B1=B/2;#B'\n",
+      "B11=T*math.sqrt(2);#B''\n",
+      "FS=(5.14*c*(1+B11*0.2/L)+c*H/B1)/(Gamma*H+q) # from equation of factor of safety\n",
+      "print\"factor of safety is\",round(FS,2)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "factor of safety is 2.86\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex10.4:pg-529"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 10.4\n",
+      "\n",
+      "\n",
+      "L1=5; # in meter\n",
+      "L2=4;# in meter\n",
+      "B=5;# in meter\n",
+      "h=4.5;# in meter\n",
+      "icr=1 #\n",
+      "iexit= 0.54*h/L2\n",
+      "FOS=icr/iexit # Factor of safety\n",
+      "print \"The Factory of safety is\",round(FOS,3)\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Factory of safety is 1.646\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter10_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter10_2.ipynb
new file mode 100755
index 00000000..3af11efd
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter10_2.ipynb
@@ -0,0 +1,211 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:54ddb8c76d55d78e9f237ddb7f5823ac10a3585adf1b3932a3b8cc9352fd8e76"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10:Braced Cuts"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex10.1: pg-511"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 10.1 : \n",
+      "\n",
+      "Gamma=18.0;\n",
+      "H=7.0;\n",
+      "sigmaa=0.3*Gamma*H;\n",
+      "print\"maximum pressure intensity in kN/m^2 is\",sigmaa ;\n",
+      "#partb\n",
+      "A=54.02;\n",
+      "B1=1.0/2*1.75*37.8+37.8*1.75-A;\n",
+      "B2=45.2;\n",
+      "C=54.02;\n",
+      "s=3.0; #spacing\n",
+      "Pa=C*s;\n",
+      "print \"strut loads in kN is\",Pa\n",
+      "Pb=(B1+B2)*s;\n",
+      "print \"strut loads in kN is\",Pb\n",
+      "Pc=C*s;\n",
+      "print \"strut loads in kN is\", Pc\n",
+      "#partc\n",
+      "Me=45.2*1.196-37.8*1.196*1.196/2;#Me=Mmax\n",
+      "Sall=170e3;#sigmaall\n",
+      "S=Me/Sall;\n",
+      "print \"section modulus in m^3/m is \",round(S,7)\n",
+      "#partd\n",
+      "Mmax=(B1+B2)*s**2.0/8;\n",
+      "S=Mmax/Sall;\n",
+      "print\"section modulus in m^3/m is\",round(S,6)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "maximum pressure intensity in kN/m^2 is 37.8\n",
+        "strut loads in kN is 162.06\n",
+        "strut loads in kN is 271.215\n",
+        "strut loads in kN is 162.06\n",
+        "section modulus in m^3/m is  0.000159\n",
+        "section modulus in m^3/m is 0.000598\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex10.2:pg-514"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 10.2\n",
+      "\n",
+      "import math\n",
+      "phi=35.0;\n",
+      "Gamma=17.0; # kN/m^3\n",
+      "s=4; #spacing in m\n",
+      "H=9;\n",
+      "Ka=(math.tan(45*(math.pi/180)-35*(math.pi/(180.0*2))))**2\n",
+      "sigma=0.65*Gamma*Ka*H\n",
+      "A=sigma*5*5.0/6;\n",
+      "B1=sigma*5-A;\n",
+      "C=sigma*4*4/6.0; \n",
+      "B2=sigma*s-C;\n",
+      "Pa=A*s;\n",
+      "Pb=(B1+B2)*s;\n",
+      "Pc=C*s;\n",
+      "print \"strut loads at A in kN is\",round(Pa,2)\n",
+      "\n",
+      "print \"strut loads at B in kN is\",round(Pb,2)\n",
+      "\n",
+      "print \"strut loads at C in kN is\",round(Pc,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "strut loads at A in kN is 449.17\n",
+        "strut loads at B in kN is 233.57\n",
+        "strut loads at C in kN is 287.47\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex10.3:pg-523"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 10.3\n",
+      "\n",
+      "import math\n",
+      "q=0;\n",
+      "Gamma=17; # in KN/m^3\n",
+      "B=3.0 # in meter\n",
+      "L=20; # in meter\n",
+      "c=30;# in KN/m^3\n",
+      "T=1.5;# in meter\n",
+      "H=5.5;# in meter\n",
+      "B1=B/2;#B'\n",
+      "B11=T*math.sqrt(2);#B''\n",
+      "FS=(5.14*c*(1+B11*0.2/L)+c*H/B1)/(Gamma*H+q) # from equation of factor of safety\n",
+      "print\"factor of safety is\",round(FS,2)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "factor of safety is 2.86\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex10.4:pg-529"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 10.4\n",
+      "\n",
+      "\n",
+      "L1=5; # in meter\n",
+      "L2=4;# in meter\n",
+      "B=5;# in meter\n",
+      "h=4.5;# in meter\n",
+      "icr=1 #\n",
+      "iexit= 0.54*h/L2\n",
+      "FOS=icr/iexit # Factor of safety\n",
+      "print \"The Factory of safety is\",round(FOS,3)\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The Factory of safety is 1.646\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter11_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter11_1.ipynb
new file mode 100755
index 00000000..0afdb4a0
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter11_1.ipynb
@@ -0,0 +1,650 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:a4054b3d6b79658bcd763c43dc94ca6de4cd49698c12f912e4c83a9a61f47154"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter11:Pile Foundations"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.1:Pg-532"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.1\n",
+      "import math\n",
+      "\n",
+      "#parta\n",
+      "phi=30.0; # angle in degree\n",
+      "pa=2000.0; \n",
+      "q=100*50/1000.0;\n",
+      "Nq=55.0;\n",
+      "Ap=16*16/16/12; # area in ft^2\n",
+      "Qp=Ap*q*Nq; # in kip\n",
+      "qp=0.4*pa*Nq*math.tan(phi*math.pi/180)*Ap; # in lb\n",
+      "print round(Qp,2),\"ultimate load in lb\"\n",
+      "print round(qp/1000,2),\"ultimate load in kip\"\n",
+      "print \"there is change in answer because of calculation mistake in the book\"\n",
+      "\n",
+      "#partb\n",
+      "Nsigma=36;\n",
+      "Ap=16*16.0/12.0/12;\n",
+      "q=110*50.0/1000;\n",
+      "Qp=Ap*q*Nsigma*((1+2.0*(1-math.sin(phi*math.pi/180)))/3); # in kip\n",
+      "print round(Qp,2),\"ultimate load in kip\"\n",
+      "#partc\n",
+      "Nq=18.4;\n",
+      "Qp=Ap*q*Nq; # in kip\n",
+      "print round(Qp,2),\"ultimate load in kip\"\n",
+      "\n",
+      "# ANSWER IN THE BOOK IS WRONG"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "275.0 ultimate load in lb\n",
+        "25.4 ultimate load in kip\n",
+        "there is change in answer because of calculation mistake in the book\n",
+        "234.67 ultimate load in kip\n",
+        "179.91 ultimate load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.2:Pg-533"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.2\n",
+      "\n",
+      "import math\n",
+      "#parta\n",
+      "K=1.3;\n",
+      "f0=0;\n",
+      "Delta=0.8*30; # in ft\n",
+      "D=16.0/12; # in ft\n",
+      "L1=50.0;\n",
+      "p=4*16/12.0; # in ft\n",
+      "Gamma=110/1000.0; # in lb/ft^3\n",
+      "L=15*D; # in ft\n",
+      "sigma=Gamma*L; # in kip/ft^2\n",
+      "f20=K*sigma*math.tan(Delta*math.pi/180); # kip/ft^2\n",
+      "Qs=(f0+f20)/2*(p*L)+f20*p*(L1-L);\n",
+      "print round(Qs,2),\"ultimate load in kip\"\n",
+      "#partb\n",
+      "FS=4; # factor of safety\n",
+      "Qp=56.45/3+234.7/3+179.9/3; # in kip\n",
+      "Qu=Qs+Qp; # in kip\n",
+      "Qall=Qu/FS; # in kip\n",
+      "print round(Qall,2),\"is allowed load in kip\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "271.65 ultimate load in kip\n",
+        "107.17 is allowed load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.3:Pg-534"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.3\n",
+      "import math\n",
+      "K=0.25;\n",
+      "Ap=16*16.0/12/12; # area in ft^2\n",
+      "phi=30*math.pi/180;\n",
+      "Nq=25;\n",
+      "q=110*50.0/1000; # in kip\n",
+      "sigmao=q/2; # in kip/ft^2\n",
+      "p=4*16.0/12; # in ft\n",
+      "L=50; # in ft\n",
+      "FS=4; # factor of safety\n",
+      "Qu=q*Nq*Ap+K*sigmao*math.tan(0.8*phi)*p*L; # in kip\n",
+      "Qall=Qu/FS; # in kip\n",
+      "print round(Qall,1),\"allowed load in kip\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "81.5 allowed load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.4:Pg-535"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.4\n",
+      "\n",
+      "import math\n",
+      "import numpy\n",
+      "FS=4; # factor of safety\n",
+      "Ap=0.1295; # area in m^2\n",
+      "Nc=9;\n",
+      "cu2=100;\n",
+      "Qp=Ap*Nc*cu2; # in kN\n",
+      "D=[5, 10, 30]; # depth in m\n",
+      "avgD=[2.5, 7.5,20.0]; # average depth in m\n",
+      "sigma=[45.0, 110.5, 228.5]; # in KN/m^2\n",
+      "cu=[30, 30, 100]; # in kN/m^2\n",
+      "alpha=[0.6, 0.9, 0.725];\n",
+      "L=[5, 5, 20]; # in m\n",
+      "p=math.pi*0.406;\n",
+      "Qs=0; # in kN\n",
+      "cusig=numpy.zeros(3)\n",
+      "print round(Qp,2),\"bearing capacity in kN\"\n",
+      "print  \"depth (m)\\t avg Depth(m)\\t avgVerticalStress(kN/m**2)\\t cu(kN/m**2)\\t cu/sigma\\t alpha\\n\"\n",
+      "for i in range(0,3):\n",
+      "    cusig[i]=cu[i]/sigma[i];\n",
+      "    Qs=Qs+alpha[i]*cu[i]*L[i]*p;\n",
+      "    print round(D[i],2),\"\\t \\t \\t\",round(avgD[i],2),\"\\t \\t\",round(sigma[i],2),\"\\t\\t\\t   \",round(cu[i],2),\"\\t  \",round(cusig[i],2),\"\\t\\t \",round(alpha[i],2),\"\\n\"\n",
+      "print round(Qs,2),\"bearing capacity in kN\"\n",
+      "#part2\n",
+      "Lambda=0.136;\n",
+      "L=30;\n",
+      "fav=Lambda*(178.48+2*76.7);\n",
+      "Qs2=p*L*fav; # in kN\n",
+      "#part3\n",
+      "fav1=13;\n",
+      "fav2=31.9;\n",
+      "fav3=93.43;\n",
+      "Qs3=p*(fav1*5+fav2*5+fav3*20); # in kN\n",
+      "print round(Qs3,1),\"bearing capacity in kN\"\n",
+      "Qsavg=Qs/3+Qs2/3+Qs3/3; # in kN\n",
+      "Qu=Qp+Qsavg # in kN\n",
+      "Qall=Qu/FS; # in kN\n",
+      "print round(Qall,1),\"allowed bearing capacity in kN\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "116.55 bearing capacity in kN\n",
+        "depth (m)\t avg Depth(m)\t avgVerticalStress(kN/m**2)\t cu(kN/m**2)\t cu/sigma\t alpha\n",
+        "\n",
+        "5.0 \t \t \t2.5 \t \t45.0 \t\t\t    30.0 \t   0.67 \t\t  0.6 \n",
+        "\n",
+        "10.0 \t \t \t7.5 \t \t110.5 \t\t\t    30.0 \t   0.27 \t\t  0.9 \n",
+        "\n",
+        "30.0 \t \t \t20.0 \t \t228.5 \t\t\t    100.0 \t   0.44 \t\t  0.72 \n",
+        "\n",
+        "2136.44 bearing capacity in kN\n",
+        "2669.7 bearing capacity in kN\n",
+        "573.6 allowed bearing capacity in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.5:Pg-538"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.5\n",
+      "\n",
+      "import numpy\n",
+      "D=[6, 12, 20]; # depth in m\n",
+      "fc=[34.34, 54.94, 70.63]; # in kN/m**2\n",
+      "alpha=[0.84, 0.71, 0.63];\n",
+      "dL=[6, 6, 8]; # in m\n",
+      "p=4*0.305;\n",
+      "Qs=0;\n",
+      "Q=numpy.zeros(3)\n",
+      "print \"  depth(m)\\t fc(kN/m**2)\\t alpha \\t \\t deltaL(m)\\t Q(kN)\\n\"\n",
+      "for i in range (0,3):\n",
+      "    Q[i]=alpha[i]*fc[i]*p*dL[i];\n",
+      "    Qs=Q[i]+Qs;\n",
+      "    print D[i],\"\\t\\t   \",fc[i],\"\\t  \",alpha[i],\"\\t   \",dL[i],\"\\t\\t \",round(Q[i],2)\n",
+      "\n",
+      "print round(Qs),\"bearing force in kN\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "  depth(m)\t fc(kN/m**2)\t alpha \t \t deltaL(m)\t Q(kN)\n",
+        "\n",
+        "6 \t\t    34.34 \t   0.84 \t    6 \t\t  211.15\n",
+        "12 \t\t    54.94 \t   0.71 \t    6 \t\t  285.53\n",
+        "20 \t\t    70.63 \t   0.63 \t    8 \t\t  434.29\n",
+        "931.0 bearing force in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.6:Pg-545"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.6\n",
+      "\n",
+      "import math\n",
+      "L=21; # in m\n",
+      "Qwp=502-350; # in kN\n",
+      "Qws=350; # in kN\n",
+      "Ap=0.1045; # area in m^2\n",
+      "Ep=21e6; # in kN/m^2\n",
+      "epsilon=0.62;\n",
+      "Se1=(Qwp+epsilon*Qws)*L/Ap/Ep; # in m\n",
+      "#part2\n",
+      "Iwp=0.85;\n",
+      "qwp=152/Ap;\n",
+      "Es=25e3; # in kN/m^2\n",
+      "D=0.356; # in m\n",
+      "mus=0.35;\n",
+      "Se2=qwp*D/Es*Iwp*(1-mus**2); # in m\n",
+      "#part3\n",
+      "p=1.168;\n",
+      "Iws=2+0.35*math.sqrt(L/D);\n",
+      "Se3=Qws/p/L*D/Es*Iws*(1-mus**2); # in m\n",
+      "Se=Se1+Se2+Se3; # in m\n",
+      "print round(Se*1000,1),\"settlement in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "19.8 settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.7:Pg-560"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.7\n",
+      "\n",
+      "Ep=207e6; # in kN/m^2\n",
+      "Ip=123e-6; # in m^4\n",
+      "nh=12000; # in  kN/m^3\n",
+      "#from table 11.13\n",
+      "xz=0.008;\n",
+      "Ax=2.435;\n",
+      "T=(Ep*Ip/nh)**0.2;\n",
+      "Qg1=xz*Ep*Ip/Ax/T**3;\n",
+      "#part2\n",
+      "Fy=248000;\n",
+      "d1=0.254;\n",
+      "Am=0.772;\n",
+      "Mzmax=Fy*Ip*2/d1; # in Kn-m\n",
+      "Qg2=Mzmax/Am/T; # in kN\n",
+      "if Qg2>Qg1 :\n",
+      "    Qg=Qg1;\n",
+      "    print round(Qg,2),\"lateral load in kN\"\n",
+      "# there is slight variation in answer in textbook due to approximation"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "53.27 lateral load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.8:Pg-561"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.8\n",
+      "\n",
+      "import math\n",
+      "#part1\n",
+      "Ep=207e6; # in kN/m^2\n",
+      "Ip=123e-6; # in m^4\n",
+      "nh=12000; # in kN/m^3\n",
+      "#from table 11.1a\n",
+      "xo=0.008; # in m\n",
+      "L=25;\n",
+      "Fy=248000; # yield stress in kN/m^2\n",
+      "D=0.254;\n",
+      "Am=0.772;\n",
+      "Gamma=18.0; # in kN/m^3\n",
+      "phi=35; # in angle\n",
+      "Kp=(math.tan(math.pi/4+phi*math.pi/360))**2;\n",
+      "My=Fy*Ip*2/D; # in kN-m\n",
+      "Qug=140*Kp*D**3*Gamma; # in kN\n",
+      "\n",
+      "#part2\n",
+      "Qg1=xo*(Ep*Ip)**0.6*nh**0.4/0.15/L; # in kN\n",
+      "\n",
+      "if Qug>Qg1:\n",
+      "    Qg=Qg1;\n",
+      "    print round(Qg,2),\"lateral load in kN\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "40.2 lateral load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.9:Pg-567"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.9\n",
+      "\n",
+      "import math\n",
+      "Wrh=30*12; # in kip-ft\n",
+      "E=0.8;\n",
+      "Wr=7.5; # in kip\n",
+      "S=1/8.0; \n",
+      "C=0.1;\n",
+      "FS=6; # in factor of safety\n",
+      "n=0.4; # Coefficient of restitution\n",
+      "Wp=12/12.0*12/12.0*80*150+550; # in lb\n",
+      "Wp=Wp/1000.0;\n",
+      "Qu=E*Wrh/(S+C)*(Wr+n**2.0*Wp)/(Wr+Wp); # in kip\n",
+      "Qall=Qu/FS; # in kip\n",
+      "print round(Qall),\"allowed bearing capacity in kip\"\n",
+      "#part2\n",
+      "He=30*12.0;\n",
+      "L=80*12.0;\n",
+      "Ap=12*12.0; # area in in^2\n",
+      "Ep=3e6/1000.0; # in kip/in^2\n",
+      "FS=4; # factor of safety\n",
+      "Qu=E*He/(S+math.sqrt(E*He*L/2.0/Ap/Ep)); # in kip\n",
+      "Qall2=Qu/FS; # in kip\n",
+      "print round(Qall2),\"allowed bearing capacity in kip\"\n",
+      "\n",
+      "#partc\n",
+      "a=27;\n",
+      "b=1;\n",
+      "He=30;\n",
+      "FS=3; # factor of safety\n",
+      "Qu=a*math.sqrt(E*He)*(b-math.log10(S)); # in kip\n",
+      "Qall3=Qu/FS; # in kip\n",
+      "print round(Qall3),\"allowed bearing capacity in kip\"\n",
+      "\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "101.0 allowed bearing capacity in kip\n",
+        "104.0 allowed bearing capacity in kip\n",
+        "84.0 allowed bearing capacity in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.10:Pg-570"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.10\n",
+      "\n",
+      "Hp=350; # in HP\n",
+      "vp=0.0016; #  in m/s\n",
+      "Sl=0.762e-3; # in m/cycle\n",
+      "f=115; # in Hz\n",
+      "Qu=(0.746*Hp+98*vp)/(vp+Sl*f); # in kN\n",
+      "print round(Qu),\"pile load capacity in kN\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2928.0 pile load capacity in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.11:Pg-578"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.11\n",
+      "\n",
+      "Lg=9.92; # in ft\n",
+      "Bg=7.0; # in ft\n",
+      "n1=3.0;\n",
+      "Nc=8.75;\n",
+      "n2=4.0/1000;\n",
+      "Ap=14.0**2.0/12.0**2;\n",
+      "cup=1775.0;\n",
+      "a1=0.4;#alpha1\n",
+      "p=4*14.0/12.0;\n",
+      "cu1=1050.0; # in lb/ft^2\n",
+      "L1=15.0;\n",
+      "a2=0.54;#alpha2\n",
+      "cu2=1775.0; # in lb/ft^2\n",
+      "L2=45.0;\n",
+      "FS=4; # factor of safety\n",
+      "Qu=n1*n2*(9*Ap*cup+a1*p*cu1*L1+a2*p*cu2*L2); # in kip\n",
+      "Qu2=Lg*Bg*cup*Nc+2*(Lg+Bg)*(cu1*L1+cu2*L2); # in kip\n",
+      "print round(Qu2/1000),\"load in kip\"\n",
+      "Qall=Qu/FS; # in kip\n",
+      "print round(Qall),\"allowed load in kip\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4314.0 load in kip\n",
+        "757.0 allowed load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.12:Pg-583"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.12\n",
+      "\n",
+      "import math\n",
+      "z1=21/2.0; # in ft\n",
+      "Lg=9.0; # in ft\n",
+      "Bg=6.0;# in ft\n",
+      "Qg=500*1000.0; # in kip\n",
+      "Cc1=0.3;\n",
+      "Cc2=0.2;\n",
+      "Cc3=0.25;\n",
+      "H2=12;\n",
+      "H3=6;\n",
+      "H1=21;\n",
+      "e1=0.82;\n",
+      "e2=0.7;\n",
+      "e3=0.75;\n",
+      "s1=Qg/(Lg+z1)/(Bg+z1); #sigma1 in lb/ft^3\n",
+      "s2=500*1000/(9+27)/(6+27);#sigma2 in lb/ft^3\n",
+      "s3=500*1000/(9+36)/(6+36);#sigma3 in lb/ft^3\n",
+      "ss1=6*105+(27+21/2)*(115-62.4);#sigmadash1 in lb/ft^3\n",
+      "ss2=6*105+(27+21)*(115-62.4)+(120-62.4)*6;#sigmadash2 in lb/ft^3\n",
+      "ss3=6*105+48*(115-62.4)+12*(120-62.4)+3*(122-62.4);#sigmadash3 in lb/ft^3\n",
+      "sc1=Cc1*H1/(1+e1)*math.log10((ss1+s1)/ss1); # in inch\n",
+      "sc2=Cc2*H2/(1+e2)*math.log10((ss2+s2)/ss2); # in inch\n",
+      "sc3=Cc3*H3/(1+e3)*math.log10((ss3+s3)/ss3); # in inch\n",
+      "sc=sc1+sc2+sc3; # in inch\n",
+      "print round(sc*12,1),\"total settlement in inch\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "9.6 total settlement in inch\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter11_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter11_2.ipynb
new file mode 100755
index 00000000..0afdb4a0
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter11_2.ipynb
@@ -0,0 +1,650 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:a4054b3d6b79658bcd763c43dc94ca6de4cd49698c12f912e4c83a9a61f47154"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter11:Pile Foundations"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.1:Pg-532"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.1\n",
+      "import math\n",
+      "\n",
+      "#parta\n",
+      "phi=30.0; # angle in degree\n",
+      "pa=2000.0; \n",
+      "q=100*50/1000.0;\n",
+      "Nq=55.0;\n",
+      "Ap=16*16/16/12; # area in ft^2\n",
+      "Qp=Ap*q*Nq; # in kip\n",
+      "qp=0.4*pa*Nq*math.tan(phi*math.pi/180)*Ap; # in lb\n",
+      "print round(Qp,2),\"ultimate load in lb\"\n",
+      "print round(qp/1000,2),\"ultimate load in kip\"\n",
+      "print \"there is change in answer because of calculation mistake in the book\"\n",
+      "\n",
+      "#partb\n",
+      "Nsigma=36;\n",
+      "Ap=16*16.0/12.0/12;\n",
+      "q=110*50.0/1000;\n",
+      "Qp=Ap*q*Nsigma*((1+2.0*(1-math.sin(phi*math.pi/180)))/3); # in kip\n",
+      "print round(Qp,2),\"ultimate load in kip\"\n",
+      "#partc\n",
+      "Nq=18.4;\n",
+      "Qp=Ap*q*Nq; # in kip\n",
+      "print round(Qp,2),\"ultimate load in kip\"\n",
+      "\n",
+      "# ANSWER IN THE BOOK IS WRONG"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "275.0 ultimate load in lb\n",
+        "25.4 ultimate load in kip\n",
+        "there is change in answer because of calculation mistake in the book\n",
+        "234.67 ultimate load in kip\n",
+        "179.91 ultimate load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.2:Pg-533"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.2\n",
+      "\n",
+      "import math\n",
+      "#parta\n",
+      "K=1.3;\n",
+      "f0=0;\n",
+      "Delta=0.8*30; # in ft\n",
+      "D=16.0/12; # in ft\n",
+      "L1=50.0;\n",
+      "p=4*16/12.0; # in ft\n",
+      "Gamma=110/1000.0; # in lb/ft^3\n",
+      "L=15*D; # in ft\n",
+      "sigma=Gamma*L; # in kip/ft^2\n",
+      "f20=K*sigma*math.tan(Delta*math.pi/180); # kip/ft^2\n",
+      "Qs=(f0+f20)/2*(p*L)+f20*p*(L1-L);\n",
+      "print round(Qs,2),\"ultimate load in kip\"\n",
+      "#partb\n",
+      "FS=4; # factor of safety\n",
+      "Qp=56.45/3+234.7/3+179.9/3; # in kip\n",
+      "Qu=Qs+Qp; # in kip\n",
+      "Qall=Qu/FS; # in kip\n",
+      "print round(Qall,2),\"is allowed load in kip\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "271.65 ultimate load in kip\n",
+        "107.17 is allowed load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.3:Pg-534"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.3\n",
+      "import math\n",
+      "K=0.25;\n",
+      "Ap=16*16.0/12/12; # area in ft^2\n",
+      "phi=30*math.pi/180;\n",
+      "Nq=25;\n",
+      "q=110*50.0/1000; # in kip\n",
+      "sigmao=q/2; # in kip/ft^2\n",
+      "p=4*16.0/12; # in ft\n",
+      "L=50; # in ft\n",
+      "FS=4; # factor of safety\n",
+      "Qu=q*Nq*Ap+K*sigmao*math.tan(0.8*phi)*p*L; # in kip\n",
+      "Qall=Qu/FS; # in kip\n",
+      "print round(Qall,1),\"allowed load in kip\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "81.5 allowed load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.4:Pg-535"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.4\n",
+      "\n",
+      "import math\n",
+      "import numpy\n",
+      "FS=4; # factor of safety\n",
+      "Ap=0.1295; # area in m^2\n",
+      "Nc=9;\n",
+      "cu2=100;\n",
+      "Qp=Ap*Nc*cu2; # in kN\n",
+      "D=[5, 10, 30]; # depth in m\n",
+      "avgD=[2.5, 7.5,20.0]; # average depth in m\n",
+      "sigma=[45.0, 110.5, 228.5]; # in KN/m^2\n",
+      "cu=[30, 30, 100]; # in kN/m^2\n",
+      "alpha=[0.6, 0.9, 0.725];\n",
+      "L=[5, 5, 20]; # in m\n",
+      "p=math.pi*0.406;\n",
+      "Qs=0; # in kN\n",
+      "cusig=numpy.zeros(3)\n",
+      "print round(Qp,2),\"bearing capacity in kN\"\n",
+      "print  \"depth (m)\\t avg Depth(m)\\t avgVerticalStress(kN/m**2)\\t cu(kN/m**2)\\t cu/sigma\\t alpha\\n\"\n",
+      "for i in range(0,3):\n",
+      "    cusig[i]=cu[i]/sigma[i];\n",
+      "    Qs=Qs+alpha[i]*cu[i]*L[i]*p;\n",
+      "    print round(D[i],2),\"\\t \\t \\t\",round(avgD[i],2),\"\\t \\t\",round(sigma[i],2),\"\\t\\t\\t   \",round(cu[i],2),\"\\t  \",round(cusig[i],2),\"\\t\\t \",round(alpha[i],2),\"\\n\"\n",
+      "print round(Qs,2),\"bearing capacity in kN\"\n",
+      "#part2\n",
+      "Lambda=0.136;\n",
+      "L=30;\n",
+      "fav=Lambda*(178.48+2*76.7);\n",
+      "Qs2=p*L*fav; # in kN\n",
+      "#part3\n",
+      "fav1=13;\n",
+      "fav2=31.9;\n",
+      "fav3=93.43;\n",
+      "Qs3=p*(fav1*5+fav2*5+fav3*20); # in kN\n",
+      "print round(Qs3,1),\"bearing capacity in kN\"\n",
+      "Qsavg=Qs/3+Qs2/3+Qs3/3; # in kN\n",
+      "Qu=Qp+Qsavg # in kN\n",
+      "Qall=Qu/FS; # in kN\n",
+      "print round(Qall,1),\"allowed bearing capacity in kN\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "116.55 bearing capacity in kN\n",
+        "depth (m)\t avg Depth(m)\t avgVerticalStress(kN/m**2)\t cu(kN/m**2)\t cu/sigma\t alpha\n",
+        "\n",
+        "5.0 \t \t \t2.5 \t \t45.0 \t\t\t    30.0 \t   0.67 \t\t  0.6 \n",
+        "\n",
+        "10.0 \t \t \t7.5 \t \t110.5 \t\t\t    30.0 \t   0.27 \t\t  0.9 \n",
+        "\n",
+        "30.0 \t \t \t20.0 \t \t228.5 \t\t\t    100.0 \t   0.44 \t\t  0.72 \n",
+        "\n",
+        "2136.44 bearing capacity in kN\n",
+        "2669.7 bearing capacity in kN\n",
+        "573.6 allowed bearing capacity in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.5:Pg-538"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.5\n",
+      "\n",
+      "import numpy\n",
+      "D=[6, 12, 20]; # depth in m\n",
+      "fc=[34.34, 54.94, 70.63]; # in kN/m**2\n",
+      "alpha=[0.84, 0.71, 0.63];\n",
+      "dL=[6, 6, 8]; # in m\n",
+      "p=4*0.305;\n",
+      "Qs=0;\n",
+      "Q=numpy.zeros(3)\n",
+      "print \"  depth(m)\\t fc(kN/m**2)\\t alpha \\t \\t deltaL(m)\\t Q(kN)\\n\"\n",
+      "for i in range (0,3):\n",
+      "    Q[i]=alpha[i]*fc[i]*p*dL[i];\n",
+      "    Qs=Q[i]+Qs;\n",
+      "    print D[i],\"\\t\\t   \",fc[i],\"\\t  \",alpha[i],\"\\t   \",dL[i],\"\\t\\t \",round(Q[i],2)\n",
+      "\n",
+      "print round(Qs),\"bearing force in kN\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "  depth(m)\t fc(kN/m**2)\t alpha \t \t deltaL(m)\t Q(kN)\n",
+        "\n",
+        "6 \t\t    34.34 \t   0.84 \t    6 \t\t  211.15\n",
+        "12 \t\t    54.94 \t   0.71 \t    6 \t\t  285.53\n",
+        "20 \t\t    70.63 \t   0.63 \t    8 \t\t  434.29\n",
+        "931.0 bearing force in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5.6:Pg-545"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.6\n",
+      "\n",
+      "import math\n",
+      "L=21; # in m\n",
+      "Qwp=502-350; # in kN\n",
+      "Qws=350; # in kN\n",
+      "Ap=0.1045; # area in m^2\n",
+      "Ep=21e6; # in kN/m^2\n",
+      "epsilon=0.62;\n",
+      "Se1=(Qwp+epsilon*Qws)*L/Ap/Ep; # in m\n",
+      "#part2\n",
+      "Iwp=0.85;\n",
+      "qwp=152/Ap;\n",
+      "Es=25e3; # in kN/m^2\n",
+      "D=0.356; # in m\n",
+      "mus=0.35;\n",
+      "Se2=qwp*D/Es*Iwp*(1-mus**2); # in m\n",
+      "#part3\n",
+      "p=1.168;\n",
+      "Iws=2+0.35*math.sqrt(L/D);\n",
+      "Se3=Qws/p/L*D/Es*Iws*(1-mus**2); # in m\n",
+      "Se=Se1+Se2+Se3; # in m\n",
+      "print round(Se*1000,1),\"settlement in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "19.8 settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.7:Pg-560"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.7\n",
+      "\n",
+      "Ep=207e6; # in kN/m^2\n",
+      "Ip=123e-6; # in m^4\n",
+      "nh=12000; # in  kN/m^3\n",
+      "#from table 11.13\n",
+      "xz=0.008;\n",
+      "Ax=2.435;\n",
+      "T=(Ep*Ip/nh)**0.2;\n",
+      "Qg1=xz*Ep*Ip/Ax/T**3;\n",
+      "#part2\n",
+      "Fy=248000;\n",
+      "d1=0.254;\n",
+      "Am=0.772;\n",
+      "Mzmax=Fy*Ip*2/d1; # in Kn-m\n",
+      "Qg2=Mzmax/Am/T; # in kN\n",
+      "if Qg2>Qg1 :\n",
+      "    Qg=Qg1;\n",
+      "    print round(Qg,2),\"lateral load in kN\"\n",
+      "# there is slight variation in answer in textbook due to approximation"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "53.27 lateral load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.8:Pg-561"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.8\n",
+      "\n",
+      "import math\n",
+      "#part1\n",
+      "Ep=207e6; # in kN/m^2\n",
+      "Ip=123e-6; # in m^4\n",
+      "nh=12000; # in kN/m^3\n",
+      "#from table 11.1a\n",
+      "xo=0.008; # in m\n",
+      "L=25;\n",
+      "Fy=248000; # yield stress in kN/m^2\n",
+      "D=0.254;\n",
+      "Am=0.772;\n",
+      "Gamma=18.0; # in kN/m^3\n",
+      "phi=35; # in angle\n",
+      "Kp=(math.tan(math.pi/4+phi*math.pi/360))**2;\n",
+      "My=Fy*Ip*2/D; # in kN-m\n",
+      "Qug=140*Kp*D**3*Gamma; # in kN\n",
+      "\n",
+      "#part2\n",
+      "Qg1=xo*(Ep*Ip)**0.6*nh**0.4/0.15/L; # in kN\n",
+      "\n",
+      "if Qug>Qg1:\n",
+      "    Qg=Qg1;\n",
+      "    print round(Qg,2),\"lateral load in kN\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "40.2 lateral load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 28
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.9:Pg-567"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.9\n",
+      "\n",
+      "import math\n",
+      "Wrh=30*12; # in kip-ft\n",
+      "E=0.8;\n",
+      "Wr=7.5; # in kip\n",
+      "S=1/8.0; \n",
+      "C=0.1;\n",
+      "FS=6; # in factor of safety\n",
+      "n=0.4; # Coefficient of restitution\n",
+      "Wp=12/12.0*12/12.0*80*150+550; # in lb\n",
+      "Wp=Wp/1000.0;\n",
+      "Qu=E*Wrh/(S+C)*(Wr+n**2.0*Wp)/(Wr+Wp); # in kip\n",
+      "Qall=Qu/FS; # in kip\n",
+      "print round(Qall),\"allowed bearing capacity in kip\"\n",
+      "#part2\n",
+      "He=30*12.0;\n",
+      "L=80*12.0;\n",
+      "Ap=12*12.0; # area in in^2\n",
+      "Ep=3e6/1000.0; # in kip/in^2\n",
+      "FS=4; # factor of safety\n",
+      "Qu=E*He/(S+math.sqrt(E*He*L/2.0/Ap/Ep)); # in kip\n",
+      "Qall2=Qu/FS; # in kip\n",
+      "print round(Qall2),\"allowed bearing capacity in kip\"\n",
+      "\n",
+      "#partc\n",
+      "a=27;\n",
+      "b=1;\n",
+      "He=30;\n",
+      "FS=3; # factor of safety\n",
+      "Qu=a*math.sqrt(E*He)*(b-math.log10(S)); # in kip\n",
+      "Qall3=Qu/FS; # in kip\n",
+      "print round(Qall3),\"allowed bearing capacity in kip\"\n",
+      "\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "101.0 allowed bearing capacity in kip\n",
+        "104.0 allowed bearing capacity in kip\n",
+        "84.0 allowed bearing capacity in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.10:Pg-570"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.10\n",
+      "\n",
+      "Hp=350; # in HP\n",
+      "vp=0.0016; #  in m/s\n",
+      "Sl=0.762e-3; # in m/cycle\n",
+      "f=115; # in Hz\n",
+      "Qu=(0.746*Hp+98*vp)/(vp+Sl*f); # in kN\n",
+      "print round(Qu),\"pile load capacity in kN\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2928.0 pile load capacity in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 38
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.11:Pg-578"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.11\n",
+      "\n",
+      "Lg=9.92; # in ft\n",
+      "Bg=7.0; # in ft\n",
+      "n1=3.0;\n",
+      "Nc=8.75;\n",
+      "n2=4.0/1000;\n",
+      "Ap=14.0**2.0/12.0**2;\n",
+      "cup=1775.0;\n",
+      "a1=0.4;#alpha1\n",
+      "p=4*14.0/12.0;\n",
+      "cu1=1050.0; # in lb/ft^2\n",
+      "L1=15.0;\n",
+      "a2=0.54;#alpha2\n",
+      "cu2=1775.0; # in lb/ft^2\n",
+      "L2=45.0;\n",
+      "FS=4; # factor of safety\n",
+      "Qu=n1*n2*(9*Ap*cup+a1*p*cu1*L1+a2*p*cu2*L2); # in kip\n",
+      "Qu2=Lg*Bg*cup*Nc+2*(Lg+Bg)*(cu1*L1+cu2*L2); # in kip\n",
+      "print round(Qu2/1000),\"load in kip\"\n",
+      "Qall=Qu/FS; # in kip\n",
+      "print round(Qall),\"allowed load in kip\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4314.0 load in kip\n",
+        "757.0 allowed load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex11.12:Pg-583"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 11.12\n",
+      "\n",
+      "import math\n",
+      "z1=21/2.0; # in ft\n",
+      "Lg=9.0; # in ft\n",
+      "Bg=6.0;# in ft\n",
+      "Qg=500*1000.0; # in kip\n",
+      "Cc1=0.3;\n",
+      "Cc2=0.2;\n",
+      "Cc3=0.25;\n",
+      "H2=12;\n",
+      "H3=6;\n",
+      "H1=21;\n",
+      "e1=0.82;\n",
+      "e2=0.7;\n",
+      "e3=0.75;\n",
+      "s1=Qg/(Lg+z1)/(Bg+z1); #sigma1 in lb/ft^3\n",
+      "s2=500*1000/(9+27)/(6+27);#sigma2 in lb/ft^3\n",
+      "s3=500*1000/(9+36)/(6+36);#sigma3 in lb/ft^3\n",
+      "ss1=6*105+(27+21/2)*(115-62.4);#sigmadash1 in lb/ft^3\n",
+      "ss2=6*105+(27+21)*(115-62.4)+(120-62.4)*6;#sigmadash2 in lb/ft^3\n",
+      "ss3=6*105+48*(115-62.4)+12*(120-62.4)+3*(122-62.4);#sigmadash3 in lb/ft^3\n",
+      "sc1=Cc1*H1/(1+e1)*math.log10((ss1+s1)/ss1); # in inch\n",
+      "sc2=Cc2*H2/(1+e2)*math.log10((ss2+s2)/ss2); # in inch\n",
+      "sc3=Cc3*H3/(1+e3)*math.log10((ss3+s3)/ss3); # in inch\n",
+      "sc=sc1+sc2+sc3; # in inch\n",
+      "print round(sc*12,1),\"total settlement in inch\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "9.6 total settlement in inch\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter12_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter12_1.ipynb
new file mode 100755
index 00000000..fcc14387
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter12_1.ipynb
@@ -0,0 +1,443 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1439e2e46e40a0d47bd1c7e06a03c417c0e1f55ad415a0af82536f86f7ecfea9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter12:Drilled-Shaft Foundations"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.1:Pg-609"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.1\n",
+      "\n",
+      "import math\n",
+      "Ap=math.pi/4*1.75**2;  # area in m^2\n",
+      "FS=4; # factor of safety\n",
+      "Nq=37.75; \n",
+      "L=8;\n",
+      "Es=50000.0;\n",
+      "mus=0.265;\n",
+      "pu=100.0;\n",
+      "Db=1.75; # in m\n",
+      "q=6*16.2+2*19.2;\n",
+      "phi=36*math.pi/180.0;\n",
+      "Fqs=1+math.tan(phi);\n",
+      "Fqd=1+2*math.tan(phi)*(1-math.sin(phi))**2*math.atan(L/Db);\n",
+      "Ir=Es/(2*(1+mus)*q*math.tan(phi));\n",
+      "delta=0.005*(1-phi/20*180/math.pi+25/20.0)*q/pu;\n",
+      "Irr=Ir/(1+Ir*delta);\n",
+      "Fqc=math.exp(-3.8*math.tan(phi)+(3.07*math.sin(phi)*math.log10(2*Irr))/(1+math.sin(phi)));\n",
+      "Qp=Ap*(q*(Nq-1)*Fqs*Fqd*Fqc);\n",
+      "Qpall=Qp/FS;\n",
+      "print round(Qpall,2),\"allowed load in kN\"\n",
+      "print \"due to rounding off error there is slight change in answer\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6648.7 allowed load in kN\n",
+        "due to rounding off error there is slight change in answer\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.2:Pg-610"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.2\n",
+      "import math\n",
+      "Ap=math.pi/4*1.75**2; # area in m^2\n",
+      "q=135.6; \n",
+      "w=0.83;\n",
+      "FS=4; # factor of safety\n",
+      "phi=36; # given angle\n",
+      "Nq=0.21*math.exp(0.17*phi);\n",
+      "Qp=Ap*q*(w*Nq-1); # in kN\n",
+      "Qpall=Qp/FS; # in kN\n",
+      "print round(Qpall),\"allowed load in kN\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6383.0 allowed load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.3:Pg-611"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.3\n",
+      "\n",
+      "import math\n",
+      "Ap=math.pi/4*1.5**2; # area in m^2\n",
+      "Db=1.5; # in m\n",
+      "z=3.0;\n",
+      "p=math.pi*1;\n",
+      "Li=6.0;\n",
+      "N60=30.0;\n",
+      "sigmazi=16*z;\n",
+      "Beta=2.0-0.15*z**0.75;\n",
+      "fi=Beta*sigmazi; # in kN/m^2\n",
+      "qp=57.5*N60; # in kN/m^2\n",
+      "qpr=1.27/Db*qp; # in kN/m^2\n",
+      "Qunet=qpr*Ap+fi*p*Li; # in kN\n",
+      "print round(Qunet,2),\"allowed load in kN\"\n",
+      "#part b\n",
+      "k1=0.315; #from table\n",
+      "k2=12.0/1.5/1000*100.0;\n",
+      "Qunet2=qpr*Ap*k1+fi*p*Li*k2; # in kN\n",
+      "print round(Qunet2,2),\"allowed load in kN\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4081.11 allowed load in kN\n",
+        "2013.14 allowed load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.4:Pg-617"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.4\n",
+      "\n",
+      "Nc=9;\n",
+      "Ap=math.pi/4*1.5**2; # area in m^2\n",
+      "cu=105; # in kN/m^2\n",
+      "Qpnet=Ap*cu*Nc; # in kN\n",
+      "print round(Qpnet),\"net ultimate bearing point capacity in kN\"\n",
+      "#part2\n",
+      "alpha=0.4;\n",
+      "Ds=1.5; # in m \n",
+      "p=math.pi*Ds;\n",
+      "Qs=alpha*p*(50*8+105*3); # in kN\n",
+      "print int(Qs),\"skin resistance in kN\"\n",
+      "#part3\n",
+      "FS=3;  # factor of safety\n",
+      "Qu=Qpnet/FS+Qs/FS; # in kN\n",
+      "print round(Qu,2),\"working load in kN\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1670.0 net ultimate bearing point capacity in kN\n",
+        "1347 skin resistance in kN\n",
+        "1005.9 working load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.5:Pg-618"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.5\n",
+      "\n",
+      "import math\n",
+      "cub=3000;\n",
+      "L=20+5; # in ft\n",
+      "Db=4; # in ft\n",
+      "Ap=math.pi/4*Db**2; # area in ft^2\n",
+      "alpha=0.55;\n",
+      "cu1=800; # in lb/ft^2\n",
+      "L1=7; # in ft\n",
+      "L2=5.5; # in ft\n",
+      "cu2=1200; # in lb/ft^2\n",
+      "p=math.pi*2.5;\n",
+      "k=alpha*p*(cu1*L1+cu2*L2);#f*p*deltaLi\n",
+      "j1=6*cub*(1+0.2*L/Db);\n",
+      "j2=9*cub;\n",
+      "qp=min(j1,j2);\n",
+      "Qu=k/1000+qp*Ap/1000; # in kip\n",
+      "print round(Qu),\"allowed load in kip\"\n",
+      "#part b\n",
+      "k1=0.57; #from table\n",
+      "k2=0.89;\n",
+      "Qunet2=qp*Ap*k1+k*k2; # in kip\n",
+      "print round(Qunet2/1000,2),\"allowed load in kip\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "392.0 allowed load in kip\n",
+        "240.3 allowed load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.6:Pg-621"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.6\n",
+      "\n",
+      "import math\n",
+      "Qws=1005-250; # in kN\n",
+      "Qwp=250; # in kN\n",
+      "epsilon=0.65; \n",
+      "L=11; # in m\n",
+      "Ds=1.5; # in m\n",
+      "Es=14000; # in kN/m^2\n",
+      "Ap=math.pi/4*1.5**2; # area in m^2\n",
+      "Ep=21e6; # in kN/m^2\n",
+      "Cp=0.04; # in kN/m^2\n",
+      "Db=1.5;\n",
+      "mus=0.3;\n",
+      "p=math.pi*1.5;\n",
+      "Nc=9;\n",
+      "qp=105*Nc; # in kN/m^2\n",
+      "se1=(Qwp+epsilon*Qws)*L/(Ap*Ep); # in m \n",
+      "se2=Qwp*Cp/(Db*qp); # in m\n",
+      "Iws=2+0.35*math.sqrt(L/Ds);\n",
+      "se3=Qws/p/L*Ds/Es*(1-mus**2)*Iws; # in m\n",
+      "se=se1+se2+se3; # in m\n",
+      "print round(se*1000,2),\" is net settlement in mm\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "11.46  is net settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.7:Pg-628"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.7\n",
+      "\n",
+      "import math\n",
+      "import numpy\n",
+      "from scipy.optimize import fsolve\n",
+      "Ds=1.0;\n",
+      "Ep=22e6;\n",
+      "Ri=1.0;\n",
+      "cu=100.0;\n",
+      "Ip=math.pi*Ds**4/64.0;\n",
+      "Qc=7.34*Ds**2*Ep*Ri*(cu/Ep/Ri)**0.6;\n",
+      "print round(Qc,2),\"bearing force in kN\"\n",
+      "Mc=3.86*Ds**3*Ep*Ri*(cu/Ep/Ri)**0.6;\n",
+      "print round(Mc,2),\"bearing moment in kNm\"\n",
+      "#from figure\n",
+      "xoQM=0.0046*1;\n",
+      "xoMQ=0.0041*1;\n",
+      "xo=0.5*(xoQM+xoMQ);\n",
+      "print round(xo*1000,2),\"net ground line deflection in mm\"\n",
+      "#partb\n",
+      "Ip=0.049;\n",
+      "Qg=150.0;\n",
+      "Mg=200.0;\n",
+      "def f(T):\n",
+      "    return 338e-6*T**3+300.6e-6*T**2-0.00435\n",
+      "[x]=fsolve(f,2);\n",
+      "T=x;\n",
+      "k=[0, 0.4, 0.6, 0.8, 1.0, 1.1, 1.25];#z/T\n",
+      "Am=[0, 0.36, 0.52, 0.63, 0.75, 0.765, 0.75];\n",
+      "Bm=[1.0, 0.98, 0.95, 0.9, 0.845, 0.8, 0.73];\n",
+      "print \"z/T\\t Am\\t Bm\\t Mz(kN-m)\\n\"\n",
+      "Mz=numpy.zeros(7)\n",
+      "for i in range(0,7):\n",
+      "    Mz[i]=Am[i]*Qg*T+Bm[i]*Mg;\n",
+      "    print k[i],\"\\t\",round(Am[i],2),\"\\t\",round(Bm[i],2),\"\\t\",round(Mz[i],2)\n",
+      "\n",
+      "print round(1*T,2),\"depth in m\"\n",
+      "#partc\n",
+      "Mmax=400;\n",
+      "sigma=Mmax*Ds/2/Ip;\n",
+      "print round(sigma,2),\"tensile stress in kN/m**2\"\n",
+      "#partd\n",
+      "#from figure\n",
+      "k=8.5;\n",
+      "L=k*1;\n",
+      "print L,\"length in m\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "100615.56 bearing force in kN\n",
+        "52912.27 bearing moment in kNm\n",
+        "4.35 net ground line deflection in mm\n",
+        "z/T\t Am\t Bm\t Mz(kN-m)\n",
+        "\n",
+        "0 \t0.0 \t1.0 \t200.0\n",
+        "0.4 \t0.36 \t0.98 \t308.4\n",
+        "0.6 \t0.52 \t0.95 \t352.35\n",
+        "0.8 \t0.63 \t0.9 \t376.69\n",
+        "1.0 \t0.75 \t0.84 \t403.16\n",
+        "1.1 \t0.77 \t0.8 \t398.84\n",
+        "1.25 \t0.75 \t0.73 \t380.16\n",
+        "2.08 depth in m\n",
+        "4081.63 tensile stress in kN/m**2\n",
+        "8.5 length in m\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.8:Pg-634"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.8\n",
+      "\n",
+      "qu=3000; # lb/in^2\n",
+      "Ds=3*12; #in inch\n",
+      "L=15*12; # in inch\n",
+      "FS=3; # factor of safety\n",
+      "Ecore=0.36e6; # in lb/in^2\n",
+      "f=min(2.5*qu**0.5,0.15*qu);\n",
+      "Qu=math.pi*Ds*L*f/1000; # in kip\n",
+      "Emass=Ecore*(0.266*80-1.66); # in lb/in^2\n",
+      "Ec=17.9*Emass; # in lb/in^2\n",
+      "Ac=math.pi/4*Ds**2; # area in in^2\n",
+      "If=0.35;\n",
+      "se=Qu*L/Ac/Ec+Qu*If/Ds/Emass;\n",
+      "Qall=Qu/FS; # in kip\n",
+      "print round(Qall),\"allowed load in kip\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "929.0 allowed load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter12_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter12_2.ipynb
new file mode 100755
index 00000000..fcc14387
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter12_2.ipynb
@@ -0,0 +1,443 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1439e2e46e40a0d47bd1c7e06a03c417c0e1f55ad415a0af82536f86f7ecfea9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter12:Drilled-Shaft Foundations"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.1:Pg-609"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.1\n",
+      "\n",
+      "import math\n",
+      "Ap=math.pi/4*1.75**2;  # area in m^2\n",
+      "FS=4; # factor of safety\n",
+      "Nq=37.75; \n",
+      "L=8;\n",
+      "Es=50000.0;\n",
+      "mus=0.265;\n",
+      "pu=100.0;\n",
+      "Db=1.75; # in m\n",
+      "q=6*16.2+2*19.2;\n",
+      "phi=36*math.pi/180.0;\n",
+      "Fqs=1+math.tan(phi);\n",
+      "Fqd=1+2*math.tan(phi)*(1-math.sin(phi))**2*math.atan(L/Db);\n",
+      "Ir=Es/(2*(1+mus)*q*math.tan(phi));\n",
+      "delta=0.005*(1-phi/20*180/math.pi+25/20.0)*q/pu;\n",
+      "Irr=Ir/(1+Ir*delta);\n",
+      "Fqc=math.exp(-3.8*math.tan(phi)+(3.07*math.sin(phi)*math.log10(2*Irr))/(1+math.sin(phi)));\n",
+      "Qp=Ap*(q*(Nq-1)*Fqs*Fqd*Fqc);\n",
+      "Qpall=Qp/FS;\n",
+      "print round(Qpall,2),\"allowed load in kN\"\n",
+      "print \"due to rounding off error there is slight change in answer\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6648.7 allowed load in kN\n",
+        "due to rounding off error there is slight change in answer\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.2:Pg-610"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.2\n",
+      "import math\n",
+      "Ap=math.pi/4*1.75**2; # area in m^2\n",
+      "q=135.6; \n",
+      "w=0.83;\n",
+      "FS=4; # factor of safety\n",
+      "phi=36; # given angle\n",
+      "Nq=0.21*math.exp(0.17*phi);\n",
+      "Qp=Ap*q*(w*Nq-1); # in kN\n",
+      "Qpall=Qp/FS; # in kN\n",
+      "print round(Qpall),\"allowed load in kN\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6383.0 allowed load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.3:Pg-611"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.3\n",
+      "\n",
+      "import math\n",
+      "Ap=math.pi/4*1.5**2; # area in m^2\n",
+      "Db=1.5; # in m\n",
+      "z=3.0;\n",
+      "p=math.pi*1;\n",
+      "Li=6.0;\n",
+      "N60=30.0;\n",
+      "sigmazi=16*z;\n",
+      "Beta=2.0-0.15*z**0.75;\n",
+      "fi=Beta*sigmazi; # in kN/m^2\n",
+      "qp=57.5*N60; # in kN/m^2\n",
+      "qpr=1.27/Db*qp; # in kN/m^2\n",
+      "Qunet=qpr*Ap+fi*p*Li; # in kN\n",
+      "print round(Qunet,2),\"allowed load in kN\"\n",
+      "#part b\n",
+      "k1=0.315; #from table\n",
+      "k2=12.0/1.5/1000*100.0;\n",
+      "Qunet2=qpr*Ap*k1+fi*p*Li*k2; # in kN\n",
+      "print round(Qunet2,2),\"allowed load in kN\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4081.11 allowed load in kN\n",
+        "2013.14 allowed load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.4:Pg-617"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.4\n",
+      "\n",
+      "Nc=9;\n",
+      "Ap=math.pi/4*1.5**2; # area in m^2\n",
+      "cu=105; # in kN/m^2\n",
+      "Qpnet=Ap*cu*Nc; # in kN\n",
+      "print round(Qpnet),\"net ultimate bearing point capacity in kN\"\n",
+      "#part2\n",
+      "alpha=0.4;\n",
+      "Ds=1.5; # in m \n",
+      "p=math.pi*Ds;\n",
+      "Qs=alpha*p*(50*8+105*3); # in kN\n",
+      "print int(Qs),\"skin resistance in kN\"\n",
+      "#part3\n",
+      "FS=3;  # factor of safety\n",
+      "Qu=Qpnet/FS+Qs/FS; # in kN\n",
+      "print round(Qu,2),\"working load in kN\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1670.0 net ultimate bearing point capacity in kN\n",
+        "1347 skin resistance in kN\n",
+        "1005.9 working load in kN\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.5:Pg-618"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.5\n",
+      "\n",
+      "import math\n",
+      "cub=3000;\n",
+      "L=20+5; # in ft\n",
+      "Db=4; # in ft\n",
+      "Ap=math.pi/4*Db**2; # area in ft^2\n",
+      "alpha=0.55;\n",
+      "cu1=800; # in lb/ft^2\n",
+      "L1=7; # in ft\n",
+      "L2=5.5; # in ft\n",
+      "cu2=1200; # in lb/ft^2\n",
+      "p=math.pi*2.5;\n",
+      "k=alpha*p*(cu1*L1+cu2*L2);#f*p*deltaLi\n",
+      "j1=6*cub*(1+0.2*L/Db);\n",
+      "j2=9*cub;\n",
+      "qp=min(j1,j2);\n",
+      "Qu=k/1000+qp*Ap/1000; # in kip\n",
+      "print round(Qu),\"allowed load in kip\"\n",
+      "#part b\n",
+      "k1=0.57; #from table\n",
+      "k2=0.89;\n",
+      "Qunet2=qp*Ap*k1+k*k2; # in kip\n",
+      "print round(Qunet2/1000,2),\"allowed load in kip\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "392.0 allowed load in kip\n",
+        "240.3 allowed load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.6:Pg-621"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.6\n",
+      "\n",
+      "import math\n",
+      "Qws=1005-250; # in kN\n",
+      "Qwp=250; # in kN\n",
+      "epsilon=0.65; \n",
+      "L=11; # in m\n",
+      "Ds=1.5; # in m\n",
+      "Es=14000; # in kN/m^2\n",
+      "Ap=math.pi/4*1.5**2; # area in m^2\n",
+      "Ep=21e6; # in kN/m^2\n",
+      "Cp=0.04; # in kN/m^2\n",
+      "Db=1.5;\n",
+      "mus=0.3;\n",
+      "p=math.pi*1.5;\n",
+      "Nc=9;\n",
+      "qp=105*Nc; # in kN/m^2\n",
+      "se1=(Qwp+epsilon*Qws)*L/(Ap*Ep); # in m \n",
+      "se2=Qwp*Cp/(Db*qp); # in m\n",
+      "Iws=2+0.35*math.sqrt(L/Ds);\n",
+      "se3=Qws/p/L*Ds/Es*(1-mus**2)*Iws; # in m\n",
+      "se=se1+se2+se3; # in m\n",
+      "print round(se*1000,2),\" is net settlement in mm\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "11.46  is net settlement in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.7:Pg-628"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.7\n",
+      "\n",
+      "import math\n",
+      "import numpy\n",
+      "from scipy.optimize import fsolve\n",
+      "Ds=1.0;\n",
+      "Ep=22e6;\n",
+      "Ri=1.0;\n",
+      "cu=100.0;\n",
+      "Ip=math.pi*Ds**4/64.0;\n",
+      "Qc=7.34*Ds**2*Ep*Ri*(cu/Ep/Ri)**0.6;\n",
+      "print round(Qc,2),\"bearing force in kN\"\n",
+      "Mc=3.86*Ds**3*Ep*Ri*(cu/Ep/Ri)**0.6;\n",
+      "print round(Mc,2),\"bearing moment in kNm\"\n",
+      "#from figure\n",
+      "xoQM=0.0046*1;\n",
+      "xoMQ=0.0041*1;\n",
+      "xo=0.5*(xoQM+xoMQ);\n",
+      "print round(xo*1000,2),\"net ground line deflection in mm\"\n",
+      "#partb\n",
+      "Ip=0.049;\n",
+      "Qg=150.0;\n",
+      "Mg=200.0;\n",
+      "def f(T):\n",
+      "    return 338e-6*T**3+300.6e-6*T**2-0.00435\n",
+      "[x]=fsolve(f,2);\n",
+      "T=x;\n",
+      "k=[0, 0.4, 0.6, 0.8, 1.0, 1.1, 1.25];#z/T\n",
+      "Am=[0, 0.36, 0.52, 0.63, 0.75, 0.765, 0.75];\n",
+      "Bm=[1.0, 0.98, 0.95, 0.9, 0.845, 0.8, 0.73];\n",
+      "print \"z/T\\t Am\\t Bm\\t Mz(kN-m)\\n\"\n",
+      "Mz=numpy.zeros(7)\n",
+      "for i in range(0,7):\n",
+      "    Mz[i]=Am[i]*Qg*T+Bm[i]*Mg;\n",
+      "    print k[i],\"\\t\",round(Am[i],2),\"\\t\",round(Bm[i],2),\"\\t\",round(Mz[i],2)\n",
+      "\n",
+      "print round(1*T,2),\"depth in m\"\n",
+      "#partc\n",
+      "Mmax=400;\n",
+      "sigma=Mmax*Ds/2/Ip;\n",
+      "print round(sigma,2),\"tensile stress in kN/m**2\"\n",
+      "#partd\n",
+      "#from figure\n",
+      "k=8.5;\n",
+      "L=k*1;\n",
+      "print L,\"length in m\"\n",
+      "\n",
+      "# the answer is slightly different in textbook due to approximation\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "100615.56 bearing force in kN\n",
+        "52912.27 bearing moment in kNm\n",
+        "4.35 net ground line deflection in mm\n",
+        "z/T\t Am\t Bm\t Mz(kN-m)\n",
+        "\n",
+        "0 \t0.0 \t1.0 \t200.0\n",
+        "0.4 \t0.36 \t0.98 \t308.4\n",
+        "0.6 \t0.52 \t0.95 \t352.35\n",
+        "0.8 \t0.63 \t0.9 \t376.69\n",
+        "1.0 \t0.75 \t0.84 \t403.16\n",
+        "1.1 \t0.77 \t0.8 \t398.84\n",
+        "1.25 \t0.75 \t0.73 \t380.16\n",
+        "2.08 depth in m\n",
+        "4081.63 tensile stress in kN/m**2\n",
+        "8.5 length in m\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12.8:Pg-634"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 12.8\n",
+      "\n",
+      "qu=3000; # lb/in^2\n",
+      "Ds=3*12; #in inch\n",
+      "L=15*12; # in inch\n",
+      "FS=3; # factor of safety\n",
+      "Ecore=0.36e6; # in lb/in^2\n",
+      "f=min(2.5*qu**0.5,0.15*qu);\n",
+      "Qu=math.pi*Ds*L*f/1000; # in kip\n",
+      "Emass=Ecore*(0.266*80-1.66); # in lb/in^2\n",
+      "Ec=17.9*Emass; # in lb/in^2\n",
+      "Ac=math.pi/4*Ds**2; # area in in^2\n",
+      "If=0.35;\n",
+      "se=Qu*L/Ac/Ec+Qu*If/Ds/Emass;\n",
+      "Qall=Qu/FS; # in kip\n",
+      "print round(Qall),\"allowed load in kip\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "929.0 allowed load in kip\n"
+       ]
+      }
+     ],
+     "prompt_number": 35
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter13_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter13_1.ipynb
new file mode 100755
index 00000000..bfb80602
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter13_1.ipynb
@@ -0,0 +1,176 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:549425d7a43cc856ebd1610c783821836546fd833bb34512fcafdb71f662b655"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter13:Foundations on Difficult Soils"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex13.1:Pg-653"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 13.1\n",
+      "\n",
+      "Sw=1;\n",
+      "Z=2; # in m\n",
+      "deltaSf=0.0033*Z*Sw*1000; # in mm\n",
+      "print deltaSf,\"free surface swell in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6.6 free surface swell in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex13.2:Pg-13.2"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 13.2\n",
+      "\n",
+      "#from figure 13.11\n",
+      "import matplotlib.pyplot as plt\n",
+      "%matplotlib inline\n",
+      "import numpy\n",
+      "deltaS=1/100.0*1/2.0*(0.55+0+0.55+1.2+1.2+2+2+3);\n",
+      "print deltaS*1000,\"total swell in mm\"\n",
+      "#partb\n",
+      "D=numpy.array([5.2, 4.2, 3.2, 2.2, 1.2]);\n",
+      "deltaS=numpy.array([0, 0.00275, 0.0115, 0.0275, 0.0525]);\n",
+      "print \"depth(m)\\t  total swell (m) \\n\"\n",
+      "for i in range (0,5):\n",
+      "    print D[i],\"\\t            \",deltaS[i],\" \\n\",\n",
+      "\n",
+      "plt.plot(deltaS*1000,D);\n",
+      "plt.title(\"depth vs total swell\")\n",
+      "plt.xlabel(\"total swell (m)\")\n",
+      "plt.ylabel(\"depth (m)\")\n",
+      "plt.show()\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "52.5 total swell in mm\n",
+        "depth(m)\t  total swell (m) \n",
+        "\n",
+        "5.2 \t             0.0  \n",
+        "4.2 \t             0.00275  \n",
+        "3.2 \t             0.0115  \n",
+        "2.2 \t             0.0275  \n",
+        "1.2 \t             0.0525  \n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\nNwAAAABJRU5ErkJggg==\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x1d192b0>"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex13.3:Pg-664"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 13.3\n",
+      "\n",
+      "import math\n",
+      "from scipy.optimize import fsolve\n",
+      "phi=12*math.pi/180;\n",
+      "Ds=0.8; # in m\n",
+      "Z=5; # in m \n",
+      "sigmaT=450;\n",
+      "U=math.pi*Ds*Z*sigmaT*math.tan(phi); # in kN\n",
+      "def f(D):\n",
+      "    return 1202-450*6.14/1.25*3.14/4*(D**2-0.8**2)\n",
+      "[x]=fsolve(f,1);\n",
+      "Db=x; # in m\n",
+      "print round(Db,2),\"diameter of bell in m\"\n",
+      "#partb\n",
+      "D=600; # in kN\n",
+      "cu=450; # in kN/m^2\n",
+      "Nc=6.14;\n",
+      "FS=cu*Nc*math.pi/4*(Db**2-Ds**2)/(U-D);\n",
+      "if FS>2 :\n",
+      "    print \"the structure is compatible with safety measures\"\n",
+      "\n",
+      "#check bearing capacity\n",
+      "L=D+300;#dead+live load in kN\n",
+      "Dp=L/math.pi*4/Db**2;#downward pressure\n",
+      "FS=2763/Dp; # factor of safety\n",
+      "if FS>3:\n",
+      "    print \"the structure is safe in bearing \"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1.15 diameter of bell in m\n",
+        "the structure is compatible with safety measures\n",
+        "the structure is safe in bearing \n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter13_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter13_2.ipynb
new file mode 100755
index 00000000..bfb80602
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter13_2.ipynb
@@ -0,0 +1,176 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:549425d7a43cc856ebd1610c783821836546fd833bb34512fcafdb71f662b655"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter13:Foundations on Difficult Soils"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex13.1:Pg-653"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 13.1\n",
+      "\n",
+      "Sw=1;\n",
+      "Z=2; # in m\n",
+      "deltaSf=0.0033*Z*Sw*1000; # in mm\n",
+      "print deltaSf,\"free surface swell in mm\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6.6 free surface swell in mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex13.2:Pg-13.2"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 13.2\n",
+      "\n",
+      "#from figure 13.11\n",
+      "import matplotlib.pyplot as plt\n",
+      "%matplotlib inline\n",
+      "import numpy\n",
+      "deltaS=1/100.0*1/2.0*(0.55+0+0.55+1.2+1.2+2+2+3);\n",
+      "print deltaS*1000,\"total swell in mm\"\n",
+      "#partb\n",
+      "D=numpy.array([5.2, 4.2, 3.2, 2.2, 1.2]);\n",
+      "deltaS=numpy.array([0, 0.00275, 0.0115, 0.0275, 0.0525]);\n",
+      "print \"depth(m)\\t  total swell (m) \\n\"\n",
+      "for i in range (0,5):\n",
+      "    print D[i],\"\\t            \",deltaS[i],\" \\n\",\n",
+      "\n",
+      "plt.plot(deltaS*1000,D);\n",
+      "plt.title(\"depth vs total swell\")\n",
+      "plt.xlabel(\"total swell (m)\")\n",
+      "plt.ylabel(\"depth (m)\")\n",
+      "plt.show()\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "52.5 total swell in mm\n",
+        "depth(m)\t  total swell (m) \n",
+        "\n",
+        "5.2 \t             0.0  \n",
+        "4.2 \t             0.00275  \n",
+        "3.2 \t             0.0115  \n",
+        "2.2 \t             0.0275  \n",
+        "1.2 \t             0.0525  \n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEZCAYAAACXRVJOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm81VW9//HXm8EJ50wcQHHMzAlNnGWjpIKIWl4nfk73\nd9PS0rrmVN1E8+q1btchK72paYaaSaEmznoQs8ABFEVMBXMGzQmkFORz/1jfI9vNGfYZvmdP7+fj\nsR9993ev/f1+1pHO56y1vmstRQRmZma9Kh2AmZlVBycEMzMDnBDMzCzjhGBmZoATgpmZZZwQzMwM\ncEKwHiTpGkk/zOnaYyVdl8e1K0XSsZImV+jen/w8JQ2StESSf1/UOf8Htp4U2atLJBUkvdzCtXtU\nRxNcngkxB56g1ICcEKynqcau26j882xATgiWG0mDJT0u6X1JNwIrlHw+StJ0Se9I+pOkrYs+e1HS\nmZKelvS2pKslLS+pH3AHsJ6k+dm11yX9RbucpGuzc09J2qGVuH4h6ccl526R9K3s+AxJr2TXmSVp\nrxaucTxwJHB6Fsct2fnPS2rK6vSUpAPaKX+mpOezez0t6aAyf7YrSPqNpLeye02VtLakYZKeLCp3\nj6SpRe8nSxqdHa8nabykeZJmS/pmOfe2OhYRfvnV7S9gOeBvwClAb+ArwEfAudnng4G5wI6kv0aP\nBuYAfbPPXwSeBNYH1gAeAn6YfTYUeLnkfmOBfwD7Zdc7H/hzK7HtAbxU9H4NYCGwDvA54CVgneyz\nDYCNW7nOr5rrk73vCzwPnAn0AYYB7wObt1Q+O3dI0b0OBRYA/bP3xwKTW7n3CcCtpCSr7Oe5CrBi\n9nNYM4tnLvAy0C/7bGFW317AY8D3s1g3Al4A9in6eV6XHQ8ClgC9Kv3vyq98X24hWF52BvpExCUR\n8XFEjAceKfr8eOCKiHgkkl8DH2bfg/QX/2UR8WpEvAP8J3BE9llr3RmTI+LOiAjgN8C2rZR7CAhJ\ne2TvDwEejog3gI+B5YEvSOobES9FxOw26lkcy85Av4j4r4hYHBEPAH8siftTsUfEzdl9iYibgOeA\nndq4X7OPgM8Am2U/v2kRMT8i/kH6OQ8FdgCmA38Cds/iey77ee4IrBUR52WxzgGuBA4v495Wp5wQ\nLC/rAa+WnPtb0fGGwKlZd8c7kt4BBmTfa1Y8cPxSyWctmVt0vBBYoaUnY7KEcSNLf1EfCYzLPnse\n+BbpL+S5km7IuqTKsV5JzJDq3Bz3MgO1ko6WNK3oZ7AV6Rd9e64D7gJulPSqpAsl9ck+mwQUSC2h\nSdlrKLAn0JSV2ZDU7Vb88z8LWLusmlpdckKwvLxO6u4ptmHR8UvAf0bEGkWvlSPit0VlNig5fi07\nbukJmI4+FXMDcIikDYEhwPhPLhRxQ0TskcUbwIWtXKP0nq8BAyUVtwI2ZGli/FT57N7/C5wErBkR\nawBPUcaAbvZX/bkR8QVgV2AUqdsNUgIYxtIE0JwghmbHkBLXnJKf/6oRMaqVulkDcEKwvDwMLJZ0\nsqS+kr5M6qZo9kvga5KGKOknaX9JK2efCzhR0vqS1gS+R/qrHlJL4DOSVi26XoeeiomI6cBbpG6S\nOyPifQBJm0vaS9LypC6sf5K6kVoyF9i46P1fSC2T07M6F0i/qG9spXw/0i/et4Beko4jtRDalT16\nu7Wk3sB8YFFRnH8mjYXsCEyNiJmkxLQT8GBWZgowX9LpklaU1FvSVpK+2HyLcuKw+uKEYLmIiEXA\nl0kDo38nDZgW/xX+GPBV4DLgbVLf+dEs/cs0gOuBu0mDnc8B52XfnUX6C3929gRS81NGpX/VtvdX\n7vXAXtn/NlseuAB4k9TKWYvUldKSq4Atsy6X32d1PgAYkX3/MuCoiPhrK+VnAj8h/QJ/g5QMHiqJ\nv7U6rAP8DngPmElqCVwHEBEfkAaMn46IxVn5h4EXI+KtrMwSUrLaDpidxfu/QHOSLb23WwwNQKk7\nNccbSC+SnrT4GFgUEUNKPi8At5D+UQKMj4jzcg3Kqp6kOcD/j4j7Kx2LWaPo036RLgugEBFvt1Fm\nUkSM7oFYzMysFT3VZdRef6T7K83MKqwnEkIA90p6VNJXW/l8V0lPSJooacseiMmqXERs5O4is57V\nE11Gu0XE65I+C9wjaVZEFK/g+DgwMCIWShoBTAA274G4zMysSO6Dyp+6mXQ2sCAiftJGmTnADsVj\nDpL8hIOZWSdERNld8rl2GUlaSdIq2XE/YB9gRkmZ/s0TeSQNISWpZQagK73GR56vs88+u+IxuH6u\nm+tXf6+OyrvLqD/wh+z3fR9gXETcLekEgIi4grSOzNclLSZN6vFaKmZmFZBrQoi0YNZ2LZy/ouj4\nZ8DP8ozDzMza55nKVaBQKFQ6hFzVc/3quW7g+jWaHh1U7ixJUQtxmplVE0lEtQwqm5lZ7XBCMDMz\nwAnBzMwyTghmZgY4IZiZWcYJwczMACcEMzPLOCGYmRnghGBmZpmaSQieqGxmlq+aSQizZlU6AjOz\n+lYzCWHChEpHYGZW32omIdxyS6UjMDOrbzWTEJ59Fl5/vdJRmJnVr9wTgqQXJT0paZqkqa2UuVTS\nc5KekDS4pTL77Qe33ZZvrGZmjawnWggBFCJicEQMKf1Q0khg04jYDDge+EVLFznwQHcbmZnlqae6\njNraoGE0cC1AREwBVpfUv7TQiBHw4IMwf35OEZqZNbieaiHcK+lRSV9t4fP1gZeL3r8CDCgttNpq\nsOuucNddOUVpZtbg+vTAPXaLiNclfRa4R9KsiJhcUqa0BbHMNLSxY8fSpw+cey6stVbBe6GamZVo\namqiqamp09/v0T2VJZ0NLIiInxSduxxoiogbs/ezgKERMbeoTEQEr7wC224Lb7wBffv2WNhmZjWp\nqvZUlrSSpFWy437APsCMkmK3AkdnZXYG3i1OBsUGDICNNoKHHsoxaDOzBpX3GEJ/YLKk6cAU4I8R\ncbekEySdABARE4HZkp4HrgBObOuCBx7oWctmZnno0S6jzmruMgKYMQMOOADmzAGV3RAyM2s8VdVl\nlIettoJeveDJJysdiZlZfam5hCB5kpqZWR5qLiGAE4KZWR5qbgwBYPFi6N8fpk2DDTaoYGBmZlWs\n7scQAPr0gVGj4NZbKx2JmVn9qMmEAO42MjPrbjXZZQSwYAGstx689BKsvnqFAjMzq2IN0WUEsPLK\nsOeecMcdlY7EzKw+1GxCAM9aNjPrTjXbZQRpkbsttoC5c2H55SsQmJlZFWuYLiOAddaBLbeELqz2\namZmmZpOCOCnjczMuktNdxkBzJoFw4enp4161Xx6MzPrPg3VZQRpDKFfP3jssUpHYmZW22o+IQAc\ndJC7jczMuqouEoLHEczMui73hCCpt6Rpkm5r4bOCpPeyz6dJ+n5n7rHTTjBvHsye3fV4zcwaVU+0\nEE4BZgKtjV5PiojB2eu8ztygd++0i5pbCWZmnZdrQpA0ABgJXAm0NtLdLRthetaymVnX5N1CuAg4\nDVjSyucB7CrpCUkTJW3Z2RsNHw7Tp8Nbb3X2CmZmja1PXheWNAqYFxHTJBVaKfY4MDAiFkoaAUwA\nNm+p4NixYz85LhQKFAqfvuSKK8Lee8Ptt8Mxx3Q9fjOzWtPU1ERTF5ZuyG1imqTzgaOAxcAKwKrA\n+Ig4uo3vzAF2iIi3S863OjGt2LXXpnGE3/++S6GbmdWFjk5M65GZypKGAt+JiANKzvcntSJC0hDg\npogY1ML3y0oIb70Fm2ySFr1bccVuCt7MrEZV80zlAJB0gqQTsnOHADMkTQcuBg7vyg3WWgu22w7u\nvbdrgZqZNaKaX8uo1EUXwdNPw5VX5hyUmVmVq8ouo67qSEKYPRt22QVeey3NTzAza1TV3GXUIzbe\nGNZeG6ZMqXQkZma1pe4SAnhtIzOzzqjbhOBZy2ZmHVOXCWGHHeCDD9LmOWZmVp66TAi9esHo0e42\nMjPriLpMCOBxBDOzjqq7x06bffgh9O+fuo3WWSenwMzMqljDP3babPnlYd994bZltuUxM7OW1G1C\ngLTXshe6MzMrT10nhFGjYM4cOP/8SkdiZlb9ctsPoRqssgrcfz8UCtCnD5x+eqUjMjOrXnWdEADW\nWw8eeACGDk1J4d//vdIRmZlVp7pPCADrr//ppHDyyZWOyMys+jREQgAYODAlhUIhrYJ60kmVjsjM\nrLo0TEIA2HBDuO8+GDYstRROOKH975iZNYrcnzKS1FvSNEktzgiQdKmk5yQ9IWlw3vFsvHFKCued\nB1ddlffdzMxqR0+0EE4BZgKrlH4gaSSwaURsJmkn4BfAznkHtOmmKSnstVfqPjr22LzvaGZW/XJt\nIUgaAIwErgRamj49GrgWICKmAKtL6p9nTM023zztvfy978FvftMTdzQzq255txAuAk4DVm3l8/WB\nl4vevwIMAObmHBcAW2wB99wDw4enlsIRR/TEXc3MqlNuCUHSKGBeREyTVGiraMn7FlexGzt27CfH\nhUKBQqGtS5Zvyy3h7rvhS19KSeHQQ7vlsmZmPa6pqYmmpqZOfz+31U4lnQ8cBSwGViC1EsZHxNFF\nZS4HmiLixuz9LGBoRMwtuVaHVzvtqCeeSIvh/exn8JWv5HorM7MeUTWrnUbEdyNiYERsBBwO3F+c\nDDK3AkcDSNoZeLc0GfSUbbeFO+6AE0/0Pgpm1ph6ch5CAEg6ASAiroiIiZJGSnoe+AA4rgfjWcbg\nwXD77TByZOo+GjWqktGYmfWsut0gpyumTk3J4NprYcSIHrutmVm3qpouo1o2ZEjqNjrmmDTgbGbW\nCJwQWrHLLmlznTFj0iQ2M7N654TQht13h/Hj4fDDoQtPcpmZ1QQnhHbsuSfcdBP8y7/A5MmVjsbM\nLD9OCGUYNgxuuCHNT/jTnyodjZlZPpwQyjR8OFx3HRx8MPzlL5WOxsys+zkhdMC++8I118Do0fDI\nI5WOxsysezkhdNDIkWkfhVGj4LHHKh2NmVn3cULohAMOgMsvT8lh+vRKR2Nm1j3aXLpCUl9gH2BP\nYBBp+Ym/AQ8Cd0XE4rwDrFYHHwwffwz77Zcmr22zTaUjMjPrmlaXrpD0H8BXgD8DU4HXSC2KdYEh\npJ3Nbo6I83IPsoeXruiI3/4WvvWttK/CVltVOhozs6U6unRFWy2EJ4DzWvlNfLWkXkDDL/922GGp\npbDPPmlG8+c/X+mIzMw6x4vbdZNf/xrOOgvuvx8+97lKR2Nm1r0thOYL7gh8lzSG0Fw+IsK95kWO\nPjq1FPbeGx54ADbbrNIRmZl1TDn7IYwDvgM8BSzJN5zadtxxsHjx0qSwySaVjsjMrHzlJIQ3I+LW\nzlxc0grAJGB5YDnglog4q6RMAbgFmJ2dGt8TA9V5+epXU0thr73SgngbbVTpiMzMylNOQjhH0lXA\nvcBH2bmIiN+398WI+KekYRGxUFIf4CFJu0fEQyVFJ0XE6I6FXr2+9rXUUmhOChtuWOmIzMzaV05C\nOAb4XFa2uMuo3YQAEBELs8PlgN7A2y0UK3vQo1Z84xufTgoDB1Y6IjOztpWTEL4IbNHZx3yyx1Mf\nBzYBfhERM0uKBLCrpCeAV4HvtFCmJn3rW5/uPlp//UpHZGbWunKWrngY2LKzN4iIJRGxHTAA2DMb\nMyj2ODAwIrYFfgpM6Oy9qtGpp8K//VtKCq+/XulozMxaV04LYRdguqQ5wIfZuQ4/dhoR70m6ndTi\naCo6P7/o+A5JP5e0ZkR8qmtp7NixnxwXCgUKhUJHbl9RZ5zx6ZZC//6VjsjM6lFTUxNNXdjesd2J\naZIGtXQ+Il5s9+LSWsDiiHhX0orAXcA5EXFfUZn+wLyICElDgJsiYlDJdap+Ylo5zj03LXXxwAOw\n9tqVjsbM6l23TUyTtEpEzG/rF39zmTauvy5wbTaO0Au4LiLuk3QCQERcARwCfF3SYmAhcHi5wdea\nH/wgDTQPH55mNK+1VqUjMjNbqq3F7e4FniXNEXi0uQtH0mdI3T4HAZtFxPDcg6yTFgJABHzvezBx\nYkoKa65Z6YjMrF51tIXQZpeRpL2AI4HdgPWy068BDwHjIqKp86GWr54SAqSkcMYZaTG8e++FNdao\ndERmVo+6NSFUi3pLCJCSwqmnwuTJaens1VevdERmVm+cEGpIBJxyCkydmjbZWXXVSkdkZvWkownB\nW2hWkASXXALbbw8jRsD8tobnzcxy5oRQYRJcdlnabW3kSFiwoNIRmVmjKqvLSFJvoD9Fj6lGxEs5\nxlV6/7rsMiq2ZElaKfWFF+D226Ffv0pHZGa1rtvHECR9EzgbmAd83Hw+IrbubJAd1QgJAVJS+Nd/\nhZdfhttug5VWqnREZlbL8kgILwBDIuLvXQ2usxolIUBa4uKYY2DePLj1VlhhhUpHZGa1Ko9B5ZeA\n9zsfknVE795wzTXwmc/AwQfDhx+2+xUzs27R1kzlU7PDLYEtgD/y6Q1y/if/8D6JpWFaCM0WL4Yj\nj4SFC2H8eFh++UpHZGa1pjtbCKsAK5NaCPeQNrhZOXut0pUgrX19+sC4cbDccrDvvjBjRqUjMrN6\nV84YwqERcVN75/LUiC2EZosWweWXw3nnwejRacXUddetdFRmVgvyGEM4q8xzloO+feGb34Rnn01r\nHm21FZxzDnzwQaUjM7N609YYwghgJHAYcCNL9z1eBdgyIob0SIQ0dguh1Isvwne/C5MmwQ9/mJ5I\n6t270lGZWTXqtsdOJW0LDAbOBf6j6KP5wAMR8U5XAu0IJ4RlTZ2aFsd77z347/+GffapdERmVm3y\nmIfQl9S1tAUQwKyI+KjNL3UzJ4SWRcCECXD66bDJJikxbLVVpaMys2qRxxjCPsDzwKXAT4EXJI0s\nI5AVJE2RNF3STEkXtFLuUknPSXpC0uByA7e0DtLBB8PTT6d1kPbaKy1/8frrlY7MzGpROQnhf4Bh\nETE0IoYCBeCi9r4UEf/MvrcdsA0wTNLuxWWyxLJpRGwGHA/8ooPxG+nR1JNPhr/+1QPPZtZ55SSE\n9yPi+aL3sylz5nJELMwOlwN6A2+XFBkNXJuVnQKsLql/Ode2Za2+OvzoR/DYY+mppM03h6uvTsth\nmJm1p5yE8JikiZKOlXQsacbyo5K+LOnLbX1RUi9J04G5pIHomSVF1gdeLnr/CjCg/PCtJYMGwfXX\nw+9/D7/6FQwenDbgMTNrSzkJYQXSSqdDs9eb2bkDslerImJJ1mU0ANhTUqGFYqUDHh497iY77QQP\nPpi6j046KW3C89RTlY7KzKpVn/YKRMSxXb1JRLwn6Xbgi0BT0UevAgOL3g/Izi1j7NixnxwXCgUK\nhUJXw2oIzQPP+++fZjzvtRcceKBnPJvVo6amJpqamjr9/XIeO/0c8HNgnYj4gqRtgNERcV4731sL\nWBwR70paEbgLOCci7isqMxL4RkSMlLQzcHFE7NzCtfzYaTd59104/3y46qo0EP2d73gzHrN6lcdj\np78EvsvSlU5nAEeU8b11gfuzMYQpwG0RcZ+kEySdABARE4HZkp4HrgBOLDdw6xwPPJtZa8ppITwa\nEV+UNC0iBmfnpmdjAz3CLYT8TJmSWgme8WxWf/JoIbwpadOiGxwCeOpTnfDAs5k1KychfIPUnbOF\npNeAbwNfzzUq61HFM55HjPCMZ7NG1W5CiIgXImJvYC3gcxGxW0S8mHtk1uM849mssZWzhSa0MDfA\nW2jWvxdfhLPOSl1KXmrbrPbksYXmDqQuovVJ8wS+BmzflSCtNgwaBDfcsHTG8/bbwz33VDoqM8tL\nOU8ZTQZGRsT87P0qwMSI2KMH4muOwS2ECiteanvTTeHHP/ZS22bVLo+njNYGFhW9X5SdswbigWez\n+ldOQvg1MFXSWEnnkCaZXZtvWFatPPBsVr/a7TICkLQDsAdpcPnBiJiWd2Al93eXUZWaMyft8eyB\nZ7Pq0+1baFYDJ4Tq1zzj+f3304znL32p0hGZmROCVYwHns2qSx6DymZl8cCzWW1zQrBu54Fns9rk\nhGC5aV5q+9FHYdYsL7VtVu08hmA9xgPPZj3Lg8pW1TzwbNZzqmpQWdJASQ9IelrSU5JObqFMQdJ7\nkqZlr+/nGZNVlgeezapX3mMIi4BvR8QXgJ2BkyR9voVykyJicPZqc69mqw8eeDarPrkmhIh4IyKm\nZ8cLgGeA9VooWnaTxuqLB57NqkePPWUkaRAwmLQWUrEAdpX0hKSJkrbsqZisemy0kZfaNqu0Pj1x\nE0krAzcDp2QthWKPAwMjYqGkEcAEYPPSa4wdO/aT40KhQKFQyC1eq5zmPZ4nTIATT/TAs1lHNDU1\n0dTU1Onv5/6UkaS+wB+BOyLi4jLKzwF2iIi3i875KaMG9NFHcPnlcN55cOCBcO65sO66lY7KrHZU\n21NGAq4CZraWDCT1z8ohaQgpSb3dUllrLC0NPJ97rgeezfKS9xjCbsD/A4YVPVY6QtIJkk7IyhwC\nzJA0HbgYODznmKzGFA88P/OMB57N8uKJaVZzPOPZrDyeqWwNIQL+8Ac44wwPPJu1pqrGEMzyIsGX\nv+wZz2bdyQnBapoHns26jxOC1QUPPJt1nccQrC5NmQKnngrz53vg2RqXB5XNMh54tkbnQWWzTOnA\n8957w/HHe+DZrDVOCFb3mgeen302jTV44NmsZU4I1jA88GzWNo8hWMMqHni+8ELYZx/o5T+RrI54\nUNmsA5oHnseOhffegyOPhDFjPPhs9cEJwayTnnwSxo2D66+HNddMieGII2DgwEpHZtY5TghmXbRk\nCUyenJLD+PGw9dYpORxySJoNbVYrnBDMutGHH8Idd6TkcPfdac2kMWNg1ChYYYVKR2fWNicEs5y8\n917a83ncOHj8cTjooJQcCgXo3bvS0ZktywnBrAe89hrceGNKDm+8AYcfnpLD4MFpQpxZNaiqhCBp\nIPBrYG0ggP+NiEtbKHcpMAJYCBwbEdNKPndCsKr1zDNpIHrcOFh++ZQYjjwSNt640pFZo6u2hLAO\nsE5ETJe0MvAYcFBEPFNUZiTwjYgYKWkn4JKI2LnkOk4IVvUi4C9/SYnhppvS+kljxsChh8JnP1vp\n6KwRVdVaRhHxRkRMz44XAM8A65UUGw1cm5WZAqwuqX+ecZnlQYJddoHLLoNXX4Xvfx8efhg22wz2\n3z+1IrxchlWzHpuXKWkQMBiYUvLR+sDLRe9fAQb0TFRm+ejbF0aOTK2FV15JXUi/+Q0MGABHHQV3\n3gmLF1c6SrNP69MTN8m6i24GTslaCssUKXm/TP/Q2LFjPzkuFAoUCoVujNAsPyuvnLqOxoyBefNS\nd9I558Axx8Bhh6XzQ4Z4MNq6rqmpiaampk5/P/enjCT1Bf4I3BERF7fw+eVAU0TcmL2fBQyNiLlF\nZTyGYHXn+eeXDkZ//PHSpLH55pWOzOpFVY0hSBJwFTCzpWSQuRU4Oiu/M/BucTIwq1ebbgo/+AHM\nmpUeYX3/fRg6FHbcES6+OD3OataT8n7KaHfgQeBJlnYDfRfYACAirsjKXQbsB3wAHBcRj5dcxy0E\nawgffwz3359aDbfckpLDmDFw8MGw6qqVjs5qTVU9dtpdnBCsEf3jH3DbbSk5TJoE++6bksN++6VN\nf8za44RgVofefht+97uUHGbOTAvtjRkDu+3mPRysdU4IZnXub3+DG25IyeH9972Hg7XOCcGsgXgP\nB2uLE4JZA/IeDtYSJwSzBuc9HKyZE4KZfcJ7ODQ2JwQza5H3cGg8Tghm1i7v4dAYnBDMrGzew6G+\nOSGYWacsWgT33JOSw+23p0lvY8bAgQdCv36Vjs46wwnBzLpswQKYMCElhz//GQ44ICWH4cOhT48s\nmm/dwQnBzLrVvHnw29+m5DBnjvdwqCVOCGaWG+/hUFucEMwsdxHw2GMpMdx4Y9oadMyY9CjrOutU\nOjpr5oRgZj3KezhULycEM6sY7+FQXaoqIUi6GtgfmBcRW7fweQG4BZidnRofEee1UM4JwazG/P3v\ncPPN3sOhkqotIewBLAB+3UZC+PeIGN3OdZwQzGqY93CojI4mhFzzdERMBt5pp5gfXDOrcxtuCGee\nCTNmpC6lJUtgxAjYdlv40Y/g5ZcrHaFBzgmhDAHsKukJSRMlbVnheMwsZ9tsAxdemFoNl16aHmXd\nbru0AusvfwnvtPcnpOUm90FlSYOA21rpMloF+DgiFkoaAVwSEcs80Swpzj777E/eFwoFCoVCbjGb\nWc/yHg7do6mpiaampk/en3POOdUzhgBtJ4QWys4BdoiIt0vOewzBrEF4D4fuU1VjCO2R1F9Kk98l\nDSElqLfb+ZqZ1bHVVoPjjoN774WnnkoDz6edBhtsAKeempKE/z7MR95PGd0ADAXWAuYCZwN9ASLi\nCkknAV8HFgMLSU8c/aWF67iFYNbgnnkmtRquv957OJSrqh477S5OCGbWLCKtwDpuHPzud97DoS1O\nCGbWMBYtSoPQ48bBxInew6GUE4KZNSTv4bAsJwQza3jewyFxQjAzK9LIezg4IZiZtaAR93BwQjAz\na0ej7OHghGBm1gH1vIeDE4KZWSfV2x4OTghmZt2gHvZwcEIwM+tmTz65dNmMNdeECy6AkSMrHVX7\nnBDMzHKyZAlMnpySwtbtrt9ceU4IZmYG1Njy12ZmVj2cEMzMDHBCMDOzTK4JQdLVkuZKmtFGmUsl\nPSfpCUmD84zHzMxal3cL4VfAfq19KGkksGlEbAYcD/wi53iqUvGm2PWonutXz3UD16/R5JoQImIy\n8E4bRUYD12ZlpwCrS+qfZ0zVqN7/UdZz/eq5buD6NZpKjyGsD7xc9P4VYECFYjEza2iVTggApc/I\nesKBmVkF5D4xTdIg4LaIWGZen6TLgaaIuDF7PwsYGhFzS8o5SZiZdUJHJqZVeqfRW4FvADdK2hl4\ntzQZQMcqZGZmnZNrQpB0AzAUWEvSy8DZQF+AiLgiIiZKGinpeeAD4Lg84zEzs9bVxFpGZmaWv2oY\nVG6TpP0kzcomr51R6Xi6oqWJepLWlHSPpL9KulvS6pWMsSskDZT0gKSnJT0l6eTsfF3UUdIKkqZI\nmi5ppqTbjaFfAAAGKElEQVQLsvN1UT8ASb0lTZN0W/a+nur2oqQns/pNzc7VU/1Wl3SzpGeyf587\ndbR+VZ0QJPUGLiNNbtsSOELS5ysbVZe0NFHvTOCeiNgcuC97X6sWAd+OiC8AOwMnZf+96qKOEfFP\nYFhEbAdsAwyTtDt1Ur/MKcBMlj7tV091C6AQEYMjYkh2rp7qdwkwMSI+T/r3OYuO1i8iqvYF7ALc\nWfT+TODMSsfVxToNAmYUvZ8F9M+O1wFmVTrGbqzrBGB4PdYRWAl4BPhCvdSPNAfoXmAY6cnAuvr3\nCcwBPlNyri7qB6wGzG7hfIfqV9UtBFqeuLZ+hWLJS/9Y+mTVXKAuZmpnjxsPBqZQR3WU1EvSdFI9\nHoiIp6mf+l0EnAYsKTpXL3WD1EK4V9Kjkr6anauX+m0EvCnpV5Iel/RLSf3oYP2qPSE01Ih3pDRe\n83WWtDIwHjglIuYXf1brdYyIJZG6jAYAe0oaVvJ5TdZP0ihgXkRMY9nJokDt1q3IbhExGBhB6s7c\no/jDGq9fH2B74OcRsT3pqc1PdQ+VU79qTwivAgOL3g8ktRLqyVxJ6wBIWheYV+F4ukRSX1IyuC4i\nJmSn66qOABHxHnA7sAP1Ub9dgdGS5gA3AHtJuo76qBsAEfF69r9vAn8AhlA/9XsFeCUiHsne30xK\nEG90pH7VnhAeBTaTNEjScsBhpMls9eRW4Jjs+BhSv3tNkiTgKmBmRFxc9FFd1FHSWs1PaUhaEfgS\nMI06qF9EfDciBkbERsDhwP0RcRR1UDcASStJWiU77gfsA8ygTuoXEW8AL0vaPDs1HHgauI0O1K/q\n5yFIGgFcDPQGroqICyocUqcVT9Qj9ef9ALgFuAnYAHgRODQi3q1UjF2RPXHzIPAkS5umZwFTqYM6\nStqatDpvr+x1XUT8WNKa1EH9mkkaCpwaEaPrpW6SNiK1CiB1r4yLiAvqpX4AkrYFrgSWA14gTfTt\nTQfqV/UJwczMeka1dxmZmVkPcUIwMzPACcHMzDJOCGZmBjghmJlZxgnBzMwAJwSrQZJWk/T1Mspt\nKOmIMsoNKl6SPC+SrpH0ley4SdIOrZT7raRNOnDdbSRd1V1xWuNyQrBatAZwYhnlNgKOzDmWjihe\nS6bFdWUkbQr0i4gXyr5oxJPAJpLW7pYorWE5IVgt+i/SL8Bpki4EkPRjSTOyDVAOLSq3R1bulKzF\n8KCkx7LXLm3dRNK6Wflp2bV3l3SIpJ9kn58i6YXseGNJD2XHO2QtgEcl3dm8lkyZDqdoeRZJCyT9\nSGnDoXsk7SxpkqQXJB1Q9L07gH/pwH3MluGEYLXoDOCFSBudnJF1w2xL2hRkOPDj7JfwGcDkrNwl\npIW9vhQRO5B+8V7azn2OIO3HMTi79nRgMtC8SuYewFuS1suOJ0nqA/wU+EpEfJG0KdJ/dqBuu5HW\n8Gq2EnBfRGwFzAfOBfYCDs6Om00F9uzAfcyW0afSAZh1QunyzLsB12fL+86TNAnYEXi/pNxywGXZ\nmi8fA5vTtkeAq7MVXCdExBPAAkkrZ0t8DwCuJ/0i3p20yusWpE1z7k1r/dEbeK0DddsQeL3o/UcR\ncVd2PAP4Z0R8LOkp0mZLzV4veW/WYW4hWL0oTRItLdL1beD1iNgG+CIpQbQqIppbA68C10g6Kvvo\nYdLCYc8CD5ESwi7An7I4ns5aJYMjYpuIKN02tSN1WVR0vAT4KIttCZ/+g07U7lr+ViWcEKwWzQdW\nKXo/GTgs283ss6Rf0FOBBSXlVgXeyI6PJv313ipJGwBvRsSVpFUkBxfd7zRgEmn562Gkv9znk5LE\nZyXtnF2jr6QtO1C3vwHrdqB8s3Wz75p1mruMrOZExN8l/Sl7VHRiNo6wC/AE6a/k0yJinqS3gY+z\nLS9/BfwcGC/paOBOUsL45LIt3KoAnCZpESkJHZ2df4i0leuDEbFE0kvAM1lsH0k6BLhU0mqk/49d\nRNq4vhwPkVovj7USV7RyPIS09LhZp3n5a7MqImlj4KcRsX8Hv9dEWuu+Vnf8sirgLiOzKhIRs4H5\nHZ2YBjzvZGBd5RaCmZkBbiGYmVnGCcHMzAAnBDMzyzghmJkZ4IRgZmYZJwQzMwPg/wDP0conunvE\nNwAAAABJRU5ErkJggg==\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x1d192b0>"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex13.3:Pg-664"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 13.3\n",
+      "\n",
+      "import math\n",
+      "from scipy.optimize import fsolve\n",
+      "phi=12*math.pi/180;\n",
+      "Ds=0.8; # in m\n",
+      "Z=5; # in m \n",
+      "sigmaT=450;\n",
+      "U=math.pi*Ds*Z*sigmaT*math.tan(phi); # in kN\n",
+      "def f(D):\n",
+      "    return 1202-450*6.14/1.25*3.14/4*(D**2-0.8**2)\n",
+      "[x]=fsolve(f,1);\n",
+      "Db=x; # in m\n",
+      "print round(Db,2),\"diameter of bell in m\"\n",
+      "#partb\n",
+      "D=600; # in kN\n",
+      "cu=450; # in kN/m^2\n",
+      "Nc=6.14;\n",
+      "FS=cu*Nc*math.pi/4*(Db**2-Ds**2)/(U-D);\n",
+      "if FS>2 :\n",
+      "    print \"the structure is compatible with safety measures\"\n",
+      "\n",
+      "#check bearing capacity\n",
+      "L=D+300;#dead+live load in kN\n",
+      "Dp=L/math.pi*4/Db**2;#downward pressure\n",
+      "FS=2763/Dp; # factor of safety\n",
+      "if FS>3:\n",
+      "    print \"the structure is safe in bearing \"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1.15 diameter of bell in m\n",
+        "the structure is compatible with safety measures\n",
+        "the structure is safe in bearing \n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter14_1.ipynb b/Principles_Of_Foundation_Engineering/Chapter14_1.ipynb
new file mode 100755
index 00000000..9492b61a
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter14_1.ipynb
@@ -0,0 +1,152 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:0607b38129f4394e73e1fea85ea07501579e80864ce509d7b62579d182135871"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Chapter14:Soil Improvement and Ground Modification"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex14.1:Pg-695"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 14.1\n",
+      "\n",
+      "import math\n",
+      "Cc=0.28;\n",
+      "Hc=6.0;\n",
+      "eo=0.9;\n",
+      "Cv=0.36; # in m^2/mo.\n",
+      "H=3.0; # in m\n",
+      "t=9.0; # in mo.\n",
+      "sigmao=210.0;# in kN/m^2\n",
+      "sigmap=115; #deltasigmap in kN/m^2\n",
+      "Sc=Cc*Hc/(1+eo)*math.log10((sigmao+sigmap)/sigmao); # in m\n",
+      "print round(Sc*1000,1),\"primary consolidation in mm\"\n",
+      "Tv=Cv*t/H**2;\n",
+      "#from table\n",
+      "k=1.8; #constant\n",
+      "sf=k*sigmap; # in kN/m**2\n",
+      "print round(sf,2),\"deltasigmaf in kN/m**2\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "167.7 primary consolidation in mm\n",
+        "207.0 deltasigmaf in kN/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex14.2:Pg-703"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 14.2\n",
+      "\n",
+      "import math\n",
+      "Tv=0.36;\n",
+      "sigmap=115; # in kN/m^2\n",
+      "Uv=math.sqrt(4*Tv/math.pi)*100;\n",
+      "print round(Uv,2),\"Uv in %\"\n",
+      "#from table \n",
+      "k=0.12; #constant\n",
+      "sf=k*sigmap;\n",
+      "print sf,\"deltasigmaf in kN/m**2\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "67.7 Uv in %\n",
+        "13.8 deltasigmaf in kN/m**2\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex14.3:Pg-704"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#example 14.3\n",
+      "\n",
+      "Cc=0.31;\n",
+      "Hc=15.0;#ft\n",
+      "eo=1.1;\n",
+      "n=10.0;\n",
+      "Uv=0.09;\n",
+      "sigmao=1000.0; # in lb/ft^2\n",
+      "deltasigma=2000.0; # deltasigmap+deltasigmaf\n",
+      "Sc=Cc*Hc/(1+eo)*math.log10((sigmao+deltasigma)/sigmao);\n",
+      "print round(Sc,3),\"primary consolidation in ft\"\n",
+      "m=n**2/(n**2-1)*math.log(n)-(3*n**2-1)/4/n**2;\n",
+      "A=2/m;\n",
+      "Ur=(0.096-1/A*(1-math.exp(-A*0.096)))/0.192;\n",
+      "Uvf=1-(1-Ur)*(1-Uv);\n",
+      "Sc30=Sc*Uvf*12; #settlement after 30 days\n",
+      "print round(Sc30,2),\"settlement after 30 days in inch\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1.056 primary consolidation in ft\n",
+        "1.48 settlement after 30 days in inch\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/Chapter14_2.ipynb b/Principles_Of_Foundation_Engineering/Chapter14_2.ipynb
new file mode 100755
index 00000000..c829bef5
--- /dev/null
+++ b/Principles_Of_Foundation_Engineering/Chapter14_2.ipynb
@@ -0,0 +1,152 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:23456872c8877381c549ede3a12ff29dc232ffad3142abc24c5d2ad8d9888f99"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter14:Soil Improvement and Ground Modification"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex14.1:Pg-695"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 14.1\n",

+      "\n",

+      "import math\n",

+      "Cc=0.28;\n",

+      "Hc=6.0;\n",

+      "eo=0.9;\n",

+      "Cv=0.36; # in m^2/mo.\n",

+      "H=3.0; # in m\n",

+      "t=9.0; # in mo.\n",

+      "sigmao=210.0;# in kN/m^2\n",

+      "sigmap=115; #deltasigmap in kN/m^2\n",

+      "Sc=Cc*Hc/(1+eo)*math.log10((sigmao+sigmap)/sigmao); # in m\n",

+      "print round(Sc*1000,1),\"primary consolidation in mm\"\n",

+      "Tv=Cv*t/H**2;\n",

+      "#from table\n",

+      "k=1.8; #constant\n",

+      "sf=k*sigmap; # in kN/m**2\n",

+      "print round(sf,2),\"deltasigmaf in kN/m**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "167.7 primary consolidation in mm\n",

+        "207.0 deltasigmaf in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 6

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex14.2:Pg-703"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 14.2\n",

+      "\n",

+      "import math\n",

+      "Tv=0.36;\n",

+      "sigmap=115; # in kN/m^2\n",

+      "Uv=math.sqrt(4*Tv/math.pi)*100;\n",

+      "print round(Uv,2),\"Uv in %\"\n",

+      "#from table \n",

+      "k=0.12; #constant\n",

+      "sf=k*sigmap;\n",

+      "print sf,\"deltasigmaf in kN/m**2\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "67.7 Uv in %\n",

+        "13.8 deltasigmaf in kN/m**2\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex14.3:Pg-704"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 14.3\n",

+      "\n",

+      "Cc=0.31;\n",

+      "Hc=15.0;#ft\n",

+      "eo=1.1;\n",

+      "n=10.0;\n",

+      "Uv=0.09;\n",

+      "sigmao=1000.0; # in lb/ft^2\n",

+      "deltasigma=2000.0; # deltasigmap+deltasigmaf\n",

+      "Sc=Cc*Hc/(1+eo)*math.log10((sigmao+deltasigma)/sigmao);\n",

+      "print round(Sc,3),\"primary consolidation in ft\"\n",

+      "m=n**2/(n**2-1)*math.log(n)-(3*n**2-1)/4/n**2;\n",

+      "A=2/m;\n",

+      "Ur=(0.096-1/A*(1-math.exp(-A*0.096)))/0.192;\n",

+      "Uvf=1-(1-Ur)*(1-Uv);\n",

+      "Sc30=Sc*Uvf*12; #settlement after 30 days\n",

+      "print round(Sc30,2),\"settlement after 30 days in inch\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "1.056 primary consolidation in ft\n",

+        "1.48 settlement after 30 days in inch\n"

+       ]

+      }

+     ],

+     "prompt_number": 12

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/Principles_Of_Foundation_Engineering/screenshots/ex1.2_1.png b/Principles_Of_Foundation_Engineering/screenshots/ex1.2_1.png
new file mode 100755
index 00000000..8346a9de
Binary files /dev/null and b/Principles_Of_Foundation_Engineering/screenshots/ex1.2_1.png differ
diff --git a/Principles_Of_Foundation_Engineering/screenshots/ex1.2_2.png b/Principles_Of_Foundation_Engineering/screenshots/ex1.2_2.png
new file mode 100755
index 00000000..8346a9de
Binary files /dev/null and b/Principles_Of_Foundation_Engineering/screenshots/ex1.2_2.png differ
diff --git a/Principles_Of_Foundation_Engineering/screenshots/ex13.1_1.png b/Principles_Of_Foundation_Engineering/screenshots/ex13.1_1.png
new file mode 100755
index 00000000..10988711
Binary files /dev/null and b/Principles_Of_Foundation_Engineering/screenshots/ex13.1_1.png differ
diff --git a/Principles_Of_Foundation_Engineering/screenshots/ex13.1_2.png b/Principles_Of_Foundation_Engineering/screenshots/ex13.1_2.png
new file mode 100755
index 00000000..10988711
Binary files /dev/null and b/Principles_Of_Foundation_Engineering/screenshots/ex13.1_2.png differ
diff --git a/Principles_Of_Foundation_Engineering/screenshots/ex14.2_1.png b/Principles_Of_Foundation_Engineering/screenshots/ex14.2_1.png
new file mode 100755
index 00000000..1a58b738
Binary files /dev/null and b/Principles_Of_Foundation_Engineering/screenshots/ex14.2_1.png differ
diff --git a/Principles_Of_Foundation_Engineering/screenshots/ex14.2_2.png b/Principles_Of_Foundation_Engineering/screenshots/ex14.2_2.png
new file mode 100755
index 00000000..1a58b738
Binary files /dev/null and b/Principles_Of_Foundation_Engineering/screenshots/ex14.2_2.png differ
diff --git a/The_Spirit_of_C/Chapter1.ipynb b/The_Spirit_of_C/Chapter1.ipynb
new file mode 100755
index 00000000..80b53e61
--- /dev/null
+++ b/The_Spirit_of_C/Chapter1.ipynb
@@ -0,0 +1,198 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1c2e6d0b5736bd35dd626e4e22d0dbe67f82011189ddb91d07585ae3f73aa6b8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1, Elementary Programming"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 1-1 , Page number: 2"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# An interactive program to calculate the hypotenuse of a right triangle\n",
+      "\n",
+      "import math ## library for using sqrt function\n",
+      "\n",
+      "def square(a):\n",
+      "\t\"\"\"Returns the square of the given number \"\"\"\n",
+      "\treturn a*a\n",
+      "\n",
+      "print \"Enter the lengths of the two legs of a right triangle\"\n",
+      "print \"The program will display the length of the hypotenuse.\"\n",
+      "print \"Enter zero or negative values to end program\"\n",
+      "\n",
+      "# Priming reads follow\n",
+      "print \"First leg (0.0 to quit)? \",\n",
+      "a_leg = 3\n",
+      "print a_leg\n",
+      "print \"Second leg (0.0 to quit)? \",\n",
+      "b_leg = 4\n",
+      "print b_leg\n",
+      "\n",
+      "while a_leg>0.0 and b_leg>0.0:\n",
+      "\tprint \"The legs of the right triangle are %.2f and %.2f,\\n\"%(a_leg,b_leg),\n",
+      "\t# Hypotenuse is square root of a*a + b*b\n",
+      "\thypotenuse = math.sqrt(square(a_leg) + square(b_leg))\n",
+      "\tprint \"   so the hypotenuse is %.2f\\n\\n\"%hypotenuse,\n",
+      "\tprint \"First leg (0.0 to quit)? \",\n",
+      "\ta_leg = 0.0\t\t\t# To terminate the loop\n",
+      "\tprint a_leg\n",
+      "\tprint \"Second leg (0.0 to quit)? \",\n",
+      "\tb_leg = 0.0\n",
+      "\tprint b_leg\n",
+      "\n",
+      "print \"Thank you.\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the lengths of the two legs of a right triangle\n",
+        "The program will display the length of the hypotenuse.\n",
+        "Enter zero or negative values to end program\n",
+        "First leg (0.0 to quit)?  3\n",
+        "Second leg (0.0 to quit)?  4\n",
+        "The legs of the right triangle are 3.00 and 4.00,\n",
+        "   so the hypotenuse is 5.00\n",
+        "\n",
+        "First leg (0.0 to quit)?  0.0\n",
+        "Second leg (0.0 to quit)?  0.0\n",
+        "Thank you.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 1-2 , Page number: 3"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "def main():  \n",
+      "\t\"\"\"simply returns a string\"\"\"\n",
+      "\t# There's no main() function in python.This main() function is no different that any other user-defined functions\n",
+      "\treturn \"Welcome to C programming!\\n\"\n",
+      "\t\n",
+      "print main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Welcome to C programming!\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 1-3 , Page number: 6"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Use of braces \n",
+      "\n",
+      "def main():\n",
+      "\t# in python, proper indentation works as braces\n",
+      "\t# the following lines come under the main() function block due to indentation\n",
+      "\tprint \"Give me land, lots of land\",\n",
+      "\tprint \"And the starry skies above...\\n\",\n",
+      "\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Give me land, lots of land And the starry skies above...\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 1-4 , Page number: 8"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A short poem\n",
+      "\n",
+      "def main():\n",
+      "\tprint \"Mary had a little lamb,\",\n",
+      "\tprint \"its fleece was white as snow.\\n\",\n",
+      "\tprint \"And everywhere that Mary went,\",\n",
+      "\tprint \"the lamb was sure to go.\\n\"\n",
+      "\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Mary had a little lamb, its fleece was white as snow.\n",
+        "And everywhere that Mary went, the lamb was sure to go.\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/Chapter10.ipynb b/The_Spirit_of_C/Chapter10.ipynb
new file mode 100755
index 00000000..ed7b99e5
--- /dev/null
+++ b/The_Spirit_of_C/Chapter10.ipynb
@@ -0,0 +1,1020 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:970f28e2206ea4472dd82a3808592db202377fcd9a01fc69b666e61a221db5b1"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10, Arrays"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-1, Page Number : 227"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Introduction to arrays\n",
+      "\n",
+      "array = []\t\t# defining array which is rather called list in python\n",
+      "\n",
+      "print \"You are to enter 5 integers.\\n\"\n",
+      "\n",
+      "# Input the 5 integers into array \"array\"\n",
+      "\n",
+      "for i in range(5) :  # equivalent to for i in range(0,5,1)\n",
+      "\tprint \"Enter integer #%d: \"%(i+1),\n",
+      "\tval = int(raw_input())\n",
+      "\tarray.insert(i,val)\t\t\t\t# insert function is used to add elements to list : \n",
+      "\t\t\t\t\t\t\t\t\t#      insert(i,val) where i is the index and val is the value to be inserted\n",
+      "\n",
+      "print \"\\nThank you.\\n\"\n",
+      "\n",
+      "# Print out the integers stored in array \"array\"\n",
+      "j = 1\t# used as a counter\n",
+      "for i in array:\t\t\t\t# shorthand way of scanning through the list; using \"in\"\n",
+      "\tprint \"Integer #%d = %d.\"%(j,i)\n",
+      "\tj += 1"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "You are to enter 5 integers.\n",
+        "\n",
+        "Enter integer #1:"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enter integer #2:"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "12\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enter integer #3:"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enter integer #4:"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "63\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enter integer #5:"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " \n",
+        "Thank you.\n",
+        "\n",
+        "Integer #1 = 3.\n",
+        "Integer #2 = 12.\n",
+        "Integer #3 = 8.\n",
+        "Integer #4 = 63.\n",
+        "Integer #5 = 0.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-2, Page Number : 228"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Initializing a global array\n",
+      "\n",
+      "array = [ 4, 6, 5, 7, 2 ]\n",
+      "\n",
+      "def main() :\t\t\t# just a user-defined function ; not equivalent to the built-in main() function in C\n",
+      "\t\"\"\" prints the integers stored in array \"array\" \"\"\"\n",
+      "\tj = 1\t\t# counter \n",
+      "\tfor i in array :\n",
+      "\t\tprint \"Integer #%d = %d.\"%(j,i)\n",
+      "\t\tj += 1\n",
+      "\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Integer #1 = 4.\n",
+        "Integer #2 = 6.\n",
+        "Integer #3 = 5.\n",
+        "Integer #4 = 7.\n",
+        "Integer #5 = 2.\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-3, Page Number: 230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# The number of array elements actually used may vary\n",
+      "\n",
+      "# Read in the size of the array\n",
+      "print \"How many integers will you enter?\",\n",
+      "array_size = 6\n",
+      "print array_size\n",
+      "\n",
+      "# Read in the integers\n",
+      "print \"\\nPlease enter %d integers:\"%array_size\n",
+      "array = [ 12, 3, -5, 21, 0, 899 ]\t# Lists dynamically allocate memory \n",
+      "for i in range(array_size) :\n",
+      "\tprint array[i],\n",
+      "# Print out the integers\n",
+      "\n",
+      "print(\"\\n\")\n",
+      "for i in range(array_size) :\n",
+      "\tprint \"Integer #%d = %d.\"%(i+1,array[i])"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many integers will you enter? 6\n",
+        "\n",
+        "Please enter 6 integers:\n",
+        "12 3 -5 21 0 899 \n",
+        "\n",
+        "Integer #1 = 12.\n",
+        "Integer #2 = 3.\n",
+        "Integer #3 = -5.\n",
+        "Integer #4 = 21.\n",
+        "Integer #5 = 0.\n",
+        "Integer #6 = 899.\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-4, Page Number: 231"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# The trailer method\n",
+      "\n",
+      "# Macro definition\n",
+      "MAX_ARRAY_SIZE = 20\n",
+      "TRAILER = -9999\n",
+      "\n",
+      "# Read in the integers\n",
+      "\n",
+      "print \"Please enter up to %d integers, using %d as a trailer:\"%(MAX_ARRAY_SIZE,TRAILER)\n",
+      "array = [ 3, 75, -34, 6, -1, 2, 41, 0, 90, -9999]\n",
+      "for array_size in range(MAX_ARRAY_SIZE) :\n",
+      "\tprint array[array_size],\n",
+      "\tif array[array_size] == -9999 :\n",
+      "\t\tbreak\t\n",
+      "\t\n",
+      "# Print out the integers\n",
+      "print \"\\n\\nYou have entered %d integers\"%array_size\n",
+      "for i in range(array_size) :\n",
+      "\tprint \"Integer #%d = %d.\"%(i+1,array[i])"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter up to 20 integers, using -9999 as a trailer:\n",
+        "3 75 -34 6 -1 2 41 0 90 -9999 \n",
+        "\n",
+        "You have entered 9 integers\n",
+        "Integer #1 = 3.\n",
+        "Integer #2 = 75.\n",
+        "Integer #3 = -34.\n",
+        "Integer #4 = 6.\n",
+        "Integer #5 = -1.\n",
+        "Integer #6 = 2.\n",
+        "Integer #7 = 41.\n",
+        "Integer #8 = 0.\n",
+        "Integer #9 = 90.\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-5, Page Number: 233"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Caculating the average grade for a class\n",
+      "\n",
+      "# Macro definition\n",
+      "\n",
+      "MAX_GRADES = 20 \t# The class may have up to 20 students\n",
+      "TRAILER = -9999\t\t# -9999 marks the end of the grade list\n",
+      "\n",
+      "# Read in the grades\n",
+      "\n",
+      "print \"Please enter up to %d grades, using %d as a trailer:\"%(MAX_GRADES,TRAILER)\n",
+      "grades = [ 41, 92, 15, 65, 0, 78, 81, 96, -9999 ]\n",
+      "for num_grades in range(MAX_GRADES) :\n",
+      "\tprint grades[num_grades]\n",
+      "\tif grades[num_grades] == -9999 :\n",
+      "\t\tbreak\n",
+      "\n",
+      "print \"\\nYou have entered %d grades.\"%num_grades\n",
+      "\n",
+      "# Find the average\n",
+      "sum = 0.0 \n",
+      "for i in range(num_grades) :\n",
+      "\tsum += grades[i]\n",
+      "\n",
+      "print \"\\nThe average grade is %f.\"%(sum/num_grades)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter up to 20 grades, using -9999 as a trailer:\n",
+        "41\n",
+        "92\n",
+        "15\n",
+        "65\n",
+        "0\n",
+        "78\n",
+        "81\n",
+        "96\n",
+        "-9999\n",
+        "\n",
+        "You have entered 8 grades.\n",
+        "\n",
+        "The average grade is 58.500000.\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-6, Page Number: 235"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Determining which grades in a class are above the average\n",
+      "\n",
+      "# Macro definition\n",
+      "\n",
+      "MAX_GRADES = 20 \t# The class may have up to 20 students\n",
+      "TRAILER = -9999\t\t# -9999 marks the end of the grade list\n",
+      "\n",
+      "# Read in the grades\n",
+      "\n",
+      "print \"Please enter up to %d grades, using %d as a trailer:\"%(MAX_GRADES,TRAILER)\n",
+      "grades = [ 41, 92, 15, 65, 0, 78, 81, 96, -9999 ]\n",
+      "for num_grades in range(MAX_GRADES) :\n",
+      "\tprint grades[num_grades]\n",
+      "\tif grades[num_grades] == -9999 :\n",
+      "\t\tbreak\n",
+      "\n",
+      "print \"\\nYou have entered %d grades.\"%num_grades\n",
+      "\n",
+      "# Find the average\n",
+      "sum = 0.0 \n",
+      "for i in range(num_grades) :\n",
+      "\tsum += grades[i]\n",
+      "\n",
+      "avg_grade = sum/num_grades\n",
+      "print \"\\nThe average grade is %f.\"%avg_grade\n",
+      "\n",
+      "# Find who got above average\n",
+      "\n",
+      "print \"\\nThe following grades were above average:\"\n",
+      "for i in range(num_grades) :\n",
+      "\tif grades[i] > avg_grade :\n",
+      "\t\tprint \"%f (student #%d)\"%(grades[i],i+1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter up to 20 grades, using -9999 as a trailer:\n",
+        "41\n",
+        "92\n",
+        "15\n",
+        "65\n",
+        "0\n",
+        "78\n",
+        "81\n",
+        "96\n",
+        "-9999\n",
+        "\n",
+        "You have entered 8 grades.\n",
+        "\n",
+        "The average grade is 58.500000.\n",
+        "\n",
+        "The following grades were above average:\n",
+        "92.000000 (student #2)\n",
+        "65.000000 (student #4)\n",
+        "78.000000 (student #6)\n",
+        "81.000000 (student #7)\n",
+        "96.000000 (student #8)\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-7, Page Number 237"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Reversing an array\n",
+      "\n",
+      "# Macro definition\n",
+      "ARRAY_SIZE = 10 \t# The array has 10 elements \n",
+      "\n",
+      "# Read in the array\n",
+      "\n",
+      "print \"Please enter %d integers:\"%ARRAY_SIZE\n",
+      "array = [ 10, 42, 7, 0, 923, 13, -5, 6, 19, 3]\n",
+      "for i in range(10) :\n",
+      "\tprint array[i],\n",
+      "\n",
+      "# Echo the array\n",
+      "\n",
+      "print \"\\n\\nThe original array was:\"\n",
+      "for i in range(10) :\n",
+      "\tprint array[i],\n",
+      "\n",
+      "# Print the array in reverse\n",
+      "\n",
+      "print \"\\n\\nThe reversed array is:\"\n",
+      "for i in range(ARRAY_SIZE-1,-1,-1) :\n",
+      "\tprint array[i],"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter 10 integers:\n",
+        "10 42 7 0 923 13 -5 6 19 3 \n",
+        "\n",
+        "The original array was:\n",
+        "10 42 7 0 923 13 -5 6 19 3 \n",
+        "\n",
+        "The reversed array is:\n",
+        "3 19 6 -5 13 923 0 7 42 10\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-8, Page Number: 240"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import sys\n",
+      "# Reversing a character string\n",
+      "\n",
+      "# Macro definition\n",
+      "MAX_STRING_SIZE = 10\n",
+      "\n",
+      "# Read in the word\n",
+      "\n",
+      "print \"Please enter a word of up to %d letters:\"%MAX_STRING_SIZE\n",
+      "word = \"bingo\"\n",
+      "print word\n",
+      "\n",
+      "# Echo the word \n",
+      "\n",
+      "print \"\\nThe word is %s.\"%word\n",
+      "\n",
+      "# Find thw word length\n",
+      "string_size = 0\n",
+      "for i in word :\t\t\t# To iterate over the entire string\n",
+      "\tstring_size += 1\n",
+      "\n",
+      "# Print the word in reverse\n",
+      "\n",
+      "print \"\\nThe reversed word is \",\n",
+      "for i in range(string_size-1,-1,-1) :\n",
+      "\tsys.stdout.write(\"%c\"%word[i])  # For printing in the same line without implicit whitespaces\n",
+      "\n",
+      "print "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter a word of up to 10 letters:\n",
+        "bingo\n",
+        "\n",
+        "The word is bingo.\n",
+        "\n",
+        "The reversed word is ognib\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-9, Page Number: 242"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Calculating the minimum and maximum grade in a class\n",
+      "\n",
+      "# Macro definition\n",
+      "\n",
+      "MAX_GRADES = 20 \t# The class may have up to 20 students\n",
+      "TRAILER = -9999\t\t# -9999 marks the end of the grade list\n",
+      "\n",
+      "# Read in the grades\n",
+      "\n",
+      "print \"Please enter up to %d grades, using %d as a trailer:\"%(MAX_GRADES,TRAILER)\n",
+      "grades = [ 41, 92, 15, 65, 0, 78, 81, 96, -9999 ]\n",
+      "for num_grades in range(MAX_GRADES) :\n",
+      "\tprint grades[num_grades]\n",
+      "\tif grades[num_grades] == -9999 :\n",
+      "\t\tbreak\n",
+      "\n",
+      "print \"\\nYou have entered %d grades.\"%num_grades\n",
+      "\n",
+      "# Find the minimum grade\n",
+      "\n",
+      "min = grades[0]\n",
+      "for i in range(num_grades) :\n",
+      "\tif grades[i] < min :\n",
+      "\t\tmin = grades[i]\n",
+      "\n",
+      "print \"\\nThe lowest grade is %f\"%min\n",
+      "\n",
+      "# Find the maximum grade\n",
+      "\n",
+      "max = grades[0]\n",
+      "for i in range(num_grades) :\n",
+      "\tif grades[i] > min :\n",
+      "\t\tmax = grades[i]\n",
+      "\n",
+      "print \"\\nThe lowest grade is %f\"%max\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter up to 20 grades, using -9999 as a trailer:\n",
+        "41\n",
+        "92\n",
+        "15\n",
+        "65\n",
+        "0\n",
+        "78\n",
+        "81\n",
+        "96\n",
+        "-9999\n",
+        "\n",
+        "You have entered 8 grades.\n",
+        "\n",
+        "The lowest grade is 0.000000\n",
+        "\n",
+        "The lowest grade is 96.000000\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-10, Page Number: 243"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Sorting an array\n",
+      "\n",
+      "# Macro definition\n",
+      "MAX_ARRAY_SIZE = 20 \t# The array may have up to 20 elements\n",
+      "\n",
+      "array_size = 10\n",
+      "print \"How many numbers?\",\n",
+      "print array_size\n",
+      "\n",
+      "while array_size < 1 or array_size > MAX_ARRAY_SIZE\t:\n",
+      "\tprint \"How many numbers?\",\n",
+      "\tprint array_size\n",
+      "\n",
+      "# Read in the array\n",
+      "\n",
+      "print \"Please enter the integers:\"\n",
+      "array = [ 10, 42, 7, 0, 923, 13, -5, 6, 19, 3]\n",
+      "for i in range(array_size) :\n",
+      "\tprint array[i],\n",
+      "\n",
+      "# Echo the array\n",
+      "\n",
+      "print \"\\n\\nThe original array is:\"\n",
+      "for i in range(array_size) :\n",
+      "\tprint array[i],\n",
+      "\n",
+      "# Sort the array\n",
+      "\n",
+      "for i in range(array_size-1) :\n",
+      "\tfor j in range(i+1, array_size) :\n",
+      "\t\tif array[i] > array[j] :\n",
+      "\t\t\ttemp = array[i]\n",
+      "\t\t\tarray[i] = array[j]\n",
+      "\t\t\tarray[j] = temp\n",
+      "\n",
+      "# Printing the sorted array\n",
+      "\n",
+      "print \"\\n\\nThe sorted array is\"\n",
+      "for i in range(array_size) :\n",
+      "\tprint array[i],"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many numbers? 10\n",
+        "Please enter the integers:\n",
+        "10 42 7 0 923 13 -5 6 19 3 \n",
+        "\n",
+        "The original array is:\n",
+        "10 42 7 0 923 13 -5 6 19 3 \n",
+        "\n",
+        "The sorted array is\n",
+        "-5 0 3 6 7 10 13 19 42 923\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-11, Page Number: 247"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Finding the median of an array\n",
+      "\n",
+      "# Macro definition\n",
+      "MAX_ARRAY_SIZE = 20 \t# The array may have up to 20 elements\n",
+      "\n",
+      "array_size = 0\n",
+      "array = []\n",
+      "\n",
+      "def get_size()\t:\n",
+      "\t\"\"\" reads the size of the array (until a valid value is entered) \"\"\"\n",
+      "\tglobal array_size\n",
+      "\tarray_size = 10\n",
+      "\tprint \"How many numbers?\",\n",
+      "\tprint array_size\n",
+      "\twhile array_size < 1 or array_size > MAX_ARRAY_SIZE\t:\n",
+      "\t\tprint \"How many numbers?\",\n",
+      "\t\tprint array_size\n",
+      "\n",
+      "\n",
+      "def read_array() :\n",
+      "\t\"\"\" read in the array \"\"\"\n",
+      "\tglobal array\n",
+      "\tprint \"Please enter the integers:\"\n",
+      "\tarray = [ 10, 42, 7, 0, 923, 13, -5, 6, 19, 3 ]\n",
+      "\tfor i in range(array_size) :\n",
+      "\t\tprint array[i],\n",
+      "\n",
+      "def write_array() :\n",
+      "\t\"\"\" write out the array \"\"\"\n",
+      "\tfor i in range(array_size) :\n",
+      "\t\tprint array[i],\n",
+      "\n",
+      "def sort_array() :\n",
+      "\t\"\"\" sort the array \"\"\"\n",
+      "\tglobal array\n",
+      "\tfor i in range(array_size-1) :\n",
+      "\t\tfor j in range(i+1, array_size) :\n",
+      "\t\t\tif array[i] > array[j] :\n",
+      "\t\t\t\ttemp = array[i]\n",
+      "\t\t\t\tarray[i] = array[j]\n",
+      "\t\t\t\tarray[j] = temp\n",
+      "\n",
+      "def even(n) :\n",
+      "\t\"\"\" returns non-zero(true) if n is even else returns zero(false) \"\"\"\n",
+      "\treturn ((n/2)*2 == n)\n",
+      "\n",
+      "get_size()\t\t# Read in the size of the array\n",
+      "\n",
+      "read_array()\t# Read in the array\n",
+      "\n",
+      "print \"\\n\\nThe original array is:\"\n",
+      "write_array()\t# Echo the array\n",
+      "\n",
+      "sort_array()\t# Sort the array\n",
+      "\n",
+      "print \"\\n\\nThe sorted array is:\"\n",
+      "write_array()\t# Print the sorted array\n",
+      "\n",
+      "print \"\\n\\nThe median is:\"\n",
+      "# The equivalent of tertiary conditional operator in python is a if test else b\n",
+      "print \"%.1f\"%( ((array[ array_size / 2 -1] + array[ array_size / 2 ]) / 2.0 ) if even(array_size) else float(array[ array_size / 2 ])  ) "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many numbers? 10\n",
+        "Please enter the integers:\n",
+        "10 42 7 0 923 13 -5 6 19 3 \n",
+        "\n",
+        "The original array is:\n",
+        "10 42 7 0 923 13 -5 6 19 3 \n",
+        "\n",
+        "The sorted array is:\n",
+        "-5 0 3 6 7 10 13 19 42 923 \n",
+        "\n",
+        "The median is:\n",
+        "8.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-12, Page Number: 251"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Tally how many of each number within a range are entered\n",
+      "\n",
+      "# Macro definition\n",
+      "RANGE_LOW = 1\n",
+      "RANGE_HIGH = 10\t\t\t# Tallies numbers between RANGE_LOW and RANGE_HIGH\n",
+      "TRAILER = -1 \t\t\t# TRAILER marks end of data\n",
+      "\n",
+      "inputfeed = [ 3, 5, 1, 10, 8, 5, 10, 6, 2, 11, 4, 9, -2, 3, 2, 9, -1 ]\t\t# additional array for the sake of providing input\n",
+      "\n",
+      "tally = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\t\t# empty array\n",
+      "# Input numbers\n",
+      "print \"Please enter a number between %d and %d (%d to quit): \"%(RANGE_LOW,RANGE_HIGH,TRAILER),\n",
+      "num = inputfeed[0]\n",
+      "print num\n",
+      "\n",
+      "i = 1\n",
+      "while num != TRAILER :\n",
+      "\tif num < RANGE_LOW or num > RANGE_HIGH : \t\t# Out of range\n",
+      "\t\tprint \"%d is not between %d and %d.\"%(num,RANGE_LOW,RANGE_HIGH)\n",
+      "\telse :\n",
+      "\t\ttally[ num - RANGE_LOW] += 1\t\n",
+      "\tprint \"\\nEnter another number: \",\n",
+      "\tnum = inputfeed[i]\n",
+      "\tprint num\n",
+      "\ti += 1 \t\t\t# to iterate over the input array\n",
+      "\n",
+      "# Print totals\n",
+      "\n",
+      "print \"\\n------------\\n\\nYou entered:\"\n",
+      "for i in range(RANGE_HIGH - RANGE_LOW + 1) :\n",
+      "\tprint \"%2d %2d's\"%(tally[i],i + RANGE_LOW)\n",
+      "\n",
+      "print \"\\nThank you.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter a number between 1 and 10 (-1 to quit):  3\n",
+        "\n",
+        "Enter another number:  5\n",
+        "\n",
+        "Enter another number:  1\n",
+        "\n",
+        "Enter another number:  10\n",
+        "\n",
+        "Enter another number:  8\n",
+        "\n",
+        "Enter another number:  5\n",
+        "\n",
+        "Enter another number:  10\n",
+        "\n",
+        "Enter another number:  6\n",
+        "\n",
+        "Enter another number:  2\n",
+        "\n",
+        "Enter another number:  11\n",
+        "11 is not between 1 and 10.\n",
+        "\n",
+        "Enter another number:  4\n",
+        "\n",
+        "Enter another number:  9\n",
+        "\n",
+        "Enter another number:  -2\n",
+        "-2 is not between 1 and 10.\n",
+        "\n",
+        "Enter another number:  3\n",
+        "\n",
+        "Enter another number:  2\n",
+        "\n",
+        "Enter another number:  9\n",
+        "\n",
+        "Enter another number:  -1\n",
+        "\n",
+        "------------\n",
+        "\n",
+        "You entered:\n",
+        " 1  1's\n",
+        " 2  2's\n",
+        " 2  3's\n",
+        " 1  4's\n",
+        " 2  5's\n",
+        " 1  6's\n",
+        " 0  7's\n",
+        " 1  8's\n",
+        " 2  9's\n",
+        " 2 10's\n",
+        "\n",
+        "Thank you.\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 10-13, Page Number: 255"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Program to report car prices. User enters car make by number and car year. \n",
+      "# Program reports price. All data is fictitious\n",
+      "\n",
+      "# 2-D array (4 X 12 ) of prices : row = make , column = year\n",
+      "price_list = [\t[ 4775, 4980, 5222, 5305, 5483, 5547, 5596, 5713, 5842, 5903, 6043, 6230 ], # Volkswagen\n",
+      "\t\t\t\t[ 4853, 5140, 5413, 5590, 5723, 5848, 5762, 5944, 6104, 6255, 6370, 6526 ],\t# Chevy\n",
+      "\t\t\t\t[ 5627, 5772, 5973, 6210, 6539, 6720, 6792, 6930, 7054, 7202, 7355, 7562 ], # Cadillac\n",
+      "\t\t\t\t[ 1576, 1738, 1970, 2151, 2205, 2280, 2442, 2580, 2814, 1953, 3078, 3201 ],\t# Honda\n",
+      "\t\t\t]\t\n",
+      "\n",
+      "def get_make() : \n",
+      "\t\"\"\" read in and return the number (make) of the desired car \"\"\"\n",
+      "\t\n",
+      "\t# Print the choice numbers and names\n",
+      "\tfor i in range(1,5) :\n",
+      "\t\tprint \"%d=\"%i,\n",
+      "\t\tprint_make(i)\n",
+      "\t\tprint \",\",\n",
+      "\tprint \"0=END\"\n",
+      "\n",
+      "\t# Read in the selection by number\n",
+      "\tprint \"     Which car do you want? \",\n",
+      "\tmake = 2\n",
+      "\tprint make\n",
+      "\twhile make < 0 or make > 4 :\n",
+      "\t\tprint \"     Which car do you want? \",\n",
+      "\t\tmake = 2\n",
+      "\t\tprint make\n",
+      "\n",
+      "\treturn make\n",
+      "\n",
+      "def get_year() :\t\n",
+      "\t\"\"\" read in and return the year of the desired car \"\"\"\n",
+      "\n",
+      "\tprint \"     What year (1975-1986)?\",\n",
+      "\tyear = 1980\n",
+      "\tprint year\n",
+      "\twhile year < 1975 and year > 1986 :\n",
+      "\t\tprint \"     What year (1975-1986)?\",\n",
+      "\t\tyear = 1980\n",
+      "\t\tprint year\n",
+      "\n",
+      "\treturn year\n",
+      "\n",
+      "def price (car,yr) :\n",
+      "\t\"\"\" Use \"car\" and \"year\" to generate an index into \"price_list\" and return the corresponding entry \"\"\"\n",
+      "\treturn price_list[ car - 1 ][ yr - 1975]\n",
+      "\n",
+      "def print_make(car) :\n",
+      "\t\"\"\" print the make of \"car\" according to its value \"\"\"\n",
+      "\tif car == 1 : \n",
+      "\t\tprint \"Volkswagen\",\n",
+      "\telif car == 2 :\n",
+      "\t\tprint \"Chevy\",\n",
+      "\telif car == 3 :\n",
+      "\t\tprint \"Cadillac\",\n",
+      "\telse :\n",
+      "\t\tprint \"Honda\",\n",
+      "\n",
+      "make = get_make()\n",
+      "\n",
+      "while make != 0 :\t\t# O indicates end of input\n",
+      "\tyear = get_year()\n",
+      "\tprint \"The price of a %d\"%year,\n",
+      "\tprint_make(make)\n",
+      "\tprint \" is $%d.\\n\"%price(make,year)\n",
+      "\tmake = 0   # To terminate the loop\n",
+      "\n",
+      "print \"\\nThank you for buying all those cars!\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1= Volkswagen , 2= Chevy , 3= Cadillac , 4= Honda , 0=END\n",
+        "     Which car do you want?  2\n",
+        "     What year (1975-1986)? 1980\n",
+        "The price of a 1980 Chevy  is $5848.\n",
+        "\n",
+        "\n",
+        "Thank you for buying all those cars!\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/Chapter11.ipynb b/The_Spirit_of_C/Chapter11.ipynb
new file mode 100755
index 00000000..241e1c1e
--- /dev/null
+++ b/The_Spirit_of_C/Chapter11.ipynb
@@ -0,0 +1,383 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3a9b6dffdf9d20cf5158c028c4012a0a2cf4ee76994f18e9b81499931df7cb5d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11, Pointers and Indirection"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 11-1, Page Number : 278"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Introduction to pointers\n",
+      "\n",
+      "# There is no concept of pointers in python\n",
+      "i = 3\n",
+      "\n",
+      "j = id(i)\t# id() returns the address of the variable supplied\n",
+      "j = i \t\t# assign value of i to j such that it seems like j points to i\n",
+      "k = j\n",
+      "j = 4\n",
+      "\n",
+      "print \"i = %d, *j = %d, k = %d\"%(i,j,k)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i = 3, *j = 4, k = 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 11-2, Page Number: 280"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Demonstration of passing by reference for a function to be able to modify its parameters\n",
+      "\n",
+      "def modify(i) :\n",
+      "\ti = 3\n",
+      "\treturn i\n",
+      "\n",
+      "i = 1\n",
+      "print \"i is now equal to %d\"%i\n",
+      "\n",
+      "i = modify(i)\t\t\t\n",
+      "print \"i is now equal to %d\"%i"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i is now equal to 1\n",
+        "i is now equal to 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 11-3, Page Number: 281"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Pointer parameters in action: the swap routine\n",
+      "\n",
+      "def swap(i,j) :\n",
+      "\t\"\"\" exchange i with j and return \"\"\"\n",
+      "\ttemp = i   \t\t\t# temp variable can be avoided using i,j = j,i\n",
+      "\ti = j\n",
+      "\tj = temp\n",
+      "\treturn i,j\n",
+      "\n",
+      "i = 1\n",
+      "j = 9\n",
+      "print \"i = %d and j = %d\"%(i,j)\n",
+      "\n",
+      "# Now exchange them\n",
+      "i, j = swap(i,j)\n",
+      "print \"\\nnow i = %d and j = %d\"%(i,j)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i = 1 and j = 9\n",
+        "\n",
+        "now i = 9 and j = 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 11-4, Page Number: 282"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Array names are constant pointers\n",
+      "\n",
+      "an_array = [ 3, 7 ]\n",
+      "\n",
+      "def main() :\n",
+      "\talso = an_array\n",
+      "\talso[0] = 14\n",
+      "\tprint \"an_array = { %d, %d }\"%(an_array[0],an_array[1])\n",
+      "\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "an_array = { 14, 7 }\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 11-5, Page Number: 284"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Sorting an array revisited\n",
+      "# Passing an array as parameter\n",
+      "\n",
+      "# Macro definition\n",
+      "MAX_ARRAY_SIZE = 20\t\t# The array may have up to 20 elements\n",
+      "# Message flags for \"print array\"\n",
+      "ORIGINAL = 0\t# Display original array\n",
+      "SORTED = 1\t\t# Display sorted array\n",
+      "\n",
+      "numbers = [ 10, 42, 7, 0, 923, 12, -5, 6, 19, 3 ]\n",
+      "array_size = 0\n",
+      "\n",
+      "def get_size(size)\t:\n",
+      "\t\"\"\" reads the size of the array (until a valid value is entered) \"\"\"\n",
+      "\tglobal array_size\n",
+      "\tprint \"How many numbers?\",\n",
+      "\tsize = 10\n",
+      "\tprint size\n",
+      "\twhile size < 1 or size > MAX_ARRAY_SIZE\t:\n",
+      "\t\tprint \"How many numbers?\",\n",
+      "\t\tsize = 10\n",
+      "\t\tprint size\n",
+      "\tarray_size = size\n",
+      "\n",
+      "def get_array(array, size) :\n",
+      "\t\"\"\" read in the array called 'array' of size 'size' \"\"\"\n",
+      "\tprint \"Please enter the integers:\"\n",
+      "\tfor i in array :\n",
+      "\t\tprint i,\n",
+      "\tprint\n",
+      "\n",
+      "def print_array(array, size, message) :\n",
+      "\t\"\"\" print out the array on a single line. 'message' is a flag indicating which message to display(ORIGINAL or SORTED) \"\"\"\n",
+      "\tif message == ORIGINAL :\n",
+      "\t\tprint \"\\nThe original array is:\"\n",
+      "\telse :\n",
+      "\t\tprint \"\\nThe sorted array is:\"\n",
+      "\tfor i in array :\n",
+      "\t\tprint i,\n",
+      "\tprint\n",
+      "\n",
+      "def sort_array(array,size) :\n",
+      "\t\"\"\" sort 'array' of size 'size' \"\"\"\n",
+      "\tfor i in range(size - 1) :\n",
+      "\t\tfor j in range(i+1, size) :\n",
+      "\t\t\tif array[i] > array[j] :\n",
+      "\t\t\t\telement_swap(array, i, j)\n",
+      "\n",
+      "def element_swap(array, i, j) :\n",
+      "\t\"\"\" swap elements 'i' and 'j' of 'array' \"\"\"\n",
+      "\tglobal numbers\n",
+      "\tnumbers[i],numbers[j] = numbers[j],numbers[i]\n",
+      "\n",
+      "\n",
+      "get_size(array_size)\t\t\t\t\t\t# Read in the array's size\n",
+      "get_array(numbers, array_size)\t\t\t\t\t# Read in the array 'numbers' of size 'array_size'\n",
+      "print_array(numbers, array_size, ORIGINAL) \t# Echo the array \n",
+      "sort_array(numbers, array_size)\n",
+      "print_array(numbers, array_size, SORTED)\t\t# Print the sorted array"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many numbers? 10\n",
+        "Please enter the integers:\n",
+        "10 42 7 0 923 12 -5 6 19 3\n",
+        "\n",
+        "The original array is:\n",
+        "10 42 7 0 923 12 -5 6 19 3\n",
+        "\n",
+        "The sorted array is:\n",
+        "-5 0 3 6 7 10 12 19 42 923\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 11-6, Page Number: 294"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Sorting of array revisited\n",
+      "# Two dimensional char array (array of strings)\n",
+      "\n",
+      "# Macro definition\n",
+      "MAX_ARRAY_SIZE = 20\t\t# The array may have up to 20 elements\n",
+      "MAX_STRING_SIZE = 10 \t# Each string may have up to 10 characters\n",
+      "# Message flags for \"print_array\"\n",
+      "ORIGINAL = 0\n",
+      "SORTED = 1\n",
+      "\n",
+      "words = [ \"cat\", \"pig\", \"dog\", \"earlobe\", \"bingo\", \"elbow\", \"likely\", \"radar\" ]\n",
+      "array_size = 0\n",
+      "\n",
+      "def get_size(size) :\n",
+      "\t\"\"\" Read the size of the array into size (until a value is entered) \"\"\"\n",
+      "\tprint \"How many words? \",\n",
+      "\tsize = 8\n",
+      "\tprint size\n",
+      "\twhile size < 1 or size > MAX_ARRAY_SIZE :\n",
+      "\t\tprint \"How many words? \",\n",
+      "\t\tsize = 8\n",
+      "\t\tprint size\n",
+      "\tglobal array_size\n",
+      "\tarray_size = size\n",
+      "\n",
+      "def get_array(array,size) :\n",
+      "\t\"\"\" Read in the string array called 'array' of size 'size' \"\"\"\n",
+      "\tprint \"Please enter the words:\"\n",
+      "\tfor i in array :\n",
+      "\t\tprint i\n",
+      "\t\n",
+      "def print_array(array,size,message) :\n",
+      "\t\"\"\" Print out string array 'array' of size 'size'. 'message' is a flag indicating which message to display(ORIGINAL or SORTED) \"\"\"\n",
+      "\tif message == ORIGINAL :\n",
+      "\t\tprint \"\\nThe original array is:\"\n",
+      "\telse :\n",
+      "\t\tprint \"\\nThe sorted array is:\"\n",
+      "\tfor i in array :\n",
+      "\t\tprint i\n",
+      "\n",
+      "def sort_array(array,size) :\n",
+      "\t\"\"\" sort string array \"\"\"\n",
+      "\tfor i in range (size-1) :\n",
+      "\t\tfor j in range (i + 1, size) :\n",
+      "\t\t\tif array[i] > array[j] :\n",
+      "\t\t\t\tstring_swap(i,j)\n",
+      "\n",
+      "def string_swap(i, j) :\n",
+      "\t\"\"\" Exchange strings \"\"\"\n",
+      "\tglobal words\n",
+      "\twords[i],words[j] = words[j],words[i]\n",
+      "\n",
+      "get_size(array_size)\t\t# Read in the array size\n",
+      "get_array(words, array_size)\t# Read in the string array \"words\" of size \"array_size\"\n",
+      "print_array(words, array_size, ORIGINAL)\t# Echo the original array\n",
+      "sort_array(words, array_size)\t\n",
+      "print_array(words, array_size, SORTED) # Print the sorted array"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many words?  8\n",
+        "Please enter the words:\n",
+        "cat\n",
+        "pig\n",
+        "dog\n",
+        "earlobe\n",
+        "bingo\n",
+        "elbow\n",
+        "likely\n",
+        "radar\n",
+        "\n",
+        "The original array is:\n",
+        "cat\n",
+        "pig\n",
+        "dog\n",
+        "earlobe\n",
+        "bingo\n",
+        "elbow\n",
+        "likely\n",
+        "radar\n",
+        "\n",
+        "The sorted array is:\n",
+        "bingo\n",
+        "cat\n",
+        "dog\n",
+        "earlobe\n",
+        "elbow\n",
+        "likely\n",
+        "pig\n",
+        "radar\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/Chapter12.ipynb b/The_Spirit_of_C/Chapter12.ipynb
new file mode 100755
index 00000000..0195ed25
--- /dev/null
+++ b/The_Spirit_of_C/Chapter12.ipynb
@@ -0,0 +1,455 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:bfcc6bf3e86f2ff3b103be284b1b027f6faa9020241e866b9b4398fd89f8923c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12, Strings and String Functions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 12-1, Page Number: 331"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# The control string is just a string\n",
+      "\n",
+      "format = \"%s\"\n",
+      "message = \"hello\"\n",
+      "\n",
+      "print format % message"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "hello\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 12-2, Page Number: 334"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# The control string is just a string - part 2\n",
+      "\n",
+      "format = \"%.15s\"\n",
+      "message = \"hellohellohello\"\n",
+      "\n",
+      "# Read in the number of characters to be displayed from \"message\"\n",
+      "print \"How many characters do you want displayed?\",\n",
+      "size = 5\n",
+      "print size\n",
+      "\n",
+      "# Convert size to 2-digit number in format[2] and format[3]\n",
+      "\n",
+      "format = \"%.\" + str(size / 10) + str(size % 10) + \"s\"\n",
+      "print \"The format is %s\"%format\n",
+      "\n",
+      "# Print the string\n",
+      "print format % message"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many characters do you want displayed? 5\n",
+        "The format is %.05s\n",
+        "hello\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 12-3, Page Number 336"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# sprintf function \n",
+      "\n",
+      "# There is no sprintf functionality in python\n",
+      "# However an alternate way to solve the problem is...\n",
+      "\n",
+      "print \"Please enter a number:\",\n",
+      "number = 17\n",
+      "print number\n",
+      "\n",
+      "string = \"The number is %d\"%number\n",
+      "\n",
+      "print \"%s\"%string\n",
+      "\n",
+      "# OR \n",
+      "\n",
+      "print string"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter a number: 17\n",
+        "The number is 17\n",
+        "The number is 17\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 12-4, Page Number 337"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Variable control string using the sprintf function\n",
+      "\n",
+      "message = \"hellohellohello\"\n",
+      "\n",
+      "# Read in the number of characters to be displayed from message \n",
+      "print \"How many characters do you want displayed?\",\n",
+      "size = 7\n",
+      "print size\n",
+      "\n",
+      "# Create format in \"format\" using \"size\"\n",
+      "format = \"%%.%ds\\n\"%size\n",
+      "print \"The format is: %s\"%format\n",
+      "\n",
+      "# Print the string\n",
+      "print format % message"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many characters do you want displayed? 7\n",
+        "The format is: %.7s\n",
+        "\n",
+        "hellohe\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 12-5, Page Number 338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A terse string copy function\n",
+      "\n",
+      "def strcpy(copy, original):\n",
+      "\t\"\"\" copies one string into another \"\"\"\n",
+      "\tcopy = original\n",
+      "\treturn copy\n",
+      "\n",
+      "string1 = \"\"\n",
+      "string1 = strcpy(string1, \"This is a message\")\n",
+      "print \"String 1 = %s\"%string1\n",
+      "\n",
+      "string2 = \"\"\n",
+      "string2 = strcpy(string2, string1)\n",
+      "print \"String 2 = %s\"%string2"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "String 1 = This is a message\n",
+        "String 2 = This is a message\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 12-7, Page Number 344"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "string_point = \"hello\"\n",
+      "\n",
+      "string_var1 = string_point\n",
+      "\n",
+      "print \"%s\\n%s\"%(string_point,string_var1)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "hello\n",
+        "hello\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 12-8, Page Number 346"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# strcat function in python\n",
+      "# simple addition of strings results in concatenation in python\n",
+      "\n",
+      "def strcat(string1, string2) :\n",
+      "\t\"\"\" concatenates the string and returns the concatenated string \"\"\"\n",
+      "\tstring2 = string1 + string2\n",
+      "\treturn string2\n",
+      "\n",
+      "string1 = \"hello\"\n",
+      "string2 = strcat(string1,\" there\")\n",
+      "print \"string1 = %s\\nstring2 = %s\"%(string1,string2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "string1 = hello\n",
+        "string2 = hello there\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 12-9, Page Number 348"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# strcat version 2\n",
+      "\n",
+      "def strcat(string1, string2) :\n",
+      "\tstring1 = string1 + string2\n",
+      "\tstring2 = string1\n",
+      "\treturn string1,string2\n",
+      "\n",
+      "string1 = \"hello\"\n",
+      "string1,string2 = strcat(string1, \" there\")\n",
+      "\n",
+      "print \"string1 = %s\\nstring2 = %s\"%(string1,string2)\n",
+      "\n",
+      "if string1 == string2 :\n",
+      "\tprint \"string2 points to string1\"\n",
+      "else :\n",
+      "\tprint \"string2 does not point to string1\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "string1 = hello there\n",
+        "string2 = hello there\n",
+        "string2 points to string1\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 12-10, Page Number 351"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Alphabetizing program using dynamically allocated arrays\n",
+      "\n",
+      "# Macro definition\n",
+      "MAX_ARRAY_SIZE = 20\t\t# The array may have up to 20 elements\n",
+      "MAX_STRING_SIZE = 10 \t# Each string may have up to 10 characters\n",
+      "# Message flags for \"print_array\"\n",
+      "ORIGINAL = 0\n",
+      "SORTED = 1\n",
+      "\n",
+      "words = [ \"cat\", \"pig\", \"dog\", \"earlobe\", \"bingo\", \"elbow\", \"likely\", \"radar\" ]\n",
+      "array_size = 0\n",
+      "\n",
+      "def get_size(size) :\n",
+      "\t\"\"\" Read the size of the array into size (until a value is entered) \"\"\"\n",
+      "\tprint \"How many words? \",\n",
+      "\tsize = 8\n",
+      "\tprint size\n",
+      "\twhile size < 1 or size > MAX_ARRAY_SIZE :\n",
+      "\t\tprint \"How many words? \",\n",
+      "\t\tsize = 8\n",
+      "\t\tprint size\n",
+      "\tglobal array_size\n",
+      "\tarray_size = size\n",
+      "\n",
+      "def get_array(array,size) :\n",
+      "\t\"\"\" Read in the string array called 'array' of size 'size' \"\"\"\n",
+      "\tprint \"Please enter the words:\"\n",
+      "\tfor i in array :\n",
+      "\t\tprint i\n",
+      "\t\n",
+      "def print_array(array,size,message) :\n",
+      "\t\"\"\" Print out string array 'array' of size 'size'. 'message' is a flag indicating which message to display(ORIGINAL or SORTED) \"\"\"\n",
+      "\tprintout = [ \"\\nThe original array is:\", \"\\nThe sorted array is:\", \"\\n\" ]\n",
+      "\t# Print the appropriate message\n",
+      "\tprint \"%s\"%printout[message]\n",
+      "\n",
+      "\tfor i in array :\n",
+      "\t\tprint i\n",
+      "\n",
+      "def pointer_sort(array,size) :\n",
+      "\t\"\"\" sort string array \"\"\"\n",
+      "\tfor i in range (size-1) :\n",
+      "\t\tfor j in range (i + 1, size) :\n",
+      "\t\t\tif array[i] > array[j] :\n",
+      "\t\t\t\tswap(i,j)\n",
+      "\n",
+      "def swap(i, j) :\n",
+      "\t\"\"\" Exchange strings \"\"\"\n",
+      "\tglobal words\n",
+      "\twords[i],words[j] = words[j],words[i]\n",
+      "\n",
+      "get_size(array_size)\t\t# Read in the array size\n",
+      "get_array(words, array_size)\t# Read in the string array \"words\" of size \"array_size\"\n",
+      "print_array(words, array_size, ORIGINAL)\t# Echo the original array\n",
+      "pointer_sort(words, array_size)\t\n",
+      "print_array(words, array_size, SORTED) # Print the sorted array"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many words?  8\n",
+        "Please enter the words:\n",
+        "cat\n",
+        "pig\n",
+        "dog\n",
+        "earlobe\n",
+        "bingo\n",
+        "elbow\n",
+        "likely\n",
+        "radar\n",
+        "\n",
+        "The original array is:\n",
+        "cat\n",
+        "pig\n",
+        "dog\n",
+        "earlobe\n",
+        "bingo\n",
+        "elbow\n",
+        "likely\n",
+        "radar\n",
+        "\n",
+        "The sorted array is:\n",
+        "bingo\n",
+        "cat\n",
+        "dog\n",
+        "earlobe\n",
+        "elbow\n",
+        "likely\n",
+        "pig\n",
+        "radar\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
diff --git a/The_Spirit_of_C/Chapter13.ipynb b/The_Spirit_of_C/Chapter13.ipynb
new file mode 100755
index 00000000..d363dc7a
--- /dev/null
+++ b/The_Spirit_of_C/Chapter13.ipynb
@@ -0,0 +1,346 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:133c881c520fd0cdef07f65db120109cc62a996dd5161cf0f664c2ffcaa3adc4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 13, Structures"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 13-1, Page Number: 370"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Introduction to structures\n",
+      "\n",
+      "from collections import namedtuple\n",
+      "\n",
+      "#Structure defintion\n",
+      "struct = namedtuple(\"struct\", \"integer real\")\n",
+      "\n",
+      "first_structure = struct( 7, 3.14 )\n",
+      "second_structure = first_structure\n",
+      "\n",
+      "print \"integer = %d, real = %f\"%(second_structure.integer,second_structure.real)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "integer = 7, real = 3.140000\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 13-2, Page Number: 371"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Initializing a structure\n",
+      "\n",
+      "from collections import namedtuple\n",
+      "\n",
+      "#Structure defintion\n",
+      "struct = namedtuple(\"struct\", \"integer real\")\n",
+      "\n",
+      "structure = struct( 7, 3.14 )\n",
+      "\n",
+      "print \"integer = %d, real = %f\"%(structure.integer,structure.real)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "integer = 7, real = 3.140000\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 13-3, Page Number: 372"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# The structure tag\n",
+      "\n",
+      "from collections import namedtuple\n",
+      "\n",
+      "#Structure defintion\n",
+      "struct = namedtuple(\"struct\", \"integer real\")\n",
+      "\n",
+      "first_structure = struct( 7, 3.14 )\n",
+      "second_structure = first_structure\n",
+      "\n",
+      "print \"integer = %d, real = %f\"%(second_structure.integer,second_structure.real)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "integer = 7, real = 3.140000\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 13-4, Page Number: 375"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# An array of structures\n",
+      "\n",
+      "from collections import namedtuple\n",
+      "\n",
+      "#Structure defintion\n",
+      "struct = namedtuple(\"struct\", \"code price\")\n",
+      "\n",
+      "#code = [ \"a\", \"b\", \"c\", \"d\", \"e\" ]\n",
+      "#price = [ 3.29, 2.99, 0.59, 1.59, 2.39 ]\n",
+      "\n",
+      "table = [ struct(\"a\",3.29) , struct(\"b\",2.99), struct(\"c\",0.59), struct(\"d\",1.59), struct(\"e\",2.39) ]\n",
+      "\n",
+      "print \"Enter item code:\",\n",
+      "item_code = \"a\"\n",
+      "print item_code\n",
+      "i = 0\n",
+      "\n",
+      "while item_code != \".\" :\n",
+      "\n",
+      "\t#Search for 'item_code' in 'table'\n",
+      "\tfor i in range(4) :\n",
+      "\t\tif table[i].code == item_code :\n",
+      "\t\t\tbreak\n",
+      "\n",
+      "\tif i < 4:\n",
+      "\t\tprint \"Enter quantity: \",\n",
+      "\t\tquantity = 1\n",
+      "\t\tprint quantity\n",
+      "\t\n",
+      "\t\tprint \"\\nUnit price = %.2f, total price = %.2f.\\n\\n\"%(table[i].price,quantity * table[i].price)\n",
+      "\telse :\n",
+      "\t\tprint \"\\nItem code %c does not exist.\\n\\n\"%item_code\n",
+      "\tprint \"Enter item code:\",\n",
+      "\titem_code = \".\"\n",
+      "\tprint item_code\n",
+      "\n",
+      "\n",
+      "print \"Thank you.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter item code: a\n",
+        "Enter quantity:  1\n",
+        "\n",
+        "Unit price = 3.29, total price = 3.29.\n",
+        "\n",
+        "\n",
+        "Enter item code: .\n",
+        "Thank you.\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 13-5, Page Number: 378"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A pointer in a structure\n",
+      "\n",
+      "from collections import namedtuple\n",
+      "\n",
+      "#Structure defintion\n",
+      "struct = namedtuple(\"struct\", \"name price\")\n",
+      "\n",
+      "#code = [ \"a\", \"b\", \"c\", \"d\", \"e\" ]\n",
+      "#price = [ 3.29, 2.99, 0.59, 1.59, 2.39 ]\n",
+      "\n",
+      "table = [ struct(\"pickles\",2.29) , struct(\"soda\",0.99), struct(\"yogurt\",0.59), struct(\"bread\",1.09), struct(\"milk\",0.69) ]\n",
+      "\n",
+      "print \"Enter item name:\",\n",
+      "item_name = \"pickles\"\n",
+      "print item_name\n",
+      "i = 0\n",
+      "\n",
+      "while item_name != \".\" :\n",
+      "\n",
+      "\t#Search for 'item_code' in 'table'\n",
+      "\tfor i in range(4) :\n",
+      "\t\tif table[i].name == item_name :\n",
+      "\t\t\tbreak\n",
+      "\n",
+      "\tif i < 4:\n",
+      "\t\tprint \"Enter quantity: \",\n",
+      "\t\tquantity = 1\n",
+      "\t\tprint quantity\n",
+      "\t\n",
+      "\t\tprint \"\\nUnit price = %.2f, total price = %.2f.\\n\\n\"%(table[i].price,quantity * table[i].price)\n",
+      "\telse :\n",
+      "\t\tprint \"\\nItem code %c does not exist.\\n\\n\"%item_name\n",
+      "\tprint \"Enter item code:\",\n",
+      "\titem_name = \".\"\n",
+      "\tprint item_name\n",
+      "\n",
+      "\n",
+      "print \"Thank you.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter item name: pickles\n",
+        "Enter quantity:  1\n",
+        "\n",
+        "Unit price = 2.29, total price = 2.29.\n",
+        "\n",
+        "\n",
+        "Enter item code: .\n",
+        "Thank you.\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 13-6, Page Number: 381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# An array in a structure\n",
+      "\n",
+      "from collections import namedtuple\n",
+      "\n",
+      "#Structure defintion\n",
+      "struct = namedtuple(\"struct\", \"name price\")\n",
+      "\n",
+      "#code = [ \"a\", \"b\", \"c\", \"d\", \"e\" ]\n",
+      "#price = [ 3.29, 2.99, 0.59, 1.59, 2.39 ]\n",
+      "\n",
+      "table = [ struct(\"pickles\",2.29) , struct(\"soda\",0.99), struct(\"yogurt\",0.59), struct(\"bread\",1.09), struct(\"milk\",0.69) ]\n",
+      "\n",
+      "print \"Enter item name:\",\n",
+      "item_name = \"milk\"\n",
+      "print item_name\n",
+      "i = 0\n",
+      "\n",
+      "while item_name != \".\" :\n",
+      "\n",
+      "\t#Search for 'item_code' in 'table'\n",
+      "\tfor i in range(5) :\n",
+      "\t\tif table[i].name == item_name :\n",
+      "\t\t\tbreak\n",
+      "\n",
+      "\tif i < 5:\n",
+      "\t\tprint \"Enter quantity: \",\n",
+      "\t\tquantity = 5\n",
+      "\t\tprint quantity\n",
+      "\t\n",
+      "\t\tprint \"\\nUnit price = %.2f, total price = %.2f.\\n\\n\"%(table[i].price,quantity * table[i].price)\n",
+      "\telse :\n",
+      "\t\tprint \"\\nItem code %c does not exist.\\n\\n\"%item_name\n",
+      "\tprint \"Enter item code:\",\n",
+      "\titem_name = \".\"\n",
+      "\tprint item_name\n",
+      "\n",
+      "\n",
+      "print \"Thank you.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter item name: milk\n",
+        "Enter quantity:  5\n",
+        "\n",
+        "Unit price = 0.69, total price = 3.45.\n",
+        "\n",
+        "\n",
+        "Enter item code: .\n",
+        "Thank you.\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/Chapter14.ipynb b/The_Spirit_of_C/Chapter14.ipynb
new file mode 100755
index 00000000..380e83ef
--- /dev/null
+++ b/The_Spirit_of_C/Chapter14.ipynb
@@ -0,0 +1,298 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3748f84e3bd0279efe47855bd2c4e23912ef725121f3591980fa33e19d6ccae4"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 14, Input/Output and Files"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 14-5, Page Number: 424"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Files : Opening and Closing\n",
+      "\n",
+      "# Open the file for writing\n",
+      "\n",
+      "file_pointer = open(\"first_file\",\"w\")\n",
+      "\n",
+      "print \"Enter text:\"\n",
+      "\n",
+      "# Get characters and place them in the file\n",
+      "\n",
+      "text = \"BASIC is easy,\\nFORTAN is fun,\\nPascal may be structured,\\nBut C's the one!\"\n",
+      "print text\n",
+      "file_pointer.write(text)\n",
+      "\n",
+      "file_pointer.close()\n",
+      "\n",
+      "file_pointer = open(\"first_file\",\"r\")\n",
+      "\n",
+      "#Display the text from file\n",
+      "\n",
+      "print \"\\nYou entered:\"\n",
+      "print file_pointer.read()\n",
+      "\n",
+      "file_pointer.close()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter text:\n",
+        "BASIC is easy,\n",
+        "FORTAN is fun,\n",
+        "Pascal may be structured,\n",
+        "But C's the one!\n",
+        "\n",
+        "You entered:\n",
+        "BASIC is easy,\n",
+        "FORTAN is fun,\n",
+        "Pascal may be structured,\n",
+        "But C's the one!\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 14-6, Page Number: 426"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Using several files\n",
+      "\n",
+      "# Open the source file for reading\n",
+      "\n",
+      "first_file_pointer = open(\"first_file\",\"r\")\n",
+      "\n",
+      "# Open the destination file for writing\n",
+      "\n",
+      "second_file_pointer = open(\"second_file\",\"w\")\n",
+      "\n",
+      "# Transfer characters from source to destination file\n",
+      "\n",
+      "c = first_file_pointer.read()\n",
+      "second_file_pointer.write(c)\n",
+      "\n",
+      "# Close both files\n",
+      "\n",
+      "first_file_pointer.close()\n",
+      "second_file_pointer.close()\n",
+      "\n",
+      "# Open second file for displaying contentes\n",
+      "\n",
+      "second_file_pointer = open(\"second_file\",\"r\")\n",
+      "print(\"'second_file' contains:\")\n",
+      "print second_file_pointer.read()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "'second_file' contains:\n",
+        "BASIC is easy,\n",
+        "FORTAN is fun,\n",
+        "Pascal may be structured,\n",
+        "But C's the one!\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 14-7, Page Number : 428"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Append mode\n",
+      "\n",
+      "# Open the first file for writing\n",
+      "\n",
+      "first_file_pointer = open(\"first_file\",\"w\")\n",
+      "\n",
+      "# Open the second file for appending\n",
+      "\n",
+      "second_file_pointer = open(\"second_file\",\"a\")\n",
+      "\n",
+      "# Writing to both files\n",
+      "\n",
+      "first_file_pointer.write(\"\\n--Anonymous\\n\")\n",
+      "second_file_pointer.write(\"\\n--Anonymous\\n\")\n",
+      "\n",
+      "# Close both files\n",
+      "\n",
+      "first_file_pointer.close()\n",
+      "second_file_pointer.close()\n",
+      "\n",
+      "# Display the contents of first file\n",
+      "first_file_pointer = open(\"first_file\",\"r\")\n",
+      "print(\"After write, 'first_file contains:\")\n",
+      "print first_file_pointer.read()\n",
+      "\n",
+      "# Display the contents of second file\n",
+      "second_file_pointer = open(\"second_file\",\"r\")\n",
+      "print(\"After append, 'second_file' contains:\")\n",
+      "print second_file_pointer.read()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "After write, 'first_file contains:\n",
+        "\n",
+        "--Anonymous\n",
+        "\n",
+        "After append, 'second_file' contains:\n",
+        "BASIC is easy,\n",
+        "FORTAN is fun,\n",
+        "Pascal may be structured,\n",
+        "But C's the one!\n",
+        "--Anonymous\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 14-8, Page Number: 431"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# The seek function\n",
+      "\n",
+      "# Open file for reading\n",
+      "try :\n",
+      "\tfile_pointer = open(\"second_file\",\"r\")\n",
+      "except :\n",
+      "\tprint \"'second_file' cannot be opened\"\n",
+      "\texit ()\n",
+      "\n",
+      "# Skip the first 6 characters\n",
+      "\n",
+      "file_pointer.seek(6,0)\n",
+      "print file_pointer.read()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "is easy,\n",
+        "FORTAN is fun,\n",
+        "Pascal may be structured,\n",
+        "But C's the one!\n",
+        "--Anonymous\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 14-9, Page Number: 433"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# The 'w+' mode and seek to rewind a file\n",
+      "\n",
+      "# Open a file for read/write\n",
+      "file_pointer = open(\"first_file\",\"w+\")\n",
+      "\n",
+      "print \"Enter text:\"\n",
+      "text = \"BASIC is easy,\\nFORTAN is fun,\\nPascal may be structured,\\nBut C's the one!\"\n",
+      "print text\n",
+      "file_pointer.write(text)\n",
+      "\n",
+      "file_pointer.seek(0,0)\n",
+      "\n",
+      "# Display the file\n",
+      "print \"\\nYou entered:\"\n",
+      "print file_pointer.read()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter text:\n",
+        "BASIC is easy,\n",
+        "FORTAN is fun,\n",
+        "Pascal may be structured,\n",
+        "But C's the one!\n",
+        "\n",
+        "You entered:\n",
+        "BASIC is easy,\n",
+        "FORTAN is fun,\n",
+        "Pascal may be structured,\n",
+        "But C's the one!\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/chapter2.ipynb b/The_Spirit_of_C/chapter2.ipynb
new file mode 100755
index 00000000..dc84a28d
--- /dev/null
+++ b/The_Spirit_of_C/chapter2.ipynb
@@ -0,0 +1,119 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:7c8e11b3dcc5781949652c0b5c450d78713cb6e6b69326955d0f763c48805147"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2, An Introduction to Declarations, Assignments and Variables"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 2-1 , Page number: 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# An introduction to variable declarations \n",
+      "\n",
+      "number = 7 # no need of declaration of variable. Python is dynamically-typed language\n",
+      "print \"There are %d days in a week.\"%number"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "There are 7 days in a week.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 2-2 , Page number: 21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A simple program with two declarations\n",
+      "\n",
+      "minutes = 60\n",
+      "hours = 24\n",
+      "\n",
+      "print \"There are %d minutes in an hour.\"%minutes\n",
+      "print \"And %d hours in a day.\"%hours"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "There are 60 minutes in an hour.\n",
+        "And 24 hours in a day.\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 2-4 , Page number: 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# prints values of two variables\n",
+      "\n",
+      "dozens = 17\n",
+      "units = dozens * 12\n",
+      "\n",
+      "print \"%d units is equivalent to %d dozen.\"%(units,dozens)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "204 units is equivalent to 17 dozen.\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/chapter3.ipynb b/The_Spirit_of_C/chapter3.ipynb
new file mode 100755
index 00000000..b498486d
--- /dev/null
+++ b/The_Spirit_of_C/chapter3.ipynb
@@ -0,0 +1,241 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:c466b513c45bfe09da1b0507614f538770318fb66aadf4da4e1995363df32911"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3 , Integer Arithmetic Expressions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 3-1 , Page number: 33"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# An introduction to arithmetic \n",
+      "\n",
+      "a = 2\n",
+      "b = 3\n",
+      "c = 4\n",
+      "\n",
+      "answer = a + b\n",
+      "print \"a + b = %d\"%answer\n",
+      "\n",
+      "answer = a - b\n",
+      "print \"a - b = %d\"%answer\n",
+      "\n",
+      "answer = a * b\n",
+      "print \"a * b = %d\"%answer\n",
+      "\n",
+      "answer = a / b\n",
+      "print \"a / b = %d\"%answer\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a + b = 5\n",
+        "a - b = -1\n",
+        "a * b = 6\n",
+        "a / b = 0\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 3-2 , Page number: 34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Illustration of mathematical hierarchy\n",
+      "\n",
+      "a = 2\n",
+      "b = 3\n",
+      "c = 4\n",
+      "\n",
+      "answer = a + b * c\n",
+      "\n",
+      "print \"a = %d, b = %d, c= %d\"%(a,b,c)\n",
+      "print \"a + b * c = %d\\n\"%answer"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a = 2, b = 3, c= 4\n",
+        "a + b * c = 14\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 3-3 , Page number: 35"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A more advanced illustration of mathematical hierarchy\n",
+      "\n",
+      "a = 5\n",
+      "b = 10\n",
+      "c = 15\n",
+      "\n",
+      "answer = a + b / c\n",
+      "print \"%d + %d / %d = %d\"%(a,b,c,answer)\n",
+      "\n",
+      "answer = b * c - a\n",
+      "print \"%d * %d - %d = %d\"%(a,b,c,answer)\n",
+      "\n",
+      "answer = a * b / c\n",
+      "print \"%d * %d / %d = %d\"%(a,b,c,answer)\n",
+      "\n",
+      "answer = (a + c) * b / a\n",
+      "print \"(%d + %d) * %d / %d = %d\"%(a,c,b,a,answer)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5 + 10 / 15 = 5\n",
+        "5 * 10 - 15 = 145\n",
+        "5 * 10 / 15 = 3\n",
+        "(5 + 15) * 10 / 5 = 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 3-4 , Page number: 37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Illustration of modulus operator\n",
+      "\n",
+      "a = 4\n",
+      "b = 8\n",
+      "c = 13\n",
+      "\n",
+      "print \"%d mod %d = %d\"%(b,a,b%a)\n",
+      "print \"%d mod %d = %d\"%(c,a,c%a)\n",
+      "print \"%d mod %d = %d\"%(c,b,c%b)\n",
+      "\n",
+      "print \"The modulus operator is: %\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8 mod 4 = 0\n",
+        "13 mod 4 = 1\n",
+        "13 mod 8 = 5\n",
+        "The modulus operator is: %\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 3-5 , Page number: 38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Illustration of the unary minus\n",
+      "\n",
+      "a = -4\n",
+      "b = 5\n",
+      "c = -6\n",
+      "\n",
+      "print \"a = %d, b = %d, c = %d\\n\\n\"%(a,b,c)\n",
+      "print \"      and now\\n\\n\"\n",
+      "\n",
+      "a = -a\n",
+      "b = -b\n",
+      "c = -c\n",
+      "\n",
+      "print \"a = %d, b = %d, c = %d\\n\\n\"%(a,b,c)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a = -4, b = 5, c = -6\n",
+        "\n",
+        "\n",
+        "      and now\n",
+        "\n",
+        "\n",
+        "a = 4, b = -5, c = 6\n",
+        "\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/chapter4.ipynb b/The_Spirit_of_C/chapter4.ipynb
new file mode 100755
index 00000000..d13f3710
--- /dev/null
+++ b/The_Spirit_of_C/chapter4.ipynb
@@ -0,0 +1,148 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:03f3f522026b7ff6e1acac7746805bcac18faba022541a5d8a73470a897fdf7a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 4, Some More Data Types"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Prgoram 4-1 , Page number: 47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# An illustration of the use of floating point numbers\n",
+      "\n",
+      "# There is no loss of precision in python\n",
+      "a = 246.8\n",
+      "b = 135.79\n",
+      "\n",
+      "answer = a + b\n",
+      "print \"%f + %f = %f\"%(a,b,answer)\n",
+      "\n",
+      "answer = a - b\n",
+      "print \"%f - %f = %f\"%(a,b,answer)\n",
+      "\n",
+      "answer = a * b\n",
+      "print \"%f * %f = %f\"%(a,b,answer)\n",
+      "\n",
+      "answer = a / b\n",
+      "print \"%f / %f = %f\"%(a,b,answer)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "246.800000 + 135.790000 = 382.590000\n",
+        "246.800000 - 135.790000 = 111.010000\n",
+        "246.800000 * 135.790000 = 33512.972000\n",
+        "246.800000 / 135.790000 = 1.817512\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 4-2 , Page number: 49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Illustration of mixed mode expressions\n",
+      "\n",
+      "a = 2\n",
+      "b = 12.34\n",
+      "\n",
+      "result = a * b\n",
+      "print \"%d * %f = %f\"%(a,b,result)\n",
+      "\n",
+      "print \"%f in scientific notation is %e\"%(result,result)\n",
+      "\n",
+      "answer = a * b\n",
+      "print \"%d * %f = %d\"%(a,b,answer)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2 * 12.340000 = 24.680000\n",
+        "24.680000 in scientific notation is 2.468000e+01\n",
+        "2 * 12.340000 = 24\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 4-3 , Page number: 52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "ltr_1 = \"C\"\n",
+      "ltr_2 = \" \"\n",
+      "ltr_3 = \"i\"\n",
+      "ltr_4 = \"s\"\n",
+      "ltr_5 = \"g\"\n",
+      "ltr_6 = \"r\"\n",
+      "ltr_7 = \"e\"\n",
+      "ltr_8 = \"a\"\n",
+      "ltr_9 = \"t\"\n",
+      "ltr_10 = \"!\"\n",
+      "\n",
+      "print \"%c%c%c%c%c%c%c%c%c%c%c\"%(ltr_1,ltr_2,ltr_3,ltr_4,ltr_2,ltr_5,ltr_6,ltr_7,ltr_8,ltr_9,ltr_10)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "C is great!\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/chapter5.ipynb b/The_Spirit_of_C/chapter5.ipynb
new file mode 100755
index 00000000..db420a5b
--- /dev/null
+++ b/The_Spirit_of_C/chapter5.ipynb
@@ -0,0 +1,218 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:28fc7922ba91eac91816a02729f8986381706b8cffd1eaa9d68ce0cf435191aa"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5, Making Decisions in C"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 5-2 , Page number: 65"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Using If command\n",
+      "\n",
+      "print \"Enter a positive integer under 10: \",\n",
+      "n = 7\n",
+      "print n\n",
+      "\n",
+      "if n == 7 :\t\t\t\t\t# In this case it is 7\n",
+      "\tprint \"I knew you'd select 7!\"\n",
+      "print \"Thank you for your cooperation.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a positive integer under 10:  7\n",
+        "I knew you'd select 7!\n",
+        "Thank you for your cooperation.\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 5-3 , Page number: 67"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Testing for leap years\n",
+      "\n",
+      "print \"Please enter a year:\",\n",
+      "year = 1948\t\t\n",
+      "print year\n",
+      "# If \"year\" is divisble by 4 and not divisible by 100 or divisible by 400, \"year\" is a leap year\n",
+      "\n",
+      "if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0) :\n",
+      "\tprint \"%d is a leap year.\"%year\n",
+      "else :\n",
+      "\tprint \"%d is not a leap year.\"%year"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter a year: 1948\n",
+        "1948 is a leap year.\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 5-4 , Page number: 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Illustration of if...else clause\n",
+      "# Program to tell if a number is odd or even\n",
+      "\n",
+      "print \"Please enter an integer:\",\n",
+      "n = 13\n",
+      "print n\n",
+      "\n",
+      "# A number is even if it is divisible by 2\n",
+      "\n",
+      "if n % 2 != 0:\n",
+      "\tprint \"%d is odd\"%n\n",
+      "else:\n",
+      "\tprint \"%d is even\"%n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter an integer: 13\n",
+        "13 is odd\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 5-5 , Page number: 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Testing if a number is divisible by 7\n",
+      "\n",
+      "print \"Enter an integer:\",\n",
+      "n = 13\n",
+      "print n\n",
+      "\n",
+      "# A number is even if it is divisible by 2\n",
+      "\n",
+      "if n % 7 == 0:\n",
+      "\tprint \"%d is divisible by 7\"%n\n",
+      "else:\n",
+      "\tprint \"%d is not divisible by 7\"%n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter an integer: 13\n",
+        "13 is not divisible by 7\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 5-6 , Page number: 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Determining which of 2 numbers is larger\n",
+      "\n",
+      "print \"Enter an integer:\",\n",
+      "a = 4\n",
+      "print a\n",
+      "print \"Enter another integer: \",\n",
+      "b = 7\n",
+      "print b\n",
+      "\n",
+      "if a > b :\n",
+      "\tprint \"%d is greater than %d.\"%(a,b)\n",
+      "else:\n",
+      "\tprint \"%d is smaller than %d.\"%(a,b)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter an integer: 4\n",
+        "Enter another integer:  7\n",
+        "4 is smaller than 7.\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/chapter6.ipynb b/The_Spirit_of_C/chapter6.ipynb
new file mode 100755
index 00000000..f50ff06b
--- /dev/null
+++ b/The_Spirit_of_C/chapter6.ipynb
@@ -0,0 +1,494 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:c565a0de8f316cbc19d18a7bdba735b6241f6d0c0c10c2d49245aa88403df9e7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6, The While and do...While Loops"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 6-1 , Page number: 86"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A first look at the while loop\n",
+      "\n",
+      "i = 1\n",
+      "\n",
+      "while i < 11:\n",
+      "\tprint \"This is line number %d\"%i\n",
+      "\ti += 1 \t\t\t# Python doesn't support \"++\" or \"--\" shorthand expressions"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "This is line number 1\n",
+        "This is line number 2\n",
+        "This is line number 3\n",
+        "This is line number 4\n",
+        "This is line number 5\n",
+        "This is line number 6\n",
+        "This is line number 7\n",
+        "This is line number 8\n",
+        "This is line number 9\n",
+        "This is line number 10\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 6-2 , Page number: 89"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Countdown to blastoff\n",
+      "\n",
+      "i = 10\n",
+      "\n",
+      "print \"Countdown\"\n",
+      "\n",
+      "while i >= 0 :\n",
+      "\tprint \"%d\"%i\n",
+      "\ti -= 1\n",
+      "\n",
+      "print \"\\n\\nBlastoff!\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Countdown\n",
+        "10\n",
+        "9\n",
+        "8\n",
+        "7\n",
+        "6\n",
+        "5\n",
+        "4\n",
+        "3\n",
+        "2\n",
+        "1\n",
+        "0\n",
+        "\n",
+        "\n",
+        "Blastoff!\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 6-3 , Page number: 90"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Hailstones\n",
+      "\n",
+      "counter = 0;\n",
+      "\n",
+      "print \"Enter a positive integer:\",\n",
+      "n = 51\n",
+      "print n\n",
+      "\n",
+      "nsave = n\n",
+      "\n",
+      "\n",
+      "while n > 1:\n",
+      "\tif n % 2 :\t\t\t# if (n % 2) is non-zero, n is not divisible by 2 and is therefore odd\n",
+      "\t\tn = n * 3 + 1\n",
+      "\telse :\n",
+      "\t\tn /= 2\n",
+      "\tcounter += 1\n",
+      "\tprint \"Step %4d: n = %4d\"%(counter,n)\n",
+      "\n",
+      "print \"\\n\\n%d went to 1 in %d steps.\"%(nsave,counter)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a positive integer: 51\n",
+        "Step    1: n =  154\n",
+        "Step    2: n =   77\n",
+        "Step    3: n =  232\n",
+        "Step    4: n =  116\n",
+        "Step    5: n =   58\n",
+        "Step    6: n =   29\n",
+        "Step    7: n =   88\n",
+        "Step    8: n =   44\n",
+        "Step    9: n =   22\n",
+        "Step   10: n =   11\n",
+        "Step   11: n =   34\n",
+        "Step   12: n =   17\n",
+        "Step   13: n =   52\n",
+        "Step   14: n =   26\n",
+        "Step   15: n =   13\n",
+        "Step   16: n =   40\n",
+        "Step   17: n =   20\n",
+        "Step   18: n =   10\n",
+        "Step   19: n =    5\n",
+        "Step   20: n =   16\n",
+        "Step   21: n =    8\n",
+        "Step   22: n =    4\n",
+        "Step   23: n =    2\n",
+        "Step   24: n =    1\n",
+        "\n",
+        "\n",
+        "51 went to 1 in 24 steps.\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 6-4 , Page number: 92"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Computing the factorial\n",
+      "\n",
+      "print \"Type in a positive integer:\",\n",
+      "n = 6\n",
+      "print n\n",
+      "\n",
+      "nsave = n\n",
+      "factorial = 1\n",
+      "\n",
+      "while n > 1 :\t\n",
+      "\tfactorial *= n\n",
+      "\tn -= 1\n",
+      "\n",
+      "print \"Factorial of %d = %d\"%(nsave,factorial)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Type in a positive integer: 6\n",
+        "Factorial of 6 = 720\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 6-5 , Page number: 93"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Computing the factorial (shorter version)\n",
+      "\n",
+      "print \"Type in a positive integer: \",\n",
+      "n = 6\n",
+      "print n\n",
+      "\n",
+      "nsave = n\n",
+      "factorial = 1\n",
+      "\n",
+      "while n > 1 :\n",
+      "\tfactorial *= n      # Since python doesn't support '--' expression, the given program cannot be shortened\n",
+      "\tn -= 1\n",
+      "\n",
+      "print \"Factorial of %d = %d\"%(nsave,factorial)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Type in a positive integer:  6\n",
+        "Factorial of 6 = 720\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 6-6 , Page number: 95"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Illustration of do..while loops\n",
+      "\n",
+      "# This program reads in an integer, adds up the values of each of its individual digits, and prints out the sum.\n",
+      "\n",
+      "sum = 0\n",
+      "\n",
+      "print \"Type in an integer:\",\n",
+      "n = 1776\n",
+      "print n\n",
+      "\n",
+      "# There is no do...while loop in python\n",
+      "# An equivalent while loop can work\n",
+      "\n",
+      "while n > 0 :\n",
+      "\trightmost_digit = n % 10\t# Extract rightmost digit\n",
+      "\tsum += rightmost_digit\n",
+      "\tn /= 10\t\t\t\t\t\t# Move next digit into rightmost position\n",
+      "\n",
+      "print \"The sum of the digits is %d\"%sum\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Type in an integer: 1776\n",
+        "The sum of the digits is 21\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 6-7 , Page number: 97"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import sys\n",
+      "\n",
+      "# This program reads in an integer and prints it out backwards\n",
+      "\n",
+      "print \"Type in an integer: \",\n",
+      "n = 5746\n",
+      "print n\n",
+      "\n",
+      "print \"%d backwards is \"%n,\n",
+      "\n",
+      "while n > 0 :\n",
+      "\trightmost_digit = n % 10\n",
+      "\tsys.stdout.write(\"%d\"%rightmost_digit)  # For printing in the same line without implicit whitespaces\n",
+      "\tn /= 10\n",
+      "print \t\t\t# For the new line\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Type in an integer:  5746\n",
+        "5746 backwards is 6475\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 6-8 , Page number: 99"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A program to read in numbers and print out their squares\n",
+      "\n",
+      "print \"Enter an integer (negative to quit):\",\n",
+      "n = 5\n",
+      "print n\n",
+      "\n",
+      "while n > 0 :\n",
+      "\tprint \"%d squared is %d\"%(n,n*n)\n",
+      "\tprint \"\\nEnter an integer (negative to quit):\",\n",
+      "\tn = -1\n",
+      "\tprint n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter an integer (negative to quit): 5\n",
+        "5 squared is 25\n",
+        "\n",
+        "Enter an integer (negative to quit): -1\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 6-9 , Page number: 100"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A program to read in radius values and print out the circumference and area\n",
+      "\n",
+      "pi = 3.1416\n",
+      "\n",
+      "print \"Enter radius (negative to quit):\",\n",
+      "radius = 4.5\n",
+      "print radius\n",
+      "\n",
+      "while radius >= 0.0 :\n",
+      "\tprint \"The circumference is %f\"%(2.0 * pi * radius)\n",
+      "\tprint \"The area is %f\"%(pi * radius * radius)\n",
+      "\tprint \"\\nEnter radius (negative to quit):\",\n",
+      "\tradius = -1.0\n",
+      "\tprint radius\n",
+      "\t\n",
+      "\t"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter radius (negative to quit): 4.5\n",
+        "The circumference is 28.274400\n",
+        "The area is 63.617400\n",
+        "\n",
+        "Enter radius (negative to quit): -1.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 6-10 , Page number: 101"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "# A program to read in length and width and print out the perimeter and area\n",
+      "\n",
+      "print \"Enter length and width\"\n",
+      "print \" (one or both negative to quit):\",\n",
+      "length = 4\n",
+      "width = 5\n",
+      "print length,width\n",
+      "\n",
+      "while length > 0 and width > 0 : \n",
+      "\tprint \"The perimeter is %d\"%(2*(length+width))\n",
+      "\tprint \"The area is %d\"%(length*width)\n",
+      "\tprint \"\\nEnter length and width\"\n",
+      "\tprint \" (one or both negative to quit):\",\n",
+      "\tlength = -1\n",
+      "\twidth = 0\n",
+      "\tprint length,width\t"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter length and width\n",
+        " (one or both negative to quit): 4 5\n",
+        "The perimeter is 18\n",
+        "The area is 20\n",
+        "\n",
+        "Enter length and width\n",
+        " (one or both negative to quit): -1 0\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/chapter7.ipynb b/The_Spirit_of_C/chapter7.ipynb
new file mode 100755
index 00000000..33f7a4f3
--- /dev/null
+++ b/The_Spirit_of_C/chapter7.ipynb
@@ -0,0 +1,690 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:245ea275fa7c7004a79eeeeb6b3fc9780b5a19707d8b95c7a675d2142428b630"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 7, The for loop"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-1 , Page number: 119"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A simple illustration of for loop\n",
+      "\n",
+      "for i in range(1,11,1):\t\t# The loop starts with i=1 and continues until i<11 with its value increasing by 1 each time \n",
+      "\tprint \"This is line number %d\"%i"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "This is line number 1\n",
+        "This is line number 2\n",
+        "This is line number 3\n",
+        "This is line number 4\n",
+        "This is line number 5\n",
+        "This is line number 6\n",
+        "This is line number 7\n",
+        "This is line number 8\n",
+        "This is line number 9\n",
+        "This is line number 10\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-2 , Page number: 120"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Another simple illustration of a for loop\n",
+      "\n",
+      "print \"Countdown\"\n",
+      "\n",
+      "for i in range(10,-1,-1):\n",
+      "\tprint i\n",
+      "print \"\\n\\nBlastoff!\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Countdown\n",
+        "10\n",
+        "9\n",
+        "8\n",
+        "7\n",
+        "6\n",
+        "5\n",
+        "4\n",
+        "3\n",
+        "2\n",
+        "1\n",
+        "0\n",
+        "\n",
+        "\n",
+        "Blastoff!\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-3 , Page number: 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Calculating the squares of integers 1 through 10\n",
+      "\n",
+      "for i in range (1,11,1):\n",
+      "\tprint \"%d squared = %d\"%(i,i*i)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1 squared = 1\n",
+        "2 squared = 4\n",
+        "3 squared = 9\n",
+        "4 squared = 16\n",
+        "5 squared = 25\n",
+        "6 squared = 36\n",
+        "7 squared = 49\n",
+        "8 squared = 64\n",
+        "9 squared = 81\n",
+        "10 squared = 100\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-4 , Page number: 121"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A better looking program to calculate squares\n",
+      "\n",
+      "print \"Table of Results\\n\"\n",
+      "print \"   i    i squared\"\n",
+      "print \"   -    ---------\"\n",
+      "\n",
+      "for i in range(1,11,1):\n",
+      "\tprint \"%4d%13d\"%(i,i*i)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Table of Results\n",
+        "\n",
+        "   i    i squared\n",
+        "   -    ---------\n",
+        "   1            1\n",
+        "   2            4\n",
+        "   3            9\n",
+        "   4           16\n",
+        "   5           25\n",
+        "   6           36\n",
+        "   7           49\n",
+        "   8           64\n",
+        "   9           81\n",
+        "  10          100\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-5 , Page number: 122"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Finding the sum of integers 1 through 100\n",
+      "\n",
+      "sum = 0\n",
+      "n = 100\n",
+      "\n",
+      "for i in range(1,n+1,1):\t\t# The loop starts with i=1 and continues until i<11 with its value increasing by 1 each time \n",
+      "\tsum += i\t\n",
+      "\n",
+      "print \"The sum of integers from  1 to %d is %d\"%(n,sum)\n",
+      "print \"\\n\\nThis is confirmed by the Gauss Method: %d\"%(n*(n+1)/2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The sum of integers from  1 to 100 is 5050\n",
+        "\n",
+        "\n",
+        "This is confirmed by the Gauss Method: 5050\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-6 , Page number: 124"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Finding the sum of the integers 1 through MAX_VAL\n",
+      "\n",
+      "# There is no #define command for defining constants\n",
+      "# We can use a function that returns the value (although it is not very efficient to do so)\n",
+      "\n",
+      "def MAX_VAL():\n",
+      "\treturn 100\t\t\t# The value of MAX_VAL\n",
+      "\n",
+      "sum = 0\n",
+      "\n",
+      "for i in range (0,MAX_VAL()+1,1):\n",
+      "\tsum += i\n",
+      "\n",
+      "print \"The sum of the integers from 1 to %d is %d\"%(MAX_VAL(),sum)\n",
+      "print \"\\n\\nThis is confirmed by the Gauss Method : %d\"%(MAX_VAL()*(MAX_VAL()+1)/2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The sum of the integers from 1 to 100 is 5050\n",
+        "\n",
+        "\n",
+        "This is confirmed by the Gauss Method : 5050\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-7 , Page number: 125"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Calculating the sum of integers 1 through n\n",
+      "\n",
+      "sum = 0\n",
+      "\n",
+      "print \"Please type in a positive integer:\",\n",
+      "n = 50\n",
+      "print n\n",
+      "\n",
+      "for i in range (1,n+1,1):\n",
+      "\tsum += i\n",
+      "\n",
+      "print \"\\nThe sum of the integers from 1 to %d is: %d\"%(n,sum)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please type in a positive integer: 50\n",
+        "\n",
+        "The sum of the integers from 1 to 50 is: 1275\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-8 , Page number: 125"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Calculating the sum of integers low through high\n",
+      "\n",
+      "sum = 0\n",
+      "\n",
+      "print \"Please type in the low bound:\",\n",
+      "low = 3\n",
+      "print low\n",
+      "print \"Please type in the high bound:\",\n",
+      "high = 9\n",
+      "print high\n",
+      "\n",
+      "for i in range(low,high+1,1):\n",
+      "\tsum += i\n",
+      "\n",
+      "print \"\\nThe sum of integers from %d to %d is: %d\"%(low,high,sum)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please type in the low bound: 3\n",
+        "Please type in the high bound: 9\n",
+        "\n",
+        "The sum of integers from 3 to 9 is: 42\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-9 , Page number: 127"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Calculating the sum of integers low through high with an exchange if necessary\n",
+      "\n",
+      "sum = 0\n",
+      "\n",
+      "print \"Please type in the low bound:\",\n",
+      "low = 30\n",
+      "print low\n",
+      "print \"Please type in the high bound:\",\n",
+      "high = 15\n",
+      "print high\n",
+      "\n",
+      "if high < low :\n",
+      "\tprint \"Oops! Wrong order.\"\n",
+      "\tprint \"Never mind, I'll switch them.\"\n",
+      "\t# Code for swapping using temporary variable\n",
+      "\ttemp = low\n",
+      "\tlow = high\n",
+      "\thigh = temp\n",
+      "\n",
+      "for i in range(low,high+1,1):\n",
+      "\tsum += i\n",
+      "\n",
+      "print \"\\nThe sum of integers from %d to %d is: %d\"%(low,high,sum)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please type in the low bound: 30\n",
+        "Please type in the high bound: 15\n",
+        "Oops! Wrong order.\n",
+        "Never mind, I'll switch them.\n",
+        "\n",
+        "The sum of integers from 15 to 30 is: 360\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-10 ,Page number: 128"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Illustration of a nest of for loops\n",
+      "\n",
+      "n = 5\n",
+      "for i in range(1,7,1):\n",
+      "\tprint \"\\n\\nPlease type in a positive integer: \",\n",
+      "\tprint n\n",
+      "\n",
+      "\tsum = 0\n",
+      "\tfor j in range(1,n+1,1):\n",
+      "\t\tsum += j\n",
+      "\tprint \"\\nThe sum of integers from 1 to %d is %d\"%(n,sum)\n",
+      "\t\n",
+      "\tn += 5\t\t\t# Just to match the exercise's values"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "\n",
+        "Please type in a positive integer:  5\n",
+        "\n",
+        "The sum of integers from 1 to 5 is 15\n",
+        "\n",
+        "\n",
+        "Please type in a positive integer:  10\n",
+        "\n",
+        "The sum of integers from 1 to 10 is 55\n",
+        "\n",
+        "\n",
+        "Please type in a positive integer:  15\n",
+        "\n",
+        "The sum of integers from 1 to 15 is 120\n",
+        "\n",
+        "\n",
+        "Please type in a positive integer:  20\n",
+        "\n",
+        "The sum of integers from 1 to 20 is 210\n",
+        "\n",
+        "\n",
+        "Please type in a positive integer:  25\n",
+        "\n",
+        "The sum of integers from 1 to 25 is 325\n",
+        "\n",
+        "\n",
+        "Please type in a positive integer:  30\n",
+        "\n",
+        "The sum of integers from 1 to 30 is 465\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-11 , Page number: 130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Another illustration of a nest of for loops\n",
+      "\n",
+      "print \"How many values of n do you wish to enter? \",\n",
+      "runs = 3\n",
+      "print runs\n",
+      "print \"\\n\\n\"\n",
+      "\n",
+      "n = 9\n",
+      "\n",
+      "for i in range(1,runs+1,1) :\n",
+      "\tprint \"\\n\\nPLease type in a positive integer: \",\n",
+      "\tprint n\n",
+      "\n",
+      "\tsum = 0\n",
+      "\tfor j in range(1,n+1,1) :\n",
+      "\t\tsum += j\n",
+      "\tprint \"\\nThe sum of the integers from 1 to %d is: %d\"%(n,sum)\n",
+      "\tn *= 3\t\t\t# Just a random increment"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many values of n do you wish to enter?  3\n",
+        "\n",
+        "\n",
+        "\n",
+        "\n",
+        "\n",
+        "PLease type in a positive integer:  9\n",
+        "\n",
+        "The sum of the integers from 1 to 9 is: 45\n",
+        "\n",
+        "\n",
+        "PLease type in a positive integer:  27\n",
+        "\n",
+        "The sum of the integers from 1 to 27 is: 378\n",
+        "\n",
+        "\n",
+        "PLease type in a positive integer:  81\n",
+        "\n",
+        "The sum of the integers from 1 to 81 is: 3321\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-12 , Page number: 131"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Newton-Rapshon method for calculating square roots\n",
+      "\n",
+      "def EPSILON() :\n",
+      "\t\"\"\" USING AS A CONSTANT \"\"\"\n",
+      "\treturn 0.0001\n",
+      "\n",
+      "print \"What number do you want to kate the square root of?\",\n",
+      "n = 17.0\n",
+      "print n\n",
+      "\n",
+      "while n < 0.0 :\n",
+      "\tprint \"Please enter a non-negative number!\"\n",
+      "\tn = 3 \t\t\t\t\t# Just a random positive number\n",
+      "\n",
+      "# The for loop statement given in the example(from the book) is not possible to code in python\n",
+      "# So, breaking it down to while loop\n",
+      "\n",
+      "guess = n / 2.0\n",
+      "while (guess * guess - n > EPSILON() or guess * guess - n < -EPSILON()) :\n",
+      "\tguess = (guess + n/guess) / 2.0\n",
+      "\t\n",
+      "print \"I calculate the square root of %f to be %.4f\"%(n,guess)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "What number do you want to kate the square root of? 17.0\n",
+        "I calculate the square root of 17.000000 to be 4.1231\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-13 , Page number: 133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# General addition table for a number n\n",
+      "\n",
+      "print \"What number do you want a table for?\",\n",
+      "n = 10\n",
+      "print n\n",
+      "\n",
+      "j = n\n",
+      "for i in range (0,n+1,1) :\n",
+      "\tprint \"%3d + %3d = %3d\"%(i,j,n)\n",
+      "\tj -= 1"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "What number do you want a table for? 10\n",
+        "  0 +  10 =  10\n",
+        "  1 +   9 =  10\n",
+        "  2 +   8 =  10\n",
+        "  3 +   7 =  10\n",
+        "  4 +   6 =  10\n",
+        "  5 +   5 =  10\n",
+        "  6 +   4 =  10\n",
+        "  7 +   3 =  10\n",
+        "  8 +   2 =  10\n",
+        "  9 +   1 =  10\n",
+        " 10 +   0 =  10\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 7-14 , Page number: 135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Generate addition table for a number n, shorter loop\n",
+      "\n",
+      "print \"What number do you want a table for?\",\n",
+      "n = 10\n",
+      "print n\n",
+      "\n",
+      "# Since the range() function supports at max 3 arguments, no possible shortening is possilbe in python\n",
+      "j = n\n",
+      "for i in range (0,n+1,1):\n",
+      "\tprint \"%3d + %3d = %3d\"%(i,j,n)\n",
+      "\tj -= 1\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "What number do you want a table for? 10\n",
+        "  0 +  10 =  10\n",
+        "  1 +   9 =  10\n",
+        "  2 +   8 =  10\n",
+        "  3 +   7 =  10\n",
+        "  4 +   6 =  10\n",
+        "  5 +   5 =  10\n",
+        "  6 +   4 =  10\n",
+        "  7 +   3 =  10\n",
+        "  8 +   2 =  10\n",
+        "  9 +   1 =  10\n",
+        " 10 +   0 =  10\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/chapter8.ipynb b/The_Spirit_of_C/chapter8.ipynb
new file mode 100755
index 00000000..baae6f9a
--- /dev/null
+++ b/The_Spirit_of_C/chapter8.ipynb
@@ -0,0 +1,567 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:db9d52743fdd42516fb59e7618f0fc71d76d4ba3cb21fd098bf4fd004c40683b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8, A Detailed Look at the printf and scanf Functions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-1 , Page number: 149"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A print demo\n",
+      "# The conversion specification for numbers.\n",
+      "\n",
+      "print \"Case  1 :%d:\"%123\n",
+      "\n",
+      "print \"Case  2 :%0d:\"%123\n",
+      "\n",
+      "print \"Case  3 :%2d:\"%123\n",
+      "\n",
+      "print \"Case  4 :%8d:\"%123\n",
+      "\n",
+      "print \"Case  5 :%-8d:\"%123\n",
+      "\n",
+      "print \"Case  6 :%8d:\"%-123\n",
+      "\n",
+      "print \"Case  7 :%f:\"%123.456\n",
+      "\n",
+      "print \"Case  8 :%f:\"%123.4567896\n",
+      "\n",
+      "print \"Case  9 :%e:\"%123.456\n",
+      "\n",
+      "print \"Case  10 :%e:\"%1.23456e2\n",
+      "\n",
+      "print \"Case  11 :%e:\"%123.456e+0\n",
+      "\n",
+      "print \"Case  12 :%f:\"%1.23456E+02\n",
+      "\n",
+      "print \"Case  13 :%4.2f:\"%123.456\n",
+      "\n",
+      "print \"Case  14 :%8.2f:\"%123.456\n",
+      "\n",
+      "print \"Case  15 :%.3e:\"%123.456\n",
+      "\n",
+      "print \"Case  16 :%12.3e:\"%123.456\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Case  1 :123:\n",
+        "Case  2 :123:\n",
+        "Case  3 :123:\n",
+        "Case  4 :     123:\n",
+        "Case  5 :123     :\n",
+        "Case  6 :    -123:\n",
+        "Case  7 :123.456000:\n",
+        "Case  8 :123.456790:\n",
+        "Case  9 :1.234560e+02:\n",
+        "Case  10 :1.234560e+02:\n",
+        "Case  11 :1.234560e+02:\n",
+        "Case  12 :123.456000:\n",
+        "Case  13 :123.46:\n",
+        "Case  14 :  123.46:\n",
+        "Case  15 :1.235e+02:\n",
+        "Case  16 :   1.235e+02:\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-2 , Page number: 152"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# A print demo:\n",
+      "# Interpretation of values\n",
+      "\n",
+      "# python is dynamically-typed language\n",
+      "# which is why declaration of variables is omitted\n",
+      "n = -123\n",
+      "c = \"V\"\n",
+      "\n",
+      "print \"%d\"%n\n",
+      "print \"%u\"%n\t\t# python correctly interprets the negative(unsigned) integer\n",
+      "\n",
+      "print \"%c\"%c\n",
+      "# print \"%d\"%c  \t# python doesn't support implicit type-casting from integer to character or character to integer\n",
+      "print \"%c\"%86"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "-123\n",
+        "-123\n",
+        "V\n",
+        "V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-3 , Page number: 153"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Printing out the ASCII value of a character\n",
+      "\n",
+      "# There is no do..while loop in python\n",
+      "# Hence, we will be using while loop \n",
+      "\n",
+      "\n",
+      "answer = \"y\"\n",
+      "while answer == \"y\" :\n",
+      "\tprint \"Enter a character:\",\n",
+      "\tin_char = \"a\"\n",
+      "\tprint in_char\n",
+      "\n",
+      "\tprint \"The ASCII value of %c is %d\"%(in_char,ord(in_char)) \t# ord() function returns the ascii(int) value of a character\n",
+      "\n",
+      "\tprint \"\\nAnother? (y/n)\",\n",
+      "\tanswer = \"n\"\t\t\t# To terminate the loop\n",
+      "\tprint answer\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a character: a\n",
+        "The ASCII value of a is 97\n",
+        "\n",
+        "Another? (y/n) n\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-4 , Page number: 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Converting a digit to a number by using its ASCII value\n",
+      "\n",
+      "print \"Enter a digit:\",\n",
+      "digit = \"A\"\n",
+      "print digit\n",
+      "\n",
+      "if digit < \"0\" or digit > \"9\" :\n",
+      "\tprint \"That's not a digit\"\n",
+      "else :\n",
+      "\tprint \"The digit you typed is %c\"%digit"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a digit: A\n",
+        "That's not a digit\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-5 , Page number: 156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Converting a letter from lower to upper case or vice-versa\n",
+      "\n",
+      "answer = \"y\"\n",
+      "while answer == \"y\" :\n",
+      "\tprint \"\\n\\n\\nEnter a letter:\",\n",
+      "\tletter = \"A\"\n",
+      "\tprint letter\n",
+      "\n",
+      "\tif letter >= \"A\" and letter < \"Z\" :\t\t# Letter is uppercase\n",
+      "\t\tprint \"Lower case is: %c\"%chr(ord(letter) + (ord(\"a\")-ord(\"A\")))\n",
+      "\telif letter >= \"a\" and letter <= \"z\" :\t# Letter is lowercase\n",
+      "\t\tprint \"Upper case is: %c\"%chr(ord(letter) - (ord(\"a\")-ord(\"A\")))\n",
+      "\telse :\n",
+      "\t\tprint \"That's not a letter\"\n",
+      "\n",
+      "\t# Ask if the user wants to go again\n",
+      "\tprint \"\\nAnother? (y/n)\",\n",
+      "\tanswer = \"n\"\t\t# To terminate the loop\n",
+      "\tprint answer"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "\n",
+        "\n",
+        "Enter a letter: A\n",
+        "Lower case is: a\n",
+        "\n",
+        "Another? (y/n) n\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-6 , Page number: 157"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Example of using control characters\n",
+      "\n",
+      "print \"The word apple\\b\\b\\b\\b\\b_____ is underlined.\\n\"\n",
+      "print \"The last word in this sentence is way over\\t\\there.\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The word apple\b\b\b\b\b_____ is underlined.\n",
+        "\n",
+        "The last word in this sentence is way over\t\there.\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-7 , Page number: 158"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# How to print special characters\n",
+      "\n",
+      "print \"This is how to print a double-quote: \\\"\"\n",
+      "print \"This is how to print a backslash: \\\\\"\n",
+      "# this is how to write an apostrophe character\n",
+      "c = '\\''\n",
+      "print \"c now contains: %c\"%c\n",
+      "print \"This is how to print a percent-sign: %\"\t\t# no escape sequence required for % in python"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "This is how to print a double-quote: \"\n",
+        "This is how to print a backslash: \\\n",
+        "c now contains: '\n",
+        "This is how to print a percent-sign: %\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-8 , Page number: 160"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Octal and hexadecimal notation\n",
+      "\n",
+      "a = 27\n",
+      "b = 033\n",
+      "c = 0x1b\n",
+      "\n",
+      "print \"a = %d, b = %d, c = %d\"%(a,b,c)\n",
+      "print \"a = %o, b = %o, c = %o\"%(a,b,c)\n",
+      "print \"a = %x, b = %x, c = %x\"%(a,b,c)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a = 27, b = 27, c = 27\n",
+        "a = 33, b = 33, c = 33\n",
+        "a = 1b, b = 1b, c = 1b\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-9 , Page number: 162"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Illustration of some ways to print a string\n",
+      "\n",
+      "print \"This is simply a control string.\"\n",
+      "\n",
+      "print \"%s\"%(\"The control string just tells how to print this.\")\n",
+      "\n",
+      "print \"%s\"%(\"Newline may be put here, instead!.\\n\"),\n",
+      "\n",
+      "print \"%s %s %s %s %s\"%(\"This\",\"is\",\"valid\",\"in\",\"C.\")\n",
+      "\n",
+      "print \"%s %s also %s %s %s\"%(\"This\",\"is\",\"valid\",\"in\",\"C.\")\n",
+      "\n",
+      "print \"%s %s %s %s %s %s %s\"%(\"This\",\"is\",\"valid\",\"in\",\"C\",\"also.\",\"\\n\"),"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "This is simply a control string.\n",
+        "The control string just tells how to print this.\n",
+        "Newline may be put here, instead!.\n",
+        "This is valid in C.\n",
+        "This is also valid in C.\n",
+        "This is valid in C also. \n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-10 , Page number: 163"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# %s conversion specification demonstrated\n",
+      "\n",
+      "print \"Case 1 :%s:\"%(\"A string\")\n",
+      "\n",
+      "print \"Case 2 :%3s:\"%(\"A string\")\n",
+      "\n",
+      "print \"Case 3 :%12s:\"%(\"A string\")\n",
+      "\n",
+      "print \"Case 4 :%-12s:\"%(\"A string\")\n",
+      "\n",
+      "print \"Case 5 :%12.6s:\"%(\"A string\")\n",
+      "\n",
+      "print \"Case 6 :%12.12s:\"%(\"A string\")\n",
+      "\n",
+      "print \"Case 7 :%.6s:\"%(\"A string\")\n",
+      "\n",
+      "print \"Case 8 :%-12.6s:\"%(\"A string\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Case 1 :A string:\n",
+        "Case 2 :A string:\n",
+        "Case 3 :    A string:\n",
+        "Case 4 :A string    :\n",
+        "Case 5 :      A stri:\n",
+        "Case 6 :    A string:\n",
+        "Case 7 :A stri:\n",
+        "Case 8 :A stri      :\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-11 , Page number: 164 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Some miscellaneous conversion sppecifications\n",
+      "\n",
+      "a = 123456789L\n",
+      "\n",
+      "print \"%d\"%a\t\t\t# in python both int and long are unified..so %d specifier valid unlike in C\n",
+      "print \"%ld\"%a\n",
+      "print \":%c:\"%(\"V\")\n",
+      "print \":%0c:\"%(\"V\")\n",
+      "print \":%5c:\"%(\"V\")\n",
+      "print \":%-5c:\"%(\"V\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "123456789\n",
+        "123456789\n",
+        ":V:\n",
+        ":V:\n",
+        ":    V:\n",
+        ":V    :\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 8-13 , Page number: 171"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Reading decimal,octal and hex numbers\n",
+      "\n",
+      "print \"Enter a number in decimal:\",\n",
+      "a = 27\n",
+      "print a\n",
+      "print \"You entered %d\"%a\n",
+      "\n",
+      "print \"\\nEnter a number in octal:\",\n",
+      "a = 033\t\t\t# O is added in the front to specify octal value\n",
+      "print a\n",
+      "print \"You entered %o, or %d in decimal\"%(a,a)\n",
+      "\n",
+      "print \"\\nEnter a number in hex:\",\n",
+      "a = 0x1B\n",
+      "print a\n",
+      "print \"You entered %x, or %d in decimal\"%(a,a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a number in decimal: 27\n",
+        "You entered 27\n",
+        "\n",
+        "Enter a number in octal: 27\n",
+        "You entered 33, or 27 in decimal\n",
+        "\n",
+        "Enter a number in hex: 27\n",
+        "You entered 1b, or 27 in decimal\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/chapter9.ipynb b/The_Spirit_of_C/chapter9.ipynb
new file mode 100755
index 00000000..ae4771e3
--- /dev/null
+++ b/The_Spirit_of_C/chapter9.ipynb
@@ -0,0 +1,590 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:13a3347e13ed5ee09ae2833e49a517873801778756103a4da905a96a5997fa89"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 9, User-Defined Functions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-1 , Page number: 187"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Using a function as an abbreviation\n",
+      "\n",
+      "# In python, the user defined functions have to defined before making a call to them\n",
+      "\n",
+      "def chorus() :\n",
+      "\tprint \"%60s\"%\"With a knick-knack-paddy-whack,\"\n",
+      "\tprint \"%60s\"%\"Give the dog a bone,\"\n",
+      "\tprint \"%60s\\n\"%\"This old man went rolling home.\"\n",
+      "\n",
+      "print \"This old man, he played two,\"\n",
+      "print \"He played knick-knack on my thumb,\"\n",
+      "chorus()\n",
+      "\n",
+      "print \"This old man, he played one,\"\n",
+      "print \"He played knick-knack on my shoe,\"\n",
+      "chorus()\n",
+      "\n",
+      "print \"This old man, he played three,\"\n",
+      "print \"He played knick-knack on my knee,\"\n",
+      "chorus()\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "This old man, he played two,\n",
+        "He played knick-knack on my thumb,\n",
+        "                             With a knick-knack-paddy-whack,\n",
+        "                                        Give the dog a bone,\n",
+        "                             This old man went rolling home.\n",
+        "\n",
+        "This old man, he played one,\n",
+        "He played knick-knack on my shoe,\n",
+        "                             With a knick-knack-paddy-whack,\n",
+        "                                        Give the dog a bone,\n",
+        "                             This old man went rolling home.\n",
+        "\n",
+        "This old man, he played three,\n",
+        "He played knick-knack on my knee,\n",
+        "                             With a knick-knack-paddy-whack,\n",
+        "                                        Give the dog a bone,\n",
+        "                             This old man went rolling home.\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-2 , Page number: 189"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Demonstration of one use of a function\n",
+      "\n",
+      "def get_an_int() :\n",
+      "\t\"\"\"RETURNS AN INTEGER\"\"\"\t\t# This statement is just a description of the function (specific feature of python)\n",
+      "\treturn 5\n",
+      "\n",
+      "print \"Enter the length of a rectangle:\",\n",
+      "length = get_an_int()\n",
+      "print length\n",
+      "\n",
+      "print \"Enter the width:\",\n",
+      "width = get_an_int()\n",
+      "print width\n",
+      "\n",
+      "print \"\\nThe area is %d\"%(length*width)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the length of a rectangle: 5\n",
+        "Enter the width: 5\n",
+        "\n",
+        "The area is 25\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-3 , Page number: 191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# An attempt at communication between functions\n",
+      "\n",
+      "def modify_i() :\n",
+      "\ti = 3\n",
+      "\t\n",
+      "i = 1\n",
+      "print \"i is now equal to %d\"%i\n",
+      "\n",
+      "modify_i()\n",
+      "print \"i is now equal to %d\"%i\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i is now equal to 1\n",
+        "i is now equal to 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-4 , Page number: 192"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Demonstration of the use of a global variable\n",
+      "\n",
+      "# Making variable global\n",
+      "\n",
+      "def get_an_int() :\n",
+      "\treturn 5\n",
+      "\n",
+      "def calc_area() :\n",
+      "\tarea = length*width\n",
+      "\n",
+      "globals()\t\t\t# The command simply makes all the variables declared so far as global variables\n",
+      "print \"Enter the length of a rectangle:\",\n",
+      "length = get_an_int()\n",
+      "print length\n",
+      "\n",
+      "print \"Enter the width:\",\n",
+      "width = get_an_int()\n",
+      "print width\n",
+      "\n",
+      "calc_area()\n",
+      "print \"\\nThe area is %d\"%(length*width)\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the length of a rectangle: 5\n",
+        "Enter the width: 5\n",
+        "\n",
+        "The area is 25\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-5 , Page number: 194"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Introduction to parameters\n",
+      "\n",
+      "def print_an_int(i) :\n",
+      "\t\"\"\"The function prints an integer passed as a parameter\"\"\"\n",
+      "\tprint i\n",
+      "\n",
+      "\n",
+      "n = 3\n",
+      "\n",
+      "print \"Passing a constant:\",\n",
+      "print_an_int(5)\n",
+      "\n",
+      "print \"\\n\\nPassing a variable's value:\",\n",
+      "print_an_int(n)\n",
+      "\n",
+      "print \"\\n\\nPassing the value of an expression:\",\n",
+      "print_an_int(n * 4 + 1)\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Passing a constant: 5\n",
+        "\n",
+        "\n",
+        "Passing a variable's value: 3\n",
+        "\n",
+        "\n",
+        "Passing the value of an expression: 13\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-6 , Page number: 196"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Demonstration of how a procedure cannot modify the contents of a variable passed as a parameter\n",
+      "\n",
+      "def modify(i) :\n",
+      "\ti = 3\n",
+      "\n",
+      "i = 1\n",
+      "\n",
+      "print \"i is now equal to %d\"%i\n",
+      "\n",
+      "modify(i)\n",
+      "\n",
+      "print \"i is now equal to %d\"%i"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i is now equal to 1\n",
+        "i is now equal to 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-7 , Page number: 197 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Hailstones, demonstrating the use of a parameter\n",
+      "\n",
+      "def step(i) :\n",
+      "\t\"\"\"This function returns its parameter i divided by 2 if i is even else it returns i multiplied by 3 and incremented by 1\"\"\"\n",
+      "\tif (i % 2) :\n",
+      "\t\treturn (i * 3 + 1)\n",
+      "\telse : \n",
+      "\t\treturn (i / 2)\n",
+      "\n",
+      "counter = 0\n",
+      "\n",
+      "print \"Enter a positive integer\",\n",
+      "n = 25\n",
+      "print n\n",
+      "\n",
+      "nsave = n\n",
+      "\n",
+      "while n > 1 :\n",
+      "\tn = step(n)\n",
+      "\tcounter += 1\n",
+      "\tprint \"Step %4d: n = %4d\"%(counter,n)\n",
+      "\n",
+      "print \"\\n\\n%d went to 1 in %d steps.\"%(nsave,counter)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a positive integer 25\n",
+        "Step    1: n =   76\n",
+        "Step    2: n =   38\n",
+        "Step    3: n =   19\n",
+        "Step    4: n =   58\n",
+        "Step    5: n =   29\n",
+        "Step    6: n =   88\n",
+        "Step    7: n =   44\n",
+        "Step    8: n =   22\n",
+        "Step    9: n =   11\n",
+        "Step   10: n =   34\n",
+        "Step   11: n =   17\n",
+        "Step   12: n =   52\n",
+        "Step   13: n =   26\n",
+        "Step   14: n =   13\n",
+        "Step   15: n =   40\n",
+        "Step   16: n =   20\n",
+        "Step   17: n =   10\n",
+        "Step   18: n =    5\n",
+        "Step   19: n =   16\n",
+        "Step   20: n =    8\n",
+        "Step   21: n =    4\n",
+        "Step   22: n =    2\n",
+        "Step   23: n =    1\n",
+        "\n",
+        "\n",
+        "25 went to 1 in 23 steps.\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-8 , Page number: 200"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Square root program demonstrating a non-integer function and parameter\n",
+      "\n",
+      "def EPSILON() :\n",
+      "\t\"\"\"replacement of #define constant\"\"\"\n",
+      "\treturn 0.0001\n",
+      "\n",
+      "def sqrt(n) :\n",
+      "\t\"\"\"returns the square root of the number supplied as parameter using Newton-Raphson method\"\"\"\n",
+      "\tif n > 0.0 :\n",
+      "\t\t# The for loop statement given in the example(from the book) is not possible to code in python\n",
+      "\t\t# So, breaking it down to while loop\n",
+      "\t\tguess = n / 2.0\n",
+      "\t\twhile (guess * guess - n > EPSILON() or guess * guess - n < -EPSILON()) :\n",
+      "\t\t\tguess = (guess + n/guess) / 2.0\n",
+      "\t\treturn guess\n",
+      "\telse :\n",
+      "\t\treturn (-1.0)\n",
+      "\n",
+      "print \"Enter the number whose square root you want:\",\n",
+      "x = 17.1\n",
+      "print x\n",
+      "\n",
+      "print \"The square root of %f is %f\"%(x,sqrt(x))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the number whose square root you want: 17.1\n",
+        "The square root of 17.100000 is 4.135215\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-9 , Page number: 201"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Testing for leap years using a boolean function\n",
+      "\n",
+      "def is_leap(year) :\n",
+      "\t\"\"\"A function that returns true if the given year is a leap year else returns false\"\"\"\n",
+      "\treturn (year % 4 == 0 and year % 100 != 0 or year % 400 == 0)\n",
+      "\n",
+      "print \"Please enter a year:\",\n",
+      "year = 2000\n",
+      "print year\n",
+      "\n",
+      "if (is_leap(year)) :\n",
+      "\tprint \"%d is a leap year.\"%year\n",
+      "else :\n",
+      "\tprint \"%d is not a leap year.\"%year"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter a year: 2000\n",
+        "2000 is a leap year.\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-10 , Page number: 203"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Demonstration of the use of multiple parameters\n",
+      "\n",
+      "def get_an_int() :\n",
+      "\t\"\"\"returns a random integer\"\"\"\n",
+      "\treturn 7\n",
+      "\n",
+      "def area(length,width) :\n",
+      "\t\"\"\"returns the area of the rectangle using its parameters length and width\"\"\"\n",
+      "\treturn length * width\n",
+      "\n",
+      "print \"Enter the length of a rectangle:\",\n",
+      "length = get_an_int()\n",
+      "print length\n",
+      "\n",
+      "print \"Enter the width:\",\n",
+      "width = get_an_int()\n",
+      "print width\n",
+      "\n",
+      "print \"\\nThe area is %d.\"%area(length,width)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the length of a rectangle: 7\n",
+        "Enter the width: 7\n",
+        "\n",
+        "The area is 49.\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program 9-11 , Page number: 204"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Illustration of a 2-parameter function: raising a number to a power \n",
+      "\n",
+      "def power(i,x) :\n",
+      "\t\"\"\"returns the values of i to the power of x\"\"\"\n",
+      "\taccum = 1\n",
+      "\tif x < 0 :\n",
+      "\t\treturn 0\n",
+      "\tfor index in range (0,x,1) :\n",
+      "\t\taccum *= i\n",
+      "\treturn accum\n",
+      "\n",
+      "answer = \"y\"\n",
+      "\n",
+      "while answer == \"y\" or answer == \"Y\" :\n",
+      "\tprint \"\\nPlease enter an integer:\",\n",
+      "\tnumber = 4\n",
+      "\tprint number\n",
+      "\n",
+      "\tprint \"Please enter a non-negative integral power\"\n",
+      "\tprint \"     to which the first number is to be raised\",\n",
+      "\texponent = 2\n",
+      "\tprint exponent\n",
+      "\n",
+      "\twhile exponent < 0 :\n",
+      "\t\tprint \"***\\7Please make that a non-negative integer\"\n",
+      "\t\texponent = 2 \t\t\t\t# randomly making the exponent non-negative\n",
+      "\n",
+      "\tprint \"%d raised to the power %d is %ld.\"%(number,exponent,power(number,exponent))\n",
+      "\n",
+      "\t# see if the user wants to keep going\n",
+      "\n",
+      "\tprint \"\\nAnother calculation? (y/n)\",\n",
+      "\tanswer = \"n\"\n",
+      "\tprint answer"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Please enter an integer: 4\n",
+        "Please enter a non-negative integral power\n",
+        "     to which the first number is to be raised 2\n",
+        "4 raised to the power 2 is 16.\n",
+        "\n",
+        "Another calculation? (y/n) n\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/The_Spirit_of_C/screenshots/Screenshot_1.png b/The_Spirit_of_C/screenshots/Screenshot_1.png
new file mode 100755
index 00000000..dc7d579e
Binary files /dev/null and b/The_Spirit_of_C/screenshots/Screenshot_1.png differ
diff --git a/The_Spirit_of_C/screenshots/Screenshot_2.png b/The_Spirit_of_C/screenshots/Screenshot_2.png
new file mode 100755
index 00000000..6762ca01
Binary files /dev/null and b/The_Spirit_of_C/screenshots/Screenshot_2.png differ
diff --git a/The_Spirit_of_C/screenshots/Screenshot_3.png b/The_Spirit_of_C/screenshots/Screenshot_3.png
new file mode 100755
index 00000000..e55dd42a
Binary files /dev/null and b/The_Spirit_of_C/screenshots/Screenshot_3.png differ
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter01_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter01_3.ipynb
new file mode 100755
index 00000000..1b47a56a
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter01_3.ipynb
@@ -0,0 +1,165 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:973d427aa265e6008d444ff4e5a0026589bdadc695d5f549c16acb669fdf56e2"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1. Fundamental Concepts of Thermodynamics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 1.1, Page Number 7"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "Pi = 3.21e5             #Recommended tyre pressure, Pa\n",
+      "Ti = -5.00              #Initial Tyre temperature, \u00b0C\n",
+      "Tf = 28.00              #Final Tyre temperature, \u00b0C\n",
+      "\n",
+      "#Calculations\n",
+      "Ti = 273.16 + Ti\n",
+      "Tf = 273.16 + Tf\n",
+      "pf = Pi*Tf/Ti           #Final tyre pressure, Pa\n",
+      "\n",
+      "#Results\n",
+      "print 'Final Tyre pressure is %6.2e Pa'%pf"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Final Tyre pressure is 3.61e+05 Pa\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.2, Page Number 8"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "phe = 1.5          #Pressure in Helium chamber, bar\n",
+      "vhe = 2.0          #Volume of Helium chamber, L\n",
+      "pne = 2.5          #Pressure in Neon chamber, bar\n",
+      "vne = 3.0          #Volume of Neon chamber, L\n",
+      "pxe = 1.0          #Pressure in Xenon chamber, bar\n",
+      "vxe = 1.0          #Volume of Xenon chamber, L\n",
+      "R = 8.314e-2       #Ideal Gas Constant, L.bar/(mol.K)\n",
+      "T = 298            #Temperature of Gas, K\n",
+      "#Calculations\n",
+      "\n",
+      "nhe = phe*vhe/(R*T)            #Number of moles of Helium, mol\n",
+      "nne = pne*vne/(R*T)            #Number of moles of Neon, mol\n",
+      "nxe = pxe*vxe/(R*T)            #Number of moles of Xenon, mol\n",
+      "n = nhe + nne + nxe            #Total number of moles, mol\n",
+      "V = vhe + vne + vxe            #Total volume of system, L\n",
+      "xhe = nhe/n\n",
+      "xne = nne/n\n",
+      "xxe = nxe/n\n",
+      "P = n*R*T/(V)\n",
+      "phe = P*xhe              #Partial pressure of Helium, bar\n",
+      "pne = P*xne              #Partial pressure of Neon, bar\n",
+      "pxe = P*xxe              #Partial pressure of Xenon, bar\n",
+      "\n",
+      "#Results\n",
+      "print 'Moles of He=%4.3f, Ne=%4.3f and, Xe=%4.3f in mol'%(nhe,nne,nxe) \n",
+      "print 'Mole fraction of xHe=%4.3f, xNe=%4.3f and, xXe=%4.3f'%(xhe,xne,xxe)\n",
+      "print 'Final pressure is %4.3f bar'%P\n",
+      "print 'Partial pressure of pHe=%4.3f, pNe=%4.3f and, pXe=%4.3f in bar'%(phe,pne,pxe)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Moles of He=0.121, Ne=0.303 and, Xe=0.040 in mol\n",
+        "Mole fraction of xHe=0.261, xNe=0.652 and, xXe=0.087\n",
+        "Final pressure is 1.917 bar\n",
+        "Partial pressure of pHe=0.500, pNe=1.250 and, pXe=0.167 in bar\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.4, Page Number 10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "#Variable Declaration\n",
+      "T = 300.0               #Nitrogen temperature, K\n",
+      "v1 = 250.00             #Molar volume, L\n",
+      "v2 = 0.1                #Molar volume, L\n",
+      "a = 1.37                #Van der Waals parameter a, bar.dm6/mol2 \n",
+      "b = 0.0387              #Van der Waals parameter b, dm3/mol\n",
+      "R = 8.314e-2            #Ideal Gas Constant, L.bar/(mol.K)\n",
+      "n = 1.\n",
+      "#Calculations\n",
+      "\n",
+      "p1 = n*R*T/v1           \n",
+      "p2 = n*R*T/v2\n",
+      "pv1 = n*R*T/(v1-n*b)- n**2*a/v1**2\n",
+      "pv2 = n*R*T/(v2-n*b)- n**2*a/v2**2\n",
+      "\n",
+      "#Results\n",
+      "print 'Pressure from ideal gas law = %4.2e bar nad from Van der Waals equation = %4.2e bar '%(p1, pv1)\n",
+      "print 'Pressure from ideal gas law = %4.1f bar nad from Van der Waals equation = %4.1f bar '%(p2, pv2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Pressure from ideal gas law = 9.98e-02 bar nad from Van der Waals equation = 9.98e-02 bar \n",
+        "Pressure from ideal gas law = 249.4 bar nad from Van der Waals equation = 269.9 bar \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter02_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter02_3.ipynb
new file mode 100755
index 00000000..33af2f86
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter02_3.ipynb
@@ -0,0 +1,422 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:fd4fe45c4daf974ea5ee4870185f4ea6168b1d380170021a0ef0ab1146d13121"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 02: Heat, Work, Internal Energy, Enthalpy, and The First Law of Thermodynamics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 2.1, Page 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import pi\n",
+      "\n",
+      "#Variable Declaration  Part a\n",
+      "vi = 20.0             #Initial volume of ideal gas, L\n",
+      "vf = 85.0             #final volume of ideal gas, L\n",
+      "Pext = 2.5            #External Pressure against which work is done, bar\n",
+      "\n",
+      "#Calculations\n",
+      "w = -Pext*1e5*(vf-vi)*1e-3\n",
+      "\n",
+      "#Results\n",
+      "print 'Part a: Work done in expansion is %6.1f kJ'%(w/1000)\n",
+      "\n",
+      "#Variable Declaration  Part b\n",
+      "ri = 1.00             #Initial diameter of bubble, cm\n",
+      "rf = 3.25             #final diameter of bubble, cm\n",
+      "sigm = 71.99          #Surface tension, N/m\n",
+      "\n",
+      "#Calculations\n",
+      "w = -2*sigm*4*pi*(rf**2-ri**2)*1e-4\n",
+      "\n",
+      "#Results\n",
+      "print 'Part b: Work done in expansion of bubble is %4.2f J'%w\n",
+      "\n",
+      "#Variable Declaration  Part c\n",
+      "i = 3.20             #Current through heating coil, A \n",
+      "v = 14.5             #fVoltage applied across coil, volts\n",
+      "t = 30.0             #time for which current is applied,s\n",
+      "\n",
+      "from math import pi\n",
+      "#Calculations\n",
+      "w = v*i*t\n",
+      "\n",
+      "#Results\n",
+      "print 'Part c: Work done in paasing the cuurent through coil is %4.2f kJ'%(w/1000)\n",
+      "\n",
+      "#Variable Declaration  Part d\n",
+      "k = 100.0             #Constant in F = -kx, N/cm \n",
+      "dl = -0.15            #stretch , cm\n",
+      "\n",
+      "from math import pi\n",
+      "#Calculations\n",
+      "w = -k*(dl**2-0)/2\n",
+      "\n",
+      "#Results\n",
+      "print 'Part d: Work done stretching th fiber is %4.2f J'%w"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Part a: Work done in expansion is  -16.2 kJ\n",
+        "Part b: Work done in expansion of bubble is -1.73 J\n",
+        "Part c: Work done in paasing the cuurent through coil is 1.39 kJ\n",
+        "Part d: Work done stretching th fiber is -1.12 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 2.2, Page Number 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration  \n",
+      "m = 100.0            #Mass of water, g \n",
+      "T = 100.0            #Temperature of water, \u00b0C\n",
+      "Pext = 1.0           #External Pressure on assembly, bar\n",
+      "x = 10.0             #percent of water vaporised at 1 bar,-\n",
+      "i = 2.00             #current through heating coil, A\n",
+      "v = 12.0             #Voltage applied, v\n",
+      "t = 1.0e3            #time for which current applied, s \n",
+      "rhol = 997           #Density of liquid, kg/m3\n",
+      "rhog = 0.59          #Density of vapor, kg/m3\n",
+      "\n",
+      "#Calculations\n",
+      "q = i*v*t\n",
+      "vi = m/(rhol*100)*1e-3\n",
+      "vf = m*(100-x)*1e-3/(rhol*100) + m*x*1e-3/(rhog*100)\n",
+      "w = -Pext*(vf-vi)*1e5\n",
+      "#Results\n",
+      "print 'Heat added to the water %4.2f kJ'%(q/1000)\n",
+      "print 'Work done in vaporizing liquid is %4.2f J'%w"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Heat added to the water 24.00 kJ\n",
+        "Work done in vaporizing liquid is -1703.84 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 2.3, Page Number 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration  Part d\n",
+      "m = 1.5              #mass of water in surrounding, kg \n",
+      "dT = 14.2            #Change in temperature of water, \u00b0C or K\n",
+      "cp = 4.18            #Specific heat of water at constant pressure, J/(g.K)\n",
+      "\n",
+      "#Calculations\n",
+      "qp = m*cp*dT\n",
+      "\n",
+      "#Results\n",
+      "print 'Heat removed by water at constant pressure %4.2f kJ'%qp"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Heat removed by water at constant pressure 89.03 kJ\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 2.4, Page Number 28"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable declaration\n",
+      "n = 2.0          #moles of ideal gas\n",
+      "R = 8.314        #Ideal gas constant, bar.L/(mol.K)\n",
+      "#For reverssible Isothermal expansion \n",
+      "Pi1 = 25.0       #Initial Pressure of ideal gas, bar\n",
+      "Vi1 = 4.50       #Initial volume of ideal gas, L\n",
+      "Pf1 = 4.50       #Fianl Pressure of ideal gas, bar\n",
+      "Pext = 4.50      #External pressure, bar \n",
+      "Pint = 11.0      #Intermediate pressure, bar\n",
+      "\n",
+      "#Calcualtions reverssible Isothermal expansion \n",
+      "T1 = Pi1*Vi1/(n*R)\n",
+      "Vf1 = n*R*T1/Pf1\n",
+      "w = -n*R*T1*log(Vf1/Vi1)\n",
+      "\n",
+      "#Results\n",
+      "print 'For reverssible Isothermal expansion'\n",
+      "print 'Work done = %4.2e J'%w\n",
+      "\n",
+      "#Calcualtions Single step irreverssible expansion \n",
+      "\n",
+      "w = -Pext*1e5*(Vf1-Vi1)*1e-3\n",
+      "\n",
+      "#Results\n",
+      "print 'For Single step reverssible expansion'\n",
+      "print 'Work done = %4.2e J'%w\n",
+      "\n",
+      "#Calcualtions Two step irreverssible expansion \n",
+      "Vint = n*R*T1/(Pint)\n",
+      "w = -Pint*1e5*(Vint-Vi1)*1e-3 - Pf1*1e5*(Vf1-Vint)*1e-3\n",
+      "\n",
+      "#Results\n",
+      "print 'For Two step reverssible expansion'\n",
+      "print 'Work done = %4.2e J'%w\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For reverssible Isothermal expansion\n",
+        "Work done = -1.93e+02 J\n",
+        "For Single step reverssible expansion\n",
+        "Work done = -9.22e+03 J\n",
+        "For Two step reverssible expansion\n",
+        "Work done = -1.29e+04 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 2.5, Page Number 32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable declaration\n",
+      "n = 2.5          #moles of ideal gas\n",
+      "R = 0.08314      #Ideal gas constant, bar.L/(mol.K)\n",
+      "cvm = 20.79      #Heat Capacity at constant volume, J/(mol.K)\n",
+      "\n",
+      "p1 = 16.6       #Pressure at point 1, bar\n",
+      "v1 = 1.00       #Volume at point 1, L\n",
+      "p2 = 16.6       #Pressure at point 2, bar\n",
+      "v2 = 25.0       #Volume at point 2, L \n",
+      "v3 = 25.0       #Volume at point 3, L\n",
+      "\n",
+      "#Calculations\n",
+      "T1 = p1*v1/(n*R)\n",
+      "T2 = p2*v2/(n*R)\n",
+      "T3 = T1         #from problem statement\n",
+      "        #for path 1-2\n",
+      "DU12 = n*cvm*(T2-T1)\n",
+      "w12 = -p1*1e5*(v2-v1)*1e-3\n",
+      "q12 = DU12 - w12\n",
+      "DH12 = DU12 + n*R*(T2-T1)*1e2\n",
+      "\n",
+      "        #for path 2-3\n",
+      "w23 = 0.0\n",
+      "DU23 = q23 = n*cvm*(T3-T2)\n",
+      "DH23 = -DH12\n",
+      "\n",
+      "\n",
+      "        #for path 3-1\n",
+      "DU31 = 0.0       #Isothemal process\n",
+      "DH31 = 0.0\n",
+      "w31 = -n*R*1e2*T1*log(v1/v3)\n",
+      "q31 = -w31\n",
+      "\n",
+      "DU = DU12+DU23+DU31\n",
+      "w = w12+w23+w31\n",
+      "q = q12+q23+q31\n",
+      "DH = DH12+DH23+DH31\n",
+      "\n",
+      "#Results\n",
+      "print 'For Path       q         w           DU            DH         '\n",
+      "print '1-2       %7.2f  %7.2f    %7.2f     %7.2f'%(q12,w12,DU12,DH12)\n",
+      "print '2-3       %7.2f    %7.2f   %7.2f    %7.2f'%(q23,w23,DU23,DH23)\n",
+      "print '3-1        %7.2f    %7.2f     %7.2f       %7.2f'%(q31,w31,DU31,DH31)\n",
+      "print 'Overall    %7.2f  %7.2f     %7.2f       %7.2f'%(q,w,DU,DH)\n",
+      "print 'all values are in J'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For Path       q         w           DU            DH         \n",
+        "1-2       139463.96  -39840.00    99623.96     139463.96\n",
+        "2-3       -99623.96       0.00   -99623.96    -139463.96\n",
+        "3-1        -5343.33    5343.33        0.00          0.00\n",
+        "Overall    34496.67  -34496.67        0.00          0.00\n",
+        "all values are in J\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 2.6, Page Number 34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "#Variable Declaration  Part d\n",
+      "n = 2.5          #moles of ideal gas\n",
+      "R = 8.314        #Ideal gas constant, J/(mol.K)\n",
+      "cvm = 12.47      #Heat Capacity at constant volume, J/(mol.K)\n",
+      "\n",
+      "pext = 1.00      #External Pressure, bar\n",
+      "Ti = 325.        #Initial Temeprature, K\n",
+      "pi = 2.50        #Initial Pressure, bar\n",
+      "pf = 1.25        #Final pressure, bar \n",
+      "\n",
+      "#Calculations  Adiabatic process q = 0; DU = w\n",
+      "q = 0.0     \n",
+      "Tf = Ti*(cvm + R*pext/pi)/(cvm + R*pext/pf )\n",
+      "DU = w = n*cvm*(Tf-Ti)\n",
+      "DH = DU + n*R*(Tf-Ti)\n",
+      "\n",
+      "#Results\n",
+      "print 'The final temperature at end of adiabatic procees is %4.1f K'%Tf\n",
+      "print 'The enthalpy change of adiabatic procees is %4.1f J'%DH\n",
+      "print 'The Internal energy change of  adiabatic procees is %4.1f J'%DU\n",
+      "print 'The work done in expansion of adiabatic procees is %4.1f J'%w\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The final temperature at end of adiabatic procees is 268.5 K\n",
+        "The enthalpy change of adiabatic procees is -2937.0 J\n",
+        "The Internal energy change of  adiabatic procees is -1762.2 J\n",
+        "The work done in expansion of adiabatic procees is -1762.2 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 2.7, Page Number 35"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log, exp\n",
+      "\n",
+      "#Variable Declaration  Part d\n",
+      "h1 = 1000.0          #initial Altitude of cloud, m \n",
+      "hf = 3500.0          #Final Altitude of cloud, m \n",
+      "p1 = 0.802           #Pressure at h1, atm \n",
+      "pf = 0.602           #Pressure at hf, atm\n",
+      "T1 = 288.0           #Initial temperature of cloud, K\n",
+      "cp = 28.86           #Specific heat of air, J/mol.K\n",
+      "R = 8.314            #Gas constant, J/mol.K\n",
+      "\n",
+      "#Calculations\n",
+      "Tf = exp(-(cp/(cp-R)-1)/(cp/(cp-R))*log(p1/pf))*T1\n",
+      "#Results\n",
+      "print 'Final temperature of cloud %4.1f K'%Tf\n",
+      "if Tf < 273:\n",
+      "    print 'You can expect cloud'\n",
+      "else:\n",
+      "    print 'You can not expect cloud'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Final temperature of cloud 265.2 K\n",
+        "You can expect cloud\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter03_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter03_3.ipynb
new file mode 100755
index 00000000..0b7fcd00
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter03_3.ipynb
@@ -0,0 +1,239 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:f533717d02de2958b8edaf7535383653f756ad9b4060abf4f556950fcb3e683e"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 3: Importance of State Functions: Internal Energy and Enthalpy"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 3.2, Page Number 45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "#Variable Declaration\n",
+      "betaOH = 11.2e-4           #Thermal  exapnasion coefficient of ethanol, \u00b0C\n",
+      "betagl = 2.00e-5           #Thermal  exapnasion coefficient of glass, \u00b0C\n",
+      "kOH = 11.0e-5              #Isothermal compressibility of ethanol, /bar\n",
+      "dT = 10.0                  #Increase in Temperature, \u00b0C\n",
+      "\n",
+      "#Calcualtions\n",
+      "vfbyvi = (1+ betagl*dT)\n",
+      "dP = betaOH*dT/kOH-(1./kOH)*log(vfbyvi)\n",
+      "\n",
+      "#Results\n",
+      "print 'Pressure increase in capillary %4.1f bar'%dP"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Pressure increase in capillary 100.0 bar\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 3.4, Page Number 49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "cpsubysy = 1000           #Specific heat ration of surrounding and system\n",
+      "Tpreci = 0.006             #Precision in Temperature measurement, \u00b0C\n",
+      "\n",
+      "#Calcualtions\n",
+      "dtgas = -cpsubysy*(-Tpreci)\n",
+      "\n",
+      "#Results\n",
+      "print 'Minimum detectable temperature change of gas +-%4.1f \u00b0C'%dtgas"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Minimum detectable temperature change of gas +- 6.0 \u00b0C\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 3.6, Page Number 50"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from sympy import symbols, integrate\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 1.0           #number of mole of N2, mol     \n",
+      "Ti = 200.0        #Intial Temperature, K\n",
+      "Pi = 5.00         #Initial pressure, bar\n",
+      "Tf = 400.0        #Intial Temperature, K\n",
+      "Pf = 20.0         #Initial pressure, bar\n",
+      "a = 0.137         #van der Waals constant a, Pa.m3/(mol2)\n",
+      "b = 3.87e-5       #van der Waals constant b, m3/(mol)\n",
+      "A, B, C, D = 22.5, -1.187e-2,2.3968e-5, -1.0176e-8\n",
+      "                  #Constants in Cvm equation J, K and mol\n",
+      "vi = 3.28e-3      #initial volume, m3/mol\n",
+      "vf = 7.88e-3      #Final volume, m3/mol\n",
+      "\n",
+      "#Calculations\n",
+      "T = symbols('T')\n",
+      "dUT = n**2*a*(1./vi-1./vf)\n",
+      "dUV = integrate( A + B*T + C*T**2 + D*T**3, (T,Ti,Tf))\n",
+      "\n",
+      "#Results\n",
+      "print 'dUT = %4.1f J: This is wrongly reported in book'%dUT\n",
+      "print 'dUV = %4.1f J'%dUV"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "dUT = 24.4 J: This is wrongly reported in book\n",
+        "dUV = 4174.1 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 3.7, Page Number 53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from sympy import symbols, integrate\n",
+      "\n",
+      "#Variable Declaration\n",
+      "m = 143.0         #Mass of graphite, g     \n",
+      "Ti = 300.0        #Intial Temperature, K\n",
+      "Tf = 600.0        #Intial Temperature, K\n",
+      "A, B, C, D, E = -12.19,0.1126,-1.947e-4,1.919e-7,-7.8e-11\n",
+      "                  #Constants in Cvm equation J, K and mol\n",
+      "M = 12.01\n",
+      "\n",
+      "#Calculations\n",
+      "\n",
+      "T = symbols('T')\n",
+      "dH = (m/M)*integrate( A + B*T + C*T**2 + D*T**3 + E*T**4, (T,Ti,Tf))\n",
+      "expr = A + B*T + C*T**2 + D*T**3 + E*T**4\n",
+      "cpm = expr.subs(T,300.)\n",
+      "qp = (m/M)*cpm*(Tf-Ti)\n",
+      "err = abs(dH-qp)/dH\n",
+      "#Results\n",
+      "print 'dH = %6.1f kJ'%(dH/1000)\n",
+      "print 'qp = %6.1f kJ'%(qp/1000)\n",
+      "print 'Error in calculations %4.1f'%(err*100)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "dH =   46.8 kJ\n",
+        "qp =   30.8 kJ\n",
+        "Error in calculations 34.3\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 3.9, Page Number 56"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "m = 124.0         #Mass of liquid methanol, g\n",
+      "Pi = 1.0          #Initial Pressure, bar\n",
+      "Ti = 298.0        #Intial Temperature, K\n",
+      "Pf = 2.5          #Final Pressure, bar\n",
+      "Tf = 425.0        #Intial Temperature, K\n",
+      "rho = 0.791       #Density, g/cc\n",
+      "Cpm = 81.1        #Specifi heat, J/(K.mol)\n",
+      "M = 32.04\n",
+      "\n",
+      "#Calculations\n",
+      "n = m/M\n",
+      "DH = n*Cpm*(Tf-Ti)+ m*(Pf-Pi)*1e-6/rho\n",
+      "\n",
+      "#Results\n",
+      "print 'Enthalpy change for change in state of methanol is %4.1f kJ'%(DH/1000)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enthalpy change for change in state of methanol is 39.9 kJ\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter04_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter04_3.ipynb
new file mode 100755
index 00000000..8490aa32
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter04_3.ipynb
@@ -0,0 +1,206 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:333f059bd9f5c0f0e37eb3d999bc59b67dae36f47a0afa092d85ee79643d8c58"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 04: Thermochemistry"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 4.1, Page Number 68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Varialble Declaration\n",
+      "DH0_H2O = 241.8          #Std Enthalpy of reaxtion of Water Fomation backward rxn, kJ/mol\n",
+      "DH0_2H = 2*218.0         #Std Enthalpy of formation of Hydrogen atom, kJ/mol\n",
+      "DH0_O = 249.2            #Std Enthalpy of formation of Oxygen atom, kJ/mol\n",
+      "R = 8.314                #Ideal gas constant, J/(mol.K)\n",
+      "Dn = 2.0\n",
+      "T = 298.15               #Std. Temperature, K\n",
+      "#Calculation\n",
+      "DH0_2HO = DH0_H2O + DH0_2H + DH0_O\n",
+      "DU0 = (DH0_2HO - Dn*R*T*1e-3)/2\n",
+      "\n",
+      "#Results\n",
+      "print 'Avergae Enthalpy change required for breaking both OH bonds %4.1f kJ/mol'%DH0_2HO\n",
+      "print 'Average bond energy required for breaking both OH bonds %4.1f kJ/mol'%DU0"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Avergae Enthalpy change required for breaking both OH bonds 927.0 kJ/mol\n",
+        "Average bond energy required for breaking both OH bonds 461.0 kJ/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.2, Page Number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import numpy as np\n",
+      "from sympy import symbols, integrate\n",
+      "\n",
+      "#Variable Declaration\n",
+      "a = ([29.064, 31.695, 28.165])             #Constant 'a' in Heat capacity equation, J/(mol.K)\n",
+      "b = ([-0.8363e-3, 10.143e-3, 1.809e-3])    #Constant 'b' in Heat capacity equation, J/(mol.K)\n",
+      "c = ([20.111e-7, -40.373e-7, 15.464e-7])   #Constant 'a' in Heat capacity equation, J/(mol.K)\n",
+      "delHf0HCl = -92.3                          #Std. Heat of formation of HCl, kJ/mol\n",
+      "T1, T2 = 298.15, 1450                      #Std and final temperature, K\n",
+      "\n",
+      "#Calculations\n",
+      "T = symbols('T')\n",
+      "DA = a[2]-(a[0]+a[1])/2\n",
+      "DB = b[2]-(b[0]+b[1])/2\n",
+      "DC = c[2]-(c[0]+c[1])/2\n",
+      "\n",
+      "expr = integrate( DA + DB*T + DC*T**2, (T,T1,T2))\n",
+      "DHR1450= expr/1000 + delHf0HCl\n",
+      "\n",
+      "#Results\n",
+      "print 'Heat of reaction for HCl formation is %4.1f kJ/mol'%DHR1450"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Heat of reaction for HCl formation is -95.1 kJ/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.3, Page Number 72"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "#Varialble Declaration\n",
+      "ms1 = 0.972          #Mass of cyclohexane, g\n",
+      "DT1 = 2.98           #Change in temperature for bath, \u00b0C\n",
+      "DUR1 = -3913e3       #Std Internal energy change, J/mol\n",
+      "mw = 1.812e3         #Mass of water, g\n",
+      "ms2 = 0.857          #Mass of benzene, g\n",
+      "Ms1 = 84.16\n",
+      "Ms2 = 78.12\n",
+      "DT2 = 2.36           #Change in temperature for bath, \u00b0C\n",
+      "Mw = 18.02\n",
+      "Cpw = 75.3 \n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "Ccal = ((-ms1/Ms1)*DUR1-(mw/Mw)*Cpw*DT1)/DT1\n",
+      "DUR2 = (-Ms2/ms2)*((mw/Mw)*Cpw*DT2+Ccal*DT2)\n",
+      "\n",
+      "#Results\n",
+      "print 'Calorimeter constant %4.2e J/\u00b0C'%Ccal\n",
+      "print 'Enthalpy of rection for benzene %4.2e J/mol'%DUR2"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Calorimeter constant 7.59e+03 J/\u00b0C\n",
+        "Enthalpy of rection for benzene -3.26e+06 J/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4.4, Page Number 73"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "#Varialble Declaration\n",
+      "ms = 1.423           #Mass of Na2SO4, g\n",
+      "mw = 100.34          #Mass of Na2SO4, g\n",
+      "DT = 0.037           #Change in temperature for solution, K\n",
+      "Mw = 18.02           #Molecular wt of Water\n",
+      "Ms = 142.04          #Molecular wt of ms Na2SO4\n",
+      "Ccal = 342.5         #Calorimeter constant, J/K\n",
+      "#Data\n",
+      "DHfNa = -240.1\n",
+      "DHfSO4 = -909.3\n",
+      "DHfNa2SO4 = -1387.1\n",
+      "\n",
+      "#Calculation\n",
+      "DHs = (-Ms/ms)*((mw/Mw)*Cpw*DT+Ccal*DT)\n",
+      "DHsolD = 2*DHfNa + DHfSO4 - DHfNa2SO4\n",
+      "\n",
+      "#Results\n",
+      "print 'Enthalpy of solution for Na2SO4 %4.2e J/mol'%DHs\n",
+      "print 'Enthalpy of solution for Na2SO4 from Data %4.2e J/mol'%DHsolD"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enthalpy of solution for Na2SO4 -2.81e+03 J/mol\n",
+        "Enthalpy of solution for Na2SO4 from Data -2.40e+00 J/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter05_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter05_3.ipynb
new file mode 100755
index 00000000..21cc530e
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter05_3.ipynb
@@ -0,0 +1,426 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:fb3a9fa8ccc4e6b6189db2b7b007068058fcf43a7754989741838789e7fd6c7a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 5: Enthalpy and the Second and Third Laws of Thermodynamics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 5.1, Page Number 84"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "Th, Tc = 500.,200.     #Temeperatures IN Which reversible heat engine works, K\n",
+      "q = 1000.              #Heat absorbed by heat engine, J\n",
+      "\n",
+      "#Calcualtions\n",
+      "eps = 1.-Tc/Th\n",
+      "w = eps*q\n",
+      "\n",
+      "#Results\n",
+      "print 'Efficiency of heat engine is %4.3f'%eps\n",
+      "print 'Work done by heat engine is %4.1f J'%w"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Efficiency of heat engine is 0.600\n",
+        "Work done by heat engine is 600.0 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 5.4, Page Number 87"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from sympy import integrate, symbols\n",
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 1.0                #Number of moles of CO2\n",
+      "Ti, Tf = 320.,650.     #Initial and final state Temeperatures of CO2, K\n",
+      "vi, vf = 80.,120.      #Initial and final state volume of CO2, K\n",
+      "A, B, C, D = 31.08,-0.01452,3.1415e-5,-1.4973e-8\n",
+      "                       #Constants in constant volume Heat capacity equation in J, mol, K units\n",
+      "R = 8.314              #Ideal Gas Constant, J/(mol.K) \n",
+      "#Calcualtions\n",
+      "T = symbols('T')\n",
+      "dS1 = n*integrate( (A + B*T + C*T**2 + D*T**3)/T, (T,Ti,Tf)) \n",
+      "dS2 = n*R*log(vf/vi)\n",
+      "dS = dS1 + dS2\n",
+      "#Results\n",
+      "print 'Entropy change of process is %4.2f J/(mol.K)'%dS"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entropy change of process is 24.43 J/(mol.K)\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 5.5, Page Number 88"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from sympy import integrate, symbols\n",
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 2.5                #Number of moles of CO2\n",
+      "Ti, Tf = 450.,800.     #Initial and final state Temeperatures of CO2, K\n",
+      "pi, pf = 1.35,3.45     #Initial and final state pressure of CO2, K\n",
+      "A, B, C, D = 18.86,7.937e-2,-6.7834e-5,2.4426e-8\n",
+      "                       #Constants in constant pressure Heat capacity equation in J, mol, K units\n",
+      "R = 8.314              #Ideal Gas Constant, J/(mol.K) \n",
+      "#Calcualtions\n",
+      "T = symbols('T')\n",
+      "dS1 = n*integrate( (A + B*T + C*T**2 + D*T**3)/T, (T,Ti,Tf)) \n",
+      "dS2 = n*R*log(pf/pi)\n",
+      "dS = dS1 - dS2\n",
+      "#Results\n",
+      "print 'Entropy change of process is %4.2f J/(mol.K)'%dS"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entropy change of process is 48.55 J/(mol.K)\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 5.6, Page Number 89"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 3.0                #Number of moles of CO2\n",
+      "Ti, Tf = 300.,600.     #Initial and final state Temeperatures of CO2, K\n",
+      "pi, pf = 1.00,3.00     #Initial and final state pressure of CO2, K\n",
+      "cpm = 27.98            #Specific heat of mercury, J/(mol.K)\n",
+      "M = 200.59             #Molecualr wt of mercury, g/(mol)\n",
+      "beta = 1.81e-4         #per K\n",
+      "rho = 13.54            #Density of mercury, g/cm3\n",
+      "R = 8.314              #Ideal Gas Constant, J/(mol.K) \n",
+      "\n",
+      "#Calcualtions\n",
+      "dS1 = n*cpm*log(Tf/Ti)\n",
+      "dS2 = n*(M/(rho*1e6))*beta*(pf-pi)*1e5\n",
+      "dS = dS1 - dS2\n",
+      "\n",
+      "#Results\n",
+      "print 'Entropy change of process is %4.1f J/(mol.K)'%dS\n",
+      "print 'Ratio of pressure to temperature dependent term %3.1e\\nhence effect of pressure dependent term isvery less'%(dS2/dS1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entropy change of process is 58.2 J/(mol.K)\n",
+        "Ratio of pressure to temperature dependent term 2.8e-05\n",
+        "hence effect of pressure dependent term isvery less\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 5.7, Page Number 93"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 1.0                #Number of moles of CO2\n",
+      "T = 300.0              #Temeperatures of Water bath, K\n",
+      "vi, vf = 25.0,10.0     #Initial and final state Volume of Ideal Gas, L\n",
+      "R = 8.314              #Ideal Gas Constant, J/(mol.K) \n",
+      "\n",
+      "#Calcualtions\n",
+      "qrev = n*R*T*log(vf/vi)\n",
+      "w = -qrev\n",
+      "dSsys = qrev/T\n",
+      "dSsur = -dSsys\n",
+      "dS = dSsys + dSsur\n",
+      "\n",
+      "#Results\n",
+      "print 'Entropy change of surrounding is %4.1f J/(mol.K)'%dSsur\n",
+      "print 'Entropy change of system is %4.1f J/(mol.K)'%dSsys\n",
+      "print 'Total Entropy changeis %4.1f J/(mol.K)'%dS"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entropy change of surrounding is  7.6 J/(mol.K)\n",
+        "Entropy change of system is -7.6 J/(mol.K)\n",
+        "Total Entropy changeis  0.0 J/(mol.K)\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 5.8, Page Number 93"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 1.0                #Number of moles of CO2\n",
+      "T = 300.0              #Temeperatures of Water bath, K\n",
+      "vi, vf = 25.0,10.0     #Initial and final state Volume of Ideal Gas, L\n",
+      "R = 8.314              #Ideal Gas Constant, J/(mol.K) \n",
+      "\n",
+      "#Calcualtions\n",
+      "pext = n*R*T/(vf/1e3)\n",
+      "pi = n*R*T/(vi/1e3)\n",
+      "q = pext*(vf-vi)/1e3\n",
+      "qrev = n*R*T*log(vf/vi)\n",
+      "w = -q\n",
+      "dSsur = -q/T\n",
+      "dSsys = qrev/T\n",
+      "dS = dSsys + dSsur\n",
+      "\n",
+      "#Results\n",
+      "print 'Constant external pressure and initial pressure are %4.3e J,and %4.3e J respectively'%(pext,pi)\n",
+      "print 'Heat in reverssible and irreversible processes are %4.1f J,and %4.1f J respectively'%(qrev,q)\n",
+      "print 'Entropy change of system is %4.1f J/(mol.K)'%dSsys\n",
+      "print 'Entropy change of surrounding is %4.2f J/(mol.K)'%dSsur\n",
+      "print 'Total Entropy changeis %4.2f J/(mol.K)'%dS"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constant external pressure and initial pressure are 2.494e+05 J,and 9.977e+04 J respectively\n",
+        "Heat in reverssible and irreversible processes are -2285.4 J,and -3741.3 J respectively\n",
+        "Entropy change of system is -7.6 J/(mol.K)\n",
+        "Entropy change of surrounding is 12.47 J/(mol.K)\n",
+        "Total Entropy changeis 4.85 J/(mol.K)\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 5.9, Page Number 96"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from sympy import integrate, symbols\n",
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 1.0                #Number of moles of CO2\n",
+      "pi, pf = 1.35,3.45     #Initial and final state pressure of CO2, K\n",
+      "D1 = 2.11e-3           #Constants in constant pressure Heat capacity equation for K<T<12.97K, in J, mol, K units\n",
+      "A2, B2, C2, D2 = -5.666,0.6927,-5.191e-3,9.943e-4\n",
+      "        #Constants in constant pressure Heat capacity equation for 12.97<T<23.66, J, mol, K units\n",
+      "A3, B3, C3, D3 = 31.70,-2.038,0.08384,-6.685e-4\n",
+      "        #Constants in constant pressure Heat capacity equation for 23.66<T<43.76, J, mol, K units\n",
+      "A4 = 46.094 #Constants in constant pressure Heat capacity equation for 43.76<T<54.39, J/(mol.K)\n",
+      "A5, B5, C5, D5 = 81.268,-1.1467,0.01516,-6.407e-5\n",
+      "        #Constants in constant pressure Heat capacity equation for 54.39<T<90.20K, J, mol, K units\n",
+      "A6, B6, C6, D6 = 32.71,-0.04093,1.545e-4,-1.819e-7\n",
+      "        #Constants in constant pressure Heat capacity equation for 90.20<T<298.15 KJ, mol, K units\n",
+      "R = 8.314         #Ideal Gas Constant, J/(mol.K) \n",
+      "Ltrans1 = 93.80   #Entalpy of transition at 23.66K, J/mol\n",
+      "Ltrans2 = 743.0   #Entalpy of transition at 43.76K, J/mol\n",
+      "Ltrans3 = 445.0   #Entalpy of transition at 54.39K, J/mol\n",
+      "Ltrans4 = 6815.   #Entalpy of transition at 90.20K, J/mol\n",
+      "T1 = 12.97        #Maximum applicabliltiy temeprature for first heat capacity equation, K\n",
+      "T12 = 23.66       #Phase Change temperature from Solid III--II, K\n",
+      "T23 = 43.76       #Phase Change temperature from Solid II--I, K\n",
+      "T34 = 54.39       #Phase Change temperature from Solid I--liquid, K\n",
+      "T45 = 90.20       #Phase Change temperature from liquid--gas, K\n",
+      "Ts = 298.15       #Std. Temeprature, K\n",
+      "#Calcualtions\n",
+      "T = symbols('T')\n",
+      "dS1 = n*integrate( (D1*T**3)/T, (T,0,T1)) \n",
+      "dS2 = n*integrate( (A2 + B2*T + C2*T**2 + D2*T**3)/T, (T,T1,T12)) \n",
+      "dS21 = Ltrans1/T12\n",
+      "dS3 = n*integrate( (A3 + B3*T + C3*T**2 + D3*T**3)/T, (T,T12,T23)) \n",
+      "dS31 = Ltrans2/T23\n",
+      "dS4 = n*integrate( (A4)/T, (T,T23,T34)) \n",
+      "dS41 = Ltrans3/T34\n",
+      "dS5 = n*integrate( (A5 + B5*T + C5*T**2 + D5*T**3)/T, (T,T34,T45)) \n",
+      "dS51 = Ltrans4/T45\n",
+      "dS6 = n*integrate( (A6 + B6*T + C6*T**2 + D6*T**3)/T, (T,T45,Ts))\n",
+      "#print dS1+dS2,dS21\n",
+      "#print dS3, dS31\n",
+      "#print dS4, dS41\n",
+      "#print dS5, dS51\n",
+      "#print dS6\n",
+      "dS = dS1+dS2+dS21+dS3+dS31+dS4+dS41+dS5+dS51+dS6\n",
+      "\n",
+      "#Results\n",
+      "print 'Entropy change Sm0 for O2 is %4.1f J/(mol.K)'%dS"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entropy change Sm0 for O2 is 204.8 J/(mol.K)\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 5.10, Page Number 99"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from sympy import integrate, symbols\n",
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 1.0                #Number of moles of CO2 formed, mol\n",
+      "p = 1.                 #Pressure of CO2, K\n",
+      "\n",
+      "A1, B1, C1, D1 = 18.86,7.937e-2,-6.7834e-5,2.4426e-8\n",
+      "        #Constants in constant pressure Heat capacity equation for CO2, J/(mol.K)\n",
+      "A2, B2, C2, D2 = 30.81,-1.187e-2,2.3968e-5, 0.0\n",
+      "        #Constants in constant pressure Heat capacity equation for O2, J/(mol.K)\n",
+      "A3, B3, C3, D3 =  31.08,-1.452e-2,3.1415e-5 ,-1.4793e-8          \n",
+      "        #Constants in constant pressure Heat capacity equation for CO, J/(mol.K)\n",
+      "DSr298CO = 197.67   #Std. Entropy change for CO, J/(mol.K)\n",
+      "DSr298CO2 = 213.74  #Std. Entropy change for CO, J/(mol.K)\n",
+      "DSr298O2 = 205.138  #Std. Entropy change for CO, J/(mol.K)\n",
+      "Tr = 475.           #Reaction temperature, K\n",
+      "Ts = 298.15         #Std. temperature, K\n",
+      "#Calcualtions\n",
+      "T = symbols('T')\n",
+      "v1,v2,v3 = 1.,1./2,1.\n",
+      "DSr = DSr298CO2*v1 - DSr298CO*v1 - DSr298O2*v2\n",
+      "DA = v1*A1-v2*A2-v3*A3\n",
+      "DB = v1*B1-v2*B2-v3*B3\n",
+      "DC = v1*C1-v2*C2-v3*C3\n",
+      "DD = v1*D1-v2*D2-v3*D3\n",
+      "dS = DSr + n*integrate( (DA + DB*T + DC*T**2 + DD*T**3)/T, (T,Ts,Tr)) \n",
+      "\n",
+      "#Results\n",
+      "print 'Entropy change for reaction at %4d K is %4.2f J/(mol.K)'%(Tr,dS)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entropy change for reaction at  475 K is -88.26 J/(mol.K)\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter06_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter06_3.ipynb
new file mode 100755
index 00000000..f5b2d065
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter06_3.ipynb
@@ -0,0 +1,713 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:267b6c699ea5b02708cd7837dc08f6cae55ca12f860a79f0fcaa34ccb60be757"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 06: Chemical Equilibrium"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.1, Page Number 117"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "dHcCH4 = -891.0        #Std. heat of combustion for CH4, kJ/mol\n",
+      "dHcC8H18 = -5471.0     #Std. heat of combustion for C8H18, kJ/mol\n",
+      "\n",
+      "T = 298.15\n",
+      "SmCO2, SmCH4, SmH2O, SmO2, SmC8H18 = 213.8,186.3,70.0,205.2, 316.1\n",
+      "dnCH4 = -2.\n",
+      "dnC8H18 = 4.5\n",
+      "R = 8.314\n",
+      "#Calculations\n",
+      "dACH4 = dHcCH4*1e3 - dnCH4*R*T - T*(SmCO2 + 2*SmH2O - SmCH4 - 2*SmO2)\n",
+      "dAC8H18 = dHcC8H18*1e3 - dnC8H18*R*T - T*(8*SmCO2 + 9*SmH2O - SmC8H18 - 25.*SmO2/2) \n",
+      "#Results \n",
+      "print 'Maximum Available work through combustion of CH4 %4.1f kJ/mol'%(dACH4/1000)\n",
+      "print 'Maximum Available work through combustion of C8H18 %4.1f kJ/mol'%(dAC8H18/1000)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum Available work through combustion of CH4 -813.6 kJ/mol\n",
+        "Maximum Available work through combustion of C8H18 -5320.9 kJ/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.2, Page Number 118"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "dHcCH4 = -891.0        #Std. heat of combustion for CH4, kJ/mol\n",
+      "dHcC8H18 = -5471.0     #Std. heat of combustion for C8H18, kJ/mol\n",
+      "\n",
+      "T = 298.15\n",
+      "SmCO2, SmCH4, SmH2O, SmO2, SmC8H18 = 213.8,186.3,70.0,205.2, 316.1\n",
+      "dnCH4 = -2.\n",
+      "dnC8H18 = 4.5\n",
+      "R = 8.314\n",
+      "#Calculations\n",
+      "dGCH4 = dHcCH4*1e3  - T*(SmCO2 + 2*SmH2O - SmCH4 - 2*SmO2)\n",
+      "dGC8H18 = dHcC8H18*1e3 - T*(8*SmCO2 + 9*SmH2O - SmC8H18 - 25.*SmO2/2) \n",
+      "#Results \n",
+      "print 'Maximum nonexapnasion work through combustion of CH4 %4.1f kJ/mol'%(dGCH4/1000)\n",
+      "print 'Maximum nonexapnasion work through combustion of C8H18 %4.1f kJ/mol'%(dGC8H18/1000)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum nonexapnasion work through combustion of CH4 -818.6 kJ/mol\n",
+        "Maximum nonexapnasion work through combustion of C8H18 -5309.8 kJ/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.4, Page Number 123"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "dGf298 = 370.7     #Std. free energy of formation for Fe (g), kJ/mol\n",
+      "dHf298 = 416.3     #Std. Enthalpy of formation for Fe (g), kJ/mol\n",
+      "T0 = 298.15        #Temperature in K\n",
+      "T = 400.           #Temperature in K\n",
+      "R = 8.314\n",
+      "\n",
+      "#Calculations\n",
+      "\n",
+      "dGf = T*(dGf298*1e3/T0 + dHf298*1e3*(1./T - 1./T0))\n",
+      "\n",
+      "#Results \n",
+      "print 'Std. free energy of formation for Fe(g) at 400 K is %4.1f kJ/mol'%(dGf/1000)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Std. free energy of formation for Fe(g) at 400 K is 355.1 kJ/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.5, Page Number 127"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "nHe = 1.0          #Number of moles of He\n",
+      "nNe = 3.0          #Number of moles of Ne\n",
+      "nAr = 2.0          #Number of moles of Ar\n",
+      "nXe = 2.5          #Number of moles of Xe\n",
+      "T = 298.15         #Temperature in K\n",
+      "P = 1.0            #Pressure, bar\n",
+      "R = 8.314\n",
+      "\n",
+      "#Calculations\n",
+      "n = nHe + nNe + nAr + nXe\n",
+      "dGmix = n*R*T*((nHe/n)*log(nHe/n) + (nNe/n)*log(nNe/n) +(nAr/n)*log(nAr/n) + (nXe/n)*log(nXe/n))\n",
+      "dSmix = n*R*((nHe/n)*log(nHe/n) + (nNe/n)*log(nNe/n) +(nAr/n)*log(nAr/n) + (nXe/n)*log(nXe/n))\n",
+      "\n",
+      "#Results \n",
+      "print 'Std. free energy Change on mixing is %3.1e J'%(dGmix)\n",
+      "print 'Std. entropy Change on mixing is %4.1f J'%(dSmix)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Std. free energy Change on mixing is -2.8e+04 J\n",
+        "Std. entropy Change on mixing is -93.3 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.6, Page Number 128"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "dGfFe  = 0.0       #Std. Gibbs energy of formation for Fe (S), kJ/mol\n",
+      "dGfH2O = -237.1     #Std. Gibbs energy of formation for Water (g), kJ/mol\n",
+      "dGfFe2O3 = -1015.4  #Std. Gibbs energy of formation for Fe2O3 (s), kJ/mol\n",
+      "dGfH2 = 0.0        #Std. Gibbs energy of formation for Hydrogen (g), kJ/mol\n",
+      "T0 = 298.15        #Temperature in K\n",
+      "R = 8.314\n",
+      "nFe, nH2, nFe2O3, nH2O = 3,-4,-1,4\n",
+      "\n",
+      "#Calculations\n",
+      "dGR = nFe*dGfFe + nH2O*dGfH2O + nFe2O3*dGfFe2O3 + nH2*dGfH2  \n",
+      "\n",
+      "#Results \n",
+      "print 'Std. Gibbs energy change for reaction is %4.2f kJ/mol'%(dGR)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Std. Gibbs energy change for reaction is 67.00 kJ/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.7, Page Number 128"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "dGR  = 67.0        #Std. Gibbs energy of formation for reaction, kJ, from previous problem\n",
+      "dHfFe  = 0.0       #Enthalpy of formation for Fe (S), kJ/mol\n",
+      "dHfH2O = -285.8    #Enthalpy of formation for Water (g), kJ/mol\n",
+      "dHfFe2O3 = -1118.4 #Enthalpy of formation for Fe2O3 (s), kJ/mol\n",
+      "dHfH2 = 0.0        #Enthalpy of formation for Hydrogen (g), kJ/mol\n",
+      "T0 = 298.15        #Temperature in K\n",
+      "T = 525.           #Temperature in K\n",
+      "R = 8.314\n",
+      "nFe, nH2, nFe2O3, nH2O = 3,-4,-1,4\n",
+      "\n",
+      "#Calculations\n",
+      "dHR = nFe*dHfFe + nH2O*dHfH2O + nFe2O3*dHfFe2O3 + nH2*dHfH2  \n",
+      "dGR2 = T*(dGR*1e3/T0 + dHR*1e3*(1./T - 1./T0))\n",
+      "\n",
+      "#Results \n",
+      "print 'Std. Enthalpy change for reactionat %4.1f is %4.2f kJ/mol'%(T, dHR)\n",
+      "print 'Std. Gibbs energy change for reactionat %4.1f is %4.0f kJ/mol'%(T, dGR2/1e3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Std. Enthalpy change for reactionat 525.0 is -24.80 kJ/mol\n",
+        "Std. Gibbs energy change for reactionat 525.0 is  137 kJ/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.8, Page Number 130"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "dGfNO2  = 51.3     #Std. Gibbs energy of formation for NO2 (g), kJ/mol\n",
+      "dGfN2O4 = 99.8     #Std. Gibbs energy of formation for N2O4 (g), kJ/mol\n",
+      "T0 = 298.15        #Temperature in K\n",
+      "pNO2 = 0.350       #Partial pressure of NO2, bar\n",
+      "pN2O4 = 0.650      #Partial pressure of N2O4, bar\n",
+      "R = 8.314\n",
+      "nNO2, nN2O4 = -2, 1 #Stoichiomentric coeff of NO2 and N2O4 respectively in reaction\n",
+      "\n",
+      "#Calculations\n",
+      "dGR = nN2O4*dGfN2O4*1e3 + nNO2*dGfNO2*1e3 + R*T0*log(pN2O4/(pNO2)**2)\n",
+      "\n",
+      "#Results \n",
+      "print 'Std. Gibbs energy change for reaction is %5.3f kJ/mol'%(dGR/1e3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Std. Gibbs energy change for reaction is 1.337 kJ/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.9, Page Number 131"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declaration\n",
+      "dGfCO2  = -394.4   #Std. Gibbs energy of formation for CO2 (g), kJ/mol\n",
+      "dGfH2 = 0.0        #Std. Gibbs energy of formation for H2 (g), kJ/mol\n",
+      "dGfCO = 237.1      #Std. Gibbs energy of formation for CO (g), kJ/mol\n",
+      "dGfH2O = 137.2     #Std. Gibbs energy of formation for H24 (l), kJ/mol\n",
+      "T0 = 298.15        #Temperature in K\n",
+      "R = 8.314\n",
+      "nCO2, nH2, nCO, nH2O = 1,1,1,1 #Stoichiomentric coeff of CO2,H2,CO,H2O respectively in reaction\n",
+      "\n",
+      "#Calculations\n",
+      "dGR = nCO2*dGfCO2 + nH2*dGfH2 + nCO*dGfCO + nH2O*dGfH2O\n",
+      "Kp = exp(-dGR*1e3/(R*T0))\n",
+      "\n",
+      "#Results \n",
+      "print 'Std. Gibbs energy change for reaction is %5.3f kJ/mol'%(dGR/1e3)\n",
+      "print 'Equilibrium constant for reaction is %5.3f '%(Kp)\n",
+      "if Kp > 1: print 'Kp >> 1. hence, mixture will consists of product CO2 and H2'"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Std. Gibbs energy change for reaction is -0.020 kJ/mol\n",
+        "Equilibrium constant for reaction is 3323.254 \n",
+        "Kp >> 1. hence, mixture will consists of product CO2 and H2\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.11, Page Number 133"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp, sqrt\n",
+      "\n",
+      "#Variable Declaration\n",
+      "dGfCl2  = 0.0     #Std. Gibbs energy of formation for CO2 (g), kJ/mol\n",
+      "dGfCl = 105.7     #Std. Gibbs energy of formation for H2 (g), kJ/mol\n",
+      "dHfCl2 = 0.0      #Std. Gibbs energy of formation for CO (g), kJ/mol\n",
+      "dHfCl = 121.3     #Std. Gibbs energy of formation for H24 (l), kJ/mol\n",
+      "T0 = 298.15       #Temperature in K\n",
+      "R = 8.314\n",
+      "nCl2, nCl= -1,2 #Stoichiomentric coeff of Cl2,Cl respectively in reaction\n",
+      "PbyP0 = 0.01\n",
+      "#Calculations\n",
+      "dGR = nCl*dGfCl + nCl2*dGfCl2 \n",
+      "dHR = nCl*dHfCl + nCl2*dHfCl2 \n",
+      "func = lambda T: exp(-dGR*1e3/(R*T0) - dHR*1e3*(1./T - 1./T0)/R)\n",
+      "Kp8 = func(800)\n",
+      "Kp15 = func(1500)\n",
+      "Kp20 = func(2000)\n",
+      "DDiss = lambda K: sqrt(K/(K+4*PbyP0))\n",
+      "alp8 = DDiss(Kp8)\n",
+      "alp15 = DDiss(Kp15)\n",
+      "alp20 = DDiss(Kp20)\n",
+      "\n",
+      "#Results \n",
+      "print 'Part A'\n",
+      "print 'Std. Gibbs energy change for reaction is %5.3f kJ/mol'%(dGR)\n",
+      "print 'Std. Enthalpy change for reaction is %5.3f kJ/mol'%(dHR)\n",
+      "print 'Equilibrium constants at 800, 1500, and 2000 K are %4.3e, %4.3e, and %4.3e'%(Kp8,Kp15,Kp20)\n",
+      "\n",
+      "print 'Part B'\n",
+      "print 'Degree of dissociation at 800, 1500, and 2000 K are %4.3e, %4.3e, and %4.3e'%(alp8,alp15,alp20)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Part A\n",
+        "Std. Gibbs energy change for reaction is 211.400 kJ/mol\n",
+        "Std. Enthalpy change for reaction is 242.600 kJ/mol\n",
+        "Equilibrium constants at 800, 1500, and 2000 K are 4.223e-11, 1.042e-03, and 1.349e-01\n",
+        "Part B\n",
+        "Degree of dissociation at 800, 1500, and 2000 K are 3.249e-05, 1.593e-01, and 8.782e-01\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.12, Page Number 134"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declaration\n",
+      "dGfCaCO3  = -1128.8     #Std. Gibbs energy of formation for CaCO3 (s), kJ/mol\n",
+      "dGfCaO = -603.3         #Std. Gibbs energy of formation for CaO (s), kJ/mol\n",
+      "dGfCO2 = -394.4         #Std. Gibbs energy of formation for O2 (g), kJ/mol\n",
+      "dHfCaCO3 = -1206.9      #Std. Enthalpy Change of formation for CaCO3 (s), kJ/mol\n",
+      "dHfCaO = -634.9         #Std. Enthalpy Change of formation for CaO (s), kJ/mol\n",
+      "dHfCO2 = -393.5         #Std. Enthalpy Change of formation for O2 (g), kJ/mol\n",
+      "T0 = 298.15             #Temperature in K\n",
+      "R = 8.314\n",
+      "nCaCO3, nCaO, nO2 = -1,1,1 #Stoichiomentric coeff of CaCO3, CaO, O2 respectively in reaction\n",
+      "\n",
+      "#Calculations\n",
+      "dGR = nCaO*dGfCaO + nO2*dGfCO2 + nCaCO3*dGfCaCO3\n",
+      "dHR = nCaO*dHfCaO + nO2*dHfCO2 + nCaCO3*dHfCaCO3\n",
+      "\n",
+      "func = lambda T: exp(-dGR*1e3/(R*T0) - dHR*1e3*(1./T - 1./T0)/R)\n",
+      "\n",
+      "Kp10 = func(1000)\n",
+      "Kp11 = func(1100)\n",
+      "Kp12 = func(1200)\n",
+      "\n",
+      "#Results \n",
+      "print 'Std. Gibbs energy change for reaction is %4.1f kJ/mol'%(dGR)\n",
+      "print 'Std. Enthalpy change for reaction is %4.1f kJ/mol'%(dHR)\n",
+      "print 'Equilibrium constants at 1000, 1100, and 1200 K are %4.4f, %4.3fe, and %4.3f'%(Kp10,Kp11,Kp12)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Std. Gibbs energy change for reaction is 131.1 kJ/mol\n",
+        "Std. Enthalpy change for reaction is 178.5 kJ/mol\n",
+        "Equilibrium constants at 1000, 1100, and 1200 K are 0.0956, 0.673e, and 3.423\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.13, Page Number 135"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declaration\n",
+      "dGfCG  = 0.0            #Std. Gibbs energy of formation for CaCO3 (s), kJ/mol\n",
+      "dGfCD = 2.90            #Std. Gibbs energy of formation for CaO (s), kJ/mol\n",
+      "rhoG = 2.25e3           #Density of Graphite, kg/m3\n",
+      "rhoD = 3.52e3           #Density of dimond, kg/m3\n",
+      "T0 = 298.15             #Std. Temperature, K\n",
+      "R = 8.314               #Ideal gas constant, J/(mol.K) \n",
+      "P0 = 1.0                #Pressure, bar\n",
+      "M = 12.01               #Molceular wt of Carbon\n",
+      "#Calculations\n",
+      "P = P0*1e5 + dGfCD*1e3/((1./rhoG-1./rhoD)*M*1e-3)\n",
+      "\n",
+      "#Results \n",
+      "print 'Pressure at which graphite and dimond will be in equilibrium is %4.2e bar'%(P/1e5)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Pressure at which graphite and dimond will be in equilibrium is 1.51e+04 bar\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.14, Page Number 143"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declaration\n",
+      "beta = 2.04e-4          #Thermal exapansion coefficient, /K\n",
+      "kapa = 45.9e-6          #Isothermal compressibility, /bar\n",
+      "T = 298.15              #Std. Temperature, K\n",
+      "R = 8.206e-2            #Ideal gas constant, atm.L/(mol.K) \n",
+      "T1 = 320.0              #Temperature, K\n",
+      "Pi = 1.0                #Initial Pressure, bar\n",
+      "V = 1.00                #Volume, m3\n",
+      "a = 1.35                #van der Waals constant a for nitrogen, atm.L2/mol2\n",
+      "\n",
+      "#Calculations\n",
+      "dUbydV = Pf = (beta*T1-kapa*P0)/kapa\n",
+      "dVT = V*kapa*(Pf-Pi)\n",
+      "dVbyV = dVT*100/V\n",
+      "Vm = Pi/(R*T1)\n",
+      "dUbydVm = a/(Vm**2)\n",
+      "\n",
+      "#Results \n",
+      "print 'dUbydV = %4.2e bar'%(dUbydV)\n",
+      "print 'dVbyV = %4.3f percent'%(dVbyV)\n",
+      "print 'dUbydVm = %4.0e atm'%(dUbydVm)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "dUbydV = 1.42e+03 bar\n",
+        "dVbyV = 6.519 percent\n",
+        "dUbydVm = 9e+02 atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.15, Page Number 144"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp, log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "m = 1000.0                #mass of mercury, g\n",
+      "Pi, Ti  = 1.00, 300.0     #Intial pressure and temperature, bar, K\n",
+      "Pf, Tf  = 300., 600.0     #Final pressure and temperature, bar, K\n",
+      "rho = 13534.              #Density of mercury, kg/m3\n",
+      "beta = 18.1e-4            #Thermal exapansion coefficient for Hg, /K \n",
+      "kapa = 3.91e-6            #Isothermal compressibility for Hg, /Pa\n",
+      "Cpm = 27.98               #Molar Specific heat at constant pressure, J/(mol.K) \n",
+      "M = 200.59                #Molecular wt of Hg, g/mol\n",
+      "\n",
+      "#Calculations\n",
+      "Vi = m*1e-3/rho\n",
+      "Vf = Vi*exp(-kapa*(Pf-Pi))\n",
+      "Ut = m*Cpm*(Tf-Ti)/M \n",
+      "Up =  (beta*Ti/kapa-Pi)*1e5*(Vf-Vi) + (Vi-Vf+Vf*log(Vf/Vi))*1e5/kapa\n",
+      "dU = Ut + Up\n",
+      "Ht = m*Cpm*(Tf-Ti)/M\n",
+      "Hp = ((1 + beta*(Tf-Ti))*Vi*exp(-kapa*Pi)/kapa)*(exp(-kapa*Pi)-exp(-kapa*Pf))\n",
+      "dH =  Ht + Hp\n",
+      "#Results\n",
+      "print 'Internal energy change is %6.2e J/mol in which \\ncontribution of temeprature dependent term %6.4f percent'%(dU,Ut*100/dH)\n",
+      "print 'Enthalpy change is %4.3e J/mol in which \\ncontribution of temeprature dependent term %4.1f percent'%(dH,Ht*100/dH)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Internal energy change is 4.06e+04 J/mol in which \n",
+        "contribution of temeprature dependent term 99.9999 percent\n",
+        "Enthalpy change is 4.185e+04 J/mol in which \n",
+        "contribution of temeprature dependent term 100.0 percent\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.16, Page Number 145"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "T = 300.0                   #Temperature of Hg, K \n",
+      "beta = 18.1e-4              #Thermal exapansion coefficient for Hg, /K \n",
+      "kapa = 3.91e-6              #Isothermal compressibility for Hg, /Pa\n",
+      "M = 0.20059                 #Molecular wt of Hg, kg/mol \n",
+      "rho = 13534                 #Density of mercury, kg/m3\n",
+      "Cpm = 27.98                 #Experimental Molar specif heat at const pressure for mercury, J/(mol.K)\n",
+      "\n",
+      "#Calculations\n",
+      "Vm = M/rho\n",
+      "DCpmCv = T*Vm*beta**2/kapa\n",
+      "Cvm = Cpm - DCpmCv\n",
+      "#Results\n",
+      "print 'Difference in molar specific heats \\nat constant volume and constant pressure %4.2e J/(mol.K)'%DCpmCv\n",
+      "print 'Molar Specific heat of Hg at const. volume is %4.2f J/(mol.K)'%Cvm"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Difference in molar specific heats \n",
+        "at constant volume and constant pressure 3.73e-03 J/(mol.K)\n",
+        "Molar Specific heat of Hg at const. volume is 27.98 J/(mol.K)\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 6.17, Page Number 147"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "T = 298.15                  #Std. Temperature, K \n",
+      "P = 1.0                     #Initial Pressure, bar\n",
+      "Hm0, Sm0 = 0.0,154.8        #Std. molar enthalpy and entropy of Ar(g), kJ, mol, K units\n",
+      "Sm0H2, Sm0O2 = 130.7,205.2  #Std. molar entropy of O2 and H2 (g), kJ/(mol.K)\n",
+      "dGfH2O = -237.1         #Gibbs energy of formation for H2O(l), kJ/mol  \n",
+      "nH2, nO2 = 1, 1./2       #Stoichiomentric coefficients for H2 and O2 in water formation reaction \n",
+      "\n",
+      "#Calculations\n",
+      "Gm0 = Hm0 - T*Sm0\n",
+      "dGmH2O = dGfH2O*1000 - T*(nH2*Sm0H2 + nO2*Sm0O2)\n",
+      "#Results\n",
+      "print 'Molar Gibbs energy of Ar %4.3f kJ/mol'%(Gm0/1e3)\n",
+      "print 'Molar Gibbs energy of Water %4.3f kJ/mol'%(dGmH2O/1e3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Molar Gibbs energy of Ar -46.154 kJ/mol\n",
+        "Molar Gibbs energy of Water -306.658 kJ/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter07_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter07_3.ipynb
new file mode 100755
index 00000000..d8ce946b
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter07_3.ipynb
@@ -0,0 +1,72 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:b92f3dd9a653fad8ff6778b3bdb8771b55861aa679332e3055f634cfd8668cd9"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 07: Properties of Real Gases"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 7.3, Page Number 166"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "#Variable Declaration\n",
+      "m = 1.0           #Mass of Methane, kg\n",
+      "T = 230           #Temeprature of Methane, K\n",
+      "P = 68.0          #Pressure, bar \n",
+      "Tc = 190.56       #Critical Temeprature of Methane\n",
+      "Pc = 45.99        #Critical Pressure of Methane\n",
+      "R = 0.08314       #Ideal Gas Constant, L.bar/(mol.K)\n",
+      "M = 16.04         #Molecular wt of Methane\n",
+      "\n",
+      "#Calcualtions\n",
+      "Tr = T/Tc\n",
+      "Pr = P/Pc\n",
+      "z = 0.63          #Methane compressibility factor\n",
+      "n = m*1e3/M\n",
+      "V = z*n*R*T/P\n",
+      "Vig = n*R*T/P\n",
+      "DV = (V - Vig)/V\n",
+      "\n",
+      "#Results\n",
+      "print '(V-Videal) %4.2f L'%(V-Vig)\n",
+      "print 'Percentage error %5.2f'%(DV*100)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(V-Videal) -6.49 L\n",
+        "Percentage error -58.73\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter08_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter08_3.ipynb
new file mode 100755
index 00000000..920a2998
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter08_3.ipynb
@@ -0,0 +1,167 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:7cd73e591684a9b750091e874ca08a72b326eee20de62e33004e879fa5300f72"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 08: Phase Diagrams and the Relative Stability of Solids, Liquids, and Gases"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 8.2, Page Number 186 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log, exp\n",
+      "\n",
+      "#Varialble Declaration\n",
+      "Tn = 353.24       #normal boiling point of Benzene, K\n",
+      "pi = 1.19e4       #Vapor pressure of benzene at 20\u00b0C, Pa\n",
+      "DHf = 9.95        #Latent heat of fusion, kJ/mol\n",
+      "pv443 = 137.      #Vapor pressure of benzene at -44.3\u00b0C, Pa\n",
+      "R = 8.314         #Ideal Gas Constant, J/(mol.K)\n",
+      "Pf = 101325       #Std. atmospheric pressure, Pa\n",
+      "T20 = 293.15      #Temperature in K\n",
+      "P0 = 1.\n",
+      "Pl = 10000.\n",
+      "Ts = -44.3        #Temperature of solid benzene, \u00b0C\n",
+      "\n",
+      "#Calculations\n",
+      "Ts = Ts + 273.15\n",
+      "#Part a\n",
+      "\n",
+      "DHv = -(R*log(Pf/pi))/(1./Tn-1./T20)\n",
+      "#Part b\n",
+      "\n",
+      "DSv = DHv/Tn\n",
+      "DHf = DHf*1e3\n",
+      "#Part c\n",
+      "\n",
+      "Ttp = -DHf/(R*(log(Pl/P0)-log(pv443/P0)-(DHv+DHf)/(R*Ts)+DHv/(R*T20)))\n",
+      "Ptp = exp(-DHv/R*(1./Ttp-1./Tn))*101325\n",
+      "\n",
+      "#Results\n",
+      "print 'Latent heat of vaporization of benzene at 20\u00b0C %4.1f kJ/mol'%(DHv/1000)\n",
+      "print 'Entropy Change of vaporization of benzene at 20\u00b0C %3.1f J/mol'%DSv\n",
+      "print 'Triple point temperature = %4.1f K for benzene'%Ttp\n",
+      "print 'Triple point pressure = %4.2e Pa for benzene'%Ptp"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Latent heat of vaporization of benzene at 20\u00b0C 30.7 kJ/mol\n",
+        "Entropy Change of vaporization of benzene at 20\u00b0C 86.9 J/mol\n",
+        "Triple point temperature = 267.3 K for benzene\n",
+        "Triple point pressure = 3.53e+03 Pa for benzene\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 8.3, Page Number 191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import cos, pi\n",
+      "\n",
+      "#Varialble Declaration\n",
+      "gama = 71.99e-3   #Surface tension of water, N/m\n",
+      "r = 1.2e-4        #Radius of hemisphere, m\n",
+      "theta = 0.0       #Contact angle, rad\n",
+      "\n",
+      "#Calculations\n",
+      "DP = 2*gama*cos(theta)/r\n",
+      "F = DP*pi*r**2\n",
+      "\n",
+      "#Results\n",
+      "print 'Force exerted by one leg %5.3e N'%F"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Force exerted by one leg 5.428e-05 N\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 8.4, Page Number 191"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import cos\n",
+      "\n",
+      "#Varialble Declaration\n",
+      "gama = 71.99e-3   #Surface tension of water, N/m\n",
+      "r = 2e-5          #Radius of xylem, m\n",
+      "theta = 0.0       #Contact angle, rad\n",
+      "rho = 997.0       #Density of water, kg/m3\n",
+      "g = 9.81          #gravitational acceleration, m/s2\n",
+      "H = 100           #Height at top of redwood tree, m\n",
+      "\n",
+      "#Calculations\n",
+      "h = 2*gama/(rho*g*r*cos(theta))\n",
+      "\n",
+      "#Results\n",
+      "print 'Height to which water can rise by capillary action is %3.2f m'%h\n",
+      "print 'This is very less than %4.1f n, hence water can not reach top of tree'%H"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height to which water can rise by capillary action is 0.74 m\n",
+        "This is very less than 100.0 n, hence water can not reach top of tree\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter09_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter09_3.ipynb
new file mode 100755
index 00000000..c55629fb
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter09_3.ipynb
@@ -0,0 +1,555 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:01ffb1e6f2fdbc4d93c857ca2d13f94778cfb07d9a65a32061ca8d81d57cf8d5"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 09: Ideal and Real Solutions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.2, Page Number 202"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "nb = 5.00      #Number of moles of Benzene, mol\n",
+      "nt = 3.25      #Number of moles of Toluene, mol\n",
+      "T = 298.15     #Temperature, K\n",
+      "P = 1.0        #Pressure, bar\n",
+      "R = 8.314      #Ideal Gas Constant, J/(mol.K)\n",
+      "\n",
+      "#Calculations\n",
+      "n = nb + nt\n",
+      "xb = nb/n\n",
+      "xt = 1. - xb\n",
+      "dGmix = n*R*T*(xb*log(xb)+xt*log(xt))\n",
+      "dSmix = -n*R*(xb*log(xb)+xt*log(xt))\n",
+      "\n",
+      "#Results\n",
+      "print 'Gibbs energy change of mixing is %4.3e J'%dGmix\n",
+      "print 'Gibbs energy change of mixing is < 0, hence the mixing is spontaneous'\n",
+      "print 'Entropy change of mixing is %4.2f J/K'%dSmix"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Gibbs energy change of mixing is -1.371e+04 J\n",
+        "Gibbs energy change of mixing is < 0, hence the mixing is spontaneous\n",
+        "Entropy change of mixing is 45.99 J/K\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.3, Page Number 205"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "nb = 5.00      #Number of moles of Benzene, mol\n",
+      "nt = 3.25      #Number of moles of Toluene, mol\n",
+      "T = 298.15     #Temperature, K\n",
+      "R = 8.314      #Ideal Gas Constant, J/(mol.K)\n",
+      "P0b = 96.4     #Vapor pressure of Benzene, torr\n",
+      "P0t = 28.9     #Vapor pressure of Toluene, torr\n",
+      "\n",
+      "#Calculations\n",
+      "n = nb + nt\n",
+      "xb = nb/n\n",
+      "xt = 1. - xb\n",
+      "P = xb*P0b + xt*P0t\n",
+      "y = (P0b*P - P0t*P0b)/(P*(P0b-P0t))\n",
+      "yt = 1.-yb\n",
+      "\n",
+      "#Results\n",
+      "print 'Total pressure of the vapor is %4.1f torr'%P\n",
+      "print 'Benzene fraction in vapor is %4.3f '%yb\n",
+      "print 'Toulene fraction in vapor is %4.3f '%yt"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total pressure of the vapor is 69.8 torr\n",
+        "Benzene fraction in vapor is 0.837 \n",
+        "Toulene fraction in vapor is 0.163 \n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.4, Page Number 206"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from sympy import symbols, solve\n",
+      "#Variable Declaration\n",
+      "nb = 5.00      #Number of moles of Benzene, mol\n",
+      "nt = 3.25      #Number of moles of Toluene, mol\n",
+      "T = 298.15     #Temperature, K\n",
+      "R = 8.314      #Ideal Gas Constant, J/(mol.K)\n",
+      "P0b = 96.4     #Vapor pressure of Benzene, torr\n",
+      "P0t = 28.9     #Vapor pressure of Toluene, torr\n",
+      "nv = 1.5       #moles vaporized, mol\n",
+      "\n",
+      "#Calculations\n",
+      "n = nb + nt\n",
+      "nl = n - nv\n",
+      "zb = nb/n\n",
+      "\n",
+      "x,y, P = symbols('x y P')\n",
+      "e1 = nv*(y-zb)-nl*(zb-x)\n",
+      "print 'Mass Balance:', e1\n",
+      "e2 = P - (x*P0b + (1-x)*P0t)\n",
+      "print 'Pressure and x:',e2\n",
+      "e3 = y - (P0b*P - P0t*P0b)/(P*(P0b-P0t))\n",
+      "print 'Pressure and y:', e3\n",
+      "equations = [e1,e2,e3]\n",
+      "sol = solve(equations)\n",
+      "\n",
+      "#Results\n",
+      "for i in sol:\n",
+      "    if ((i[x] > 0.0 and i[x] <1.0) and (i[P] > 0.0) and (i[y]>zb and i[y]<1.0)):\n",
+      "        print 'Pressure is %4.1f torr' %i[P]\n",
+      "        print 'Mole fraction of benzene in liquid phase %4.3f' %i[x]\n",
+      "        print 'Mole fraction of benzene in vapor phase %4.3f' %i[y]\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Mass Balance: 6.75*x + 1.5*y - 5.0\n",
+        "Pressure and x: P - 67.5*x - 28.9\n",
+        "Pressure and y: y - 0.0148148148148148*(96.4*P - 2785.96)/P"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Pressure is 66.8 torr"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Mole fraction of benzene in liquid phase 0.561\n",
+        "Mole fraction of benzene in vapor phase 0.810\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.6, Page Number 212"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "m = 4.50        #Mass of substance dissolved, g\n",
+      "ms = 125.0      #Mass of slovent (CCl4), g\n",
+      "TbE = 0.65      #Boiling point elevation, \u00b0C\n",
+      "Kf, Kb = 30.0, 4.95    #Constants for freezing point elevation \n",
+      "                        # and boiling point depression for CCl4, K kg/mol\n",
+      "Msolvent = 153.8  #Molecualr wt of solvent, g/mol\n",
+      "#Calculations\n",
+      "DTf = -Kf*TbE/Kb\n",
+      "Msolute = Kb*m/(ms*1e-3*TbE)\n",
+      "nsolute = m/Msolute\n",
+      "nsolvent = ms/Msolvent \n",
+      "x = 1.0 -  nsolute/(nsolute + nsolvent)\n",
+      "\n",
+      "#Results\n",
+      "print 'Freezing point depression %5.2f K'%DTf\n",
+      "print 'Molecualr wt of solute %4.1f g/mol'%Msolute\n",
+      "print 'Vapor pressure of solvent is reduced by a factor of %4.3f'%x"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Freezing point depression -3.94 K\n",
+        "Molecualr wt of solute 274.2 g/mol\n",
+        "Vapor pressure of solvent is reduced by a factor of 0.980\n"
+       ]
+      }
+     ],
+     "prompt_number": 69
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.7, Page Number 214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "csolute = 0.500 #Concentration of solute, g/L\n",
+      "R = 8.206e-2    #Gas constant L.atm/(mol.K)\n",
+      "T = 298.15      #Temperature of the solution, K\n",
+      "\n",
+      "#Calculations\n",
+      "pii = csolute*R*T\n",
+      "\n",
+      "#Results\n",
+      "print 'Osmotic pressure %4.2f atm'%pii\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Osmotic pressure 12.23 atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 70
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.8, Page Number 220"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "xCS2 = 0.3502   #Mol fraction of CS2, g/L\n",
+      "pCS2 = 358.3    #Partial pressure of CS2, torr\n",
+      "p0CS2 = 512.3   #Total pressure, torr\n",
+      "\n",
+      "#Calculations\n",
+      "alpha = pCS2/p0CS2\n",
+      "gama = alpha/xCS2\n",
+      "\n",
+      "#Results\n",
+      "print 'Activity of CS2 %5.4f atm'%alpha\n",
+      "print 'Activity coefficinet of CS2 %5.4f atm'%gama"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Activity of CS2 0.6994 atm\n",
+        "Activity coefficinet of CS2 1.9971 atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 72
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.9, Page Number 220"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "xCS2 = 0.3502   #Mol fraction of CS2, g/L\n",
+      "pCS2 = 358.3    #Partial pressure of CS2, torr\n",
+      "kHCS2 = 2010.   #Total pressure, torr\n",
+      "\n",
+      "#Calculations\n",
+      "alpha = pCS2/kHCS2\n",
+      "gama = alpha/xCS2\n",
+      "\n",
+      "#Results\n",
+      "print 'Activity of CS2 %5.4f atm'%alpha\n",
+      "print 'Activity coefficinet of CS2 %5.4f atm'%gama"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Activity of CS2 0.1783 atm\n",
+        "Activity coefficinet of CS2 0.5090 atm\n"
+       ]
+      }
+     ],
+     "prompt_number": 73
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.10, Page Number 221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "rho = 789.9     #Density of acetone, g/L\n",
+      "n = 1.0         #moles of acetone, mol\n",
+      "M = 58.08       #Molecular wt of acetone, g/mol\n",
+      "kHacetone = 1950 #Henrys law constant, torr\n",
+      "#Calculations\n",
+      "H = n*M*kHacetone/rho\n",
+      "\n",
+      "#Results\n",
+      "print 'Henrys constant = %5.2f torr'%H"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Henrys constant = 143.38 torr\n"
+       ]
+      }
+     ],
+     "prompt_number": 76
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.11, Page Number 221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "m = 0.5         #Mass of water, kg\n",
+      "ms = 24.0       #Mass of solute, g\n",
+      "Ms = 241.0      #Molecular wt of solute, g/mol\n",
+      "Tfd = 0.359     #Freezinf point depression, \u00b0C or K\n",
+      "kf = 1.86       #Constants for freezing point depression for water, K kg/mol\n",
+      "\n",
+      "#Calculations\n",
+      "msolute = ms/(Ms*m)\n",
+      "gama = Tfd/(kf*msolute)\n",
+      "\n",
+      "#Results\n",
+      "print 'Activity coefficient = %4.3f'%gama"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Activity coefficient = 0.969\n"
+       ]
+      }
+     ],
+     "prompt_number": 81
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.12, Page Number 223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "m = 70.0        #Mass of human body, kg\n",
+      "V = 5.00        #Volume of blood, L\n",
+      "HN2 = 9.04e4    #Henry law constant for N2 solubility in blood, bar\n",
+      "T = 298.0       #Temperature, K\n",
+      "rho = 1.00      #density of blood, kg/L\n",
+      "Mw = 18.02      #Molecualr wt of water, g/mol\n",
+      "X = 80          #Percent of N2 at sea level\n",
+      "p1, p2 = 1.0, 50.0  #Pressures, bar\n",
+      "R = 8.314e-2       #Ideal Gas constant, L.bar/(mol.K)\n",
+      "#Calculations\n",
+      "nN21  = (V*rho*1e3/Mw)*(p1*X/100)/HN2\n",
+      "nN22  = (V*rho*1e3/Mw)*(p2*X/100)/HN2\n",
+      "V = (nN22-nN21)*R*T/p1\n",
+      "#Results\n",
+      "print 'Number of moles of nitrogen in blood at 1 and 50 bar are %3.2e,%3.3f mol'%(nN21,nN22)\n",
+      "print 'Volume of nitrogen released from blood at reduced pressure %4.3f L'%V"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of moles of nitrogen in blood at 1 and 50 bar are 2.46e-03,0.123 mol\n",
+        "Volume of nitrogen released from blood at reduced pressure 2.981 L\n"
+       ]
+      }
+     ],
+     "prompt_number": 90
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 9.14, Page Number 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from numpy import arange,array,ones,linalg, divide\n",
+      "from matplotlib import pyplot\n",
+      "%matplotlib inline\n",
+      "#Variable Declaration\n",
+      "cCB = array([1e-6,2e-6,3e-6,5e-6,10e-6])\n",
+      "nu = array([0.006,0.012,0.018,0.028,0.052])\n",
+      "y = nu/cCB\n",
+      "print y\n",
+      "xlim(0.0, 0.06)\n",
+      "ylim(5000,6300)\n",
+      "#Calculations\n",
+      "A = array([ nu, ones(size(nu))])\n",
+      "print A\n",
+      "# linearly generated sequence\n",
+      "\n",
+      "w = linalg.lstsq(A.T,y)[0] # obtaining the parameters\n",
+      "print 'slope %8.1f'%w[0]\n",
+      "print 'Intercept %8.1f' %w[1]\n",
+      "# Use w[0] and w[1] for your calculations and give good structure to this ipython notebook\n",
+      "# plotting the line\n",
+      "line = w[0]*nu+w[1] # regression line\n",
+      "  \n",
+      "#Results\n",
+      "plot(nu,line,'r-',nu,y,'o')\n",
+      "xlabel('$ \\overline{\\upsilon} $')\n",
+      "ylabel('$ \\overline{\\upsilon}/C_{CB},  M^{-1} $')\n",
+      "#ylabel('$ \\dfrac{\\overline{\\upsilon}}{C_{CB}} $')\n",
+      "show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "[ 6000.  6000.  6000.  5600.  5200.]\n",
+        "[[ 0.006  0.012  0.018  0.028  0.052]\n",
+        " [ 1.     1.     1.     1.     1.   ]]"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "slope -19188.2\n",
+        "Intercept   6205.2\n"
+       ]
+      },
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n9ASq8UBFKwAAAABJRU5ErkJggg==\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x5851530>"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter10_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter10_3.ipynb
new file mode 100755
index 00000000..746159a0
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter10_3.ipynb
@@ -0,0 +1,62 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:83e7e02c224bb370929cff9832918ae9c98d9e287b7f595b2c76bce75548416a"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 10: Electrolyte Solutions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 10.2, Page Number 242"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "M = 0.050       #Molarity for NaCl and Na2SO4 solution, mol/kg\n",
+      "npa, zpa = 1, 1\n",
+      "nma, zma = 1, 1\n",
+      "npb, zpb = 2, 1\n",
+      "nmb, zmb = 1, 2\n",
+      "\n",
+      "#Calculations\n",
+      "Ia = M*(npa*zpa**2 + nma*zma**2)/2\n",
+      "Ib = M*(npb*zpb**2 + nmb*zmb**2)/2\n",
+      "\n",
+      "#Results\n",
+      "print 'Ionic streangth for NaCl solution is %4.3f and for Na2SO4 solution is %4.3f, mol/kg'%(Ia,Ib)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ionic streangth for NaCl solution is 0.050 and for Na2SO4 solution is 0.150, mol/kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter11_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter11_3.ipynb
new file mode 100755
index 00000000..723caafc
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter11_3.ipynb
@@ -0,0 +1,310 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d2becfaa562cf3368a669798b21524329e478ea72b3f08ab186dd0dd13556e25"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11: Electrochemical Cells, Batteries, and Fuel Cells"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 11.1, Page Number 256"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log, sqrt\n",
+      "\n",
+      "#Variable Declaration\n",
+      "aH = 0.770        #Activity of \n",
+      "fH2 = 1.13        #Fugacity of Hydrogen gas\n",
+      "E0 = 0.0          #Std. electrode potential, V\n",
+      "n = 1.0           #Number of electrons transfered\n",
+      "\n",
+      "#Calculations\n",
+      "E = E0 - (0.05916/n)*log(aH/sqrt(fH2),10)\n",
+      "\n",
+      "#Results\n",
+      "print 'The potential of H+/H2 half cell %5.4f V'%E"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "THe potential of H+/H2 half cell 0.00829 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 11.2, Page Number 256"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "#Variable Declaration\n",
+      "E0r1 = -0.877       #Std Electrod potential for Rx2 : Al3+ + 3e- ------> Al (s)                   \n",
+      "E0r2 = -1.660       #Std Electrod potential for Rx2 : Al3+ + 3e- ------> Al (s)\n",
+      "E0r3 = +0.071       #Std Electrod potential for Rx3 : AgBr (s) + e- ------> Ag(s) +Br- (aq.)\n",
+      "\n",
+      "#Calculations\n",
+      "#3Fe(OH)2 (s)+ 2Al (s)  <---------> 3Fe (s)  + 6(OH-) + 2Al3+\n",
+      "E0a = 3*E0r1 + (-2)*E0r2\n",
+      "#Fe (s) + 2OH- +   2AgBr (s) -------> Fe(OH)2 (s)  + 2Ag(s) +  2Br- (aq.)\n",
+      "E0b = -E0r1 + (2)*E0r3\n",
+      "\n",
+      "#Results\n",
+      "print '%5.3f %5.3f'%(E0a,E0b)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "0.689 1.019\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 11.3, Page Number 257"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "#Variable Declaration\n",
+      "E01 = 0.771      #Rx1 : Fe3+ + e- -----> Fe2+\n",
+      "E02 = -0.447     #Rx2 : Fe2+ + 2e- -----> Fe\n",
+      "F = 96485        #Faraday constant, C/mol\n",
+      "n1,n2,n3 = 1.,2.,3.\n",
+      "\n",
+      "#Calculations\n",
+      "dG01 = -n1*F*E01\n",
+      "dG02 = -n2*F*E02\n",
+      "                #For overall reaction\n",
+      "dG0 = dG01 + dG02\n",
+      "E0Fe3byFe = -dG0/(n3*F)\n",
+      "\n",
+      "#Results\n",
+      "print 'E0 for overall reaction is %5.3f V'%(E0Fe3byFe)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "E0 for overall reaction is -0.041 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 11.4, Page Number 258"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "#Variable Declaration\n",
+      "E01 = +1.36             #Std. electrode potential for Cl2/Cl\n",
+      "dE0bydT = -1.20e-3      #V/K\n",
+      "F = 96485               #Faraday constant, C/mol\n",
+      "n = 2.\n",
+      "S0H = 0.0               #Std. entropy J/(K.mol) for H+ ,Cl-,H2, Cl2 \n",
+      "S0Cl = 56.5\n",
+      "S0H2 = 130.7\n",
+      "S0Cl2 = 223.1\n",
+      "nH, nCl, nH2, nCl2 = 2, 2, -1,-1\n",
+      "#Calculations\n",
+      "dS01 = n*F*dE0bydT\n",
+      "dS02 =nH*S0H + nCl*S0Cl + nH2*S0H2 + nCl2*S0Cl2\n",
+      "\n",
+      "#Results\n",
+      "print 'Std. entropy change of reaction from dE0bydT is %4.2e and\\nStd entropy values is %4.2e V'%(dS01,dS02)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Std. entropy change of reaction from dE0bydT is -2.32e+02 and\n",
+        "Std entropy values is -2.41e+02 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 11.5, Page Number 259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declaration\n",
+      "E0 = +1.10              #Std. electrode potential for Danniel cell, V\n",
+      "                        #Zn(s) + Cu++ ----->  Zn2+   +  Cu\n",
+      "T = 298.15              #V/K\n",
+      "F = 96485               #Faraday constant, C/mol\n",
+      "n = 2.\n",
+      "R = 8.314               #Gas constant, J/(mol.K)\n",
+      "\n",
+      "#Calculations\n",
+      "K = exp(n*F*E0/(R*T))\n",
+      "\n",
+      "#Results\n",
+      "print 'Equilibrium constant for reaction is %4.2e'%(K)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Equilibrium constant for reaction is 1.55e+37\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 11.6, Page Number 259"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "E = +0.29               #Cell emf, V\n",
+      "n = 2.\n",
+      "\n",
+      "#Calculations\n",
+      "Ksp = 10**(-n*E/0.05916)\n",
+      "\n",
+      "#Results\n",
+      "print 'Equilibrium constant for reaction is %4.2e'%(Ksp)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Equilibrium constant for reaction is 1.57e-10\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 11.8, Page Number 262"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "E = +1.51               #EMF for reduction of permangnet, V\n",
+      "E01 = -0.7618           #Zn2+  + 2e-  -------->  Zn (s)\n",
+      "E02 = +0.7996           #Ag+  + e-  -------->  Ag (s)\n",
+      "E03 = +1.6920           #Au+  + e-  -------->  Au (s)        \n",
+      "\n",
+      "#Calculations\n",
+      "EZn = E - E01\n",
+      "EAg = E - E02\n",
+      "EAu = E - E03\n",
+      "animals = {\"parrot\": 2, \"fish\": 6}\n",
+      "Er = {\"Zn\":EZn,\"Ag\":EAg,\"Au\":EAu}\n",
+      "#Results\n",
+      "print 'Cell potentials for Zn, Ag, Au are %4.2f V, %4.2f V, and %4.2f V'%(EZn, EAg,EAu)\n",
+      "for i in Er:\n",
+      "    if Er[i] >0.0:\n",
+      "        print '%s has positive cell potential of %4.3f V and Can be oxidized bypermangnate ion' %(i,Er[i])\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Cell potentials for Zn, Ag, Au are 2.27 V, 0.71 V, and -0.18 V\n",
+        "Zn has positive cell potential of 2.272 V and Can be oxidized bypermangnate ion\n",
+        "Ag has positive cell potential of 0.710 V and Can be oxidized bypermangnate ion\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter12_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter12_3.ipynb
new file mode 100755
index 00000000..8e29b09f
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter12_3.ipynb
@@ -0,0 +1,494 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d8c3461ecac732eb195070515e98f396dfce934c9723f9aa3acfde3ef51df057"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 12: Probability"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.1, Page Number 283"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Varible declaration\n",
+      "n = range(1,51,1)\n",
+      "Prob = 0\n",
+      "for x in n:\n",
+      "    Prob = 1./len(n) + Prob\n",
+      "\n",
+      "#Results\n",
+      "print 'Probability of picking up any one ball is %3.1f'%Prob"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probability of picking up any one ball is 1.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.2, Page Number 284"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from fractions import Fraction\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 52          #Total cards\n",
+      "nheart = 13     #Number of cards with hearts\n",
+      "\n",
+      "#Calculations\n",
+      "Pe = Fraction(nheart,n)\n",
+      "\n",
+      "#Results\n",
+      "print 'Probability of one (heart)card picked from a std. stack of %d cards is'%n,Pe"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probability of one (heart)card picked from a std. stack of 52 cards is 1/4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.3, Page Number 285"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "n = 52          #Total cards\n",
+      "\n",
+      "#Calculations\n",
+      "TotalM = n*(n-1)*(n-2)*(n-3)*(n-4)\n",
+      "#Results\n",
+      "print 'Total number of Five card arrangment from a deck of 52 cards is %d'%TotalM"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total number of Five card arrangment from a deck of 52 cards is 311875200\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.4, Page Number 285"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "n1 = 2         #Two spin states for 1st electron in orbit 1\n",
+      "n2 = 2         #Two spin states for 2nd electron in orbit 2\n",
+      "\n",
+      "#Calculation\n",
+      "M = n1*n1\n",
+      "\n",
+      "#Results\n",
+      "print 'Possible spin states for excited state are %2d'%M"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Possible spin states for excited state are  4\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.5, Page Number 286"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import factorial\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 12         #Total Number of players \n",
+      "j = 5          #Number player those can play match\n",
+      "\n",
+      "#Calculation\n",
+      "P = factorial(n)/factorial(n-j)\n",
+      "\n",
+      "#Results\n",
+      "print 'Maximum Possible permutations for 5 player to play are %8d'%P"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum Possible permutations for 5 player to play are    95040\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.6, Page Number 287"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import factorial\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 52         #Number of cards in std . pack\n",
+      "j = 5          #Number of cards in subset\n",
+      "\n",
+      "#Calculation\n",
+      "C = factorial(n)/(factorial(j)*factorial(n-j))\n",
+      "\n",
+      "#Results\n",
+      "print 'Maximum Possible 5-card combinations are %8d'%C"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum Possible 5-card combinations are  2598960\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.7, Page Number 288"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import factorial\n",
+      "\n",
+      "#Variable Declaration\n",
+      "x = 6          #Number of electrons\n",
+      "n = 2          #Number of states\n",
+      "\n",
+      "#Calculation\n",
+      "P = factorial(x)/(factorial(n)*factorial(x-n))\n",
+      "\n",
+      "#Results\n",
+      "print 'Total number of quantum states are %3d'%P"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total number of quantum states are  15\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.8, Page Number 289"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import factorial\n",
+      "from fractions import Fraction\n",
+      "\n",
+      "#Variable Declaration\n",
+      "n = 50          #Number of separate experiments\n",
+      "j1 = 25          #Number of sucessful expt with heads up\n",
+      "j2 = 10          #Number of sucessful expt with heads up\n",
+      "\n",
+      "#Calculation\n",
+      "C25 = factorial(n)/(factorial(j1)*factorial(n-j1))\n",
+      "PE25 = Fraction(1,2)**j1\n",
+      "PEC25 = (1-Fraction(1,2))**(n-j1)\n",
+      "P25 = C25*PE25*PEC25\n",
+      "\n",
+      "C10 = factorial(n)/(factorial(j2)*factorial(n-j2))\n",
+      "PE10 = Fraction(1,2)**j2\n",
+      "PEC10 = (1-Fraction(1,2))**(n-j2)\n",
+      "P10 = C10*PE10*PEC10\n",
+      "\n",
+      "#Results\n",
+      "print 'Probability of getting 25 head out of 50 tossing is %4.3f'%(float(P25))\n",
+      "print 'Probability of getting 10 head out of 50 tossing is %4.3e'%(float(P10))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probability of getting 25 head out of 50 tossing is 0.112\n",
+        "Probability of getting 10 head out of 50 tossing is 9.124e-06\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.9, Page Number 290"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import factorial, log\n",
+      "#Variable Declaration\n",
+      "N = [10,50,100]       #Valures for N\n",
+      "\n",
+      "#Calculations\n",
+      "print '  N        ln(N!)       ln(N!)sterling      Error'\n",
+      "for i in N:\n",
+      "    lnN = log(factorial(i))\n",
+      "    lnNs = i*log(i)-i\n",
+      "    err = abs(lnN-lnNs)\n",
+      "    print '%3d       %5.2f        %5.2f              %4.2f'%(i,lnN,lnNs, err)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "  N        ln(N!)       ln(N!)sterling      Error\n",
+        " 10       15.10        13.03              2.08\n",
+        " 50       148.48        145.60              2.88\n",
+        "100       363.74        360.52              3.22\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.10, Page Number 293"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from fractions import Fraction\n",
+      "\n",
+      "#Variable Declaration\n",
+      "fi = 1       #Probability of receiving any card\n",
+      "n = 52       #Number od Cards\n",
+      "\n",
+      "#Calculations\n",
+      "sum = 0\n",
+      "for i in range(52):\n",
+      "    sum = sum + fi\n",
+      "\n",
+      "Pxi = Fraction(fi,sum)\n",
+      "\n",
+      "#Results\n",
+      "print 'Probability of receiving any card', Pxi"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probability of receiving any card 1/52\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.11, Page Number 295"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "from scipy import integrate\n",
+      "#Variable Declaration\n",
+      "\n",
+      "#Calculations\n",
+      "fun = lambda x: exp(-0.05*x)\n",
+      "Pt = 0\n",
+      "for i in range(0,101):\n",
+      "    Pt = Pt + fun(i)\n",
+      "    \n",
+      "Ptot = integrate.quad(fun, 0.0, 100.)\n",
+      "\n",
+      "#Results\n",
+      "print 'Sum of Px considering it as discrete function %4.1f'%Pt\n",
+      "print 'Sum of Px considering it as contineous function %4.1f'%Ptot[0]"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sum of Px considering it as discrete function 20.4\n",
+        "Sum of Px considering it as contineous function 19.9\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 12.12, Page Number 296"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from sympy import Symbol\n",
+      "\n",
+      "#Variable Declaration\n",
+      "r = Symbol('r')      #Radius of inner circle\n",
+      "C = [5,2,0]\n",
+      "#Calculations\n",
+      "A1 = pi*r**2\n",
+      "A2 = pi*(2*r)**2 - A1\n",
+      "A3 = pi*(3*r)**2 - (A1 + A2)\n",
+      "At = A1 + A2 + A3\n",
+      "f1 = A1/At\n",
+      "f2 = A2/At\n",
+      "f3 = A3/At\n",
+      "sf = f1 + f2 + f3\n",
+      "\n",
+      "ns = (f1*C[0]+f2*C[1]+f3*C[2])/sf\n",
+      "\n",
+      "#Results\n",
+      "print 'A1, A2, A3: ', A1,', ', A2,', ', A3\n",
+      "print 'f1, f2, f3: ', f1,f2,f3\n",
+      "print 'Average payout $', round(float(ns),2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A1, A2, A3:  3.14159265358979*r**2 ,  9.42477796076938*r**2 ,  15.707963267949*r**2\n",
+        "f1, f2, f3:  0.111111111111111 0.333333333333333 0.555555555555556\n",
+        "Average payout $ 1.22\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter13_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter13_3.ipynb
new file mode 100755
index 00000000..cc951171
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter13_3.ipynb
@@ -0,0 +1,280 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:3a59660ef8988bd823a05542831d0b3502d04babd5edf601811fd0176c44db2b"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 13: Boltzmann Distribution"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 13.1, Page Number 309"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import factorial\n",
+      "\n",
+      "#Variable Declaration\n",
+      "\n",
+      "aH = 40         #Number of heads\n",
+      "N = 100         #Total events\n",
+      "\n",
+      "#Calculations\n",
+      "aT = 100 - aH\n",
+      "We = factorial(N)/(factorial(aT)*factorial(aH))\n",
+      "Wexpected = factorial(N)/(factorial(N/2)*factorial(N/2))\n",
+      "\n",
+      "#Results\n",
+      "print 'The observed weight %5.2e compared to %5.2e'%(We,Wexpected)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The observed weight 1.37e+28 compared to 1.01e+29\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 13.2, Page Number 310"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from sympy import symbols, diff, log\n",
+      "\n",
+      "#Varialbe declaration\n",
+      "n = 10000       #Total number of particles\n",
+      "\n",
+      "\n",
+      "#Calcualtions\n",
+      "def ster(i):\n",
+      "    return i*log(i)-i\n",
+      "\n",
+      "n1, n2, n3, W = symbols('n1 n2 n3 W',positive=True)\n",
+      "\n",
+      "n2 = 5000 - 2*n3\n",
+      "n1 = 10000 - n2 -n3\n",
+      "logW = ster(n) - ster(n1) - ster(n2) - ster(n3) \n",
+      "fun = diff(logW, n3)\n",
+      "dfun = diff(fun, n3)\n",
+      "x0 = 10.0\n",
+      "err = 1.0\n",
+      "while err>0.001:\n",
+      "    f = fun.subs(n3,x0)\n",
+      "    df = dfun.subs(n3,x0)\n",
+      "    xnew = x0 - f/df\n",
+      "    err = abs(x0-xnew)/x0\n",
+      "    x0 = xnew\n",
+      "\n",
+      "x0 = int(x0)\n",
+      "N2 = n2.subs(n3,x0)\n",
+      "N3 = x0\n",
+      "n1 = n1.subs(n3,x0)\n",
+      "N1 = n1.subs(n2,N2)\n",
+      "lnW = logW.subs(n3,N3)\n",
+      "\n",
+      "#Results\n",
+      "print 'At maximum value of ln(W)'\n",
+      "print 'Values of N1 : %4d, N2: %4d and N3: %4d '%(N1, N2,N3)\n",
+      "print 'Maximum value of ln(W)= %6d'%lnW"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "At maximum value of ln(W)\n",
+        "Values of N1 : 6162, N2: 2676 and N3: 1162 \n",
+        "Maximum value of ln(W)=   9012\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 13.3, Page Number 314"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "p0 = 0.633        #Probabilities of Energy level 1,2,3 \n",
+      "p1 = 0.233\n",
+      "p2 = 0.086\n",
+      "\n",
+      "#Calculation\n",
+      "p4 = 1. -(p0+p1+p2)\n",
+      "\n",
+      "#Results\n",
+      "print 'Probability of finding an oscillator at energy level of n>3 is %4.3f i.e.%4.1f percent'%(p4,p4*100)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probability of finding an oscillator at energy level of n>3 is 0.048 i.e. 4.8 percent\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 13.4, Page Number 315"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "p0 = 0.394        #Probabilities of Energy level 1,2,3 \n",
+      "p1by2 = 0.239\n",
+      "p2 = 0.145\n",
+      "\n",
+      "#Calculation\n",
+      "p4 = 1. -(p0+p1by2+p2)\n",
+      "\n",
+      "#Results\n",
+      "print 'Probability of finding an oscillator at energy level of n>3 is %4.3f'%(p4)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probability of finding an oscillator at energy level of n>3 is 0.222\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 13.5, Page Number 321"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declaration\n",
+      "I2 = 208         #Vibrational frequency, cm-1 \n",
+      "T = 298          #Molecular Temperature, K\n",
+      "c = 3.00e10      #speed of light, cm/s\n",
+      "h = 6.626e-34    #Planks constant, J/K\n",
+      "k = 1.38e-23     #Boltzman constant, J/K\n",
+      "#Calculation\n",
+      "q = 1./(1.-exp(-h*c*I2/(k*T)))\n",
+      "p2 = exp(-2*h*c*I2/(k*T))/q\n",
+      "\n",
+      "#Results\n",
+      "print 'Partition function is %4.3f'%(q)\n",
+      "print 'Probability of occupying the second vibrational state n=2 is %4.3f'%(p2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Partition function is 1.577\n",
+        "Probability of occupying the second vibrational state n=2 is 0.085\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 13.6, Page Number 322"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "B = 1.45         #Magnetic field streangth, Teslas \n",
+      "T = 298          #Molecular Temperature, K\n",
+      "c = 3.00e10      #speed of light, cm/s\n",
+      "h = 6.626e-34    #Planks constant, J/K\n",
+      "k = 1.38e-23     #Boltzman constant, J/K \n",
+      "gnbn = 2.82e-26  #J/T\n",
+      "#Calculation\n",
+      "ahpbyahm = exp(-gnbn*B/(k*T))\n",
+      "\n",
+      "#Results\n",
+      "print 'Occupation Number is %7.6f'%(ahpbyahm)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Occupation Number is 0.999990\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter14_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter14_3.ipynb
new file mode 100755
index 00000000..74ee404f
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter14_3.ipynb
@@ -0,0 +1,505 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:bb7917df7f0f53519b214ba6078e165a23f61bf03cb0026cea4d88d66f714bcc"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 14: Ensemble and Molecular Partition Function"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.1, Page Number 332"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "l = 0.01           #Box length, m \n",
+      "n1,n2 = 2,1        #Energy levels states\n",
+      "m = 5.31e-26       #mass of oxygen molecule, kg\n",
+      "\n",
+      "#Calculations \n",
+      "dE = (n1+n2)*h**2/(8*m*l**2)\n",
+      "dEcm = dE/(h*c*1e2)\n",
+      "#Results\n",
+      "print 'Difference in energy levels is %3.2e J or %3.2e 1/cm'%(dE,dEcm)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Difference in energy levels is 3.10e-38 J or 1.56e-15\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.2, Page Number 333"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import pi, sqrt\n",
+      "\n",
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "v = 1.0            #Volume, L\n",
+      "T = 298.0          #Temeprature of Ar, K\n",
+      "m = 6.63e-26       #Mass of Argon molecule, kg \n",
+      "\n",
+      "#Calculations \n",
+      "GAMA = h/sqrt(2*pi*m*k*T)\n",
+      "v = v*1e-3\n",
+      "qT3D = v/GAMA**3\n",
+      "\n",
+      "#Results\n",
+      "print 'Thermal wave length is %3.2e m and\\nTranslational partition function is %3.2e'%(GAMA,qT3D)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thermal wave length is 1.60e-11 m and\n",
+        "Translational partition function is 2.44e+29\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.4, Page Number 338"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "\n",
+      "J = 4              #Rotational energy level\n",
+      "B = 8.46           #Spectrum, 1/cm\n",
+      "\n",
+      "#Calculations \n",
+      "T = (2*J+1)**2*h*c*100*B/(2*k)\n",
+      "#Results\n",
+      "print 'Spectrum will be observed at %4.0f K'%(T)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Spectrum will be observed at  494 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.5, Page Number 340"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "\n",
+      "B = 60.589         #Spectrum for H2, 1/cm\n",
+      "T = 1000           #Temperture of Hydrogen, K\n",
+      "#Calculations \n",
+      "qR = k*T/(2*h*c*100*B)\n",
+      "qRs = 0.0\n",
+      "#for J in range(101):\n",
+      "#    print J\n",
+      "#    if (J%2 == 0):\n",
+      "#        qRs = qRs + (2*J+1)*exp(-h*c*100*B*J*(J+1)/(k*T)\n",
+      "#    else:\n",
+      "#        qRs = qRs + 3*(2*J+1)*exp(-h*c*100*B*J*(J+1)/(k*T))\n",
+      "#print qRs/4\n",
+      "\n",
+      "#Results\n",
+      "print 'Rotation partition function of H2 at %4.0f is %4.3f'%(T,qR)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rotation partition function of H2 at 1000 is 5.729\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.6, Page Number 341"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "B = 0.0374         #Spectrum for H2, 1/cm\n",
+      "T = 100.0          #Temperture of Hydrogen, K\n",
+      "sigma = 2.\n",
+      "\n",
+      "#Calculations\n",
+      "ThetaR = h*c*100*B/k\n",
+      "qR = T/(sigma*ThetaR)\n",
+      "\n",
+      "#Results\n",
+      "print 'Rotation partition function of H2 at %4.0f K is %4.3f'%(T,qR)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rotation partition function of H2 at  100 K is 928.121\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.7, Page Number 342"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import pi, sqrt\n",
+      "\n",
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "Ba = 1.48                        #Spectrum for OCS, 1/cm\n",
+      "Bb = [2.84,0.191,0.179]          #Spectrum for ONCI, 1/cm\n",
+      "Bc = [9.40,1.29,1.13]            #Spectrum for CH2O, 1/cm\n",
+      "T = 298.0                        #Temperture of Hydrogen, K\n",
+      "sigmab = 1\n",
+      "sigmac = 2\n",
+      "\n",
+      "#Calculations\n",
+      "qRa = k*T/(h*c*100*Ba)\n",
+      "qRb = (sqrt(pi)/sigmab)*(k*T/(h*c*100))**(3./2)*sqrt(1/Bb[0])*sqrt(1/Bb[1])*sqrt(1/Bb[2])\n",
+      "qRc = (sqrt(pi)/sigmac)*(k*T/(h*c*100))**(3./2)*sqrt(1/Bc[0])*sqrt(1/Bc[1])*sqrt(1/Bc[2])\n",
+      "\n",
+      "#Results\n",
+      "print 'Rotation partition function for OCS, ONCI, CH2O at %4.0f K are %4.0f, %4.0f, and %4.0f respectively'%(T,qRa,qRb,qRc)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rotation partition function for OCS, ONCI, CH2O at  298 K are  140, 16926, and  712 respectively\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.8, Page Number 344"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import pi, exp\n",
+      "\n",
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "\n",
+      "Ba = 1.48                        #Frequency for OCS, 1/cm\n",
+      "Bb = [2.84,0.191,0.179]          #Frequency for ONCI, 1/cm\n",
+      "Bc = [9.40,1.29,1.13]            #Frequency for CH2O, 1/cm\n",
+      "T298 = 298.0                     #Temperture of Hydrogen, K\n",
+      "T1000 = 1000                     #Temperture of Hydrogen, K\n",
+      "nubar  =  208\n",
+      "\n",
+      "#Calculations\n",
+      "qv298 = 1./(1.-exp(-h*c*100*nubar/(k*T298)))\n",
+      "qv1000 = 1./(1.-exp(-h*c*100*nubar/(k*T1000)))\n",
+      "\n",
+      "#Results\n",
+      "print 'Vibrational partition function for I2 at %4d and %4d are %4.2f K and %4.2f respectively'%(T298, T1000,qv298, qv1000)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vibrational partition function for I2 at  298 and 1000 are 1.58 K and 3.86 respectively\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.9, Page Number 346"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "\n",
+      "T = 298            #Temeprature, K\n",
+      "nubar = [450, 945, 1100]   #Vibrational mode frequencies for OClO, 1/cm\n",
+      "\n",
+      "#Calculations\n",
+      "Qv = 1.\n",
+      "for i in nubar:\n",
+      "    qv = 1./(1.-exp(-h*c*100*i/(k*T)))\n",
+      "    print 'At %4.0f 1/cm the q = %4.3f'%(i,qv)\n",
+      "    Qv = Qv*qv\n",
+      "#Results\n",
+      "print 'Total Vibrational partition function for OClO at %4.1f K is %4.3f'%(T, Qv)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "At  450 1/cm the q = 1.128\n",
+        "At  945 1/cm the q = 1.010\n",
+        "At 1100 1/cm the q = 1.005\n",
+        "Total Vibrational partition function for OClO at 298.0 K is 1.146 respectively\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.10, Page Number 348"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "T = 298            #Temeprature, K\n",
+      "nubar = 917        #Vibrational mode frequencies for F2, 1/cm\n",
+      "\n",
+      "#Calculations\n",
+      "ThetaV = h*c*100*nubar/k\n",
+      "Th = 10*ThetaV\n",
+      "qv = 1/(1.-exp(-ThetaV/Th))\n",
+      "\n",
+      "#Results\n",
+      "print 'Vibrational partition function for F2 at %4.1f K is %4.3f'%(T, qv)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vibrational partition function for F2 at 298.0 K is 10.508\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.11, Page Number 348"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "T = 1000           #Temeprature, K\n",
+      "nubar = [1388, 667.4,667.4,2349]   #Vibrational mode frequencies for CO2, 1/cm\n",
+      "\n",
+      "#Calculations\n",
+      "Qv = 1.\n",
+      "for i in nubar:\n",
+      "    qv = 1./(1.-exp(-h*c*100*i/(k*T)))\n",
+      "    print 'At %4.0f 1/cm the q = %4.3f'%(i,qv)\n",
+      "    Qv = Qv*qv\n",
+      "#Results\n",
+      "print 'Total Vibrational partition function for OClO at %4.1f K is %4.3f'%(T, Qv)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "At 1388 1/cm the q = 1.157\n",
+        "At  667 1/cm the q = 1.619\n",
+        "At  667 1/cm the q = 1.619\n",
+        "At 2349 1/cm the q = 1.035\n",
+        "Total Vibrational partition function for OClO at 1000.0 K is 3.139\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 14.12, Page Number 352"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declarations\n",
+      "h = 6.626e-34      #Planks constant, J.s\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "c = 3.0e8          #speed of light, m/s\n",
+      "T = 298.           #Temeprature, K\n",
+      "n = [0,1,2,3,4,5,6,7,8]   #Energy levels\n",
+      "E0 = [0,137.38,323.46,552.96,2112.28,2153.21,2220.11,2311.36,2424.78]      #Energies, 1/cm\n",
+      "g0 = [4,6,8,10,2,4,6,8,10]\n",
+      "\n",
+      "#Calculations\n",
+      "qE = 0.0\n",
+      "for i in range(9):\n",
+      "    a =g0[i]*exp(-h*c*100*E0[i]/(k*T))\n",
+      "    qE = qE + a\n",
+      "\n",
+      "#Results\n",
+      "print 'Electronic partition function for F2 at %4.1f K is %4.2f'%(T, qE)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Electronic partition function for F2 at 298.0 K is 9.45\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter15_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter15_3.ipynb
new file mode 100755
index 00000000..103b8a14
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter15_3.ipynb
@@ -0,0 +1,216 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:6dc49c200858406b9f3434d1ee04fae39e6605a618c992670722f8ceac7e7c3e"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 15: Statistical Thermodyanamics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 15.2, Page Number 362"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "U = 1.00e3            #Total internal energy, J\n",
+      "hnu = 1.00e-20        #Energy level separation, J\n",
+      "NA = 6.022e23         #Avagadro's Number, 1/mol\n",
+      "k = 1.38e-23          #Boltzmann constant, J/K\n",
+      "n = 1                 #Number of moles, mol\n",
+      "\n",
+      "#Calcualtions\n",
+      "T = hnu/(k*log(n*NA*hnu/U-1.))\n",
+      "\n",
+      "#Results\n",
+      "print 'For Internal energy to be %4.1f J temperature will be %4.1f K'%(U,T)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For Internal energy to be 1000.0 J temperature will be 449.0 K\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 15.3, Page Number 367"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declaration\n",
+      "g0 = 3.0              #Ground State partition function\n",
+      "labda = 1263e-9       #Wave length in nm\n",
+      "T = 500.              #Temperature, K\n",
+      "c = 3.00e8            #Speed of light, m/s\n",
+      "NA = 6.022e23         #Avagadro's Number, 1/mol\n",
+      "k = 1.38e-23          #Boltzmann constant, J/K\n",
+      "n = 1.0               #Number of moles, mol\n",
+      "h = 6.626e-34         #Planks's Constant, J.s\n",
+      "\n",
+      "#Calcualtions\n",
+      "beta = 1./(k*T)\n",
+      "eps = h*c/labda\n",
+      "qE = g0 + exp(-beta*eps)\n",
+      "UE = n*NA*eps*exp(-beta*eps)/qE\n",
+      "\n",
+      "#Results\n",
+      "print 'Energy of excited state is %4.2e J'%eps\n",
+      "print 'Electronic partition function qE is %4.3e'%qE\n",
+      "print 'Electronic contribution to internal enrgy is %4.3e J'%UE"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Energy of excited state is 1.57e-19 J\n",
+        "Electronic partition function qE is 3.000e+00\n",
+        "Electronic contribution to internal enrgy is 3.921e-06 J\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 15.5, Page Number 376"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log, pi, sqrt\n",
+      "\n",
+      "#Variable Declaration\n",
+      "Mne = 0.0201797       #Molecular wt of ne, kg/mol     \n",
+      "Mkr = 0.0837980       #Molecular wt of kr, kg/mol\n",
+      "Vmne = 0.0224         #Std. state molar volume of ne, m3\n",
+      "Vmkr = 0.0223         #Std. state molar volume of kr, m3\n",
+      "h = 6.626e-34         #Planks's Constant, J.s\n",
+      "NA = 6.022e23         #Avagadro's Number, 1/mol\n",
+      "k = 1.38e-23          #Boltzmann constant, J/K\n",
+      "T = 298               #Std. state temeprature,K \n",
+      "R = 8.314             #Ideal gas constant, J/(mol.K)\n",
+      "n = 1.0               #Number of mole, mol\n",
+      "\n",
+      "#Calcualtions\n",
+      "mne = Mne/NA\n",
+      "mkr = Mkr/NA\n",
+      "Labdane = sqrt(h**2/(2*pi*mne*k*T))\n",
+      "Labdakr = sqrt(h**2/(2*pi*mkr*k*T))\n",
+      "Sne = 5.*R/2 + R*log(Vmne/Labdane**3)-R*log(NA)\n",
+      "Skr = 5.*R/2 + R*log(Vmkr/Labdakr**3)-R*log(NA)\n",
+      "\n",
+      "#Results\n",
+      "print 'Thermal wave lengths for Ne is %4.2e m3'%Labdane\n",
+      "print 'Std. Molar entropy for Ne is %4.2f J/(mol.K)'%Sne\n",
+      "print 'Thermal wave lengths for Kr is %4.2e m3'%Labdakr\n",
+      "print 'Std. Molar entropy for Kr is %4.2f J/(mol.K)'%Skr"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thermal wave lengths for Ne is 2.25e-11 m3\n",
+        "Std. Molar entropy for Ne is 145.46 J/(mol.K)\n",
+        "Thermal wave lengths for Kr is 1.11e-11 m3\n",
+        "Std. Molar entropy for Kr is 163.18 J/(mol.K)\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 15.8, Page Number 381"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log, pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "M = 0.040             #Moleculat wt of Ar, kg/mol\n",
+      "h = 6.626e-34         #Planks's Constant, J.s\n",
+      "NA = 6.022e23         #Avagadro's Number, 1/mol\n",
+      "k = 1.38e-23          #Boltzmann constant, J/K\n",
+      "T = 298.15            #Std. state temeprature,K \n",
+      "P = 1e5               #Std. state pressure, Pa\n",
+      "R = 8.314             #Ideal gas constant, J/(mol.K)\n",
+      "n = 1.0               #Number of mole, mol\n",
+      "\n",
+      "#Calcualtions\n",
+      "m = M/NA\n",
+      "Labda3 = (h**2/(2*pi*m*k*T))**(3./2)\n",
+      "G0 = -n*R*T*log(k*T/(P*Labda3))\n",
+      "\n",
+      "#Results\n",
+      "print 'Thermal wave lengths for Ne is %4.2e m3'%Labda3\n",
+      "print 'The Gibbs energy for 1 mol of Ar is %6.2f kJ'%(G0/1000)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Thermal wave lengths for Ne is 4.09e-33 m3\n",
+        "The Gibbs energy for 1 mol of Ar is -39.97 kJ\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter16_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter16_3.ipynb
new file mode 100755
index 00000000..ca56b415
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter16_3.ipynb
@@ -0,0 +1,284 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e4f3286f01de06b8e633d17405a3c84337f344a5c6fc5eb4c6bbd0b064d6eee8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 16: Kinetic Theory of Gases"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 16.2, Page Number 400"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt\n",
+      "\n",
+      "#Variable Declaration\n",
+      "R = 8.314         #Ideal Gas Constant, J/(mol.K)\n",
+      "T = 298           #Temperatureof Gas, K\n",
+      "MNe = 0.020       #Molecular wt of Ne, kg/mol\n",
+      "MKr = 0.083       #Molecular wt of Kr, kg/mol\n",
+      "\n",
+      "#Calculations\n",
+      "vmpNe = sqrt(2*R*T/MNe)\n",
+      "vmpKr = sqrt(2*R*T/MKr)\n",
+      "\n",
+      "#Results\n",
+      "print 'Most probable speed of Ne and Krypton at 298 K are %4.0f, %4.0f m/s'%(vmpNe,vmpKr)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Most probable speed of Ne and Krypton at 298 K are  498,  244\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 16.2, Page Number 401"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt,pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "R = 8.314         #Ideal Gas Constant, J/(mol.K)\n",
+      "T = 298           #Temperatureof Gas, K\n",
+      "M = 0.040         #Molecular wt of Ar, kg/mol\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "vmp = sqrt(2*R*T/M)\n",
+      "vave = sqrt(8*R*T/(M*pi))\n",
+      "vrms = sqrt(3*R*T/M)\n",
+      "\n",
+      "#Results\n",
+      "print 'Maximum, average, root mean square speed of Ar\\nat 298 K are %4.0f, %4.0f, %4.0f m/s'%(vmp,vave,vrms)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum, average, root mean square speed of Ar\n",
+        "at 298 K are  352,  397,  431 m/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 16.4, Page Numbe 403"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt,pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "R = 8.314         #Ideal Gas Constant, J/(mol.K)\n",
+      "T = 298           #Temperature of Gas, K\n",
+      "M = 0.040         #Molecular wt of Ar, kg/mol\n",
+      "P = 101325        #Pressure, N/m2\n",
+      "NA = 6.022e23     #Number of particles per mol\n",
+      "V = 1.0           #Volume of Container, L\n",
+      "\n",
+      "#Calculations\n",
+      "Zc = P*NA/sqrt(2*pi*R*T*M)\n",
+      "Nc = Zc*A\n",
+      "#Results\n",
+      "print 'Number of Collisions %4.2e  per s'%(Nc)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of Collisions 2.45e+27  per s\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 16.5, Page Number 404"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt, pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "R = 8.314         #Ideal Gas Constant, J/(mol.K)\n",
+      "T = 298           #Temperature of Gas, K\n",
+      "M = 0.040         #Molecular wt of Ar, kg/mol\n",
+      "P0 = 1013.25      #Pressure, N/m2\n",
+      "NA = 6.022e23     #Number of particles per mol\n",
+      "V = 1.0           #Volume of Container, L\n",
+      "k = 1.38e-23      #Boltzmann constant, J/K\n",
+      "t = 3600          #time of effusion, s\n",
+      "A = 0.01          #Area, um2\n",
+      "\n",
+      "#Calculations\n",
+      "A = A*1e-12\n",
+      "V = V*1e-3\n",
+      "expo = (A*t/V)*(k*T/(2*pi*M/NA))\n",
+      "P = P0*exp(-expo)\n",
+      "#Results\n",
+      "print 'Pressure after 1 hr of effusion is %4.3e Pa'%(P/101325)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Pressure after 1 hr of effusion is 1.00e-02 Pa\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 16.6, Page Number 407"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt, pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "R = 8.314         #Ideal Gas Constant, J/(mol.K)\n",
+      "T = 298           #Temperature of Gas, K\n",
+      "M = 0.044         #Molecular wt of CO2, kg/mol\n",
+      "P  = 101325       #Pressure, N/m2\n",
+      "NA = 6.022e23     #Number of particles per mol\n",
+      "sigm = 5.2e-19    #m2\n",
+      "\n",
+      "#Calculations\n",
+      "zCO2 = (P*NA/(R*T))*sigm*sqrt(2)*sqrt(8*R*T/(pi*M)) \n",
+      "#Results\n",
+      "print 'Single particle collisional frequency is %4.1e per s'%(zCO2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Single particle collisional frequency is 6.9e+09 per s\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 16.7, Page Number 407"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt, pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "R = 8.314         #Ideal Gas Constant, J/(mol.K)\n",
+      "T = 298           #Temperature of Gas, K\n",
+      "MAr = 0.04        #Molecular wt of Ar, kg/mol\n",
+      "MKr = 0.084       #Molecular wt of Kr, kg/mol\n",
+      "pAr  = 360        #Partial Pressure Ar, torr\n",
+      "pKr  = 400        #Partial Pressure Kr, torr\n",
+      "rAr = 0.17e-9     #Hard sphere radius of Ar, m\n",
+      "rKr = 0.20e-9     #Hard sphere radius of Kr, m\n",
+      "NA = 6.022e23     #Number of particles per mol\n",
+      "k = 1.38e-23      #Boltzmann constant, J/K\n",
+      "\n",
+      "#Calculations\n",
+      "pAr = pAr*101325/760\n",
+      "pKr = pKr*101325/760\n",
+      "p1 = pAr*NA/(R*T)\n",
+      "p2 = pKr*NA/(R*T)\n",
+      "sigm = pi*(rAr+rKr)**2\n",
+      "mu = MAr*MKr/((MAr+MKr)*NA)\n",
+      "p3 = sqrt(8*k*T/(pi*mu)) \n",
+      "zArKr = p1*p2*sigm*p3\n",
+      "\n",
+      "#Results\n",
+      "print 'Collisional frequency is %4.2e m-3s-1'%(zArKr)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Collisional frequency is 3.14e+34 m-3s-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter17_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter17_3.ipynb
new file mode 100755
index 00000000..7cd1557e
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter17_3.ipynb
@@ -0,0 +1,506 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:eb5ec1473fe382bc4c20517f981244e27fb89ea55598df7473fff0c3c26d19fc"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 17: Transport Phenomena"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.1, Page Number 417"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from scipy import constants\n",
+      "from math import sqrt,pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "M = 0.040                  #Molecualar wt of Argon, kh/mol\n",
+      "P, T = 101325.0, 298.0     #Pressure and Temperature, Pa, K\n",
+      "sigm = 3.6e-19  #\n",
+      "R = 8.314                  #Molar Gas constant,  mol^-1 K^-1\n",
+      "N_A = 6.02214129e+23       #mol^-1\n",
+      "#Calculations\n",
+      "DAr = (1./3)*sqrt(8*R*T/(pi*M))*(R*T/(P*N_A*sqrt(2)*sigm))\n",
+      "\n",
+      "#Results\n",
+      "print 'Diffusion coefficient of Argon %3.1e m2/s'%DAr"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Diffusion coefficient of Argon 1.1e-05 m2/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.2, Page Number 418"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt\n",
+      "\n",
+      "#Variable Declaration\n",
+      "DHebyAr = 4.0 \n",
+      "MAr, MHe = 39.9, 4.0       #Molecualar wt of Argon and Neon, kg/mol\n",
+      "P, T = 101325.0, 298.0     #Pressure and Temperature, Pa, K\n",
+      "sigm = 3.6e-19  #\n",
+      "R = 8.314                  #Molar Gas constant,  mol^-1 K^-1\n",
+      "N_A = 6.02214129e+23       #mol^-1\n",
+      "#Calculations\n",
+      "sigHebyAr = (1./DHebyAr)*sqrt(MAr/MHe)\n",
+      "\n",
+      "#Results\n",
+      "print 'Ratio of collision cross sections of Helium to Argon %4.3f'%sigHebyAr"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Ratio of collision cross sections of Helium to Argon 0.790\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.3, Page Number 420"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt\n",
+      "\n",
+      "#Variable Declaration\n",
+      "D = 1.0e-5                 #Diffusion coefficient, m2/s \n",
+      "t1 = 1000                  #Time, s\n",
+      "t10 = 10000                #Time, s\n",
+      "\n",
+      "#Calculations\n",
+      "xrms1 = sqrt(2*D*t1)\n",
+      "xrms10 = sqrt(2*D*t10)\n",
+      "\n",
+      "#Results\n",
+      "print 'rms displacement at %4d and %4d is  %4.3f and %4.3f m respectively'%(t1,t10,xrms1,xrms10)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "rms displacement at 1000 and 10000 is  0.141 and 0.447 m respectively\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.4, Page Number 421"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "D = 2.2e-5                 #Diffusion coefficient of benzene, cm2/s \n",
+      "x0 = 0.3                   #molecular diameter of benzene, nm\n",
+      "\n",
+      "#Calculations\n",
+      "t = (x0*1e-9)**2/(2*D*1e-4)\n",
+      "\n",
+      "#Results\n",
+      "print 'Time per random walk is %4.3e s or %4.2f ps'%(t,t/1e-12)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time per random walk is 2.045e-11 s or 20.45 ps\n"
+       ]
+      }
+     ],
+     "prompt_number": 29
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.5, Page Number 424"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt,pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "P = 101325                  #Pressure, Pa\n",
+      "kt = 0.0177                 #Thermal conductivity, J/(K.m.s)\n",
+      "T = 300.0                   #Temperature, K\n",
+      "k = 1.3806488e-23           #Boltzmanconstant,J K^-1\n",
+      "sigm = 3.6e-19  #\n",
+      "R = 8.314                  #Molar Gas constant,  mol^-1 K^-1\n",
+      "NA = 6.02214129e+23        #mol^-1\n",
+      "M = 39.9                   #Molecualar wt of Argon and Neon, kg/mol\n",
+      "\n",
+      "#Calculations\n",
+      "CvmbyNA = 3.*k/2\n",
+      "nuavg = sqrt(8*R*T/(pi*M*1e-3))\n",
+      "N = NA*P/(R*T)\n",
+      "labda = 3*kt/(CvmbyNA*nuavg*N)\n",
+      "sigm = 1/(sqrt(2)*N*labda)\n",
+      "\n",
+      "#Results\n",
+      "print 'Mean free path %4.3e m and collisional cross section %4.2e m2'%(labda, sigm)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Mean free path 2.627e-07 m and collisional cross section 1.10e-19 m2\n"
+       ]
+      }
+     ],
+     "prompt_number": 34
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.6, Page Number 427"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt,pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "eta = 227.                  #Viscosity of Ar, muP\n",
+      "P = 101325                  #Pressure, Pa\n",
+      "kt = 0.0177                 #Thermal conductivity, J/(K.m.s)\n",
+      "T = 300.0                   #Temperature, K\n",
+      "k = 1.3806488e-23           #Boltzmanconstant,J K^-1\n",
+      "R = 8.314                   #Molar Gas constant,  mol^-1 K^-1\n",
+      "NA = 6.02214129e+23         #mol^-1\n",
+      "M = 39.9                    #Molecualar wt of Argon and Neon, kg/mol\n",
+      "\n",
+      "#Calculations\n",
+      "nuavg = sqrt(8*R*T/(pi*M*1e-3))\n",
+      "N = NA*P/(R*T)\n",
+      "m = M*1e-3/NA\n",
+      "labda = 3.*eta*1e-7/(nuavg*N*m)          #viscosity in kg m s units\n",
+      "sigm = 1./(sqrt(2)*N*labda)\n",
+      "\n",
+      "#Results\n",
+      "print 'Collisional cross section %4.2e m2'%(sigm)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Collisional cross section 2.74e-19 m2\n"
+       ]
+      }
+     ],
+     "prompt_number": 48
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.7, Page Number 429"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt,pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "m = 22.7                    #Mass of CO2, kg\n",
+      "T = 293.0                   #Temperature, K\n",
+      "L = 1.0                     #length of the tube, m\n",
+      "d = 0.75                    #Diameter of the tube, mm\n",
+      "eta = 146                   #Viscosity of CO2, muP\n",
+      "p1 = 1.05                   #Inlet pressure, atm\n",
+      "p2 = 1.00                   #Outlet pressure, atm\n",
+      "atm2pa = 101325             #Conversion for pressure from atm to Pa \n",
+      "M = 0.044                   #Molecular wt of CO2, kg/mol\n",
+      "R = 8.314                   #Molar Gas constant,  J mol^-1 K^-1\n",
+      "\n",
+      "#Calculations\n",
+      "p1 = p1*atm2pa\n",
+      "p2 = p2*atm2pa\n",
+      "F = pi*(d*1e-3/2)**4*(p1**2-p2**2)/(16.*eta/1.e7*L*p2)\n",
+      "nCO2 = m/M\n",
+      "v = nCO2*R*T/((p1+p2)/2)\n",
+      "t = v/F\n",
+      "\n",
+      "#Results\n",
+      "print 'Flow rate is %4.3e m3/s'%(F)\n",
+      "print 'Cylinder can be used for %4.3e s nearly %3.1f days'%(t, t/(24*3600))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Flow rate is 2.762e-06 m3/s\n",
+        "Cylinder can be used for 4.381e+06 s nearly 50.7 days\n"
+       ]
+      }
+     ],
+     "prompt_number": 80
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.8, Page Number 431"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt,pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "eta = 0.891                 #Viscosity of hemoglobin in water, cP\n",
+      "T = 298.0                   #Temperature, K\n",
+      "k = 1.3806488e-23           #Boltzmanconstant,J K^-1\n",
+      "R = 8.314                   #Molar Gas constant,  mol^-1 K^-1\n",
+      "D = 6.9e-11                 #Diffusion coefficient, m2/s \n",
+      "\n",
+      "#Calculations\n",
+      "r = k*T/(6*pi*eta*1e-3*D)\n",
+      "\n",
+      "#Results\n",
+      "print 'Radius of protein is %4.3f nm'%(r/1e-9)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Radius of protein is 3.550 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 54
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.9, Page Number 432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import sqrt,pi\n",
+      "\n",
+      "#Variable Declaration\n",
+      "s = 1.91e-13                #Sedimentation constant, s\n",
+      "NA = 6.02214129e+23         #mol^-1\n",
+      "M = 14100.0                 #Molecualr wt of lysozyme, g/mol\n",
+      "rho = 0.998                 #Density of water, kg/m3\n",
+      "eta = 1.002                 #Viscosity lysozyme in water, cP\n",
+      "T = 293.15                  #Temperature, K\n",
+      "vbar = 0.703                #Specific volume of cm3/g\n",
+      "\n",
+      "#Calculations\n",
+      "m = M/NA\n",
+      "f = m*(1.-vbar*rho)/s\n",
+      "r = f/(6*pi*eta)\n",
+      "\n",
+      "#Results\n",
+      "print 'Radius of Lysozyme particle is %4.3f nm'%(r/1e-9)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Radius of Lysozyme particle is 1.937 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 56
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.10, Page Number 433"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from numpy import arange,array,ones,linalg,log, exp\n",
+      "from matplotlib.pylab import plot,show\n",
+      "\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#Variable Declaration\n",
+      "t = array([0.0,30.0,60.0,90.0,120.0,150.0])       #Time, min\n",
+      "xb = array([6.00,6.07,6.14,6.21,6.28,6.35])       #Location of boundary layer, cm\n",
+      "rpm = 55000.                                      #RPM of centrifuge \n",
+      "\n",
+      "#Calculations\n",
+      "nx = xb/xb[0]\n",
+      "lnx = log(nx)\n",
+      "A = array([ t, ones(size(t))])\n",
+      "# linearly generated sequence\n",
+      "[slope, intercept] = linalg.lstsq(A.T,lnx)[0] # obtaining the parameters\n",
+      "# Use w[0] and w[1] for your calculations and give good structure to this ipython notebook\n",
+      "# plotting the line\n",
+      "line = slope*t+intercept # regression line\n",
+      "\n",
+      "#Results\n",
+      "plot(t,line,'-',t,lnx,'o')\n",
+      "xlabel('$ Time, min $')\n",
+      "ylabel('$ \\log(x_b/x_{b0}) $')\n",
+      "show()\n",
+      "sbar = (slope/60)/(rpm*2*pi/60)**2\n",
+      "print 'Slope is %6.2e 1/min or %4.3e 1/s '%(slope, slope/60)\n",
+      "print 'Sedimentation factor is %4.3e s'%(sbar)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x5925330>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slope is 3.78e-04 1/min or 6.299e-06 1/s \n",
+        "Sedimentation factor is 1.899e-13 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 17.11, Page Number 439"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declaration\n",
+      "LMg = 0.0106                #Ionic conductance for Mg, S.m2/mol\n",
+      "LCl = 0.0076                #Ionic conductance for Cl, S.m2/mol\n",
+      "nMg, nCl = 1, 2             #Coefficients of Mg and Cl  \n",
+      "\n",
+      "#Calculations\n",
+      "LMgCl2 = nMg*LMg + nCl*LCl\n",
+      "\n",
+      "#Results\n",
+      "print 'Molar conductivity of MgCl2 on infinite dilution is %5.4f S.m2/mol'%(LMgCl2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Molar conductivity of MgCl2 on infinite dilution is 0.0258 S.m2/mol\n"
+       ]
+      }
+     ],
+     "prompt_number": 59
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter18_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter18_3.ipynb
new file mode 100755
index 00000000..467cd32b
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter18_3.ipynb
@@ -0,0 +1,406 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:0ef872b73cb105a7be234bb44d212c0c8f107dd2d0c831b9af3be8900c626708"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 18: Elementary Chemical Kinetics"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 18.2, Page Number 451"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "Ca0 = [2.3e-4,4.6e-4,9.2e-4]       #Initial Concentration of A, M\n",
+      "Cb0 = [3.1e-5,6.2e-5,6.2e-5]       #Initial Concentration of B, M\n",
+      "Ri  = [5.25e-4,4.2e-3,1.68e-2]     #Initial rate of reaction, M\n",
+      "\n",
+      "#Calculations\n",
+      "alp = log(Ri[1]/Ri[2])/log(Ca0[1]/Ca0[2])\n",
+      "beta = (log(Ri[0]/Ri[1]) - 2*log((Ca0[0]/Ca0[1])))/(log(Cb0[0]/Cb0[1]))\n",
+      "k = Ri[2]/(Ca0[2]**2*Cb0[2]**beta)\n",
+      "\n",
+      "#REsults\n",
+      "print 'Order of reaction with respect to reactant A: %3.2f'%alp\n",
+      "print 'Order of reaction with respect to reactant A: %3.2f'%beta\n",
+      "print 'Rate constant of the reaction: %4.3e 1./(M.s)'%k"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Order of reaction with respect to reactant A: 2.00\n",
+        "Order of reaction with respect to reactant A: 1.00\n",
+        "Rate constant of the reaction: 3.201e+08 1./(M.s)\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 18.3, Page Number 457"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "t1by2 = 2.05e4       #Half life for first order decomposition of N2O5, s\n",
+      "x = 60.              #percentage decay of N2O5\n",
+      "\n",
+      "#Calculations\n",
+      "k = log(2)/t1by2\n",
+      "t = -log(x/100)/k\n",
+      "\n",
+      "#REsults\n",
+      "print 'Rate constant of the reaction: %4.3e 1/s'%k\n",
+      "print 'Timerequire for 60 percent decay of N2O5: %4.3e s'%t"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Rate constant of the reaction: 3.381e-05 1/s\n",
+        "Timerequire for 60 percent decay of N2O5: 1.511e+04 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 18.4, Page Number 457 Incomplete"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "t1by2 = 5760       #Half life for C14, years\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "k = log(2)/t1by2\n",
+      "t = -log(x/100)/k\n",
+      "\n",
+      "#REsults\n",
+      "print 'Rate constant of the reaction: %4.3e 1/s'%k\n",
+      "print 'Timerequire for 60 percent decay of N2O5: %4.3e s'%t"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 18.5, Page Number 463"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "kAbykI = 2.0       #Ratio of rate constants\n",
+      "kA = 0.1           #First order rate constant for rxn 1, 1/s \n",
+      "kI = 0.05          #First order rate constant for rxn 2, 1/s \n",
+      "#Calculations\n",
+      "tmax = 1/(kA-kI)*log(kA/kI)\n",
+      "\n",
+      "#Results\n",
+      "print 'Time required for maximum concentration of A: %4.2f s'%tmax"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Time required for maximum concentration of A: 13.86 s\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 18.7, Page Number 467"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log\n",
+      "\n",
+      "#Variable Declaration\n",
+      "T = 22.0           #Temperature of the reaction,\u00b0C\n",
+      "k1 = 7.0e-4        #Rate constants for rxn 1, 1/s\n",
+      "k2 = 4.1e-3        #Rate constant for rxn 2, 1/s \n",
+      "k3 = 5.7e-3        #Rate constant for rxn 3, 1/s \n",
+      "#Calculations\n",
+      "phiP1 = k1/(k1+k2+k3)\n",
+      "\n",
+      "#Results\n",
+      "print 'Percentage of Benzyl Penicillin that under acid catalyzed reaction by path 1: %4.2f '%(phiP1*100)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Percentage of Benzyl Penicillin that under acid catalyzed reaction by path 1: 6.67 \n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 18.8, Page Number 468"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from numpy import arange,array,ones,linalg,log, exp\n",
+      "from matplotlib.pylab import plot, show\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#Variable Declaration\n",
+      "T = array([22.7,27.2,33.7,38.0])\n",
+      "k1 = array([7.e-4,9.8e-4,1.6e-3,2.e-3])\n",
+      "R = 8.314 \n",
+      "\n",
+      "#Calculations\n",
+      "T = T +273.15\n",
+      "x = 1./T\n",
+      "y = log(k1)\n",
+      "A = array([ x, ones(size(x))])\n",
+      "# linearly generated sequence\n",
+      "[slope, intercept] = linalg.lstsq(A.T,y)[0] # obtaining the parameters\n",
+      "\n",
+      "# Use w[0] and w[1] for your calculations and give good structure to this ipython notebook\n",
+      "# plotting the line\n",
+      "line = slope*x+intercept # regression line\n",
+      "#Results\n",
+      "plot(x,line,'-',x,y,'o')\n",
+      "xlabel('$ 1/T, K^{-1} $')\n",
+      "ylabel('$ log(k) $')\n",
+      "show()\n",
+      "Ea = -slope*R\n",
+      "A = exp(intercept)\n",
+      "print 'Slope and intercept are, %6.1f and %4.2f'%(slope, intercept)\n",
+      "print 'Pre-exponential factor and Activation energy are %4.2f kJ/mol and %4.2e 1/s'%(Ea/1e3, A)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x8fa5f10>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slope and intercept are, -6419.8 and 14.45\n",
+        "Pre-exponential factor and Activation energy are 53.37 kJ/mol and 1.88e+06 1/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 18.9, Page Number 473"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "\n",
+      "#Variable Declaration\n",
+      "Ea = 42.e3      #Activation energy for reaction, J/mol\n",
+      "A  = 1.e12      #Pre-exponential factor for reaction, 1/s\n",
+      "T = 298.0       #Temeprature, K\n",
+      "Kc = 1.0e4      #Equilibrium constant for reaction\n",
+      "R = 8.314       #Ideal gas constant, J/(mol.K)\n",
+      "#Calculations\n",
+      "kB = A*exp(-Ea/(R*T))\n",
+      "kA = kB*Kc\n",
+      "kApp = kA + kB\n",
+      "\n",
+      "#Results\n",
+      "print 'Forward Rate constant is %4.2e 1/s'%kA\n",
+      "print 'Backward Rate constant is %4.2e 1/s'%kB\n",
+      "print 'Apperent Rate constant is %4.2e 1/s'%kApp"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Forward Rate constant is 4.34e+08 1/s\n",
+        "Backward Rate constant is 4.34e+04 1/s\n",
+        "Apperent Rate constant is 4.34e+08 1/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 55
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 18.10, Page Number 480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import pi\n",
+      "#Variable Declaration\n",
+      "Dh = 7.6e-7     #Diffusion coefficient of Hemoglobin, cm2/s\n",
+      "Do2 = 2.2e-5    #Diffusion coefficient of oxygen, cm2/s\n",
+      "rh = 35.        #Radius of Hemoglobin, \u00b0A\n",
+      "ro2 = 2.0       #Radius of Oxygen, \u00b0A\n",
+      "k = 4e7         #Rate constant for binding of O2 to Hemoglobin, 1/(M.s)\n",
+      "NA =6.022e23    #Avagadro Number\n",
+      "#Calculations\n",
+      "DA = Dh + Do2\n",
+      "kd = 4*pi*NA*(rh+ro2)*1e-8*DA\n",
+      "\n",
+      "#Results\n",
+      "print 'Estimated rate %4.1e 1/(M.s) is far grater than experimental value of %4.1e 1/(M.s), \\nhence the reaction is not diffusion controlled'%(kd,k)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Estimated rate 6.4e+13 1/(M.s) is far grater than experimental value of 4.0e+07 1/(M.s), \n",
+        "hence the reaction is not diffusion controlled\n"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem 18.11, Page Number 484"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import log, e\n",
+      "#Variable Declaration\n",
+      "Ea = 104e3      #Activation energy for reaction, J/mol\n",
+      "A  = 1.e13      #Pre-exponential factor for reaction, 1/s\n",
+      "T = 300.0       #Temeprature, K\n",
+      "R = 8.314       #Ideal gas constant, J/(mol.K)\n",
+      "h = 6.626e-34   #Plnak constant, Js\n",
+      "c = 1.0         #Std. State concentration, M\n",
+      "k = 1.38e-23    #,J/K\n",
+      "\n",
+      "#Calculations\n",
+      "dH = Ea - 2*R*T\n",
+      "dS = R*log(A*h*c/(k*T*e**2))\n",
+      "\n",
+      "#Results\n",
+      "print 'Forward Rate constant is %4.2e 1/s'%dH\n",
+      "print 'Backward Rate constant is %4.2f 1/s'%dS"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Forward Rate constant is 9.90e+04 1/s\n",
+        "Backward Rate constant is -12.72 1/s\n"
+       ]
+      }
+     ],
+     "prompt_number": 72
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter19_3.ipynb b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter19_3.ipynb
new file mode 100755
index 00000000..78526d43
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/Chapter19_3.ipynb
@@ -0,0 +1,342 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:4e717dccd3881fc251151e670a02cca0fba87118374ab9969adbd84fab322b22"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 19: Complex Reaction Mechanism "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem: 19.1, Page Number 501"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import numpy as np\n",
+      "from numpy import arange,array,ones,linalg\n",
+      "from matplotlib.pylab import plot,show\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#Variable declaration\n",
+      "Ce = 2.3e-9        #Initial value of enzyme concentration, M\n",
+      "r = array([2.78e-5,5.e-5,8.33e-5,1.67e-4])\n",
+      "CCO2 = array([1.25e-3,2.5e-3,5.e-3,20.e-3])\n",
+      "\n",
+      "#Calculations\n",
+      "rinv = 1./r\n",
+      "CCO2inv = 1./CCO2\n",
+      "xlim(0,850)\n",
+      "ylim(0,38000)\n",
+      "xi = CCO2inv\n",
+      "A = array([ CCO2inv, ones(size(CCO2inv))])\n",
+      "# linearly generated sequence\n",
+      "w = linalg.lstsq(A.T,rinv)[0] # obtaining the parameters\n",
+      "slope = w[0]\n",
+      "intercept = w[1]\n",
+      "\n",
+      "line = w[0]*CCO2inv+w[1] # regression line\n",
+      "plot(CCO2inv,line,'r-',CCO2inv,rinv,'o')\n",
+      "xlabel('$ {C_{CO}}_2, mM^{-1} $')\n",
+      "ylabel('$ Rate^{-1}, s/M^{-1} $')\n",
+      "show()\n",
+      "rmax = 1./intercept\n",
+      "k2 = rmax/Ce\n",
+      "Km = slope*rmax\n",
+      "\n",
+      "#Results\n",
+      "print 'Km and k2 are %4.1f mM and %3.1e s-1'%(Km*1e3,k2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\nF5YyGTPmIUaMGMfKla1p27aGIT88mH5TH0q7OZ51FtxxB2y+ed4xzcwqzoWlDMaMeYihQ+9j7tyL\n1rbNnfBFXo8TAAAKXUlEQVQdOHA5/aZNg512yjGdmVnj8uR9GYwYMW6dogIwd/VfGLnF3i4qZtbi\nuLCUwcqVdXf8Vqxo1chJzMzyV9jCImmepKclTZU0OWtrL2m8pOckjZO0bcnjz5Y0R9JsSX1K2veR\nND2776pKZG3btqbO9nbtVlfi7czMCq2whQUIoCoi9o6I/bO2YcD4iNgdmJDdRlJ34HigO9AXuEZa\nuybKtcDAiOgGdJPUt9xBhwzpQ9euv1inrWvXcxg82GeAmVnLU/TJ+/UXzDoGODQ7vgGoJhWXY4Fb\nI2IVME/S80BvSS8BW0XE5Ow5NwL9gbHlDNmv3yEAjBz5S1asaEW7dqsZPLjv2nYzs5akyIUlgPsl\nrQb+EBH/A3SIiMXZ/YuBDtlxR2BiyXPnAzsBq7LjWguy9rLr1+8QFxIzM4pdWA6MiFclfQYYL2l2\n6Z0REZIip2xmZrYBhS0sEfFq9n2JpH8A+wOLJe0QEYsk7Qi8lj18AbBzydM7kXoqC7Lj0vYFdb3f\n8OHD1x5XVVVRVVVVng9iZtYMVFdXU11dvVGPVUTxfumX9AmgVUS8LemTwDjgfOAIYGlEXCppGLBt\nRAzLJu9vIRWfnYD7gd2yXs0kYAgwGRgDjIiIseu9XxTx52BmVlSSiIg6N44qao+lA/CP7MSu1sBf\nImKcpCeA0ZIGAvOAbwNExExJo4GZQA0wqKRSDAKuB7YA7lm/qJiZWXkVssfS2NxjMTOrn4/qsRT5\nOhYzM2uCXFjMzKysXFjMzKysXFjMzKysXFjMzKysXFjMzKysXFjMzKysXFjMzKysXFjMzKysXFjM\nzKysXFjMzKysXFjMzKysXFjMzKysXFjMzKysXFjMzKysXFjMzKysXFjMzKysXFjMzKysXFjMzKys\nXFjMzKysWkRhkdRX0mxJcySdlXceM7PmrNkXFkmtgKuBvkB34ARJe+abauNVV1fnHWGDipwNip2v\nyNmg2PmcreEaK1+zLyzA/sDzETEvIlYBfwWOzTnTRivyX9QiZ4Ni5ytyNih2PmdrOBeW8tkJeKXk\n9vyszczMKqAlFJbIO4CZWUuiiOb9/66kA4DhEdE3u302sCYiLi15TPP+IZiZVUBEqK72llBYWgPP\n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\nRU5ErkJggg==\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x22b5270>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Km and k2 are 10.0 mM and 1.1e+05 s-1\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem: 19.2, Page Number 507"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from numpy import arange,array,ones,linalg\n",
+      "from matplotlib.pylab import plot,show\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#Variable declaration\n",
+      "Vads = array([5.98,7.76,10.1,12.35,16.45,18.05,19.72,21.1])   #Adsorption data at 193.5K\n",
+      "P = array([2.45,3.5,5.2,7.2,11.2,12.8,14.6,16.1])             #Pressure, torr\n",
+      "\n",
+      "#Calculations\n",
+      "Vinv = 1./Vads\n",
+      "Pinv =1./P\n",
+      "xlim(0,0.5)\n",
+      "ylim(0,0.2)\n",
+      "A = array([ Pinv, ones(size(Pinv))])\n",
+      "# linearly generated sequence\n",
+      "w = linalg.lstsq(A.T,Vinv)[0] # obtaining the parameters\n",
+      "m = w[0]\n",
+      "c = w[1]\n",
+      "line = m*Pinv+c # regression line\n",
+      "plot(Pinv,line,'r-',Pinv,Vinv,'o')\n",
+      "xlabel('$ 1/P, Torr^{-1} $')\n",
+      "ylabel('$ 1/V_{abs}, cm^{-1}g $')\n",
+      "show()\n",
+      "Vm = 1./c\n",
+      "K = 1./(m*Vm)\n",
+      "\n",
+      "#Results\n",
+      "print 'Slope and intercept are %5.4f torr.g/cm3 and %5.4f g/cm3'%(m,c)\n",
+      "print 'K and Vm are %4.2e Torr^-1 and %3.1f cm3/g'%(K,Vm)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x5bde3f0>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slope and intercept are 0.3449 torr.g/cm3 and 0.0293 g/cm3\n",
+        "K and Vm are 8.48e-02 Torr^-1 and 34.2 cm3/g\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem: 19.4, Page Number 520"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from numpy import arange,array,ones,linalg\n",
+      "from matplotlib.pylab import plot,show\n",
+      "%matplotlib inline\n",
+      "\n",
+      "#Variable declaration\n",
+      "CBr = array([0.0005,0.001,0.002,0.003,0.005])                    #C6Br6 concentration, M\n",
+      "tf = array([2.66e-7,1.87e-7,1.17e-7,8.50e-8,5.51e-8])            #Fluroscence life time, s\n",
+      "\n",
+      "#Calculations\n",
+      "Tfinv = 1./tf\n",
+      "xlim(0,0.006)\n",
+      "ylim(0,2.e7)\n",
+      "A = array([ CBr, ones(size(CBr))])\n",
+      "# linearly generated sequence\n",
+      "[m,c] = linalg.lstsq(A.T,Tfinv)[0] # obtaining the parameters\n",
+      "\n",
+      "line = m*CBr+c # regression line\n",
+      "plot(CBr,line,'r-',CBr,Tfinv,'o')\n",
+      "xlabel('$ Br_6C_6, M $')\n",
+      "ylabel('$ tau_f $')\n",
+      "show()\n",
+      "\n",
+      "#Results\n",
+      "print 'Slope and intercept are kq = %5.4e per s and kf = %5.4e per s'%(m,c)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "metadata": {},
+       "output_type": "display_data",
+       "png": "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\n",
+       "text": [
+        "<matplotlib.figure.Figure at 0x5c02050>"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Slope and intercept are kq = 3.1995e+09 per s and kf = 2.1545e+06 per s\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem: 19.5, Page Number 523"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from scipy.optimize import root\n",
+      "\n",
+      "#Variable Declaration\n",
+      "r = 11.          #Distance of residue separation, \u00b0A\n",
+      "r0 = 9.          #Initial Distance of residue separation, \u00b0A\n",
+      "EffD = 0.2      #Fraction decrease in eff\n",
+      "\n",
+      "#Calculations\n",
+      "Effi = r0**6/(r0**6+r**6)\n",
+      "Eff = Effi*(1-EffD)\n",
+      "f = lambda r: r0**6/(r0**6+r**6) - Eff\n",
+      "sol = root(f, 12)\n",
+      "rn = sol.x[0]\n",
+      "\n",
+      "#Results\n",
+      "print 'Separation Distance at decreased efficiency %4.2f'%rn"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Separation Distance at decreased efficiency 11.53\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem: 19.6, Page Number 525"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable Declarations\n",
+      "mr = 2.5e-3        #Moles reacted, mol\n",
+      "P = 100.0          #Irradiation Power, J/s\n",
+      "t = 27             #Time of irradiation, s\n",
+      "h = 6.626e-34      #Planks constant, Js\n",
+      "c = 3.0e8          #Speed of light, m/s\n",
+      "labda = 280e-9     #Wavelength of light, m\n",
+      "\n",
+      "#Calculation\n",
+      "Eabs = P*t\n",
+      "Eph = h*c/labda\n",
+      "nph = Eabs/Eph     #moles of photone\n",
+      "phi = mr/6.31e-3\n",
+      "\n",
+      "#Results\n",
+      "print 'Total photon energy absorbed by sample %3.1e J'%Eabs\n",
+      "print 'Photon energy absorbed at 280 nm is %3.1e J'%Eph\n",
+      "print 'Total number of photon absorbed by sample %3.1e photones'%nph\n",
+      "print 'Overall quantum yield %4.2f'%phi"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total photon energy absorbed by sample 2.7e+03 J\n",
+        "Photon energy absorbed at 280 nm is 7.1e-19 J\n",
+        "Total number of photon absorbed by sample 3.8e+21 photones\n",
+        "Overall quantum yield 0.40\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Problem: 19.7, Page Number 530"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from math import exp\n",
+      "#Variable Declarations\n",
+      "r = 2.0e9          #Rate constant for electron transfer, per s\n",
+      "labda = 1.2        #Gibss energy change, eV\n",
+      "DG = -1.93         #Gibss energy change for 2-naphthoquinoyl, eV\n",
+      "k = 1.38e-23       #Boltzman constant, J/K\n",
+      "T = 298.0          #Temeprature, K\n",
+      "#Calculation\n",
+      "DGS = (DG+labda)**2/(4*labda)\n",
+      "k193 = r*exp(-DGS*1.6e-19/(k*T))\n",
+      "#Results\n",
+      "print 'DGS = %5.3f eV'%DGS\n",
+      "print 'Rate constant with barrier to electron transfer %3.2e per s'%k193"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "DGS = 0.111 eV\n",
+        "Rate constant with barrier to electron transfer 2.66e+07 per s\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/README.txt b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/README.txt
new file mode 100755
index 00000000..e3557cf0
--- /dev/null
+++ b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/README.txt
@@ -0,0 +1,10 @@
+Contributed By: Chandrashekhar Gourshete
+Course: btech
+College/Institute/Organization: Dr. Babasaheb Ambedkar Marathwada University, Aurangabad
+Department/Designation: Dept of Chemical Technology
+Book Title: Thermodynamics, Statistical Thermodynamics, & Kinetics
+Author: Thomas Engle and Philip Reid
+Publisher: Pearson Precntice Hall, New York
+Year of publication: 2010
+Isbn: ISBN 13 978-0-321-61503-9  or ISBN 10 0-321-61503-
+Edition: Second Edition
\ No newline at end of file
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_03_3.png b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_03_3.png
new file mode 100755
index 00000000..340910e9
Binary files /dev/null and b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_03_3.png differ
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_09_3.png b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_09_3.png
new file mode 100755
index 00000000..57ee746b
Binary files /dev/null and b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_09_3.png differ
diff --git a/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_18_3.png b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_18_3.png
new file mode 100755
index 00000000..023be802
Binary files /dev/null and b/Thermodynamics,_Statistical_Thermodynamics,_&_Kinetics/screenshots/Chapter_18_3.png differ
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter10.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter10.ipynb
deleted file mode 100755
index b5e1628e..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter10.ipynb
+++ /dev/null
@@ -1,173 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2af45763cdabb4c15384bcd3c0f85ef0384f4698a0a51376cf62b1a662fc76dc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter10-Availbility,exergy and irreversibilitiy"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 180"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work of the water and heat interaction of the water and aximum work done\n",
-      "##initialisation of variables\n",
-      "m= 2 ##kg\n",
-      "p= 200 ##kPa\n",
-      "v2= 0.9596 ##m^3/kg\n",
-      "v1= 0.001 ##m^3/kg\n",
-      "u2= 2768.8 ##kJ/kg\n",
-      "u1= 83.96 ##kJ/kg\n",
-      "T= 20 ##C\n",
-      "u3= 2576.9 ##kJ/kg\n",
-      "s2= 7.2795 ##kJ/kg K\n",
-      "s1= 0.2966 ##kJ/kg K\n",
-      "Tr= 150 ##C\n",
-      "##CALCULATIONS\n",
-      "W= m*p*(v2-v1)\n",
-      "Q= m*(u2-u1)\n",
-      "A= m*((u3-u1)-(273.15+T)*(s2-s1))\n",
-      "Ar= -Q*(1-((273.15+T)/(273.15+Tr)))\n",
-      "Wrep= -(A+Ar)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work of the water =',W,'kJ')\n",
-      "print'%s %.1f %s'% ('Heat interaction of the water =',Q,'kJ')\n",
-      "print'%s %.1f %s'%('maximum work done =',Wrep,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the water = 383.4 kJ\n",
-        "Heat interaction of the water = 5369.7 kJ\n",
-        "maximum work done = 757.9 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 182"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate irreversibility of the processes\n",
-      "##initialisation of variables\n",
-      "Wrev= 757.8 ##kJ\n",
-      "W= 383.4 ##kJ\n",
-      "m= 2 ##kg\n",
-      "s2= 7.2795 ##kJ/kg K\n",
-      "s1= 0.2966  ##kJ/kg K\n",
-      "Qr= 5369.7 ##kJ\n",
-      "T= 150 ##C\n",
-      "T0= 20 ##C\n",
-      "##CALCULATIONS\n",
-      "I= Wrev-W\n",
-      "dS= m*(s2-s1)\n",
-      "Sr= -Qr/(273.15+T)\n",
-      "I1= (273.15+T0)*(dS+Sr)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Irreversibility of the process=',I1,'kJ')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Irreversibility of the process= 374.1 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg192"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate mass flow rates and wmax and irreversibility\n",
-      "import math\n",
-      "##initialisation of variables\n",
-      "h3= 2793.2 ##kJ/kg\n",
-      "h2= 1342.3 ##kJ/kg\n",
-      "h1= 2993.5 ##kJ/kg\n",
-      "m3= 2.5 ##kg/s\n",
-      "b1= 1043.9 ##kJ/kg\n",
-      "b2= 374.24 ##kJ/kg\n",
-      "b3= 875.41 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "m1= m3*((h3-h2)/(h1-h2))\n",
-      "m2= m3*((h3-h1)/(h2-h1))\n",
-      "Bin= (m1*b1+m2*b2)\n",
-      "Bout= m3*b3\n",
-      "B= Bin-Bout\n",
-      "Wmax= B\n",
-      "I= B\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('mass flow rate=',m1,'kg/s')\n",
-      "print'%s %.3f %s'%('mass flow rate=',m2,'kg/s')\n",
-      "print'%s %.3f %s'%('Wmax=',Wmax,'kg/s')\n",
-      "print'%s %.1f %s'%('Irreversibility=',Wmax,'kW')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass flow rate= 2.197 kg/s\n",
-        "mass flow rate= 0.303 kg/s\n",
-        "Wmax= 218.141 kg/s\n",
-        "Irreversibility= 218.1 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter10_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter10_1.ipynb
deleted file mode 100755
index b5e1628e..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter10_1.ipynb
+++ /dev/null
@@ -1,173 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2af45763cdabb4c15384bcd3c0f85ef0384f4698a0a51376cf62b1a662fc76dc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter10-Availbility,exergy and irreversibilitiy"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 180"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work of the water and heat interaction of the water and aximum work done\n",
-      "##initialisation of variables\n",
-      "m= 2 ##kg\n",
-      "p= 200 ##kPa\n",
-      "v2= 0.9596 ##m^3/kg\n",
-      "v1= 0.001 ##m^3/kg\n",
-      "u2= 2768.8 ##kJ/kg\n",
-      "u1= 83.96 ##kJ/kg\n",
-      "T= 20 ##C\n",
-      "u3= 2576.9 ##kJ/kg\n",
-      "s2= 7.2795 ##kJ/kg K\n",
-      "s1= 0.2966 ##kJ/kg K\n",
-      "Tr= 150 ##C\n",
-      "##CALCULATIONS\n",
-      "W= m*p*(v2-v1)\n",
-      "Q= m*(u2-u1)\n",
-      "A= m*((u3-u1)-(273.15+T)*(s2-s1))\n",
-      "Ar= -Q*(1-((273.15+T)/(273.15+Tr)))\n",
-      "Wrep= -(A+Ar)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work of the water =',W,'kJ')\n",
-      "print'%s %.1f %s'% ('Heat interaction of the water =',Q,'kJ')\n",
-      "print'%s %.1f %s'%('maximum work done =',Wrep,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the water = 383.4 kJ\n",
-        "Heat interaction of the water = 5369.7 kJ\n",
-        "maximum work done = 757.9 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 182"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate irreversibility of the processes\n",
-      "##initialisation of variables\n",
-      "Wrev= 757.8 ##kJ\n",
-      "W= 383.4 ##kJ\n",
-      "m= 2 ##kg\n",
-      "s2= 7.2795 ##kJ/kg K\n",
-      "s1= 0.2966  ##kJ/kg K\n",
-      "Qr= 5369.7 ##kJ\n",
-      "T= 150 ##C\n",
-      "T0= 20 ##C\n",
-      "##CALCULATIONS\n",
-      "I= Wrev-W\n",
-      "dS= m*(s2-s1)\n",
-      "Sr= -Qr/(273.15+T)\n",
-      "I1= (273.15+T0)*(dS+Sr)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Irreversibility of the process=',I1,'kJ')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Irreversibility of the process= 374.1 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg192"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate mass flow rates and wmax and irreversibility\n",
-      "import math\n",
-      "##initialisation of variables\n",
-      "h3= 2793.2 ##kJ/kg\n",
-      "h2= 1342.3 ##kJ/kg\n",
-      "h1= 2993.5 ##kJ/kg\n",
-      "m3= 2.5 ##kg/s\n",
-      "b1= 1043.9 ##kJ/kg\n",
-      "b2= 374.24 ##kJ/kg\n",
-      "b3= 875.41 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "m1= m3*((h3-h2)/(h1-h2))\n",
-      "m2= m3*((h3-h1)/(h2-h1))\n",
-      "Bin= (m1*b1+m2*b2)\n",
-      "Bout= m3*b3\n",
-      "B= Bin-Bout\n",
-      "Wmax= B\n",
-      "I= B\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('mass flow rate=',m1,'kg/s')\n",
-      "print'%s %.3f %s'%('mass flow rate=',m2,'kg/s')\n",
-      "print'%s %.3f %s'%('Wmax=',Wmax,'kg/s')\n",
-      "print'%s %.1f %s'%('Irreversibility=',Wmax,'kW')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass flow rate= 2.197 kg/s\n",
-        "mass flow rate= 0.303 kg/s\n",
-        "Wmax= 218.141 kg/s\n",
-        "Irreversibility= 218.1 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter10_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter10_2.ipynb
deleted file mode 100755
index b5e1628e..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter10_2.ipynb
+++ /dev/null
@@ -1,173 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2af45763cdabb4c15384bcd3c0f85ef0384f4698a0a51376cf62b1a662fc76dc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter10-Availbility,exergy and irreversibilitiy"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 180"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work of the water and heat interaction of the water and aximum work done\n",
-      "##initialisation of variables\n",
-      "m= 2 ##kg\n",
-      "p= 200 ##kPa\n",
-      "v2= 0.9596 ##m^3/kg\n",
-      "v1= 0.001 ##m^3/kg\n",
-      "u2= 2768.8 ##kJ/kg\n",
-      "u1= 83.96 ##kJ/kg\n",
-      "T= 20 ##C\n",
-      "u3= 2576.9 ##kJ/kg\n",
-      "s2= 7.2795 ##kJ/kg K\n",
-      "s1= 0.2966 ##kJ/kg K\n",
-      "Tr= 150 ##C\n",
-      "##CALCULATIONS\n",
-      "W= m*p*(v2-v1)\n",
-      "Q= m*(u2-u1)\n",
-      "A= m*((u3-u1)-(273.15+T)*(s2-s1))\n",
-      "Ar= -Q*(1-((273.15+T)/(273.15+Tr)))\n",
-      "Wrep= -(A+Ar)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work of the water =',W,'kJ')\n",
-      "print'%s %.1f %s'% ('Heat interaction of the water =',Q,'kJ')\n",
-      "print'%s %.1f %s'%('maximum work done =',Wrep,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the water = 383.4 kJ\n",
-        "Heat interaction of the water = 5369.7 kJ\n",
-        "maximum work done = 757.9 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 182"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate irreversibility of the processes\n",
-      "##initialisation of variables\n",
-      "Wrev= 757.8 ##kJ\n",
-      "W= 383.4 ##kJ\n",
-      "m= 2 ##kg\n",
-      "s2= 7.2795 ##kJ/kg K\n",
-      "s1= 0.2966  ##kJ/kg K\n",
-      "Qr= 5369.7 ##kJ\n",
-      "T= 150 ##C\n",
-      "T0= 20 ##C\n",
-      "##CALCULATIONS\n",
-      "I= Wrev-W\n",
-      "dS= m*(s2-s1)\n",
-      "Sr= -Qr/(273.15+T)\n",
-      "I1= (273.15+T0)*(dS+Sr)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Irreversibility of the process=',I1,'kJ')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Irreversibility of the process= 374.1 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg192"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate mass flow rates and wmax and irreversibility\n",
-      "import math\n",
-      "##initialisation of variables\n",
-      "h3= 2793.2 ##kJ/kg\n",
-      "h2= 1342.3 ##kJ/kg\n",
-      "h1= 2993.5 ##kJ/kg\n",
-      "m3= 2.5 ##kg/s\n",
-      "b1= 1043.9 ##kJ/kg\n",
-      "b2= 374.24 ##kJ/kg\n",
-      "b3= 875.41 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "m1= m3*((h3-h2)/(h1-h2))\n",
-      "m2= m3*((h3-h1)/(h2-h1))\n",
-      "Bin= (m1*b1+m2*b2)\n",
-      "Bout= m3*b3\n",
-      "B= Bin-Bout\n",
-      "Wmax= B\n",
-      "I= B\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('mass flow rate=',m1,'kg/s')\n",
-      "print'%s %.3f %s'%('mass flow rate=',m2,'kg/s')\n",
-      "print'%s %.3f %s'%('Wmax=',Wmax,'kg/s')\n",
-      "print'%s %.1f %s'%('Irreversibility=',Wmax,'kW')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass flow rate= 2.197 kg/s\n",
-        "mass flow rate= 0.303 kg/s\n",
-        "Wmax= 218.141 kg/s\n",
-        "Irreversibility= 218.1 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter10_Availbility,exergy_and_irreversibilitiy.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter10_Availbility,exergy_and_irreversibilitiy.ipynb
deleted file mode 100755
index b5e1628e..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter10_Availbility,exergy_and_irreversibilitiy.ipynb
+++ /dev/null
@@ -1,173 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2af45763cdabb4c15384bcd3c0f85ef0384f4698a0a51376cf62b1a662fc76dc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter10-Availbility,exergy and irreversibilitiy"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 180"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work of the water and heat interaction of the water and aximum work done\n",
-      "##initialisation of variables\n",
-      "m= 2 ##kg\n",
-      "p= 200 ##kPa\n",
-      "v2= 0.9596 ##m^3/kg\n",
-      "v1= 0.001 ##m^3/kg\n",
-      "u2= 2768.8 ##kJ/kg\n",
-      "u1= 83.96 ##kJ/kg\n",
-      "T= 20 ##C\n",
-      "u3= 2576.9 ##kJ/kg\n",
-      "s2= 7.2795 ##kJ/kg K\n",
-      "s1= 0.2966 ##kJ/kg K\n",
-      "Tr= 150 ##C\n",
-      "##CALCULATIONS\n",
-      "W= m*p*(v2-v1)\n",
-      "Q= m*(u2-u1)\n",
-      "A= m*((u3-u1)-(273.15+T)*(s2-s1))\n",
-      "Ar= -Q*(1-((273.15+T)/(273.15+Tr)))\n",
-      "Wrep= -(A+Ar)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work of the water =',W,'kJ')\n",
-      "print'%s %.1f %s'% ('Heat interaction of the water =',Q,'kJ')\n",
-      "print'%s %.1f %s'%('maximum work done =',Wrep,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the water = 383.4 kJ\n",
-        "Heat interaction of the water = 5369.7 kJ\n",
-        "maximum work done = 757.9 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 182"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate irreversibility of the processes\n",
-      "##initialisation of variables\n",
-      "Wrev= 757.8 ##kJ\n",
-      "W= 383.4 ##kJ\n",
-      "m= 2 ##kg\n",
-      "s2= 7.2795 ##kJ/kg K\n",
-      "s1= 0.2966  ##kJ/kg K\n",
-      "Qr= 5369.7 ##kJ\n",
-      "T= 150 ##C\n",
-      "T0= 20 ##C\n",
-      "##CALCULATIONS\n",
-      "I= Wrev-W\n",
-      "dS= m*(s2-s1)\n",
-      "Sr= -Qr/(273.15+T)\n",
-      "I1= (273.15+T0)*(dS+Sr)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Irreversibility of the process=',I1,'kJ')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Irreversibility of the process= 374.1 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg192"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate mass flow rates and wmax and irreversibility\n",
-      "import math\n",
-      "##initialisation of variables\n",
-      "h3= 2793.2 ##kJ/kg\n",
-      "h2= 1342.3 ##kJ/kg\n",
-      "h1= 2993.5 ##kJ/kg\n",
-      "m3= 2.5 ##kg/s\n",
-      "b1= 1043.9 ##kJ/kg\n",
-      "b2= 374.24 ##kJ/kg\n",
-      "b3= 875.41 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "m1= m3*((h3-h2)/(h1-h2))\n",
-      "m2= m3*((h3-h1)/(h2-h1))\n",
-      "Bin= (m1*b1+m2*b2)\n",
-      "Bout= m3*b3\n",
-      "B= Bin-Bout\n",
-      "Wmax= B\n",
-      "I= B\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('mass flow rate=',m1,'kg/s')\n",
-      "print'%s %.3f %s'%('mass flow rate=',m2,'kg/s')\n",
-      "print'%s %.3f %s'%('Wmax=',Wmax,'kg/s')\n",
-      "print'%s %.1f %s'%('Irreversibility=',Wmax,'kW')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass flow rate= 2.197 kg/s\n",
-        "mass flow rate= 0.303 kg/s\n",
-        "Wmax= 218.141 kg/s\n",
-        "Irreversibility= 218.1 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter11.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter11.ipynb
deleted file mode 100755
index 35f097c3..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter11.ipynb
+++ /dev/null
@@ -1,468 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:a15297e2995d0ee44a3db61bf50b4aac4f8b03ecce59bf2a69c1f32113289b28"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter11-power and refrigeration cycles"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 203"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and effieceny and carnot efficency\n",
-      "##initialisation of variables\n",
-      "h1= 251.4 ##kJ/kg\n",
-      "v= 0.001017 ##m^3/kg\n",
-      "p2= 2000. ##Mpa\n",
-      "p1= 20. ##Mpa\n",
-      "h2= 253.4\n",
-      "h3= 3247.6 ##kJ/kg\n",
-      "h4= 2349.3 ##kJ/kg\n",
-      "Tc= 60.06 ##C\n",
-      "Th= 400. ##C\n",
-      "##CALCULATIONS\n",
-      "h2= h1+v*(2-p1)\n",
-      "q12= 0.\n",
-      "w12= h1-h2\n",
-      "q23= h3-h2\n",
-      "w23= 0.\n",
-      "q34= 0.\n",
-      "w34= h3-h4\n",
-      "q41= h1-h4\n",
-      "qnet= q12+q23+q34+q41\n",
-      "wnet= w12+w23+w34\n",
-      "n= wnet/q23\n",
-      "ncarnot= 1-((273.15+Tc)/(273.15+Th))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('enthalpy=',h2,'kJ/kg')\n",
-      "print'%s %.3f %s'%('efficiency=',n,'')\n",
-      "print'%s %.3f %s'%('carnot efficiency=',ncarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy= 251.4 kJ/kg\n",
-        "efficiency= 0.300 \n",
-        "carnot efficiency= 0.505 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg206"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat and effiecency and steam mass flow rate\n",
-      "##initialisation of variables\n",
-      "h3= 3247.4 ##kJ/kg\n",
-      "h4= 2439.1 ##kJ/kg\n",
-      "h1= 251.4 ##kJ/kg\n",
-      "h2= 253.9 ##kJ/kg\n",
-      "P= 100000 ##kW\n",
-      "##CALCULATIONS\n",
-      "wnet= h3-h4+h1-h2\n",
-      "qh= h3-h2\n",
-      "qc= h1-h4\n",
-      "n= wnet/qh\n",
-      "m= P/wnet\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('work=',wnet,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('heat=',qh,'kJ/kg')\n",
-      "print'%s %.1f %s'%('heat=',qc,'kJ/kg')\n",
-      "print'%s %.4f %s'%('efficiency=',n,'')\n",
-      "print'%s %.2f %s'%('steam mass flow rate=',m,'kg/s')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work= 806 kJ/kg\n",
-        "heat= 2993.5 kJ/kg\n",
-        "heat= -2187.7 kJ/kg\n",
-        "efficiency= 0.2692 \n",
-        "steam mass flow rate= 124.10 kg/s\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 208"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate qualitys and efficiency and mass flow rate and diameter\n",
-      "##initialisation of variables\n",
-      "h11= 2786.2 ##kJ/kg\n",
-      "h12= 340.5 ##kJ/kg\n",
-      "h7= 327.9 ##kJ/kg\n",
-      "h6= 169.0 ##kJ/kg\n",
-      "h10= 756.7 ##kJ/kg\n",
-      "h9= 480.9 ##kJkg\n",
-      "h14= 2818 ##kJ.kg\n",
-      "h15= 762.8 ##kJ/kg\n",
-      "h8= 462.7 ##kJ/kg\n",
-      "h13= 2974.5 ##kJ/kg\n",
-      "h5= 168.8 ##kJ/kg\n",
-      "P= 150. ##kW\n",
-      "v1= 0.02293 ##m^3/kg\n",
-      "v= 40. ##m/s\n",
-      "h1= 3448.6 ##kJ/kg\n",
-      "h3= 3478.5 ##kJ/kg\n",
-      "h2= 2818 ##kJ/kg\n",
-      "h4= 2527.1 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "y1= (h10-h9)/(h14-h15)\n",
-      "y2= ((h8-h7)-y1*(h15-h7))/(h13-h7)\n",
-      "y3= (h7-h6)*(1-y1-y2)/(h11-h12)\n",
-      "qin= h1-h10+(1-y1)*(h3-h2)\n",
-      "qout= (h5-h4)*(1-y1-y2)+y3*(h4-h12)\n",
-      "wnet= qin+qout\n",
-      "n= wnet*100/qin\n",
-      "m1= P*1000/wnet\n",
-      "A1= m1*v1/v\n",
-      "D= math.sqrt(4*A1/math.pi)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%(' quality=',y1,'')\n",
-      "print'%s %.4f %s'%('quality=',y2,'')\n",
-      "print'%s %.4f %s'%('quality=',y3,'')\n",
-      "print'%s %.2f %s'%('efficiency=',n,'percent')\n",
-      "print'%s %.2f %s'%('mass flow rate=',m1,'kg/s')\n",
-      "print'%s %.3f %s'%(' diameter=',D,'m')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " quality= 0.1342 \n",
-        "quality= 0.0289 \n",
-        "quality= 0.0544 \n",
-        "efficiency= 43.17 percent\n",
-        "mass flow rate= 106.46 kg/s\n",
-        " diameter= 0.279 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 213"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate effieciency and power and temperature at the exist\n",
-      "##initialisation of variables\n",
-      "T= 300. ##K\n",
-      "P= 100. ##kPa\n",
-      "r= 4.\n",
-      "T1= 1200. ##K\n",
-      "m= 5. ##kg/s\n",
-      "k= 1.4\n",
-      "R= 8.314 ##jmol K\n",
-      "M= 29. ##gms\n",
-      "##CALCULATIONS\n",
-      "T2= T*math.pow(r,(k-1)/k)\n",
-      "T4= T1/math.pow(r,(k-1)/k)\n",
-      "n= 1-(T/T2)\n",
-      "wnet= (k*R/((k-1)*M))*(T1-T4+T-T2)\n",
-      "P= m*wnet\n",
-      "e= math.sqrt((T2-T)/(T1-T4))\n",
-      "T5= T+((T2-T)/e)\n",
-      "T6= T1+e*(T4-T1)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('efficiency=',n,'')\n",
-      "print'%s %.f %s'%('power=',P,'kW')\n",
-      "print'%s %.4f %s'%('efficiency=',e,'')\n",
-      "print'%s %.1f %s'%('temperature at the exit=',T6,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "efficiency= 0.3270 \n",
-        "power= 1238 kW\n",
-        "efficiency= 0.6095 \n",
-        "temperature at the exit= 960.8 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg217"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##initialisation of variables\n",
-      "v= 810. ##km/h\n",
-      "v1= 40. ##m/sec\n",
-      "cp= 1003. ##J/k mol\n",
-      "T0= 300. ##K\n",
-      "ec= 0.88\n",
-      "k= 1.4\n",
-      "T3= 1473.15 ##K\n",
-      "p3= 600. ##kPa\n",
-      "p0= 26.4 ##kPa\n",
-      "e= 0.9\n",
-      "m= 90. ##kg\n",
-      "cp1= 1.003 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "v0= v*1000/3600.\n",
-      "T1= T0+((v0**2-v1**2)/(2*cp))\n",
-      "T1s= T0+ec*(T0-T1)\n",
-      "p1= 36.79 #kPa\n",
-      "p2= 600 #kPa\n",
-      "T2s= T1*(p2/p1)**((k-1)/k)\n",
-      "T2= T1+((T2s-T1)/ec)\n",
-      "T21= T1+(T2s-T1)/ec\n",
-      "T4= T3+T0-T21\n",
-      "T4s= T3+(T4-T3)/ec\n",
-      "p4= p3*(T4s/T3)\n",
-      "T5s= p4+(p0-p4)*e\n",
-      "W34= m*cp1*(T3-T4)\n",
-      "v5= math.sqrt(v1**2+2*cp*(T4-T5s))\n",
-      "F= m*(v5-v0)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('T5=',T4s,'K ')\n",
-      "print'%s %.f %s'% ('Work=',W34,'kW ')\n",
-      "print'%s %.1f %s'% ('nozzle velocity=',v5,'m/s')\n",
-      "print'%s %.f %s'% ('thrust force=',F,'N')\n",
-      "\n",
-      "##ANSWERS GIVEN IN THE TEXTBOOK ARE WRONG\n",
-      "\n",
-      "##RESULTS\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "T5= 934.14 K \n",
-        "Work= 42818 kW \n",
-        "nozzle velocity= 1371.6 m/s\n",
-        "thrust force= 103193 N\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg225"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate COP and power and COP at given enthalpy\n",
-      "##initialisation of variables\n",
-      "h1= 182.07 ##kJ/kg\n",
-      "h4= 76.26 ##kJ/kg\n",
-      "h2= 217.97 ##kJ/kg\n",
-      "Q= math.pow(10,6) ##kJ/h\n",
-      "Tc= -5 ##C\n",
-      "Th= 32 ##C\n",
-      "##CALCULATIONS\n",
-      "COP= (h1-h4)/(h2-h1)\n",
-      "W= Q/(COP*3600)\n",
-      "COPcarnot= (273.15+Tc)/(Th-Tc)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('COP= ',COP,'')\n",
-      "print'%s %.3f %s'% ('power=',W,'KW')\n",
-      "print'%s %.3f %s'% ('COP=',COPcarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "COP=  2.947 \n",
-        "power= 94.247 KW\n",
-        "COP= 7.247 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg227"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate COPs and WORK at given variable\n",
-      "##initialisation of variables\n",
-      "h1= 183.12 ##kJ/kg\n",
-      "h4= 75.588 ##kJ/kg\n",
-      "h2= 218.697 ##kJ/kg\n",
-      "nm=0.94\n",
-      "Qc= 6 ##kW\n",
-      "h4a= 45.343 ##kJ/kg\n",
-      "h2a= 257.283 ##kJ/kg\n",
-      "h1a= 213.427 ##kJ/kg \n",
-      "##CALCULATIONS\n",
-      "COP= (h1-h4)*nm/(h2-h1)\n",
-      "W= Qc/COP\n",
-      "COP1= (h1-h4a)*nm/(h2a-h1a)\n",
-      "W1= Qc/COP1\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('COP=',COP,'')\n",
-      "print'%s %.3f %s'% ('COP=',COP1,'')\n",
-      "print'%s %.3f %s'% ('Work=',W,'kW')\n",
-      "print'%s %.3f %s'% ('Work=',W1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "COP= 2.841 \n",
-        "COP= 2.953 \n",
-        "Work= 2.112 kW\n",
-        "Work= 2.032 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg228"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate COP and W\n",
-      "##initialisation of variables\n",
-      "h1= 1404.6 ##kJ/kg\n",
-      "h2s= 1748.9 ##kJ/kg\n",
-      "ec= 0.8\n",
-      "h4= 322.9 ##kJ/kg\n",
-      "h2= 1835 ##kJ/kg\n",
-      "Q= 100 ##kW\n",
-      "h21= 1649.2 ##kJ/kg\n",
-      "h22= 1515 ##kJ/kg\n",
-      "h23= 1678.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "h2= h1+((h2s-h1)/ec)\n",
-      "COP= (h1-h4)/(h2-h1)\n",
-      "W= Q/COP\n",
-      "COP1= (h1-h4)/(h21-h1+h23-h22)\n",
-      "W1= Q/COP1\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%  (' COP=',COP,'')\n",
-      "print'%s %.3f %s'% ('COP=',COP1,'')\n",
-      "print'%s %.1f %s'% ('W= ',W,'kW')\n",
-      "print'%s %.1f %s'% ('W=',W1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " COP= 2.513 \n",
-        "COP= 2.649 \n",
-        "W=  39.8 kW\n",
-        "W= 37.8 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter11_.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter11_.ipynb
deleted file mode 100755
index 35f097c3..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter11_.ipynb
+++ /dev/null
@@ -1,468 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:a15297e2995d0ee44a3db61bf50b4aac4f8b03ecce59bf2a69c1f32113289b28"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter11-power and refrigeration cycles"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 203"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and effieceny and carnot efficency\n",
-      "##initialisation of variables\n",
-      "h1= 251.4 ##kJ/kg\n",
-      "v= 0.001017 ##m^3/kg\n",
-      "p2= 2000. ##Mpa\n",
-      "p1= 20. ##Mpa\n",
-      "h2= 253.4\n",
-      "h3= 3247.6 ##kJ/kg\n",
-      "h4= 2349.3 ##kJ/kg\n",
-      "Tc= 60.06 ##C\n",
-      "Th= 400. ##C\n",
-      "##CALCULATIONS\n",
-      "h2= h1+v*(2-p1)\n",
-      "q12= 0.\n",
-      "w12= h1-h2\n",
-      "q23= h3-h2\n",
-      "w23= 0.\n",
-      "q34= 0.\n",
-      "w34= h3-h4\n",
-      "q41= h1-h4\n",
-      "qnet= q12+q23+q34+q41\n",
-      "wnet= w12+w23+w34\n",
-      "n= wnet/q23\n",
-      "ncarnot= 1-((273.15+Tc)/(273.15+Th))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('enthalpy=',h2,'kJ/kg')\n",
-      "print'%s %.3f %s'%('efficiency=',n,'')\n",
-      "print'%s %.3f %s'%('carnot efficiency=',ncarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy= 251.4 kJ/kg\n",
-        "efficiency= 0.300 \n",
-        "carnot efficiency= 0.505 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg206"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat and effiecency and steam mass flow rate\n",
-      "##initialisation of variables\n",
-      "h3= 3247.4 ##kJ/kg\n",
-      "h4= 2439.1 ##kJ/kg\n",
-      "h1= 251.4 ##kJ/kg\n",
-      "h2= 253.9 ##kJ/kg\n",
-      "P= 100000 ##kW\n",
-      "##CALCULATIONS\n",
-      "wnet= h3-h4+h1-h2\n",
-      "qh= h3-h2\n",
-      "qc= h1-h4\n",
-      "n= wnet/qh\n",
-      "m= P/wnet\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('work=',wnet,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('heat=',qh,'kJ/kg')\n",
-      "print'%s %.1f %s'%('heat=',qc,'kJ/kg')\n",
-      "print'%s %.4f %s'%('efficiency=',n,'')\n",
-      "print'%s %.2f %s'%('steam mass flow rate=',m,'kg/s')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work= 806 kJ/kg\n",
-        "heat= 2993.5 kJ/kg\n",
-        "heat= -2187.7 kJ/kg\n",
-        "efficiency= 0.2692 \n",
-        "steam mass flow rate= 124.10 kg/s\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 208"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate qualitys and efficiency and mass flow rate and diameter\n",
-      "##initialisation of variables\n",
-      "h11= 2786.2 ##kJ/kg\n",
-      "h12= 340.5 ##kJ/kg\n",
-      "h7= 327.9 ##kJ/kg\n",
-      "h6= 169.0 ##kJ/kg\n",
-      "h10= 756.7 ##kJ/kg\n",
-      "h9= 480.9 ##kJkg\n",
-      "h14= 2818 ##kJ.kg\n",
-      "h15= 762.8 ##kJ/kg\n",
-      "h8= 462.7 ##kJ/kg\n",
-      "h13= 2974.5 ##kJ/kg\n",
-      "h5= 168.8 ##kJ/kg\n",
-      "P= 150. ##kW\n",
-      "v1= 0.02293 ##m^3/kg\n",
-      "v= 40. ##m/s\n",
-      "h1= 3448.6 ##kJ/kg\n",
-      "h3= 3478.5 ##kJ/kg\n",
-      "h2= 2818 ##kJ/kg\n",
-      "h4= 2527.1 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "y1= (h10-h9)/(h14-h15)\n",
-      "y2= ((h8-h7)-y1*(h15-h7))/(h13-h7)\n",
-      "y3= (h7-h6)*(1-y1-y2)/(h11-h12)\n",
-      "qin= h1-h10+(1-y1)*(h3-h2)\n",
-      "qout= (h5-h4)*(1-y1-y2)+y3*(h4-h12)\n",
-      "wnet= qin+qout\n",
-      "n= wnet*100/qin\n",
-      "m1= P*1000/wnet\n",
-      "A1= m1*v1/v\n",
-      "D= math.sqrt(4*A1/math.pi)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%(' quality=',y1,'')\n",
-      "print'%s %.4f %s'%('quality=',y2,'')\n",
-      "print'%s %.4f %s'%('quality=',y3,'')\n",
-      "print'%s %.2f %s'%('efficiency=',n,'percent')\n",
-      "print'%s %.2f %s'%('mass flow rate=',m1,'kg/s')\n",
-      "print'%s %.3f %s'%(' diameter=',D,'m')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " quality= 0.1342 \n",
-        "quality= 0.0289 \n",
-        "quality= 0.0544 \n",
-        "efficiency= 43.17 percent\n",
-        "mass flow rate= 106.46 kg/s\n",
-        " diameter= 0.279 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 213"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate effieciency and power and temperature at the exist\n",
-      "##initialisation of variables\n",
-      "T= 300. ##K\n",
-      "P= 100. ##kPa\n",
-      "r= 4.\n",
-      "T1= 1200. ##K\n",
-      "m= 5. ##kg/s\n",
-      "k= 1.4\n",
-      "R= 8.314 ##jmol K\n",
-      "M= 29. ##gms\n",
-      "##CALCULATIONS\n",
-      "T2= T*math.pow(r,(k-1)/k)\n",
-      "T4= T1/math.pow(r,(k-1)/k)\n",
-      "n= 1-(T/T2)\n",
-      "wnet= (k*R/((k-1)*M))*(T1-T4+T-T2)\n",
-      "P= m*wnet\n",
-      "e= math.sqrt((T2-T)/(T1-T4))\n",
-      "T5= T+((T2-T)/e)\n",
-      "T6= T1+e*(T4-T1)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('efficiency=',n,'')\n",
-      "print'%s %.f %s'%('power=',P,'kW')\n",
-      "print'%s %.4f %s'%('efficiency=',e,'')\n",
-      "print'%s %.1f %s'%('temperature at the exit=',T6,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "efficiency= 0.3270 \n",
-        "power= 1238 kW\n",
-        "efficiency= 0.6095 \n",
-        "temperature at the exit= 960.8 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg217"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##initialisation of variables\n",
-      "v= 810. ##km/h\n",
-      "v1= 40. ##m/sec\n",
-      "cp= 1003. ##J/k mol\n",
-      "T0= 300. ##K\n",
-      "ec= 0.88\n",
-      "k= 1.4\n",
-      "T3= 1473.15 ##K\n",
-      "p3= 600. ##kPa\n",
-      "p0= 26.4 ##kPa\n",
-      "e= 0.9\n",
-      "m= 90. ##kg\n",
-      "cp1= 1.003 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "v0= v*1000/3600.\n",
-      "T1= T0+((v0**2-v1**2)/(2*cp))\n",
-      "T1s= T0+ec*(T0-T1)\n",
-      "p1= 36.79 #kPa\n",
-      "p2= 600 #kPa\n",
-      "T2s= T1*(p2/p1)**((k-1)/k)\n",
-      "T2= T1+((T2s-T1)/ec)\n",
-      "T21= T1+(T2s-T1)/ec\n",
-      "T4= T3+T0-T21\n",
-      "T4s= T3+(T4-T3)/ec\n",
-      "p4= p3*(T4s/T3)\n",
-      "T5s= p4+(p0-p4)*e\n",
-      "W34= m*cp1*(T3-T4)\n",
-      "v5= math.sqrt(v1**2+2*cp*(T4-T5s))\n",
-      "F= m*(v5-v0)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('T5=',T4s,'K ')\n",
-      "print'%s %.f %s'% ('Work=',W34,'kW ')\n",
-      "print'%s %.1f %s'% ('nozzle velocity=',v5,'m/s')\n",
-      "print'%s %.f %s'% ('thrust force=',F,'N')\n",
-      "\n",
-      "##ANSWERS GIVEN IN THE TEXTBOOK ARE WRONG\n",
-      "\n",
-      "##RESULTS\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "T5= 934.14 K \n",
-        "Work= 42818 kW \n",
-        "nozzle velocity= 1371.6 m/s\n",
-        "thrust force= 103193 N\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg225"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate COP and power and COP at given enthalpy\n",
-      "##initialisation of variables\n",
-      "h1= 182.07 ##kJ/kg\n",
-      "h4= 76.26 ##kJ/kg\n",
-      "h2= 217.97 ##kJ/kg\n",
-      "Q= math.pow(10,6) ##kJ/h\n",
-      "Tc= -5 ##C\n",
-      "Th= 32 ##C\n",
-      "##CALCULATIONS\n",
-      "COP= (h1-h4)/(h2-h1)\n",
-      "W= Q/(COP*3600)\n",
-      "COPcarnot= (273.15+Tc)/(Th-Tc)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('COP= ',COP,'')\n",
-      "print'%s %.3f %s'% ('power=',W,'KW')\n",
-      "print'%s %.3f %s'% ('COP=',COPcarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "COP=  2.947 \n",
-        "power= 94.247 KW\n",
-        "COP= 7.247 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg227"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate COPs and WORK at given variable\n",
-      "##initialisation of variables\n",
-      "h1= 183.12 ##kJ/kg\n",
-      "h4= 75.588 ##kJ/kg\n",
-      "h2= 218.697 ##kJ/kg\n",
-      "nm=0.94\n",
-      "Qc= 6 ##kW\n",
-      "h4a= 45.343 ##kJ/kg\n",
-      "h2a= 257.283 ##kJ/kg\n",
-      "h1a= 213.427 ##kJ/kg \n",
-      "##CALCULATIONS\n",
-      "COP= (h1-h4)*nm/(h2-h1)\n",
-      "W= Qc/COP\n",
-      "COP1= (h1-h4a)*nm/(h2a-h1a)\n",
-      "W1= Qc/COP1\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('COP=',COP,'')\n",
-      "print'%s %.3f %s'% ('COP=',COP1,'')\n",
-      "print'%s %.3f %s'% ('Work=',W,'kW')\n",
-      "print'%s %.3f %s'% ('Work=',W1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "COP= 2.841 \n",
-        "COP= 2.953 \n",
-        "Work= 2.112 kW\n",
-        "Work= 2.032 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg228"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate COP and W\n",
-      "##initialisation of variables\n",
-      "h1= 1404.6 ##kJ/kg\n",
-      "h2s= 1748.9 ##kJ/kg\n",
-      "ec= 0.8\n",
-      "h4= 322.9 ##kJ/kg\n",
-      "h2= 1835 ##kJ/kg\n",
-      "Q= 100 ##kW\n",
-      "h21= 1649.2 ##kJ/kg\n",
-      "h22= 1515 ##kJ/kg\n",
-      "h23= 1678.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "h2= h1+((h2s-h1)/ec)\n",
-      "COP= (h1-h4)/(h2-h1)\n",
-      "W= Q/COP\n",
-      "COP1= (h1-h4)/(h21-h1+h23-h22)\n",
-      "W1= Q/COP1\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%  (' COP=',COP,'')\n",
-      "print'%s %.3f %s'% ('COP=',COP1,'')\n",
-      "print'%s %.1f %s'% ('W= ',W,'kW')\n",
-      "print'%s %.1f %s'% ('W=',W1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " COP= 2.513 \n",
-        "COP= 2.649 \n",
-        "W=  39.8 kW\n",
-        "W= 37.8 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter11__1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter11__1.ipynb
deleted file mode 100755
index 35f097c3..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter11__1.ipynb
+++ /dev/null
@@ -1,468 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:a15297e2995d0ee44a3db61bf50b4aac4f8b03ecce59bf2a69c1f32113289b28"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter11-power and refrigeration cycles"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 203"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and effieceny and carnot efficency\n",
-      "##initialisation of variables\n",
-      "h1= 251.4 ##kJ/kg\n",
-      "v= 0.001017 ##m^3/kg\n",
-      "p2= 2000. ##Mpa\n",
-      "p1= 20. ##Mpa\n",
-      "h2= 253.4\n",
-      "h3= 3247.6 ##kJ/kg\n",
-      "h4= 2349.3 ##kJ/kg\n",
-      "Tc= 60.06 ##C\n",
-      "Th= 400. ##C\n",
-      "##CALCULATIONS\n",
-      "h2= h1+v*(2-p1)\n",
-      "q12= 0.\n",
-      "w12= h1-h2\n",
-      "q23= h3-h2\n",
-      "w23= 0.\n",
-      "q34= 0.\n",
-      "w34= h3-h4\n",
-      "q41= h1-h4\n",
-      "qnet= q12+q23+q34+q41\n",
-      "wnet= w12+w23+w34\n",
-      "n= wnet/q23\n",
-      "ncarnot= 1-((273.15+Tc)/(273.15+Th))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('enthalpy=',h2,'kJ/kg')\n",
-      "print'%s %.3f %s'%('efficiency=',n,'')\n",
-      "print'%s %.3f %s'%('carnot efficiency=',ncarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy= 251.4 kJ/kg\n",
-        "efficiency= 0.300 \n",
-        "carnot efficiency= 0.505 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg206"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat and effiecency and steam mass flow rate\n",
-      "##initialisation of variables\n",
-      "h3= 3247.4 ##kJ/kg\n",
-      "h4= 2439.1 ##kJ/kg\n",
-      "h1= 251.4 ##kJ/kg\n",
-      "h2= 253.9 ##kJ/kg\n",
-      "P= 100000 ##kW\n",
-      "##CALCULATIONS\n",
-      "wnet= h3-h4+h1-h2\n",
-      "qh= h3-h2\n",
-      "qc= h1-h4\n",
-      "n= wnet/qh\n",
-      "m= P/wnet\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('work=',wnet,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('heat=',qh,'kJ/kg')\n",
-      "print'%s %.1f %s'%('heat=',qc,'kJ/kg')\n",
-      "print'%s %.4f %s'%('efficiency=',n,'')\n",
-      "print'%s %.2f %s'%('steam mass flow rate=',m,'kg/s')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work= 806 kJ/kg\n",
-        "heat= 2993.5 kJ/kg\n",
-        "heat= -2187.7 kJ/kg\n",
-        "efficiency= 0.2692 \n",
-        "steam mass flow rate= 124.10 kg/s\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 208"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate qualitys and efficiency and mass flow rate and diameter\n",
-      "##initialisation of variables\n",
-      "h11= 2786.2 ##kJ/kg\n",
-      "h12= 340.5 ##kJ/kg\n",
-      "h7= 327.9 ##kJ/kg\n",
-      "h6= 169.0 ##kJ/kg\n",
-      "h10= 756.7 ##kJ/kg\n",
-      "h9= 480.9 ##kJkg\n",
-      "h14= 2818 ##kJ.kg\n",
-      "h15= 762.8 ##kJ/kg\n",
-      "h8= 462.7 ##kJ/kg\n",
-      "h13= 2974.5 ##kJ/kg\n",
-      "h5= 168.8 ##kJ/kg\n",
-      "P= 150. ##kW\n",
-      "v1= 0.02293 ##m^3/kg\n",
-      "v= 40. ##m/s\n",
-      "h1= 3448.6 ##kJ/kg\n",
-      "h3= 3478.5 ##kJ/kg\n",
-      "h2= 2818 ##kJ/kg\n",
-      "h4= 2527.1 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "y1= (h10-h9)/(h14-h15)\n",
-      "y2= ((h8-h7)-y1*(h15-h7))/(h13-h7)\n",
-      "y3= (h7-h6)*(1-y1-y2)/(h11-h12)\n",
-      "qin= h1-h10+(1-y1)*(h3-h2)\n",
-      "qout= (h5-h4)*(1-y1-y2)+y3*(h4-h12)\n",
-      "wnet= qin+qout\n",
-      "n= wnet*100/qin\n",
-      "m1= P*1000/wnet\n",
-      "A1= m1*v1/v\n",
-      "D= math.sqrt(4*A1/math.pi)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%(' quality=',y1,'')\n",
-      "print'%s %.4f %s'%('quality=',y2,'')\n",
-      "print'%s %.4f %s'%('quality=',y3,'')\n",
-      "print'%s %.2f %s'%('efficiency=',n,'percent')\n",
-      "print'%s %.2f %s'%('mass flow rate=',m1,'kg/s')\n",
-      "print'%s %.3f %s'%(' diameter=',D,'m')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " quality= 0.1342 \n",
-        "quality= 0.0289 \n",
-        "quality= 0.0544 \n",
-        "efficiency= 43.17 percent\n",
-        "mass flow rate= 106.46 kg/s\n",
-        " diameter= 0.279 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 213"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate effieciency and power and temperature at the exist\n",
-      "##initialisation of variables\n",
-      "T= 300. ##K\n",
-      "P= 100. ##kPa\n",
-      "r= 4.\n",
-      "T1= 1200. ##K\n",
-      "m= 5. ##kg/s\n",
-      "k= 1.4\n",
-      "R= 8.314 ##jmol K\n",
-      "M= 29. ##gms\n",
-      "##CALCULATIONS\n",
-      "T2= T*math.pow(r,(k-1)/k)\n",
-      "T4= T1/math.pow(r,(k-1)/k)\n",
-      "n= 1-(T/T2)\n",
-      "wnet= (k*R/((k-1)*M))*(T1-T4+T-T2)\n",
-      "P= m*wnet\n",
-      "e= math.sqrt((T2-T)/(T1-T4))\n",
-      "T5= T+((T2-T)/e)\n",
-      "T6= T1+e*(T4-T1)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('efficiency=',n,'')\n",
-      "print'%s %.f %s'%('power=',P,'kW')\n",
-      "print'%s %.4f %s'%('efficiency=',e,'')\n",
-      "print'%s %.1f %s'%('temperature at the exit=',T6,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "efficiency= 0.3270 \n",
-        "power= 1238 kW\n",
-        "efficiency= 0.6095 \n",
-        "temperature at the exit= 960.8 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg217"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##initialisation of variables\n",
-      "v= 810. ##km/h\n",
-      "v1= 40. ##m/sec\n",
-      "cp= 1003. ##J/k mol\n",
-      "T0= 300. ##K\n",
-      "ec= 0.88\n",
-      "k= 1.4\n",
-      "T3= 1473.15 ##K\n",
-      "p3= 600. ##kPa\n",
-      "p0= 26.4 ##kPa\n",
-      "e= 0.9\n",
-      "m= 90. ##kg\n",
-      "cp1= 1.003 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "v0= v*1000/3600.\n",
-      "T1= T0+((v0**2-v1**2)/(2*cp))\n",
-      "T1s= T0+ec*(T0-T1)\n",
-      "p1= 36.79 #kPa\n",
-      "p2= 600 #kPa\n",
-      "T2s= T1*(p2/p1)**((k-1)/k)\n",
-      "T2= T1+((T2s-T1)/ec)\n",
-      "T21= T1+(T2s-T1)/ec\n",
-      "T4= T3+T0-T21\n",
-      "T4s= T3+(T4-T3)/ec\n",
-      "p4= p3*(T4s/T3)\n",
-      "T5s= p4+(p0-p4)*e\n",
-      "W34= m*cp1*(T3-T4)\n",
-      "v5= math.sqrt(v1**2+2*cp*(T4-T5s))\n",
-      "F= m*(v5-v0)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('T5=',T4s,'K ')\n",
-      "print'%s %.f %s'% ('Work=',W34,'kW ')\n",
-      "print'%s %.1f %s'% ('nozzle velocity=',v5,'m/s')\n",
-      "print'%s %.f %s'% ('thrust force=',F,'N')\n",
-      "\n",
-      "##ANSWERS GIVEN IN THE TEXTBOOK ARE WRONG\n",
-      "\n",
-      "##RESULTS\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "T5= 934.14 K \n",
-        "Work= 42818 kW \n",
-        "nozzle velocity= 1371.6 m/s\n",
-        "thrust force= 103193 N\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg225"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate COP and power and COP at given enthalpy\n",
-      "##initialisation of variables\n",
-      "h1= 182.07 ##kJ/kg\n",
-      "h4= 76.26 ##kJ/kg\n",
-      "h2= 217.97 ##kJ/kg\n",
-      "Q= math.pow(10,6) ##kJ/h\n",
-      "Tc= -5 ##C\n",
-      "Th= 32 ##C\n",
-      "##CALCULATIONS\n",
-      "COP= (h1-h4)/(h2-h1)\n",
-      "W= Q/(COP*3600)\n",
-      "COPcarnot= (273.15+Tc)/(Th-Tc)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('COP= ',COP,'')\n",
-      "print'%s %.3f %s'% ('power=',W,'KW')\n",
-      "print'%s %.3f %s'% ('COP=',COPcarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "COP=  2.947 \n",
-        "power= 94.247 KW\n",
-        "COP= 7.247 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg227"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate COPs and WORK at given variable\n",
-      "##initialisation of variables\n",
-      "h1= 183.12 ##kJ/kg\n",
-      "h4= 75.588 ##kJ/kg\n",
-      "h2= 218.697 ##kJ/kg\n",
-      "nm=0.94\n",
-      "Qc= 6 ##kW\n",
-      "h4a= 45.343 ##kJ/kg\n",
-      "h2a= 257.283 ##kJ/kg\n",
-      "h1a= 213.427 ##kJ/kg \n",
-      "##CALCULATIONS\n",
-      "COP= (h1-h4)*nm/(h2-h1)\n",
-      "W= Qc/COP\n",
-      "COP1= (h1-h4a)*nm/(h2a-h1a)\n",
-      "W1= Qc/COP1\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('COP=',COP,'')\n",
-      "print'%s %.3f %s'% ('COP=',COP1,'')\n",
-      "print'%s %.3f %s'% ('Work=',W,'kW')\n",
-      "print'%s %.3f %s'% ('Work=',W1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "COP= 2.841 \n",
-        "COP= 2.953 \n",
-        "Work= 2.112 kW\n",
-        "Work= 2.032 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg228"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate COP and W\n",
-      "##initialisation of variables\n",
-      "h1= 1404.6 ##kJ/kg\n",
-      "h2s= 1748.9 ##kJ/kg\n",
-      "ec= 0.8\n",
-      "h4= 322.9 ##kJ/kg\n",
-      "h2= 1835 ##kJ/kg\n",
-      "Q= 100 ##kW\n",
-      "h21= 1649.2 ##kJ/kg\n",
-      "h22= 1515 ##kJ/kg\n",
-      "h23= 1678.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "h2= h1+((h2s-h1)/ec)\n",
-      "COP= (h1-h4)/(h2-h1)\n",
-      "W= Q/COP\n",
-      "COP1= (h1-h4)/(h21-h1+h23-h22)\n",
-      "W1= Q/COP1\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%  (' COP=',COP,'')\n",
-      "print'%s %.3f %s'% ('COP=',COP1,'')\n",
-      "print'%s %.1f %s'% ('W= ',W,'kW')\n",
-      "print'%s %.1f %s'% ('W=',W1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " COP= 2.513 \n",
-        "COP= 2.649 \n",
-        "W=  39.8 kW\n",
-        "W= 37.8 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter11_power_and_refrigeration_cycles.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter11_power_and_refrigeration_cycles.ipynb
deleted file mode 100755
index 35f097c3..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter11_power_and_refrigeration_cycles.ipynb
+++ /dev/null
@@ -1,468 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:a15297e2995d0ee44a3db61bf50b4aac4f8b03ecce59bf2a69c1f32113289b28"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter11-power and refrigeration cycles"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 203"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and effieceny and carnot efficency\n",
-      "##initialisation of variables\n",
-      "h1= 251.4 ##kJ/kg\n",
-      "v= 0.001017 ##m^3/kg\n",
-      "p2= 2000. ##Mpa\n",
-      "p1= 20. ##Mpa\n",
-      "h2= 253.4\n",
-      "h3= 3247.6 ##kJ/kg\n",
-      "h4= 2349.3 ##kJ/kg\n",
-      "Tc= 60.06 ##C\n",
-      "Th= 400. ##C\n",
-      "##CALCULATIONS\n",
-      "h2= h1+v*(2-p1)\n",
-      "q12= 0.\n",
-      "w12= h1-h2\n",
-      "q23= h3-h2\n",
-      "w23= 0.\n",
-      "q34= 0.\n",
-      "w34= h3-h4\n",
-      "q41= h1-h4\n",
-      "qnet= q12+q23+q34+q41\n",
-      "wnet= w12+w23+w34\n",
-      "n= wnet/q23\n",
-      "ncarnot= 1-((273.15+Tc)/(273.15+Th))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('enthalpy=',h2,'kJ/kg')\n",
-      "print'%s %.3f %s'%('efficiency=',n,'')\n",
-      "print'%s %.3f %s'%('carnot efficiency=',ncarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy= 251.4 kJ/kg\n",
-        "efficiency= 0.300 \n",
-        "carnot efficiency= 0.505 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg206"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat and effiecency and steam mass flow rate\n",
-      "##initialisation of variables\n",
-      "h3= 3247.4 ##kJ/kg\n",
-      "h4= 2439.1 ##kJ/kg\n",
-      "h1= 251.4 ##kJ/kg\n",
-      "h2= 253.9 ##kJ/kg\n",
-      "P= 100000 ##kW\n",
-      "##CALCULATIONS\n",
-      "wnet= h3-h4+h1-h2\n",
-      "qh= h3-h2\n",
-      "qc= h1-h4\n",
-      "n= wnet/qh\n",
-      "m= P/wnet\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('work=',wnet,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('heat=',qh,'kJ/kg')\n",
-      "print'%s %.1f %s'%('heat=',qc,'kJ/kg')\n",
-      "print'%s %.4f %s'%('efficiency=',n,'')\n",
-      "print'%s %.2f %s'%('steam mass flow rate=',m,'kg/s')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work= 806 kJ/kg\n",
-        "heat= 2993.5 kJ/kg\n",
-        "heat= -2187.7 kJ/kg\n",
-        "efficiency= 0.2692 \n",
-        "steam mass flow rate= 124.10 kg/s\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 208"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate qualitys and efficiency and mass flow rate and diameter\n",
-      "##initialisation of variables\n",
-      "h11= 2786.2 ##kJ/kg\n",
-      "h12= 340.5 ##kJ/kg\n",
-      "h7= 327.9 ##kJ/kg\n",
-      "h6= 169.0 ##kJ/kg\n",
-      "h10= 756.7 ##kJ/kg\n",
-      "h9= 480.9 ##kJkg\n",
-      "h14= 2818 ##kJ.kg\n",
-      "h15= 762.8 ##kJ/kg\n",
-      "h8= 462.7 ##kJ/kg\n",
-      "h13= 2974.5 ##kJ/kg\n",
-      "h5= 168.8 ##kJ/kg\n",
-      "P= 150. ##kW\n",
-      "v1= 0.02293 ##m^3/kg\n",
-      "v= 40. ##m/s\n",
-      "h1= 3448.6 ##kJ/kg\n",
-      "h3= 3478.5 ##kJ/kg\n",
-      "h2= 2818 ##kJ/kg\n",
-      "h4= 2527.1 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "y1= (h10-h9)/(h14-h15)\n",
-      "y2= ((h8-h7)-y1*(h15-h7))/(h13-h7)\n",
-      "y3= (h7-h6)*(1-y1-y2)/(h11-h12)\n",
-      "qin= h1-h10+(1-y1)*(h3-h2)\n",
-      "qout= (h5-h4)*(1-y1-y2)+y3*(h4-h12)\n",
-      "wnet= qin+qout\n",
-      "n= wnet*100/qin\n",
-      "m1= P*1000/wnet\n",
-      "A1= m1*v1/v\n",
-      "D= math.sqrt(4*A1/math.pi)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%(' quality=',y1,'')\n",
-      "print'%s %.4f %s'%('quality=',y2,'')\n",
-      "print'%s %.4f %s'%('quality=',y3,'')\n",
-      "print'%s %.2f %s'%('efficiency=',n,'percent')\n",
-      "print'%s %.2f %s'%('mass flow rate=',m1,'kg/s')\n",
-      "print'%s %.3f %s'%(' diameter=',D,'m')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " quality= 0.1342 \n",
-        "quality= 0.0289 \n",
-        "quality= 0.0544 \n",
-        "efficiency= 43.17 percent\n",
-        "mass flow rate= 106.46 kg/s\n",
-        " diameter= 0.279 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 213"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate effieciency and power and temperature at the exist\n",
-      "##initialisation of variables\n",
-      "T= 300. ##K\n",
-      "P= 100. ##kPa\n",
-      "r= 4.\n",
-      "T1= 1200. ##K\n",
-      "m= 5. ##kg/s\n",
-      "k= 1.4\n",
-      "R= 8.314 ##jmol K\n",
-      "M= 29. ##gms\n",
-      "##CALCULATIONS\n",
-      "T2= T*math.pow(r,(k-1)/k)\n",
-      "T4= T1/math.pow(r,(k-1)/k)\n",
-      "n= 1-(T/T2)\n",
-      "wnet= (k*R/((k-1)*M))*(T1-T4+T-T2)\n",
-      "P= m*wnet\n",
-      "e= math.sqrt((T2-T)/(T1-T4))\n",
-      "T5= T+((T2-T)/e)\n",
-      "T6= T1+e*(T4-T1)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('efficiency=',n,'')\n",
-      "print'%s %.f %s'%('power=',P,'kW')\n",
-      "print'%s %.4f %s'%('efficiency=',e,'')\n",
-      "print'%s %.1f %s'%('temperature at the exit=',T6,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "efficiency= 0.3270 \n",
-        "power= 1238 kW\n",
-        "efficiency= 0.6095 \n",
-        "temperature at the exit= 960.8 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg217"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##initialisation of variables\n",
-      "v= 810. ##km/h\n",
-      "v1= 40. ##m/sec\n",
-      "cp= 1003. ##J/k mol\n",
-      "T0= 300. ##K\n",
-      "ec= 0.88\n",
-      "k= 1.4\n",
-      "T3= 1473.15 ##K\n",
-      "p3= 600. ##kPa\n",
-      "p0= 26.4 ##kPa\n",
-      "e= 0.9\n",
-      "m= 90. ##kg\n",
-      "cp1= 1.003 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "v0= v*1000/3600.\n",
-      "T1= T0+((v0**2-v1**2)/(2*cp))\n",
-      "T1s= T0+ec*(T0-T1)\n",
-      "p1= 36.79 #kPa\n",
-      "p2= 600 #kPa\n",
-      "T2s= T1*(p2/p1)**((k-1)/k)\n",
-      "T2= T1+((T2s-T1)/ec)\n",
-      "T21= T1+(T2s-T1)/ec\n",
-      "T4= T3+T0-T21\n",
-      "T4s= T3+(T4-T3)/ec\n",
-      "p4= p3*(T4s/T3)\n",
-      "T5s= p4+(p0-p4)*e\n",
-      "W34= m*cp1*(T3-T4)\n",
-      "v5= math.sqrt(v1**2+2*cp*(T4-T5s))\n",
-      "F= m*(v5-v0)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('T5=',T4s,'K ')\n",
-      "print'%s %.f %s'% ('Work=',W34,'kW ')\n",
-      "print'%s %.1f %s'% ('nozzle velocity=',v5,'m/s')\n",
-      "print'%s %.f %s'% ('thrust force=',F,'N')\n",
-      "\n",
-      "##ANSWERS GIVEN IN THE TEXTBOOK ARE WRONG\n",
-      "\n",
-      "##RESULTS\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "T5= 934.14 K \n",
-        "Work= 42818 kW \n",
-        "nozzle velocity= 1371.6 m/s\n",
-        "thrust force= 103193 N\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg225"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate COP and power and COP at given enthalpy\n",
-      "##initialisation of variables\n",
-      "h1= 182.07 ##kJ/kg\n",
-      "h4= 76.26 ##kJ/kg\n",
-      "h2= 217.97 ##kJ/kg\n",
-      "Q= math.pow(10,6) ##kJ/h\n",
-      "Tc= -5 ##C\n",
-      "Th= 32 ##C\n",
-      "##CALCULATIONS\n",
-      "COP= (h1-h4)/(h2-h1)\n",
-      "W= Q/(COP*3600)\n",
-      "COPcarnot= (273.15+Tc)/(Th-Tc)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('COP= ',COP,'')\n",
-      "print'%s %.3f %s'% ('power=',W,'KW')\n",
-      "print'%s %.3f %s'% ('COP=',COPcarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "COP=  2.947 \n",
-        "power= 94.247 KW\n",
-        "COP= 7.247 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg227"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate COPs and WORK at given variable\n",
-      "##initialisation of variables\n",
-      "h1= 183.12 ##kJ/kg\n",
-      "h4= 75.588 ##kJ/kg\n",
-      "h2= 218.697 ##kJ/kg\n",
-      "nm=0.94\n",
-      "Qc= 6 ##kW\n",
-      "h4a= 45.343 ##kJ/kg\n",
-      "h2a= 257.283 ##kJ/kg\n",
-      "h1a= 213.427 ##kJ/kg \n",
-      "##CALCULATIONS\n",
-      "COP= (h1-h4)*nm/(h2-h1)\n",
-      "W= Qc/COP\n",
-      "COP1= (h1-h4a)*nm/(h2a-h1a)\n",
-      "W1= Qc/COP1\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('COP=',COP,'')\n",
-      "print'%s %.3f %s'% ('COP=',COP1,'')\n",
-      "print'%s %.3f %s'% ('Work=',W,'kW')\n",
-      "print'%s %.3f %s'% ('Work=',W1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "COP= 2.841 \n",
-        "COP= 2.953 \n",
-        "Work= 2.112 kW\n",
-        "Work= 2.032 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg228"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate COP and W\n",
-      "##initialisation of variables\n",
-      "h1= 1404.6 ##kJ/kg\n",
-      "h2s= 1748.9 ##kJ/kg\n",
-      "ec= 0.8\n",
-      "h4= 322.9 ##kJ/kg\n",
-      "h2= 1835 ##kJ/kg\n",
-      "Q= 100 ##kW\n",
-      "h21= 1649.2 ##kJ/kg\n",
-      "h22= 1515 ##kJ/kg\n",
-      "h23= 1678.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "h2= h1+((h2s-h1)/ec)\n",
-      "COP= (h1-h4)/(h2-h1)\n",
-      "W= Q/COP\n",
-      "COP1= (h1-h4)/(h21-h1+h23-h22)\n",
-      "W1= Q/COP1\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%  (' COP=',COP,'')\n",
-      "print'%s %.3f %s'% ('COP=',COP1,'')\n",
-      "print'%s %.1f %s'% ('W= ',W,'kW')\n",
-      "print'%s %.1f %s'% ('W=',W1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " COP= 2.513 \n",
-        "COP= 2.649 \n",
-        "W=  39.8 kW\n",
-        "W= 37.8 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter13-.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter13-.ipynb
deleted file mode 100755
index cb096e14..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter13-.ipynb
+++ /dev/null
@@ -1,217 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:8d95c094e950bc8cd1f4bbc97c09344d22cf81b1ba4d6101a144be7a5e1e83dc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter13-thermodynamic relations"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg284"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy wrt pressures and volume wrt temerature\n",
-      "##initialisation of variables\n",
-      "S1= 6.539 ##kJ/kg K\n",
-      "S2= 6.7664 ##kJ/kg K\n",
-      "v1= 0.10976 ##m^3\n",
-      "v2= 0.08700 ##m^3\n",
-      "P= 3. ##Mpa\n",
-      "P1= 2. ##Mpa\n",
-      "T= 350. ##K\n",
-      "T1= 250. ##K\n",
-      "S3= 3.1741 ##kJ/kg K\n",
-      "S4= 3.2071 ##kJ/kg K\n",
-      "P2= 30. ##Mpa\n",
-      "P3= 20. ##Mpa\n",
-      "v3= 0.0014217 ##m^3\n",
-      "v4= 0.0012860 ##m^3\n",
-      "T2= 320. ##K\n",
-      "T3= 280. ##K\n",
-      "##CALCULATIONS\n",
-      "r= (S1-S2)/(P*10*10*10-P1*10*10*10)\n",
-      "r1= (v1-v2)/(T-T1)\n",
-      "R= (S3-S4)/(P2*10*10*10-P3*10*10*10)\n",
-      "R1= (v3-v4)/(T2-T3)\n",
-      "##RESULTS\n",
-      "print'%s %.7f %s'% ('entropy wrt pressre=',r,'kJ/kg K kpa')\n",
-      "print'%s %.e %s'% ('entropy wrt pressre=',R,'kJ/kg K kpa')\n",
-      "print'%s %.7f %s'%  ('volume wrt temperature=',r1,'m^3/kg K ')\n",
-      "print'%s %.2e %s'% ('volume wrt temperature=',R1,'m^3/kg K ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entropy wrt pressre= -0.0002274 kJ/kg K kpa\n",
-        "entropy wrt pressre= -3e-06 kJ/kg K kpa\n",
-        "volume wrt temperature= 0.0002276 m^3/kg K \n",
-        "volume wrt temperature= 3.39e-06 m^3/kg K \n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg286"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#saturation pressure\n",
-      "##initialisation of variables\n",
-      "hfg= 2406.7 ##kJ/kg\n",
-      "Psat40= 7.384 ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 40. ##C\n",
-      "T1= 50. ##C\n",
-      "M= 18.##kg\n",
-      "##CALCULATIONS\n",
-      "Psat50= Psat40*math.e**((hfg*M/R)*((1/(273.15+T))-(1/(273.15+T1))))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s' %('Saturation pressure=',Psat50,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Saturation pressure= 12.357 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg287"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte lowest temprature\n",
-      "##initialisation of variables\n",
-      "W= 800. ##N\n",
-      "A= 0.4 ##cm^2\n",
-      "p= 0.611 ##Mpa\n",
-      "P1= 0.1 ##Mpa\n",
-      "T= 0.01 ##C\n",
-      "vs= 0.0010908 ##m^3/kg\n",
-      "hs= -333.40 ##kJ/kg\n",
-      "vf= 0.0010002 ##m^3/kg\n",
-      "hf= 0 ##kJ/kg\n",
-      "vg= 206.14 ##m^3/kg\n",
-      "hg= 2501.4 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "P2= P1+(W/A)*math.pow(10,(4-6))\n",
-      "dT= (273.15++T)*(vf-vs)*(P2*10*10*10-p)/(0-hs)\n",
-      "Tmin= dT+T\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('lowest temperature=',Tmin,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "lowest temperature= -1.48 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg292"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume exapansion coefficent and isothermal compressibilitiy and isotherma modulus of elasticity\n",
-      "##initialisation of variables\n",
-      "vi= 0.0009992 ##m^3\n",
-      "T= 60. ##C\n",
-      "T1= 20. ##C\n",
-      "T2= 40. ##C\n",
-      "vi1= 0.0010042 ##m^3\n",
-      "vi2= 0.0009886 ##m^3\n",
-      "v= 0.000951 ##m^3\n",
-      "v1= 0.0009992 ##m^3\n",
-      "v2= 0.0009956 ##m^3\n",
-      "##CALCULATIONS\n",
-      "B= (vi1-vi2)/(vi*(T-T1))\n",
-      "Kt= (v1-v2)/(v*(T2-T1))\n",
-      "Et= 1/Kt\n",
-      "##RESULTS\n",
-      "print'%s %.2e %s'% ('volume exapansion coefficient=',B,'L/s')\n",
-      "print'%s %.3e %s'% ('isothermal compressibility=',Kt,'Mpa')\n",
-      "print'%s %.f %s'% ('isothermal modulus of elasticity=',Et,'Mpa')\n",
-      "\n",
-      "\n",
-      "##ANSWER FOR Et GIVEN IN THE TEXTBOOK IS WRONG\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume exapansion coefficient= 3.90e-04 L/s\n",
-        "isothermal compressibility= 1.893e-04 Mpa\n",
-        "isothermal modulus of elasticity= 5283 Mpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter13-_thermodynamic_relations.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter13-_thermodynamic_relations.ipynb
deleted file mode 100755
index cb096e14..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter13-_thermodynamic_relations.ipynb
+++ /dev/null
@@ -1,217 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:8d95c094e950bc8cd1f4bbc97c09344d22cf81b1ba4d6101a144be7a5e1e83dc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter13-thermodynamic relations"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg284"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy wrt pressures and volume wrt temerature\n",
-      "##initialisation of variables\n",
-      "S1= 6.539 ##kJ/kg K\n",
-      "S2= 6.7664 ##kJ/kg K\n",
-      "v1= 0.10976 ##m^3\n",
-      "v2= 0.08700 ##m^3\n",
-      "P= 3. ##Mpa\n",
-      "P1= 2. ##Mpa\n",
-      "T= 350. ##K\n",
-      "T1= 250. ##K\n",
-      "S3= 3.1741 ##kJ/kg K\n",
-      "S4= 3.2071 ##kJ/kg K\n",
-      "P2= 30. ##Mpa\n",
-      "P3= 20. ##Mpa\n",
-      "v3= 0.0014217 ##m^3\n",
-      "v4= 0.0012860 ##m^3\n",
-      "T2= 320. ##K\n",
-      "T3= 280. ##K\n",
-      "##CALCULATIONS\n",
-      "r= (S1-S2)/(P*10*10*10-P1*10*10*10)\n",
-      "r1= (v1-v2)/(T-T1)\n",
-      "R= (S3-S4)/(P2*10*10*10-P3*10*10*10)\n",
-      "R1= (v3-v4)/(T2-T3)\n",
-      "##RESULTS\n",
-      "print'%s %.7f %s'% ('entropy wrt pressre=',r,'kJ/kg K kpa')\n",
-      "print'%s %.e %s'% ('entropy wrt pressre=',R,'kJ/kg K kpa')\n",
-      "print'%s %.7f %s'%  ('volume wrt temperature=',r1,'m^3/kg K ')\n",
-      "print'%s %.2e %s'% ('volume wrt temperature=',R1,'m^3/kg K ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entropy wrt pressre= -0.0002274 kJ/kg K kpa\n",
-        "entropy wrt pressre= -3e-06 kJ/kg K kpa\n",
-        "volume wrt temperature= 0.0002276 m^3/kg K \n",
-        "volume wrt temperature= 3.39e-06 m^3/kg K \n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg286"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#saturation pressure\n",
-      "##initialisation of variables\n",
-      "hfg= 2406.7 ##kJ/kg\n",
-      "Psat40= 7.384 ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 40. ##C\n",
-      "T1= 50. ##C\n",
-      "M= 18.##kg\n",
-      "##CALCULATIONS\n",
-      "Psat50= Psat40*math.e**((hfg*M/R)*((1/(273.15+T))-(1/(273.15+T1))))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s' %('Saturation pressure=',Psat50,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Saturation pressure= 12.357 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg287"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte lowest temprature\n",
-      "##initialisation of variables\n",
-      "W= 800. ##N\n",
-      "A= 0.4 ##cm^2\n",
-      "p= 0.611 ##Mpa\n",
-      "P1= 0.1 ##Mpa\n",
-      "T= 0.01 ##C\n",
-      "vs= 0.0010908 ##m^3/kg\n",
-      "hs= -333.40 ##kJ/kg\n",
-      "vf= 0.0010002 ##m^3/kg\n",
-      "hf= 0 ##kJ/kg\n",
-      "vg= 206.14 ##m^3/kg\n",
-      "hg= 2501.4 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "P2= P1+(W/A)*math.pow(10,(4-6))\n",
-      "dT= (273.15++T)*(vf-vs)*(P2*10*10*10-p)/(0-hs)\n",
-      "Tmin= dT+T\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('lowest temperature=',Tmin,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "lowest temperature= -1.48 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg292"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume exapansion coefficent and isothermal compressibilitiy and isotherma modulus of elasticity\n",
-      "##initialisation of variables\n",
-      "vi= 0.0009992 ##m^3\n",
-      "T= 60. ##C\n",
-      "T1= 20. ##C\n",
-      "T2= 40. ##C\n",
-      "vi1= 0.0010042 ##m^3\n",
-      "vi2= 0.0009886 ##m^3\n",
-      "v= 0.000951 ##m^3\n",
-      "v1= 0.0009992 ##m^3\n",
-      "v2= 0.0009956 ##m^3\n",
-      "##CALCULATIONS\n",
-      "B= (vi1-vi2)/(vi*(T-T1))\n",
-      "Kt= (v1-v2)/(v*(T2-T1))\n",
-      "Et= 1/Kt\n",
-      "##RESULTS\n",
-      "print'%s %.2e %s'% ('volume exapansion coefficient=',B,'L/s')\n",
-      "print'%s %.3e %s'% ('isothermal compressibility=',Kt,'Mpa')\n",
-      "print'%s %.f %s'% ('isothermal modulus of elasticity=',Et,'Mpa')\n",
-      "\n",
-      "\n",
-      "##ANSWER FOR Et GIVEN IN THE TEXTBOOK IS WRONG\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume exapansion coefficient= 3.90e-04 L/s\n",
-        "isothermal compressibility= 1.893e-04 Mpa\n",
-        "isothermal modulus of elasticity= 5283 Mpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter13.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter13.ipynb
deleted file mode 100755
index cb096e14..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter13.ipynb
+++ /dev/null
@@ -1,217 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:8d95c094e950bc8cd1f4bbc97c09344d22cf81b1ba4d6101a144be7a5e1e83dc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter13-thermodynamic relations"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg284"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy wrt pressures and volume wrt temerature\n",
-      "##initialisation of variables\n",
-      "S1= 6.539 ##kJ/kg K\n",
-      "S2= 6.7664 ##kJ/kg K\n",
-      "v1= 0.10976 ##m^3\n",
-      "v2= 0.08700 ##m^3\n",
-      "P= 3. ##Mpa\n",
-      "P1= 2. ##Mpa\n",
-      "T= 350. ##K\n",
-      "T1= 250. ##K\n",
-      "S3= 3.1741 ##kJ/kg K\n",
-      "S4= 3.2071 ##kJ/kg K\n",
-      "P2= 30. ##Mpa\n",
-      "P3= 20. ##Mpa\n",
-      "v3= 0.0014217 ##m^3\n",
-      "v4= 0.0012860 ##m^3\n",
-      "T2= 320. ##K\n",
-      "T3= 280. ##K\n",
-      "##CALCULATIONS\n",
-      "r= (S1-S2)/(P*10*10*10-P1*10*10*10)\n",
-      "r1= (v1-v2)/(T-T1)\n",
-      "R= (S3-S4)/(P2*10*10*10-P3*10*10*10)\n",
-      "R1= (v3-v4)/(T2-T3)\n",
-      "##RESULTS\n",
-      "print'%s %.7f %s'% ('entropy wrt pressre=',r,'kJ/kg K kpa')\n",
-      "print'%s %.e %s'% ('entropy wrt pressre=',R,'kJ/kg K kpa')\n",
-      "print'%s %.7f %s'%  ('volume wrt temperature=',r1,'m^3/kg K ')\n",
-      "print'%s %.2e %s'% ('volume wrt temperature=',R1,'m^3/kg K ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entropy wrt pressre= -0.0002274 kJ/kg K kpa\n",
-        "entropy wrt pressre= -3e-06 kJ/kg K kpa\n",
-        "volume wrt temperature= 0.0002276 m^3/kg K \n",
-        "volume wrt temperature= 3.39e-06 m^3/kg K \n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg286"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#saturation pressure\n",
-      "##initialisation of variables\n",
-      "hfg= 2406.7 ##kJ/kg\n",
-      "Psat40= 7.384 ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 40. ##C\n",
-      "T1= 50. ##C\n",
-      "M= 18.##kg\n",
-      "##CALCULATIONS\n",
-      "Psat50= Psat40*math.e**((hfg*M/R)*((1/(273.15+T))-(1/(273.15+T1))))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s' %('Saturation pressure=',Psat50,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Saturation pressure= 12.357 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg287"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte lowest temprature\n",
-      "##initialisation of variables\n",
-      "W= 800. ##N\n",
-      "A= 0.4 ##cm^2\n",
-      "p= 0.611 ##Mpa\n",
-      "P1= 0.1 ##Mpa\n",
-      "T= 0.01 ##C\n",
-      "vs= 0.0010908 ##m^3/kg\n",
-      "hs= -333.40 ##kJ/kg\n",
-      "vf= 0.0010002 ##m^3/kg\n",
-      "hf= 0 ##kJ/kg\n",
-      "vg= 206.14 ##m^3/kg\n",
-      "hg= 2501.4 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "P2= P1+(W/A)*math.pow(10,(4-6))\n",
-      "dT= (273.15++T)*(vf-vs)*(P2*10*10*10-p)/(0-hs)\n",
-      "Tmin= dT+T\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('lowest temperature=',Tmin,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "lowest temperature= -1.48 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg292"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume exapansion coefficent and isothermal compressibilitiy and isotherma modulus of elasticity\n",
-      "##initialisation of variables\n",
-      "vi= 0.0009992 ##m^3\n",
-      "T= 60. ##C\n",
-      "T1= 20. ##C\n",
-      "T2= 40. ##C\n",
-      "vi1= 0.0010042 ##m^3\n",
-      "vi2= 0.0009886 ##m^3\n",
-      "v= 0.000951 ##m^3\n",
-      "v1= 0.0009992 ##m^3\n",
-      "v2= 0.0009956 ##m^3\n",
-      "##CALCULATIONS\n",
-      "B= (vi1-vi2)/(vi*(T-T1))\n",
-      "Kt= (v1-v2)/(v*(T2-T1))\n",
-      "Et= 1/Kt\n",
-      "##RESULTS\n",
-      "print'%s %.2e %s'% ('volume exapansion coefficient=',B,'L/s')\n",
-      "print'%s %.3e %s'% ('isothermal compressibility=',Kt,'Mpa')\n",
-      "print'%s %.f %s'% ('isothermal modulus of elasticity=',Et,'Mpa')\n",
-      "\n",
-      "\n",
-      "##ANSWER FOR Et GIVEN IN THE TEXTBOOK IS WRONG\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume exapansion coefficient= 3.90e-04 L/s\n",
-        "isothermal compressibility= 1.893e-04 Mpa\n",
-        "isothermal modulus of elasticity= 5283 Mpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter13_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter13_1.ipynb
deleted file mode 100755
index cb096e14..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter13_1.ipynb
+++ /dev/null
@@ -1,217 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:8d95c094e950bc8cd1f4bbc97c09344d22cf81b1ba4d6101a144be7a5e1e83dc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter13-thermodynamic relations"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg284"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy wrt pressures and volume wrt temerature\n",
-      "##initialisation of variables\n",
-      "S1= 6.539 ##kJ/kg K\n",
-      "S2= 6.7664 ##kJ/kg K\n",
-      "v1= 0.10976 ##m^3\n",
-      "v2= 0.08700 ##m^3\n",
-      "P= 3. ##Mpa\n",
-      "P1= 2. ##Mpa\n",
-      "T= 350. ##K\n",
-      "T1= 250. ##K\n",
-      "S3= 3.1741 ##kJ/kg K\n",
-      "S4= 3.2071 ##kJ/kg K\n",
-      "P2= 30. ##Mpa\n",
-      "P3= 20. ##Mpa\n",
-      "v3= 0.0014217 ##m^3\n",
-      "v4= 0.0012860 ##m^3\n",
-      "T2= 320. ##K\n",
-      "T3= 280. ##K\n",
-      "##CALCULATIONS\n",
-      "r= (S1-S2)/(P*10*10*10-P1*10*10*10)\n",
-      "r1= (v1-v2)/(T-T1)\n",
-      "R= (S3-S4)/(P2*10*10*10-P3*10*10*10)\n",
-      "R1= (v3-v4)/(T2-T3)\n",
-      "##RESULTS\n",
-      "print'%s %.7f %s'% ('entropy wrt pressre=',r,'kJ/kg K kpa')\n",
-      "print'%s %.e %s'% ('entropy wrt pressre=',R,'kJ/kg K kpa')\n",
-      "print'%s %.7f %s'%  ('volume wrt temperature=',r1,'m^3/kg K ')\n",
-      "print'%s %.2e %s'% ('volume wrt temperature=',R1,'m^3/kg K ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entropy wrt pressre= -0.0002274 kJ/kg K kpa\n",
-        "entropy wrt pressre= -3e-06 kJ/kg K kpa\n",
-        "volume wrt temperature= 0.0002276 m^3/kg K \n",
-        "volume wrt temperature= 3.39e-06 m^3/kg K \n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg286"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#saturation pressure\n",
-      "##initialisation of variables\n",
-      "hfg= 2406.7 ##kJ/kg\n",
-      "Psat40= 7.384 ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 40. ##C\n",
-      "T1= 50. ##C\n",
-      "M= 18.##kg\n",
-      "##CALCULATIONS\n",
-      "Psat50= Psat40*math.e**((hfg*M/R)*((1/(273.15+T))-(1/(273.15+T1))))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s' %('Saturation pressure=',Psat50,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Saturation pressure= 12.357 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg287"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte lowest temprature\n",
-      "##initialisation of variables\n",
-      "W= 800. ##N\n",
-      "A= 0.4 ##cm^2\n",
-      "p= 0.611 ##Mpa\n",
-      "P1= 0.1 ##Mpa\n",
-      "T= 0.01 ##C\n",
-      "vs= 0.0010908 ##m^3/kg\n",
-      "hs= -333.40 ##kJ/kg\n",
-      "vf= 0.0010002 ##m^3/kg\n",
-      "hf= 0 ##kJ/kg\n",
-      "vg= 206.14 ##m^3/kg\n",
-      "hg= 2501.4 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "P2= P1+(W/A)*math.pow(10,(4-6))\n",
-      "dT= (273.15++T)*(vf-vs)*(P2*10*10*10-p)/(0-hs)\n",
-      "Tmin= dT+T\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('lowest temperature=',Tmin,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "lowest temperature= -1.48 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg292"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume exapansion coefficent and isothermal compressibilitiy and isotherma modulus of elasticity\n",
-      "##initialisation of variables\n",
-      "vi= 0.0009992 ##m^3\n",
-      "T= 60. ##C\n",
-      "T1= 20. ##C\n",
-      "T2= 40. ##C\n",
-      "vi1= 0.0010042 ##m^3\n",
-      "vi2= 0.0009886 ##m^3\n",
-      "v= 0.000951 ##m^3\n",
-      "v1= 0.0009992 ##m^3\n",
-      "v2= 0.0009956 ##m^3\n",
-      "##CALCULATIONS\n",
-      "B= (vi1-vi2)/(vi*(T-T1))\n",
-      "Kt= (v1-v2)/(v*(T2-T1))\n",
-      "Et= 1/Kt\n",
-      "##RESULTS\n",
-      "print'%s %.2e %s'% ('volume exapansion coefficient=',B,'L/s')\n",
-      "print'%s %.3e %s'% ('isothermal compressibility=',Kt,'Mpa')\n",
-      "print'%s %.f %s'% ('isothermal modulus of elasticity=',Et,'Mpa')\n",
-      "\n",
-      "\n",
-      "##ANSWER FOR Et GIVEN IN THE TEXTBOOK IS WRONG\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume exapansion coefficient= 3.90e-04 L/s\n",
-        "isothermal compressibility= 1.893e-04 Mpa\n",
-        "isothermal modulus of elasticity= 5283 Mpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter14.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter14.ipynb
deleted file mode 100755
index 5bcffb75..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter14.ipynb
+++ /dev/null
@@ -1,313 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:dceed5d123e7adb1d73db762a18a52615a5b487342c94704535d968cf751d6c0"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter14-equations of state and generlized charts"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "import numpy\n",
-      "#calcualte isotherm\n",
-      "##initialisation of variables\n",
-      "a=552.6 ##kPa m^6/kmol^2\n",
-      "b= 0.03402 ##m^3/kmol\n",
-      "p= 100. ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "vec=([p,-a,2*a*b])\n",
-      "vector= numpy.roots(vec)\n",
-      "x=vec[0]\n",
-      "T= 2*a*(x-b)*(x-b)/(R*x*x*x)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' isotherm=',T,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " isotherm= 1.3 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg307"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volumes of given temperatures\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 400. ##C\n",
-      "T1= 500. ##C\n",
-      "M= 18.015 ##kg/k mol\n",
-      "p1= 30. ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v1= R*(273.15+T)/(M*p1*10*10*10)\n",
-      "v2= R*(273.15+T1)/(M*p1*10*10*10)\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'% ('volume=',v1,'m^3/kg')\n",
-      "print'%s %.5f %s'% ('volume=',v2,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume= 0.01036 m^3/kg\n",
-        "volume= 0.01189 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg310"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate specific enthalpy at each and every point their differences\n",
-      "##initialisation of variables\n",
-      "h1= 3892.2 ##kJ/kg\n",
-      "h2= 4102.2 ##kJ/kg\n",
-      "dh= 1015.4 ##kJ/kg\n",
-      "dh1= 448. ##kJ/kg\n",
-      "h3= 2151.1 ##kJ/kg\n",
-      "h4= 3081.1 ##kJ/kg\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h1,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h2,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h3,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h4,'kJ/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy difference=',dh,'kJ/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy difference=',dh1,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Specific Enthalpy= 3892.2 kJ/kg\n",
-        "Specific Enthalpy= 4102.2 kJ/kg\n",
-        "Specific Enthalpy= 2151.1 kJ/kg\n",
-        "Specific Enthalpy= 3081.1 kJ/kg\n",
-        "Enthalpy difference= 1015 kJ/kg\n",
-        "Enthalpy difference= 448 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg313"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy at every point\n",
-      "##initialisation of variables\n",
-      "s2= 5.7905 ##kJ/kg K\n",
-      "s1= 4.4728 ##kJ/kg K\n",
-      "s3= 4.64437 ##kJ/kg K\n",
-      "s4= 5.7883 ##kJ/kg K\n",
-      "s5= 6.2036 ##kJ/kg K\n",
-      "s6= 5.9128 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "S1= s2-s1\n",
-      "S2= s4-s3\n",
-      "S3= s5-s6\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('Entropy=',S1,'kJ/kg K')\n",
-      "print'%s %.4f %s'%  ('Entropy=',S2,'kJ/kg K')\n",
-      "print'%s %.4f %s'% ('Entropy=',S3,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Entropy= 1.3177 kJ/kg K\n",
-        "Entropy= 1.1439 kJ/kg K\n",
-        "Entropy= 0.2908 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg315"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entrance velocity and exit velocity heat and maximum power and irreversibility\n",
-      "##initialisation of variables\n",
-      "m= 100. ##kg/s\n",
-      "M= 58. ##kg/kmol\n",
-      "v1= 0.164 ##m^3/kmol\n",
-      "r= 0.1 ##m\n",
-      "v2= 2.675 ##m^3/kmol \n",
-      "T= 175. ##C\n",
-      "T1= 80. ##C\n",
-      "cp= 1.75 ##kJ/kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "dh= 3.6 ##kJ/kg\n",
-      "dh1= 0.5 ##kJ/kg\n",
-      "T2= 425 ##K\n",
-      "p2= 0.9 ##Mpa\n",
-      "p1= 7.5 ##Mpa\n",
-      "ds= 2.7*R \n",
-      "ds1= 0.4*R\n",
-      "##CAULATIONS\n",
-      "A= math.pi*r*r\n",
-      "n= m/M\n",
-      "V1= v1*n/A\n",
-      "V2= v2*n/A\n",
-      "Cp= M*cp\n",
-      "H= -(Cp*(T1-T)+(dh-dh1)*R*T2)\n",
-      "Q= n*(H+((M/1000)*((V2*V2-V1*V1)/2)))\n",
-      "dS= Cp*math.log((273.51+T1)/(273.15+T))+R*(-math.log(p2/p1)+((ds/R)-(ds1/R)))\n",
-      "Wmax= (Q-12)-n*(273.15+27)*(-dS)\n",
-      "I= Wmax\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('entrance velocity=',V1,'m/s')\n",
-      "print'%s %.1f %s'% ('exit velocity=',V2,'m/s')\n",
-      "print'%s %.1f %s'% ('Heat=',Q-12,'kW')\n",
-      "print'%s %.1f %s'% ('maximum power=',Wmax-54,'kW')\n",
-      "print'%s %.1f %s'% ('irreversiblity=',I-54,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entrance velocity= 9 m/s\n",
-        "exit velocity= 146.8 m/s\n",
-        "Heat= -1199.1 kW\n",
-        "maximum power= 5305.0 kW\n",
-        "irreversiblity= 5305.0 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg319"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualate work of compession and work of reversible isthoremal process and work\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 400. ##C\n",
-      "M= 18.015 ##kg/s\n",
-      "p2= 30. ##Mpa\n",
-      "p1= 5. ##Mpa\n",
-      "f2= 17.7\n",
-      "f1=4.85\n",
-      "s1= 6.6459 ##kJ/kg K\n",
-      "s2= 4.4728 ##kJ/kg K\n",
-      "h1= 3195.7 ##kJ/kg\n",
-      "h2= 2151.1 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "W= -R*(273.15+T)*math.log(p2/p1)/M\n",
-      "W1= -R*(273.15+T)*math.log(f2/f1)/M\n",
-      "W2= h1-h2-(273.15+T)*(s1-s2)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Work of compression=',W,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Work of reversible isothermal process=',W1,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Work =',W2,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Work of compression= -556.6 kJ/kg\n",
-        "Work of reversible isothermal process= -402.2 kJ/kg\n",
-        "Work = -418.2 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter14_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter14_1.ipynb
deleted file mode 100755
index 5bcffb75..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter14_1.ipynb
+++ /dev/null
@@ -1,313 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:dceed5d123e7adb1d73db762a18a52615a5b487342c94704535d968cf751d6c0"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter14-equations of state and generlized charts"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "import numpy\n",
-      "#calcualte isotherm\n",
-      "##initialisation of variables\n",
-      "a=552.6 ##kPa m^6/kmol^2\n",
-      "b= 0.03402 ##m^3/kmol\n",
-      "p= 100. ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "vec=([p,-a,2*a*b])\n",
-      "vector= numpy.roots(vec)\n",
-      "x=vec[0]\n",
-      "T= 2*a*(x-b)*(x-b)/(R*x*x*x)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' isotherm=',T,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " isotherm= 1.3 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg307"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volumes of given temperatures\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 400. ##C\n",
-      "T1= 500. ##C\n",
-      "M= 18.015 ##kg/k mol\n",
-      "p1= 30. ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v1= R*(273.15+T)/(M*p1*10*10*10)\n",
-      "v2= R*(273.15+T1)/(M*p1*10*10*10)\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'% ('volume=',v1,'m^3/kg')\n",
-      "print'%s %.5f %s'% ('volume=',v2,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume= 0.01036 m^3/kg\n",
-        "volume= 0.01189 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg310"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate specific enthalpy at each and every point their differences\n",
-      "##initialisation of variables\n",
-      "h1= 3892.2 ##kJ/kg\n",
-      "h2= 4102.2 ##kJ/kg\n",
-      "dh= 1015.4 ##kJ/kg\n",
-      "dh1= 448. ##kJ/kg\n",
-      "h3= 2151.1 ##kJ/kg\n",
-      "h4= 3081.1 ##kJ/kg\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h1,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h2,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h3,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h4,'kJ/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy difference=',dh,'kJ/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy difference=',dh1,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Specific Enthalpy= 3892.2 kJ/kg\n",
-        "Specific Enthalpy= 4102.2 kJ/kg\n",
-        "Specific Enthalpy= 2151.1 kJ/kg\n",
-        "Specific Enthalpy= 3081.1 kJ/kg\n",
-        "Enthalpy difference= 1015 kJ/kg\n",
-        "Enthalpy difference= 448 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg313"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy at every point\n",
-      "##initialisation of variables\n",
-      "s2= 5.7905 ##kJ/kg K\n",
-      "s1= 4.4728 ##kJ/kg K\n",
-      "s3= 4.64437 ##kJ/kg K\n",
-      "s4= 5.7883 ##kJ/kg K\n",
-      "s5= 6.2036 ##kJ/kg K\n",
-      "s6= 5.9128 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "S1= s2-s1\n",
-      "S2= s4-s3\n",
-      "S3= s5-s6\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('Entropy=',S1,'kJ/kg K')\n",
-      "print'%s %.4f %s'%  ('Entropy=',S2,'kJ/kg K')\n",
-      "print'%s %.4f %s'% ('Entropy=',S3,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Entropy= 1.3177 kJ/kg K\n",
-        "Entropy= 1.1439 kJ/kg K\n",
-        "Entropy= 0.2908 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg315"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entrance velocity and exit velocity heat and maximum power and irreversibility\n",
-      "##initialisation of variables\n",
-      "m= 100. ##kg/s\n",
-      "M= 58. ##kg/kmol\n",
-      "v1= 0.164 ##m^3/kmol\n",
-      "r= 0.1 ##m\n",
-      "v2= 2.675 ##m^3/kmol \n",
-      "T= 175. ##C\n",
-      "T1= 80. ##C\n",
-      "cp= 1.75 ##kJ/kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "dh= 3.6 ##kJ/kg\n",
-      "dh1= 0.5 ##kJ/kg\n",
-      "T2= 425 ##K\n",
-      "p2= 0.9 ##Mpa\n",
-      "p1= 7.5 ##Mpa\n",
-      "ds= 2.7*R \n",
-      "ds1= 0.4*R\n",
-      "##CAULATIONS\n",
-      "A= math.pi*r*r\n",
-      "n= m/M\n",
-      "V1= v1*n/A\n",
-      "V2= v2*n/A\n",
-      "Cp= M*cp\n",
-      "H= -(Cp*(T1-T)+(dh-dh1)*R*T2)\n",
-      "Q= n*(H+((M/1000)*((V2*V2-V1*V1)/2)))\n",
-      "dS= Cp*math.log((273.51+T1)/(273.15+T))+R*(-math.log(p2/p1)+((ds/R)-(ds1/R)))\n",
-      "Wmax= (Q-12)-n*(273.15+27)*(-dS)\n",
-      "I= Wmax\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('entrance velocity=',V1,'m/s')\n",
-      "print'%s %.1f %s'% ('exit velocity=',V2,'m/s')\n",
-      "print'%s %.1f %s'% ('Heat=',Q-12,'kW')\n",
-      "print'%s %.1f %s'% ('maximum power=',Wmax-54,'kW')\n",
-      "print'%s %.1f %s'% ('irreversiblity=',I-54,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entrance velocity= 9 m/s\n",
-        "exit velocity= 146.8 m/s\n",
-        "Heat= -1199.1 kW\n",
-        "maximum power= 5305.0 kW\n",
-        "irreversiblity= 5305.0 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg319"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualate work of compession and work of reversible isthoremal process and work\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 400. ##C\n",
-      "M= 18.015 ##kg/s\n",
-      "p2= 30. ##Mpa\n",
-      "p1= 5. ##Mpa\n",
-      "f2= 17.7\n",
-      "f1=4.85\n",
-      "s1= 6.6459 ##kJ/kg K\n",
-      "s2= 4.4728 ##kJ/kg K\n",
-      "h1= 3195.7 ##kJ/kg\n",
-      "h2= 2151.1 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "W= -R*(273.15+T)*math.log(p2/p1)/M\n",
-      "W1= -R*(273.15+T)*math.log(f2/f1)/M\n",
-      "W2= h1-h2-(273.15+T)*(s1-s2)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Work of compression=',W,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Work of reversible isothermal process=',W1,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Work =',W2,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Work of compression= -556.6 kJ/kg\n",
-        "Work of reversible isothermal process= -402.2 kJ/kg\n",
-        "Work = -418.2 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter14_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter14_2.ipynb
deleted file mode 100755
index 5bcffb75..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter14_2.ipynb
+++ /dev/null
@@ -1,313 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:dceed5d123e7adb1d73db762a18a52615a5b487342c94704535d968cf751d6c0"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter14-equations of state and generlized charts"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "import numpy\n",
-      "#calcualte isotherm\n",
-      "##initialisation of variables\n",
-      "a=552.6 ##kPa m^6/kmol^2\n",
-      "b= 0.03402 ##m^3/kmol\n",
-      "p= 100. ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "vec=([p,-a,2*a*b])\n",
-      "vector= numpy.roots(vec)\n",
-      "x=vec[0]\n",
-      "T= 2*a*(x-b)*(x-b)/(R*x*x*x)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' isotherm=',T,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " isotherm= 1.3 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg307"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volumes of given temperatures\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 400. ##C\n",
-      "T1= 500. ##C\n",
-      "M= 18.015 ##kg/k mol\n",
-      "p1= 30. ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v1= R*(273.15+T)/(M*p1*10*10*10)\n",
-      "v2= R*(273.15+T1)/(M*p1*10*10*10)\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'% ('volume=',v1,'m^3/kg')\n",
-      "print'%s %.5f %s'% ('volume=',v2,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume= 0.01036 m^3/kg\n",
-        "volume= 0.01189 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg310"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate specific enthalpy at each and every point their differences\n",
-      "##initialisation of variables\n",
-      "h1= 3892.2 ##kJ/kg\n",
-      "h2= 4102.2 ##kJ/kg\n",
-      "dh= 1015.4 ##kJ/kg\n",
-      "dh1= 448. ##kJ/kg\n",
-      "h3= 2151.1 ##kJ/kg\n",
-      "h4= 3081.1 ##kJ/kg\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h1,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h2,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h3,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h4,'kJ/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy difference=',dh,'kJ/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy difference=',dh1,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Specific Enthalpy= 3892.2 kJ/kg\n",
-        "Specific Enthalpy= 4102.2 kJ/kg\n",
-        "Specific Enthalpy= 2151.1 kJ/kg\n",
-        "Specific Enthalpy= 3081.1 kJ/kg\n",
-        "Enthalpy difference= 1015 kJ/kg\n",
-        "Enthalpy difference= 448 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg313"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy at every point\n",
-      "##initialisation of variables\n",
-      "s2= 5.7905 ##kJ/kg K\n",
-      "s1= 4.4728 ##kJ/kg K\n",
-      "s3= 4.64437 ##kJ/kg K\n",
-      "s4= 5.7883 ##kJ/kg K\n",
-      "s5= 6.2036 ##kJ/kg K\n",
-      "s6= 5.9128 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "S1= s2-s1\n",
-      "S2= s4-s3\n",
-      "S3= s5-s6\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('Entropy=',S1,'kJ/kg K')\n",
-      "print'%s %.4f %s'%  ('Entropy=',S2,'kJ/kg K')\n",
-      "print'%s %.4f %s'% ('Entropy=',S3,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Entropy= 1.3177 kJ/kg K\n",
-        "Entropy= 1.1439 kJ/kg K\n",
-        "Entropy= 0.2908 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg315"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entrance velocity and exit velocity heat and maximum power and irreversibility\n",
-      "##initialisation of variables\n",
-      "m= 100. ##kg/s\n",
-      "M= 58. ##kg/kmol\n",
-      "v1= 0.164 ##m^3/kmol\n",
-      "r= 0.1 ##m\n",
-      "v2= 2.675 ##m^3/kmol \n",
-      "T= 175. ##C\n",
-      "T1= 80. ##C\n",
-      "cp= 1.75 ##kJ/kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "dh= 3.6 ##kJ/kg\n",
-      "dh1= 0.5 ##kJ/kg\n",
-      "T2= 425 ##K\n",
-      "p2= 0.9 ##Mpa\n",
-      "p1= 7.5 ##Mpa\n",
-      "ds= 2.7*R \n",
-      "ds1= 0.4*R\n",
-      "##CAULATIONS\n",
-      "A= math.pi*r*r\n",
-      "n= m/M\n",
-      "V1= v1*n/A\n",
-      "V2= v2*n/A\n",
-      "Cp= M*cp\n",
-      "H= -(Cp*(T1-T)+(dh-dh1)*R*T2)\n",
-      "Q= n*(H+((M/1000)*((V2*V2-V1*V1)/2)))\n",
-      "dS= Cp*math.log((273.51+T1)/(273.15+T))+R*(-math.log(p2/p1)+((ds/R)-(ds1/R)))\n",
-      "Wmax= (Q-12)-n*(273.15+27)*(-dS)\n",
-      "I= Wmax\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('entrance velocity=',V1,'m/s')\n",
-      "print'%s %.1f %s'% ('exit velocity=',V2,'m/s')\n",
-      "print'%s %.1f %s'% ('Heat=',Q-12,'kW')\n",
-      "print'%s %.1f %s'% ('maximum power=',Wmax-54,'kW')\n",
-      "print'%s %.1f %s'% ('irreversiblity=',I-54,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entrance velocity= 9 m/s\n",
-        "exit velocity= 146.8 m/s\n",
-        "Heat= -1199.1 kW\n",
-        "maximum power= 5305.0 kW\n",
-        "irreversiblity= 5305.0 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg319"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualate work of compession and work of reversible isthoremal process and work\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 400. ##C\n",
-      "M= 18.015 ##kg/s\n",
-      "p2= 30. ##Mpa\n",
-      "p1= 5. ##Mpa\n",
-      "f2= 17.7\n",
-      "f1=4.85\n",
-      "s1= 6.6459 ##kJ/kg K\n",
-      "s2= 4.4728 ##kJ/kg K\n",
-      "h1= 3195.7 ##kJ/kg\n",
-      "h2= 2151.1 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "W= -R*(273.15+T)*math.log(p2/p1)/M\n",
-      "W1= -R*(273.15+T)*math.log(f2/f1)/M\n",
-      "W2= h1-h2-(273.15+T)*(s1-s2)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Work of compression=',W,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Work of reversible isothermal process=',W1,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Work =',W2,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Work of compression= -556.6 kJ/kg\n",
-        "Work of reversible isothermal process= -402.2 kJ/kg\n",
-        "Work = -418.2 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter14_Equations_of_state_and_generlized_charts.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter14_Equations_of_state_and_generlized_charts.ipynb
deleted file mode 100755
index 5bcffb75..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter14_Equations_of_state_and_generlized_charts.ipynb
+++ /dev/null
@@ -1,313 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:dceed5d123e7adb1d73db762a18a52615a5b487342c94704535d968cf751d6c0"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter14-equations of state and generlized charts"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "import numpy\n",
-      "#calcualte isotherm\n",
-      "##initialisation of variables\n",
-      "a=552.6 ##kPa m^6/kmol^2\n",
-      "b= 0.03402 ##m^3/kmol\n",
-      "p= 100. ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "vec=([p,-a,2*a*b])\n",
-      "vector= numpy.roots(vec)\n",
-      "x=vec[0]\n",
-      "T= 2*a*(x-b)*(x-b)/(R*x*x*x)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' isotherm=',T,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " isotherm= 1.3 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg307"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volumes of given temperatures\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 400. ##C\n",
-      "T1= 500. ##C\n",
-      "M= 18.015 ##kg/k mol\n",
-      "p1= 30. ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v1= R*(273.15+T)/(M*p1*10*10*10)\n",
-      "v2= R*(273.15+T1)/(M*p1*10*10*10)\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'% ('volume=',v1,'m^3/kg')\n",
-      "print'%s %.5f %s'% ('volume=',v2,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume= 0.01036 m^3/kg\n",
-        "volume= 0.01189 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg310"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate specific enthalpy at each and every point their differences\n",
-      "##initialisation of variables\n",
-      "h1= 3892.2 ##kJ/kg\n",
-      "h2= 4102.2 ##kJ/kg\n",
-      "dh= 1015.4 ##kJ/kg\n",
-      "dh1= 448. ##kJ/kg\n",
-      "h3= 2151.1 ##kJ/kg\n",
-      "h4= 3081.1 ##kJ/kg\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h1,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h2,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h3,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Specific Enthalpy=',h4,'kJ/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy difference=',dh,'kJ/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy difference=',dh1,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Specific Enthalpy= 3892.2 kJ/kg\n",
-        "Specific Enthalpy= 4102.2 kJ/kg\n",
-        "Specific Enthalpy= 2151.1 kJ/kg\n",
-        "Specific Enthalpy= 3081.1 kJ/kg\n",
-        "Enthalpy difference= 1015 kJ/kg\n",
-        "Enthalpy difference= 448 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg313"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy at every point\n",
-      "##initialisation of variables\n",
-      "s2= 5.7905 ##kJ/kg K\n",
-      "s1= 4.4728 ##kJ/kg K\n",
-      "s3= 4.64437 ##kJ/kg K\n",
-      "s4= 5.7883 ##kJ/kg K\n",
-      "s5= 6.2036 ##kJ/kg K\n",
-      "s6= 5.9128 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "S1= s2-s1\n",
-      "S2= s4-s3\n",
-      "S3= s5-s6\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('Entropy=',S1,'kJ/kg K')\n",
-      "print'%s %.4f %s'%  ('Entropy=',S2,'kJ/kg K')\n",
-      "print'%s %.4f %s'% ('Entropy=',S3,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Entropy= 1.3177 kJ/kg K\n",
-        "Entropy= 1.1439 kJ/kg K\n",
-        "Entropy= 0.2908 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg315"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entrance velocity and exit velocity heat and maximum power and irreversibility\n",
-      "##initialisation of variables\n",
-      "m= 100. ##kg/s\n",
-      "M= 58. ##kg/kmol\n",
-      "v1= 0.164 ##m^3/kmol\n",
-      "r= 0.1 ##m\n",
-      "v2= 2.675 ##m^3/kmol \n",
-      "T= 175. ##C\n",
-      "T1= 80. ##C\n",
-      "cp= 1.75 ##kJ/kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "dh= 3.6 ##kJ/kg\n",
-      "dh1= 0.5 ##kJ/kg\n",
-      "T2= 425 ##K\n",
-      "p2= 0.9 ##Mpa\n",
-      "p1= 7.5 ##Mpa\n",
-      "ds= 2.7*R \n",
-      "ds1= 0.4*R\n",
-      "##CAULATIONS\n",
-      "A= math.pi*r*r\n",
-      "n= m/M\n",
-      "V1= v1*n/A\n",
-      "V2= v2*n/A\n",
-      "Cp= M*cp\n",
-      "H= -(Cp*(T1-T)+(dh-dh1)*R*T2)\n",
-      "Q= n*(H+((M/1000)*((V2*V2-V1*V1)/2)))\n",
-      "dS= Cp*math.log((273.51+T1)/(273.15+T))+R*(-math.log(p2/p1)+((ds/R)-(ds1/R)))\n",
-      "Wmax= (Q-12)-n*(273.15+27)*(-dS)\n",
-      "I= Wmax\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('entrance velocity=',V1,'m/s')\n",
-      "print'%s %.1f %s'% ('exit velocity=',V2,'m/s')\n",
-      "print'%s %.1f %s'% ('Heat=',Q-12,'kW')\n",
-      "print'%s %.1f %s'% ('maximum power=',Wmax-54,'kW')\n",
-      "print'%s %.1f %s'% ('irreversiblity=',I-54,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entrance velocity= 9 m/s\n",
-        "exit velocity= 146.8 m/s\n",
-        "Heat= -1199.1 kW\n",
-        "maximum power= 5305.0 kW\n",
-        "irreversiblity= 5305.0 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg319"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualate work of compession and work of reversible isthoremal process and work\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 400. ##C\n",
-      "M= 18.015 ##kg/s\n",
-      "p2= 30. ##Mpa\n",
-      "p1= 5. ##Mpa\n",
-      "f2= 17.7\n",
-      "f1=4.85\n",
-      "s1= 6.6459 ##kJ/kg K\n",
-      "s2= 4.4728 ##kJ/kg K\n",
-      "h1= 3195.7 ##kJ/kg\n",
-      "h2= 2151.1 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "W= -R*(273.15+T)*math.log(p2/p1)/M\n",
-      "W1= -R*(273.15+T)*math.log(f2/f1)/M\n",
-      "W2= h1-h2-(273.15+T)*(s1-s2)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Work of compression=',W,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Work of reversible isothermal process=',W1,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('Work =',W2,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Work of compression= -556.6 kJ/kg\n",
-        "Work of reversible isothermal process= -402.2 kJ/kg\n",
-        "Work = -418.2 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter15-.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter15-.ipynb
deleted file mode 100755
index 7474279a..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter15-.ipynb
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:80d64855fab39260827744b179bb4ae70aaba7b386517244e3cbca404875a81d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter15-multicomponet systems"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg332"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume of the phase\n",
-      "##initialisation of variables\n",
-      "m2= 50. ##gms\n",
-      "M= 46. ##gms\n",
-      "m1= 50. ##gms\n",
-      "M1= 18. ##gms\n",
-      "v1= 17402. ##cm^3/kmol\n",
-      "v2= 56090. ##cm^3/kmol\n",
-      "##CALCULATIONS\n",
-      "x2= (m2/M)/((m2/M)+(m1/M1))\n",
-      "V= (v1*(m1/M1)+v2*(m2/M))*math.pow(10,-3)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('volume of the phase=',V,'cm^3')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume of the phase= 109.3 cm^3\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-337"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte difference in enthalpy and amount of heat removed\n",
-      "##initialisation of variables\n",
-      "nw= 9 ##kmol\n",
-      "na= 1 ##kmol\n",
-      "##CALCULATIONS\n",
-      "dh= 75*nw*nw/math.pow(na+1.8*nw,2)\n",
-      "Q= -75*na*nw/(nw+1.8*na)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%  ('difference in enthalpy=',dh,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('amount of heat removed=',Q,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "difference in enthalpy= 20.53 kJ/kg\n",
-        "amount of heat removed= -62.5 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter15-multicomponet_systems.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter15-multicomponet_systems.ipynb
deleted file mode 100755
index 7474279a..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter15-multicomponet_systems.ipynb
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:80d64855fab39260827744b179bb4ae70aaba7b386517244e3cbca404875a81d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter15-multicomponet systems"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg332"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume of the phase\n",
-      "##initialisation of variables\n",
-      "m2= 50. ##gms\n",
-      "M= 46. ##gms\n",
-      "m1= 50. ##gms\n",
-      "M1= 18. ##gms\n",
-      "v1= 17402. ##cm^3/kmol\n",
-      "v2= 56090. ##cm^3/kmol\n",
-      "##CALCULATIONS\n",
-      "x2= (m2/M)/((m2/M)+(m1/M1))\n",
-      "V= (v1*(m1/M1)+v2*(m2/M))*math.pow(10,-3)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('volume of the phase=',V,'cm^3')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume of the phase= 109.3 cm^3\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-337"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte difference in enthalpy and amount of heat removed\n",
-      "##initialisation of variables\n",
-      "nw= 9 ##kmol\n",
-      "na= 1 ##kmol\n",
-      "##CALCULATIONS\n",
-      "dh= 75*nw*nw/math.pow(na+1.8*nw,2)\n",
-      "Q= -75*na*nw/(nw+1.8*na)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%  ('difference in enthalpy=',dh,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('amount of heat removed=',Q,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "difference in enthalpy= 20.53 kJ/kg\n",
-        "amount of heat removed= -62.5 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter15.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter15.ipynb
deleted file mode 100755
index 7474279a..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter15.ipynb
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:80d64855fab39260827744b179bb4ae70aaba7b386517244e3cbca404875a81d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter15-multicomponet systems"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg332"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume of the phase\n",
-      "##initialisation of variables\n",
-      "m2= 50. ##gms\n",
-      "M= 46. ##gms\n",
-      "m1= 50. ##gms\n",
-      "M1= 18. ##gms\n",
-      "v1= 17402. ##cm^3/kmol\n",
-      "v2= 56090. ##cm^3/kmol\n",
-      "##CALCULATIONS\n",
-      "x2= (m2/M)/((m2/M)+(m1/M1))\n",
-      "V= (v1*(m1/M1)+v2*(m2/M))*math.pow(10,-3)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('volume of the phase=',V,'cm^3')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume of the phase= 109.3 cm^3\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-337"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte difference in enthalpy and amount of heat removed\n",
-      "##initialisation of variables\n",
-      "nw= 9 ##kmol\n",
-      "na= 1 ##kmol\n",
-      "##CALCULATIONS\n",
-      "dh= 75*nw*nw/math.pow(na+1.8*nw,2)\n",
-      "Q= -75*na*nw/(nw+1.8*na)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%  ('difference in enthalpy=',dh,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('amount of heat removed=',Q,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "difference in enthalpy= 20.53 kJ/kg\n",
-        "amount of heat removed= -62.5 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter15_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter15_1.ipynb
deleted file mode 100755
index 7474279a..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter15_1.ipynb
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:80d64855fab39260827744b179bb4ae70aaba7b386517244e3cbca404875a81d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter15-multicomponet systems"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg332"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume of the phase\n",
-      "##initialisation of variables\n",
-      "m2= 50. ##gms\n",
-      "M= 46. ##gms\n",
-      "m1= 50. ##gms\n",
-      "M1= 18. ##gms\n",
-      "v1= 17402. ##cm^3/kmol\n",
-      "v2= 56090. ##cm^3/kmol\n",
-      "##CALCULATIONS\n",
-      "x2= (m2/M)/((m2/M)+(m1/M1))\n",
-      "V= (v1*(m1/M1)+v2*(m2/M))*math.pow(10,-3)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('volume of the phase=',V,'cm^3')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume of the phase= 109.3 cm^3\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-337"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte difference in enthalpy and amount of heat removed\n",
-      "##initialisation of variables\n",
-      "nw= 9 ##kmol\n",
-      "na= 1 ##kmol\n",
-      "##CALCULATIONS\n",
-      "dh= 75*nw*nw/math.pow(na+1.8*nw,2)\n",
-      "Q= -75*na*nw/(nw+1.8*na)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%  ('difference in enthalpy=',dh,'kJ/kg')\n",
-      "print'%s %.1f %s'% ('amount of heat removed=',Q,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "difference in enthalpy= 20.53 kJ/kg\n",
-        "amount of heat removed= -62.5 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter16-.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter16-.ipynb
deleted file mode 100755
index b1fb1e8a..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter16-.ipynb
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:e59b2fd71b4552cea44cac8d6a7db5757cb1bae32cfc202beb06aefa6735b63c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter16-equlibrium"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg349"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy at the equllibrium state\n",
-      "##initialisation of variables\n",
-      "m= 10. ##kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "k= 1.4\n",
-      "M= 29. ##kg\n",
-      "TA= 20. ##C\n",
-      "TB= 200. ##C\n",
-      "##CALCULATIONS\n",
-      "T= (TA+TB)/2\n",
-      "dS= 0.5*m*R*(math.log(273.15+T)*math.log(273.15+T))/((273.15+TA)*(273.15+TB))/((k-1)*M)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('entropy at the equillibrium state=',dS,'kJ/K')\n",
-      "\n",
-      "\n",
-      "##answer GIVEN IN THE TEXTBOOK IS WRONG\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entropy at the equillibrium state= 0.0009 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg357"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte equlibrium pressure and diameter of droplet\n",
-      "##initialisation of variables\n",
-      "psat= 143.3 ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 110. ##C\n",
-      "m= 18.02 ##gms\n",
-      "pv= 150. ##kPa\n",
-      "v= 0.001052 ##m^3/kg\n",
-      "s= math.pow(10,-3)\n",
-      "##CALCULATIONS\n",
-      "PL= psat+((R*(273.15+T)/(m*0.0010502))*math.log(pv/psat))\n",
-      "D= (4*s/(PL-pv))*(75.64-13.91*(T/100)-3*(T/100)*(T/100))*10*10*10\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('equilibrium pressure=',PL-13,'kPa')\n",
-      "print'%s %.4f %s'% ('diameter of droplet=',D,'mm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "equilibrium pressure= 7822 kPa\n",
-        "diameter of droplet= 0.0295 mm\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter16-Equlibrium.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter16-Equlibrium.ipynb
deleted file mode 100755
index b1fb1e8a..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter16-Equlibrium.ipynb
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:e59b2fd71b4552cea44cac8d6a7db5757cb1bae32cfc202beb06aefa6735b63c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter16-equlibrium"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg349"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy at the equllibrium state\n",
-      "##initialisation of variables\n",
-      "m= 10. ##kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "k= 1.4\n",
-      "M= 29. ##kg\n",
-      "TA= 20. ##C\n",
-      "TB= 200. ##C\n",
-      "##CALCULATIONS\n",
-      "T= (TA+TB)/2\n",
-      "dS= 0.5*m*R*(math.log(273.15+T)*math.log(273.15+T))/((273.15+TA)*(273.15+TB))/((k-1)*M)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('entropy at the equillibrium state=',dS,'kJ/K')\n",
-      "\n",
-      "\n",
-      "##answer GIVEN IN THE TEXTBOOK IS WRONG\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entropy at the equillibrium state= 0.0009 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg357"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte equlibrium pressure and diameter of droplet\n",
-      "##initialisation of variables\n",
-      "psat= 143.3 ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 110. ##C\n",
-      "m= 18.02 ##gms\n",
-      "pv= 150. ##kPa\n",
-      "v= 0.001052 ##m^3/kg\n",
-      "s= math.pow(10,-3)\n",
-      "##CALCULATIONS\n",
-      "PL= psat+((R*(273.15+T)/(m*0.0010502))*math.log(pv/psat))\n",
-      "D= (4*s/(PL-pv))*(75.64-13.91*(T/100)-3*(T/100)*(T/100))*10*10*10\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('equilibrium pressure=',PL-13,'kPa')\n",
-      "print'%s %.4f %s'% ('diameter of droplet=',D,'mm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "equilibrium pressure= 7822 kPa\n",
-        "diameter of droplet= 0.0295 mm\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter16.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter16.ipynb
deleted file mode 100755
index b1fb1e8a..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter16.ipynb
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:e59b2fd71b4552cea44cac8d6a7db5757cb1bae32cfc202beb06aefa6735b63c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter16-equlibrium"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg349"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy at the equllibrium state\n",
-      "##initialisation of variables\n",
-      "m= 10. ##kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "k= 1.4\n",
-      "M= 29. ##kg\n",
-      "TA= 20. ##C\n",
-      "TB= 200. ##C\n",
-      "##CALCULATIONS\n",
-      "T= (TA+TB)/2\n",
-      "dS= 0.5*m*R*(math.log(273.15+T)*math.log(273.15+T))/((273.15+TA)*(273.15+TB))/((k-1)*M)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('entropy at the equillibrium state=',dS,'kJ/K')\n",
-      "\n",
-      "\n",
-      "##answer GIVEN IN THE TEXTBOOK IS WRONG\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entropy at the equillibrium state= 0.0009 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg357"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte equlibrium pressure and diameter of droplet\n",
-      "##initialisation of variables\n",
-      "psat= 143.3 ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 110. ##C\n",
-      "m= 18.02 ##gms\n",
-      "pv= 150. ##kPa\n",
-      "v= 0.001052 ##m^3/kg\n",
-      "s= math.pow(10,-3)\n",
-      "##CALCULATIONS\n",
-      "PL= psat+((R*(273.15+T)/(m*0.0010502))*math.log(pv/psat))\n",
-      "D= (4*s/(PL-pv))*(75.64-13.91*(T/100)-3*(T/100)*(T/100))*10*10*10\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('equilibrium pressure=',PL-13,'kPa')\n",
-      "print'%s %.4f %s'% ('diameter of droplet=',D,'mm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "equilibrium pressure= 7822 kPa\n",
-        "diameter of droplet= 0.0295 mm\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter16_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter16_1.ipynb
deleted file mode 100755
index b1fb1e8a..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter16_1.ipynb
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:e59b2fd71b4552cea44cac8d6a7db5757cb1bae32cfc202beb06aefa6735b63c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter16-equlibrium"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg349"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate entropy at the equllibrium state\n",
-      "##initialisation of variables\n",
-      "m= 10. ##kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "k= 1.4\n",
-      "M= 29. ##kg\n",
-      "TA= 20. ##C\n",
-      "TB= 200. ##C\n",
-      "##CALCULATIONS\n",
-      "T= (TA+TB)/2\n",
-      "dS= 0.5*m*R*(math.log(273.15+T)*math.log(273.15+T))/((273.15+TA)*(273.15+TB))/((k-1)*M)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('entropy at the equillibrium state=',dS,'kJ/K')\n",
-      "\n",
-      "\n",
-      "##answer GIVEN IN THE TEXTBOOK IS WRONG\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "entropy at the equillibrium state= 0.0009 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg357"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calcualte equlibrium pressure and diameter of droplet\n",
-      "##initialisation of variables\n",
-      "psat= 143.3 ##kPa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 110. ##C\n",
-      "m= 18.02 ##gms\n",
-      "pv= 150. ##kPa\n",
-      "v= 0.001052 ##m^3/kg\n",
-      "s= math.pow(10,-3)\n",
-      "##CALCULATIONS\n",
-      "PL= psat+((R*(273.15+T)/(m*0.0010502))*math.log(pv/psat))\n",
-      "D= (4*s/(PL-pv))*(75.64-13.91*(T/100)-3*(T/100)*(T/100))*10*10*10\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('equilibrium pressure=',PL-13,'kPa')\n",
-      "print'%s %.4f %s'% ('diameter of droplet=',D,'mm')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "equilibrium pressure= 7822 kPa\n",
-        "diameter of droplet= 0.0295 mm\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter17-.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter17-.ipynb
deleted file mode 100755
index 2d6dc101..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter17-.ipynb
+++ /dev/null
@@ -1,250 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:0bd1584504a5182c99f46d576a77cfaa07f83a047faf3b55eaafd0cea74518f2"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter17-Ideal solutions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg367"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate Total pressure and composition of vapour phases and composition of last drop liquids\n",
-      "##initialisation of variables\n",
-      "Pa= 40. ##kPa\n",
-      "Pb= 50. ##kPa\n",
-      "na= 2. ##moles\n",
-      "nb= 6. ##moles\n",
-      "##CALCULATIONS\n",
-      "a= Pb/Pa\n",
-      "xa= na/(na+nb)\n",
-      "xb= 1.-xa\n",
-      "p= xa*Pa+xb*Pb\n",
-      "y= (xa*Pa)/p\n",
-      "ya= 1.-y\n",
-      "Xa= a*xa/(1+(a-1)*xa)\n",
-      "Xb= 1.-Xa\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Total pressure=',p,'kPa')\n",
-      "print'%s %.4f %s'%('composition of vapour phase=',y,'')\n",
-      "print'%s %.4f %s'%('composition of vapour phase=',ya,'')\n",
-      "print'%s %.4f %s'%('composition of last drop of liquid=',Xa,'')\n",
-      "print'%s %.4f %s'%('composition of last drop of liquid=',Xb,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Total pressure= 47.5 kPa\n",
-        "composition of vapour phase= 0.2105 \n",
-        "composition of vapour phase= 0.7895 \n",
-        "composition of last drop of liquid= 0.2941 \n",
-        "composition of last drop of liquid= 0.7059 \n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg371"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\t\n",
-      "#calculate pressure of the phase of pure A\n",
-      "##initialisation of variables\n",
-      "p0= 10. ##Mpa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 30. ##C\n",
-      "va= 0.02 ##m^3/kmol\n",
-      "xa= 0.98\n",
-      "##CALCULATIONS\n",
-      "p= p0+(R*(273.15+T)*math.log(xa)/(va*1000.))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('Pressure of the phase of pure A=',p,'Mpa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Pressure of the phase of pure A= 7.45 Mpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg373"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the boiling point elevation\n",
-      "##initialisation of variables\n",
-      "hfg= 2257.0 ##kJ/kg\n",
-      "Tb= 100 ##C\n",
-      "R= 8.314 ##J/mol K\n",
-      "m2= 10 ##gms\n",
-      "M2= 58.5 ##gms\n",
-      "m1= 90. ##gms\n",
-      "M1= 18. ##gms\n",
-      "##CALCULATIONS\n",
-      "x2= (m2/M2)/((m2/M2)+(m1/M1))\n",
-      "dT= R*math.pow(273.15+Tb,2)*x2/(M1*hfg)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' Boiling point elevation=',dT,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Boiling point elevation= 0.942 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg376"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate Osomatic pressures\n",
-      "##initialisation of variables\n",
-      "M1= 18.02 ##gms\n",
-      "m1= 0.965 ##gms\n",
-      "m2= 0.035 ##gms\n",
-      "M2= 58.5 ##gms\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 18.02 ##kg\n",
-      "T= 20. ##C\n",
-      "vf= 0.001002 ##m^3\n",
-      "x21= 0.021856 ##m^3\n",
-      "##CALCULATIONS\n",
-      "n1= m1/M1\n",
-      "n2= m2/M2\n",
-      "x1= n1/(n1+n2)\n",
-      "x2= n2/(n2+n1)\n",
-      "P= R*(273.15+T)*x2/(M*vf)\n",
-      "P1=  R*(273.15+T)*x21/(M*vf)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Osmotic pressure=',P,'kpa')\n",
-      "print'%s %.1f %s'%('Osmotic pressure=',P1,'kpa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Osmotic pressure= 1491.4 kpa\n",
-        "Osmotic pressure= 2950.2 kpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg377"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is useful work in the process and heat interaction and maximum work and irreversibility\n",
-      "##initialisation of variables\n",
-      "W= 0.\n",
-      "Q= 0.\n",
-      "R= 8.314 ##J/mol K\n",
-      "T0= 300. ##K\n",
-      "x= 5./13.\n",
-      "n1= 0.5 ##kmol/s\n",
-      "n2= 0.8 ##kmol/s\n",
-      "##CALCULATIONS\n",
-      "W1= (n1+n2)*R*T0*(x*math.log(1/x)+(1-x)*math.log(1/(1-x)))\n",
-      "I= W1\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('useful work of the process=',W,'kW') \n",
-      "print'%s %.f %s'%('heat interaction=',Q,'kW') \n",
-      "print'%s %.1f %s'%('maximum work=',W1,'kW') \n",
-      "print'%s %.1f %s'%('irreversibility=',I,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "useful work of the process= 0 kW\n",
-        "heat interaction= 0 kW\n",
-        "maximum work= 2160.4 kW\n",
-        "irreversibility= 2160.4 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter17-Ideal_solutions.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter17-Ideal_solutions.ipynb
deleted file mode 100755
index 2d6dc101..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter17-Ideal_solutions.ipynb
+++ /dev/null
@@ -1,250 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:0bd1584504a5182c99f46d576a77cfaa07f83a047faf3b55eaafd0cea74518f2"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter17-Ideal solutions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg367"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate Total pressure and composition of vapour phases and composition of last drop liquids\n",
-      "##initialisation of variables\n",
-      "Pa= 40. ##kPa\n",
-      "Pb= 50. ##kPa\n",
-      "na= 2. ##moles\n",
-      "nb= 6. ##moles\n",
-      "##CALCULATIONS\n",
-      "a= Pb/Pa\n",
-      "xa= na/(na+nb)\n",
-      "xb= 1.-xa\n",
-      "p= xa*Pa+xb*Pb\n",
-      "y= (xa*Pa)/p\n",
-      "ya= 1.-y\n",
-      "Xa= a*xa/(1+(a-1)*xa)\n",
-      "Xb= 1.-Xa\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Total pressure=',p,'kPa')\n",
-      "print'%s %.4f %s'%('composition of vapour phase=',y,'')\n",
-      "print'%s %.4f %s'%('composition of vapour phase=',ya,'')\n",
-      "print'%s %.4f %s'%('composition of last drop of liquid=',Xa,'')\n",
-      "print'%s %.4f %s'%('composition of last drop of liquid=',Xb,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Total pressure= 47.5 kPa\n",
-        "composition of vapour phase= 0.2105 \n",
-        "composition of vapour phase= 0.7895 \n",
-        "composition of last drop of liquid= 0.2941 \n",
-        "composition of last drop of liquid= 0.7059 \n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg371"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\t\n",
-      "#calculate pressure of the phase of pure A\n",
-      "##initialisation of variables\n",
-      "p0= 10. ##Mpa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 30. ##C\n",
-      "va= 0.02 ##m^3/kmol\n",
-      "xa= 0.98\n",
-      "##CALCULATIONS\n",
-      "p= p0+(R*(273.15+T)*math.log(xa)/(va*1000.))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('Pressure of the phase of pure A=',p,'Mpa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Pressure of the phase of pure A= 7.45 Mpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg373"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the boiling point elevation\n",
-      "##initialisation of variables\n",
-      "hfg= 2257.0 ##kJ/kg\n",
-      "Tb= 100 ##C\n",
-      "R= 8.314 ##J/mol K\n",
-      "m2= 10 ##gms\n",
-      "M2= 58.5 ##gms\n",
-      "m1= 90. ##gms\n",
-      "M1= 18. ##gms\n",
-      "##CALCULATIONS\n",
-      "x2= (m2/M2)/((m2/M2)+(m1/M1))\n",
-      "dT= R*math.pow(273.15+Tb,2)*x2/(M1*hfg)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' Boiling point elevation=',dT,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Boiling point elevation= 0.942 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg376"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate Osomatic pressures\n",
-      "##initialisation of variables\n",
-      "M1= 18.02 ##gms\n",
-      "m1= 0.965 ##gms\n",
-      "m2= 0.035 ##gms\n",
-      "M2= 58.5 ##gms\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 18.02 ##kg\n",
-      "T= 20. ##C\n",
-      "vf= 0.001002 ##m^3\n",
-      "x21= 0.021856 ##m^3\n",
-      "##CALCULATIONS\n",
-      "n1= m1/M1\n",
-      "n2= m2/M2\n",
-      "x1= n1/(n1+n2)\n",
-      "x2= n2/(n2+n1)\n",
-      "P= R*(273.15+T)*x2/(M*vf)\n",
-      "P1=  R*(273.15+T)*x21/(M*vf)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Osmotic pressure=',P,'kpa')\n",
-      "print'%s %.1f %s'%('Osmotic pressure=',P1,'kpa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Osmotic pressure= 1491.4 kpa\n",
-        "Osmotic pressure= 2950.2 kpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg377"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is useful work in the process and heat interaction and maximum work and irreversibility\n",
-      "##initialisation of variables\n",
-      "W= 0.\n",
-      "Q= 0.\n",
-      "R= 8.314 ##J/mol K\n",
-      "T0= 300. ##K\n",
-      "x= 5./13.\n",
-      "n1= 0.5 ##kmol/s\n",
-      "n2= 0.8 ##kmol/s\n",
-      "##CALCULATIONS\n",
-      "W1= (n1+n2)*R*T0*(x*math.log(1/x)+(1-x)*math.log(1/(1-x)))\n",
-      "I= W1\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('useful work of the process=',W,'kW') \n",
-      "print'%s %.f %s'%('heat interaction=',Q,'kW') \n",
-      "print'%s %.1f %s'%('maximum work=',W1,'kW') \n",
-      "print'%s %.1f %s'%('irreversibility=',I,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "useful work of the process= 0 kW\n",
-        "heat interaction= 0 kW\n",
-        "maximum work= 2160.4 kW\n",
-        "irreversibility= 2160.4 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter17.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter17.ipynb
deleted file mode 100755
index 2d6dc101..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter17.ipynb
+++ /dev/null
@@ -1,250 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:0bd1584504a5182c99f46d576a77cfaa07f83a047faf3b55eaafd0cea74518f2"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter17-Ideal solutions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg367"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate Total pressure and composition of vapour phases and composition of last drop liquids\n",
-      "##initialisation of variables\n",
-      "Pa= 40. ##kPa\n",
-      "Pb= 50. ##kPa\n",
-      "na= 2. ##moles\n",
-      "nb= 6. ##moles\n",
-      "##CALCULATIONS\n",
-      "a= Pb/Pa\n",
-      "xa= na/(na+nb)\n",
-      "xb= 1.-xa\n",
-      "p= xa*Pa+xb*Pb\n",
-      "y= (xa*Pa)/p\n",
-      "ya= 1.-y\n",
-      "Xa= a*xa/(1+(a-1)*xa)\n",
-      "Xb= 1.-Xa\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Total pressure=',p,'kPa')\n",
-      "print'%s %.4f %s'%('composition of vapour phase=',y,'')\n",
-      "print'%s %.4f %s'%('composition of vapour phase=',ya,'')\n",
-      "print'%s %.4f %s'%('composition of last drop of liquid=',Xa,'')\n",
-      "print'%s %.4f %s'%('composition of last drop of liquid=',Xb,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Total pressure= 47.5 kPa\n",
-        "composition of vapour phase= 0.2105 \n",
-        "composition of vapour phase= 0.7895 \n",
-        "composition of last drop of liquid= 0.2941 \n",
-        "composition of last drop of liquid= 0.7059 \n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg371"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\t\n",
-      "#calculate pressure of the phase of pure A\n",
-      "##initialisation of variables\n",
-      "p0= 10. ##Mpa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 30. ##C\n",
-      "va= 0.02 ##m^3/kmol\n",
-      "xa= 0.98\n",
-      "##CALCULATIONS\n",
-      "p= p0+(R*(273.15+T)*math.log(xa)/(va*1000.))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('Pressure of the phase of pure A=',p,'Mpa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Pressure of the phase of pure A= 7.45 Mpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg373"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the boiling point elevation\n",
-      "##initialisation of variables\n",
-      "hfg= 2257.0 ##kJ/kg\n",
-      "Tb= 100 ##C\n",
-      "R= 8.314 ##J/mol K\n",
-      "m2= 10 ##gms\n",
-      "M2= 58.5 ##gms\n",
-      "m1= 90. ##gms\n",
-      "M1= 18. ##gms\n",
-      "##CALCULATIONS\n",
-      "x2= (m2/M2)/((m2/M2)+(m1/M1))\n",
-      "dT= R*math.pow(273.15+Tb,2)*x2/(M1*hfg)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' Boiling point elevation=',dT,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Boiling point elevation= 0.942 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg376"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate Osomatic pressures\n",
-      "##initialisation of variables\n",
-      "M1= 18.02 ##gms\n",
-      "m1= 0.965 ##gms\n",
-      "m2= 0.035 ##gms\n",
-      "M2= 58.5 ##gms\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 18.02 ##kg\n",
-      "T= 20. ##C\n",
-      "vf= 0.001002 ##m^3\n",
-      "x21= 0.021856 ##m^3\n",
-      "##CALCULATIONS\n",
-      "n1= m1/M1\n",
-      "n2= m2/M2\n",
-      "x1= n1/(n1+n2)\n",
-      "x2= n2/(n2+n1)\n",
-      "P= R*(273.15+T)*x2/(M*vf)\n",
-      "P1=  R*(273.15+T)*x21/(M*vf)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Osmotic pressure=',P,'kpa')\n",
-      "print'%s %.1f %s'%('Osmotic pressure=',P1,'kpa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Osmotic pressure= 1491.4 kpa\n",
-        "Osmotic pressure= 2950.2 kpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg377"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is useful work in the process and heat interaction and maximum work and irreversibility\n",
-      "##initialisation of variables\n",
-      "W= 0.\n",
-      "Q= 0.\n",
-      "R= 8.314 ##J/mol K\n",
-      "T0= 300. ##K\n",
-      "x= 5./13.\n",
-      "n1= 0.5 ##kmol/s\n",
-      "n2= 0.8 ##kmol/s\n",
-      "##CALCULATIONS\n",
-      "W1= (n1+n2)*R*T0*(x*math.log(1/x)+(1-x)*math.log(1/(1-x)))\n",
-      "I= W1\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('useful work of the process=',W,'kW') \n",
-      "print'%s %.f %s'%('heat interaction=',Q,'kW') \n",
-      "print'%s %.1f %s'%('maximum work=',W1,'kW') \n",
-      "print'%s %.1f %s'%('irreversibility=',I,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "useful work of the process= 0 kW\n",
-        "heat interaction= 0 kW\n",
-        "maximum work= 2160.4 kW\n",
-        "irreversibility= 2160.4 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter17_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter17_1.ipynb
deleted file mode 100755
index 2d6dc101..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter17_1.ipynb
+++ /dev/null
@@ -1,250 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:0bd1584504a5182c99f46d576a77cfaa07f83a047faf3b55eaafd0cea74518f2"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter17-Ideal solutions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg367"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate Total pressure and composition of vapour phases and composition of last drop liquids\n",
-      "##initialisation of variables\n",
-      "Pa= 40. ##kPa\n",
-      "Pb= 50. ##kPa\n",
-      "na= 2. ##moles\n",
-      "nb= 6. ##moles\n",
-      "##CALCULATIONS\n",
-      "a= Pb/Pa\n",
-      "xa= na/(na+nb)\n",
-      "xb= 1.-xa\n",
-      "p= xa*Pa+xb*Pb\n",
-      "y= (xa*Pa)/p\n",
-      "ya= 1.-y\n",
-      "Xa= a*xa/(1+(a-1)*xa)\n",
-      "Xb= 1.-Xa\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Total pressure=',p,'kPa')\n",
-      "print'%s %.4f %s'%('composition of vapour phase=',y,'')\n",
-      "print'%s %.4f %s'%('composition of vapour phase=',ya,'')\n",
-      "print'%s %.4f %s'%('composition of last drop of liquid=',Xa,'')\n",
-      "print'%s %.4f %s'%('composition of last drop of liquid=',Xb,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Total pressure= 47.5 kPa\n",
-        "composition of vapour phase= 0.2105 \n",
-        "composition of vapour phase= 0.7895 \n",
-        "composition of last drop of liquid= 0.2941 \n",
-        "composition of last drop of liquid= 0.7059 \n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg371"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\t\n",
-      "#calculate pressure of the phase of pure A\n",
-      "##initialisation of variables\n",
-      "p0= 10. ##Mpa\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 30. ##C\n",
-      "va= 0.02 ##m^3/kmol\n",
-      "xa= 0.98\n",
-      "##CALCULATIONS\n",
-      "p= p0+(R*(273.15+T)*math.log(xa)/(va*1000.))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('Pressure of the phase of pure A=',p,'Mpa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Pressure of the phase of pure A= 7.45 Mpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg373"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the boiling point elevation\n",
-      "##initialisation of variables\n",
-      "hfg= 2257.0 ##kJ/kg\n",
-      "Tb= 100 ##C\n",
-      "R= 8.314 ##J/mol K\n",
-      "m2= 10 ##gms\n",
-      "M2= 58.5 ##gms\n",
-      "m1= 90. ##gms\n",
-      "M1= 18. ##gms\n",
-      "##CALCULATIONS\n",
-      "x2= (m2/M2)/((m2/M2)+(m1/M1))\n",
-      "dT= R*math.pow(273.15+Tb,2)*x2/(M1*hfg)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' Boiling point elevation=',dT,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Boiling point elevation= 0.942 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg376"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate Osomatic pressures\n",
-      "##initialisation of variables\n",
-      "M1= 18.02 ##gms\n",
-      "m1= 0.965 ##gms\n",
-      "m2= 0.035 ##gms\n",
-      "M2= 58.5 ##gms\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 18.02 ##kg\n",
-      "T= 20. ##C\n",
-      "vf= 0.001002 ##m^3\n",
-      "x21= 0.021856 ##m^3\n",
-      "##CALCULATIONS\n",
-      "n1= m1/M1\n",
-      "n2= m2/M2\n",
-      "x1= n1/(n1+n2)\n",
-      "x2= n2/(n2+n1)\n",
-      "P= R*(273.15+T)*x2/(M*vf)\n",
-      "P1=  R*(273.15+T)*x21/(M*vf)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Osmotic pressure=',P,'kpa')\n",
-      "print'%s %.1f %s'%('Osmotic pressure=',P1,'kpa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Osmotic pressure= 1491.4 kpa\n",
-        "Osmotic pressure= 2950.2 kpa\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg377"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is useful work in the process and heat interaction and maximum work and irreversibility\n",
-      "##initialisation of variables\n",
-      "W= 0.\n",
-      "Q= 0.\n",
-      "R= 8.314 ##J/mol K\n",
-      "T0= 300. ##K\n",
-      "x= 5./13.\n",
-      "n1= 0.5 ##kmol/s\n",
-      "n2= 0.8 ##kmol/s\n",
-      "##CALCULATIONS\n",
-      "W1= (n1+n2)*R*T0*(x*math.log(1/x)+(1-x)*math.log(1/(1-x)))\n",
-      "I= W1\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('useful work of the process=',W,'kW') \n",
-      "print'%s %.f %s'%('heat interaction=',Q,'kW') \n",
-      "print'%s %.1f %s'%('maximum work=',W1,'kW') \n",
-      "print'%s %.1f %s'%('irreversibility=',I,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "useful work of the process= 0 kW\n",
-        "heat interaction= 0 kW\n",
-        "maximum work= 2160.4 kW\n",
-        "irreversibility= 2160.4 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter18-.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter18-.ipynb
deleted file mode 100755
index 86e6ded4..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter18-.ipynb
+++ /dev/null
@@ -1,208 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:388411b55217b773ab745745bb0334d4f921763a66e2059d0e5fb20a6dddb702"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter18-Non-ideal solutions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 385"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is saturation pressure\n",
-      "##initialisation of variables\n",
-      "T= 80. ##C\n",
-      "p= 30. ##percent\n",
-      "pw= 47.39 ##kPa\n",
-      "psat= 36 ##kPa\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%(' Saturation pressure=',psat,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Saturation pressure= 36.0 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 385"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is temperature of pure water and saturation pressure\n",
-      "##initialisation of variables\n",
-      "T= 120. ##C\n",
-      "p= 30. ##percent\n",
-      "T2= 80. ##C\n",
-      "psat= 36. ##kPa\n",
-      "Tw= 73. ##C\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Temperature of pure water=',Tw,'C')\n",
-      "print'%s %.1f %s'% ('Saturation pressure=',psat,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Temperature of pure water= 73.0 C\n",
-        "Saturation pressure= 36.0 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 395"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpys at 4 point and maximum temperature and new enthalpy\n",
-      "##initialisation of variables\n",
-      "p= 10. ##bar\n",
-      "P= 40. ##percent\n",
-      "x= 0.4\n",
-      "H1= 16. ##kcal/kg\n",
-      "H2= 31. ##kcal/kg\n",
-      "H3= 64. ##kcal/kg\n",
-      "H4= 140. ##kcal/kg\n",
-      "T= 157. ##C\n",
-      "He= 580. ##kcal/kg\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('Enthalpy=',H1,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy=',H2,'kcal/kg')\n",
-      "print'%s %.f %s'%  ('Enthalpy=',H3,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy=',H4,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Maximum temperature=',T,'C')\n",
-      "print'%s %.f %s'% ('Enthalpy =',He,'kcal/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Enthalpy= 16 kcal/kg\n",
-        "Enthalpy= 31 kcal/kg\n",
-        "Enthalpy= 64 kcal/kg\n",
-        "Enthalpy= 140 kcal/kg\n",
-        "Maximum temperature= 157 C\n",
-        "Enthalpy = 580 kcal/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 397"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is enthalpy and circulation ratio and COP and COPcarnot\n",
-      "##initialisation of variables\n",
-      "v= 0.0011 ##m^3\n",
-      "P1= 1200 ##Mpa\n",
-      "P2= 140 ##Mpa\n",
-      "h5= -103 ##kJ/kg\n",
-      "x4= 0.860\n",
-      "x7= 0.253\n",
-      "x5= 0.337\n",
-      "h1= 1658.1 ##kJ/kg\n",
-      "h7= 343.7 ##kJ/kg\n",
-      "h6= -1008 ##kJ/kg\n",
-      "h4= 639. ##kJ/kg\n",
-      "h3= 40. ##kJ/kg\n",
-      "Tc= -10. ##C\n",
-      "Th= 125. ##C\n",
-      "Ta= 25. ##C\n",
-      "m1= 1. ##kg/s\n",
-      "m7= 6.23 ##kg/s\n",
-      "m6= 7.23 ##kg/s\n",
-      "##CALCULATIONS\n",
-      "h6= h5+v*(P1-P2)\n",
-      "cr= (x4-x7)/(x5-x7)\n",
-      "Qhbym= h1+(m7/m1)*h7-(m6/m1)*h6\n",
-      "Qcbym= h4-h3\n",
-      "COP= Qcbym/Qhbym\n",
-      "COPcarnot= ((273.15+Tc)/(273.15+Th))*((Th-Ta)/(Ta-Tc))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' Enthalpy=',h6,'kJ/kg')\n",
-      "print'%s %.3f %s'% (' circulation ratio=',cr,'')\n",
-      "print'%s %.3f %s'% (' COP=',COP,'')\n",
-      "print'%s %.3f %s'%  (' COP carnot=',COPcarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy= -101.8 kJ/kg\n",
-        " circulation ratio= 7.226 \n",
-        " COP= 0.132 \n",
-        " COP carnot= 1.888 \n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter18-Non-ideal_solutions.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter18-Non-ideal_solutions.ipynb
deleted file mode 100755
index 86e6ded4..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter18-Non-ideal_solutions.ipynb
+++ /dev/null
@@ -1,208 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:388411b55217b773ab745745bb0334d4f921763a66e2059d0e5fb20a6dddb702"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter18-Non-ideal solutions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 385"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is saturation pressure\n",
-      "##initialisation of variables\n",
-      "T= 80. ##C\n",
-      "p= 30. ##percent\n",
-      "pw= 47.39 ##kPa\n",
-      "psat= 36 ##kPa\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%(' Saturation pressure=',psat,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Saturation pressure= 36.0 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 385"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is temperature of pure water and saturation pressure\n",
-      "##initialisation of variables\n",
-      "T= 120. ##C\n",
-      "p= 30. ##percent\n",
-      "T2= 80. ##C\n",
-      "psat= 36. ##kPa\n",
-      "Tw= 73. ##C\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Temperature of pure water=',Tw,'C')\n",
-      "print'%s %.1f %s'% ('Saturation pressure=',psat,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Temperature of pure water= 73.0 C\n",
-        "Saturation pressure= 36.0 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 395"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpys at 4 point and maximum temperature and new enthalpy\n",
-      "##initialisation of variables\n",
-      "p= 10. ##bar\n",
-      "P= 40. ##percent\n",
-      "x= 0.4\n",
-      "H1= 16. ##kcal/kg\n",
-      "H2= 31. ##kcal/kg\n",
-      "H3= 64. ##kcal/kg\n",
-      "H4= 140. ##kcal/kg\n",
-      "T= 157. ##C\n",
-      "He= 580. ##kcal/kg\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('Enthalpy=',H1,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy=',H2,'kcal/kg')\n",
-      "print'%s %.f %s'%  ('Enthalpy=',H3,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy=',H4,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Maximum temperature=',T,'C')\n",
-      "print'%s %.f %s'% ('Enthalpy =',He,'kcal/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Enthalpy= 16 kcal/kg\n",
-        "Enthalpy= 31 kcal/kg\n",
-        "Enthalpy= 64 kcal/kg\n",
-        "Enthalpy= 140 kcal/kg\n",
-        "Maximum temperature= 157 C\n",
-        "Enthalpy = 580 kcal/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 397"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is enthalpy and circulation ratio and COP and COPcarnot\n",
-      "##initialisation of variables\n",
-      "v= 0.0011 ##m^3\n",
-      "P1= 1200 ##Mpa\n",
-      "P2= 140 ##Mpa\n",
-      "h5= -103 ##kJ/kg\n",
-      "x4= 0.860\n",
-      "x7= 0.253\n",
-      "x5= 0.337\n",
-      "h1= 1658.1 ##kJ/kg\n",
-      "h7= 343.7 ##kJ/kg\n",
-      "h6= -1008 ##kJ/kg\n",
-      "h4= 639. ##kJ/kg\n",
-      "h3= 40. ##kJ/kg\n",
-      "Tc= -10. ##C\n",
-      "Th= 125. ##C\n",
-      "Ta= 25. ##C\n",
-      "m1= 1. ##kg/s\n",
-      "m7= 6.23 ##kg/s\n",
-      "m6= 7.23 ##kg/s\n",
-      "##CALCULATIONS\n",
-      "h6= h5+v*(P1-P2)\n",
-      "cr= (x4-x7)/(x5-x7)\n",
-      "Qhbym= h1+(m7/m1)*h7-(m6/m1)*h6\n",
-      "Qcbym= h4-h3\n",
-      "COP= Qcbym/Qhbym\n",
-      "COPcarnot= ((273.15+Tc)/(273.15+Th))*((Th-Ta)/(Ta-Tc))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' Enthalpy=',h6,'kJ/kg')\n",
-      "print'%s %.3f %s'% (' circulation ratio=',cr,'')\n",
-      "print'%s %.3f %s'% (' COP=',COP,'')\n",
-      "print'%s %.3f %s'%  (' COP carnot=',COPcarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy= -101.8 kJ/kg\n",
-        " circulation ratio= 7.226 \n",
-        " COP= 0.132 \n",
-        " COP carnot= 1.888 \n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter18.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter18.ipynb
deleted file mode 100755
index 86e6ded4..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter18.ipynb
+++ /dev/null
@@ -1,208 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:388411b55217b773ab745745bb0334d4f921763a66e2059d0e5fb20a6dddb702"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter18-Non-ideal solutions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 385"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is saturation pressure\n",
-      "##initialisation of variables\n",
-      "T= 80. ##C\n",
-      "p= 30. ##percent\n",
-      "pw= 47.39 ##kPa\n",
-      "psat= 36 ##kPa\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%(' Saturation pressure=',psat,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Saturation pressure= 36.0 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 385"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is temperature of pure water and saturation pressure\n",
-      "##initialisation of variables\n",
-      "T= 120. ##C\n",
-      "p= 30. ##percent\n",
-      "T2= 80. ##C\n",
-      "psat= 36. ##kPa\n",
-      "Tw= 73. ##C\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Temperature of pure water=',Tw,'C')\n",
-      "print'%s %.1f %s'% ('Saturation pressure=',psat,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Temperature of pure water= 73.0 C\n",
-        "Saturation pressure= 36.0 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 395"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpys at 4 point and maximum temperature and new enthalpy\n",
-      "##initialisation of variables\n",
-      "p= 10. ##bar\n",
-      "P= 40. ##percent\n",
-      "x= 0.4\n",
-      "H1= 16. ##kcal/kg\n",
-      "H2= 31. ##kcal/kg\n",
-      "H3= 64. ##kcal/kg\n",
-      "H4= 140. ##kcal/kg\n",
-      "T= 157. ##C\n",
-      "He= 580. ##kcal/kg\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('Enthalpy=',H1,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy=',H2,'kcal/kg')\n",
-      "print'%s %.f %s'%  ('Enthalpy=',H3,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy=',H4,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Maximum temperature=',T,'C')\n",
-      "print'%s %.f %s'% ('Enthalpy =',He,'kcal/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Enthalpy= 16 kcal/kg\n",
-        "Enthalpy= 31 kcal/kg\n",
-        "Enthalpy= 64 kcal/kg\n",
-        "Enthalpy= 140 kcal/kg\n",
-        "Maximum temperature= 157 C\n",
-        "Enthalpy = 580 kcal/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 397"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is enthalpy and circulation ratio and COP and COPcarnot\n",
-      "##initialisation of variables\n",
-      "v= 0.0011 ##m^3\n",
-      "P1= 1200 ##Mpa\n",
-      "P2= 140 ##Mpa\n",
-      "h5= -103 ##kJ/kg\n",
-      "x4= 0.860\n",
-      "x7= 0.253\n",
-      "x5= 0.337\n",
-      "h1= 1658.1 ##kJ/kg\n",
-      "h7= 343.7 ##kJ/kg\n",
-      "h6= -1008 ##kJ/kg\n",
-      "h4= 639. ##kJ/kg\n",
-      "h3= 40. ##kJ/kg\n",
-      "Tc= -10. ##C\n",
-      "Th= 125. ##C\n",
-      "Ta= 25. ##C\n",
-      "m1= 1. ##kg/s\n",
-      "m7= 6.23 ##kg/s\n",
-      "m6= 7.23 ##kg/s\n",
-      "##CALCULATIONS\n",
-      "h6= h5+v*(P1-P2)\n",
-      "cr= (x4-x7)/(x5-x7)\n",
-      "Qhbym= h1+(m7/m1)*h7-(m6/m1)*h6\n",
-      "Qcbym= h4-h3\n",
-      "COP= Qcbym/Qhbym\n",
-      "COPcarnot= ((273.15+Tc)/(273.15+Th))*((Th-Ta)/(Ta-Tc))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' Enthalpy=',h6,'kJ/kg')\n",
-      "print'%s %.3f %s'% (' circulation ratio=',cr,'')\n",
-      "print'%s %.3f %s'% (' COP=',COP,'')\n",
-      "print'%s %.3f %s'%  (' COP carnot=',COPcarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy= -101.8 kJ/kg\n",
-        " circulation ratio= 7.226 \n",
-        " COP= 0.132 \n",
-        " COP carnot= 1.888 \n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter18_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter18_1.ipynb
deleted file mode 100755
index 86e6ded4..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter18_1.ipynb
+++ /dev/null
@@ -1,208 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:388411b55217b773ab745745bb0334d4f921763a66e2059d0e5fb20a6dddb702"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter18-Non-ideal solutions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 385"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is saturation pressure\n",
-      "##initialisation of variables\n",
-      "T= 80. ##C\n",
-      "p= 30. ##percent\n",
-      "pw= 47.39 ##kPa\n",
-      "psat= 36 ##kPa\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%(' Saturation pressure=',psat,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Saturation pressure= 36.0 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 385"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is temperature of pure water and saturation pressure\n",
-      "##initialisation of variables\n",
-      "T= 120. ##C\n",
-      "p= 30. ##percent\n",
-      "T2= 80. ##C\n",
-      "psat= 36. ##kPa\n",
-      "Tw= 73. ##C\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('Temperature of pure water=',Tw,'C')\n",
-      "print'%s %.1f %s'% ('Saturation pressure=',psat,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Temperature of pure water= 73.0 C\n",
-        "Saturation pressure= 36.0 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 395"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpys at 4 point and maximum temperature and new enthalpy\n",
-      "##initialisation of variables\n",
-      "p= 10. ##bar\n",
-      "P= 40. ##percent\n",
-      "x= 0.4\n",
-      "H1= 16. ##kcal/kg\n",
-      "H2= 31. ##kcal/kg\n",
-      "H3= 64. ##kcal/kg\n",
-      "H4= 140. ##kcal/kg\n",
-      "T= 157. ##C\n",
-      "He= 580. ##kcal/kg\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% ('Enthalpy=',H1,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy=',H2,'kcal/kg')\n",
-      "print'%s %.f %s'%  ('Enthalpy=',H3,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Enthalpy=',H4,'kcal/kg')\n",
-      "print'%s %.f %s'% ('Maximum temperature=',T,'C')\n",
-      "print'%s %.f %s'% ('Enthalpy =',He,'kcal/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Enthalpy= 16 kcal/kg\n",
-        "Enthalpy= 31 kcal/kg\n",
-        "Enthalpy= 64 kcal/kg\n",
-        "Enthalpy= 140 kcal/kg\n",
-        "Maximum temperature= 157 C\n",
-        "Enthalpy = 580 kcal/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 397"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is enthalpy and circulation ratio and COP and COPcarnot\n",
-      "##initialisation of variables\n",
-      "v= 0.0011 ##m^3\n",
-      "P1= 1200 ##Mpa\n",
-      "P2= 140 ##Mpa\n",
-      "h5= -103 ##kJ/kg\n",
-      "x4= 0.860\n",
-      "x7= 0.253\n",
-      "x5= 0.337\n",
-      "h1= 1658.1 ##kJ/kg\n",
-      "h7= 343.7 ##kJ/kg\n",
-      "h6= -1008 ##kJ/kg\n",
-      "h4= 639. ##kJ/kg\n",
-      "h3= 40. ##kJ/kg\n",
-      "Tc= -10. ##C\n",
-      "Th= 125. ##C\n",
-      "Ta= 25. ##C\n",
-      "m1= 1. ##kg/s\n",
-      "m7= 6.23 ##kg/s\n",
-      "m6= 7.23 ##kg/s\n",
-      "##CALCULATIONS\n",
-      "h6= h5+v*(P1-P2)\n",
-      "cr= (x4-x7)/(x5-x7)\n",
-      "Qhbym= h1+(m7/m1)*h7-(m6/m1)*h6\n",
-      "Qcbym= h4-h3\n",
-      "COP= Qcbym/Qhbym\n",
-      "COPcarnot= ((273.15+Tc)/(273.15+Th))*((Th-Ta)/(Ta-Tc))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' Enthalpy=',h6,'kJ/kg')\n",
-      "print'%s %.3f %s'% (' circulation ratio=',cr,'')\n",
-      "print'%s %.3f %s'% (' COP=',COP,'')\n",
-      "print'%s %.3f %s'%  (' COP carnot=',COPcarnot,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Enthalpy= -101.8 kJ/kg\n",
-        " circulation ratio= 7.226 \n",
-        " COP= 0.132 \n",
-        " COP carnot= 1.888 \n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter19-Chemical_reactions.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter19-Chemical_reactions.ipynb
deleted file mode 100755
index fd5d0f72..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter19-Chemical_reactions.ipynb
+++ /dev/null
@@ -1,472 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:62da0bbd390eac5357f5f997103c8800ba34f828bad9afe3f011ec1444ac1334"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter19-Chemical reactions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Example1-pg 404"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate fuel ratio and excess air and emass air-fuel ratio\n",
-      "##initialisation of variables\n",
-      "pN2= 79. ##percent\n",
-      "VN2= 82.3 ##m^3\n",
-      "VCO2= 8. ##m^3\n",
-      "VCO= 0.9 ##m^3\n",
-      "M= 32. ##gms\n",
-      "M1= 28. ##gms\n",
-      "##CALCULATIONS\n",
-      "P= (pN2/(100-pN2))\n",
-      "z= VN2/P\n",
-      "x= VCO2+VCO\n",
-      "w= VCO2+(VCO/2)+(VCO2/10)\n",
-      "y= 2*w\n",
-      "r= y/x\n",
-      "TO= x+(y/4)\n",
-      "X= (z/TO)-1\n",
-      "AF= z*(M+P*M1)/(12*x+y)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('fuel ratio=',r,'')\n",
-      "print'%s %.3f %s'%('excess air=',X,'')\n",
-      "print'%s %.2f %s'%('emass air-fuel ratio=',AF,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "fuel ratio= 2.079 \n",
-        "excess air= 0.618 \n",
-        "emass air-fuel ratio= 23.98 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 410"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat interaction\n",
-      "##initialisation of variables\n",
-      "m1= 24. ##kg\n",
-      "M1= 32. ##kg\n",
-      "m2= 28. ##kg\n",
-      "M2= 28. ##kg\n",
-      "e= 0.5\n",
-      "T3= 1800. ##C\n",
-      "T0= 25. ##C\n",
-      "T1= 25. ##C\n",
-      "T2= 100. ##C\n",
-      "R= 8.314 ##Jmol K\n",
-      "cp= 4.57 ##J/mol K\n",
-      "cp1= 3.5 ##J/mol K\n",
-      "cp2= 3.5 ##J/mol K\n",
-      "hCO2= -393522. ##J\n",
-      "hCO= -110529. ##J\n",
-      "##CALCULATIONS\n",
-      "n1= m1/M1\n",
-      "n2= m2/M2\n",
-      "N= n1-0.5*e\n",
-      "N1= n2-e\n",
-      "N2= e\n",
-      "N3= N+N1+N2\n",
-      "y1= N/N3\n",
-      "Q= ((N*cp+N1*cp1+N2*cp2)*R*(T3-T0)-(n1*cp*(T1-T0)+n2*cp2*(T2-T1))+N*(hCO2-hCO))/60.\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%(' Heat interaction=',Q,'kW ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Heat interaction= -940 kW \n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 412"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate adiabatic flame temperature\n",
-      "##initialisation of variables\n",
-      "T0= 25. ##C\n",
-      "T1= 220. ##C\n",
-      "hCO2= -393520 ##kJ/kg\n",
-      "hH2O= -241830 ##kJ/kg\n",
-      "hC3H8= -103850 ##kJ/kg= 1.4\n",
-      "R= 8.314 ##Jmol K\n",
-      "k= 1.4\n",
-      "k1= 1.29\n",
-      "##CALCULATIONS\n",
-      "T= T0+((15*(R*(k/(k-1)))*4.762*(T1-T0)-(3*hCO2+4*hH2O-hC3H8))/(R*((3+4)*(k1/(k1-1))+(10+56.43)*(k/(k-1)))))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('adiabatic flame temperature=',T,'C ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "adiabatic flame temperature= 1142.4 C \n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 415"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy formation\n",
-      "##initialisation of variables\n",
-      "T= 25. ##C\n",
-      "hfT= -241820 ##kJ/kmol\n",
-      "R= 8.314 ##J/mol K\n",
-      "k= 1.4\n",
-      "cpH2O= 4.45\n",
-      "cpO2= 3.5\n",
-      "T1= 1000. ##C\n",
-      "##CALCULATIONS\n",
-      "S= (cpH2O-k*cpO2)\n",
-      "hfT1= hfT+S*(T1-T)\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('enthalpy formation=',hfT1,'kJ/kmol ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy formation= -242259 kJ/kmol \n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 418"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate equlibrium constant at K and KT1\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 25. ##C\n",
-      "gf= 16590. ##kJ/kmol\n",
-      "T1= 500. ##C\n",
-      "Cp= 4.157 ##J/mol K\n",
-      "hf= -46190 ##kJ/kmol\n",
-      "e=0.5\n",
-      "##CALCULATIONS\n",
-      "K=math.pow(math.e,gf/(R*(273.15+T)))\n",
-      "r= (1-((273.15+T)/(273.15+T1)))*((hf/(R*(273.15+T)))+(R/Cp))-2*math.log((273.15+T1)/(273.15+T))+0.6\n",
-      "KT1= K*math.pow(math.e,r)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('equilibrium constant=',K,'bar^-1 ')\n",
-      "print'%s %.5f %s'%('equilibrium constant=',KT1,'bar^-1 ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "equilibrium constant= 806.5 bar^-1 \n",
-        "equilibrium constant= 0.00797 bar^-1 \n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg 419"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what equilibrium constant at T1 and T2\n",
-      "##initialisation of variables\n",
-      "uCO2= -394374 ##J/mol\n",
-      "uCO= -137150 ##J/mol\n",
-      "uO2= 0.\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 25. ##C\n",
-      "cpCO2= 4.57 ##J/mol K\n",
-      "cpCO= 3.5 ##J/mol K\n",
-      "cpO2= 3.5 ##J/mol K\n",
-      "T1= 1500. ##C\n",
-      "hf= -393522 ##kJ/kmol\n",
-      "gf= -110529 ##kJ/kmol\n",
-      "T2= 2500. ##C\n",
-      "##CALCULATIONS\n",
-      "r= -(uCO2-uCO-0.5*uO2)/(R*(273.15+T))\n",
-      "s= (cpCO2-cpCO-0.5*cpO2)\n",
-      "r1= (1-((273.15+T)/(273.15+T1)))*((hf-gf)/(R*(273.15+T))-s)+s*math.log((273.15+T1)/(273.15+T))\n",
-      "KT1= math.pow(math.e,r+r1)\n",
-      "r2= (1-((273.15+T)/(273.15+T2)))*((hf-gf)/(R*(273.15+T))-s)+s*math.log((273.15+T2)/(273.15+T))\n",
-      "KT2= math.pow(math.e,r+r2)\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('equilibrium constant at T1=',KT1,'C ')\n",
-      "print'%s %.3f %s'%('equilibrium constant at T2=',KT2,'C ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "equilibrium constant at T1= 3477 C \n",
-        "equilibrium constant at T2= 2.635 C \n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg422"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is maximum work of given variable \n",
-      "##initialisation of variables\n",
-      "Wc= 12. ##kg\n",
-      "hf= -393520 ##kJ/kmol\n",
-      "gf= -394360 ##kJ/kmol\n",
-      "##CALCULATIONS\n",
-      "Wmax= -gf/Wc\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('maximum work=',Wmax,'kJ/kg of carbon ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "maximum work= 32863 kJ/kg of carbon \n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example9-pg423"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the outlet temperature and energy of formation and energy out let and energy of the products\n",
-      "##initialisation of variables\n",
-      "T= 25 ##C\n",
-      "R= 8.314 ##Jmol K\n",
-      "k= 1.27\n",
-      "k1= 1.34\n",
-      "hf= -393520 ##kJ/kmol\n",
-      "M= 28 ##gms\n",
-      "gf= -394360 ##kJ/kmol\n",
-      "M= 12 ##gms\n",
-      "##CALCULATIONS\n",
-      "T1= T+(-hf/((R)*((k/(k-1))+(0.2+4.5144)*(k1/(k1-1)))))\n",
-      "Bin= 0\n",
-      "dh= (k1*R/(k1-1))*(T1-T)\n",
-      "dh1= (k1*R/(k1-1))*math.log((273.15+T1)/(273.15+T))\n",
-      "H= dh-(273.15+T)*dh1\n",
-      "h= (k*R/(k-1))*(T1-T)+hf\n",
-      "h1= (k*R/(k-1))*math.log((273.15+T1)/(273.15+T))+((hf-gf)/(273.15+T))\n",
-      "h2= h-(273.15+T)*h1\n",
-      "Bout= (h2+(0.2+4.5144)*H)/M\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('outlet temperature=',T1,'C')\n",
-      "print'%s %.f %s'%('energy of formation=',Bin,'J')\n",
-      "print'%s %.f %s'%('energy at outlet=',H,'kJ/kmol')\n",
-      "print'%s %.f %s'%('energy of the products=',Bout,'k')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "outlet temperature= 2057.82 C\n",
-        "energy of formation= 0 J\n",
-        "energy at outlet= 46519 kJ/kmol\n",
-        "energy of the products= -9961 k\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example10-pg427"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the change in energy and amount of air and gas and netchange in energy and percent change in energy\n",
-      "##initialisation of variables\n",
-      "b= 1475.30 ##kJ/kg\n",
-      "b0= 144.44 ##kJ/kg\n",
-      "h2= 3448.6 ##kJkg\n",
-      "h1= 860.5 ##kJ/kg\n",
-      "k= 1.27 \n",
-      "k1= 1.34\n",
-      "R= 8.314 ##J/mol K\n",
-      "hf= -393520 ##kJ/kmol\n",
-      "hg= 72596 ##kJ/kmol\n",
-      "Mc= 12 ##kg\n",
-      "n= 1.2 ##moles\n",
-      "n1= 3.76 ##moles\n",
-      "M= 32. ##gms\n",
-      "M1= 28. ##gms\n",
-      "M2= 44. ##gms\n",
-      "n2= 0.2 ##moles\n",
-      "n3= 4.512 ##moles\n",
-      "B1= 25592. ##kJ/kmol C\n",
-      "B2= 394360. ##kJ/kmol C\n",
-      "e= 0.008065\n",
-      "##CALCULATIONS\n",
-      "B= b-b0\n",
-      "Q= h2-h1\n",
-      "CpCO2= k*R/(k-1)\n",
-      "CpO2= k1*R/(k1-1)\n",
-      "Qcoal= (hg+hf)/Mc\n",
-      "mcoal= Q/(-Qcoal)\n",
-      "ncoal= mcoal/Mc\n",
-      "r= (n*M+n1*M1)/Mc\n",
-      "r1= (M2+n2*M+n3*M1)/Mc\n",
-      "mair= r*mcoal\n",
-      "mgas= r1*mcoal\n",
-      "Bfuel= (B1-B2)*e\n",
-      "Bnet= Bfuel+B\n",
-      "p= B*100/(-Bfuel)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('change in energy=',B,'kJ/kg ')\n",
-      "print'%s %.3f %s'%('amount of air=',mair,'kg/kg ')\n",
-      "print'%s %.3f %s'%('amount of gas=',mgas,'kg/kg ')\n",
-      "print'%s %.3f %s'%('net change in energy=',Bnet,'kg/kg steam ')\n",
-      "print'%s %.2f %s'%('percent energy in original fuel=',p,'percent ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in energy= 1330.86 kJ/kg \n",
-        "amount of air= 1.159 kg/kg \n",
-        "amount of gas= 1.425 kg/kg \n",
-        "net change in energy= -1643.254 kg/kg steam \n",
-        "percent energy in original fuel= 44.75 percent \n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter19.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter19.ipynb
deleted file mode 100755
index fd5d0f72..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter19.ipynb
+++ /dev/null
@@ -1,472 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:62da0bbd390eac5357f5f997103c8800ba34f828bad9afe3f011ec1444ac1334"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter19-Chemical reactions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Example1-pg 404"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate fuel ratio and excess air and emass air-fuel ratio\n",
-      "##initialisation of variables\n",
-      "pN2= 79. ##percent\n",
-      "VN2= 82.3 ##m^3\n",
-      "VCO2= 8. ##m^3\n",
-      "VCO= 0.9 ##m^3\n",
-      "M= 32. ##gms\n",
-      "M1= 28. ##gms\n",
-      "##CALCULATIONS\n",
-      "P= (pN2/(100-pN2))\n",
-      "z= VN2/P\n",
-      "x= VCO2+VCO\n",
-      "w= VCO2+(VCO/2)+(VCO2/10)\n",
-      "y= 2*w\n",
-      "r= y/x\n",
-      "TO= x+(y/4)\n",
-      "X= (z/TO)-1\n",
-      "AF= z*(M+P*M1)/(12*x+y)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('fuel ratio=',r,'')\n",
-      "print'%s %.3f %s'%('excess air=',X,'')\n",
-      "print'%s %.2f %s'%('emass air-fuel ratio=',AF,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "fuel ratio= 2.079 \n",
-        "excess air= 0.618 \n",
-        "emass air-fuel ratio= 23.98 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 410"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat interaction\n",
-      "##initialisation of variables\n",
-      "m1= 24. ##kg\n",
-      "M1= 32. ##kg\n",
-      "m2= 28. ##kg\n",
-      "M2= 28. ##kg\n",
-      "e= 0.5\n",
-      "T3= 1800. ##C\n",
-      "T0= 25. ##C\n",
-      "T1= 25. ##C\n",
-      "T2= 100. ##C\n",
-      "R= 8.314 ##Jmol K\n",
-      "cp= 4.57 ##J/mol K\n",
-      "cp1= 3.5 ##J/mol K\n",
-      "cp2= 3.5 ##J/mol K\n",
-      "hCO2= -393522. ##J\n",
-      "hCO= -110529. ##J\n",
-      "##CALCULATIONS\n",
-      "n1= m1/M1\n",
-      "n2= m2/M2\n",
-      "N= n1-0.5*e\n",
-      "N1= n2-e\n",
-      "N2= e\n",
-      "N3= N+N1+N2\n",
-      "y1= N/N3\n",
-      "Q= ((N*cp+N1*cp1+N2*cp2)*R*(T3-T0)-(n1*cp*(T1-T0)+n2*cp2*(T2-T1))+N*(hCO2-hCO))/60.\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%(' Heat interaction=',Q,'kW ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Heat interaction= -940 kW \n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 412"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate adiabatic flame temperature\n",
-      "##initialisation of variables\n",
-      "T0= 25. ##C\n",
-      "T1= 220. ##C\n",
-      "hCO2= -393520 ##kJ/kg\n",
-      "hH2O= -241830 ##kJ/kg\n",
-      "hC3H8= -103850 ##kJ/kg= 1.4\n",
-      "R= 8.314 ##Jmol K\n",
-      "k= 1.4\n",
-      "k1= 1.29\n",
-      "##CALCULATIONS\n",
-      "T= T0+((15*(R*(k/(k-1)))*4.762*(T1-T0)-(3*hCO2+4*hH2O-hC3H8))/(R*((3+4)*(k1/(k1-1))+(10+56.43)*(k/(k-1)))))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('adiabatic flame temperature=',T,'C ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "adiabatic flame temperature= 1142.4 C \n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 415"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy formation\n",
-      "##initialisation of variables\n",
-      "T= 25. ##C\n",
-      "hfT= -241820 ##kJ/kmol\n",
-      "R= 8.314 ##J/mol K\n",
-      "k= 1.4\n",
-      "cpH2O= 4.45\n",
-      "cpO2= 3.5\n",
-      "T1= 1000. ##C\n",
-      "##CALCULATIONS\n",
-      "S= (cpH2O-k*cpO2)\n",
-      "hfT1= hfT+S*(T1-T)\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('enthalpy formation=',hfT1,'kJ/kmol ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy formation= -242259 kJ/kmol \n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 418"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate equlibrium constant at K and KT1\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 25. ##C\n",
-      "gf= 16590. ##kJ/kmol\n",
-      "T1= 500. ##C\n",
-      "Cp= 4.157 ##J/mol K\n",
-      "hf= -46190 ##kJ/kmol\n",
-      "e=0.5\n",
-      "##CALCULATIONS\n",
-      "K=math.pow(math.e,gf/(R*(273.15+T)))\n",
-      "r= (1-((273.15+T)/(273.15+T1)))*((hf/(R*(273.15+T)))+(R/Cp))-2*math.log((273.15+T1)/(273.15+T))+0.6\n",
-      "KT1= K*math.pow(math.e,r)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('equilibrium constant=',K,'bar^-1 ')\n",
-      "print'%s %.5f %s'%('equilibrium constant=',KT1,'bar^-1 ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "equilibrium constant= 806.5 bar^-1 \n",
-        "equilibrium constant= 0.00797 bar^-1 \n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg 419"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what equilibrium constant at T1 and T2\n",
-      "##initialisation of variables\n",
-      "uCO2= -394374 ##J/mol\n",
-      "uCO= -137150 ##J/mol\n",
-      "uO2= 0.\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 25. ##C\n",
-      "cpCO2= 4.57 ##J/mol K\n",
-      "cpCO= 3.5 ##J/mol K\n",
-      "cpO2= 3.5 ##J/mol K\n",
-      "T1= 1500. ##C\n",
-      "hf= -393522 ##kJ/kmol\n",
-      "gf= -110529 ##kJ/kmol\n",
-      "T2= 2500. ##C\n",
-      "##CALCULATIONS\n",
-      "r= -(uCO2-uCO-0.5*uO2)/(R*(273.15+T))\n",
-      "s= (cpCO2-cpCO-0.5*cpO2)\n",
-      "r1= (1-((273.15+T)/(273.15+T1)))*((hf-gf)/(R*(273.15+T))-s)+s*math.log((273.15+T1)/(273.15+T))\n",
-      "KT1= math.pow(math.e,r+r1)\n",
-      "r2= (1-((273.15+T)/(273.15+T2)))*((hf-gf)/(R*(273.15+T))-s)+s*math.log((273.15+T2)/(273.15+T))\n",
-      "KT2= math.pow(math.e,r+r2)\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('equilibrium constant at T1=',KT1,'C ')\n",
-      "print'%s %.3f %s'%('equilibrium constant at T2=',KT2,'C ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "equilibrium constant at T1= 3477 C \n",
-        "equilibrium constant at T2= 2.635 C \n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg422"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is maximum work of given variable \n",
-      "##initialisation of variables\n",
-      "Wc= 12. ##kg\n",
-      "hf= -393520 ##kJ/kmol\n",
-      "gf= -394360 ##kJ/kmol\n",
-      "##CALCULATIONS\n",
-      "Wmax= -gf/Wc\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('maximum work=',Wmax,'kJ/kg of carbon ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "maximum work= 32863 kJ/kg of carbon \n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example9-pg423"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the outlet temperature and energy of formation and energy out let and energy of the products\n",
-      "##initialisation of variables\n",
-      "T= 25 ##C\n",
-      "R= 8.314 ##Jmol K\n",
-      "k= 1.27\n",
-      "k1= 1.34\n",
-      "hf= -393520 ##kJ/kmol\n",
-      "M= 28 ##gms\n",
-      "gf= -394360 ##kJ/kmol\n",
-      "M= 12 ##gms\n",
-      "##CALCULATIONS\n",
-      "T1= T+(-hf/((R)*((k/(k-1))+(0.2+4.5144)*(k1/(k1-1)))))\n",
-      "Bin= 0\n",
-      "dh= (k1*R/(k1-1))*(T1-T)\n",
-      "dh1= (k1*R/(k1-1))*math.log((273.15+T1)/(273.15+T))\n",
-      "H= dh-(273.15+T)*dh1\n",
-      "h= (k*R/(k-1))*(T1-T)+hf\n",
-      "h1= (k*R/(k-1))*math.log((273.15+T1)/(273.15+T))+((hf-gf)/(273.15+T))\n",
-      "h2= h-(273.15+T)*h1\n",
-      "Bout= (h2+(0.2+4.5144)*H)/M\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('outlet temperature=',T1,'C')\n",
-      "print'%s %.f %s'%('energy of formation=',Bin,'J')\n",
-      "print'%s %.f %s'%('energy at outlet=',H,'kJ/kmol')\n",
-      "print'%s %.f %s'%('energy of the products=',Bout,'k')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "outlet temperature= 2057.82 C\n",
-        "energy of formation= 0 J\n",
-        "energy at outlet= 46519 kJ/kmol\n",
-        "energy of the products= -9961 k\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example10-pg427"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the change in energy and amount of air and gas and netchange in energy and percent change in energy\n",
-      "##initialisation of variables\n",
-      "b= 1475.30 ##kJ/kg\n",
-      "b0= 144.44 ##kJ/kg\n",
-      "h2= 3448.6 ##kJkg\n",
-      "h1= 860.5 ##kJ/kg\n",
-      "k= 1.27 \n",
-      "k1= 1.34\n",
-      "R= 8.314 ##J/mol K\n",
-      "hf= -393520 ##kJ/kmol\n",
-      "hg= 72596 ##kJ/kmol\n",
-      "Mc= 12 ##kg\n",
-      "n= 1.2 ##moles\n",
-      "n1= 3.76 ##moles\n",
-      "M= 32. ##gms\n",
-      "M1= 28. ##gms\n",
-      "M2= 44. ##gms\n",
-      "n2= 0.2 ##moles\n",
-      "n3= 4.512 ##moles\n",
-      "B1= 25592. ##kJ/kmol C\n",
-      "B2= 394360. ##kJ/kmol C\n",
-      "e= 0.008065\n",
-      "##CALCULATIONS\n",
-      "B= b-b0\n",
-      "Q= h2-h1\n",
-      "CpCO2= k*R/(k-1)\n",
-      "CpO2= k1*R/(k1-1)\n",
-      "Qcoal= (hg+hf)/Mc\n",
-      "mcoal= Q/(-Qcoal)\n",
-      "ncoal= mcoal/Mc\n",
-      "r= (n*M+n1*M1)/Mc\n",
-      "r1= (M2+n2*M+n3*M1)/Mc\n",
-      "mair= r*mcoal\n",
-      "mgas= r1*mcoal\n",
-      "Bfuel= (B1-B2)*e\n",
-      "Bnet= Bfuel+B\n",
-      "p= B*100/(-Bfuel)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('change in energy=',B,'kJ/kg ')\n",
-      "print'%s %.3f %s'%('amount of air=',mair,'kg/kg ')\n",
-      "print'%s %.3f %s'%('amount of gas=',mgas,'kg/kg ')\n",
-      "print'%s %.3f %s'%('net change in energy=',Bnet,'kg/kg steam ')\n",
-      "print'%s %.2f %s'%('percent energy in original fuel=',p,'percent ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in energy= 1330.86 kJ/kg \n",
-        "amount of air= 1.159 kg/kg \n",
-        "amount of gas= 1.425 kg/kg \n",
-        "net change in energy= -1643.254 kg/kg steam \n",
-        "percent energy in original fuel= 44.75 percent \n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter19_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter19_1.ipynb
deleted file mode 100755
index fd5d0f72..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter19_1.ipynb
+++ /dev/null
@@ -1,472 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:62da0bbd390eac5357f5f997103c8800ba34f828bad9afe3f011ec1444ac1334"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter19-Chemical reactions"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Example1-pg 404"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate fuel ratio and excess air and emass air-fuel ratio\n",
-      "##initialisation of variables\n",
-      "pN2= 79. ##percent\n",
-      "VN2= 82.3 ##m^3\n",
-      "VCO2= 8. ##m^3\n",
-      "VCO= 0.9 ##m^3\n",
-      "M= 32. ##gms\n",
-      "M1= 28. ##gms\n",
-      "##CALCULATIONS\n",
-      "P= (pN2/(100-pN2))\n",
-      "z= VN2/P\n",
-      "x= VCO2+VCO\n",
-      "w= VCO2+(VCO/2)+(VCO2/10)\n",
-      "y= 2*w\n",
-      "r= y/x\n",
-      "TO= x+(y/4)\n",
-      "X= (z/TO)-1\n",
-      "AF= z*(M+P*M1)/(12*x+y)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('fuel ratio=',r,'')\n",
-      "print'%s %.3f %s'%('excess air=',X,'')\n",
-      "print'%s %.2f %s'%('emass air-fuel ratio=',AF,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "fuel ratio= 2.079 \n",
-        "excess air= 0.618 \n",
-        "emass air-fuel ratio= 23.98 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 410"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat interaction\n",
-      "##initialisation of variables\n",
-      "m1= 24. ##kg\n",
-      "M1= 32. ##kg\n",
-      "m2= 28. ##kg\n",
-      "M2= 28. ##kg\n",
-      "e= 0.5\n",
-      "T3= 1800. ##C\n",
-      "T0= 25. ##C\n",
-      "T1= 25. ##C\n",
-      "T2= 100. ##C\n",
-      "R= 8.314 ##Jmol K\n",
-      "cp= 4.57 ##J/mol K\n",
-      "cp1= 3.5 ##J/mol K\n",
-      "cp2= 3.5 ##J/mol K\n",
-      "hCO2= -393522. ##J\n",
-      "hCO= -110529. ##J\n",
-      "##CALCULATIONS\n",
-      "n1= m1/M1\n",
-      "n2= m2/M2\n",
-      "N= n1-0.5*e\n",
-      "N1= n2-e\n",
-      "N2= e\n",
-      "N3= N+N1+N2\n",
-      "y1= N/N3\n",
-      "Q= ((N*cp+N1*cp1+N2*cp2)*R*(T3-T0)-(n1*cp*(T1-T0)+n2*cp2*(T2-T1))+N*(hCO2-hCO))/60.\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%(' Heat interaction=',Q,'kW ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " Heat interaction= -940 kW \n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 412"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate adiabatic flame temperature\n",
-      "##initialisation of variables\n",
-      "T0= 25. ##C\n",
-      "T1= 220. ##C\n",
-      "hCO2= -393520 ##kJ/kg\n",
-      "hH2O= -241830 ##kJ/kg\n",
-      "hC3H8= -103850 ##kJ/kg= 1.4\n",
-      "R= 8.314 ##Jmol K\n",
-      "k= 1.4\n",
-      "k1= 1.29\n",
-      "##CALCULATIONS\n",
-      "T= T0+((15*(R*(k/(k-1)))*4.762*(T1-T0)-(3*hCO2+4*hH2O-hC3H8))/(R*((3+4)*(k1/(k1-1))+(10+56.43)*(k/(k-1)))))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('adiabatic flame temperature=',T,'C ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "adiabatic flame temperature= 1142.4 C \n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 415"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy formation\n",
-      "##initialisation of variables\n",
-      "T= 25. ##C\n",
-      "hfT= -241820 ##kJ/kmol\n",
-      "R= 8.314 ##J/mol K\n",
-      "k= 1.4\n",
-      "cpH2O= 4.45\n",
-      "cpO2= 3.5\n",
-      "T1= 1000. ##C\n",
-      "##CALCULATIONS\n",
-      "S= (cpH2O-k*cpO2)\n",
-      "hfT1= hfT+S*(T1-T)\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('enthalpy formation=',hfT1,'kJ/kmol ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy formation= -242259 kJ/kmol \n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 418"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate equlibrium constant at K and KT1\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 25. ##C\n",
-      "gf= 16590. ##kJ/kmol\n",
-      "T1= 500. ##C\n",
-      "Cp= 4.157 ##J/mol K\n",
-      "hf= -46190 ##kJ/kmol\n",
-      "e=0.5\n",
-      "##CALCULATIONS\n",
-      "K=math.pow(math.e,gf/(R*(273.15+T)))\n",
-      "r= (1-((273.15+T)/(273.15+T1)))*((hf/(R*(273.15+T)))+(R/Cp))-2*math.log((273.15+T1)/(273.15+T))+0.6\n",
-      "KT1= K*math.pow(math.e,r)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('equilibrium constant=',K,'bar^-1 ')\n",
-      "print'%s %.5f %s'%('equilibrium constant=',KT1,'bar^-1 ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "equilibrium constant= 806.5 bar^-1 \n",
-        "equilibrium constant= 0.00797 bar^-1 \n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg 419"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what equilibrium constant at T1 and T2\n",
-      "##initialisation of variables\n",
-      "uCO2= -394374 ##J/mol\n",
-      "uCO= -137150 ##J/mol\n",
-      "uO2= 0.\n",
-      "R= 8.314 ##J/mol K\n",
-      "T= 25. ##C\n",
-      "cpCO2= 4.57 ##J/mol K\n",
-      "cpCO= 3.5 ##J/mol K\n",
-      "cpO2= 3.5 ##J/mol K\n",
-      "T1= 1500. ##C\n",
-      "hf= -393522 ##kJ/kmol\n",
-      "gf= -110529 ##kJ/kmol\n",
-      "T2= 2500. ##C\n",
-      "##CALCULATIONS\n",
-      "r= -(uCO2-uCO-0.5*uO2)/(R*(273.15+T))\n",
-      "s= (cpCO2-cpCO-0.5*cpO2)\n",
-      "r1= (1-((273.15+T)/(273.15+T1)))*((hf-gf)/(R*(273.15+T))-s)+s*math.log((273.15+T1)/(273.15+T))\n",
-      "KT1= math.pow(math.e,r+r1)\n",
-      "r2= (1-((273.15+T)/(273.15+T2)))*((hf-gf)/(R*(273.15+T))-s)+s*math.log((273.15+T2)/(273.15+T))\n",
-      "KT2= math.pow(math.e,r+r2)\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('equilibrium constant at T1=',KT1,'C ')\n",
-      "print'%s %.3f %s'%('equilibrium constant at T2=',KT2,'C ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "equilibrium constant at T1= 3477 C \n",
-        "equilibrium constant at T2= 2.635 C \n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg422"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#what is maximum work of given variable \n",
-      "##initialisation of variables\n",
-      "Wc= 12. ##kg\n",
-      "hf= -393520 ##kJ/kmol\n",
-      "gf= -394360 ##kJ/kmol\n",
-      "##CALCULATIONS\n",
-      "Wmax= -gf/Wc\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('maximum work=',Wmax,'kJ/kg of carbon ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "maximum work= 32863 kJ/kg of carbon \n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example9-pg423"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the outlet temperature and energy of formation and energy out let and energy of the products\n",
-      "##initialisation of variables\n",
-      "T= 25 ##C\n",
-      "R= 8.314 ##Jmol K\n",
-      "k= 1.27\n",
-      "k1= 1.34\n",
-      "hf= -393520 ##kJ/kmol\n",
-      "M= 28 ##gms\n",
-      "gf= -394360 ##kJ/kmol\n",
-      "M= 12 ##gms\n",
-      "##CALCULATIONS\n",
-      "T1= T+(-hf/((R)*((k/(k-1))+(0.2+4.5144)*(k1/(k1-1)))))\n",
-      "Bin= 0\n",
-      "dh= (k1*R/(k1-1))*(T1-T)\n",
-      "dh1= (k1*R/(k1-1))*math.log((273.15+T1)/(273.15+T))\n",
-      "H= dh-(273.15+T)*dh1\n",
-      "h= (k*R/(k-1))*(T1-T)+hf\n",
-      "h1= (k*R/(k-1))*math.log((273.15+T1)/(273.15+T))+((hf-gf)/(273.15+T))\n",
-      "h2= h-(273.15+T)*h1\n",
-      "Bout= (h2+(0.2+4.5144)*H)/M\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('outlet temperature=',T1,'C')\n",
-      "print'%s %.f %s'%('energy of formation=',Bin,'J')\n",
-      "print'%s %.f %s'%('energy at outlet=',H,'kJ/kmol')\n",
-      "print'%s %.f %s'%('energy of the products=',Bout,'k')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "outlet temperature= 2057.82 C\n",
-        "energy of formation= 0 J\n",
-        "energy at outlet= 46519 kJ/kmol\n",
-        "energy of the products= -9961 k\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example10-pg427"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the change in energy and amount of air and gas and netchange in energy and percent change in energy\n",
-      "##initialisation of variables\n",
-      "b= 1475.30 ##kJ/kg\n",
-      "b0= 144.44 ##kJ/kg\n",
-      "h2= 3448.6 ##kJkg\n",
-      "h1= 860.5 ##kJ/kg\n",
-      "k= 1.27 \n",
-      "k1= 1.34\n",
-      "R= 8.314 ##J/mol K\n",
-      "hf= -393520 ##kJ/kmol\n",
-      "hg= 72596 ##kJ/kmol\n",
-      "Mc= 12 ##kg\n",
-      "n= 1.2 ##moles\n",
-      "n1= 3.76 ##moles\n",
-      "M= 32. ##gms\n",
-      "M1= 28. ##gms\n",
-      "M2= 44. ##gms\n",
-      "n2= 0.2 ##moles\n",
-      "n3= 4.512 ##moles\n",
-      "B1= 25592. ##kJ/kmol C\n",
-      "B2= 394360. ##kJ/kmol C\n",
-      "e= 0.008065\n",
-      "##CALCULATIONS\n",
-      "B= b-b0\n",
-      "Q= h2-h1\n",
-      "CpCO2= k*R/(k-1)\n",
-      "CpO2= k1*R/(k1-1)\n",
-      "Qcoal= (hg+hf)/Mc\n",
-      "mcoal= Q/(-Qcoal)\n",
-      "ncoal= mcoal/Mc\n",
-      "r= (n*M+n1*M1)/Mc\n",
-      "r1= (M2+n2*M+n3*M1)/Mc\n",
-      "mair= r*mcoal\n",
-      "mgas= r1*mcoal\n",
-      "Bfuel= (B1-B2)*e\n",
-      "Bnet= Bfuel+B\n",
-      "p= B*100/(-Bfuel)\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('change in energy=',B,'kJ/kg ')\n",
-      "print'%s %.3f %s'%('amount of air=',mair,'kg/kg ')\n",
-      "print'%s %.3f %s'%('amount of gas=',mgas,'kg/kg ')\n",
-      "print'%s %.3f %s'%('net change in energy=',Bnet,'kg/kg steam ')\n",
-      "print'%s %.2f %s'%('percent energy in original fuel=',p,'percent ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in energy= 1330.86 kJ/kg \n",
-        "amount of air= 1.159 kg/kg \n",
-        "amount of gas= 1.425 kg/kg \n",
-        "net change in energy= -1643.254 kg/kg steam \n",
-        "percent energy in original fuel= 44.75 percent \n"
-       ]
-      }
-     ],
-     "prompt_number": 13
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter5-the_ideal_gas.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter5-the_ideal_gas.ipynb
deleted file mode 100755
index 7ebf1310..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter5-the_ideal_gas.ipynb
+++ /dev/null
@@ -1,166 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:4e735a3e117e4e268af257af7ccec75bd1ac3fad4a8f848db2d81766258e8e27"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter5 -The ideal gas"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 66"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate specific volumes at given pressure\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 18.016 ##gms\n",
-      "T= 400. ##C\n",
-      "p= 0.01 ##Mpa\n",
-      "p1= 0.1 ##Mpa\n",
-      "p2= 20. ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v= R*(273.156+T)/(M*p*1000)\n",
-      "v1= R*(273.156+T)/(M*p1*1000)\n",
-      "v2= R*(273.156+T)/(M*p2*1000)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' specific voulme =',v,'m^3/kg')\n",
-      "print'%s %.3f %s'%('specific voulme = ', v1,'m^3/kg')\n",
-      "print'%s %.3f %s'%('specific voulme = ',v2,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " specific voulme = 31.065 m^3/kg\n",
-        "specific voulme =  3.106 m^3/kg\n",
-        "specific voulme =  0.016 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example 3-pg73 "
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperature and pressure and work ,energy\n",
-      "##initialisation of variables\n",
-      "p1= 300.##kPa\n",
-      "V1= 0.03 ##m^3\n",
-      "V2= 0.08 ##m^3\n",
-      "T1= 27. ##C\n",
-      "##CALCULATIONS1\n",
-      "T2= T1+273\n",
-      "p2= p1*(V1/V2)*(T2/(T1+273))\n",
-      "W= 0\n",
-      "Q= 0\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('final temperature =',T2,'K')\n",
-      "print'%s %.1f %s'%('final pressure =',p2,'kPa')\n",
-      "print'%s %.f %s'%('work = ',W,'kJ')\n",
-      "print'%s %.f %s'%('energy =',Q,'kJ')\n",
-      " \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature = 300.00 K\n",
-        "final pressure = 112.5 kPa\n",
-        "work =  0 kJ\n",
-        "energy = 0 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4 -pg74\n",
-      "\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate mass of nitrogen and final temperature and piston rise\n",
-      "##initialisation of variables\n",
-      "p1= 2. ##Mpa\n",
-      "V1= 0.2 ##m^3\n",
-      "R= 8.314 ##J/mol K\n",
-      "T1= 500. ##C\n",
-      "M= 28. ##gms\n",
-      "p2= 0.3 ##Mpa\n",
-      "T2= 250 ##C\n",
-      "k= 1.4\n",
-      "A= 0.1 ##m^2\n",
-      "##CALCULATIONS\n",
-      "m1= p1*10*10*10*V1*M/(R*(273.15+T1))\n",
-      "m2= p2*10*10*10*V1*M/(R*(273.15+T2))\n",
-      "m3= -(m2-m1)\n",
-      "T3= (m1*(273.15+T1)-m2*(273.15+T2))/(k*m3)\n",
-      "z3= m3*R*T3/(p2*10*10*10*A*M)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%(' mass of nitrogen =',m3,'kg')\n",
-      "print'%s %.1f %s'%('final temperature =',T3,'K')\n",
-      "print'%s %.2f %s'%('piston rise =',z3,'m')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " mass of nitrogen = 1.3561 kg\n",
-        "final temperature = 603.1 K\n",
-        "piston rise = 8.10 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter5.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter5.ipynb
deleted file mode 100755
index 63ce2dea..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter5.ipynb
+++ /dev/null
@@ -1,166 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:38617d08dc78615a27f3bb0a8bac191fa91e9820c1bc63b1ee3f0d39bccfa426"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter5 -the ideal gas"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 66"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate specific volumes at given pressure\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 18.016 ##gms\n",
-      "T= 400. ##C\n",
-      "p= 0.01 ##Mpa\n",
-      "p1= 0.1 ##Mpa\n",
-      "p2= 20. ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v= R*(273.156+T)/(M*p*1000)\n",
-      "v1= R*(273.156+T)/(M*p1*1000)\n",
-      "v2= R*(273.156+T)/(M*p2*1000)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' specific voulme =',v,'m^3/kg')\n",
-      "print'%s %.3f %s'%('specific voulme = ', v1,'m^3/kg')\n",
-      "print'%s %.3f %s'%('specific voulme = ',v2,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " specific voulme = 31.065 m^3/kg\n",
-        "specific voulme =  3.106 m^3/kg\n",
-        "specific voulme =  0.016 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example 3-pg73 "
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperature and pressure and work ,energy\n",
-      "##initialisation of variables\n",
-      "p1= 300.##kPa\n",
-      "V1= 0.03 ##m^3\n",
-      "V2= 0.08 ##m^3\n",
-      "T1= 27. ##C\n",
-      "##CALCULATIONS1\n",
-      "T2= T1+273\n",
-      "p2= p1*(V1/V2)*(T2/(T1+273))\n",
-      "W= 0\n",
-      "Q= 0\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('final temperature =',T2,'K')\n",
-      "print'%s %.1f %s'%('final pressure =',p2,'kPa')\n",
-      "print'%s %.f %s'%('work = ',W,'kJ')\n",
-      "print'%s %.f %s'%('energy =',Q,'kJ')\n",
-      " \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature = 300.00 K\n",
-        "final pressure = 112.5 kPa\n",
-        "work =  0 kJ\n",
-        "energy = 0 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4 -pg74\n",
-      "\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate mass of nitrogen and final temperature and piston rise\n",
-      "##initialisation of variables\n",
-      "p1= 2. ##Mpa\n",
-      "V1= 0.2 ##m^3\n",
-      "R= 8.314 ##J/mol K\n",
-      "T1= 500. ##C\n",
-      "M= 28. ##gms\n",
-      "p2= 0.3 ##Mpa\n",
-      "T2= 250 ##C\n",
-      "k= 1.4\n",
-      "A= 0.1 ##m^2\n",
-      "##CALCULATIONS\n",
-      "m1= p1*10*10*10*V1*M/(R*(273.15+T1))\n",
-      "m2= p2*10*10*10*V1*M/(R*(273.15+T2))\n",
-      "m3= -(m2-m1)\n",
-      "T3= (m1*(273.15+T1)-m2*(273.15+T2))/(k*m3)\n",
-      "z3= m3*R*T3/(p2*10*10*10*A*M)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%(' mass of nitrogen =',m3,'kg')\n",
-      "print'%s %.1f %s'%('final temperature =',T3,'K')\n",
-      "print'%s %.2f %s'%('piston rise =',z3,'m')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " mass of nitrogen = 1.3561 kg\n",
-        "final temperature = 603.1 K\n",
-        "piston rise = 8.10 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter5_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter5_1.ipynb
deleted file mode 100755
index 7ebf1310..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter5_1.ipynb
+++ /dev/null
@@ -1,166 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:4e735a3e117e4e268af257af7ccec75bd1ac3fad4a8f848db2d81766258e8e27"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter5 -The ideal gas"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 66"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate specific volumes at given pressure\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 18.016 ##gms\n",
-      "T= 400. ##C\n",
-      "p= 0.01 ##Mpa\n",
-      "p1= 0.1 ##Mpa\n",
-      "p2= 20. ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v= R*(273.156+T)/(M*p*1000)\n",
-      "v1= R*(273.156+T)/(M*p1*1000)\n",
-      "v2= R*(273.156+T)/(M*p2*1000)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' specific voulme =',v,'m^3/kg')\n",
-      "print'%s %.3f %s'%('specific voulme = ', v1,'m^3/kg')\n",
-      "print'%s %.3f %s'%('specific voulme = ',v2,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " specific voulme = 31.065 m^3/kg\n",
-        "specific voulme =  3.106 m^3/kg\n",
-        "specific voulme =  0.016 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example 3-pg73 "
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperature and pressure and work ,energy\n",
-      "##initialisation of variables\n",
-      "p1= 300.##kPa\n",
-      "V1= 0.03 ##m^3\n",
-      "V2= 0.08 ##m^3\n",
-      "T1= 27. ##C\n",
-      "##CALCULATIONS1\n",
-      "T2= T1+273\n",
-      "p2= p1*(V1/V2)*(T2/(T1+273))\n",
-      "W= 0\n",
-      "Q= 0\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('final temperature =',T2,'K')\n",
-      "print'%s %.1f %s'%('final pressure =',p2,'kPa')\n",
-      "print'%s %.f %s'%('work = ',W,'kJ')\n",
-      "print'%s %.f %s'%('energy =',Q,'kJ')\n",
-      " \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature = 300.00 K\n",
-        "final pressure = 112.5 kPa\n",
-        "work =  0 kJ\n",
-        "energy = 0 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4 -pg74\n",
-      "\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate mass of nitrogen and final temperature and piston rise\n",
-      "##initialisation of variables\n",
-      "p1= 2. ##Mpa\n",
-      "V1= 0.2 ##m^3\n",
-      "R= 8.314 ##J/mol K\n",
-      "T1= 500. ##C\n",
-      "M= 28. ##gms\n",
-      "p2= 0.3 ##Mpa\n",
-      "T2= 250 ##C\n",
-      "k= 1.4\n",
-      "A= 0.1 ##m^2\n",
-      "##CALCULATIONS\n",
-      "m1= p1*10*10*10*V1*M/(R*(273.15+T1))\n",
-      "m2= p2*10*10*10*V1*M/(R*(273.15+T2))\n",
-      "m3= -(m2-m1)\n",
-      "T3= (m1*(273.15+T1)-m2*(273.15+T2))/(k*m3)\n",
-      "z3= m3*R*T3/(p2*10*10*10*A*M)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%(' mass of nitrogen =',m3,'kg')\n",
-      "print'%s %.1f %s'%('final temperature =',T3,'K')\n",
-      "print'%s %.2f %s'%('piston rise =',z3,'m')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " mass of nitrogen = 1.3561 kg\n",
-        "final temperature = 603.1 K\n",
-        "piston rise = 8.10 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter5_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter5_2.ipynb
deleted file mode 100755
index 7ebf1310..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter5_2.ipynb
+++ /dev/null
@@ -1,166 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:4e735a3e117e4e268af257af7ccec75bd1ac3fad4a8f848db2d81766258e8e27"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter5 -The ideal gas"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 66"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate specific volumes at given pressure\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 18.016 ##gms\n",
-      "T= 400. ##C\n",
-      "p= 0.01 ##Mpa\n",
-      "p1= 0.1 ##Mpa\n",
-      "p2= 20. ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v= R*(273.156+T)/(M*p*1000)\n",
-      "v1= R*(273.156+T)/(M*p1*1000)\n",
-      "v2= R*(273.156+T)/(M*p2*1000)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' specific voulme =',v,'m^3/kg')\n",
-      "print'%s %.3f %s'%('specific voulme = ', v1,'m^3/kg')\n",
-      "print'%s %.3f %s'%('specific voulme = ',v2,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " specific voulme = 31.065 m^3/kg\n",
-        "specific voulme =  3.106 m^3/kg\n",
-        "specific voulme =  0.016 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example 3-pg73 "
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperature and pressure and work ,energy\n",
-      "##initialisation of variables\n",
-      "p1= 300.##kPa\n",
-      "V1= 0.03 ##m^3\n",
-      "V2= 0.08 ##m^3\n",
-      "T1= 27. ##C\n",
-      "##CALCULATIONS1\n",
-      "T2= T1+273\n",
-      "p2= p1*(V1/V2)*(T2/(T1+273))\n",
-      "W= 0\n",
-      "Q= 0\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('final temperature =',T2,'K')\n",
-      "print'%s %.1f %s'%('final pressure =',p2,'kPa')\n",
-      "print'%s %.f %s'%('work = ',W,'kJ')\n",
-      "print'%s %.f %s'%('energy =',Q,'kJ')\n",
-      " \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature = 300.00 K\n",
-        "final pressure = 112.5 kPa\n",
-        "work =  0 kJ\n",
-        "energy = 0 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4 -pg74\n",
-      "\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate mass of nitrogen and final temperature and piston rise\n",
-      "##initialisation of variables\n",
-      "p1= 2. ##Mpa\n",
-      "V1= 0.2 ##m^3\n",
-      "R= 8.314 ##J/mol K\n",
-      "T1= 500. ##C\n",
-      "M= 28. ##gms\n",
-      "p2= 0.3 ##Mpa\n",
-      "T2= 250 ##C\n",
-      "k= 1.4\n",
-      "A= 0.1 ##m^2\n",
-      "##CALCULATIONS\n",
-      "m1= p1*10*10*10*V1*M/(R*(273.15+T1))\n",
-      "m2= p2*10*10*10*V1*M/(R*(273.15+T2))\n",
-      "m3= -(m2-m1)\n",
-      "T3= (m1*(273.15+T1)-m2*(273.15+T2))/(k*m3)\n",
-      "z3= m3*R*T3/(p2*10*10*10*A*M)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%(' mass of nitrogen =',m3,'kg')\n",
-      "print'%s %.1f %s'%('final temperature =',T3,'K')\n",
-      "print'%s %.2f %s'%('piston rise =',z3,'m')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " mass of nitrogen = 1.3561 kg\n",
-        "final temperature = 603.1 K\n",
-        "piston rise = 8.10 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 11
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter6-Control_volume.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter6-Control_volume.ipynb
deleted file mode 100755
index 4db4d31d..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter6-Control_volume.ipynb
+++ /dev/null
@@ -1,308 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:de09a4c2813282719223c840622b4f97d21f59c5103e9a20c830f4005781fd9e"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter6 -Control volume"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 83"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate diameter for given variable\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29 ##gms\n",
-      "T= 80 ##C\n",
-      "p= 104 ##/kPa\n",
-      "v= 30 ##m/sec\n",
-      "m= 8000 ##kg/h\n",
-      "##CALCULATIONS\n",
-      "V= R*(273.15+T)/(M*p)\n",
-      "A= m*V/(3600*v)\n",
-      "D=math.sqrt(4*A/math.pi)\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('diameter = ',D,'m^2')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "diameter =  0.30301 m^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 88"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate intial areas\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "T1= 230. ##C\n",
-      "p1= 30. ##/bar\n",
-      "k= 1.4\n",
-      "T2= 180. ##C\n",
-      "v1= 10. ##m/s\n",
-      "p2= 20. ##bar\n",
-      "m2= 0.84 ##kg/s\n",
-      "##CALCULATIONS\n",
-      "V1= R*(273.15+T1)/(M*p1*100)\n",
-      "cp= k*R/((k-1)*M)\n",
-      "A= m2*V1*10*10*10*10/v1\n",
-      "v2= math.sqrt(v1*v1+2*cp*10*10*10*(T1-T2))\n",
-      "V2= R*(273.15+T2)/(M*p2*100)\n",
-      "A2= m2*V2*10*10*10*10/v2\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('inlet area =',A,'cm^2')\n",
-      "print'%s %.2f %s'%('inlet area =',A2,'cm^2')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "inlet area = 40.4 cm^2\n",
-        "inlet area = 1.72 cm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 89"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate quantity x and specific volume\n",
-      "##initialisation of variables\n",
-      "h= 2676.2 ##kJ/kg\n",
-      "hf= 721.11 ##kJ/kg\n",
-      "hg= 2679.1 ##kJ/kg\n",
-      "vf= 0.001115 ##m^3/kg\n",
-      "vg= 0.2404 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "x= (h-hf)/(hg-hf)\n",
-      "v1= vf+x*(vg-vf)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('quantity =',x,'')\n",
-      "print'%s %.4f %s'%('specific volume = ',v1,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "quantity = 0.9985 \n",
-        "specific volume =  0.2400 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 92"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat pump and reate heat interaction and work of the turbine and at another point rate of heat interaction and all four areas at given poin\n",
-      "##initialisation of variables\n",
-      "h4= 419.05 ##kJ/kg\n",
-      "h1= 434.92 ##kJ/kg\n",
-      "m= 2.5 ##kg/s\n",
-      "h2= 3272.4 ##kJ/kg\n",
-      "h3= 2601.7 ##kJ/kg\n",
-      "v1= 0.001401 ##m^3/kg\n",
-      "V1= 5 ##m/s\n",
-      "v2= 0.03817 ##m^3/kg\n",
-      "V2= 20. ##m/s\n",
-      "v3= 0.8415 ##m^3/kg\n",
-      "V3= 100. ##m/s\n",
-      "v4= 0.00104 ##m^3/kg\n",
-      "V4= 5 ##m/s\n",
-      "##CALCULATIONS\n",
-      "W41= m*(h4-h1)\n",
-      "Q12= m*(h2-h1)\n",
-      "W23= m*(h2-h3)\n",
-      "Q34= m*(h4-h3)\n",
-      "A1= m*v1*10*10*10*10/V1\n",
-      "A2= m*v2*10*1010*10/V2\n",
-      "A3= m*v3*10*1010*10/V3\n",
-      "A4= m*v4*10*1010*10/V4\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('rate of pump =',W41,'kW')\n",
-      "print'%s %.f %s'%('rate of heat ineraction =',Q12,'kW')\n",
-      "print'%s %.1f %s'%('rate of work of the turbine =',W23,'W')\n",
-      "print'%s %.f %s'%('rate of heat ineraction =',Q34,'kW')\n",
-      "print'%s %.2f %s'%('area =',A1,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A2,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A3,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A4,'cm^2')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "rate of pump = -39.7 kW\n",
-        "rate of heat ineraction = 7094 kW\n",
-        "rate of work of the turbine = 1676.8 W\n",
-        "rate of heat ineraction = -5457 kW\n",
-        "area = 7.00 cm^2\n",
-        "area = 481.90 cm^2\n",
-        "area = 2124.79 cm^2\n",
-        "area = 52.52 cm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 96"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate mass of helium and temperature of helium\n",
-      "##initialisation of variables\n",
-      "m1= 0.03 ##kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "T1= 300. ##C\n",
-      "p1= 120. ##kPa\n",
-      "k= 5./3.\n",
-      "M=4. ##kg\n",
-      "p2= 600. ##kPa\n",
-      "##CALCULATIONS\n",
-      "V= m1*R*(273.15+T1)/(p1*M)\n",
-      "m2= m1*((p2/p1)+k-1)/k\n",
-      "T2= p2*V*M/(m2*R)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('mass of helium =',m2,'kg')\n",
-      "print'%s %.1f %s'%('temperature of helium =',T2,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of helium = 0.102 kg\n",
-        "temperature of helium = 842.9 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Eaxmple 6-pg97"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume of container and pressure\n",
-      "##initialisation of variables\n",
-      "m1= 0.03 ##kg\n",
-      "v1= 2.1977 ##m^3/kg\n",
-      "h2= 3073.8 ##kJ/kg\n",
-      "h1= 3061.6 ##kJ/kg\n",
-      "p2= 600. ##kPa\n",
-      "p1= 120. ##kPa\n",
-      "##CALCULATIONS\n",
-      "V=m1*v1\n",
-      "r= ((h2-h1)/v1)+p2-p1\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume of container =',V,'m^3')\n",
-      "print'%s %.2f %s'%('pressure =',r,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume of container = 0.06593 m^3\n",
-        "pressure = 485.55 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter6.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter6.ipynb
deleted file mode 100755
index 0e7c0436..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter6.ipynb
+++ /dev/null
@@ -1,308 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:b8ccd5165760dffa261415477a99582312dff66f312e3d719c763faed6ba4a02"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter6 -control volume"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 83"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate diameter for given variable\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29 ##gms\n",
-      "T= 80 ##C\n",
-      "p= 104 ##/kPa\n",
-      "v= 30 ##m/sec\n",
-      "m= 8000 ##kg/h\n",
-      "##CALCULATIONS\n",
-      "V= R*(273.15+T)/(M*p)\n",
-      "A= m*V/(3600*v)\n",
-      "D=math.sqrt(4*A/math.pi)\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('diameter = ',D,'m^2')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "diameter =  0.30301 m^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 88"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate intial areas\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "T1= 230. ##C\n",
-      "p1= 30. ##/bar\n",
-      "k= 1.4\n",
-      "T2= 180. ##C\n",
-      "v1= 10. ##m/s\n",
-      "p2= 20. ##bar\n",
-      "m2= 0.84 ##kg/s\n",
-      "##CALCULATIONS\n",
-      "V1= R*(273.15+T1)/(M*p1*100)\n",
-      "cp= k*R/((k-1)*M)\n",
-      "A= m2*V1*10*10*10*10/v1\n",
-      "v2= math.sqrt(v1*v1+2*cp*10*10*10*(T1-T2))\n",
-      "V2= R*(273.15+T2)/(M*p2*100)\n",
-      "A2= m2*V2*10*10*10*10/v2\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('inlet area =',A,'cm^2')\n",
-      "print'%s %.2f %s'%('inlet area =',A2,'cm^2')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "inlet area = 40.4 cm^2\n",
-        "inlet area = 1.72 cm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 89"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate quantity x and specific volume\n",
-      "##initialisation of variables\n",
-      "h= 2676.2 ##kJ/kg\n",
-      "hf= 721.11 ##kJ/kg\n",
-      "hg= 2679.1 ##kJ/kg\n",
-      "vf= 0.001115 ##m^3/kg\n",
-      "vg= 0.2404 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "x= (h-hf)/(hg-hf)\n",
-      "v1= vf+x*(vg-vf)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('quantity =',x,'')\n",
-      "print'%s %.4f %s'%('specific volume = ',v1,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "quantity = 0.9985 \n",
-        "specific volume =  0.2400 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 92"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat pump and reate heat interaction and work of the turbine and at another point rate of heat interaction and all four areas at given poin\n",
-      "##initialisation of variables\n",
-      "h4= 419.05 ##kJ/kg\n",
-      "h1= 434.92 ##kJ/kg\n",
-      "m= 2.5 ##kg/s\n",
-      "h2= 3272.4 ##kJ/kg\n",
-      "h3= 2601.7 ##kJ/kg\n",
-      "v1= 0.001401 ##m^3/kg\n",
-      "V1= 5 ##m/s\n",
-      "v2= 0.03817 ##m^3/kg\n",
-      "V2= 20. ##m/s\n",
-      "v3= 0.8415 ##m^3/kg\n",
-      "V3= 100. ##m/s\n",
-      "v4= 0.00104 ##m^3/kg\n",
-      "V4= 5 ##m/s\n",
-      "##CALCULATIONS\n",
-      "W41= m*(h4-h1)\n",
-      "Q12= m*(h2-h1)\n",
-      "W23= m*(h2-h3)\n",
-      "Q34= m*(h4-h3)\n",
-      "A1= m*v1*10*10*10*10/V1\n",
-      "A2= m*v2*10*1010*10/V2\n",
-      "A3= m*v3*10*1010*10/V3\n",
-      "A4= m*v4*10*1010*10/V4\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('rate of pump =',W41,'kW')\n",
-      "print'%s %.f %s'%('rate of heat ineraction =',Q12,'kW')\n",
-      "print'%s %.1f %s'%('rate of work of the turbine =',W23,'W')\n",
-      "print'%s %.f %s'%('rate of heat ineraction =',Q34,'kW')\n",
-      "print'%s %.2f %s'%('area =',A1,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A2,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A3,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A4,'cm^2')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "rate of pump = -39.7 kW\n",
-        "rate of heat ineraction = 7094 kW\n",
-        "rate of work of the turbine = 1676.8 W\n",
-        "rate of heat ineraction = -5457 kW\n",
-        "area = 7.00 cm^2\n",
-        "area = 481.90 cm^2\n",
-        "area = 2124.79 cm^2\n",
-        "area = 52.52 cm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 96"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate mass of helium and temperature of helium\n",
-      "##initialisation of variables\n",
-      "m1= 0.03 ##kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "T1= 300. ##C\n",
-      "p1= 120. ##kPa\n",
-      "k= 5./3.\n",
-      "M=4. ##kg\n",
-      "p2= 600. ##kPa\n",
-      "##CALCULATIONS\n",
-      "V= m1*R*(273.15+T1)/(p1*M)\n",
-      "m2= m1*((p2/p1)+k-1)/k\n",
-      "T2= p2*V*M/(m2*R)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('mass of helium =',m2,'kg')\n",
-      "print'%s %.1f %s'%('temperature of helium =',T2,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of helium = 0.102 kg\n",
-        "temperature of helium = 842.9 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Eaxmple 6-pg97"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume of container and pressure\n",
-      "##initialisation of variables\n",
-      "m1= 0.03 ##kg\n",
-      "v1= 2.1977 ##m^3/kg\n",
-      "h2= 3073.8 ##kJ/kg\n",
-      "h1= 3061.6 ##kJ/kg\n",
-      "p2= 600. ##kPa\n",
-      "p1= 120. ##kPa\n",
-      "##CALCULATIONS\n",
-      "V=m1*v1\n",
-      "r= ((h2-h1)/v1)+p2-p1\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume of container =',V,'m^3')\n",
-      "print'%s %.2f %s'%('pressure =',r,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume of container = 0.06593 m^3\n",
-        "pressure = 485.55 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter6_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter6_1.ipynb
deleted file mode 100755
index 4db4d31d..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter6_1.ipynb
+++ /dev/null
@@ -1,308 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:de09a4c2813282719223c840622b4f97d21f59c5103e9a20c830f4005781fd9e"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter6 -Control volume"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 83"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate diameter for given variable\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29 ##gms\n",
-      "T= 80 ##C\n",
-      "p= 104 ##/kPa\n",
-      "v= 30 ##m/sec\n",
-      "m= 8000 ##kg/h\n",
-      "##CALCULATIONS\n",
-      "V= R*(273.15+T)/(M*p)\n",
-      "A= m*V/(3600*v)\n",
-      "D=math.sqrt(4*A/math.pi)\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('diameter = ',D,'m^2')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "diameter =  0.30301 m^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 88"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate intial areas\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "T1= 230. ##C\n",
-      "p1= 30. ##/bar\n",
-      "k= 1.4\n",
-      "T2= 180. ##C\n",
-      "v1= 10. ##m/s\n",
-      "p2= 20. ##bar\n",
-      "m2= 0.84 ##kg/s\n",
-      "##CALCULATIONS\n",
-      "V1= R*(273.15+T1)/(M*p1*100)\n",
-      "cp= k*R/((k-1)*M)\n",
-      "A= m2*V1*10*10*10*10/v1\n",
-      "v2= math.sqrt(v1*v1+2*cp*10*10*10*(T1-T2))\n",
-      "V2= R*(273.15+T2)/(M*p2*100)\n",
-      "A2= m2*V2*10*10*10*10/v2\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('inlet area =',A,'cm^2')\n",
-      "print'%s %.2f %s'%('inlet area =',A2,'cm^2')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "inlet area = 40.4 cm^2\n",
-        "inlet area = 1.72 cm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 89"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate quantity x and specific volume\n",
-      "##initialisation of variables\n",
-      "h= 2676.2 ##kJ/kg\n",
-      "hf= 721.11 ##kJ/kg\n",
-      "hg= 2679.1 ##kJ/kg\n",
-      "vf= 0.001115 ##m^3/kg\n",
-      "vg= 0.2404 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "x= (h-hf)/(hg-hf)\n",
-      "v1= vf+x*(vg-vf)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('quantity =',x,'')\n",
-      "print'%s %.4f %s'%('specific volume = ',v1,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "quantity = 0.9985 \n",
-        "specific volume =  0.2400 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 92"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat pump and reate heat interaction and work of the turbine and at another point rate of heat interaction and all four areas at given poin\n",
-      "##initialisation of variables\n",
-      "h4= 419.05 ##kJ/kg\n",
-      "h1= 434.92 ##kJ/kg\n",
-      "m= 2.5 ##kg/s\n",
-      "h2= 3272.4 ##kJ/kg\n",
-      "h3= 2601.7 ##kJ/kg\n",
-      "v1= 0.001401 ##m^3/kg\n",
-      "V1= 5 ##m/s\n",
-      "v2= 0.03817 ##m^3/kg\n",
-      "V2= 20. ##m/s\n",
-      "v3= 0.8415 ##m^3/kg\n",
-      "V3= 100. ##m/s\n",
-      "v4= 0.00104 ##m^3/kg\n",
-      "V4= 5 ##m/s\n",
-      "##CALCULATIONS\n",
-      "W41= m*(h4-h1)\n",
-      "Q12= m*(h2-h1)\n",
-      "W23= m*(h2-h3)\n",
-      "Q34= m*(h4-h3)\n",
-      "A1= m*v1*10*10*10*10/V1\n",
-      "A2= m*v2*10*1010*10/V2\n",
-      "A3= m*v3*10*1010*10/V3\n",
-      "A4= m*v4*10*1010*10/V4\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('rate of pump =',W41,'kW')\n",
-      "print'%s %.f %s'%('rate of heat ineraction =',Q12,'kW')\n",
-      "print'%s %.1f %s'%('rate of work of the turbine =',W23,'W')\n",
-      "print'%s %.f %s'%('rate of heat ineraction =',Q34,'kW')\n",
-      "print'%s %.2f %s'%('area =',A1,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A2,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A3,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A4,'cm^2')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "rate of pump = -39.7 kW\n",
-        "rate of heat ineraction = 7094 kW\n",
-        "rate of work of the turbine = 1676.8 W\n",
-        "rate of heat ineraction = -5457 kW\n",
-        "area = 7.00 cm^2\n",
-        "area = 481.90 cm^2\n",
-        "area = 2124.79 cm^2\n",
-        "area = 52.52 cm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 96"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate mass of helium and temperature of helium\n",
-      "##initialisation of variables\n",
-      "m1= 0.03 ##kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "T1= 300. ##C\n",
-      "p1= 120. ##kPa\n",
-      "k= 5./3.\n",
-      "M=4. ##kg\n",
-      "p2= 600. ##kPa\n",
-      "##CALCULATIONS\n",
-      "V= m1*R*(273.15+T1)/(p1*M)\n",
-      "m2= m1*((p2/p1)+k-1)/k\n",
-      "T2= p2*V*M/(m2*R)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('mass of helium =',m2,'kg')\n",
-      "print'%s %.1f %s'%('temperature of helium =',T2,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of helium = 0.102 kg\n",
-        "temperature of helium = 842.9 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Eaxmple 6-pg97"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume of container and pressure\n",
-      "##initialisation of variables\n",
-      "m1= 0.03 ##kg\n",
-      "v1= 2.1977 ##m^3/kg\n",
-      "h2= 3073.8 ##kJ/kg\n",
-      "h1= 3061.6 ##kJ/kg\n",
-      "p2= 600. ##kPa\n",
-      "p1= 120. ##kPa\n",
-      "##CALCULATIONS\n",
-      "V=m1*v1\n",
-      "r= ((h2-h1)/v1)+p2-p1\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume of container =',V,'m^3')\n",
-      "print'%s %.2f %s'%('pressure =',r,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume of container = 0.06593 m^3\n",
-        "pressure = 485.55 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter6_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter6_2.ipynb
deleted file mode 100755
index 4db4d31d..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter6_2.ipynb
+++ /dev/null
@@ -1,308 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:de09a4c2813282719223c840622b4f97d21f59c5103e9a20c830f4005781fd9e"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter6 -Control volume"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 83"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate diameter for given variable\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29 ##gms\n",
-      "T= 80 ##C\n",
-      "p= 104 ##/kPa\n",
-      "v= 30 ##m/sec\n",
-      "m= 8000 ##kg/h\n",
-      "##CALCULATIONS\n",
-      "V= R*(273.15+T)/(M*p)\n",
-      "A= m*V/(3600*v)\n",
-      "D=math.sqrt(4*A/math.pi)\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('diameter = ',D,'m^2')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "diameter =  0.30301 m^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg 88"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate intial areas\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "T1= 230. ##C\n",
-      "p1= 30. ##/bar\n",
-      "k= 1.4\n",
-      "T2= 180. ##C\n",
-      "v1= 10. ##m/s\n",
-      "p2= 20. ##bar\n",
-      "m2= 0.84 ##kg/s\n",
-      "##CALCULATIONS\n",
-      "V1= R*(273.15+T1)/(M*p1*100)\n",
-      "cp= k*R/((k-1)*M)\n",
-      "A= m2*V1*10*10*10*10/v1\n",
-      "v2= math.sqrt(v1*v1+2*cp*10*10*10*(T1-T2))\n",
-      "V2= R*(273.15+T2)/(M*p2*100)\n",
-      "A2= m2*V2*10*10*10*10/v2\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('inlet area =',A,'cm^2')\n",
-      "print'%s %.2f %s'%('inlet area =',A2,'cm^2')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "inlet area = 40.4 cm^2\n",
-        "inlet area = 1.72 cm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 89"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate quantity x and specific volume\n",
-      "##initialisation of variables\n",
-      "h= 2676.2 ##kJ/kg\n",
-      "hf= 721.11 ##kJ/kg\n",
-      "hg= 2679.1 ##kJ/kg\n",
-      "vf= 0.001115 ##m^3/kg\n",
-      "vg= 0.2404 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "x= (h-hf)/(hg-hf)\n",
-      "v1= vf+x*(vg-vf)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('quantity =',x,'')\n",
-      "print'%s %.4f %s'%('specific volume = ',v1,'m^3/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "quantity = 0.9985 \n",
-        "specific volume =  0.2400 m^3/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 92"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat pump and reate heat interaction and work of the turbine and at another point rate of heat interaction and all four areas at given poin\n",
-      "##initialisation of variables\n",
-      "h4= 419.05 ##kJ/kg\n",
-      "h1= 434.92 ##kJ/kg\n",
-      "m= 2.5 ##kg/s\n",
-      "h2= 3272.4 ##kJ/kg\n",
-      "h3= 2601.7 ##kJ/kg\n",
-      "v1= 0.001401 ##m^3/kg\n",
-      "V1= 5 ##m/s\n",
-      "v2= 0.03817 ##m^3/kg\n",
-      "V2= 20. ##m/s\n",
-      "v3= 0.8415 ##m^3/kg\n",
-      "V3= 100. ##m/s\n",
-      "v4= 0.00104 ##m^3/kg\n",
-      "V4= 5 ##m/s\n",
-      "##CALCULATIONS\n",
-      "W41= m*(h4-h1)\n",
-      "Q12= m*(h2-h1)\n",
-      "W23= m*(h2-h3)\n",
-      "Q34= m*(h4-h3)\n",
-      "A1= m*v1*10*10*10*10/V1\n",
-      "A2= m*v2*10*1010*10/V2\n",
-      "A3= m*v3*10*1010*10/V3\n",
-      "A4= m*v4*10*1010*10/V4\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('rate of pump =',W41,'kW')\n",
-      "print'%s %.f %s'%('rate of heat ineraction =',Q12,'kW')\n",
-      "print'%s %.1f %s'%('rate of work of the turbine =',W23,'W')\n",
-      "print'%s %.f %s'%('rate of heat ineraction =',Q34,'kW')\n",
-      "print'%s %.2f %s'%('area =',A1,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A2,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A3,'cm^2')\n",
-      "print'%s %.2f %s'%('area =',A4,'cm^2')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "rate of pump = -39.7 kW\n",
-        "rate of heat ineraction = 7094 kW\n",
-        "rate of work of the turbine = 1676.8 W\n",
-        "rate of heat ineraction = -5457 kW\n",
-        "area = 7.00 cm^2\n",
-        "area = 481.90 cm^2\n",
-        "area = 2124.79 cm^2\n",
-        "area = 52.52 cm^2\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg 96"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate mass of helium and temperature of helium\n",
-      "##initialisation of variables\n",
-      "m1= 0.03 ##kg\n",
-      "R= 8.314 ##J/mol K\n",
-      "T1= 300. ##C\n",
-      "p1= 120. ##kPa\n",
-      "k= 5./3.\n",
-      "M=4. ##kg\n",
-      "p2= 600. ##kPa\n",
-      "##CALCULATIONS\n",
-      "V= m1*R*(273.15+T1)/(p1*M)\n",
-      "m2= m1*((p2/p1)+k-1)/k\n",
-      "T2= p2*V*M/(m2*R)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('mass of helium =',m2,'kg')\n",
-      "print'%s %.1f %s'%('temperature of helium =',T2,'K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of helium = 0.102 kg\n",
-        "temperature of helium = 842.9 K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Eaxmple 6-pg97"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume of container and pressure\n",
-      "##initialisation of variables\n",
-      "m1= 0.03 ##kg\n",
-      "v1= 2.1977 ##m^3/kg\n",
-      "h2= 3073.8 ##kJ/kg\n",
-      "h1= 3061.6 ##kJ/kg\n",
-      "p2= 600. ##kPa\n",
-      "p1= 120. ##kPa\n",
-      "##CALCULATIONS\n",
-      "V=m1*v1\n",
-      "r= ((h2-h1)/v1)+p2-p1\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume of container =',V,'m^3')\n",
-      "print'%s %.2f %s'%('pressure =',r,'kPa')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume of container = 0.06593 m^3\n",
-        "pressure = 485.55 kPa\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter7-Heat_engines_and_the_second_law_of_thermodynamics.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter7-Heat_engines_and_the_second_law_of_thermodynamics.ipynb
deleted file mode 100755
index eb4c5f7b..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter7-Heat_engines_and_the_second_law_of_thermodynamics.ipynb
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:d5b975c50e55ebe3a2b199f890473e0371318b3f156613b06dbc3a02621943c9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter7-Heat engines and the second law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1 pg- 112"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate heat and efficency\n",
-      "##initialisation of variables\n",
-      "m= 0.35 ##kg\n",
-      "u2= 211.785 ##kJ/kg\n",
-      "u1= 182.267 ##kJ/kg\n",
-      "p2= 300. ##kPa\n",
-      "v3= 0.085566 ##kJ/kg\n",
-      "v2= 0.076218 ##kJ/kg\n",
-      "h3= 260.391 ##kJ/kg\n",
-      "h2= 234.650 ##kJ/kg\n",
-      "u4= 199.460 ##kJ/kg\n",
-      "u3= 234.721 ##kJ/kg\n",
-      "p4= 250.##kPa\n",
-      "v1= 0.076218 ##kJ/kg\n",
-      "v4= 0.085566 ##kJ/kg\n",
-      "h1= 201.322 ##kJ/kg\n",
-      "h4= 220.851 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "Q12= m*(u2-u1)\n",
-      "W23= m*p2*(v3-v2)\n",
-      "Q23= m*(h3-h2)\n",
-      "W34= 0\n",
-      "Q34= m*(u4-u3)\n",
-      "W41= m*p4*(v1-v4)\n",
-      "Q41= m*(h1-h4)\n",
-      "dW= W23+W41\n",
-      "dQ= Q12+Q23+Q34+Q41\n",
-      "Qh= Q12+Q23\n",
-      "n= dW*100/Qh\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('heat = ',Qh,'kj')\n",
-      "print'%s %.2f %s'%('efficiency =',n, 'percent')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat =  19.34 kj\n",
-        "efficiency = 0.85 percent\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4 pg-123"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate effiecncy of heat engine and efficency\n",
-      "##initialisation of variables\n",
-      "Qc= 9 ##kW\n",
-      "W= 7.5 ##kW\n",
-      "Qh= Qc+W\n",
-      "Tc= 50 ##C\n",
-      "Th= 400 ##C\n",
-      "##CALCULATIONS\n",
-      "n= W/Qh\n",
-      "nrev= 1-((273.15+Tc)/(273.15+Th))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('efficiency of heat engine = ',n,'')\n",
-      "print'%s %.3f %s'%('efficiency =',nrev,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "efficiency of heat engine =  0.455 \n",
-        "efficiency = 0.520 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter7.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter7.ipynb
deleted file mode 100755
index eb4c5f7b..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter7.ipynb
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:d5b975c50e55ebe3a2b199f890473e0371318b3f156613b06dbc3a02621943c9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter7-Heat engines and the second law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1 pg- 112"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate heat and efficency\n",
-      "##initialisation of variables\n",
-      "m= 0.35 ##kg\n",
-      "u2= 211.785 ##kJ/kg\n",
-      "u1= 182.267 ##kJ/kg\n",
-      "p2= 300. ##kPa\n",
-      "v3= 0.085566 ##kJ/kg\n",
-      "v2= 0.076218 ##kJ/kg\n",
-      "h3= 260.391 ##kJ/kg\n",
-      "h2= 234.650 ##kJ/kg\n",
-      "u4= 199.460 ##kJ/kg\n",
-      "u3= 234.721 ##kJ/kg\n",
-      "p4= 250.##kPa\n",
-      "v1= 0.076218 ##kJ/kg\n",
-      "v4= 0.085566 ##kJ/kg\n",
-      "h1= 201.322 ##kJ/kg\n",
-      "h4= 220.851 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "Q12= m*(u2-u1)\n",
-      "W23= m*p2*(v3-v2)\n",
-      "Q23= m*(h3-h2)\n",
-      "W34= 0\n",
-      "Q34= m*(u4-u3)\n",
-      "W41= m*p4*(v1-v4)\n",
-      "Q41= m*(h1-h4)\n",
-      "dW= W23+W41\n",
-      "dQ= Q12+Q23+Q34+Q41\n",
-      "Qh= Q12+Q23\n",
-      "n= dW*100/Qh\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('heat = ',Qh,'kj')\n",
-      "print'%s %.2f %s'%('efficiency =',n, 'percent')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat =  19.34 kj\n",
-        "efficiency = 0.85 percent\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4 pg-123"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate effiecncy of heat engine and efficency\n",
-      "##initialisation of variables\n",
-      "Qc= 9 ##kW\n",
-      "W= 7.5 ##kW\n",
-      "Qh= Qc+W\n",
-      "Tc= 50 ##C\n",
-      "Th= 400 ##C\n",
-      "##CALCULATIONS\n",
-      "n= W/Qh\n",
-      "nrev= 1-((273.15+Tc)/(273.15+Th))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('efficiency of heat engine = ',n,'')\n",
-      "print'%s %.3f %s'%('efficiency =',nrev,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "efficiency of heat engine =  0.455 \n",
-        "efficiency = 0.520 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter7_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter7_1.ipynb
deleted file mode 100755
index eb4c5f7b..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter7_1.ipynb
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:d5b975c50e55ebe3a2b199f890473e0371318b3f156613b06dbc3a02621943c9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter7-Heat engines and the second law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1 pg- 112"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate heat and efficency\n",
-      "##initialisation of variables\n",
-      "m= 0.35 ##kg\n",
-      "u2= 211.785 ##kJ/kg\n",
-      "u1= 182.267 ##kJ/kg\n",
-      "p2= 300. ##kPa\n",
-      "v3= 0.085566 ##kJ/kg\n",
-      "v2= 0.076218 ##kJ/kg\n",
-      "h3= 260.391 ##kJ/kg\n",
-      "h2= 234.650 ##kJ/kg\n",
-      "u4= 199.460 ##kJ/kg\n",
-      "u3= 234.721 ##kJ/kg\n",
-      "p4= 250.##kPa\n",
-      "v1= 0.076218 ##kJ/kg\n",
-      "v4= 0.085566 ##kJ/kg\n",
-      "h1= 201.322 ##kJ/kg\n",
-      "h4= 220.851 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "Q12= m*(u2-u1)\n",
-      "W23= m*p2*(v3-v2)\n",
-      "Q23= m*(h3-h2)\n",
-      "W34= 0\n",
-      "Q34= m*(u4-u3)\n",
-      "W41= m*p4*(v1-v4)\n",
-      "Q41= m*(h1-h4)\n",
-      "dW= W23+W41\n",
-      "dQ= Q12+Q23+Q34+Q41\n",
-      "Qh= Q12+Q23\n",
-      "n= dW*100/Qh\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('heat = ',Qh,'kj')\n",
-      "print'%s %.2f %s'%('efficiency =',n, 'percent')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat =  19.34 kj\n",
-        "efficiency = 0.85 percent\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4 pg-123"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate effiecncy of heat engine and efficency\n",
-      "##initialisation of variables\n",
-      "Qc= 9 ##kW\n",
-      "W= 7.5 ##kW\n",
-      "Qh= Qc+W\n",
-      "Tc= 50 ##C\n",
-      "Th= 400 ##C\n",
-      "##CALCULATIONS\n",
-      "n= W/Qh\n",
-      "nrev= 1-((273.15+Tc)/(273.15+Th))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('efficiency of heat engine = ',n,'')\n",
-      "print'%s %.3f %s'%('efficiency =',nrev,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "efficiency of heat engine =  0.455 \n",
-        "efficiency = 0.520 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter7_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter7_2.ipynb
deleted file mode 100755
index eb4c5f7b..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter7_2.ipynb
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:d5b975c50e55ebe3a2b199f890473e0371318b3f156613b06dbc3a02621943c9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter7-Heat engines and the second law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1 pg- 112"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate heat and efficency\n",
-      "##initialisation of variables\n",
-      "m= 0.35 ##kg\n",
-      "u2= 211.785 ##kJ/kg\n",
-      "u1= 182.267 ##kJ/kg\n",
-      "p2= 300. ##kPa\n",
-      "v3= 0.085566 ##kJ/kg\n",
-      "v2= 0.076218 ##kJ/kg\n",
-      "h3= 260.391 ##kJ/kg\n",
-      "h2= 234.650 ##kJ/kg\n",
-      "u4= 199.460 ##kJ/kg\n",
-      "u3= 234.721 ##kJ/kg\n",
-      "p4= 250.##kPa\n",
-      "v1= 0.076218 ##kJ/kg\n",
-      "v4= 0.085566 ##kJ/kg\n",
-      "h1= 201.322 ##kJ/kg\n",
-      "h4= 220.851 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "Q12= m*(u2-u1)\n",
-      "W23= m*p2*(v3-v2)\n",
-      "Q23= m*(h3-h2)\n",
-      "W34= 0\n",
-      "Q34= m*(u4-u3)\n",
-      "W41= m*p4*(v1-v4)\n",
-      "Q41= m*(h1-h4)\n",
-      "dW= W23+W41\n",
-      "dQ= Q12+Q23+Q34+Q41\n",
-      "Qh= Q12+Q23\n",
-      "n= dW*100/Qh\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('heat = ',Qh,'kj')\n",
-      "print'%s %.2f %s'%('efficiency =',n, 'percent')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat =  19.34 kj\n",
-        "efficiency = 0.85 percent\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4 pg-123"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate effiecncy of heat engine and efficency\n",
-      "##initialisation of variables\n",
-      "Qc= 9 ##kW\n",
-      "W= 7.5 ##kW\n",
-      "Qh= Qc+W\n",
-      "Tc= 50 ##C\n",
-      "Th= 400 ##C\n",
-      "##CALCULATIONS\n",
-      "n= W/Qh\n",
-      "nrev= 1-((273.15+Tc)/(273.15+Th))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('efficiency of heat engine = ',n,'')\n",
-      "print'%s %.3f %s'%('efficiency =',nrev,'')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "efficiency of heat engine =  0.455 \n",
-        "efficiency = 0.520 \n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter8-Entropy.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter8-Entropy.ipynb
deleted file mode 100755
index c1d76b67..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter8-Entropy.ipynb
+++ /dev/null
@@ -1,309 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:8780f29f2ca7dbbe28306b63f91de121a8fdfb0cc3c24c326256cd5a0309b1ed"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter8-Entropy"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1 pg- 131"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate and entropy of ice and environment and universe\n",
-      "##initialisation of variables\n",
-      "m= 2 ##kg\n",
-      "dh= 333.39 ##kg/h\n",
-      "T= 0 ##C\n",
-      "T1= 20 ##C\n",
-      "##CALCULATIONS\n",
-      "Q12= m*dh\n",
-      "dS= Q12/(273.15+T)\n",
-      "dSenvir= -Q12/(273.15+T1)\n",
-      "dStotal= dS+dSenvir\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' entropy of ice =',dS,'kJ/K')\n",
-      "print'%s %.3f %s'%('entropy of environment =',dSenvir,'kJ/K')\n",
-      "print'%s %.3f %s'%('entropy of universe =',dStotal,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " entropy of ice = 2.441 kJ/K\n",
-        "entropy of environment = -2.275 kJ/K\n",
-        "entropy of universe = 0.167 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg132"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate change in entropy in system and environment and entropy\n",
-      "##initialisation of variables\n",
-      "Q= 666.78 ##kJ\n",
-      "T= 0 ##C\n",
-      "Th= 20. ##C\n",
-      "##CALCULATIONS\n",
-      "Ssys= Q/(273.15+T)\n",
-      "Qh= Q*((273.15+Th)/(273.15+T))\n",
-      "Senvir= -Qh/(273.15+Th)\n",
-      "Stotal= Ssys+Senvir\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('change in entropy in sysytem =',Ssys,' kJ/K')\n",
-      "print'%s %.4f %s'%('change in entropy in environment =',Senvir,'kJ/K')\n",
-      "print'%s %.f %s'%('total change in entropy =',Stotal,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in entropy in sysytem = 2.4411  kJ/K\n",
-        "change in entropy in environment = -2.4411 kJ/K\n",
-        "total change in entropy = 0 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg134\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate change in entropy\n",
-      "##initialisation of variables\n",
-      "S1= 6.2872 ##J/kg K\n",
-      "S2= 5.8712 ##J/kg K\n",
-      "m= 18 ##kg\n",
-      "##CALCULATIONS\n",
-      "S= m*(S1-S2)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' change in entropy =',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " change in entropy = 7.488 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 134"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate change in entropy\n",
-      "##initialisation of variables\n",
-      "S2= 5.8328 ##kJ/kg\n",
-      "S1= 5.8712 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "S= S2-S1\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('change in entropy = ',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in entropy =  -0.03840 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg135"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and change in entropy\n",
-      "##initialisation of variables\n",
-      "m= 0.1 ##kg\n",
-      "p= 3 ##bar\n",
-      "p1= 10 ##bar\n",
-      "h1= 2964.3 ##kJ/kg\n",
-      "v1=0.2378\n",
-      "s2= 7.1619 ##kJ/k\n",
-      "s1= 6.9641 ##kJ/k\n",
-      "##CALCULATIONS\n",
-      "h2= h1+(p-p1)*math.pow(10,5)*v1*math.pow(10,-3)\n",
-      "S= m*(s2-s1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%(' enthalpy =',h2,'kJ/kg')\n",
-      "print'%s %.5f %s'%('change in entropy =',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " enthalpy = 2797.8 kJ/kg\n",
-        "change in entropy = 0.01978 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 137"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate final pressure and change in entropy\n",
-      "import math\n",
-      "##initialisation of variables\n",
-      "p1= 5. ##bar\n",
-      "V1= 0.4 ##m^2\n",
-      "V2= 1.2 ##m^3\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 28.##gms\n",
-      "T1= 80.##C\n",
-      "##CALCULATIONS\n",
-      "p2= p1*(V1/V2)\n",
-      "S= R*math.log(V2/V1)/M\n",
-      "S1= S*p1*V1*100/((R/M)*(273.15+T1))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' final pressure =',p2,'bar')\n",
-      "print'%s %.4f %s'% ('change in entropy =',S1,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " final pressure = 1.667 bar\n",
-        "change in entropy = 0.6222 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg 137"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat and change in entropy of system and change in entropy of enironment\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "T= 400. ##K\n",
-      "p2= 1.6 ##bar\n",
-      "p1= 1. ##bar\n",
-      "Tenvir= 300. ##K\n",
-      "##CALCULATIONS\n",
-      "q= R*T*math.log(p2/p1)/M\n",
-      "S= -R*math.log(p2/p1)/M\n",
-      "Senvir= q/Tenvir\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('heat =',q,'kJ/kg')\n",
-      "print'%s %.4f %s'%('change in entropy of system=',S,'kJ/kg K')\n",
-      "print'%s %.4f %s'%('change in entropy of environment=',Senvir,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat = 53.9 kJ/kg\n",
-        "change in entropy of system= -0.1347 kJ/kg K\n",
-        "change in entropy of environment= 0.1797 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter8.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter8.ipynb
deleted file mode 100755
index c1d76b67..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter8.ipynb
+++ /dev/null
@@ -1,309 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:8780f29f2ca7dbbe28306b63f91de121a8fdfb0cc3c24c326256cd5a0309b1ed"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter8-Entropy"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1 pg- 131"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate and entropy of ice and environment and universe\n",
-      "##initialisation of variables\n",
-      "m= 2 ##kg\n",
-      "dh= 333.39 ##kg/h\n",
-      "T= 0 ##C\n",
-      "T1= 20 ##C\n",
-      "##CALCULATIONS\n",
-      "Q12= m*dh\n",
-      "dS= Q12/(273.15+T)\n",
-      "dSenvir= -Q12/(273.15+T1)\n",
-      "dStotal= dS+dSenvir\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' entropy of ice =',dS,'kJ/K')\n",
-      "print'%s %.3f %s'%('entropy of environment =',dSenvir,'kJ/K')\n",
-      "print'%s %.3f %s'%('entropy of universe =',dStotal,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " entropy of ice = 2.441 kJ/K\n",
-        "entropy of environment = -2.275 kJ/K\n",
-        "entropy of universe = 0.167 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg132"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate change in entropy in system and environment and entropy\n",
-      "##initialisation of variables\n",
-      "Q= 666.78 ##kJ\n",
-      "T= 0 ##C\n",
-      "Th= 20. ##C\n",
-      "##CALCULATIONS\n",
-      "Ssys= Q/(273.15+T)\n",
-      "Qh= Q*((273.15+Th)/(273.15+T))\n",
-      "Senvir= -Qh/(273.15+Th)\n",
-      "Stotal= Ssys+Senvir\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('change in entropy in sysytem =',Ssys,' kJ/K')\n",
-      "print'%s %.4f %s'%('change in entropy in environment =',Senvir,'kJ/K')\n",
-      "print'%s %.f %s'%('total change in entropy =',Stotal,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in entropy in sysytem = 2.4411  kJ/K\n",
-        "change in entropy in environment = -2.4411 kJ/K\n",
-        "total change in entropy = 0 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg134\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate change in entropy\n",
-      "##initialisation of variables\n",
-      "S1= 6.2872 ##J/kg K\n",
-      "S2= 5.8712 ##J/kg K\n",
-      "m= 18 ##kg\n",
-      "##CALCULATIONS\n",
-      "S= m*(S1-S2)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' change in entropy =',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " change in entropy = 7.488 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 134"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate change in entropy\n",
-      "##initialisation of variables\n",
-      "S2= 5.8328 ##kJ/kg\n",
-      "S1= 5.8712 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "S= S2-S1\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('change in entropy = ',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in entropy =  -0.03840 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg135"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and change in entropy\n",
-      "##initialisation of variables\n",
-      "m= 0.1 ##kg\n",
-      "p= 3 ##bar\n",
-      "p1= 10 ##bar\n",
-      "h1= 2964.3 ##kJ/kg\n",
-      "v1=0.2378\n",
-      "s2= 7.1619 ##kJ/k\n",
-      "s1= 6.9641 ##kJ/k\n",
-      "##CALCULATIONS\n",
-      "h2= h1+(p-p1)*math.pow(10,5)*v1*math.pow(10,-3)\n",
-      "S= m*(s2-s1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%(' enthalpy =',h2,'kJ/kg')\n",
-      "print'%s %.5f %s'%('change in entropy =',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " enthalpy = 2797.8 kJ/kg\n",
-        "change in entropy = 0.01978 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 137"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate final pressure and change in entropy\n",
-      "import math\n",
-      "##initialisation of variables\n",
-      "p1= 5. ##bar\n",
-      "V1= 0.4 ##m^2\n",
-      "V2= 1.2 ##m^3\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 28.##gms\n",
-      "T1= 80.##C\n",
-      "##CALCULATIONS\n",
-      "p2= p1*(V1/V2)\n",
-      "S= R*math.log(V2/V1)/M\n",
-      "S1= S*p1*V1*100/((R/M)*(273.15+T1))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' final pressure =',p2,'bar')\n",
-      "print'%s %.4f %s'% ('change in entropy =',S1,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " final pressure = 1.667 bar\n",
-        "change in entropy = 0.6222 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg 137"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat and change in entropy of system and change in entropy of enironment\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "T= 400. ##K\n",
-      "p2= 1.6 ##bar\n",
-      "p1= 1. ##bar\n",
-      "Tenvir= 300. ##K\n",
-      "##CALCULATIONS\n",
-      "q= R*T*math.log(p2/p1)/M\n",
-      "S= -R*math.log(p2/p1)/M\n",
-      "Senvir= q/Tenvir\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('heat =',q,'kJ/kg')\n",
-      "print'%s %.4f %s'%('change in entropy of system=',S,'kJ/kg K')\n",
-      "print'%s %.4f %s'%('change in entropy of environment=',Senvir,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat = 53.9 kJ/kg\n",
-        "change in entropy of system= -0.1347 kJ/kg K\n",
-        "change in entropy of environment= 0.1797 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter8_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter8_1.ipynb
deleted file mode 100755
index c1d76b67..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter8_1.ipynb
+++ /dev/null
@@ -1,309 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:8780f29f2ca7dbbe28306b63f91de121a8fdfb0cc3c24c326256cd5a0309b1ed"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter8-Entropy"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1 pg- 131"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate and entropy of ice and environment and universe\n",
-      "##initialisation of variables\n",
-      "m= 2 ##kg\n",
-      "dh= 333.39 ##kg/h\n",
-      "T= 0 ##C\n",
-      "T1= 20 ##C\n",
-      "##CALCULATIONS\n",
-      "Q12= m*dh\n",
-      "dS= Q12/(273.15+T)\n",
-      "dSenvir= -Q12/(273.15+T1)\n",
-      "dStotal= dS+dSenvir\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' entropy of ice =',dS,'kJ/K')\n",
-      "print'%s %.3f %s'%('entropy of environment =',dSenvir,'kJ/K')\n",
-      "print'%s %.3f %s'%('entropy of universe =',dStotal,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " entropy of ice = 2.441 kJ/K\n",
-        "entropy of environment = -2.275 kJ/K\n",
-        "entropy of universe = 0.167 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg132"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate change in entropy in system and environment and entropy\n",
-      "##initialisation of variables\n",
-      "Q= 666.78 ##kJ\n",
-      "T= 0 ##C\n",
-      "Th= 20. ##C\n",
-      "##CALCULATIONS\n",
-      "Ssys= Q/(273.15+T)\n",
-      "Qh= Q*((273.15+Th)/(273.15+T))\n",
-      "Senvir= -Qh/(273.15+Th)\n",
-      "Stotal= Ssys+Senvir\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('change in entropy in sysytem =',Ssys,' kJ/K')\n",
-      "print'%s %.4f %s'%('change in entropy in environment =',Senvir,'kJ/K')\n",
-      "print'%s %.f %s'%('total change in entropy =',Stotal,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in entropy in sysytem = 2.4411  kJ/K\n",
-        "change in entropy in environment = -2.4411 kJ/K\n",
-        "total change in entropy = 0 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg134\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate change in entropy\n",
-      "##initialisation of variables\n",
-      "S1= 6.2872 ##J/kg K\n",
-      "S2= 5.8712 ##J/kg K\n",
-      "m= 18 ##kg\n",
-      "##CALCULATIONS\n",
-      "S= m*(S1-S2)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' change in entropy =',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " change in entropy = 7.488 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 134"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate change in entropy\n",
-      "##initialisation of variables\n",
-      "S2= 5.8328 ##kJ/kg\n",
-      "S1= 5.8712 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "S= S2-S1\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('change in entropy = ',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in entropy =  -0.03840 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg135"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and change in entropy\n",
-      "##initialisation of variables\n",
-      "m= 0.1 ##kg\n",
-      "p= 3 ##bar\n",
-      "p1= 10 ##bar\n",
-      "h1= 2964.3 ##kJ/kg\n",
-      "v1=0.2378\n",
-      "s2= 7.1619 ##kJ/k\n",
-      "s1= 6.9641 ##kJ/k\n",
-      "##CALCULATIONS\n",
-      "h2= h1+(p-p1)*math.pow(10,5)*v1*math.pow(10,-3)\n",
-      "S= m*(s2-s1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%(' enthalpy =',h2,'kJ/kg')\n",
-      "print'%s %.5f %s'%('change in entropy =',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " enthalpy = 2797.8 kJ/kg\n",
-        "change in entropy = 0.01978 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 137"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate final pressure and change in entropy\n",
-      "import math\n",
-      "##initialisation of variables\n",
-      "p1= 5. ##bar\n",
-      "V1= 0.4 ##m^2\n",
-      "V2= 1.2 ##m^3\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 28.##gms\n",
-      "T1= 80.##C\n",
-      "##CALCULATIONS\n",
-      "p2= p1*(V1/V2)\n",
-      "S= R*math.log(V2/V1)/M\n",
-      "S1= S*p1*V1*100/((R/M)*(273.15+T1))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' final pressure =',p2,'bar')\n",
-      "print'%s %.4f %s'% ('change in entropy =',S1,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " final pressure = 1.667 bar\n",
-        "change in entropy = 0.6222 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg 137"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat and change in entropy of system and change in entropy of enironment\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "T= 400. ##K\n",
-      "p2= 1.6 ##bar\n",
-      "p1= 1. ##bar\n",
-      "Tenvir= 300. ##K\n",
-      "##CALCULATIONS\n",
-      "q= R*T*math.log(p2/p1)/M\n",
-      "S= -R*math.log(p2/p1)/M\n",
-      "Senvir= q/Tenvir\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('heat =',q,'kJ/kg')\n",
-      "print'%s %.4f %s'%('change in entropy of system=',S,'kJ/kg K')\n",
-      "print'%s %.4f %s'%('change in entropy of environment=',Senvir,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat = 53.9 kJ/kg\n",
-        "change in entropy of system= -0.1347 kJ/kg K\n",
-        "change in entropy of environment= 0.1797 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter8_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter8_2.ipynb
deleted file mode 100755
index c1d76b67..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter8_2.ipynb
+++ /dev/null
@@ -1,309 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:8780f29f2ca7dbbe28306b63f91de121a8fdfb0cc3c24c326256cd5a0309b1ed"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter8-Entropy"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1 pg- 131"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate and entropy of ice and environment and universe\n",
-      "##initialisation of variables\n",
-      "m= 2 ##kg\n",
-      "dh= 333.39 ##kg/h\n",
-      "T= 0 ##C\n",
-      "T1= 20 ##C\n",
-      "##CALCULATIONS\n",
-      "Q12= m*dh\n",
-      "dS= Q12/(273.15+T)\n",
-      "dSenvir= -Q12/(273.15+T1)\n",
-      "dStotal= dS+dSenvir\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' entropy of ice =',dS,'kJ/K')\n",
-      "print'%s %.3f %s'%('entropy of environment =',dSenvir,'kJ/K')\n",
-      "print'%s %.3f %s'%('entropy of universe =',dStotal,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " entropy of ice = 2.441 kJ/K\n",
-        "entropy of environment = -2.275 kJ/K\n",
-        "entropy of universe = 0.167 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg132"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate change in entropy in system and environment and entropy\n",
-      "##initialisation of variables\n",
-      "Q= 666.78 ##kJ\n",
-      "T= 0 ##C\n",
-      "Th= 20. ##C\n",
-      "##CALCULATIONS\n",
-      "Ssys= Q/(273.15+T)\n",
-      "Qh= Q*((273.15+Th)/(273.15+T))\n",
-      "Senvir= -Qh/(273.15+Th)\n",
-      "Stotal= Ssys+Senvir\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('change in entropy in sysytem =',Ssys,' kJ/K')\n",
-      "print'%s %.4f %s'%('change in entropy in environment =',Senvir,'kJ/K')\n",
-      "print'%s %.f %s'%('total change in entropy =',Stotal,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in entropy in sysytem = 2.4411  kJ/K\n",
-        "change in entropy in environment = -2.4411 kJ/K\n",
-        "total change in entropy = 0 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg134\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate change in entropy\n",
-      "##initialisation of variables\n",
-      "S1= 6.2872 ##J/kg K\n",
-      "S2= 5.8712 ##J/kg K\n",
-      "m= 18 ##kg\n",
-      "##CALCULATIONS\n",
-      "S= m*(S1-S2)\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' change in entropy =',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " change in entropy = 7.488 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 134"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate change in entropy\n",
-      "##initialisation of variables\n",
-      "S2= 5.8328 ##kJ/kg\n",
-      "S1= 5.8712 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "S= S2-S1\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('change in entropy = ',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "change in entropy =  -0.03840 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg135"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and change in entropy\n",
-      "##initialisation of variables\n",
-      "m= 0.1 ##kg\n",
-      "p= 3 ##bar\n",
-      "p1= 10 ##bar\n",
-      "h1= 2964.3 ##kJ/kg\n",
-      "v1=0.2378\n",
-      "s2= 7.1619 ##kJ/k\n",
-      "s1= 6.9641 ##kJ/k\n",
-      "##CALCULATIONS\n",
-      "h2= h1+(p-p1)*math.pow(10,5)*v1*math.pow(10,-3)\n",
-      "S= m*(s2-s1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%(' enthalpy =',h2,'kJ/kg')\n",
-      "print'%s %.5f %s'%('change in entropy =',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " enthalpy = 2797.8 kJ/kg\n",
-        "change in entropy = 0.01978 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg 137"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "#calculate final pressure and change in entropy\n",
-      "import math\n",
-      "##initialisation of variables\n",
-      "p1= 5. ##bar\n",
-      "V1= 0.4 ##m^2\n",
-      "V2= 1.2 ##m^3\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 28.##gms\n",
-      "T1= 80.##C\n",
-      "##CALCULATIONS\n",
-      "p2= p1*(V1/V2)\n",
-      "S= R*math.log(V2/V1)/M\n",
-      "S1= S*p1*V1*100/((R/M)*(273.15+T1))\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' final pressure =',p2,'bar')\n",
-      "print'%s %.4f %s'% ('change in entropy =',S1,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " final pressure = 1.667 bar\n",
-        "change in entropy = 0.6222 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg 137"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat and change in entropy of system and change in entropy of enironment\n",
-      "##initialisation of variables\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "T= 400. ##K\n",
-      "p2= 1.6 ##bar\n",
-      "p1= 1. ##bar\n",
-      "Tenvir= 300. ##K\n",
-      "##CALCULATIONS\n",
-      "q= R*T*math.log(p2/p1)/M\n",
-      "S= -R*math.log(p2/p1)/M\n",
-      "Senvir= q/Tenvir\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('heat =',q,'kJ/kg')\n",
-      "print'%s %.4f %s'%('change in entropy of system=',S,'kJ/kg K')\n",
-      "print'%s %.4f %s'%('change in entropy of environment=',Senvir,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat = 53.9 kJ/kg\n",
-        "change in entropy of system= -0.1347 kJ/kg K\n",
-        "change in entropy of environment= 0.1797 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter9-Applications_of_the_second_law_of_thermodynamics.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter9-Applications_of_the_second_law_of_thermodynamics.ipynb
deleted file mode 100755
index f2acb74e..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter9-Applications_of_the_second_law_of_thermodynamics.ipynb
+++ /dev/null
@@ -1,473 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:15fd1db156f91825255a086dbc12ea12cb6caac30db6feed49ee7e31d29fef8c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter9-Applications of the second law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 152"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperatures and total entropy\n",
-      "##changeinitialisation of variables\n",
-      "p1= 3.##changeMpa\n",
-      "p2= 0.2 ##changeMpa\n",
-      "V1= 0.6 ##changem^3\n",
-      "V2= 1.##changem^3\n",
-      "M= 28. ##changegms\n",
-      "R= 8.314 ##changeJ/mol K\n",
-      "T= 400. ##changeC\n",
-      "T1= 150. ##changeC\n",
-      "k= 1.4\n",
-      "p3= 1.25 ##changeMpa\n",
-      "##changeCALCULATIONS\n",
-      "m1= p1*V1*10*10*10*M/(R*(273.15+T))\n",
-      "m2= p2*V2*10*10*10*M/(R*(273.15+T1))\n",
-      "p4= (p1*V1+p2*V2)/(V1+V2)\n",
-      "T2= (math.pow(p4/p1,k-1)/k)*(273.15+T)\n",
-      "m3= p3*V1*M*10*10*10/(R*T2)\n",
-      "dm= m1-m3\n",
-      "m4= m2+dm\n",
-      "T4= p3*10*10*10*V2/((R/M)*m4)\n",
-      "S= (R/M)*(m2*((k/(k-1))*math.log(T4/(273.15+T1))-math.log(p3/p2))+dm*((k/(k-1))*math.log(T4/(273.15+T))-math.log(p3/p1)))\n",
-      "##changeRESULTS\n",
-      "print'%s %.1f %s'%('final temperature =',T2,'K')\n",
-      "print'%s %.1f %s'%('final temperature =',T4,'K')\n",
-      "print'%s %.4f %s'%('Total entropy =',S,'KJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature = 338.8 K\n",
-        "final temperature = 1340.2 K\n",
-        "Total entropy = 2.5525 KJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg156"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work of the pump\n",
-      "##initialisation of variables\n",
-      "m= 10000 ##kg/h\n",
-      "P= 2.5 ##Mpa\n",
-      "P1= 100 ##kPa\n",
-      "v= 0.001003 ##m^3\n",
-      "##CALCULATIONS\n",
-      "W= -m*v*(P*10*10*10-P1)/3600\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' work of the pump =',W,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " work of the pump = -6.687 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 158"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##initialisation of variables\n",
-      "m= 4. ##kg/s\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "k= 1.4\n",
-      "T1= 27. ##C\n",
-      "p2= 1800. ##kPa\n",
-      "p1= 105. ##kPa\n",
-      "n= 1.22\n",
-      "cp= 1.4 ##Jmol K\n",
-      "##CALCULATIONS\n",
-      "T2= (273.15+T1)*(p2/p1)**((n-1)/n)\n",
-      "W= m*k*(R/M)*((273.15+T1)/(k-1))*(1-(p2/p1)**((k-1)/k))\n",
-      "Q= -m*R*(273.15+T1)*math.log(p2/p1)/M\n",
-      "W1= m*(R/M)*n*((273.15+T1)/(n-1))*(1-(p2/p1)**((n-1)/n))\n",
-      "Q1= m*(R/M)*(n-k)*(T2-T1-273.15)/((n-1)*(k-1))\n",
-      "T3= (273.15+T1)*(p2/p1)**((k-1)/(2*k))\n",
-      "Q2= m*cp*(R/M)*(T1+273.15-T3)/(k-1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('heat removed in adiabatic compression =',W,'kW')\n",
-      "print'%s %.1f %s'%('heat removed in isothermal compression =',Q,'kW')\n",
-      "print'%s %.1f %s'%('heat removed in polytropic process =',Q1,'kW')\n",
-      "print'%s %.2f %s'%('heat removed in adiabatic compression in two stages =',Q2,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat removed in adiabatic compression = -1508.5 kW\n",
-        "heat removed in isothermal compression = -978.1 kW\n",
-        "heat removed in polytropic process = -471.2 kW\n",
-        "heat removed in adiabatic compression in two stages = -603.21 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 161"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy\n",
-      "##initialisation of variables\n",
-      "h1= 3422.25 ##kJ/kg\n",
-      "m= 8. ##kg/s\n",
-      "s2= 7.3755 ##kJ/kg K\n",
-      "s1= 6.8803 ##kJ/kg K\n",
-      "e= 0.8\n",
-      "h2s= 2496.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "h2= h1+e*(h2s-h1)\n",
-      "W= m*(h1-h2)\n",
-      "S= s2-s1\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Enthalpy  =',W,'kW')\n",
-      "print'%s %.4f %s'% ('Entropy =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Enthalpy  = 5922.9 kW\n",
-        "Entropy = 0.4952 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg162"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "calculate volume flow rate into composser and volume flow rate out composser and heat and work \n",
-      "##initialisation of variables\n",
-      "m= 0.2 ##kg/s\n",
-      "v1= 1.0803 ##m^3/kg\n",
-      "T= 200 ##C\n",
-      "s2= 5.8041 ##kJ/kg K\n",
-      "s1= 7.5066 ##kJ/kg K\n",
-      "h1= 2328.1 ##kJ/kg\n",
-      "h2= 2654.4 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "V1= m*v1\n",
-      "V2= 0.1*V1\n",
-      "Q= m*(273.15+T)*(s2-s1)\n",
-      "W= Q-m*(h1-h2)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('volume flow rate into composser =',V1,'m^3')\n",
-      "print'%s %.4f %s'%('volume flow rate out of composser  =',V2,'m^3')\n",
-      "print'%s %.1f %s'%('Heat  =',Q,'kJ')\n",
-      "print'%s %.1f %s'%(' Work  =',W,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume flow rate into composser = 0.2161 m^3\n",
-        "volume flow rate out of composser  = 0.0216 m^3\n",
-        "Heat  = -161.1 kJ\n",
-        " Work  = -95.8 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg164"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume flow rate out and into the composser and work and heat\n",
-      "##initialisation of variables\n",
-      "m1= 0.2 ##kg/s\n",
-      "v1= 1.0803 ##m^3/kg\n",
-      "P= 200 ##kPa\n",
-      "T= 200 ##C\n",
-      "s1= 5.8041 ##kJ.kg K\n",
-      "s2= 7.5066 ##kJ/kg K\n",
-      "h1= 2870.5 ##kJ/kg\n",
-      "h2= 2495.9 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "V1= m1*v1\n",
-      "V2= 0.1*V1\n",
-      "Q= m1*(273.15+T)*(s1-s2)\n",
-      "W= m1*((h1-h2)-(273.15+T)*(s2-s1))\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('volume flow rate into composser =',V1,'m^3/s')\n",
-      "print'%s %.4f %s'%('volume flow rate out of composser  =',V2,'m^3/s') \n",
-      "print'%s %.1f %s'%('Work  =',W,'kW')\n",
-      "print'%s %.1f %s'%('Heat  =',Q,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume flow rate into composser = 0.2161 m^3/s\n",
-        "volume flow rate out of composser  = 0.0216 m^3/s\n",
-        "Work  = -86.2 kW\n",
-        "Heat  = -161.1 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg166"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate rate of transfer\n",
-      "##initialisation of variables\n",
-      "e= 0.82\n",
-      "m= 5 ##kg/s\n",
-      "T3= 450 ##C\n",
-      "T1= 200 ##C\n",
-      "##CALCULATIONS\n",
-      "Q= e*m*1.0035*(T3-T1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('rate of transfer =',Q,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "rate of transfer = 1028.6 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg 166"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat at given enthalpy\n",
-      "##initialisation of variables\n",
-      "h1= 174.076 ##kJ/kg\n",
-      "h3= 74.527 ##kJ/kg\n",
-      "h4= 8.854 ##kJ/kg\n",
-      "m= 0.8 ##kg\n",
-      "e= 0.85\n",
-      "##CALCULATIONS\n",
-      "h2= h1+h3-h4\n",
-      "Q= m*(h2-h1-23)\n",
-      "Q1= e*Q\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('Heat =',Q,'kW')\n",
-      "print'%s %.2f %s'%('Heat =',Q1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Heat = 34.14 kW\n",
-        "Heat = 29.02 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example9-pg 167"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy change\n",
-      "##initialisation of variables\n",
-      "W= 2000. ##kW\n",
-      "m= 2. ##kg/s\n",
-      "h1= 3023.5 ##kJ/kg\n",
-      "s2= 5.6106 ##kJ/kg K\n",
-      "s1= 6.7664 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "h2= h1-(W/m)\n",
-      "S=s2-s1\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('enthalpy =',h2,'kJ/kg')\n",
-      "print'%s %.4f %s'%('entropy change =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy = 2023.5 kJ/kg\n",
-        "entropy change = -1.1558 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example10-pg 168"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy change\n",
-      "##initialisation of variables\n",
-      "m1= 1 ##kg\n",
-      "h1= 2967.6 ##kJ/kg\n",
-      "h2= 83.96 ##kJ/kg\n",
-      "m2= 10\n",
-      "s1= 7.5166 ##kJ/kg K\n",
-      "s2= 0.2966 ##kJ/kg K\n",
-      "s3= 1.1654 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "h3= (m1*h1+m2*h2)/(m1+m2)\n",
-      "S= -m1*s1-m2*s2+(m1+m2)*s3\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('enthalpy =',h3,'kJ/kg')\n",
-      "print'%s %.4f %s'%('entropy change =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy = 346.1 kJ/kg\n",
-        "entropy change = 2.3368 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter9.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter9.ipynb
deleted file mode 100755
index f2acb74e..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter9.ipynb
+++ /dev/null
@@ -1,473 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:15fd1db156f91825255a086dbc12ea12cb6caac30db6feed49ee7e31d29fef8c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter9-Applications of the second law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 152"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperatures and total entropy\n",
-      "##changeinitialisation of variables\n",
-      "p1= 3.##changeMpa\n",
-      "p2= 0.2 ##changeMpa\n",
-      "V1= 0.6 ##changem^3\n",
-      "V2= 1.##changem^3\n",
-      "M= 28. ##changegms\n",
-      "R= 8.314 ##changeJ/mol K\n",
-      "T= 400. ##changeC\n",
-      "T1= 150. ##changeC\n",
-      "k= 1.4\n",
-      "p3= 1.25 ##changeMpa\n",
-      "##changeCALCULATIONS\n",
-      "m1= p1*V1*10*10*10*M/(R*(273.15+T))\n",
-      "m2= p2*V2*10*10*10*M/(R*(273.15+T1))\n",
-      "p4= (p1*V1+p2*V2)/(V1+V2)\n",
-      "T2= (math.pow(p4/p1,k-1)/k)*(273.15+T)\n",
-      "m3= p3*V1*M*10*10*10/(R*T2)\n",
-      "dm= m1-m3\n",
-      "m4= m2+dm\n",
-      "T4= p3*10*10*10*V2/((R/M)*m4)\n",
-      "S= (R/M)*(m2*((k/(k-1))*math.log(T4/(273.15+T1))-math.log(p3/p2))+dm*((k/(k-1))*math.log(T4/(273.15+T))-math.log(p3/p1)))\n",
-      "##changeRESULTS\n",
-      "print'%s %.1f %s'%('final temperature =',T2,'K')\n",
-      "print'%s %.1f %s'%('final temperature =',T4,'K')\n",
-      "print'%s %.4f %s'%('Total entropy =',S,'KJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature = 338.8 K\n",
-        "final temperature = 1340.2 K\n",
-        "Total entropy = 2.5525 KJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg156"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work of the pump\n",
-      "##initialisation of variables\n",
-      "m= 10000 ##kg/h\n",
-      "P= 2.5 ##Mpa\n",
-      "P1= 100 ##kPa\n",
-      "v= 0.001003 ##m^3\n",
-      "##CALCULATIONS\n",
-      "W= -m*v*(P*10*10*10-P1)/3600\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' work of the pump =',W,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " work of the pump = -6.687 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 158"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##initialisation of variables\n",
-      "m= 4. ##kg/s\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "k= 1.4\n",
-      "T1= 27. ##C\n",
-      "p2= 1800. ##kPa\n",
-      "p1= 105. ##kPa\n",
-      "n= 1.22\n",
-      "cp= 1.4 ##Jmol K\n",
-      "##CALCULATIONS\n",
-      "T2= (273.15+T1)*(p2/p1)**((n-1)/n)\n",
-      "W= m*k*(R/M)*((273.15+T1)/(k-1))*(1-(p2/p1)**((k-1)/k))\n",
-      "Q= -m*R*(273.15+T1)*math.log(p2/p1)/M\n",
-      "W1= m*(R/M)*n*((273.15+T1)/(n-1))*(1-(p2/p1)**((n-1)/n))\n",
-      "Q1= m*(R/M)*(n-k)*(T2-T1-273.15)/((n-1)*(k-1))\n",
-      "T3= (273.15+T1)*(p2/p1)**((k-1)/(2*k))\n",
-      "Q2= m*cp*(R/M)*(T1+273.15-T3)/(k-1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('heat removed in adiabatic compression =',W,'kW')\n",
-      "print'%s %.1f %s'%('heat removed in isothermal compression =',Q,'kW')\n",
-      "print'%s %.1f %s'%('heat removed in polytropic process =',Q1,'kW')\n",
-      "print'%s %.2f %s'%('heat removed in adiabatic compression in two stages =',Q2,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat removed in adiabatic compression = -1508.5 kW\n",
-        "heat removed in isothermal compression = -978.1 kW\n",
-        "heat removed in polytropic process = -471.2 kW\n",
-        "heat removed in adiabatic compression in two stages = -603.21 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 161"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy\n",
-      "##initialisation of variables\n",
-      "h1= 3422.25 ##kJ/kg\n",
-      "m= 8. ##kg/s\n",
-      "s2= 7.3755 ##kJ/kg K\n",
-      "s1= 6.8803 ##kJ/kg K\n",
-      "e= 0.8\n",
-      "h2s= 2496.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "h2= h1+e*(h2s-h1)\n",
-      "W= m*(h1-h2)\n",
-      "S= s2-s1\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Enthalpy  =',W,'kW')\n",
-      "print'%s %.4f %s'% ('Entropy =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Enthalpy  = 5922.9 kW\n",
-        "Entropy = 0.4952 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg162"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "calculate volume flow rate into composser and volume flow rate out composser and heat and work \n",
-      "##initialisation of variables\n",
-      "m= 0.2 ##kg/s\n",
-      "v1= 1.0803 ##m^3/kg\n",
-      "T= 200 ##C\n",
-      "s2= 5.8041 ##kJ/kg K\n",
-      "s1= 7.5066 ##kJ/kg K\n",
-      "h1= 2328.1 ##kJ/kg\n",
-      "h2= 2654.4 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "V1= m*v1\n",
-      "V2= 0.1*V1\n",
-      "Q= m*(273.15+T)*(s2-s1)\n",
-      "W= Q-m*(h1-h2)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('volume flow rate into composser =',V1,'m^3')\n",
-      "print'%s %.4f %s'%('volume flow rate out of composser  =',V2,'m^3')\n",
-      "print'%s %.1f %s'%('Heat  =',Q,'kJ')\n",
-      "print'%s %.1f %s'%(' Work  =',W,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume flow rate into composser = 0.2161 m^3\n",
-        "volume flow rate out of composser  = 0.0216 m^3\n",
-        "Heat  = -161.1 kJ\n",
-        " Work  = -95.8 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg164"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume flow rate out and into the composser and work and heat\n",
-      "##initialisation of variables\n",
-      "m1= 0.2 ##kg/s\n",
-      "v1= 1.0803 ##m^3/kg\n",
-      "P= 200 ##kPa\n",
-      "T= 200 ##C\n",
-      "s1= 5.8041 ##kJ.kg K\n",
-      "s2= 7.5066 ##kJ/kg K\n",
-      "h1= 2870.5 ##kJ/kg\n",
-      "h2= 2495.9 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "V1= m1*v1\n",
-      "V2= 0.1*V1\n",
-      "Q= m1*(273.15+T)*(s1-s2)\n",
-      "W= m1*((h1-h2)-(273.15+T)*(s2-s1))\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('volume flow rate into composser =',V1,'m^3/s')\n",
-      "print'%s %.4f %s'%('volume flow rate out of composser  =',V2,'m^3/s') \n",
-      "print'%s %.1f %s'%('Work  =',W,'kW')\n",
-      "print'%s %.1f %s'%('Heat  =',Q,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume flow rate into composser = 0.2161 m^3/s\n",
-        "volume flow rate out of composser  = 0.0216 m^3/s\n",
-        "Work  = -86.2 kW\n",
-        "Heat  = -161.1 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg166"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate rate of transfer\n",
-      "##initialisation of variables\n",
-      "e= 0.82\n",
-      "m= 5 ##kg/s\n",
-      "T3= 450 ##C\n",
-      "T1= 200 ##C\n",
-      "##CALCULATIONS\n",
-      "Q= e*m*1.0035*(T3-T1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('rate of transfer =',Q,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "rate of transfer = 1028.6 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg 166"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat at given enthalpy\n",
-      "##initialisation of variables\n",
-      "h1= 174.076 ##kJ/kg\n",
-      "h3= 74.527 ##kJ/kg\n",
-      "h4= 8.854 ##kJ/kg\n",
-      "m= 0.8 ##kg\n",
-      "e= 0.85\n",
-      "##CALCULATIONS\n",
-      "h2= h1+h3-h4\n",
-      "Q= m*(h2-h1-23)\n",
-      "Q1= e*Q\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('Heat =',Q,'kW')\n",
-      "print'%s %.2f %s'%('Heat =',Q1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Heat = 34.14 kW\n",
-        "Heat = 29.02 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example9-pg 167"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy change\n",
-      "##initialisation of variables\n",
-      "W= 2000. ##kW\n",
-      "m= 2. ##kg/s\n",
-      "h1= 3023.5 ##kJ/kg\n",
-      "s2= 5.6106 ##kJ/kg K\n",
-      "s1= 6.7664 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "h2= h1-(W/m)\n",
-      "S=s2-s1\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('enthalpy =',h2,'kJ/kg')\n",
-      "print'%s %.4f %s'%('entropy change =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy = 2023.5 kJ/kg\n",
-        "entropy change = -1.1558 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example10-pg 168"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy change\n",
-      "##initialisation of variables\n",
-      "m1= 1 ##kg\n",
-      "h1= 2967.6 ##kJ/kg\n",
-      "h2= 83.96 ##kJ/kg\n",
-      "m2= 10\n",
-      "s1= 7.5166 ##kJ/kg K\n",
-      "s2= 0.2966 ##kJ/kg K\n",
-      "s3= 1.1654 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "h3= (m1*h1+m2*h2)/(m1+m2)\n",
-      "S= -m1*s1-m2*s2+(m1+m2)*s3\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('enthalpy =',h3,'kJ/kg')\n",
-      "print'%s %.4f %s'%('entropy change =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy = 346.1 kJ/kg\n",
-        "entropy change = 2.3368 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter9_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter9_1.ipynb
deleted file mode 100755
index f2acb74e..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter9_1.ipynb
+++ /dev/null
@@ -1,473 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:15fd1db156f91825255a086dbc12ea12cb6caac30db6feed49ee7e31d29fef8c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter9-Applications of the second law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 152"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperatures and total entropy\n",
-      "##changeinitialisation of variables\n",
-      "p1= 3.##changeMpa\n",
-      "p2= 0.2 ##changeMpa\n",
-      "V1= 0.6 ##changem^3\n",
-      "V2= 1.##changem^3\n",
-      "M= 28. ##changegms\n",
-      "R= 8.314 ##changeJ/mol K\n",
-      "T= 400. ##changeC\n",
-      "T1= 150. ##changeC\n",
-      "k= 1.4\n",
-      "p3= 1.25 ##changeMpa\n",
-      "##changeCALCULATIONS\n",
-      "m1= p1*V1*10*10*10*M/(R*(273.15+T))\n",
-      "m2= p2*V2*10*10*10*M/(R*(273.15+T1))\n",
-      "p4= (p1*V1+p2*V2)/(V1+V2)\n",
-      "T2= (math.pow(p4/p1,k-1)/k)*(273.15+T)\n",
-      "m3= p3*V1*M*10*10*10/(R*T2)\n",
-      "dm= m1-m3\n",
-      "m4= m2+dm\n",
-      "T4= p3*10*10*10*V2/((R/M)*m4)\n",
-      "S= (R/M)*(m2*((k/(k-1))*math.log(T4/(273.15+T1))-math.log(p3/p2))+dm*((k/(k-1))*math.log(T4/(273.15+T))-math.log(p3/p1)))\n",
-      "##changeRESULTS\n",
-      "print'%s %.1f %s'%('final temperature =',T2,'K')\n",
-      "print'%s %.1f %s'%('final temperature =',T4,'K')\n",
-      "print'%s %.4f %s'%('Total entropy =',S,'KJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature = 338.8 K\n",
-        "final temperature = 1340.2 K\n",
-        "Total entropy = 2.5525 KJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg156"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work of the pump\n",
-      "##initialisation of variables\n",
-      "m= 10000 ##kg/h\n",
-      "P= 2.5 ##Mpa\n",
-      "P1= 100 ##kPa\n",
-      "v= 0.001003 ##m^3\n",
-      "##CALCULATIONS\n",
-      "W= -m*v*(P*10*10*10-P1)/3600\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' work of the pump =',W,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " work of the pump = -6.687 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 158"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##initialisation of variables\n",
-      "m= 4. ##kg/s\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "k= 1.4\n",
-      "T1= 27. ##C\n",
-      "p2= 1800. ##kPa\n",
-      "p1= 105. ##kPa\n",
-      "n= 1.22\n",
-      "cp= 1.4 ##Jmol K\n",
-      "##CALCULATIONS\n",
-      "T2= (273.15+T1)*(p2/p1)**((n-1)/n)\n",
-      "W= m*k*(R/M)*((273.15+T1)/(k-1))*(1-(p2/p1)**((k-1)/k))\n",
-      "Q= -m*R*(273.15+T1)*math.log(p2/p1)/M\n",
-      "W1= m*(R/M)*n*((273.15+T1)/(n-1))*(1-(p2/p1)**((n-1)/n))\n",
-      "Q1= m*(R/M)*(n-k)*(T2-T1-273.15)/((n-1)*(k-1))\n",
-      "T3= (273.15+T1)*(p2/p1)**((k-1)/(2*k))\n",
-      "Q2= m*cp*(R/M)*(T1+273.15-T3)/(k-1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('heat removed in adiabatic compression =',W,'kW')\n",
-      "print'%s %.1f %s'%('heat removed in isothermal compression =',Q,'kW')\n",
-      "print'%s %.1f %s'%('heat removed in polytropic process =',Q1,'kW')\n",
-      "print'%s %.2f %s'%('heat removed in adiabatic compression in two stages =',Q2,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat removed in adiabatic compression = -1508.5 kW\n",
-        "heat removed in isothermal compression = -978.1 kW\n",
-        "heat removed in polytropic process = -471.2 kW\n",
-        "heat removed in adiabatic compression in two stages = -603.21 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 161"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy\n",
-      "##initialisation of variables\n",
-      "h1= 3422.25 ##kJ/kg\n",
-      "m= 8. ##kg/s\n",
-      "s2= 7.3755 ##kJ/kg K\n",
-      "s1= 6.8803 ##kJ/kg K\n",
-      "e= 0.8\n",
-      "h2s= 2496.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "h2= h1+e*(h2s-h1)\n",
-      "W= m*(h1-h2)\n",
-      "S= s2-s1\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Enthalpy  =',W,'kW')\n",
-      "print'%s %.4f %s'% ('Entropy =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Enthalpy  = 5922.9 kW\n",
-        "Entropy = 0.4952 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg162"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "calculate volume flow rate into composser and volume flow rate out composser and heat and work \n",
-      "##initialisation of variables\n",
-      "m= 0.2 ##kg/s\n",
-      "v1= 1.0803 ##m^3/kg\n",
-      "T= 200 ##C\n",
-      "s2= 5.8041 ##kJ/kg K\n",
-      "s1= 7.5066 ##kJ/kg K\n",
-      "h1= 2328.1 ##kJ/kg\n",
-      "h2= 2654.4 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "V1= m*v1\n",
-      "V2= 0.1*V1\n",
-      "Q= m*(273.15+T)*(s2-s1)\n",
-      "W= Q-m*(h1-h2)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('volume flow rate into composser =',V1,'m^3')\n",
-      "print'%s %.4f %s'%('volume flow rate out of composser  =',V2,'m^3')\n",
-      "print'%s %.1f %s'%('Heat  =',Q,'kJ')\n",
-      "print'%s %.1f %s'%(' Work  =',W,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume flow rate into composser = 0.2161 m^3\n",
-        "volume flow rate out of composser  = 0.0216 m^3\n",
-        "Heat  = -161.1 kJ\n",
-        " Work  = -95.8 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg164"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume flow rate out and into the composser and work and heat\n",
-      "##initialisation of variables\n",
-      "m1= 0.2 ##kg/s\n",
-      "v1= 1.0803 ##m^3/kg\n",
-      "P= 200 ##kPa\n",
-      "T= 200 ##C\n",
-      "s1= 5.8041 ##kJ.kg K\n",
-      "s2= 7.5066 ##kJ/kg K\n",
-      "h1= 2870.5 ##kJ/kg\n",
-      "h2= 2495.9 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "V1= m1*v1\n",
-      "V2= 0.1*V1\n",
-      "Q= m1*(273.15+T)*(s1-s2)\n",
-      "W= m1*((h1-h2)-(273.15+T)*(s2-s1))\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('volume flow rate into composser =',V1,'m^3/s')\n",
-      "print'%s %.4f %s'%('volume flow rate out of composser  =',V2,'m^3/s') \n",
-      "print'%s %.1f %s'%('Work  =',W,'kW')\n",
-      "print'%s %.1f %s'%('Heat  =',Q,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume flow rate into composser = 0.2161 m^3/s\n",
-        "volume flow rate out of composser  = 0.0216 m^3/s\n",
-        "Work  = -86.2 kW\n",
-        "Heat  = -161.1 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg166"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate rate of transfer\n",
-      "##initialisation of variables\n",
-      "e= 0.82\n",
-      "m= 5 ##kg/s\n",
-      "T3= 450 ##C\n",
-      "T1= 200 ##C\n",
-      "##CALCULATIONS\n",
-      "Q= e*m*1.0035*(T3-T1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('rate of transfer =',Q,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "rate of transfer = 1028.6 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg 166"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat at given enthalpy\n",
-      "##initialisation of variables\n",
-      "h1= 174.076 ##kJ/kg\n",
-      "h3= 74.527 ##kJ/kg\n",
-      "h4= 8.854 ##kJ/kg\n",
-      "m= 0.8 ##kg\n",
-      "e= 0.85\n",
-      "##CALCULATIONS\n",
-      "h2= h1+h3-h4\n",
-      "Q= m*(h2-h1-23)\n",
-      "Q1= e*Q\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('Heat =',Q,'kW')\n",
-      "print'%s %.2f %s'%('Heat =',Q1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Heat = 34.14 kW\n",
-        "Heat = 29.02 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example9-pg 167"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy change\n",
-      "##initialisation of variables\n",
-      "W= 2000. ##kW\n",
-      "m= 2. ##kg/s\n",
-      "h1= 3023.5 ##kJ/kg\n",
-      "s2= 5.6106 ##kJ/kg K\n",
-      "s1= 6.7664 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "h2= h1-(W/m)\n",
-      "S=s2-s1\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('enthalpy =',h2,'kJ/kg')\n",
-      "print'%s %.4f %s'%('entropy change =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy = 2023.5 kJ/kg\n",
-        "entropy change = -1.1558 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example10-pg 168"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy change\n",
-      "##initialisation of variables\n",
-      "m1= 1 ##kg\n",
-      "h1= 2967.6 ##kJ/kg\n",
-      "h2= 83.96 ##kJ/kg\n",
-      "m2= 10\n",
-      "s1= 7.5166 ##kJ/kg K\n",
-      "s2= 0.2966 ##kJ/kg K\n",
-      "s3= 1.1654 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "h3= (m1*h1+m2*h2)/(m1+m2)\n",
-      "S= -m1*s1-m2*s2+(m1+m2)*s3\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('enthalpy =',h3,'kJ/kg')\n",
-      "print'%s %.4f %s'%('entropy change =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy = 346.1 kJ/kg\n",
-        "entropy change = 2.3368 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter9_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter9_2.ipynb
deleted file mode 100755
index f2acb74e..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter9_2.ipynb
+++ /dev/null
@@ -1,473 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:15fd1db156f91825255a086dbc12ea12cb6caac30db6feed49ee7e31d29fef8c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter9-Applications of the second law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 152"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperatures and total entropy\n",
-      "##changeinitialisation of variables\n",
-      "p1= 3.##changeMpa\n",
-      "p2= 0.2 ##changeMpa\n",
-      "V1= 0.6 ##changem^3\n",
-      "V2= 1.##changem^3\n",
-      "M= 28. ##changegms\n",
-      "R= 8.314 ##changeJ/mol K\n",
-      "T= 400. ##changeC\n",
-      "T1= 150. ##changeC\n",
-      "k= 1.4\n",
-      "p3= 1.25 ##changeMpa\n",
-      "##changeCALCULATIONS\n",
-      "m1= p1*V1*10*10*10*M/(R*(273.15+T))\n",
-      "m2= p2*V2*10*10*10*M/(R*(273.15+T1))\n",
-      "p4= (p1*V1+p2*V2)/(V1+V2)\n",
-      "T2= (math.pow(p4/p1,k-1)/k)*(273.15+T)\n",
-      "m3= p3*V1*M*10*10*10/(R*T2)\n",
-      "dm= m1-m3\n",
-      "m4= m2+dm\n",
-      "T4= p3*10*10*10*V2/((R/M)*m4)\n",
-      "S= (R/M)*(m2*((k/(k-1))*math.log(T4/(273.15+T1))-math.log(p3/p2))+dm*((k/(k-1))*math.log(T4/(273.15+T))-math.log(p3/p1)))\n",
-      "##changeRESULTS\n",
-      "print'%s %.1f %s'%('final temperature =',T2,'K')\n",
-      "print'%s %.1f %s'%('final temperature =',T4,'K')\n",
-      "print'%s %.4f %s'%('Total entropy =',S,'KJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature = 338.8 K\n",
-        "final temperature = 1340.2 K\n",
-        "Total entropy = 2.5525 KJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg156"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work of the pump\n",
-      "##initialisation of variables\n",
-      "m= 10000 ##kg/h\n",
-      "P= 2.5 ##Mpa\n",
-      "P1= 100 ##kPa\n",
-      "v= 0.001003 ##m^3\n",
-      "##CALCULATIONS\n",
-      "W= -m*v*(P*10*10*10-P1)/3600\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%(' work of the pump =',W,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " work of the pump = -6.687 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 9
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg 158"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##initialisation of variables\n",
-      "m= 4. ##kg/s\n",
-      "R= 8.314 ##J/mol K\n",
-      "M= 29. ##gms\n",
-      "k= 1.4\n",
-      "T1= 27. ##C\n",
-      "p2= 1800. ##kPa\n",
-      "p1= 105. ##kPa\n",
-      "n= 1.22\n",
-      "cp= 1.4 ##Jmol K\n",
-      "##CALCULATIONS\n",
-      "T2= (273.15+T1)*(p2/p1)**((n-1)/n)\n",
-      "W= m*k*(R/M)*((273.15+T1)/(k-1))*(1-(p2/p1)**((k-1)/k))\n",
-      "Q= -m*R*(273.15+T1)*math.log(p2/p1)/M\n",
-      "W1= m*(R/M)*n*((273.15+T1)/(n-1))*(1-(p2/p1)**((n-1)/n))\n",
-      "Q1= m*(R/M)*(n-k)*(T2-T1-273.15)/((n-1)*(k-1))\n",
-      "T3= (273.15+T1)*(p2/p1)**((k-1)/(2*k))\n",
-      "Q2= m*cp*(R/M)*(T1+273.15-T3)/(k-1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('heat removed in adiabatic compression =',W,'kW')\n",
-      "print'%s %.1f %s'%('heat removed in isothermal compression =',Q,'kW')\n",
-      "print'%s %.1f %s'%('heat removed in polytropic process =',Q1,'kW')\n",
-      "print'%s %.2f %s'%('heat removed in adiabatic compression in two stages =',Q2,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat removed in adiabatic compression = -1508.5 kW\n",
-        "heat removed in isothermal compression = -978.1 kW\n",
-        "heat removed in polytropic process = -471.2 kW\n",
-        "heat removed in adiabatic compression in two stages = -603.21 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 161"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy\n",
-      "##initialisation of variables\n",
-      "h1= 3422.25 ##kJ/kg\n",
-      "m= 8. ##kg/s\n",
-      "s2= 7.3755 ##kJ/kg K\n",
-      "s1= 6.8803 ##kJ/kg K\n",
-      "e= 0.8\n",
-      "h2s= 2496.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "h2= h1+e*(h2s-h1)\n",
-      "W= m*(h1-h2)\n",
-      "S= s2-s1\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('Enthalpy  =',W,'kW')\n",
-      "print'%s %.4f %s'% ('Entropy =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Enthalpy  = 5922.9 kW\n",
-        "Entropy = 0.4952 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg162"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "calculate volume flow rate into composser and volume flow rate out composser and heat and work \n",
-      "##initialisation of variables\n",
-      "m= 0.2 ##kg/s\n",
-      "v1= 1.0803 ##m^3/kg\n",
-      "T= 200 ##C\n",
-      "s2= 5.8041 ##kJ/kg K\n",
-      "s1= 7.5066 ##kJ/kg K\n",
-      "h1= 2328.1 ##kJ/kg\n",
-      "h2= 2654.4 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "V1= m*v1\n",
-      "V2= 0.1*V1\n",
-      "Q= m*(273.15+T)*(s2-s1)\n",
-      "W= Q-m*(h1-h2)\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'%('volume flow rate into composser =',V1,'m^3')\n",
-      "print'%s %.4f %s'%('volume flow rate out of composser  =',V2,'m^3')\n",
-      "print'%s %.1f %s'%('Heat  =',Q,'kJ')\n",
-      "print'%s %.1f %s'%(' Work  =',W,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume flow rate into composser = 0.2161 m^3\n",
-        "volume flow rate out of composser  = 0.0216 m^3\n",
-        "Heat  = -161.1 kJ\n",
-        " Work  = -95.8 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg164"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate volume flow rate out and into the composser and work and heat\n",
-      "##initialisation of variables\n",
-      "m1= 0.2 ##kg/s\n",
-      "v1= 1.0803 ##m^3/kg\n",
-      "P= 200 ##kPa\n",
-      "T= 200 ##C\n",
-      "s1= 5.8041 ##kJ.kg K\n",
-      "s2= 7.5066 ##kJ/kg K\n",
-      "h1= 2870.5 ##kJ/kg\n",
-      "h2= 2495.9 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "V1= m1*v1\n",
-      "V2= 0.1*V1\n",
-      "Q= m1*(273.15+T)*(s1-s2)\n",
-      "W= m1*((h1-h2)-(273.15+T)*(s2-s1))\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('volume flow rate into composser =',V1,'m^3/s')\n",
-      "print'%s %.4f %s'%('volume flow rate out of composser  =',V2,'m^3/s') \n",
-      "print'%s %.1f %s'%('Work  =',W,'kW')\n",
-      "print'%s %.1f %s'%('Heat  =',Q,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume flow rate into composser = 0.2161 m^3/s\n",
-        "volume flow rate out of composser  = 0.0216 m^3/s\n",
-        "Work  = -86.2 kW\n",
-        "Heat  = -161.1 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg166"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate rate of transfer\n",
-      "##initialisation of variables\n",
-      "e= 0.82\n",
-      "m= 5 ##kg/s\n",
-      "T3= 450 ##C\n",
-      "T1= 200 ##C\n",
-      "##CALCULATIONS\n",
-      "Q= e*m*1.0035*(T3-T1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('rate of transfer =',Q,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "rate of transfer = 1028.6 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg 166"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate heat at given enthalpy\n",
-      "##initialisation of variables\n",
-      "h1= 174.076 ##kJ/kg\n",
-      "h3= 74.527 ##kJ/kg\n",
-      "h4= 8.854 ##kJ/kg\n",
-      "m= 0.8 ##kg\n",
-      "e= 0.85\n",
-      "##CALCULATIONS\n",
-      "h2= h1+h3-h4\n",
-      "Q= m*(h2-h1-23)\n",
-      "Q1= e*Q\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('Heat =',Q,'kW')\n",
-      "print'%s %.2f %s'%('Heat =',Q1,'kW')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Heat = 34.14 kW\n",
-        "Heat = 29.02 kW\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example9-pg 167"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy change\n",
-      "##initialisation of variables\n",
-      "W= 2000. ##kW\n",
-      "m= 2. ##kg/s\n",
-      "h1= 3023.5 ##kJ/kg\n",
-      "s2= 5.6106 ##kJ/kg K\n",
-      "s1= 6.7664 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "h2= h1-(W/m)\n",
-      "S=s2-s1\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('enthalpy =',h2,'kJ/kg')\n",
-      "print'%s %.4f %s'%('entropy change =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy = 2023.5 kJ/kg\n",
-        "entropy change = -1.1558 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example10-pg 168"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate enthalpy and entropy change\n",
-      "##initialisation of variables\n",
-      "m1= 1 ##kg\n",
-      "h1= 2967.6 ##kJ/kg\n",
-      "h2= 83.96 ##kJ/kg\n",
-      "m2= 10\n",
-      "s1= 7.5166 ##kJ/kg K\n",
-      "s2= 0.2966 ##kJ/kg K\n",
-      "s3= 1.1654 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "h3= (m1*h1+m2*h2)/(m1+m2)\n",
-      "S= -m1*s1-m2*s2+(m1+m2)*s3\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('enthalpy =',h3,'kJ/kg')\n",
-      "print'%s %.4f %s'%('entropy change =',S,'kJ/kg K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "enthalpy = 346.1 kJ/kg\n",
-        "entropy change = 2.3368 kJ/kg K\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_2.ipynb
deleted file mode 100755
index 1b242151..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_2.ipynb
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2df70ea24eb675b5df88544238cda98c7d9d4538b630227696b56b410ea0e81e"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 2 - Work"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 pg 12"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the mass of oxygen and density of oxygen and specific volume and molar specific volume\n",
-      "##initialisation of variables\n",
-      "n= 0.25 ## k mol\n",
-      "M= 32 ##kg/kmol\n",
-      "V= 0.5 ##m^3\n",
-      "##CALCULATIONS\n",
-      "m= n*M\n",
-      "d= m/V\n",
-      "v= 1/d\n",
-      "v1= V/n\n",
-      "##RESULTS\n",
-      "print'%s %.0f %s'%(\"mass of oxygen=\",m,'kg')\n",
-      "print'%s %.0f %s'%(\"density of oxygen=\",d,'kg/m^3')\n",
-      "print'%s %.4f %s'%('specific volume=',v,'kg/m^3')\n",
-      "print'%s %.0f %s'%('molar specific volume=',v1,'m^3/kmol')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of oxygen= 8 kg\n",
-        "density of oxygen= 16 kg/m^3\n",
-        "specific volume= 0.0625 kg/m^3\n",
-        "molar specific volume= 2 m^3/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts_.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts_.ipynb
deleted file mode 100755
index a9cf01c8..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts_.ipynb
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:c445f39e7878cf61ffc763516de39900f14df501737d9a8da58454f14557359b"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 2 - Basic concepts "
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 pg 12"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the mass of oxygen and density of oxygen and specific volume and molar specific volume\n",
-      "##initialisation of variables\n",
-      "n= 0.25 ## k mol\n",
-      "M= 32 ##kg/kmol\n",
-      "V= 0.5 ##m^3\n",
-      "##CALCULATIONS\n",
-      "m= n*M\n",
-      "d= m/V\n",
-      "v= 1/d\n",
-      "v1= V/n\n",
-      "##RESULTS\n",
-      "print'%s %.0f %s'%(\"mass of oxygen=\",m,'kg')\n",
-      "print'%s %.0f %s'%(\"density of oxygen=\",d,'kg/m^3')\n",
-      "print'%s %.4f %s'%('specific volume=',v,'kg/m^3')\n",
-      "print'%s %.0f %s'%('molar specific volume=',v1,'m^3/kmol')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of oxygen= 8 kg\n",
-        "density of oxygen= 16 kg/m^3\n",
-        "specific volume= 0.0625 kg/m^3\n",
-        "molar specific volume= 2 m^3/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__1.ipynb
deleted file mode 100755
index a9cf01c8..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__1.ipynb
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:c445f39e7878cf61ffc763516de39900f14df501737d9a8da58454f14557359b"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 2 - Basic concepts "
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 pg 12"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the mass of oxygen and density of oxygen and specific volume and molar specific volume\n",
-      "##initialisation of variables\n",
-      "n= 0.25 ## k mol\n",
-      "M= 32 ##kg/kmol\n",
-      "V= 0.5 ##m^3\n",
-      "##CALCULATIONS\n",
-      "m= n*M\n",
-      "d= m/V\n",
-      "v= 1/d\n",
-      "v1= V/n\n",
-      "##RESULTS\n",
-      "print'%s %.0f %s'%(\"mass of oxygen=\",m,'kg')\n",
-      "print'%s %.0f %s'%(\"density of oxygen=\",d,'kg/m^3')\n",
-      "print'%s %.4f %s'%('specific volume=',v,'kg/m^3')\n",
-      "print'%s %.0f %s'%('molar specific volume=',v1,'m^3/kmol')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of oxygen= 8 kg\n",
-        "density of oxygen= 16 kg/m^3\n",
-        "specific volume= 0.0625 kg/m^3\n",
-        "molar specific volume= 2 m^3/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__2.ipynb
deleted file mode 100755
index a9cf01c8..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__2.ipynb
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:c445f39e7878cf61ffc763516de39900f14df501737d9a8da58454f14557359b"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 2 - Basic concepts "
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 pg 12"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the mass of oxygen and density of oxygen and specific volume and molar specific volume\n",
-      "##initialisation of variables\n",
-      "n= 0.25 ## k mol\n",
-      "M= 32 ##kg/kmol\n",
-      "V= 0.5 ##m^3\n",
-      "##CALCULATIONS\n",
-      "m= n*M\n",
-      "d= m/V\n",
-      "v= 1/d\n",
-      "v1= V/n\n",
-      "##RESULTS\n",
-      "print'%s %.0f %s'%(\"mass of oxygen=\",m,'kg')\n",
-      "print'%s %.0f %s'%(\"density of oxygen=\",d,'kg/m^3')\n",
-      "print'%s %.4f %s'%('specific volume=',v,'kg/m^3')\n",
-      "print'%s %.0f %s'%('molar specific volume=',v1,'m^3/kmol')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of oxygen= 8 kg\n",
-        "density of oxygen= 16 kg/m^3\n",
-        "specific volume= 0.0625 kg/m^3\n",
-        "molar specific volume= 2 m^3/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__3.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__3.ipynb
deleted file mode 100755
index a9cf01c8..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_2_-Basic_concepts__3.ipynb
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:c445f39e7878cf61ffc763516de39900f14df501737d9a8da58454f14557359b"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 2 - Basic concepts "
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 pg 12"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the mass of oxygen and density of oxygen and specific volume and molar specific volume\n",
-      "##initialisation of variables\n",
-      "n= 0.25 ## k mol\n",
-      "M= 32 ##kg/kmol\n",
-      "V= 0.5 ##m^3\n",
-      "##CALCULATIONS\n",
-      "m= n*M\n",
-      "d= m/V\n",
-      "v= 1/d\n",
-      "v1= V/n\n",
-      "##RESULTS\n",
-      "print'%s %.0f %s'%(\"mass of oxygen=\",m,'kg')\n",
-      "print'%s %.0f %s'%(\"density of oxygen=\",d,'kg/m^3')\n",
-      "print'%s %.4f %s'%('specific volume=',v,'kg/m^3')\n",
-      "print'%s %.0f %s'%('molar specific volume=',v1,'m^3/kmol')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of oxygen= 8 kg\n",
-        "density of oxygen= 16 kg/m^3\n",
-        "specific volume= 0.0625 kg/m^3\n",
-        "molar specific volume= 2 m^3/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_2_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_2_1.ipynb
deleted file mode 100755
index a9cf01c8..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_2_1.ipynb
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:c445f39e7878cf61ffc763516de39900f14df501737d9a8da58454f14557359b"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 2 - Basic concepts "
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 pg 12"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the mass of oxygen and density of oxygen and specific volume and molar specific volume\n",
-      "##initialisation of variables\n",
-      "n= 0.25 ## k mol\n",
-      "M= 32 ##kg/kmol\n",
-      "V= 0.5 ##m^3\n",
-      "##CALCULATIONS\n",
-      "m= n*M\n",
-      "d= m/V\n",
-      "v= 1/d\n",
-      "v1= V/n\n",
-      "##RESULTS\n",
-      "print'%s %.0f %s'%(\"mass of oxygen=\",m,'kg')\n",
-      "print'%s %.0f %s'%(\"density of oxygen=\",d,'kg/m^3')\n",
-      "print'%s %.4f %s'%('specific volume=',v,'kg/m^3')\n",
-      "print'%s %.0f %s'%('molar specific volume=',v1,'m^3/kmol')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of oxygen= 8 kg\n",
-        "density of oxygen= 16 kg/m^3\n",
-        "specific volume= 0.0625 kg/m^3\n",
-        "molar specific volume= 2 m^3/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_2_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_2_2.ipynb
deleted file mode 100755
index a9cf01c8..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_2_2.ipynb
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:c445f39e7878cf61ffc763516de39900f14df501737d9a8da58454f14557359b"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter 2 - Basic concepts "
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 2 pg 12"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the mass of oxygen and density of oxygen and specific volume and molar specific volume\n",
-      "##initialisation of variables\n",
-      "n= 0.25 ## k mol\n",
-      "M= 32 ##kg/kmol\n",
-      "V= 0.5 ##m^3\n",
-      "##CALCULATIONS\n",
-      "m= n*M\n",
-      "d= m/V\n",
-      "v= 1/d\n",
-      "v1= V/n\n",
-      "##RESULTS\n",
-      "print'%s %.0f %s'%(\"mass of oxygen=\",m,'kg')\n",
-      "print'%s %.0f %s'%(\"density of oxygen=\",d,'kg/m^3')\n",
-      "print'%s %.4f %s'%('specific volume=',v,'kg/m^3')\n",
-      "print'%s %.0f %s'%('molar specific volume=',v1,'m^3/kmol')\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "mass of oxygen= 8 kg\n",
-        "density of oxygen= 16 kg/m^3\n",
-        "specific volume= 0.0625 kg/m^3\n",
-        "molar specific volume= 2 m^3/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics.ipynb
deleted file mode 100755
index f4e0af8d..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics.ipynb
+++ /dev/null
@@ -1,220 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:56539cb8410013a7d0be3df1cf1e85c7a8b906e5f399b600535904fe0fd98e57"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter3-Work energy and heat first law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - Pg 24"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work interaction of spring\n",
-      "##initialisation of variables\n",
-      "m= 5 ##kg\n",
-      "g= 9.8 ##m/sec^2\n",
-      "k= 500 ##N/m\n",
-      "##CALCULATIONS\n",
-      "x= m*g/k\n",
-      "W= -m*g*x\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work interaction of spring = ',W,'J')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work interaction of spring =  -4.80 J\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 pg 25"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work done by the gas\n",
-      "##initialisation of variables\n",
-      "m= 500 ##kg\n",
-      "V= 50 ##L\n",
-      "P= 700 ##kPa\n",
-      "T= 25 ##C\n",
-      "P0= 100 ##kPa\n",
-      "g= 9.8 ##m/sec^2\n",
-      "A= 200 ##cm^2\n",
-      "V1= 100 ##L\n",
-      "##CALCULATIONS\n",
-      "pe= P0*math.pow(10,3)+(m*g/(A*(math.pow(10,-4))))\n",
-      "W= pe*(V1-V)*(math.pow(10,-6))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work of the gas =',W,'kJ')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the gas = 17.25 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 pg 27"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calcualte the energy change in process 1,2,3 and work in third process\n",
-      "##initialisation of variables\n",
-      "W= 5 ##kJ\n",
-      "Q= 23 ##kJ\n",
-      "Q1= -50 ##kJ\n",
-      "W1= 0 ##kJ\n",
-      "##CALCULATIONS\n",
-      "E1= Q-W\n",
-      "E2= Q1-W1\n",
-      "E3= -(E1+E2)\n",
-      "W3= -E3\n",
-      "##RESULTS\n",
-      "print '%s %.f %s'%('energy change in process 1 =',E1,'kJ')\n",
-      "print'%s %.f %s'% ('energy change in process 2 = ',E2,'kJ')\n",
-      "print '%s %.f %s'%('energy change in process 3 = ',E3,'kJ')\n",
-      "print '%s %.f %s'%('Work in third process = ',W3,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "energy change in process 1 = 18 kJ\n",
-        "energy change in process 2 =  -50 kJ\n",
-        "energy change in process 3 =  32 kJ\n",
-        "Work in third process =  -32 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculat the car mileage of given variable\n",
-      "##initialisation of variables\n",
-      "V= 12 ##km/L\n",
-      "##CALCULATIONS\n",
-      "MPG= V*3.7854/1.609\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('car mileage =',MPG,'MPG')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "car mileage = 28.23 MPG\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##find whether salesman is honest or not\n",
-      "##initialisation of variables\n",
-      "p= 800 ##atm\n",
-      "P= 10000 ##psi\n",
-      "x= 14.696 ##psi/atm\n",
-      "##CALCULATIONS\n",
-      "P1= p*x\n",
-      "##RESULTS\n",
-      "if (P1>P):\n",
-      "\tprint (\"Salesman is honest\")\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Salesman is honest\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_1.ipynb
deleted file mode 100755
index f4e0af8d..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_1.ipynb
+++ /dev/null
@@ -1,220 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:56539cb8410013a7d0be3df1cf1e85c7a8b906e5f399b600535904fe0fd98e57"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter3-Work energy and heat first law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - Pg 24"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work interaction of spring\n",
-      "##initialisation of variables\n",
-      "m= 5 ##kg\n",
-      "g= 9.8 ##m/sec^2\n",
-      "k= 500 ##N/m\n",
-      "##CALCULATIONS\n",
-      "x= m*g/k\n",
-      "W= -m*g*x\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work interaction of spring = ',W,'J')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work interaction of spring =  -4.80 J\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 pg 25"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work done by the gas\n",
-      "##initialisation of variables\n",
-      "m= 500 ##kg\n",
-      "V= 50 ##L\n",
-      "P= 700 ##kPa\n",
-      "T= 25 ##C\n",
-      "P0= 100 ##kPa\n",
-      "g= 9.8 ##m/sec^2\n",
-      "A= 200 ##cm^2\n",
-      "V1= 100 ##L\n",
-      "##CALCULATIONS\n",
-      "pe= P0*math.pow(10,3)+(m*g/(A*(math.pow(10,-4))))\n",
-      "W= pe*(V1-V)*(math.pow(10,-6))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work of the gas =',W,'kJ')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the gas = 17.25 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 pg 27"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calcualte the energy change in process 1,2,3 and work in third process\n",
-      "##initialisation of variables\n",
-      "W= 5 ##kJ\n",
-      "Q= 23 ##kJ\n",
-      "Q1= -50 ##kJ\n",
-      "W1= 0 ##kJ\n",
-      "##CALCULATIONS\n",
-      "E1= Q-W\n",
-      "E2= Q1-W1\n",
-      "E3= -(E1+E2)\n",
-      "W3= -E3\n",
-      "##RESULTS\n",
-      "print '%s %.f %s'%('energy change in process 1 =',E1,'kJ')\n",
-      "print'%s %.f %s'% ('energy change in process 2 = ',E2,'kJ')\n",
-      "print '%s %.f %s'%('energy change in process 3 = ',E3,'kJ')\n",
-      "print '%s %.f %s'%('Work in third process = ',W3,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "energy change in process 1 = 18 kJ\n",
-        "energy change in process 2 =  -50 kJ\n",
-        "energy change in process 3 =  32 kJ\n",
-        "Work in third process =  -32 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculat the car mileage of given variable\n",
-      "##initialisation of variables\n",
-      "V= 12 ##km/L\n",
-      "##CALCULATIONS\n",
-      "MPG= V*3.7854/1.609\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('car mileage =',MPG,'MPG')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "car mileage = 28.23 MPG\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##find whether salesman is honest or not\n",
-      "##initialisation of variables\n",
-      "p= 800 ##atm\n",
-      "P= 10000 ##psi\n",
-      "x= 14.696 ##psi/atm\n",
-      "##CALCULATIONS\n",
-      "P1= p*x\n",
-      "##RESULTS\n",
-      "if (P1>P):\n",
-      "\tprint (\"Salesman is honest\")\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Salesman is honest\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_2.ipynb
deleted file mode 100755
index f4e0af8d..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_2.ipynb
+++ /dev/null
@@ -1,220 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:56539cb8410013a7d0be3df1cf1e85c7a8b906e5f399b600535904fe0fd98e57"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter3-Work energy and heat first law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - Pg 24"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work interaction of spring\n",
-      "##initialisation of variables\n",
-      "m= 5 ##kg\n",
-      "g= 9.8 ##m/sec^2\n",
-      "k= 500 ##N/m\n",
-      "##CALCULATIONS\n",
-      "x= m*g/k\n",
-      "W= -m*g*x\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work interaction of spring = ',W,'J')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work interaction of spring =  -4.80 J\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 pg 25"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work done by the gas\n",
-      "##initialisation of variables\n",
-      "m= 500 ##kg\n",
-      "V= 50 ##L\n",
-      "P= 700 ##kPa\n",
-      "T= 25 ##C\n",
-      "P0= 100 ##kPa\n",
-      "g= 9.8 ##m/sec^2\n",
-      "A= 200 ##cm^2\n",
-      "V1= 100 ##L\n",
-      "##CALCULATIONS\n",
-      "pe= P0*math.pow(10,3)+(m*g/(A*(math.pow(10,-4))))\n",
-      "W= pe*(V1-V)*(math.pow(10,-6))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work of the gas =',W,'kJ')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the gas = 17.25 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 pg 27"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calcualte the energy change in process 1,2,3 and work in third process\n",
-      "##initialisation of variables\n",
-      "W= 5 ##kJ\n",
-      "Q= 23 ##kJ\n",
-      "Q1= -50 ##kJ\n",
-      "W1= 0 ##kJ\n",
-      "##CALCULATIONS\n",
-      "E1= Q-W\n",
-      "E2= Q1-W1\n",
-      "E3= -(E1+E2)\n",
-      "W3= -E3\n",
-      "##RESULTS\n",
-      "print '%s %.f %s'%('energy change in process 1 =',E1,'kJ')\n",
-      "print'%s %.f %s'% ('energy change in process 2 = ',E2,'kJ')\n",
-      "print '%s %.f %s'%('energy change in process 3 = ',E3,'kJ')\n",
-      "print '%s %.f %s'%('Work in third process = ',W3,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "energy change in process 1 = 18 kJ\n",
-        "energy change in process 2 =  -50 kJ\n",
-        "energy change in process 3 =  32 kJ\n",
-        "Work in third process =  -32 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculat the car mileage of given variable\n",
-      "##initialisation of variables\n",
-      "V= 12 ##km/L\n",
-      "##CALCULATIONS\n",
-      "MPG= V*3.7854/1.609\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('car mileage =',MPG,'MPG')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "car mileage = 28.23 MPG\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##find whether salesman is honest or not\n",
-      "##initialisation of variables\n",
-      "p= 800 ##atm\n",
-      "P= 10000 ##psi\n",
-      "x= 14.696 ##psi/atm\n",
-      "##CALCULATIONS\n",
-      "P1= p*x\n",
-      "##RESULTS\n",
-      "if (P1>P):\n",
-      "\tprint (\"Salesman is honest\")\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Salesman is honest\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_3.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_3.ipynb
deleted file mode 100755
index f4e0af8d..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_3-Work_energy_and_heat_first_law_of_thermodynamics_3.ipynb
+++ /dev/null
@@ -1,220 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:56539cb8410013a7d0be3df1cf1e85c7a8b906e5f399b600535904fe0fd98e57"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter3-Work energy and heat first law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - Pg 24"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work interaction of spring\n",
-      "##initialisation of variables\n",
-      "m= 5 ##kg\n",
-      "g= 9.8 ##m/sec^2\n",
-      "k= 500 ##N/m\n",
-      "##CALCULATIONS\n",
-      "x= m*g/k\n",
-      "W= -m*g*x\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work interaction of spring = ',W,'J')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work interaction of spring =  -4.80 J\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 pg 25"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work done by the gas\n",
-      "##initialisation of variables\n",
-      "m= 500 ##kg\n",
-      "V= 50 ##L\n",
-      "P= 700 ##kPa\n",
-      "T= 25 ##C\n",
-      "P0= 100 ##kPa\n",
-      "g= 9.8 ##m/sec^2\n",
-      "A= 200 ##cm^2\n",
-      "V1= 100 ##L\n",
-      "##CALCULATIONS\n",
-      "pe= P0*math.pow(10,3)+(m*g/(A*(math.pow(10,-4))))\n",
-      "W= pe*(V1-V)*(math.pow(10,-6))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work of the gas =',W,'kJ')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the gas = 17.25 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 pg 27"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calcualte the energy change in process 1,2,3 and work in third process\n",
-      "##initialisation of variables\n",
-      "W= 5 ##kJ\n",
-      "Q= 23 ##kJ\n",
-      "Q1= -50 ##kJ\n",
-      "W1= 0 ##kJ\n",
-      "##CALCULATIONS\n",
-      "E1= Q-W\n",
-      "E2= Q1-W1\n",
-      "E3= -(E1+E2)\n",
-      "W3= -E3\n",
-      "##RESULTS\n",
-      "print '%s %.f %s'%('energy change in process 1 =',E1,'kJ')\n",
-      "print'%s %.f %s'% ('energy change in process 2 = ',E2,'kJ')\n",
-      "print '%s %.f %s'%('energy change in process 3 = ',E3,'kJ')\n",
-      "print '%s %.f %s'%('Work in third process = ',W3,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "energy change in process 1 = 18 kJ\n",
-        "energy change in process 2 =  -50 kJ\n",
-        "energy change in process 3 =  32 kJ\n",
-        "Work in third process =  -32 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculat the car mileage of given variable\n",
-      "##initialisation of variables\n",
-      "V= 12 ##km/L\n",
-      "##CALCULATIONS\n",
-      "MPG= V*3.7854/1.609\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('car mileage =',MPG,'MPG')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "car mileage = 28.23 MPG\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##find whether salesman is honest or not\n",
-      "##initialisation of variables\n",
-      "p= 800 ##atm\n",
-      "P= 10000 ##psi\n",
-      "x= 14.696 ##psi/atm\n",
-      "##CALCULATIONS\n",
-      "P1= p*x\n",
-      "##RESULTS\n",
-      "if (P1>P):\n",
-      "\tprint (\"Salesman is honest\")\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Salesman is honest\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_3.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_3.ipynb
deleted file mode 100755
index 013387dc..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_3.ipynb
+++ /dev/null
@@ -1,220 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:f73954e8811e151c0b5b9ebbc8b4a25ed95b527042098578272743a33330e079"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter3-heat"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - Pg 24"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work interaction of spring\n",
-      "##initialisation of variables\n",
-      "m= 5 ##kg\n",
-      "g= 9.8 ##m/sec^2\n",
-      "k= 500 ##N/m\n",
-      "##CALCULATIONS\n",
-      "x= m*g/k\n",
-      "W= -m*g*x\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work interaction of spring = ',W,'J')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work interaction of spring =  -4.80 J\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 pg 25"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work done by the gas\n",
-      "##initialisation of variables\n",
-      "m= 500 ##kg\n",
-      "V= 50 ##L\n",
-      "P= 700 ##kPa\n",
-      "T= 25 ##C\n",
-      "P0= 100 ##kPa\n",
-      "g= 9.8 ##m/sec^2\n",
-      "A= 200 ##cm^2\n",
-      "V1= 100 ##L\n",
-      "##CALCULATIONS\n",
-      "pe= P0*math.pow(10,3)+(m*g/(A*(math.pow(10,-4))))\n",
-      "W= pe*(V1-V)*(math.pow(10,-6))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work of the gas =',W,'kJ')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the gas = 17.25 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 pg 27"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calcualte the energy change in process 1,2,3 and work in third process\n",
-      "##initialisation of variables\n",
-      "W= 5 ##kJ\n",
-      "Q= 23 ##kJ\n",
-      "Q1= -50 ##kJ\n",
-      "W1= 0 ##kJ\n",
-      "##CALCULATIONS\n",
-      "E1= Q-W\n",
-      "E2= Q1-W1\n",
-      "E3= -(E1+E2)\n",
-      "W3= -E3\n",
-      "##RESULTS\n",
-      "print '%s %.f %s'%('energy change in process 1 =',E1,'kJ')\n",
-      "print'%s %.f %s'% ('energy change in process 2 = ',E2,'kJ')\n",
-      "print '%s %.f %s'%('energy change in process 3 = ',E3,'kJ')\n",
-      "print '%s %.f %s'%('Work in third process = ',W3,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "energy change in process 1 = 18 kJ\n",
-        "energy change in process 2 =  -50 kJ\n",
-        "energy change in process 3 =  32 kJ\n",
-        "Work in third process =  -32 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculat the car mileage of given variable\n",
-      "##initialisation of variables\n",
-      "V= 12 ##km/L\n",
-      "##CALCULATIONS\n",
-      "MPG= V*3.7854/1.609\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('car mileage =',MPG,'MPG')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "car mileage = 28.23 MPG\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##find whether salesman is honest or not\n",
-      "##initialisation of variables\n",
-      "p= 800 ##atm\n",
-      "P= 10000 ##psi\n",
-      "x= 14.696 ##psi/atm\n",
-      "##CALCULATIONS\n",
-      "P1= p*x\n",
-      "##RESULTS\n",
-      "if (P1>P):\n",
-      "\tprint (\"Salesman is honest\")\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Salesman is honest\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_3_1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_3_1.ipynb
deleted file mode 100755
index f4e0af8d..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_3_1.ipynb
+++ /dev/null
@@ -1,220 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:56539cb8410013a7d0be3df1cf1e85c7a8b906e5f399b600535904fe0fd98e57"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter3-Work energy and heat first law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - Pg 24"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work interaction of spring\n",
-      "##initialisation of variables\n",
-      "m= 5 ##kg\n",
-      "g= 9.8 ##m/sec^2\n",
-      "k= 500 ##N/m\n",
-      "##CALCULATIONS\n",
-      "x= m*g/k\n",
-      "W= -m*g*x\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work interaction of spring = ',W,'J')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work interaction of spring =  -4.80 J\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 pg 25"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work done by the gas\n",
-      "##initialisation of variables\n",
-      "m= 500 ##kg\n",
-      "V= 50 ##L\n",
-      "P= 700 ##kPa\n",
-      "T= 25 ##C\n",
-      "P0= 100 ##kPa\n",
-      "g= 9.8 ##m/sec^2\n",
-      "A= 200 ##cm^2\n",
-      "V1= 100 ##L\n",
-      "##CALCULATIONS\n",
-      "pe= P0*math.pow(10,3)+(m*g/(A*(math.pow(10,-4))))\n",
-      "W= pe*(V1-V)*(math.pow(10,-6))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work of the gas =',W,'kJ')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the gas = 17.25 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 pg 27"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calcualte the energy change in process 1,2,3 and work in third process\n",
-      "##initialisation of variables\n",
-      "W= 5 ##kJ\n",
-      "Q= 23 ##kJ\n",
-      "Q1= -50 ##kJ\n",
-      "W1= 0 ##kJ\n",
-      "##CALCULATIONS\n",
-      "E1= Q-W\n",
-      "E2= Q1-W1\n",
-      "E3= -(E1+E2)\n",
-      "W3= -E3\n",
-      "##RESULTS\n",
-      "print '%s %.f %s'%('energy change in process 1 =',E1,'kJ')\n",
-      "print'%s %.f %s'% ('energy change in process 2 = ',E2,'kJ')\n",
-      "print '%s %.f %s'%('energy change in process 3 = ',E3,'kJ')\n",
-      "print '%s %.f %s'%('Work in third process = ',W3,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "energy change in process 1 = 18 kJ\n",
-        "energy change in process 2 =  -50 kJ\n",
-        "energy change in process 3 =  32 kJ\n",
-        "Work in third process =  -32 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculat the car mileage of given variable\n",
-      "##initialisation of variables\n",
-      "V= 12 ##km/L\n",
-      "##CALCULATIONS\n",
-      "MPG= V*3.7854/1.609\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('car mileage =',MPG,'MPG')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "car mileage = 28.23 MPG\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##find whether salesman is honest or not\n",
-      "##initialisation of variables\n",
-      "p= 800 ##atm\n",
-      "P= 10000 ##psi\n",
-      "x= 14.696 ##psi/atm\n",
-      "##CALCULATIONS\n",
-      "P1= p*x\n",
-      "##RESULTS\n",
-      "if (P1>P):\n",
-      "\tprint (\"Salesman is honest\")\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Salesman is honest\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_3_2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_3_2.ipynb
deleted file mode 100755
index f4e0af8d..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_3_2.ipynb
+++ /dev/null
@@ -1,220 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:56539cb8410013a7d0be3df1cf1e85c7a8b906e5f399b600535904fe0fd98e57"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "chapter3-Work energy and heat first law of thermodynamics"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 3 - Pg 24"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work interaction of spring\n",
-      "##initialisation of variables\n",
-      "m= 5 ##kg\n",
-      "g= 9.8 ##m/sec^2\n",
-      "k= 500 ##N/m\n",
-      "##CALCULATIONS\n",
-      "x= m*g/k\n",
-      "W= -m*g*x\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work interaction of spring = ',W,'J')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work interaction of spring =  -4.80 J\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 4 pg 25"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculate the work done by the gas\n",
-      "##initialisation of variables\n",
-      "m= 500 ##kg\n",
-      "V= 50 ##L\n",
-      "P= 700 ##kPa\n",
-      "T= 25 ##C\n",
-      "P0= 100 ##kPa\n",
-      "g= 9.8 ##m/sec^2\n",
-      "A= 200 ##cm^2\n",
-      "V1= 100 ##L\n",
-      "##CALCULATIONS\n",
-      "pe= P0*math.pow(10,3)+(m*g/(A*(math.pow(10,-4))))\n",
-      "W= pe*(V1-V)*(math.pow(10,-6))\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'% ('work of the gas =',W,'kJ')"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work of the gas = 17.25 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 5 pg 27"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calcualte the energy change in process 1,2,3 and work in third process\n",
-      "##initialisation of variables\n",
-      "W= 5 ##kJ\n",
-      "Q= 23 ##kJ\n",
-      "Q1= -50 ##kJ\n",
-      "W1= 0 ##kJ\n",
-      "##CALCULATIONS\n",
-      "E1= Q-W\n",
-      "E2= Q1-W1\n",
-      "E3= -(E1+E2)\n",
-      "W3= -E3\n",
-      "##RESULTS\n",
-      "print '%s %.f %s'%('energy change in process 1 =',E1,'kJ')\n",
-      "print'%s %.f %s'% ('energy change in process 2 = ',E2,'kJ')\n",
-      "print '%s %.f %s'%('energy change in process 3 = ',E3,'kJ')\n",
-      "print '%s %.f %s'%('Work in third process = ',W3,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "energy change in process 1 = 18 kJ\n",
-        "energy change in process 2 =  -50 kJ\n",
-        "energy change in process 3 =  32 kJ\n",
-        "Work in third process =  -32 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 6 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##calculat the car mileage of given variable\n",
-      "##initialisation of variables\n",
-      "V= 12 ##km/L\n",
-      "##CALCULATIONS\n",
-      "MPG= V*3.7854/1.609\n",
-      "##RESULTS\n",
-      "print'%s %.2f %s'%('car mileage =',MPG,'MPG')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "car mileage = 28.23 MPG\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7 pg 28"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "##find whether salesman is honest or not\n",
-      "##initialisation of variables\n",
-      "p= 800 ##atm\n",
-      "P= 10000 ##psi\n",
-      "x= 14.696 ##psi/atm\n",
-      "##CALCULATIONS\n",
-      "P1= p*x\n",
-      "##RESULTS\n",
-      "if (P1>P):\n",
-      "\tprint (\"Salesman is honest\")\n",
-      "\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "Salesman is honest\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_4.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_4.ipynb
deleted file mode 100755
index b4cbb2bf..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_4.ipynb
+++ /dev/null
@@ -1,466 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:f794a4d18f36c13ddab8d6024721da6bc9aca8b98b0260eaf3e1fb73a8bd345d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Chapter 4-simple systems"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg43"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate the heat interaction and temperature rise\n",
-      "##initialisation of variables\n",
-      "m= 5000. ##kg\n",
-      "cp= 1.4 ##kJ/kg K\n",
-      "T2= 27.6 ##K\n",
-      "T1= 22. ##K\n",
-      "t= 40. ##min\n",
-      "P= 20. ##kW\n",
-      "##CALCULATIONS\n",
-      "H= m*cp*(T2-T1)\n",
-      "W= -P*t*60\n",
-      "Q= H+W\n",
-      "dT= -W/(m*cp)\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('heat interaction =',Q,'kJ')\n",
-      "print'%s %.2f %s'%('Temperature rise = ',dT,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat interaction = -8800 kJ\n",
-        "Temperature rise =  6.86 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 15
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example 2-pg 49\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate the volumes and internal energy and enthaply\n",
-      "##initialisation of variables\n",
-      "T= 300. ##C\n",
-      "p= 2. ##Mpa\n",
-      "T1= 300. ##C\n",
-      "p1= 20.##Mpa\n",
-      "T2= 300. ##C\n",
-      "p2= 8.501 ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v= 0.12547\n",
-      "v1= 0.00136\n",
-      "u= 2772.6\n",
-      "u1= 1306.1\n",
-      "h= 3023.5\n",
-      "h1= 1333.3\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume =',v,'m^3/kg')\n",
-      "print'%s %.5f %s'%('volume =',v1,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy = ',u,'kJ/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',u1,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',h,'kJ/kg')\n",
-      "print'%s %.f %s'%('enthalpy = ',h1,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume = 0.12547 m^3/kg\n",
-        "volume = 0.00136 m^3/kg\n",
-        "internal energy =  2772.6 kJ/kg\n",
-        "internal energy = 1306.1 kJ/kg\n",
-        "enthalpy = 3023.5 kJ/kg\n",
-        "enthalpy =  1333 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 17
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example3-pg49\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the volume and internal energy and enthalpy\n",
-      "##initialisation of variables\n",
-      "vf= 0.001404 ##m^3/kg\n",
-      "x= 0.8\n",
-      "vg= 0.02167 ##m^3/kg\n",
-      "uf= 1332. ##kJ/kg\n",
-      "ug= 1231. ##kJ/kg\n",
-      "hf= 1344. ##kJ/kg\n",
-      "hg= 1404.9 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "v= vf+x*(vg-vf)\n",
-      "u= uf+x*ug\n",
-      "h= hf+x*hg\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume =',v,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',u,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',h, 'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume = 0.01762 m^3/kg\n",
-        "internal energy = 2316.8 kJ/kg\n",
-        "enthalpy = 2467.9 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 52"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the specific volume and internal energy and enthalpy and entropy\n",
-      "##initialisation of variables\n",
-      "T= 296. ##K\n",
-      "T1= 250. ##K\n",
-      "T2= 300. ##K\n",
-      "v= 0.1257 ##m^3/kg\n",
-      "v1= 0.11144 ##m^3/kg\n",
-      "u1= 27772.6 ##kJ/kg\n",
-      "u2= 2679.6 ##kJ/kg\n",
-      "h1= 3023.5 ##kJ/kg\n",
-      "h2= 2902.5 ##kJ/kg\n",
-      "s1= 6.7664 ##kJ/kg K\n",
-      "s2= 6.5433 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "a1= (T-T1)/(T2-T1)\n",
-      "a2= 1-a1\n",
-      "V= a1*v+a2*v1\n",
-      "U= a1*u1+a2*u2\n",
-      "H= a1*h1+a2*h2\n",
-      "S= a1*s1+a2*s2\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('a2 = ',a2,'')\n",
-      "print'%s %.5f %s'%('specific volume =',V,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',U,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',H,'kJ/kg')\n",
-      "print'%s %.1f %s'%('Entropy =',S,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "a2 =  0.080 \n",
-        "specific volume = 0.12456 m^3/kg\n",
-        "internal energy = 25765.2 kJ/kg\n",
-        "enthalpy = 3013.8 kJ/kg\n",
-        "Entropy = 6.7 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Exapmle5-pg54"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate a2 and internal enerjy\n",
-      "##initialisation of variables\n",
-      "v= 0.15 ##m^3/kg\n",
-      "v1= 0.13857 ##m^3/kg\n",
-      "v2= 0.1512 ##m^3/kg\n",
-      "v3= 0.050 ##m^3##kg\n",
-      "vf= 0.001177 ##m^3/kg\n",
-      "vg= 0.09963 ##m^3/kg\n",
-      "uf= 906.44 ##kJ/kg\n",
-      "ufg= 1693.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "a1= (v-v1)/(v2-v1)\n",
-      "a2= 1-a1\n",
-      "x= (v3-vf)/(vg-vf)\n",
-      "u= uf+x*ufg\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('a2 =',a2,'')\n",
-      "print'%s %.1f %s'%('internal energy =',u,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "a2 = 0.095 \n",
-        "internal energy = 1746.4 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg52"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate pressure and temperature\n",
-      "##initialisation of variables\n",
-      "T= 250.##C\n",
-      "T1= 300. ##C\n",
-      "v300= 0.6548 ##m^3/kg\n",
-      "v250= 0.591 ##m^3/kg\n",
-      "v= 0.6 ##m^3/kg\n",
-      "u= 3000. ##kJ/kg\n",
-      "u250= 2726.1 ##kJ/kg\n",
-      "u300= 2804.8 ##kJ/kg\n",
-      "T2= 510.30 \n",
-      "u2= 3145.26 ##kJ/kg\n",
-      "p= 0.4 ##Mpa\n",
-      "p2= 0.2 ##Mpa\n",
-      "##CALCULATIONS\n",
-      "T1= T1+((v-v250)/(v300-v250))*(T2-T)\n",
-      "u1= u250+((v-v250)/(v300-v250))*(u300-u250)\n",
-      "du= u1-u\n",
-      "p1= p+((u-u1)/(u2-u1))*p2\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('pressure =',p1,'Mpa')\n",
-      "print'%s %.f %s'%('temperature =',T2,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "pressure = 0.529 Mpa\n",
-        "temperature = 510 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7-pg54"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat interaction\n",
-      "##initialisation of variables\n",
-      "V= 0.2 ##m^3\n",
-      "v1= 0.02995 ##m^3/kg\n",
-      "u2= 2826.7 ##kJ/kg\n",
-      "u1= 2747.7 ##kJ/kg\n",
-      "h2= 3092.5 ##kJ/kg\n",
-      "h1= 2987.3 ##kJ/kg\n",
-      "p= 4 ##Mpa\n",
-      "v2= 0.06645 ##m^3/kg\n",
-      "v1= 0.02995 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "m= V/v1\n",
-      "U= m*(u2-u1)\n",
-      "H= m*(h2-h1)\n",
-      "W= m*p*10*10*10*(v2-v1)\n",
-      "Q= U+W\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work =',W,'kJ') \n",
-      "print'%s %.1f %s'%('heat interaction =',Q,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work = 975.0 kJ\n",
-        "heat interaction = 1502.5 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg 55"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat interaction\n",
-      "##initialisation of variables\n",
-      "m= 6.678 ##kg\n",
-      "u2= 2826.7 ##kJ/kg\n",
-      "u1= 2747.7 ##kJ/kg\n",
-      "p1= 8. ##Mpa\n",
-      "p2= 7. ##Mpa\n",
-      "p3= 6. ##Mpa\n",
-      "p4= 5. ##Mpa\n",
-      "p5= 4. ##Mpa\n",
-      "v1= 29.95 ##L/kg\n",
-      "v2= 35.24 ##L/kg\n",
-      "v3= 42.23 ##L/kg\n",
-      "v4= 51.94 ##L/kg\n",
-      "v5= 66.45 ##L/kg\n",
-      "##CALCULATIONS\n",
-      "U= m*(u2-u1)\n",
-      "W= m*0.5*((p1+p2)*(v2-v1)+(p2+p3)*(v3-v2)+(p3+p4)*(v4-v3)+(p4+p5)*(v5-v4))\n",
-      "Q=U+W\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work =',W,'kJ') \n",
-      "print'%s %.f %s'%('heat interaction =',Q,'kJ') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work = 1361.0 kJ\n",
-        "heat interaction = 1889 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9-pg56\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final pressure and enthalpy and etropy\n",
-      "##initialisation of variables\n",
-      "p0= 100. ##kpa\n",
-      "A= 0.1 ##m^2\n",
-      "F= 20. ##kN\n",
-      "m3= 0.8873 ##kg\n",
-      "m1= 1.1384 ##kg\n",
-      "m2= 0.2511 ##kg\n",
-      "u1= 3116.2 ##kJ/kg\n",
-      "u2= 2728.7 ##kJ/kg\n",
-      "v3= 0.9942 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "pe= (p0+(F/A))/1000\n",
-      "h3= (m1*u1-m2*u2)/m3\n",
-      "z3= m3*v3/A\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('final pressure =',pe,'Mpa') \n",
-      "print'%s %.1f %s'%('enthalpy = ',h3,'kJ/kg') \n",
-      "print'%s %.2f %s'%('piston rise =',z3,'m') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final pressure = 0.3 Mpa\n",
-        "enthalpy =  3225.9 kJ/kg\n",
-        "piston rise = 8.82 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_4_-Simple_systems.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_4_-Simple_systems.ipynb
deleted file mode 100755
index b4cbb2bf..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_4_-Simple_systems.ipynb
+++ /dev/null
@@ -1,466 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:f794a4d18f36c13ddab8d6024721da6bc9aca8b98b0260eaf3e1fb73a8bd345d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Chapter 4-simple systems"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg43"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate the heat interaction and temperature rise\n",
-      "##initialisation of variables\n",
-      "m= 5000. ##kg\n",
-      "cp= 1.4 ##kJ/kg K\n",
-      "T2= 27.6 ##K\n",
-      "T1= 22. ##K\n",
-      "t= 40. ##min\n",
-      "P= 20. ##kW\n",
-      "##CALCULATIONS\n",
-      "H= m*cp*(T2-T1)\n",
-      "W= -P*t*60\n",
-      "Q= H+W\n",
-      "dT= -W/(m*cp)\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('heat interaction =',Q,'kJ')\n",
-      "print'%s %.2f %s'%('Temperature rise = ',dT,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat interaction = -8800 kJ\n",
-        "Temperature rise =  6.86 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 15
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example 2-pg 49\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate the volumes and internal energy and enthaply\n",
-      "##initialisation of variables\n",
-      "T= 300. ##C\n",
-      "p= 2. ##Mpa\n",
-      "T1= 300. ##C\n",
-      "p1= 20.##Mpa\n",
-      "T2= 300. ##C\n",
-      "p2= 8.501 ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v= 0.12547\n",
-      "v1= 0.00136\n",
-      "u= 2772.6\n",
-      "u1= 1306.1\n",
-      "h= 3023.5\n",
-      "h1= 1333.3\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume =',v,'m^3/kg')\n",
-      "print'%s %.5f %s'%('volume =',v1,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy = ',u,'kJ/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',u1,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',h,'kJ/kg')\n",
-      "print'%s %.f %s'%('enthalpy = ',h1,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume = 0.12547 m^3/kg\n",
-        "volume = 0.00136 m^3/kg\n",
-        "internal energy =  2772.6 kJ/kg\n",
-        "internal energy = 1306.1 kJ/kg\n",
-        "enthalpy = 3023.5 kJ/kg\n",
-        "enthalpy =  1333 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 17
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example3-pg49\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the volume and internal energy and enthalpy\n",
-      "##initialisation of variables\n",
-      "vf= 0.001404 ##m^3/kg\n",
-      "x= 0.8\n",
-      "vg= 0.02167 ##m^3/kg\n",
-      "uf= 1332. ##kJ/kg\n",
-      "ug= 1231. ##kJ/kg\n",
-      "hf= 1344. ##kJ/kg\n",
-      "hg= 1404.9 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "v= vf+x*(vg-vf)\n",
-      "u= uf+x*ug\n",
-      "h= hf+x*hg\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume =',v,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',u,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',h, 'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume = 0.01762 m^3/kg\n",
-        "internal energy = 2316.8 kJ/kg\n",
-        "enthalpy = 2467.9 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 52"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the specific volume and internal energy and enthalpy and entropy\n",
-      "##initialisation of variables\n",
-      "T= 296. ##K\n",
-      "T1= 250. ##K\n",
-      "T2= 300. ##K\n",
-      "v= 0.1257 ##m^3/kg\n",
-      "v1= 0.11144 ##m^3/kg\n",
-      "u1= 27772.6 ##kJ/kg\n",
-      "u2= 2679.6 ##kJ/kg\n",
-      "h1= 3023.5 ##kJ/kg\n",
-      "h2= 2902.5 ##kJ/kg\n",
-      "s1= 6.7664 ##kJ/kg K\n",
-      "s2= 6.5433 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "a1= (T-T1)/(T2-T1)\n",
-      "a2= 1-a1\n",
-      "V= a1*v+a2*v1\n",
-      "U= a1*u1+a2*u2\n",
-      "H= a1*h1+a2*h2\n",
-      "S= a1*s1+a2*s2\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('a2 = ',a2,'')\n",
-      "print'%s %.5f %s'%('specific volume =',V,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',U,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',H,'kJ/kg')\n",
-      "print'%s %.1f %s'%('Entropy =',S,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "a2 =  0.080 \n",
-        "specific volume = 0.12456 m^3/kg\n",
-        "internal energy = 25765.2 kJ/kg\n",
-        "enthalpy = 3013.8 kJ/kg\n",
-        "Entropy = 6.7 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Exapmle5-pg54"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate a2 and internal enerjy\n",
-      "##initialisation of variables\n",
-      "v= 0.15 ##m^3/kg\n",
-      "v1= 0.13857 ##m^3/kg\n",
-      "v2= 0.1512 ##m^3/kg\n",
-      "v3= 0.050 ##m^3##kg\n",
-      "vf= 0.001177 ##m^3/kg\n",
-      "vg= 0.09963 ##m^3/kg\n",
-      "uf= 906.44 ##kJ/kg\n",
-      "ufg= 1693.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "a1= (v-v1)/(v2-v1)\n",
-      "a2= 1-a1\n",
-      "x= (v3-vf)/(vg-vf)\n",
-      "u= uf+x*ufg\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('a2 =',a2,'')\n",
-      "print'%s %.1f %s'%('internal energy =',u,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "a2 = 0.095 \n",
-        "internal energy = 1746.4 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg52"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate pressure and temperature\n",
-      "##initialisation of variables\n",
-      "T= 250.##C\n",
-      "T1= 300. ##C\n",
-      "v300= 0.6548 ##m^3/kg\n",
-      "v250= 0.591 ##m^3/kg\n",
-      "v= 0.6 ##m^3/kg\n",
-      "u= 3000. ##kJ/kg\n",
-      "u250= 2726.1 ##kJ/kg\n",
-      "u300= 2804.8 ##kJ/kg\n",
-      "T2= 510.30 \n",
-      "u2= 3145.26 ##kJ/kg\n",
-      "p= 0.4 ##Mpa\n",
-      "p2= 0.2 ##Mpa\n",
-      "##CALCULATIONS\n",
-      "T1= T1+((v-v250)/(v300-v250))*(T2-T)\n",
-      "u1= u250+((v-v250)/(v300-v250))*(u300-u250)\n",
-      "du= u1-u\n",
-      "p1= p+((u-u1)/(u2-u1))*p2\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('pressure =',p1,'Mpa')\n",
-      "print'%s %.f %s'%('temperature =',T2,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "pressure = 0.529 Mpa\n",
-        "temperature = 510 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7-pg54"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat interaction\n",
-      "##initialisation of variables\n",
-      "V= 0.2 ##m^3\n",
-      "v1= 0.02995 ##m^3/kg\n",
-      "u2= 2826.7 ##kJ/kg\n",
-      "u1= 2747.7 ##kJ/kg\n",
-      "h2= 3092.5 ##kJ/kg\n",
-      "h1= 2987.3 ##kJ/kg\n",
-      "p= 4 ##Mpa\n",
-      "v2= 0.06645 ##m^3/kg\n",
-      "v1= 0.02995 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "m= V/v1\n",
-      "U= m*(u2-u1)\n",
-      "H= m*(h2-h1)\n",
-      "W= m*p*10*10*10*(v2-v1)\n",
-      "Q= U+W\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work =',W,'kJ') \n",
-      "print'%s %.1f %s'%('heat interaction =',Q,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work = 975.0 kJ\n",
-        "heat interaction = 1502.5 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg 55"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat interaction\n",
-      "##initialisation of variables\n",
-      "m= 6.678 ##kg\n",
-      "u2= 2826.7 ##kJ/kg\n",
-      "u1= 2747.7 ##kJ/kg\n",
-      "p1= 8. ##Mpa\n",
-      "p2= 7. ##Mpa\n",
-      "p3= 6. ##Mpa\n",
-      "p4= 5. ##Mpa\n",
-      "p5= 4. ##Mpa\n",
-      "v1= 29.95 ##L/kg\n",
-      "v2= 35.24 ##L/kg\n",
-      "v3= 42.23 ##L/kg\n",
-      "v4= 51.94 ##L/kg\n",
-      "v5= 66.45 ##L/kg\n",
-      "##CALCULATIONS\n",
-      "U= m*(u2-u1)\n",
-      "W= m*0.5*((p1+p2)*(v2-v1)+(p2+p3)*(v3-v2)+(p3+p4)*(v4-v3)+(p4+p5)*(v5-v4))\n",
-      "Q=U+W\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work =',W,'kJ') \n",
-      "print'%s %.f %s'%('heat interaction =',Q,'kJ') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work = 1361.0 kJ\n",
-        "heat interaction = 1889 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9-pg56\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final pressure and enthalpy and etropy\n",
-      "##initialisation of variables\n",
-      "p0= 100. ##kpa\n",
-      "A= 0.1 ##m^2\n",
-      "F= 20. ##kN\n",
-      "m3= 0.8873 ##kg\n",
-      "m1= 1.1384 ##kg\n",
-      "m2= 0.2511 ##kg\n",
-      "u1= 3116.2 ##kJ/kg\n",
-      "u2= 2728.7 ##kJ/kg\n",
-      "v3= 0.9942 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "pe= (p0+(F/A))/1000\n",
-      "h3= (m1*u1-m2*u2)/m3\n",
-      "z3= m3*v3/A\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('final pressure =',pe,'Mpa') \n",
-      "print'%s %.1f %s'%('enthalpy = ',h3,'kJ/kg') \n",
-      "print'%s %.2f %s'%('piston rise =',z3,'m') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final pressure = 0.3 Mpa\n",
-        "enthalpy =  3225.9 kJ/kg\n",
-        "piston rise = 8.82 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_4_.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_4_.ipynb
deleted file mode 100755
index b4cbb2bf..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_4_.ipynb
+++ /dev/null
@@ -1,466 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:f794a4d18f36c13ddab8d6024721da6bc9aca8b98b0260eaf3e1fb73a8bd345d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Chapter 4-simple systems"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg43"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate the heat interaction and temperature rise\n",
-      "##initialisation of variables\n",
-      "m= 5000. ##kg\n",
-      "cp= 1.4 ##kJ/kg K\n",
-      "T2= 27.6 ##K\n",
-      "T1= 22. ##K\n",
-      "t= 40. ##min\n",
-      "P= 20. ##kW\n",
-      "##CALCULATIONS\n",
-      "H= m*cp*(T2-T1)\n",
-      "W= -P*t*60\n",
-      "Q= H+W\n",
-      "dT= -W/(m*cp)\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('heat interaction =',Q,'kJ')\n",
-      "print'%s %.2f %s'%('Temperature rise = ',dT,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat interaction = -8800 kJ\n",
-        "Temperature rise =  6.86 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 15
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example 2-pg 49\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate the volumes and internal energy and enthaply\n",
-      "##initialisation of variables\n",
-      "T= 300. ##C\n",
-      "p= 2. ##Mpa\n",
-      "T1= 300. ##C\n",
-      "p1= 20.##Mpa\n",
-      "T2= 300. ##C\n",
-      "p2= 8.501 ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v= 0.12547\n",
-      "v1= 0.00136\n",
-      "u= 2772.6\n",
-      "u1= 1306.1\n",
-      "h= 3023.5\n",
-      "h1= 1333.3\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume =',v,'m^3/kg')\n",
-      "print'%s %.5f %s'%('volume =',v1,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy = ',u,'kJ/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',u1,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',h,'kJ/kg')\n",
-      "print'%s %.f %s'%('enthalpy = ',h1,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume = 0.12547 m^3/kg\n",
-        "volume = 0.00136 m^3/kg\n",
-        "internal energy =  2772.6 kJ/kg\n",
-        "internal energy = 1306.1 kJ/kg\n",
-        "enthalpy = 3023.5 kJ/kg\n",
-        "enthalpy =  1333 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 17
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example3-pg49\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the volume and internal energy and enthalpy\n",
-      "##initialisation of variables\n",
-      "vf= 0.001404 ##m^3/kg\n",
-      "x= 0.8\n",
-      "vg= 0.02167 ##m^3/kg\n",
-      "uf= 1332. ##kJ/kg\n",
-      "ug= 1231. ##kJ/kg\n",
-      "hf= 1344. ##kJ/kg\n",
-      "hg= 1404.9 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "v= vf+x*(vg-vf)\n",
-      "u= uf+x*ug\n",
-      "h= hf+x*hg\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume =',v,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',u,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',h, 'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume = 0.01762 m^3/kg\n",
-        "internal energy = 2316.8 kJ/kg\n",
-        "enthalpy = 2467.9 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 52"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the specific volume and internal energy and enthalpy and entropy\n",
-      "##initialisation of variables\n",
-      "T= 296. ##K\n",
-      "T1= 250. ##K\n",
-      "T2= 300. ##K\n",
-      "v= 0.1257 ##m^3/kg\n",
-      "v1= 0.11144 ##m^3/kg\n",
-      "u1= 27772.6 ##kJ/kg\n",
-      "u2= 2679.6 ##kJ/kg\n",
-      "h1= 3023.5 ##kJ/kg\n",
-      "h2= 2902.5 ##kJ/kg\n",
-      "s1= 6.7664 ##kJ/kg K\n",
-      "s2= 6.5433 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "a1= (T-T1)/(T2-T1)\n",
-      "a2= 1-a1\n",
-      "V= a1*v+a2*v1\n",
-      "U= a1*u1+a2*u2\n",
-      "H= a1*h1+a2*h2\n",
-      "S= a1*s1+a2*s2\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('a2 = ',a2,'')\n",
-      "print'%s %.5f %s'%('specific volume =',V,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',U,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',H,'kJ/kg')\n",
-      "print'%s %.1f %s'%('Entropy =',S,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "a2 =  0.080 \n",
-        "specific volume = 0.12456 m^3/kg\n",
-        "internal energy = 25765.2 kJ/kg\n",
-        "enthalpy = 3013.8 kJ/kg\n",
-        "Entropy = 6.7 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Exapmle5-pg54"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate a2 and internal enerjy\n",
-      "##initialisation of variables\n",
-      "v= 0.15 ##m^3/kg\n",
-      "v1= 0.13857 ##m^3/kg\n",
-      "v2= 0.1512 ##m^3/kg\n",
-      "v3= 0.050 ##m^3##kg\n",
-      "vf= 0.001177 ##m^3/kg\n",
-      "vg= 0.09963 ##m^3/kg\n",
-      "uf= 906.44 ##kJ/kg\n",
-      "ufg= 1693.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "a1= (v-v1)/(v2-v1)\n",
-      "a2= 1-a1\n",
-      "x= (v3-vf)/(vg-vf)\n",
-      "u= uf+x*ufg\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('a2 =',a2,'')\n",
-      "print'%s %.1f %s'%('internal energy =',u,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "a2 = 0.095 \n",
-        "internal energy = 1746.4 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg52"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate pressure and temperature\n",
-      "##initialisation of variables\n",
-      "T= 250.##C\n",
-      "T1= 300. ##C\n",
-      "v300= 0.6548 ##m^3/kg\n",
-      "v250= 0.591 ##m^3/kg\n",
-      "v= 0.6 ##m^3/kg\n",
-      "u= 3000. ##kJ/kg\n",
-      "u250= 2726.1 ##kJ/kg\n",
-      "u300= 2804.8 ##kJ/kg\n",
-      "T2= 510.30 \n",
-      "u2= 3145.26 ##kJ/kg\n",
-      "p= 0.4 ##Mpa\n",
-      "p2= 0.2 ##Mpa\n",
-      "##CALCULATIONS\n",
-      "T1= T1+((v-v250)/(v300-v250))*(T2-T)\n",
-      "u1= u250+((v-v250)/(v300-v250))*(u300-u250)\n",
-      "du= u1-u\n",
-      "p1= p+((u-u1)/(u2-u1))*p2\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('pressure =',p1,'Mpa')\n",
-      "print'%s %.f %s'%('temperature =',T2,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "pressure = 0.529 Mpa\n",
-        "temperature = 510 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7-pg54"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat interaction\n",
-      "##initialisation of variables\n",
-      "V= 0.2 ##m^3\n",
-      "v1= 0.02995 ##m^3/kg\n",
-      "u2= 2826.7 ##kJ/kg\n",
-      "u1= 2747.7 ##kJ/kg\n",
-      "h2= 3092.5 ##kJ/kg\n",
-      "h1= 2987.3 ##kJ/kg\n",
-      "p= 4 ##Mpa\n",
-      "v2= 0.06645 ##m^3/kg\n",
-      "v1= 0.02995 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "m= V/v1\n",
-      "U= m*(u2-u1)\n",
-      "H= m*(h2-h1)\n",
-      "W= m*p*10*10*10*(v2-v1)\n",
-      "Q= U+W\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work =',W,'kJ') \n",
-      "print'%s %.1f %s'%('heat interaction =',Q,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work = 975.0 kJ\n",
-        "heat interaction = 1502.5 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg 55"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat interaction\n",
-      "##initialisation of variables\n",
-      "m= 6.678 ##kg\n",
-      "u2= 2826.7 ##kJ/kg\n",
-      "u1= 2747.7 ##kJ/kg\n",
-      "p1= 8. ##Mpa\n",
-      "p2= 7. ##Mpa\n",
-      "p3= 6. ##Mpa\n",
-      "p4= 5. ##Mpa\n",
-      "p5= 4. ##Mpa\n",
-      "v1= 29.95 ##L/kg\n",
-      "v2= 35.24 ##L/kg\n",
-      "v3= 42.23 ##L/kg\n",
-      "v4= 51.94 ##L/kg\n",
-      "v5= 66.45 ##L/kg\n",
-      "##CALCULATIONS\n",
-      "U= m*(u2-u1)\n",
-      "W= m*0.5*((p1+p2)*(v2-v1)+(p2+p3)*(v3-v2)+(p3+p4)*(v4-v3)+(p4+p5)*(v5-v4))\n",
-      "Q=U+W\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work =',W,'kJ') \n",
-      "print'%s %.f %s'%('heat interaction =',Q,'kJ') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work = 1361.0 kJ\n",
-        "heat interaction = 1889 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9-pg56\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final pressure and enthalpy and etropy\n",
-      "##initialisation of variables\n",
-      "p0= 100. ##kpa\n",
-      "A= 0.1 ##m^2\n",
-      "F= 20. ##kN\n",
-      "m3= 0.8873 ##kg\n",
-      "m1= 1.1384 ##kg\n",
-      "m2= 0.2511 ##kg\n",
-      "u1= 3116.2 ##kJ/kg\n",
-      "u2= 2728.7 ##kJ/kg\n",
-      "v3= 0.9942 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "pe= (p0+(F/A))/1000\n",
-      "h3= (m1*u1-m2*u2)/m3\n",
-      "z3= m3*v3/A\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('final pressure =',pe,'Mpa') \n",
-      "print'%s %.1f %s'%('enthalpy = ',h3,'kJ/kg') \n",
-      "print'%s %.2f %s'%('piston rise =',z3,'m') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final pressure = 0.3 Mpa\n",
-        "enthalpy =  3225.9 kJ/kg\n",
-        "piston rise = 8.82 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_4__1.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_4__1.ipynb
deleted file mode 100755
index b4cbb2bf..00000000
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_4__1.ipynb
+++ /dev/null
@@ -1,466 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:f794a4d18f36c13ddab8d6024721da6bc9aca8b98b0260eaf3e1fb73a8bd345d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Chapter 4-simple systems"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg43"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate the heat interaction and temperature rise\n",
-      "##initialisation of variables\n",
-      "m= 5000. ##kg\n",
-      "cp= 1.4 ##kJ/kg K\n",
-      "T2= 27.6 ##K\n",
-      "T1= 22. ##K\n",
-      "t= 40. ##min\n",
-      "P= 20. ##kW\n",
-      "##CALCULATIONS\n",
-      "H= m*cp*(T2-T1)\n",
-      "W= -P*t*60\n",
-      "Q= H+W\n",
-      "dT= -W/(m*cp)\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'%('heat interaction =',Q,'kJ')\n",
-      "print'%s %.2f %s'%('Temperature rise = ',dT,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "heat interaction = -8800 kJ\n",
-        "Temperature rise =  6.86 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 15
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example 2-pg 49\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#caluclate the volumes and internal energy and enthaply\n",
-      "##initialisation of variables\n",
-      "T= 300. ##C\n",
-      "p= 2. ##Mpa\n",
-      "T1= 300. ##C\n",
-      "p1= 20.##Mpa\n",
-      "T2= 300. ##C\n",
-      "p2= 8.501 ##Mpa\n",
-      "##CALCULATIONS\n",
-      "v= 0.12547\n",
-      "v1= 0.00136\n",
-      "u= 2772.6\n",
-      "u1= 1306.1\n",
-      "h= 3023.5\n",
-      "h1= 1333.3\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume =',v,'m^3/kg')\n",
-      "print'%s %.5f %s'%('volume =',v1,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy = ',u,'kJ/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',u1,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',h,'kJ/kg')\n",
-      "print'%s %.f %s'%('enthalpy = ',h1,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume = 0.12547 m^3/kg\n",
-        "volume = 0.00136 m^3/kg\n",
-        "internal energy =  2772.6 kJ/kg\n",
-        "internal energy = 1306.1 kJ/kg\n",
-        "enthalpy = 3023.5 kJ/kg\n",
-        "enthalpy =  1333 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 17
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "example3-pg49\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the volume and internal energy and enthalpy\n",
-      "##initialisation of variables\n",
-      "vf= 0.001404 ##m^3/kg\n",
-      "x= 0.8\n",
-      "vg= 0.02167 ##m^3/kg\n",
-      "uf= 1332. ##kJ/kg\n",
-      "ug= 1231. ##kJ/kg\n",
-      "hf= 1344. ##kJ/kg\n",
-      "hg= 1404.9 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "v= vf+x*(vg-vf)\n",
-      "u= uf+x*ug\n",
-      "h= hf+x*hg\n",
-      "##RESULTS\n",
-      "print'%s %.5f %s'%('volume =',v,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',u,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',h, 'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "volume = 0.01762 m^3/kg\n",
-        "internal energy = 2316.8 kJ/kg\n",
-        "enthalpy = 2467.9 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg 52"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate the specific volume and internal energy and enthalpy and entropy\n",
-      "##initialisation of variables\n",
-      "T= 296. ##K\n",
-      "T1= 250. ##K\n",
-      "T2= 300. ##K\n",
-      "v= 0.1257 ##m^3/kg\n",
-      "v1= 0.11144 ##m^3/kg\n",
-      "u1= 27772.6 ##kJ/kg\n",
-      "u2= 2679.6 ##kJ/kg\n",
-      "h1= 3023.5 ##kJ/kg\n",
-      "h2= 2902.5 ##kJ/kg\n",
-      "s1= 6.7664 ##kJ/kg K\n",
-      "s2= 6.5433 ##kJ/kg K\n",
-      "##CALCULATIONS\n",
-      "a1= (T-T1)/(T2-T1)\n",
-      "a2= 1-a1\n",
-      "V= a1*v+a2*v1\n",
-      "U= a1*u1+a2*u2\n",
-      "H= a1*h1+a2*h2\n",
-      "S= a1*s1+a2*s2\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('a2 = ',a2,'')\n",
-      "print'%s %.5f %s'%('specific volume =',V,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',U,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',H,'kJ/kg')\n",
-      "print'%s %.1f %s'%('Entropy =',S,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "a2 =  0.080 \n",
-        "specific volume = 0.12456 m^3/kg\n",
-        "internal energy = 25765.2 kJ/kg\n",
-        "enthalpy = 3013.8 kJ/kg\n",
-        "Entropy = 6.7 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Exapmle5-pg54"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate a2 and internal enerjy\n",
-      "##initialisation of variables\n",
-      "v= 0.15 ##m^3/kg\n",
-      "v1= 0.13857 ##m^3/kg\n",
-      "v2= 0.1512 ##m^3/kg\n",
-      "v3= 0.050 ##m^3##kg\n",
-      "vf= 0.001177 ##m^3/kg\n",
-      "vg= 0.09963 ##m^3/kg\n",
-      "uf= 906.44 ##kJ/kg\n",
-      "ufg= 1693.8 ##kJ/kg\n",
-      "##CALCULATIONS\n",
-      "a1= (v-v1)/(v2-v1)\n",
-      "a2= 1-a1\n",
-      "x= (v3-vf)/(vg-vf)\n",
-      "u= uf+x*ufg\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('a2 =',a2,'')\n",
-      "print'%s %.1f %s'%('internal energy =',u,'kJ/kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "a2 = 0.095 \n",
-        "internal energy = 1746.4 kJ/kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg52"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate pressure and temperature\n",
-      "##initialisation of variables\n",
-      "T= 250.##C\n",
-      "T1= 300. ##C\n",
-      "v300= 0.6548 ##m^3/kg\n",
-      "v250= 0.591 ##m^3/kg\n",
-      "v= 0.6 ##m^3/kg\n",
-      "u= 3000. ##kJ/kg\n",
-      "u250= 2726.1 ##kJ/kg\n",
-      "u300= 2804.8 ##kJ/kg\n",
-      "T2= 510.30 \n",
-      "u2= 3145.26 ##kJ/kg\n",
-      "p= 0.4 ##Mpa\n",
-      "p2= 0.2 ##Mpa\n",
-      "##CALCULATIONS\n",
-      "T1= T1+((v-v250)/(v300-v250))*(T2-T)\n",
-      "u1= u250+((v-v250)/(v300-v250))*(u300-u250)\n",
-      "du= u1-u\n",
-      "p1= p+((u-u1)/(u2-u1))*p2\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'%('pressure =',p1,'Mpa')\n",
-      "print'%s %.f %s'%('temperature =',T2,'C')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "pressure = 0.529 Mpa\n",
-        "temperature = 510 C\n"
-       ]
-      }
-     ],
-     "prompt_number": 8
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 7-pg54"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat interaction\n",
-      "##initialisation of variables\n",
-      "V= 0.2 ##m^3\n",
-      "v1= 0.02995 ##m^3/kg\n",
-      "u2= 2826.7 ##kJ/kg\n",
-      "u1= 2747.7 ##kJ/kg\n",
-      "h2= 3092.5 ##kJ/kg\n",
-      "h1= 2987.3 ##kJ/kg\n",
-      "p= 4 ##Mpa\n",
-      "v2= 0.06645 ##m^3/kg\n",
-      "v1= 0.02995 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "m= V/v1\n",
-      "U= m*(u2-u1)\n",
-      "H= m*(h2-h1)\n",
-      "W= m*p*10*10*10*(v2-v1)\n",
-      "Q= U+W\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work =',W,'kJ') \n",
-      "print'%s %.1f %s'%('heat interaction =',Q,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work = 975.0 kJ\n",
-        "heat interaction = 1502.5 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 10
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example8-pg 55"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate work and heat interaction\n",
-      "##initialisation of variables\n",
-      "m= 6.678 ##kg\n",
-      "u2= 2826.7 ##kJ/kg\n",
-      "u1= 2747.7 ##kJ/kg\n",
-      "p1= 8. ##Mpa\n",
-      "p2= 7. ##Mpa\n",
-      "p3= 6. ##Mpa\n",
-      "p4= 5. ##Mpa\n",
-      "p5= 4. ##Mpa\n",
-      "v1= 29.95 ##L/kg\n",
-      "v2= 35.24 ##L/kg\n",
-      "v3= 42.23 ##L/kg\n",
-      "v4= 51.94 ##L/kg\n",
-      "v5= 66.45 ##L/kg\n",
-      "##CALCULATIONS\n",
-      "U= m*(u2-u1)\n",
-      "W= m*0.5*((p1+p2)*(v2-v1)+(p2+p3)*(v3-v2)+(p3+p4)*(v4-v3)+(p4+p5)*(v5-v4))\n",
-      "Q=U+W\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('work =',W,'kJ') \n",
-      "print'%s %.f %s'%('heat interaction =',Q,'kJ') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "work = 1361.0 kJ\n",
-        "heat interaction = 1889 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 12
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example 9-pg56\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final pressure and enthalpy and etropy\n",
-      "##initialisation of variables\n",
-      "p0= 100. ##kpa\n",
-      "A= 0.1 ##m^2\n",
-      "F= 20. ##kN\n",
-      "m3= 0.8873 ##kg\n",
-      "m1= 1.1384 ##kg\n",
-      "m2= 0.2511 ##kg\n",
-      "u1= 3116.2 ##kJ/kg\n",
-      "u2= 2728.7 ##kJ/kg\n",
-      "v3= 0.9942 ##m^3/kg\n",
-      "##CALCULATIONS\n",
-      "pe= (p0+(F/A))/1000\n",
-      "h3= (m1*u1-m2*u2)/m3\n",
-      "z3= m3*v3/A\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('final pressure =',pe,'Mpa') \n",
-      "print'%s %.1f %s'%('enthalpy = ',h3,'kJ/kg') \n",
-      "print'%s %.2f %s'%('piston rise =',z3,'m') \n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final pressure = 0.3 Mpa\n",
-        "enthalpy =  3225.9 kJ/kg\n",
-        "piston rise = 8.82 m\n"
-       ]
-      }
-     ],
-     "prompt_number": 14
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/Chapter_4__2.ipynb b/Thermodynamics:_From_concepts_to_applications/Chapter_4__2.ipynb
index af2345df..087b31cb 100755
--- a/Thermodynamics:_From_concepts_to_applications/Chapter_4__2.ipynb
+++ b/Thermodynamics:_From_concepts_to_applications/Chapter_4__2.ipynb
@@ -1,7 +1,7 @@
 {
  "metadata": {
   "name": "",
-  "signature": "sha256:0cf657809abd59a3a86b6df0687d80933981fc0951ab754e85709aa636b8b749"
+  "signature": "sha256:1f455d345757b912d780f8c505ce37e354978864332af7e0ecea71365b71aa92"
  },
  "nbformat": 3,
  "nbformat_minor": 0,
@@ -10,10 +10,10 @@
    "cells": [
     {
      "cell_type": "heading",
-     "level": 2,
+     "level": 1,
      "metadata": {},
      "source": [
-      "Chapter 4-simple systems"
+      "Chapter4-Simple systems"
      ]
     },
     {
@@ -21,7 +21,7 @@
      "level": 2,
      "metadata": {},
      "source": [
-      "Example1-46"
+      "Ex1-pg51"
      ]
     },
     {
@@ -29,6 +29,7 @@
      "collapsed": false,
      "input": [
       "import math\n",
+      "#calculte pressure and mass and specific volume of water vapour\n",
       "##initialisation of variables\n",
       "V= 0.5 ##m**3\n",
       "M= 18.02 ##kg/kmol\n",
@@ -46,7 +47,7 @@
       "##RESULTS\n",
       "print'%s %.2f %s'% ('mass of water vapour =',m,' kg')\n",
       "print'%s %.2f %s' %(' specific volume of water vapour = ',v,' m**3/kg')\n",
-      "print'%s %.2f %s' %(' pressure of water vapour =',p-10,'kPa')\n",
+      "print'%s %.2f %s' %(' pressure of water vapour =',p,'kPa')\n",
       "print'%s %.2f %s' %(' pressure of water vapour = ',P-12,' kPa')\n",
       "print'%s %.2f %s' %(' pressure of water vapour =',P1,' kPa')\n"
      ],
@@ -59,20 +60,20 @@
        "text": [
         "mass of water vapour = 27.03  kg\n",
         " specific volume of water vapour =  0.02  m**3/kg\n",
-        " pressure of water vapour = 15543.51 kPa\n",
+        " pressure of water vapour = 15553.51 kPa\n",
         " pressure of water vapour =  12131.31  kPa\n",
         " pressure of water vapour = 12432.21  kPa\n"
        ]
       }
      ],
-     "prompt_number": 3
+     "prompt_number": 14
     },
     {
      "cell_type": "heading",
      "level": 2,
      "metadata": {},
      "source": [
-      "Ex2-pg50"
+      "Ex2-pg52"
      ]
     },
     {
@@ -80,6 +81,7 @@
      "collapsed": false,
      "input": [
       "import math\n",
+      "#calculate heat interaction\n",
       "##initialisation of variables\n",
       "m= 0.3 ##kg\n",
       "T= 25 ##C\n",
@@ -101,14 +103,14 @@
        ]
       }
      ],
-     "prompt_number": 4
+     "prompt_number": 15
     },
     {
      "cell_type": "heading",
      "level": 2,
      "metadata": {},
      "source": [
-      "Example3-pg53"
+      "Ex3-pg53"
      ]
     },
     {
@@ -116,22 +118,22 @@
      "collapsed": false,
      "input": [
       "import math\n",
-      "#caluclate the heat interaction and temperature rise\n",
+      "#calculate heat interaction and temperature rise\n",
       "##initialisation of variables\n",
-      "m= 5000. ##kg\n",
+      "m= 5000 ##kg\n",
       "cp= 1.4 ##kJ/kg K\n",
       "T2= 27.6 ##K\n",
-      "T1= 22. ##K\n",
-      "t= 40. ##min\n",
-      "P= 20. ##kW\n",
+      "T1= 22 ##K\n",
+      "t= 40 ##min\n",
+      "P= 20 ##kW\n",
       "##CALCULATIONS\n",
       "H= m*cp*(T2-T1)\n",
       "W= -P*t*60\n",
       "Q= H+W\n",
       "dT= -W/(m*cp)\n",
       "##RESULTS\n",
-      "print'%s %.f %s'%('heat interaction =',Q,'kJ')\n",
-      "print'%s %.2f %s'%('Temperature rise = ',dT,'C')\n"
+      "print'%s %.2f %s'% ('heat interaction = ',Q,' kJ')\n",
+      "print'%s %.2f %s'% ('\\n temperature rise = ',dT,' C')\n"
      ],
      "language": "python",
      "metadata": {},
@@ -140,19 +142,20 @@
        "output_type": "stream",
        "stream": "stdout",
        "text": [
-        "heat interaction = -8800 kJ\n",
-        "Temperature rise =  6.86 C\n"
+        "heat interaction =  -8800.00  kJ\n",
+        "\n",
+        " temperature rise =  6.86  C\n"
        ]
       }
      ],
-     "prompt_number": 15
+     "prompt_number": 16
     },
     {
      "cell_type": "heading",
      "level": 2,
      "metadata": {},
      "source": [
-      "example 4-pg 59\n"
+      "Ex4-pg59"
      ]
     },
     {
@@ -160,12 +163,12 @@
      "collapsed": false,
      "input": [
       "import math\n",
-      "#caluclate the volumes and internal energy and enthaply\n",
       "##initialisation of variables\n",
+      "#calculate volume and internal energy and enthalpy\n",
       "T= 300. ##C\n",
       "p= 2. ##Mpa\n",
       "T1= 300. ##C\n",
-      "p1= 20.##Mpa\n",
+      "p1= 20. ##Mpa\n",
       "T2= 300. ##C\n",
       "p2= 8.501 ##Mpa\n",
       "##CALCULATIONS\n",
@@ -176,12 +179,12 @@
       "h= 3023.5\n",
       "h1= 1333.3\n",
       "##RESULTS\n",
-      "print'%s %.5f %s'%('volume =',v,'m^3/kg')\n",
-      "print'%s %.5f %s'%('volume =',v1,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy = ',u,'kJ/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',u1,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',h,'kJ/kg')\n",
-      "print'%s %.f %s'%('enthalpy = ',h1,'kJ/kg')\n"
+      "print'%s %.2f %s'% ('volume = ',v,' m^3/kg')\n",
+      "print'%s %.2f %s'% ('\\n volume =',v1,' m^3/kg')\n",
+      "print'%s %.2f %s'% ('\\n internal energy = ',u,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n internal energy = ',u1,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n enthalpy = ',h,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n enthalpy = ',h1,' kJ/kg')\n"
      ],
      "language": "python",
      "metadata": {},
@@ -190,12 +193,17 @@
        "output_type": "stream",
        "stream": "stdout",
        "text": [
-        "volume = 0.12547 m^3/kg\n",
-        "volume = 0.00136 m^3/kg\n",
-        "internal energy =  2772.6 kJ/kg\n",
-        "internal energy = 1306.1 kJ/kg\n",
-        "enthalpy = 3023.5 kJ/kg\n",
-        "enthalpy =  1333 kJ/kg\n"
+        "volume =  0.13  m^3/kg\n",
+        "\n",
+        " volume = 0.00  m^3/kg\n",
+        "\n",
+        " internal energy =  2772.60  kJ/kg\n",
+        "\n",
+        " internal energy =  1306.10  kJ/kg\n",
+        "\n",
+        " enthalpy =  3023.50  kJ/kg\n",
+        "\n",
+        " enthalpy =  1333.30  kJ/kg\n"
        ]
       }
      ],
@@ -206,7 +214,7 @@
      "level": 2,
      "metadata": {},
      "source": [
-      "example5-pg60\n"
+      "Ex5-pg60"
      ]
     },
     {
@@ -214,7 +222,7 @@
      "collapsed": false,
      "input": [
       "import math\n",
-      "#calculate the volume and internal energy and enthalpy\n",
+      "#calculate volume and internal energy\n",
       "##initialisation of variables\n",
       "vf= 0.001404 ##m^3/kg\n",
       "x= 0.8\n",
@@ -228,9 +236,9 @@
       "u= uf+x*ug\n",
       "h= hf+x*hg\n",
       "##RESULTS\n",
-      "print'%s %.5f %s'%('volume =',v,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',u,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',h, 'kJ/kg')\n"
+      "print'%s %.2f %s'% ('volume = ',v,' m^3/kg')\n",
+      "print'%s %.2f %s'% ('\\n internal energy = ',u,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n enthalpy = ',h,' kJ/kg')\n"
      ],
      "language": "python",
      "metadata": {},
@@ -239,20 +247,22 @@
        "output_type": "stream",
        "stream": "stdout",
        "text": [
-        "volume = 0.01762 m^3/kg\n",
-        "internal energy = 2316.8 kJ/kg\n",
-        "enthalpy = 2467.9 kJ/kg\n"
+        "volume =  0.02  m^3/kg\n",
+        "\n",
+        " internal energy =  2316.80  kJ/kg\n",
+        "\n",
+        " enthalpy =  2467.92  kJ/kg\n"
        ]
       }
      ],
-     "prompt_number": 5
+     "prompt_number": 18
     },
     {
      "cell_type": "heading",
      "level": 2,
      "metadata": {},
      "source": [
-      "Example6-pg 61"
+      "Ex6-pg61"
      ]
     },
     {
@@ -260,7 +270,7 @@
      "collapsed": false,
      "input": [
       "import math\n",
-      "#calculate the specific volume and internal energy and enthalpy and entropy\n",
+      "#calculate specific volume and internal energy and enthalpy and entropy\n",
       "##initialisation of variables\n",
       "T= 296. ##K\n",
       "T1= 250. ##K\n",
@@ -275,17 +285,17 @@
       "s2= 6.5433 ##kJ/kg K\n",
       "##CALCULATIONS\n",
       "a1= (T-T1)/(T2-T1)\n",
-      "a2= 1-a1\n",
+      "a2= 1.-a1\n",
       "V= a1*v+a2*v1\n",
       "U= a1*u1+a2*u2\n",
       "H= a1*h1+a2*h2\n",
       "S= a1*s1+a2*s2\n",
       "##RESULTS\n",
-      "print'%s %.3f %s'%('a2 = ',a2,'')\n",
-      "print'%s %.5f %s'%('specific volume =',V,'m^3/kg')\n",
-      "print'%s %.1f %s'%('internal energy =',U,'kJ/kg')\n",
-      "print'%s %.1f %s'%('enthalpy =',H,'kJ/kg')\n",
-      "print'%s %.1f %s'%('Entropy =',S,'kJ/kg')\n"
+      "print'%s %.2f %s'% ('a2 =  ',a2,'')\n",
+      "print'%s %.2f %s'% ('\\n specific volume = ',V,' m^3/kg')\n",
+      "print'%s %.2f %s'% ('\\n internal energy = ',U,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n enthalpy = ',H,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n Entropy = ',S,' kJ/kg')\n"
      ],
      "language": "python",
      "metadata": {},
@@ -294,22 +304,26 @@
        "output_type": "stream",
        "stream": "stdout",
        "text": [
-        "a2 =  0.080 \n",
-        "specific volume = 0.12456 m^3/kg\n",
-        "internal energy = 25765.2 kJ/kg\n",
-        "enthalpy = 3013.8 kJ/kg\n",
-        "Entropy = 6.7 kJ/kg\n"
+        "a2 =   0.08 \n",
+        "\n",
+        " specific volume =  0.12  m^3/kg\n",
+        "\n",
+        " internal energy =  25765.16  kJ/kg\n",
+        "\n",
+        " enthalpy =  3013.82  kJ/kg\n",
+        "\n",
+        " Entropy =  6.75  kJ/kg\n"
        ]
       }
      ],
-     "prompt_number": 6
+     "prompt_number": 19
     },
     {
      "cell_type": "heading",
      "level": 2,
      "metadata": {},
      "source": [
-      "Exapmle7-pg62"
+      "Ex7-pg62"
      ]
     },
     {
@@ -317,7 +331,7 @@
      "collapsed": false,
      "input": [
       "import math\n",
-      "#calculate a2 and internal enerjy\n",
+      "#calculate a2 and internal energy\n",
       "##initialisation of variables\n",
       "v= 0.15 ##m^3/kg\n",
       "v1= 0.13857 ##m^3/kg\n",
@@ -333,8 +347,8 @@
       "x= (v3-vf)/(vg-vf)\n",
       "u= uf+x*ufg\n",
       "##RESULTS\n",
-      "print'%s %.3f %s'%('a2 =',a2,'')\n",
-      "print'%s %.1f %s'%('internal energy =',u,'kJ/kg')\n"
+      "print'%s %.2f %s'% ('a2 =  ',a2,'')\n",
+      "print'%s %.2f %s'% ('\\n internal energy = ',u,' kJ/kg')\n"
      ],
      "language": "python",
      "metadata": {},
@@ -343,19 +357,20 @@
        "output_type": "stream",
        "stream": "stdout",
        "text": [
-        "a2 = 0.095 \n",
-        "internal energy = 1746.4 kJ/kg\n"
+        "a2 =   0.10 \n",
+        "\n",
+        " internal energy =  1746.40  kJ/kg\n"
        ]
       }
      ],
-     "prompt_number": 7
+     "prompt_number": 20
     },
     {
      "cell_type": "heading",
      "level": 2,
      "metadata": {},
      "source": [
-      "Example8-pg63"
+      "Ex8-pg63"
      ]
     },
     {
@@ -365,8 +380,8 @@
       "import math\n",
       "#calculate pressure and temperature\n",
       "##initialisation of variables\n",
-      "T= 250.##C\n",
-      "T1= 300. ##C\n",
+      "T= 250. ##C\n",
+      "T2= 300. ##C\n",
       "v300= 0.6548 ##m^3/kg\n",
       "v250= 0.591 ##m^3/kg\n",
       "v= 0.6 ##m^3/kg\n",
@@ -378,13 +393,13 @@
       "p= 0.4 ##Mpa\n",
       "p2= 0.2 ##Mpa\n",
       "##CALCULATIONS\n",
-      "T1= T1+((v-v250)/(v300-v250))*(T2-T)\n",
+      "T1= T+((v-v250)/(v300-v250))*(T2-T)\n",
       "u1= u250+((v-v250)/(v300-v250))*(u300-u250)\n",
       "du= u1-u\n",
       "p1= p+((u-u1)/(u2-u1))*p2\n",
       "##RESULTS\n",
-      "print'%s %.3f %s'%('pressure =',p1,'Mpa')\n",
-      "print'%s %.f %s'%('temperature =',T2,'C')\n"
+      "print'%s %.2f %s'% ('pressure = ',p1,' Mpa')\n",
+      "print'%s %.2f %s'% ('\\n temperature = ',T2,' C')\n"
      ],
      "language": "python",
      "metadata": {},
@@ -393,36 +408,38 @@
        "output_type": "stream",
        "stream": "stdout",
        "text": [
-        "pressure = 0.529 Mpa\n",
-        "temperature = 510 C\n"
+        "pressure =  0.53  Mpa\n",
+        "\n",
+        " temperature =  510.30  C\n"
        ]
       }
      ],
-     "prompt_number": 8
+     "prompt_number": 21
     },
     {
      "cell_type": "heading",
      "level": 2,
      "metadata": {},
      "source": [
-      "Ex10-pg64"
+      "Ex9-pg64"
      ]
     },
     {
      "cell_type": "code",
      "collapsed": false,
      "input": [
-      "\n",
+      "import math\n",
+      "#calculate mass and specific volume\n",
       "##initialisation of variables\n",
       "n= 1.5 ##kmol\n",
-      "V= 0.5 ##m**3\n",
+      "V= 0.5 ##m^3\n",
       "M= 18.02 ##kg\n",
       "##CALCULATIONS\n",
       "m= n*M\n",
       "v= V/m\n",
       "##RESULTS\n",
       "print'%s %.2f %s'% ('mass = ',m,' kg')\n",
-      "print'%s %.2f %s'% (' sepcific volume = ',v,' m^3/kg')\n"
+      "print'%s %.2f %s'% ('\\n sepcific volume = ',v,' m^3/kg')\n"
      ],
      "language": "python",
      "metadata": {},
@@ -432,18 +449,19 @@
        "stream": "stdout",
        "text": [
         "mass =  27.03  kg\n",
+        "\n",
         " sepcific volume =  0.02  m^3/kg\n"
        ]
       }
      ],
-     "prompt_number": 5
+     "prompt_number": 22
     },
     {
      "cell_type": "heading",
      "level": 2,
      "metadata": {},
      "source": [
-      "Example 12-pg66"
+      "Ex12-pg66"
      ]
     },
     {
@@ -459,18 +477,18 @@
       "u1= 2747.7 ##kJ/kg\n",
       "h2= 3092.5 ##kJ/kg\n",
       "h1= 2987.3 ##kJ/kg\n",
-      "p= 4 ##Mpa\n",
+      "p= 4. ##Mpa\n",
       "v2= 0.06645 ##m^3/kg\n",
       "v1= 0.02995 ##m^3/kg\n",
       "##CALCULATIONS\n",
       "m= V/v1\n",
       "U= m*(u2-u1)\n",
       "H= m*(h2-h1)\n",
-      "W= m*p*10*10*10*(v2-v1)\n",
+      "W= m*p*10**3*(v2-v1)\n",
       "Q= U+W\n",
       "##RESULTS\n",
-      "print'%s %.1f %s'%('work =',W,'kJ') \n",
-      "print'%s %.1f %s'%('heat interaction =',Q,'kJ')\n"
+      "print'%s %.2f %s'% (' work = ',W,' kJ') \n",
+      "print'%s %.2f %s'% ('\\n heat interaction = ',Q,' kJ') \n"
      ],
      "language": "python",
      "metadata": {},
@@ -479,19 +497,20 @@
        "output_type": "stream",
        "stream": "stdout",
        "text": [
-        "work = 975.0 kJ\n",
-        "heat interaction = 1502.5 kJ\n"
+        " work =  974.96  kJ\n",
+        "\n",
+        " heat interaction =  1502.50  kJ\n"
        ]
       }
      ],
-     "prompt_number": 10
+     "prompt_number": 23
     },
     {
      "cell_type": "heading",
      "level": 2,
      "metadata": {},
      "source": [
-      "Example13-pg 67"
+      "Ex13-pg67"
      ]
     },
     {
@@ -519,8 +538,8 @@
       "W= m*0.5*((p1+p2)*(v2-v1)+(p2+p3)*(v3-v2)+(p3+p4)*(v4-v3)+(p4+p5)*(v5-v4))\n",
       "Q=U+W\n",
       "##RESULTS\n",
-      "print'%s %.1f %s'%('work =',W,'kJ') \n",
-      "print'%s %.f %s'%('heat interaction =',Q,'kJ') \n"
+      "print'%s %.2f %s'% (' work = ',W,' kJ') \n",
+      "print'%s %.2f %s'% ('\\n heat interaction = ',Q,' kJ') \n"
      ],
      "language": "python",
      "metadata": {},
@@ -529,19 +548,20 @@
        "output_type": "stream",
        "stream": "stdout",
        "text": [
-        "work = 1361.0 kJ\n",
-        "heat interaction = 1889 kJ\n"
+        " work =  1361.04  kJ\n",
+        "\n",
+        " heat interaction =  1888.61  kJ\n"
        ]
       }
      ],
-     "prompt_number": 12
+     "prompt_number": 24
     },
     {
      "cell_type": "heading",
      "level": 2,
      "metadata": {},
      "source": [
-      "Example 14-pg68\n"
+      "Ex14-pg68"
      ]
     },
     {
@@ -549,7 +569,7 @@
      "collapsed": false,
      "input": [
       "import math\n",
-      "#calculate final pressure and enthalpy and etropy\n",
+      "#calculate final pressure and enthalpy and piston rise\n",
       "##initialisation of variables\n",
       "p0= 100. ##kpa\n",
       "A= 0.1 ##m^2\n",
@@ -561,13 +581,13 @@
       "u2= 2728.7 ##kJ/kg\n",
       "v3= 0.9942 ##m^3/kg\n",
       "##CALCULATIONS\n",
-      "pe= (p0+(F/A))/1000\n",
+      "pe= (p0+(F/A))/1000.\n",
       "h3= (m1*u1-m2*u2)/m3\n",
       "z3= m3*v3/A\n",
       "##RESULTS\n",
-      "print'%s %.1f %s'%('final pressure =',pe,'Mpa') \n",
-      "print'%s %.1f %s'%('enthalpy = ',h3,'kJ/kg') \n",
-      "print'%s %.2f %s'%('piston rise =',z3,'m') \n"
+      "print'%s %.2f %s'% (' final pressure = ',pe,' Mpa') \n",
+      "print'%s %.2f %s'% (' \\n enthalpy = ',h3,' kJ/kg') \n",
+      "print'%s %.2f %s'% ('\\n piston rise = ',z3,' m') \n"
      ],
      "language": "python",
      "metadata": {},
@@ -576,13 +596,15 @@
        "output_type": "stream",
        "stream": "stdout",
        "text": [
-        "final pressure = 0.3 Mpa\n",
-        "enthalpy =  3225.9 kJ/kg\n",
-        "piston rise = 8.82 m\n"
+        " final pressure =  0.30  Mpa\n",
+        " \n",
+        " enthalpy =  3225.86  kJ/kg\n",
+        "\n",
+        " piston rise =  8.82  m\n"
        ]
       }
      ],
-     "prompt_number": 14
+     "prompt_number": 25
     }
    ],
    "metadata": {}
diff --git a/Thermodynamics:_From_concepts_to_applications/chapter12.ipynb b/Thermodynamics:_From_concepts_to_applications/chapter12.ipynb
deleted file mode 100755
index aea962e5..00000000
--- a/Thermodynamics:_From_concepts_to_applications/chapter12.ipynb
+++ /dev/null
@@ -1,314 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2837d214113f06819e10997f047a7eaa67f457e584a6b0f4db06b83606bfd8b8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter12-ideal gas mixtures and humid air"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 251"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate molecular weight of air\n",
-      "##initialisation of variables\n",
-      "x= 0.78\n",
-      "x1= 0.21\n",
-      "x2= 0.008\n",
-      "x3= 0.002\n",
-      "MN2= 28.013 ##gms\n",
-      "MO2= 32. ##gms\n",
-      "MAr= 39.948 ##gms\n",
-      "MH2O= 18.016 ##gms\n",
-      "##CALCULATIONS\n",
-      "M= x*MN2+x1*MO2+x2*MAr+x3*MH2O\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('molecular wight of air=',M,'kg/kmol')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "molecular wight of air= 28.926 kg/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg254"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate average value and mass\n",
-      "##initialisation of variables\n",
-      "M= 30.04 ##kg/kmol\n",
-      "R= 8.3143 ##J/mol K\n",
-      "p= 100. ##kPa\n",
-      "V= 0.2 ##m^3\n",
-      "T= 25. ##C\n",
-      "##CALCULATIONS\n",
-      "R1= R/M\n",
-      "m= p*V/(R1*(273.15+T))\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('average value of R=',R1,'kJ/kg K')\n",
-      "print'%s %.3f %s'% ('mass=',m,'kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "average value of R= 0.2768 kJ/kg K\n",
-        "mass= 0.242 kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg256"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperature and final pressure and change in entropy\n",
-      "##initialisation of variables\n",
-      "m1= 0.5 ##kg\n",
-      "cv1= 0.6496 ##kJ/kg K\n",
-      "T1= 80. ##C\n",
-      "m2= 1. ##kg\n",
-      "cv2= 0.6299 ##kJ/kg K\n",
-      "T2= 150. ##C\n",
-      "M= 32. ##kg\n",
-      "M1= 44. ##kg\n",
-      "V1= 0.11437 ##m^3\n",
-      "V2= 0.1 ##m^2\n",
-      "R= 8.314 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "T= (m1*cv1*(273.15+T1)+m2*cv2*(273.15+T2))/(m1*cv1+m2*cv2)\n",
-      "p= ((m1/M)+(m2/M1))*R*T/(V1+V2)\n",
-      "S= m1*(cv1*math.log(T/(273.15+T1))+(R/M)*math.log((V1+V2)/V1))+m2*(cv2*math.log(T/(273.15+T2))+(R/M1)*math.log((V1+V2)/V2))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('final temperature=',T,'kPa')\n",
-      "print'%s %.1f %s'% ('final pressure=',p,'kPa')\n",
-      "print'%s %.4f %s'% ('change in entropy=',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature= 399.3 kPa\n",
-        "final pressure= 594.0 kPa\n",
-        "change in entropy= 0.2291 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg268\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate wet-bulb temoerature and minimum temperature and amount of water injected\n",
-      "##initialisation of variables\n",
-      "Twb= 22. ##C\n",
-      "Tmin= 22.3 ##C\n",
-      "w2= 0.0170 ##kg/kg dry air\n",
-      "w1= 0.0093 ##kg/kg dry air\n",
-      "##CALCULATIONS\n",
-      "m= w2-w1\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% (' wet-bulb temperature=',Twb,'C')\n",
-      "print'%s %.f %s'% ('minimum temperature=',Tmin,'1C')\n",
-      "print'%s %.4f %s'% ('amount of water injected=',m,'kg/kg dry air')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " wet-bulb temperature= 22 C\n",
-        "minimum temperature= 22 1C\n",
-        "amount of water injected= 0.0077 kg/kg dry air\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg269"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate state after mixing\n",
-      "##initialisation of variables\n",
-      "w3= 0.0178 ##kg/kgair\n",
-      "w4= 0.0172 ##kg/kgair\n",
-      "##CALCULATIONS\n",
-      "dw= w3-w4\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% (' state after mixing=',dw,'kg/kgair')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " state after mixing= 0.0006 kg/kgair\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg271"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate air mass flow rate and amount of water to be added\n",
-      "##initialisation of variables\n",
-      "m= 20000. ##kg/h\n",
-      "T1= 42. ##C\n",
-      "T2= 22. ##C\n",
-      "J= 4.186 ##cal\n",
-      "h1= 54. ##kJ/kg\n",
-      "h2= 94.8 ##kJ/kg\n",
-      "w1= 0.0105 ##kg/h kg\n",
-      "w2= 0.0244 ##kg/h kg\n",
-      "##CALCULATIONS\n",
-      "ma= m*(T1-T2)*J/((h2-h1-J*T2*(w2-w1)))\n",
-      "mw= ma*(w2-w1)\n",
-      "m4= m-mw\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('air mass flow rate=',ma,'kg/hr')\n",
-      "print'%s %.f %s'%('amount of water to be added=',m4,'kg/hr')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "air mass flow rate= 42368.5 kg/hr\n",
-        "amount of water to be added= 19411 kg/hr\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg272"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate maximum useful work\n",
-      "##initialisation of variables\n",
-      "x= 0.79\n",
-      "P0= 101 ##kPa\n",
-      "P= 20 ##Mpa\n",
-      "V= 0.032 ##m^3\n",
-      "##CALCULATIONS\n",
-      "p= x*P0\n",
-      "Wrev= P*10*10*10*V*(math.log(P/(p*math.pow(10,-3)))+((p*math.pow(10,-3))/P)-1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' maximum useful work=',Wrev,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " maximum useful work= 2898.0 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/chapter12_1.ipynb b/Thermodynamics:_From_concepts_to_applications/chapter12_1.ipynb
deleted file mode 100755
index aea962e5..00000000
--- a/Thermodynamics:_From_concepts_to_applications/chapter12_1.ipynb
+++ /dev/null
@@ -1,314 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2837d214113f06819e10997f047a7eaa67f457e584a6b0f4db06b83606bfd8b8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter12-ideal gas mixtures and humid air"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 251"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate molecular weight of air\n",
-      "##initialisation of variables\n",
-      "x= 0.78\n",
-      "x1= 0.21\n",
-      "x2= 0.008\n",
-      "x3= 0.002\n",
-      "MN2= 28.013 ##gms\n",
-      "MO2= 32. ##gms\n",
-      "MAr= 39.948 ##gms\n",
-      "MH2O= 18.016 ##gms\n",
-      "##CALCULATIONS\n",
-      "M= x*MN2+x1*MO2+x2*MAr+x3*MH2O\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('molecular wight of air=',M,'kg/kmol')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "molecular wight of air= 28.926 kg/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg254"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate average value and mass\n",
-      "##initialisation of variables\n",
-      "M= 30.04 ##kg/kmol\n",
-      "R= 8.3143 ##J/mol K\n",
-      "p= 100. ##kPa\n",
-      "V= 0.2 ##m^3\n",
-      "T= 25. ##C\n",
-      "##CALCULATIONS\n",
-      "R1= R/M\n",
-      "m= p*V/(R1*(273.15+T))\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('average value of R=',R1,'kJ/kg K')\n",
-      "print'%s %.3f %s'% ('mass=',m,'kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "average value of R= 0.2768 kJ/kg K\n",
-        "mass= 0.242 kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg256"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperature and final pressure and change in entropy\n",
-      "##initialisation of variables\n",
-      "m1= 0.5 ##kg\n",
-      "cv1= 0.6496 ##kJ/kg K\n",
-      "T1= 80. ##C\n",
-      "m2= 1. ##kg\n",
-      "cv2= 0.6299 ##kJ/kg K\n",
-      "T2= 150. ##C\n",
-      "M= 32. ##kg\n",
-      "M1= 44. ##kg\n",
-      "V1= 0.11437 ##m^3\n",
-      "V2= 0.1 ##m^2\n",
-      "R= 8.314 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "T= (m1*cv1*(273.15+T1)+m2*cv2*(273.15+T2))/(m1*cv1+m2*cv2)\n",
-      "p= ((m1/M)+(m2/M1))*R*T/(V1+V2)\n",
-      "S= m1*(cv1*math.log(T/(273.15+T1))+(R/M)*math.log((V1+V2)/V1))+m2*(cv2*math.log(T/(273.15+T2))+(R/M1)*math.log((V1+V2)/V2))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('final temperature=',T,'kPa')\n",
-      "print'%s %.1f %s'% ('final pressure=',p,'kPa')\n",
-      "print'%s %.4f %s'% ('change in entropy=',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature= 399.3 kPa\n",
-        "final pressure= 594.0 kPa\n",
-        "change in entropy= 0.2291 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg268\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate wet-bulb temoerature and minimum temperature and amount of water injected\n",
-      "##initialisation of variables\n",
-      "Twb= 22. ##C\n",
-      "Tmin= 22.3 ##C\n",
-      "w2= 0.0170 ##kg/kg dry air\n",
-      "w1= 0.0093 ##kg/kg dry air\n",
-      "##CALCULATIONS\n",
-      "m= w2-w1\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% (' wet-bulb temperature=',Twb,'C')\n",
-      "print'%s %.f %s'% ('minimum temperature=',Tmin,'1C')\n",
-      "print'%s %.4f %s'% ('amount of water injected=',m,'kg/kg dry air')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " wet-bulb temperature= 22 C\n",
-        "minimum temperature= 22 1C\n",
-        "amount of water injected= 0.0077 kg/kg dry air\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg269"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate state after mixing\n",
-      "##initialisation of variables\n",
-      "w3= 0.0178 ##kg/kgair\n",
-      "w4= 0.0172 ##kg/kgair\n",
-      "##CALCULATIONS\n",
-      "dw= w3-w4\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% (' state after mixing=',dw,'kg/kgair')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " state after mixing= 0.0006 kg/kgair\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg271"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate air mass flow rate and amount of water to be added\n",
-      "##initialisation of variables\n",
-      "m= 20000. ##kg/h\n",
-      "T1= 42. ##C\n",
-      "T2= 22. ##C\n",
-      "J= 4.186 ##cal\n",
-      "h1= 54. ##kJ/kg\n",
-      "h2= 94.8 ##kJ/kg\n",
-      "w1= 0.0105 ##kg/h kg\n",
-      "w2= 0.0244 ##kg/h kg\n",
-      "##CALCULATIONS\n",
-      "ma= m*(T1-T2)*J/((h2-h1-J*T2*(w2-w1)))\n",
-      "mw= ma*(w2-w1)\n",
-      "m4= m-mw\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('air mass flow rate=',ma,'kg/hr')\n",
-      "print'%s %.f %s'%('amount of water to be added=',m4,'kg/hr')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "air mass flow rate= 42368.5 kg/hr\n",
-        "amount of water to be added= 19411 kg/hr\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg272"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate maximum useful work\n",
-      "##initialisation of variables\n",
-      "x= 0.79\n",
-      "P0= 101 ##kPa\n",
-      "P= 20 ##Mpa\n",
-      "V= 0.032 ##m^3\n",
-      "##CALCULATIONS\n",
-      "p= x*P0\n",
-      "Wrev= P*10*10*10*V*(math.log(P/(p*math.pow(10,-3)))+((p*math.pow(10,-3))/P)-1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' maximum useful work=',Wrev,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " maximum useful work= 2898.0 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/chapter12_2.ipynb b/Thermodynamics:_From_concepts_to_applications/chapter12_2.ipynb
deleted file mode 100755
index aea962e5..00000000
--- a/Thermodynamics:_From_concepts_to_applications/chapter12_2.ipynb
+++ /dev/null
@@ -1,314 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2837d214113f06819e10997f047a7eaa67f457e584a6b0f4db06b83606bfd8b8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter12-ideal gas mixtures and humid air"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 251"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate molecular weight of air\n",
-      "##initialisation of variables\n",
-      "x= 0.78\n",
-      "x1= 0.21\n",
-      "x2= 0.008\n",
-      "x3= 0.002\n",
-      "MN2= 28.013 ##gms\n",
-      "MO2= 32. ##gms\n",
-      "MAr= 39.948 ##gms\n",
-      "MH2O= 18.016 ##gms\n",
-      "##CALCULATIONS\n",
-      "M= x*MN2+x1*MO2+x2*MAr+x3*MH2O\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('molecular wight of air=',M,'kg/kmol')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "molecular wight of air= 28.926 kg/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg254"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate average value and mass\n",
-      "##initialisation of variables\n",
-      "M= 30.04 ##kg/kmol\n",
-      "R= 8.3143 ##J/mol K\n",
-      "p= 100. ##kPa\n",
-      "V= 0.2 ##m^3\n",
-      "T= 25. ##C\n",
-      "##CALCULATIONS\n",
-      "R1= R/M\n",
-      "m= p*V/(R1*(273.15+T))\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('average value of R=',R1,'kJ/kg K')\n",
-      "print'%s %.3f %s'% ('mass=',m,'kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "average value of R= 0.2768 kJ/kg K\n",
-        "mass= 0.242 kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg256"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperature and final pressure and change in entropy\n",
-      "##initialisation of variables\n",
-      "m1= 0.5 ##kg\n",
-      "cv1= 0.6496 ##kJ/kg K\n",
-      "T1= 80. ##C\n",
-      "m2= 1. ##kg\n",
-      "cv2= 0.6299 ##kJ/kg K\n",
-      "T2= 150. ##C\n",
-      "M= 32. ##kg\n",
-      "M1= 44. ##kg\n",
-      "V1= 0.11437 ##m^3\n",
-      "V2= 0.1 ##m^2\n",
-      "R= 8.314 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "T= (m1*cv1*(273.15+T1)+m2*cv2*(273.15+T2))/(m1*cv1+m2*cv2)\n",
-      "p= ((m1/M)+(m2/M1))*R*T/(V1+V2)\n",
-      "S= m1*(cv1*math.log(T/(273.15+T1))+(R/M)*math.log((V1+V2)/V1))+m2*(cv2*math.log(T/(273.15+T2))+(R/M1)*math.log((V1+V2)/V2))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('final temperature=',T,'kPa')\n",
-      "print'%s %.1f %s'% ('final pressure=',p,'kPa')\n",
-      "print'%s %.4f %s'% ('change in entropy=',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature= 399.3 kPa\n",
-        "final pressure= 594.0 kPa\n",
-        "change in entropy= 0.2291 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg268\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate wet-bulb temoerature and minimum temperature and amount of water injected\n",
-      "##initialisation of variables\n",
-      "Twb= 22. ##C\n",
-      "Tmin= 22.3 ##C\n",
-      "w2= 0.0170 ##kg/kg dry air\n",
-      "w1= 0.0093 ##kg/kg dry air\n",
-      "##CALCULATIONS\n",
-      "m= w2-w1\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% (' wet-bulb temperature=',Twb,'C')\n",
-      "print'%s %.f %s'% ('minimum temperature=',Tmin,'1C')\n",
-      "print'%s %.4f %s'% ('amount of water injected=',m,'kg/kg dry air')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " wet-bulb temperature= 22 C\n",
-        "minimum temperature= 22 1C\n",
-        "amount of water injected= 0.0077 kg/kg dry air\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg269"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate state after mixing\n",
-      "##initialisation of variables\n",
-      "w3= 0.0178 ##kg/kgair\n",
-      "w4= 0.0172 ##kg/kgair\n",
-      "##CALCULATIONS\n",
-      "dw= w3-w4\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% (' state after mixing=',dw,'kg/kgair')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " state after mixing= 0.0006 kg/kgair\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg271"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate air mass flow rate and amount of water to be added\n",
-      "##initialisation of variables\n",
-      "m= 20000. ##kg/h\n",
-      "T1= 42. ##C\n",
-      "T2= 22. ##C\n",
-      "J= 4.186 ##cal\n",
-      "h1= 54. ##kJ/kg\n",
-      "h2= 94.8 ##kJ/kg\n",
-      "w1= 0.0105 ##kg/h kg\n",
-      "w2= 0.0244 ##kg/h kg\n",
-      "##CALCULATIONS\n",
-      "ma= m*(T1-T2)*J/((h2-h1-J*T2*(w2-w1)))\n",
-      "mw= ma*(w2-w1)\n",
-      "m4= m-mw\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('air mass flow rate=',ma,'kg/hr')\n",
-      "print'%s %.f %s'%('amount of water to be added=',m4,'kg/hr')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "air mass flow rate= 42368.5 kg/hr\n",
-        "amount of water to be added= 19411 kg/hr\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg272"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate maximum useful work\n",
-      "##initialisation of variables\n",
-      "x= 0.79\n",
-      "P0= 101 ##kPa\n",
-      "P= 20 ##Mpa\n",
-      "V= 0.032 ##m^3\n",
-      "##CALCULATIONS\n",
-      "p= x*P0\n",
-      "Wrev= P*10*10*10*V*(math.log(P/(p*math.pow(10,-3)))+((p*math.pow(10,-3))/P)-1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' maximum useful work=',Wrev,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " maximum useful work= 2898.0 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/Thermodynamics:_From_concepts_to_applications/chapter12_ideal_gas_mixtures_and_humid_air.ipynb b/Thermodynamics:_From_concepts_to_applications/chapter12_ideal_gas_mixtures_and_humid_air.ipynb
deleted file mode 100755
index aea962e5..00000000
--- a/Thermodynamics:_From_concepts_to_applications/chapter12_ideal_gas_mixtures_and_humid_air.ipynb
+++ /dev/null
@@ -1,314 +0,0 @@
-{
- "metadata": {
-  "name": "",
-  "signature": "sha256:2837d214113f06819e10997f047a7eaa67f457e584a6b0f4db06b83606bfd8b8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
-  {
-   "cells": [
-    {
-     "cell_type": "heading",
-     "level": 1,
-     "metadata": {},
-     "source": [
-      "Chapter12-ideal gas mixtures and humid air"
-     ]
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example1-pg 251"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate molecular weight of air\n",
-      "##initialisation of variables\n",
-      "x= 0.78\n",
-      "x1= 0.21\n",
-      "x2= 0.008\n",
-      "x3= 0.002\n",
-      "MN2= 28.013 ##gms\n",
-      "MO2= 32. ##gms\n",
-      "MAr= 39.948 ##gms\n",
-      "MH2O= 18.016 ##gms\n",
-      "##CALCULATIONS\n",
-      "M= x*MN2+x1*MO2+x2*MAr+x3*MH2O\n",
-      "##RESULTS\n",
-      "print'%s %.3f %s'% ('molecular wight of air=',M,'kg/kmol')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "molecular wight of air= 28.926 kg/kmol\n"
-       ]
-      }
-     ],
-     "prompt_number": 1
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example2-pg254"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate average value and mass\n",
-      "##initialisation of variables\n",
-      "M= 30.04 ##kg/kmol\n",
-      "R= 8.3143 ##J/mol K\n",
-      "p= 100. ##kPa\n",
-      "V= 0.2 ##m^3\n",
-      "T= 25. ##C\n",
-      "##CALCULATIONS\n",
-      "R1= R/M\n",
-      "m= p*V/(R1*(273.15+T))\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% ('average value of R=',R1,'kJ/kg K')\n",
-      "print'%s %.3f %s'% ('mass=',m,'kg')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "average value of R= 0.2768 kJ/kg K\n",
-        "mass= 0.242 kg\n"
-       ]
-      }
-     ],
-     "prompt_number": 2
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example3-pg256"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate final temperature and final pressure and change in entropy\n",
-      "##initialisation of variables\n",
-      "m1= 0.5 ##kg\n",
-      "cv1= 0.6496 ##kJ/kg K\n",
-      "T1= 80. ##C\n",
-      "m2= 1. ##kg\n",
-      "cv2= 0.6299 ##kJ/kg K\n",
-      "T2= 150. ##C\n",
-      "M= 32. ##kg\n",
-      "M1= 44. ##kg\n",
-      "V1= 0.11437 ##m^3\n",
-      "V2= 0.1 ##m^2\n",
-      "R= 8.314 ##J/mol K\n",
-      "##CALCULATIONS\n",
-      "T= (m1*cv1*(273.15+T1)+m2*cv2*(273.15+T2))/(m1*cv1+m2*cv2)\n",
-      "p= ((m1/M)+(m2/M1))*R*T/(V1+V2)\n",
-      "S= m1*(cv1*math.log(T/(273.15+T1))+(R/M)*math.log((V1+V2)/V1))+m2*(cv2*math.log(T/(273.15+T2))+(R/M1)*math.log((V1+V2)/V2))\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% ('final temperature=',T,'kPa')\n",
-      "print'%s %.1f %s'% ('final pressure=',p,'kPa')\n",
-      "print'%s %.4f %s'% ('change in entropy=',S,'kJ/K')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "final temperature= 399.3 kPa\n",
-        "final pressure= 594.0 kPa\n",
-        "change in entropy= 0.2291 kJ/K\n"
-       ]
-      }
-     ],
-     "prompt_number": 3
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example4-pg268\n"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate wet-bulb temoerature and minimum temperature and amount of water injected\n",
-      "##initialisation of variables\n",
-      "Twb= 22. ##C\n",
-      "Tmin= 22.3 ##C\n",
-      "w2= 0.0170 ##kg/kg dry air\n",
-      "w1= 0.0093 ##kg/kg dry air\n",
-      "##CALCULATIONS\n",
-      "m= w2-w1\n",
-      "##RESULTS\n",
-      "print'%s %.f %s'% (' wet-bulb temperature=',Twb,'C')\n",
-      "print'%s %.f %s'% ('minimum temperature=',Tmin,'1C')\n",
-      "print'%s %.4f %s'% ('amount of water injected=',m,'kg/kg dry air')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " wet-bulb temperature= 22 C\n",
-        "minimum temperature= 22 1C\n",
-        "amount of water injected= 0.0077 kg/kg dry air\n"
-       ]
-      }
-     ],
-     "prompt_number": 4
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example5-pg269"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate state after mixing\n",
-      "##initialisation of variables\n",
-      "w3= 0.0178 ##kg/kgair\n",
-      "w4= 0.0172 ##kg/kgair\n",
-      "##CALCULATIONS\n",
-      "dw= w3-w4\n",
-      "##RESULTS\n",
-      "print'%s %.4f %s'% (' state after mixing=',dw,'kg/kgair')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " state after mixing= 0.0006 kg/kgair\n"
-       ]
-      }
-     ],
-     "prompt_number": 5
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example6-pg271"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate air mass flow rate and amount of water to be added\n",
-      "##initialisation of variables\n",
-      "m= 20000. ##kg/h\n",
-      "T1= 42. ##C\n",
-      "T2= 22. ##C\n",
-      "J= 4.186 ##cal\n",
-      "h1= 54. ##kJ/kg\n",
-      "h2= 94.8 ##kJ/kg\n",
-      "w1= 0.0105 ##kg/h kg\n",
-      "w2= 0.0244 ##kg/h kg\n",
-      "##CALCULATIONS\n",
-      "ma= m*(T1-T2)*J/((h2-h1-J*T2*(w2-w1)))\n",
-      "mw= ma*(w2-w1)\n",
-      "m4= m-mw\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'%('air mass flow rate=',ma,'kg/hr')\n",
-      "print'%s %.f %s'%('amount of water to be added=',m4,'kg/hr')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        "air mass flow rate= 42368.5 kg/hr\n",
-        "amount of water to be added= 19411 kg/hr\n"
-       ]
-      }
-     ],
-     "prompt_number": 6
-    },
-    {
-     "cell_type": "heading",
-     "level": 2,
-     "metadata": {},
-     "source": [
-      "Example7-pg272"
-     ]
-    },
-    {
-     "cell_type": "code",
-     "collapsed": false,
-     "input": [
-      "import math\n",
-      "#calculate maximum useful work\n",
-      "##initialisation of variables\n",
-      "x= 0.79\n",
-      "P0= 101 ##kPa\n",
-      "P= 20 ##Mpa\n",
-      "V= 0.032 ##m^3\n",
-      "##CALCULATIONS\n",
-      "p= x*P0\n",
-      "Wrev= P*10*10*10*V*(math.log(P/(p*math.pow(10,-3)))+((p*math.pow(10,-3))/P)-1)\n",
-      "##RESULTS\n",
-      "print'%s %.1f %s'% (' maximum useful work=',Wrev,'kJ')\n"
-     ],
-     "language": "python",
-     "metadata": {},
-     "outputs": [
-      {
-       "output_type": "stream",
-       "stream": "stdout",
-       "text": [
-        " maximum useful work= 2898.0 kJ\n"
-       ]
-      }
-     ],
-     "prompt_number": 7
-    }
-   ],
-   "metadata": {}
-  }
- ]
-}
\ No newline at end of file
diff --git a/sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_1.ipynb b/sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_1.ipynb
new file mode 100755
index 00000000..4f69b243
--- /dev/null
+++ b/sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_1.ipynb	
@@ -0,0 +1,2636 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e85379c4218575d4b069259557cffbbc2d0259e3ba5d0e030c11dd77aae5e38d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.1, Page Number:444"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#A simple classA having a public data member x\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "\n",
+      "#A simple classA having a public data member y        \n",
+      "class B(A):    #derived class\n",
+      "    def __init__(self):\n",
+      "        self.y=None\n",
+      "        \n",
+      "b=B()              #create a instance b of Derived class B\n",
+      "b.x=20\n",
+      "b.y=30\n",
+      "\n",
+      "print 'member of A:',b.x\n",
+      "print 'Member of B:',b.y"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "member of A: 20\n",
+        "Member of B: 30\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.2, Page Number:445"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class A:\n",
+      "    def __init__(self):        #class A having x as a private data member\n",
+      "        self.__x=20\n",
+      "    \n",
+      "    def showx(self):\n",
+      "        print \"x=\",self.__x\n",
+      "        \n",
+      "        \n",
+      "class B(A):                     #Derived class\n",
+      "    def __init__(self):\n",
+      "        self.y=30             #class B having y as a public data member\n",
+      "        \n",
+      "    def show(self):\n",
+      "        a=A()\n",
+      "        a.showx()\n",
+      "        print \"y=\",self.y\n",
+      "        \n",
+      "        \n",
+      "b=B()                          #declaration of object\n",
+      "                                #class the method of derived class object by a derived class instance\n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 20\n",
+        "y= 30\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.3, Page Number:447"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#base class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=None        #x is a public member\n",
+      "        \n",
+      "        \n",
+      "#derived class\n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        self.y=40             \n",
+      "        A.__x=20            #since it is privately inherites base class ,x become private member of it\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"x=\",A.__x\n",
+      "        print \"y=\",self.y\n",
+      "        \n",
+      "b=B()\n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 20\n",
+        "y= 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.4, Page Number:448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.__x=20         #x is a privet member of it\n",
+      "        \n",
+      "    def showx(self):          \n",
+      "        print \"x=\",self.__x\n",
+      "        \n",
+      "        \n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        self.y=40           #y is a public member of it\n",
+      "        \n",
+      "    def show(self):\n",
+      "        a=A()\n",
+      "        a.showx()          #call the base class method\n",
+      "        print \"y=\",self.y\n",
+      "        \n",
+      "        \n",
+      "b=B()\n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 20\n",
+        "y= 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.5, Page Number:449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self._x=None      #x is a protected member of the base class\n",
+      "        \n",
+      "        \n",
+      "class B(A):              #private inheritance,x become a private member of the derived class\n",
+      "    def __init__(self):\n",
+      "        self.y=40\n",
+      "        self.__x=30\n",
+      "    \n",
+      "    \n",
+      "    def show(self):\n",
+      "        print \"x=\",self.__x\n",
+      "        print \"y=\",self.y\n",
+      "        \n",
+      "        \n",
+      "b=B()\n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 30\n",
+        "y= 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.6, Page Number:456"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class ABC:                 #Base class\n",
+      "    def __init__(self):\n",
+      "        self._name=None  #these 2 are protected data member\n",
+      "        self._age=None\n",
+      "        \n",
+      "class abc(ABC):          #Derived class ,Public derivation\n",
+      "    def __init__(self):\n",
+      "        self.height=None\n",
+      "        self.weight=None\n",
+      "        \n",
+      "    def getdata(self):\n",
+      "       \n",
+      "        self.name=raw_input(\"Enter a name: \")     #take inputes to all the data members \n",
+      "        self.age=raw_input(\"Enter a age: \")  \n",
+      "        self._height=raw_input(\"Enter a Height: \")  \n",
+      "        self._weight=raw_input(\"Enter a Weight: \")  \n",
+      "        \n",
+      "    def show(self):                               #display the value of data members\n",
+      "        print 'Name:',self.name \n",
+      "        print 'Age:',self.age,\"years\"\n",
+      "        print 'Height:',self._height,\"Feets\"\n",
+      "        print 'Weight:',self._weight,\"kg.\"\n",
+      "        \n",
+      "        \n",
+      "x=abc()\n",
+      "x.getdata()\n",
+      "x.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a name: Santosh\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a age: 24\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a Height: 4.5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a Weight: 50\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name: Santosh\n",
+        "Age: 24 years\n",
+        "Height: 4.5 Feets\n",
+        "Weight: 50 kg.\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.7, Page Number:458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class A1:                 #super Base class,have 2 protected data members\n",
+      "    def __init__(self):\n",
+      "        self._name=None\n",
+      "        self._age=None\n",
+      "\n",
+      "        \n",
+      "class A2(A1):            #Public derivation\n",
+      "    def __init(self):\n",
+      "        self._height=None\n",
+      "        self._weight=None\n",
+      "\n",
+      "class A3(A2):           #public Derivation\n",
+      "    def __init__(self):\n",
+      "        self._sex=None\n",
+      "        \n",
+      "        \n",
+      "    def get(self):        #get input \n",
+      "        self._name=raw_input(\"Name: \")\n",
+      "        self._age=raw_input(\"Age: \")\n",
+      "        self._sex=raw_input(\"Sex: \")\n",
+      "        \n",
+      "        self._height=raw_input(\"Height: \")\n",
+      "        self._weight=raw_input(\"Weight: \")\n",
+      "        \n",
+      "    def show(self):       #Display values of all the data members\n",
+      "        print \"Name:\",self._name\n",
+      "        print \"Age:\",self._age ,\"years\"\n",
+      "        print \"Sex:\",self._sex\n",
+      "        print \"Height:\",self._height ,\"Feet\"\n",
+      "        print \"Weight:\",self._weight ,\"Kg.\"\n",
+      "        \n",
+      "\n",
+      "x=A3()\n",
+      "x.get()\n",
+      "x.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name: Balaji\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age: 26\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sex: M\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height: 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight: 49.5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name: Balaji\n",
+        "Age: 26 years\n",
+        "Sex: M\n",
+        "Height: 4 Feet\n",
+        "Weight: 49.5 Kg.\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.8, Page Number:459"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Example of multiple Inheritance\n",
+      "\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self._a=None\n",
+      "        \n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        self._b=None\n",
+      "        \n",
+      "        \n",
+      "class C:\n",
+      "    def __init__(self):\n",
+      "        self._c=None\n",
+      "        \n",
+      "class D:\n",
+      "    def __init__(self):\n",
+      "        self._d=None\n",
+      "        \n",
+      "class E(A,B,C,D):   #inherites all the base classes publically\n",
+      "    def __init__(self):\n",
+      "        self.e=None\n",
+      "        \n",
+      "    def getdata(self):\n",
+      "        print \"Enter the value of a,b,c &d &e:\"\n",
+      "        self._a=input()\n",
+      "        self._b=input()\n",
+      "        self._c=input()\n",
+      "        self._d=input()\n",
+      "        self._e=input()\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print\"a=\",self._a,\"b=\",self._b,\"c=\",self._c,\"d=\",self._d,\"e=\",self._e\n",
+      "        \n",
+      "        \n",
+      "x=E()          #x is the instance of the derived class\n",
+      "x.getdata()    #call the methods of derived class through x \n",
+      "x.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the value of a,b,c &d &e:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "16\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a= 1 b= 2 c= 4 d= 8 e= 16\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.9, Page Number:461"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class red:                #these three base class\n",
+      "    def __init__(self):\n",
+      "        print \"Red\",\n",
+      "        \n",
+      "class yellow:\n",
+      "    def __init__(self):\n",
+      "        print \"Yellow\",\n",
+      "        \n",
+      "class blue:\n",
+      "    def __init__(self):\n",
+      "        print \"Blue\",\n",
+      "        \n",
+      "class orange(red,yellow):  #public multiple Derivation\n",
+      "    def __init__(self):\n",
+      "        red.__init__(self)\n",
+      "        yellow.__init__(self)\n",
+      "        print \"=Orange\",\n",
+      "        \n",
+      "class green(blue,yellow):  #public multiple Derivation\n",
+      "    def __init__(self):\n",
+      "        blue.__init__(self)\n",
+      "        yellow.__init__(self)\n",
+      "        print \"=Green\",\n",
+      "        \n",
+      "class violet(red,blue):   #public multiple Derivation\n",
+      "    def __init__(self):\n",
+      "        red.__init__(self)\n",
+      "        blue.__init__(self)\n",
+      "        print \"=Violet\",\n",
+      "        \n",
+      "class reddishbrown(orange,violet):   #public multiple & multilevel Derivation\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        print \"=Reddishbrown\"\n",
+      "        \n",
+      "class yellowishbrown(green,orange):     #public multiple & multilevel Derivation\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        print \"=Yellowishbrown\"\n",
+      "        \n",
+      "class bluishbrown(violet,green):       #public multiple & multilevel Derivation\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        print \"=Bluishbrown\"\n",
+      "        \n",
+      "        \n",
+      "        \n",
+      "r=reddishbrown()   #create instances of the derived class\n",
+      "b=bluishbrown()\n",
+      "y=yellowishbrown()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Red Yellow =Orange Red Blue =Violet =Reddishbrown\n",
+        "Red Blue =Violet Blue Yellow =Green =Bluishbrown\n",
+        "Blue Yellow =Green Red Yellow =Orange =Yellowishbrown\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.10, Page Number:463"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# WAP to create a derived class from multiple base classes\n",
+      "\n",
+      "class PLAYER:               #these three are the base classes\n",
+      "    def __init__(self):\n",
+      "        self._name=None\n",
+      "        self._gender=None\n",
+      "        self._age\n",
+      "        \n",
+      "class PHYSIQUE(PLAYER):\n",
+      "    def __init__(self):\n",
+      "        self._height=None\n",
+      "        self._weight=None\n",
+      "        \n",
+      "class LOCATION:\n",
+      "    def __init__(self):\n",
+      "        self._city=None\n",
+      "        self._pin=None\n",
+      "        \n",
+      "class GAME(PHYSIQUE,LOCATION): #Multiple derivation\n",
+      "    def __init__(self):\n",
+      "        self._game=None\n",
+      "    def getdata(self):        #Method to take inputes\n",
+      "        print\"Enter the following information\\n\\n\"\n",
+      "        self._name=raw_input(\"Name:\")\n",
+      "        self._gender=raw_input(\"Gender:\")\n",
+      "        self._age=raw_input(\"Age:\")\n",
+      "        self._height=raw_input(\"Height:\")\n",
+      "        self._weight=raw_input(\"Weight:\")\n",
+      "        self._city=raw_input(\"City:\")\n",
+      "        self._pin=raw_input(\"Pin:\")\n",
+      "        self._game=raw_input(\"game:\")\n",
+      "        \n",
+      "        \n",
+      "        \n",
+      "    def show(self):           #Method for displaying inputes\n",
+      "        print\"Entered Information!!\"\n",
+      "        print\"Name:\",self._name\n",
+      "        print \"Gender:\",self._gender\n",
+      "        print \"Age:\",self._age\n",
+      "        print \"Height:\",self._height\n",
+      "        print \"Weight:\",self._weight\n",
+      "        print \"City :\",self._city\n",
+      "        print \"Pincode:\",self._pin\n",
+      "        print \"Game :\",self._game\n",
+      "        \n",
+      "        \n",
+      "G=GAME()                      #create an instance of the derived class\n",
+      "G.getdata()                  #call the public methods by the created instances\n",
+      "G.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the following information\n",
+        "\n",
+        "\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Mahesh\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Gender:M\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:25\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height:4.9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight:55\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "City:Nanded\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Pin:431603\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "game:Cricket\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entered Information!!\n",
+        "Name: Mahesh\n",
+        "Gender: M\n",
+        "Age: 25\n",
+        "Height: 4.9\n",
+        "Weight: 55\n",
+        "City : Nanded\n",
+        "Pincode: 431603\n",
+        "Game : Cricket\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.11, Page Number:467"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Multipath Inheritance,concept of virtual classes\n",
+      "\n",
+      "class A1:                   #Super base class\n",
+      "    def __init__(self):\n",
+      "        self._a1=None\n",
+      "        \n",
+      "class A2(A1):              #base class 1,inherites Super Base class\n",
+      "    def __init__(self):\n",
+      "        self._a2=None\n",
+      "        \n",
+      "class A3(A1):              #base class 2,inherites Super Base class\n",
+      "    def __init__(self):\n",
+      "        self._a3=None\n",
+      "        \n",
+      "class A4(A2,A3):          #derived class ,public derivation of both the base classes\n",
+      "    def __init__(self):\n",
+      "        self.__a4=None\n",
+      "        \n",
+      "    def get(self):\n",
+      "        print \"Enter the value of a1,a2,a3,and a4:\"\n",
+      "        self._a1=input()\n",
+      "        self._a2=input()\n",
+      "        self._a3=input()\n",
+      "        self.__a4=input()\n",
+      "        \n",
+      "    def put(self):\n",
+      "        print \"a1=\",self._a1,\"a2=\",self._a2,\"a3=\",self._a3,\"a4=\",self.__a4\n",
+      "        \n",
+      "        \n",
+      "        \n",
+      "a=A4()           #create the instance of the derived class\n",
+      "a.get()\n",
+      "a.put()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the value of a1,a2,a3,and a4:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a1= 5 a2= 8 a3= 7 a4= 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.12, Page Number:469"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#To show order of execution of the constructors and destructors in multiple inheritance\n",
+      "\n",
+      "#**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++\n",
+      "\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        print\"Zero argument Constructor of base class A\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print\"Destructor of class A\"\n",
+      "        \n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        print\"Zero argument Constructor of base class B\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "         print\"Destructor of class B\"\n",
+      "\n",
+      "class C(A,B):\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        print\"Zero argument Constructor of base class C\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print\"Destructor of class C\"\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__del__(self)\n",
+      "            \n",
+      "c=C()     #create instance of derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument Constructor of base class A\n",
+        "Zero argument Constructor of base class B\n",
+        "Zero argument Constructor of base class C\n",
+        "Destructor of class C\n",
+        "Destructor of class A\n",
+        "Destructor of class B\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.13, Page Number:471"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#WAP to use constructor and destructor in all the classess\n",
+      "\n",
+      "class A1:\n",
+      "    def __init__(self):                 #take name and age as input in super base class\n",
+      "        self._name=raw_input(\"Name:\")\n",
+      "        self._age=raw_input(\"Age:\")\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print\"Name:\",self._name\n",
+      "        print\"Age\",self._age\n",
+      "        \n",
+      "        \n",
+      "class A2(A1):                         #take height and weight as input in base base class,public derivation \n",
+      "    def __init__(self):\n",
+      "        A1.__init__(self)\n",
+      "        self._height=raw_input(\"Height:\")\n",
+      "        self._weight=raw_input(\"Weight:\")\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print\"Height:\",self._height\n",
+      "        print\"Weight:\",self._weight\n",
+      "        A1.__del__(self)\n",
+      "        \n",
+      "        \n",
+      "class A3(A2):                       #take sex as input in derived class,derived from class A2\n",
+      "    def __init__(self):\n",
+      "        A2.__init__(self)\n",
+      "        self.__sex=raw_input(\"Sex:\")\n",
+      "    def __del__(self):              #display all the input taken by all the base classes\n",
+      "        print\"Sex:\",self.__sex\n",
+      "        A2.__del__(self)\n",
+      "        \n",
+      "        \n",
+      "x=A3()    #create instance x of the class A3\n",
+      "\n",
+      "del x     #call the destructor"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Ajay\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:20\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height:4.5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight:40\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sex:M\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sex: M\n",
+        "Height: 4.5\n",
+        "Weight: 40\n",
+        "Name: Ajay\n",
+        "Age 20\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.14, Page Number:472"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#To create derived class from the base class,by constructor and destructor\n",
+      "class in_t:\n",
+      "    def __init__(self):\n",
+      "        self._i=1\n",
+      "        print\"Constructor in_t()\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print\"Destructor in_t()\"\n",
+      "        \n",
+      "class floa_t:\n",
+      "    def __init__(self):\n",
+      "        self._f=1.5\n",
+      "        print\"Constructor floa_t()\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print\"Destructor floa_t()\"\n",
+      "        \n",
+      "        \n",
+      "class cha_r(in_t,floa_t):    #multiple derivation\n",
+      "    def __init__(self):\n",
+      "        self._c='A'\n",
+      "        print\"Constructor cha_r()\"\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print\"i=\",self._i\n",
+      "        print \"f=\",self._f\n",
+      "        print \"c=\",self._c\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructing cha_r()\"\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__del__(self)\n",
+      "        \n",
+      "a=cha_r()   #create derived class instance and call the public method of the derived class\n",
+      "a.show()              #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor cha_r()\n",
+        "Constructor in_t()\n",
+        "Constructor floa_t()\n",
+        "i= 1\n",
+        "f= 1.5\n",
+        "c= A\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.15, Page Number:474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "        \n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        self.__y=None\n",
+      "        \n",
+      "    def set(self,j,k):\n",
+      "        self.x=j\n",
+      "        self.__y=k\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"X=\",self.x, \"Y=\",self.__y\n",
+      "        \n",
+      "        \n",
+      "i=II()\n",
+      "i.set(4,5)\n",
+      "i.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "X= 4 Y= 5\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.16, Page Number:475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        self.x=10\n",
+      "        print \"In the Base class constuctor\"\n",
+      "        \n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self)\n",
+      "        self.__y=None\n",
+      "        \n",
+      "i=II()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In the Base class constuctor\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.17, Page Number:475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#base class without constructor and derived class with constructor\n",
+      "class I:\n",
+      "    pass\n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        print \"In derived class constructor\"\n",
+      "        \n",
+      "i=II()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In derived class constructor\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.18, Page Number:476"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#both the class have constructor\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"In base class Constructor\"\n",
+      "        \n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self)\n",
+      "        print \"In derived Class constructor\"\n",
+      "        \n",
+      "i=II()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In base class Constructor\n",
+        "In derived Class constructor\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.19, Page Number:477"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#multiple constructor in base class and single constructor in the derived class\n",
+      "\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument base class construtor\"\n",
+      "        \n",
+      "    def __init__(self,k):\n",
+      "        self.x=None\n",
+      "        print \"One argument base class construtor\"\n",
+      "        \n",
+      "        \n",
+      "class II(I):\n",
+      "    def __init__(self,j,k=None):     #default constructor\n",
+      "        I.__init__(self,k)\n",
+      "        self.__y=j\n",
+      "        print \"One argument derived class constructor\"\n",
+      "        \n",
+      "i=II(2)    #create the instance of the base class by passing initial value "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "One argument base class construtor\n",
+        "One argument derived class constructor\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.20, Page Number:478"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#base and derived class without default constructor\n",
+      "class I:\n",
+      "    def __init__(self,k):\n",
+      "        self.x=k\n",
+      "        print \"One argument base class construtor\"\n",
+      "        \n",
+      "class II(I):\n",
+      "    def __init__(self,j):\n",
+      "        I.__init__(self,j)\n",
+      "        self.__y=j\n",
+      "        print \"One argument derived class construtor\"\n",
+      "        \n",
+      "i=II(2)        #create the instance of the base class by passing initial value "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "One argument base class construtor\n",
+        "One argument derived class construtor\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.21, Page Number:479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constructors and multiple inheritance\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "        \n",
+      "class II:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II,I):   #class III inhrites class II and I\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self) \n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III()    #create an instance of the base class\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.22, Page Number:480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constructors in multiple inhritance with invoking constructor of the base classes\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "        \n",
+      "class II:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II,I):\n",
+      "    def __init__(self):\n",
+      "        II.__init__(self)\n",
+      "        I.__init__(self)\n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III()\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.23, Page Number:481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#multiple inheritance,invoking the base classes explicitly\n",
+      "\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "        \n",
+      "class II:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II,I): #Class I is virtually inherited so its constructor called first\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self)\n",
+      "        II.__init__(self)\n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III()\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.24, Page Number:482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#multilevel Inheritance,observation of the execution of the constructors\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "        \n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self)\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II): #Class I is virtually inherited so its constructor called first\n",
+      "    def __init__(self):\n",
+      "        II.__init__(self)\n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.25, Page Number:484"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#use object of one class in  another class as a member\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        self.x=20\n",
+      "        print \"Constructor of class I\"\n",
+      "        \n",
+      "class II:\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.k=30\n",
+      "        y=I()\n",
+      "        print \"Constructor of class II\"\n",
+      "        print \"x=\",y.x #print here because it become local variable in this scope only,it not visible to def show\n",
+      "        \n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"k=\",self.k\n",
+      "        \n",
+      "ii=II()\n",
+      "ii.show()    #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class I\n",
+        "Constructor of class II\n",
+        "x= 20\n",
+        "k= 30\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.26, Page Number:484"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#access a member variable of base class using object,class name, and direct\n",
+      "\n",
+      "class A1:\n",
+      "    def __init__(self):\n",
+      "        self.name=None\n",
+      "        self.age=None\n",
+      "        \n",
+      "class A2(A1):\n",
+      "    def __init__(self):\n",
+      "        A1.__init__(self)\n",
+      "        a=A1()\n",
+      "        print \"Access using name of the class:\"\n",
+      "        A1.name=raw_input(\"Name:\")\n",
+      "        A1.age=raw_input(\"Age:\")\n",
+      "        \n",
+      "        print \"Access using object of the class\"\n",
+      "        a.name=raw_input(\"Name:\")\n",
+      "        a.age=raw_input(\"Age:\")\n",
+      "        \n",
+      "        print \"Access using direct member variables:\"\n",
+      "        self.name=raw_input(\"Name:\")\n",
+      "        self.age=raw_input(\"Age:\")\n",
+      "        self.__height=raw_input(\"Height:\")\n",
+      "        self.__weight=raw_input(\"Weight:\")\n",
+      "        \n",
+      "        print \"Display using object of the class\"  #since object of class A1 has scope in constructor method so we can access it only \n",
+      "        print \"Name:\",a.name                       #  within this method.It is not visible in destructor function.\n",
+      "        print \"Age:\",a.age\n",
+      "        \n",
+      "            \n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of Derived class\"\n",
+      "        print \"Display using class name\"\n",
+      "        print \"Name:\",A1.name\n",
+      "        print \"Age:\",A1.age\n",
+      "        \n",
+      "        print \"Display using direct member variable\"\n",
+      "        print \"Name:\",self.name\n",
+      "        print \"Age\",self.age\n",
+      "        print \"height:\",self.__height\n",
+      "        print \"Weight:\",self.__weight\n",
+      "        \n",
+      "x=A2()\n",
+      "\n",
+      "del x\n",
+      "        "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Access using name of the class:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Ajay\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:21\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Access using object of the class\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Amit\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:20\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Access using direct member variables:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Arun\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:19\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height:5.5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight:31\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Display using object of the class\n",
+        "Name: Amit\n",
+        "Age: 20\n",
+        "Destructor of Derived class\n",
+        "Display using class name\n",
+        "Name: Ajay\n",
+        "Age: 21\n",
+        "Display using direct member variable\n",
+        "Name: Arun\n",
+        "Age 19\n",
+        "height: 5.5\n",
+        "Weight: 31\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.27, Page Number:488"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#derive a class from two base classes,object of these 2 classes is the member variable of the third class\n",
+      "\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.a1=None\n",
+      "        \n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        self.b1=None\n",
+      "        \n",
+      "class AB:\n",
+      "    def __init__(self):\n",
+      "        a=A()\n",
+      "        b=B()\n",
+      "        a.a1=65     #initialize the two data members of the class A and B and Display them\n",
+      "        b.b1=66\n",
+      "        print \"a1=\",a.a1, \"b1=\",b.b1\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        pass\n",
+      "    \n",
+      "    \n",
+      "ab=AB()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a1= 65 b1= 66\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.28, Page Number:489"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#create derived class from qualifier class\n",
+      "\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "        \n",
+      "    class B:\n",
+      "        def __init__(self):\n",
+      "            self.y=None\n",
+      "            \n",
+      "            \n",
+      "class C(A,A.B): #A.B is the inner class of the class A\n",
+      "    def __init__(self,j,k,l):\n",
+      "        self.x=j\n",
+      "        self.y=k\n",
+      "        self.z=l\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"x=\",self.x,\"y=\",self.y,\"z=\",self.z\n",
+      "        \n",
+      "        \n",
+      "c=C(4,7,1)\n",
+      "c.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 4 y= 7 z= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.29, Page Number:490"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialize member variable of the base class and derived class using constructor of the derived class\n",
+      "\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self._x=None     #protected members\n",
+      "        self._y=None\n",
+      "        \n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        self.z=3\n",
+      "        self.__x=1     #private members\n",
+      "        self.__y=2\n",
+      "        \n",
+      "        print \"x=\",self.__x,\"y=\",self.__y,\"z=\",self.z\n",
+      "        \n",
+      "b=B()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 1 y= 2 z= 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.30, Page Number:491"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#access data members by object pointer\n",
+      "\n",
+      "from ctypes import *\n",
+      "import ctypes\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=1\n",
+      "        self.y=2\n",
+      "        \n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        A.__init__(self)\n",
+      "        self.z=3\n",
+      "        \n",
+      "b=B()\n",
+      "\n",
+      "\n",
+      "i=c_int(b.z)\n",
+      "p=pointer(i)\n",
+      "print \"Address of z:\",addressof(p),\"Value of Z:\",p[0] #access the\n",
+      "\n",
+      "i = c_int(b.y)\n",
+      "p = pointer(i)\n",
+      "print \"Address of y:\",addressof(p),\"Value of y:\",p[0]  \n",
+      "\n",
+      "i = c_int(b.x)\n",
+      "p = pointer(i)\n",
+      "print \"Address of x:\",addressof(p),\"Value of x:\",p[0]  \n",
+      "\n",
+      "#**NOTE-In case of C++ the data members of the derived class and base class are stored in contigious memory locations so we can \n",
+      "#access the three variables by using a pointer of derived class and decrementing its value. But in case of Python they are NOT stored \n",
+      "#in contogious memory locations so for accessing each data member we have to create individual object pointer for each class."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Address of z: 57077392 Value of Z: 3\n",
+        "Address of y: 57074448 Value of y: 2\n",
+        "Address of x: 57077648 Value of x: 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.31, Page Number:492"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#overload member function in base and derived class\n",
+      "\n",
+      "class B:\n",
+      "    def show(self):\n",
+      "        print \"In base class function\"\n",
+      "        \n",
+      "class D(B):\n",
+      "    def show(self):\n",
+      "        \n",
+      "        print \"In Derived class\"\n",
+      "    \n",
+      "    \n",
+      "b=B()\n",
+      "d=D()\n",
+      "\n",
+      "b.show()\n",
+      "d.show()\n",
+      "\n",
+      "bp=[B()]  #create a base class pointer variable\n",
+      "bp[0]=d   #assign address of the derived class object to the base class pointer\n",
+      "bp[0].show()  #call the derived class method by base class pointer\n",
+      "b.show()  #calling the base class method by base class object"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In base class function\n",
+        "In Derived class\n",
+        "In Derived class\n",
+        "In base class function\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.32, Page Number:495"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constuctor and destructors in single inheritance\n",
+      "class Father:\n",
+      "    def __init__(self):\n",
+      "        print \"Base Class constructor.\"\n",
+      "        self._name=raw_input(\"Enter Father Name:\")\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Base class Destructor.\"\n",
+      "        \n",
+      "class Child(Father):\n",
+      "    def __init__(self):\n",
+      "        Father.__init__(self)\n",
+      "        print \"Derived class constructor.\"\n",
+      "        self.__cname=raw_input(\"Enter child name:\")\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Derived class destructor.\"\n",
+      "        print \"\",self.__cname,\"\",self.__name\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__del__(self)\n",
+      "       \n",
+      "        \n",
+      "        \n",
+      "C=Child()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Base Class constructor.\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Father Name:Manoj\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Derived class constructor.\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter child name:Sanjay\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Derived class destructor.\n",
+        " Sanjay  Manoj\n",
+        "Base class Destructor.\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.33, Page Number:496"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constuctor and destructors in multilevel inheritance\n",
+      "\n",
+      "class Grandfather:\n",
+      "    def __init__(self):\n",
+      "        print\"Constructor of class grandfather\"\n",
+      "        self._gname=raw_input(\"Enter Grandfather Name:\")\n",
+      "        \n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class grandfather\"\n",
+      "        \n",
+      "        \n",
+      "class Father(Grandfather):\n",
+      "    def __init__(self):\n",
+      "        Grandfather.__init__(self)\n",
+      "        print\"Constructor of class Father\"\n",
+      "        self._name=raw_input(\"Enter Father Name:\")\n",
+      "        \n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class Father\"\n",
+      "        Grandfather.__del__(self)\n",
+      "        \n",
+      "class Child(Father):\n",
+      "    def __init__(self):\n",
+      "        Father.__init__(self)\n",
+      "        print\"Constructor of class Child\"\n",
+      "        self.__cname=raw_input(\"Enter Child Name:\")\n",
+      "        \n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class Child\"\n",
+      "        print \"Grandfather:\",self._gname,\"Father:\",self._name,\"Child:\",self.__cname\n",
+      "        Father.__del__(self) \n",
+      "            \n",
+      "  \n",
+      "C=Child()\n",
+      "\n",
+      "del C   #call the destructor of the derived class\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class grandfather\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Grandfather Name:x\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class Father\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Father Name:y\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class Child\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Child Name:z\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Destructor of class Child\n",
+        "Grandfather: x Father: y Child: z\n",
+        "Destructor of class Father\n",
+        "Destructor of class grandfather\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.34, Page Number:498"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#program to explain multilevel inheritance with member function\n",
+      "class Grandfather:\n",
+      "    def __init__(self):\n",
+      "        self.__gname=None\n",
+      "        \n",
+      "    def getg(self):\n",
+      "        self.__gname=raw_input(\"Enter Grandfather Name:\")\n",
+      "        \n",
+      "    def showg(self):\n",
+      "        print \"Grandfather Name:\",self.__gname\n",
+      "        \n",
+      "        \n",
+      "class Father(Grandfather):\n",
+      "    def __init__(self):\n",
+      "        self.__name=None\n",
+      "        \n",
+      "    def getf(self):\n",
+      "        self.__name=raw_input(\"Enter Father Name:\")\n",
+      "        \n",
+      "    def showf(self):\n",
+      "        print \"Father Name:\",self.__name\n",
+      "        \n",
+      "        \n",
+      "class Child(Father):\n",
+      "    def __init__(self):\n",
+      "        self.__cname=None\n",
+      "        \n",
+      "    def getc(self):\n",
+      "        self.getg()\n",
+      "        self.getf()\n",
+      "        self.__cname=raw_input(\"Enter Child Name:\")\n",
+      "        \n",
+      "    def showc(self):\n",
+      "        self.showg()\n",
+      "        self.showf()\n",
+      "        print \"child Name:\",self.__cname\n",
+      "        \n",
+      "C=Child()\n",
+      "C.getc()\n",
+      "C.showc()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Grandfather Name:XXX\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Father Name:YYY\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Child Name:ZZZ\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Grandfather Name: XXX\n",
+        "Father Name: YYY\n",
+        "child Name: ZZZ\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.35, Page Number:499"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#execution of constructor and destructor in multilevel inheritance\n",
+      "\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class A\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class A\"\n",
+      "        \n",
+      "        \n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class B\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class B\"\n",
+      "        \n",
+      "class C:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class C\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class C\"\n",
+      "    \n",
+      "    \n",
+      "class D(A,B,C):\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self) \n",
+      "        print \"Constructor of class D\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class D\"\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__del__(self)\n",
+      "            \n",
+      "x=D()      \n",
+      "         #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class A\n",
+        "Constructor of class B\n",
+        "Constructor of class C\n",
+        "Constructor of class D\n",
+        "Destructor of class D\n",
+        "Destructor of class A\n",
+        "Destructor of class B\n",
+        "Destructor of class C\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.37, Page Number:502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#execution of constructor and destructor in multilevel inheritance\n",
+      "\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class A\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class A\"\n",
+      "        \n",
+      "        \n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        A.__init__(self)\n",
+      "        print \"Constructor of class B\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class B\"\n",
+      "        A.__del__(self)\n",
+      "        \n",
+      "class C:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class C\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class C\"\n",
+      "    \n",
+      "    \n",
+      "class D(B,C):\n",
+      "    def __init__(self):\n",
+      "        B.__init__(self)\n",
+      "        C.__init__(self)\n",
+      "        print \"Constructor of class D\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class D\"\n",
+      "        B.__del__(self)\n",
+      "        C.__del__(self)\n",
+      "            \n",
+      "x=D() \n",
+      "del x\n",
+      "         #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class A\n",
+        "Constructor of class B\n",
+        "Constructor of class C\n",
+        "Constructor of class D\n",
+        "Destructor of class D\n",
+        "Destructor of class B\n",
+        "Destructor of class A\n",
+        "Destructor of class C\n"
+       ]
+      }
+     ],
+     "prompt_number": 54
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.37, Page Number:502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrate single inheritance\n",
+      "\n",
+      "class A:\n",
+      "    def __init__(self,j=0):\n",
+      "        self._c=j\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"c=\",self._c\n",
+      "        \n",
+      "    def inc(self):\n",
+      "        self._c=self._c+1\n",
+      "        return self._c\n",
+      "    \n",
+      "class B(A):\n",
+      "    \n",
+      "    def __init_(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        \n",
+      "    def dec(self):\n",
+      "        self._c=self._c-1\n",
+      "        return self._c\n",
+      "    \n",
+      "    \n",
+      "a=B()\n",
+      "a.inc()\n",
+      "a.show()\n",
+      "\n",
+      "\n",
+      "a.dec()\n",
+      "a.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "c= 1\n",
+        "c= 0\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.38, Page Number:502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#access method from private inheritance\n",
+      "class B:\n",
+      "    def one(self):\n",
+      "        print \"one\"\n",
+      "        \n",
+      "    def __two(self):\n",
+      "        print \"two\"\n",
+      "        \n",
+      "class D(B):\n",
+      "    def __init__(self):\n",
+      "       pass\n",
+      "        \n",
+      "d=D()\n",
+      "d.one()\n",
+      "#d.two()    #Not accesible"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "one\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.39, Page Number:503"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#create a comman constructor in the lowermost class, in the multilevel inheritance\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "        \n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        self.y=None\n",
+      "        \n",
+      "class C(B):\n",
+      "    def __init__(self,j,k,l):\n",
+      "        self.z=l\n",
+      "        self.x=j\n",
+      "        self.y=k\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"x=\",self.x,\"Y=\",self.y,\"z=\",self.z\n",
+      "        \n",
+      "c=C(4,7,1)\n",
+      "c.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 4 Y= 7 z= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 46
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.40, Page Number:504"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Explicitly call the base constructor  in multiple inheritance\n",
+      "\n",
+      "class X:\n",
+      "    def __init__(self,a):\n",
+      "        print a,\n",
+      "        \n",
+      "class Y:\n",
+      "    def __init__(self,b):\n",
+      "        print b,\n",
+      "        \n",
+      "class Z(X,Y):\n",
+      "    def __init__(self,p,q,r):\n",
+      "        X.__init__(self,p)\n",
+      "        Y.__init__(self,q)\n",
+      "        print r\n",
+      "        \n",
+      "        \n",
+      "z=Z(1,2,3)\n",
+      "        "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1 2 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 47
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_2.ipynb b/sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_2.ipynb
new file mode 100755
index 00000000..d92c896a
--- /dev/null
+++ b/sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_2.ipynb	
@@ -0,0 +1,2661 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:4d2b31f88da13c65a205238b2aa0d40205b037d2cf9c5ea74665d1d4bd106552"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.1, Page Number:444"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Public Derivation of a class\n",
+      "class A:                  #Base class\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "\n",
+      "      \n",
+      "class B(A):              #derived class\n",
+      "    def __init__(self):\n",
+      "        self.y=None\n",
+      "        \n",
+      "b=B()              #declaration of object\n",
+      "b.x=20\n",
+      "b.y=30\n",
+      "\n",
+      "print 'member of A:',b.x\n",
+      "print 'Member of B:',b.y"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "member of A: 20\n",
+        "Member of B: 30\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.2, Page Number:445"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Base class\n",
+      "class A:                       #Base class\n",
+      "    def __init__(self):        #class A having x as a private data member\n",
+      "        self.__x=20\n",
+      "    \n",
+      "    def showx(self):\n",
+      "        print \"x=\",self.__x\n",
+      "        \n",
+      "#derived class       \n",
+      "class B(A):                     #Derived class\n",
+      "    def __init__(self):\n",
+      "        self.y=30             #class B having y as a public data member\n",
+      "        \n",
+      "    def show(self):\n",
+      "        a=A()\n",
+      "        a.showx()\n",
+      "        print \"y=\",self.y\n",
+      "        \n",
+      "        \n",
+      "b=B()                          #declaration of object\n",
+      "                                \n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 20\n",
+        "y= 30\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.3, Page Number:447"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#base class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=None        #x is a public member\n",
+      "        \n",
+      "        \n",
+      "#derived class\n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        self.y=40             \n",
+      "        A.__x=20            #since it is privately inherites base class ,x become private member of it\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"x=\",A.__x\n",
+      "        print \"y=\",self.y\n",
+      "         \n",
+      "b=B()                        #declaration of object\n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 20\n",
+        "y= 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.4, Page Number:448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#derivation of a class privately\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.__x=20        \n",
+      "        \n",
+      "    def showx(self):          \n",
+      "        print \"x=\",self.__x\n",
+      "        \n",
+      "#derived class        \n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        self.y=40           \n",
+      "        \n",
+      "    def show(self):\n",
+      "        a=A()\n",
+      "        a.showx()          #call the base class method\n",
+      "        print \"y=\",self.y\n",
+      "        \n",
+      "        \n",
+      "b=B()\n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 20\n",
+        "y= 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.5, Page Number:449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self._x=None      #x is a protected member of the base class\n",
+      "        \n",
+      "        \n",
+      "class B(A):              #private inheritance,x become a private member of the derived class\n",
+      "    def __init__(self):\n",
+      "        self.y=40\n",
+      "        self.__x=30\n",
+      "    \n",
+      "    \n",
+      "    def show(self):   #method to display all the values of all the data memeber\n",
+      "        print \"x=\",self.__x\n",
+      "        print \"y=\",self.y\n",
+      "        \n",
+      " #declaration of object        \n",
+      "b=B()\n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 30\n",
+        "y= 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.6, Page Number:456"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class ABC:                 #Base class\n",
+      "    def __init__(self):\n",
+      "        self._name=None  #these 2 are protected data member\n",
+      "        self._age=None\n",
+      "        \n",
+      "class abc(ABC):          #Derived class ,Public derivation\n",
+      "    def __init__(self):\n",
+      "        self.height=None\n",
+      "        self.weight=None\n",
+      "        \n",
+      "    def getdata(self):\n",
+      "       \n",
+      "        self.name=raw_input(\"Enter a name: \")     #take inputes to all the data members \n",
+      "        self.age=raw_input(\"Enter a age: \")  \n",
+      "        self._height=raw_input(\"Enter a Height: \")  \n",
+      "        self._weight=raw_input(\"Enter a Weight: \")  \n",
+      "        \n",
+      "    def show(self):                               #display the value of data members\n",
+      "        print 'Name:',self.name \n",
+      "        print 'Age:',self.age,\"years\"\n",
+      "        print 'Height:',self._height,\"Feets\"\n",
+      "        print 'Weight:',self._weight,\"kg.\"\n",
+      "        \n",
+      "        \n",
+      "x=abc()\n",
+      "x.getdata()\n",
+      "x.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a name: Santosh\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a age: 24\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a Height: 4.5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a Weight: 50\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name: Santosh\n",
+        "Age: 24 years\n",
+        "Height: 4.5 Feets\n",
+        "Weight: 50 kg.\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.7, Page Number:458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class A1:                 #super Base class,have 2 protected data members\n",
+      "    def __init__(self):\n",
+      "        self._name=None\n",
+      "        self._age=None\n",
+      "\n",
+      "        \n",
+      "class A2(A1):            #Public derivation\n",
+      "    def __init(self):\n",
+      "        self._height=None\n",
+      "        self._weight=None\n",
+      "\n",
+      "class A3(A2):           #public Derivation\n",
+      "    def __init__(self):\n",
+      "        self._sex=None\n",
+      "        \n",
+      "        \n",
+      "    def get(self):        #get input \n",
+      "        self._name=raw_input(\"Name: \")\n",
+      "        self._age=raw_input(\"Age: \")\n",
+      "        self._sex=raw_input(\"Sex: \")\n",
+      "        \n",
+      "        self._height=raw_input(\"Height: \")\n",
+      "        self._weight=raw_input(\"Weight: \")\n",
+      "        \n",
+      "    def show(self):       #Display values of all the data members\n",
+      "        print \"Name:\",self._name\n",
+      "        print \"Age:\",self._age ,\"years\"\n",
+      "        print \"Sex:\",self._sex\n",
+      "        print \"Height:\",self._height ,\"Feet\"\n",
+      "        print \"Weight:\",self._weight ,\"Kg.\"\n",
+      "        \n",
+      "\n",
+      "x=A3()\n",
+      "x.get()\n",
+      "x.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name: Balaji\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age: 26\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sex: M\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height: 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight: 49.5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name: Balaji\n",
+        "Age: 26 years\n",
+        "Sex: M\n",
+        "Height: 4 Feet\n",
+        "Weight: 49.5 Kg.\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.8, Page Number:459"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Example of multiple Inheritance\n",
+      "#Base1 class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self._a=None\n",
+      "#Base2 class\n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        self._b=None\n",
+      "#Base3 class\n",
+      "class C:\n",
+      "    def __init__(self):\n",
+      "        self._c=None\n",
+      "#Base4 class        \n",
+      "class D:\n",
+      "    def __init__(self):\n",
+      "        self._d=None\n",
+      "#derived class,multiple derivation\n",
+      "class E(A,B,C,D):   #inherites all the base classes publically\n",
+      "    def __init__(self):\n",
+      "        self.e=None\n",
+      "        \n",
+      "    def getdata(self): #member method to take input for all the data members \n",
+      "        print \"Enter the value of a,b,c &d &e:\"\n",
+      "        self._a=input()\n",
+      "        self._b=input()\n",
+      "        self._c=input()\n",
+      "        self._d=input()\n",
+      "        self._e=input()\n",
+      "        \n",
+      "    def show(self):  #member method to display for all the data members \n",
+      "        print\"a=\",self._a,\"b=\",self._b,\"c=\",self._c,\"d=\",self._d,\"e=\",self._e\n",
+      "        \n",
+      "        \n",
+      "x=E()          #x is the instance of the derived class\n",
+      "x.getdata()    #call the methods of derived class through x \n",
+      "x.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the value of a,b,c &d &e:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "16\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a= 1 b= 2 c= 4 d= 8 e= 16\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.9, Page Number:461"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class red:                #these three base class\n",
+      "    def __init__(self):\n",
+      "        print \"Red\",\n",
+      "        \n",
+      "class yellow:\n",
+      "    def __init__(self):\n",
+      "        print \"Yellow\",\n",
+      "        \n",
+      "class blue:\n",
+      "    def __init__(self):\n",
+      "        print \"Blue\",\n",
+      "        \n",
+      "class orange(red,yellow):  #public multiple Derivation\n",
+      "    def __init__(self):\n",
+      "        red.__init__(self)\n",
+      "        yellow.__init__(self)\n",
+      "        print \"=Orange\",\n",
+      "        \n",
+      "class green(blue,yellow):  #public multiple Derivation\n",
+      "    def __init__(self):\n",
+      "        blue.__init__(self)\n",
+      "        yellow.__init__(self)\n",
+      "        print \"=Green\",\n",
+      "        \n",
+      "class violet(red,blue):   #public multiple Derivation\n",
+      "    def __init__(self):\n",
+      "        red.__init__(self)\n",
+      "        blue.__init__(self)\n",
+      "        print \"=Violet\",\n",
+      "        \n",
+      "class reddishbrown(orange,violet):   #public multiple & multilevel Derivation\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        print \"=Reddishbrown\"\n",
+      "        \n",
+      "class yellowishbrown(green,orange):     #public multiple & multilevel Derivation\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        print \"=Yellowishbrown\"\n",
+      "        \n",
+      "class bluishbrown(violet,green):       #public multiple & multilevel Derivation\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        print \"=Bluishbrown\"\n",
+      "        \n",
+      "        \n",
+      "        \n",
+      "r=reddishbrown()   #create instances of the derived class\n",
+      "b=bluishbrown()\n",
+      "y=yellowishbrown()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Red Yellow =Orange Red Blue =Violet =Reddishbrown\n",
+        "Red Blue =Violet Blue Yellow =Green =Bluishbrown\n",
+        "Blue Yellow =Green Red Yellow =Orange =Yellowishbrown\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.10, Page Number:463"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# WAP to create a derived class from multiple base classes\n",
+      "\n",
+      "class PLAYER:               #these three are the base classes\n",
+      "    def __init__(self):\n",
+      "        self._name=None\n",
+      "        self._gender=None\n",
+      "        self._age\n",
+      "        \n",
+      "class PHYSIQUE(PLAYER):\n",
+      "    def __init__(self):\n",
+      "        self._height=None\n",
+      "        self._weight=None\n",
+      "        \n",
+      "class LOCATION:\n",
+      "    def __init__(self):\n",
+      "        self._city=None\n",
+      "        self._pin=None\n",
+      "        \n",
+      "class GAME(PHYSIQUE,LOCATION): #Multiple derivation\n",
+      "    def __init__(self):\n",
+      "        self._game=None\n",
+      "    def getdata(self):        #Method to take inputes\n",
+      "        print\"Enter the following information\\n\\n\"\n",
+      "        self._name=raw_input(\"Name:\")\n",
+      "        self._gender=raw_input(\"Gender:\")\n",
+      "        self._age=raw_input(\"Age:\")\n",
+      "        self._height=raw_input(\"Height:\")\n",
+      "        self._weight=raw_input(\"Weight:\")\n",
+      "        self._city=raw_input(\"City:\")\n",
+      "        self._pin=raw_input(\"Pin:\")\n",
+      "        self._game=raw_input(\"game:\")\n",
+      "        \n",
+      "        \n",
+      "        \n",
+      "    def show(self):           #Method for displaying inputes\n",
+      "        print\"Entered Information!!\"\n",
+      "        print\"Name:\",self._name\n",
+      "        print \"Gender:\",self._gender\n",
+      "        print \"Age:\",self._age\n",
+      "        print \"Height:\",self._height\n",
+      "        print \"Weight:\",self._weight\n",
+      "        print \"City :\",self._city\n",
+      "        print \"Pincode:\",self._pin\n",
+      "        print \"Game :\",self._game\n",
+      "        \n",
+      "        \n",
+      "G=GAME()                      #create an instance of the derived class\n",
+      "G.getdata()                  #call the public methods by the created instances\n",
+      "G.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the following information\n",
+        "\n",
+        "\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Mahesh\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Gender:M\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:25\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height:4.9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight:55\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "City:Nanded\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Pin:431603\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "game:Cricket\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entered Information!!\n",
+        "Name: Mahesh\n",
+        "Gender: M\n",
+        "Age: 25\n",
+        "Height: 4.9\n",
+        "Weight: 55\n",
+        "City : Nanded\n",
+        "Pincode: 431603\n",
+        "Game : Cricket\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.11, Page Number:467"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Multipath Inheritance,concept of virtual classes\n",
+      "\n",
+      "class A1:                   #Super base class\n",
+      "    def __init__(self):\n",
+      "        self._a1=None\n",
+      "        \n",
+      "class A2(A1):              #base class 1,inherites Super Base class\n",
+      "    def __init__(self):\n",
+      "        self._a2=None\n",
+      "        \n",
+      "class A3(A1):              #base class 2,inherites Super Base class\n",
+      "    def __init__(self):\n",
+      "        self._a3=None\n",
+      "        \n",
+      "class A4(A2,A3):          #derived class ,public derivation of both the base classes\n",
+      "    def __init__(self):\n",
+      "        self.__a4=None\n",
+      "        \n",
+      "    def get(self):\n",
+      "        print \"Enter the value of a1,a2,a3,and a4:\"\n",
+      "        self._a1=input()\n",
+      "        self._a2=input()\n",
+      "        self._a3=input()\n",
+      "        self.__a4=input()\n",
+      "        \n",
+      "    def put(self):\n",
+      "        print \"a1=\",self._a1,\"a2=\",self._a2,\"a3=\",self._a3,\"a4=\",self.__a4\n",
+      "        \n",
+      "        \n",
+      "        \n",
+      "a=A4()           #create the instance of the derived class\n",
+      "a.get()\n",
+      "a.put()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the value of a1,a2,a3,and a4:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a1= 5 a2= 8 a3= 7 a4= 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.12, Page Number:469"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#To show order of execution of the constructors and destructors in multiple inheritance\n",
+      "\n",
+      "#Base1 class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        print\"Zero argument Constructor of base class A\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print\"Destructor of class A\"\n",
+      "#Base2 class   \n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        print\"Zero argument Constructor of base class B\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "         print\"Destructor of class B\"\n",
+      "#derived class,multiple derivation\n",
+      "class C(A,B):\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__: #invocation of the constructor of all the base classes\n",
+      "            b.__init__(self)\n",
+      "        print\"Zero argument Constructor of base class C\"\n",
+      "        \n",
+      "    def __del__(self): \n",
+      "        print\"Destructor of class C\"\n",
+      "        for b in self.__class__.__bases__: #invocation of the destructor of all the base classes\n",
+      "            b.__del__(self)\n",
+      "            \n",
+      "c=C()     #create instance of derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument Constructor of base class A\n",
+        "Zero argument Constructor of base class B\n",
+        "Zero argument Constructor of base class C\n",
+        "Destructor of class C\n",
+        "Destructor of class A\n",
+        "Destructor of class B\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.13, Page Number:471"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#WAP to use constructor and destructor in all the classess\n",
+      "\n",
+      "class A1:\n",
+      "    def __init__(self):                 #take name and age as input in super base class\n",
+      "        self._name=raw_input(\"Name:\")\n",
+      "        self._age=raw_input(\"Age:\")\n",
+      "        \n",
+      "    def __del__(self):                  #show name and age as input in super base class\n",
+      "        print\"Name:\",self._name\n",
+      "        print\"Age\",self._age\n",
+      "        \n",
+      "        \n",
+      "class A2(A1):                         #take height and weight as input in base base class,public derivation \n",
+      "    def __init__(self):\n",
+      "        A1.__init__(self)\n",
+      "        self._height=raw_input(\"Height:\")\n",
+      "        self._weight=raw_input(\"Weight:\")\n",
+      "        \n",
+      "    def __del__(self):              #show height and weight as input in base base class,public derivation \n",
+      "        print\"Height:\",self._height\n",
+      "        print\"Weight:\",self._weight\n",
+      "        A1.__del__(self)\n",
+      "        \n",
+      "        \n",
+      "class A3(A2):                       #take sex as input in derived class,derived from class A2\n",
+      "    def __init__(self):\n",
+      "        A2.__init__(self)\n",
+      "        self.__sex=raw_input(\"Sex:\")\n",
+      "    def __del__(self):              #display all the input taken by all the base classes\n",
+      "        print\"Sex:\",self.__sex\n",
+      "        A2.__del__(self)\n",
+      "        \n",
+      "        \n",
+      "x=A3()    #create instance x of the class A3\n",
+      "\n",
+      "del x     #call the destructor"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Ajay\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:20\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height:4.5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight:40\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sex:M\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sex: M\n",
+        "Height: 4.5\n",
+        "Weight: 40\n",
+        "Name: Ajay\n",
+        "Age 20\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.14, Page Number:472"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#To create derived class from the base class,by constructor and destructor\n",
+      "#Base1 class\n",
+      "class in_t:\n",
+      "    def __init__(self): #constructor of base1 class\n",
+      "        self._i=1\n",
+      "        print\"Constructor in_t()\"\n",
+      "        \n",
+      "    def __del__(self):  #destructor of base1 class\n",
+      "        print\"Destructor in_t()\"\n",
+      "\n",
+      "#Base2 class\n",
+      "class floa_t:\n",
+      "    def __init__(self): #constructor of base2 class\n",
+      "        self._f=1.5\n",
+      "        print\"Constructor floa_t()\"\n",
+      "        \n",
+      "    def __del__(self): #destructor of base2 class\n",
+      "        print\"Destructor floa_t()\"\n",
+      "        \n",
+      "#Derived class        \n",
+      "class cha_r(in_t,floa_t):    #multiple derivation\n",
+      "    def __init__(self):\n",
+      "        self._c='A'\n",
+      "        print\"Constructor cha_r()\"\n",
+      "        for b in self.__class__.__bases__: #invocation of the base class constructors\n",
+      "            b.__init__(self)\n",
+      "        \n",
+      "    def show(self):   #member method to show all the data member \n",
+      "        print\"i=\",self._i\n",
+      "        print \"f=\",self._f\n",
+      "        print \"c=\",self._c\n",
+      "        \n",
+      "    def __del__(self): #Destructor of the derived cladd\n",
+      "        print \"Destructing cha_r()\"\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__del__(self)\n",
+      "        \n",
+      "a=cha_r()   #create derived class instance and call the public method of the derived class\n",
+      "a.show()              #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor cha_r()\n",
+        "Constructor in_t()\n",
+        "Constructor floa_t()\n",
+        "i= 1\n",
+        "f= 1.5\n",
+        "c= A\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.15, Page Number:474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Base class\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "#derived class        \n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        self.__y=None #private member of the classII\n",
+      "        \n",
+      "    def set(self,j,k): #Parametrized constructor \n",
+      "        self.x=j\n",
+      "        self.__y=k\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"X=\",self.x, \"Y=\",self.__y\n",
+      "        \n",
+      "        \n",
+      "i=II()  #creation of instance of the Derived class\n",
+      "i.set(4,5) #invocation of the derived class member method by instance of the derived class\n",
+      "i.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "X= 4 Y= 5\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.16, Page Number:475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Base class\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        self.x=10\n",
+      "        print \"In the Base class constuctor\"\n",
+      "#Derived class\n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self) #invocation of the base class constructor\n",
+      "        self.__y=None\n",
+      "        \n",
+      "i=II() #instance of the derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In the Base class constuctor\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.17, Page Number:475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#base class without constructor and derived class with constructor\n",
+      "class I:\n",
+      "    pass #Empty body of the base class\n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        print \"In derived class constructor\"\n",
+      "        \n",
+      "i=II()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In derived class constructor\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.18, Page Number:476"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#both the class have constructor\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"In base class Constructor\"\n",
+      "#Derived class        \n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self)#invocation of the base class constructor\n",
+      "        print \"In derived Class constructor\"\n",
+      "        \n",
+      "i=II()#instance of the derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In base class Constructor\n",
+        "In derived Class constructor\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.19, Page Number:477"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#multiple constructor in base class and single constructor in the derived class\n",
+      "#Base class\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument base class construtor\"\n",
+      "        \n",
+      "    def __init__(self,k): #parametrized constructor\n",
+      "        self.x=None\n",
+      "        print \"One argument base class construtor\"\n",
+      "        \n",
+      "#Derived class        \n",
+      "class II(I):\n",
+      "    def __init__(self,j,k=None):     #default constructor\n",
+      "        I.__init__(self,k)\n",
+      "        self.__y=j\n",
+      "        print \"One argument derived class constructor\"\n",
+      "        \n",
+      "i=II(2)    #create the instance of the base class by passing initial value "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "One argument base class construtor\n",
+        "One argument derived class constructor\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.20, Page Number:478"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#base and derived class without default constructor\n",
+      "class I:\n",
+      "    def __init__(self,k):\n",
+      "        self.x=k\n",
+      "        print \"One argument base class construtor\"\n",
+      "#Derived class        \n",
+      "class II(I):\n",
+      "    def __init__(self,j):\n",
+      "        I.__init__(self,j) #invlocation of baser class constructor\n",
+      "        self.__y=j\n",
+      "        print \"One argument derived class construtor\"\n",
+      "        \n",
+      "i=II(2)        #create the instance of the base class by passing initial value "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "One argument base class construtor\n",
+        "One argument derived class construtor\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.21, Page Number:479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constructors and multiple inheritance\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "        \n",
+      "class II:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II,I):   #class III inhrites class II and I\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__: #invocation \n",
+      "            b.__init__(self) \n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III()    #create an instance of the base class\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.22, Page Number:480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constructors in multiple inhritance with invoking constructor of the base classes\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "        \n",
+      "class II:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II,I):\n",
+      "    def __init__(self):\n",
+      "        II.__init__(self) #invocation of base class constructors\n",
+      "        I.__init__(self)\n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III() #instaace of thr derived class\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.23, Page Number:481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#multiple inheritance,invoking the base classes explicitly\n",
+      "#Base1 class\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "#Base2 class\n",
+      "class II:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II,I): #Class I is virtually inherited so its constructor called first\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self)  #invocation of the base classes\n",
+      "        II.__init__(self)\n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III()  #instane of the Derived class\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.24, Page Number:482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#multilevel Inheritance,observation of the execution of the constructors\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "#Derived1 class        \n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self)\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II): #Class I is virtually inherited so its constructor called first\n",
+      "    def __init__(self):\n",
+      "        II.__init__(self)\n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III() #instance of the class III"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.25, Page Number:484"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#use object of one class in  another class as a member\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        self.x=20\n",
+      "        print \"Constructor of class I\"\n",
+      "        \n",
+      "class II(I):\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.k=30\n",
+      "        y=I()\n",
+      "        print \"Constructor of class II\"\n",
+      "        print \"x=\",y.x #print here because it become local variable in this scope only,it not visible to def show\n",
+      "        \n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"k=\",self.k\n",
+      "        \n",
+      "ii=II()\n",
+      "ii.show()    #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class I\n",
+        "Constructor of class II\n",
+        "x= 20\n",
+        "k= 30\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.26, Page Number:484"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#access a member variable of base class using object,class name, and direct\n",
+      "#Base class\n",
+      "class A1:\n",
+      "    def __init__(self): #constructor of the base class\n",
+      "        self.name=None\n",
+      "        self.age=None\n",
+      "\n",
+      "#Derived class\n",
+      "class A2(A1):\n",
+      "    def __init__(self):\n",
+      "        A1.__init__(self)\n",
+      "        a=A1()              #create the instances of the base classe,to visible in this block\n",
+      "        print \"Access using name of the class:\"\n",
+      "        A1.name=raw_input(\"Name:\")\n",
+      "        A1.age=raw_input(\"Age:\")\n",
+      "        \n",
+      "        print \"Access using object of the class\"\n",
+      "        a.name=raw_input(\"Name:\")\n",
+      "        a.age=raw_input(\"Age:\")\n",
+      "        \n",
+      "        print \"Access using direct member variables:\"\n",
+      "        self.name=raw_input(\"Name:\")\n",
+      "        self.age=raw_input(\"Age:\")\n",
+      "        self.__height=raw_input(\"Height:\")\n",
+      "        self.__weight=raw_input(\"Weight:\")\n",
+      "        \n",
+      "        print \"Display using object of the class\"  #since object of class A1 has scope in constructor method so we can access it only \n",
+      "        print \"Name:\",a.name                       #  within this method.It is not visible in destructor function.\n",
+      "        print \"Age:\",a.age\n",
+      "        \n",
+      "            \n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of Derived class\"\n",
+      "        print \"Display using class name\"\n",
+      "        print \"Name:\",A1.name\n",
+      "        print \"Age:\",A1.age\n",
+      "        \n",
+      "        print \"Display using direct member variable\"\n",
+      "        print \"Name:\",self.name\n",
+      "        print \"Age\",self.age\n",
+      "        print \"height:\",self.__height\n",
+      "        print \"Weight:\",self.__weight\n",
+      "        \n",
+      "x=A2()\n",
+      "\n",
+      "del x #call the destructor of the derived class\n",
+      "        "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Access using name of the class:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Ajay\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:21\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Access using object of the class\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Amit\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:20\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Access using direct member variables:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Arun\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:19\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height:5.5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight:31\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Display using object of the class\n",
+        "Name: Amit\n",
+        "Age: 20\n",
+        "Destructor of Derived class\n",
+        "Display using class name\n",
+        "Name: Ajay\n",
+        "Age: 21\n",
+        "Display using direct member variable\n",
+        "Name: Arun\n",
+        "Age 19\n",
+        "height: 5.5\n",
+        "Weight: 31\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.27, Page Number:488"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#derive a class from two base classes,object of these 2 classes is the member variable of the third class\n",
+      "#Base1 class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.a1=None\n",
+      "#Base2 class        \n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        self.b1=None\n",
+      "#derived class\n",
+      "class AB:\n",
+      "    def __init__(self):\n",
+      "        a=A()      #create the instances of the base classes,to visible in this block\n",
+      "        b=B()\n",
+      "        a.a1=65     #initialize the two data members of the class A and B and Display them\n",
+      "        b.b1=66\n",
+      "        print \"a1=\",a.a1, \"b1=\",b.b1\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        pass\n",
+      "    \n",
+      "    \n",
+      "ab=AB() #ab is the instance of the derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a1= 65 b1= 66\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.28, Page Number:489"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#create derived class from qualifier class\n",
+      "#Base class,container class for the class B\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "        \n",
+      "    class B:  #nested class\n",
+      "        def __init__(self):\n",
+      "            self.y=None\n",
+      "            \n",
+      "            \n",
+      "class C(A,A.B): #A.B is the inner class of the class A\n",
+      "    def __init__(self,j,k,l):\n",
+      "        self.x=j   #set the container base class data member\n",
+      "        self.y=k  #set the data member of the nested class\n",
+      "        self.z=l\n",
+      "        \n",
+      "    def show(self):  #show method to show all the data members\n",
+      "        print \"x=\",self.x,\"y=\",self.y,\"z=\",self.z\n",
+      "        \n",
+      "        \n",
+      "c=C(4,7,1) #assign all the data members by invocation of the derived class constructor\n",
+      "c.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 4 y= 7 z= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.29, Page Number:490"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialize member variable of the base class and derived class using constructor of the derived class\n",
+      "#Base class\n",
+      "class A:\n",
+      "    def __init__(self):  #constructor\n",
+      "        self._x=None     #protected members\n",
+      "        self._y=None\n",
+      "        \n",
+      "class B(A):\n",
+      "    def __init__(self): #derived class constructor\n",
+      "        self.z=3    \n",
+      "        self.__x=1     #private members\n",
+      "        self.__y=2\n",
+      "        \n",
+      "        print \"x=\",self.__x,\"y=\",self.__y,\"z=\",self.z\n",
+      "        \n",
+      "b=B() #instance of the derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 1 y= 2 z= 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.30, Page Number:491"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#access data members by object pointer\n",
+      "\n",
+      "from ctypes import *\n",
+      "import ctypes\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=1\n",
+      "        self.y=2\n",
+      "        \n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        A.__init__(self)\n",
+      "        self.z=3\n",
+      "        \n",
+      "b=B()\n",
+      "\n",
+      "\n",
+      "i=c_int(b.z)\n",
+      "p=pointer(i)\n",
+      "print \"Address of z:\",addressof(p),\"Value of Z:\",p[0] #access the\n",
+      "\n",
+      "i = c_int(b.y)\n",
+      "p = pointer(i)\n",
+      "print \"Address of y:\",addressof(p),\"Value of y:\",p[0]  \n",
+      "\n",
+      "i = c_int(b.x)\n",
+      "p = pointer(i)\n",
+      "print \"Address of x:\",addressof(p),\"Value of x:\",p[0]  \n",
+      "\n",
+      "#**NOTE-In case of C++ the data members of the derived class and base class are stored in contigious memory locations so we can \n",
+      "#access the three variables by using a pointer of derived class and decrementing its value. But in case of Python they are NOT stored \n",
+      "#in contogious memory locations so for accessing each data member we have to create individual object pointer for each class."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Address of z: 57077392 Value of Z: 3\n",
+        "Address of y: 57074448 Value of y: 2\n",
+        "Address of x: 57077648 Value of x: 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.31, Page Number:492"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#overload member function in base and derived class\n",
+      "#Base class\n",
+      "class B:\n",
+      "    def show(self): #method to be ovveriden\n",
+      "        print \"In base class function\"\n",
+      "        \n",
+      "class D(B):\n",
+      "    def show(self): #Derived class method,ovveride to the base class\n",
+      "        \n",
+      "        print \"In Derived class\"\n",
+      "    \n",
+      "    \n",
+      "b=B()  #b is the base class instance\n",
+      "d=D()  #d is the derived class instance\n",
+      "\n",
+      "b.show()\n",
+      "d.show()\n",
+      "\n",
+      "bp=[B()]  #create a base class pointer variable\n",
+      "bp[0]=d   #assign address of the derived class object to the base class pointer\n",
+      "bp[0].show()  #call the derived class method by base class pointer\n",
+      "b.show()  #calling the base class method by base class object"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In base class function\n",
+        "In Derived class\n",
+        "In Derived class\n",
+        "In base class function\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.32, Page Number:495"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constuctor and destructors in single inheritance\n",
+      "\n",
+      "#Base class\n",
+      "class Father:\n",
+      "    def __init__(self): #Constructor to set the data member name\n",
+      "        print \"Base Class constructor.\"\n",
+      "        self._name=raw_input(\"Enter Father Name:\")\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Base class Destructor.\"\n",
+      "\n",
+      "#Derived class\n",
+      "class Child(Father):\n",
+      "    def __init__(self):#Constructor to set the data member cname\n",
+      "        Father.__init__(self)   #invocation of base class constructor\n",
+      "        print \"Derived class constructor.\"\n",
+      "        self.__cname=raw_input(\"Enter child name:\")\n",
+      "        \n",
+      "    def __del__(self):  #destructor to set the data member cname\n",
+      "        print \"Derived class destructor.\"\n",
+      "        print \"\",self.__cname,\"\",self.__name \n",
+      "        for b in self.__class__.__bases__:  #invocation of base class destructor\n",
+      "            b.__del__(self)\n",
+      "       \n",
+      "        \n",
+      "        \n",
+      "C=Child()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Base Class constructor.\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Father Name:Manoj\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Derived class constructor.\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter child name:Sanjay\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Derived class destructor.\n",
+        " Sanjay  Manoj\n",
+        "Base class Destructor.\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.33, Page Number:496"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constuctor and destructors in multilevel inheritance\n",
+      "#Base class\n",
+      "class Grandfather:\n",
+      "    def __init__(self): #Constructor to set the data member gname\n",
+      "        print\"Constructor of class grandfather\"\n",
+      "        self._gname=raw_input(\"Enter Grandfather Name:\")\n",
+      "        \n",
+      "        \n",
+      "    def __del__(self): #Destructor to show the data member gname\n",
+      "        print \"Destructor of class grandfather\"\n",
+      "        \n",
+      " \n",
+      "#Derived1 class\n",
+      "class Father(Grandfather):\n",
+      "    def __init__(self):   #Constructor to set the data member name\n",
+      "        Grandfather.__init__(self) #invocation of base class constructor\n",
+      "        print\"Constructor of class Father\"\n",
+      "        self._name=raw_input(\"Enter Father Name:\")\n",
+      "        \n",
+      "        \n",
+      "    def __del__(self): #Destructor to show the data member name\n",
+      "        print \"Destructor of class Father\"\n",
+      "        Grandfather.__del__(self) #invocation of base class destructor\n",
+      " \n",
+      "#Derived2 class\n",
+      "class Child(Father):\n",
+      "    def __init__(self): #Constructor to set the data member cname\n",
+      "        Father.__init__(self) #invocation of base class constructor\n",
+      "        print\"Constructor of class Child\"\n",
+      "        self.__cname=raw_input(\"Enter Child Name:\")\n",
+      "        \n",
+      "        \n",
+      "    def __del__(self): #Destructor to show the data member name\n",
+      "        print \"Destructor of class Child\"\n",
+      "        print \"Grandfather:\",self._gname,\"Father:\",self._name,\"Child:\",self.__cname\n",
+      "        Father.__del__(self) #invocation of base class destructor\n",
+      "            \n",
+      "#instance of the Derived2 class  \n",
+      "C=Child()\n",
+      "\n",
+      "del C   #call the destructor of the derived class\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class grandfather\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Grandfather Name:x\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class Father\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Father Name:y\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class Child\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Child Name:z\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Destructor of class Child\n",
+        "Grandfather: x Father: y Child: z\n",
+        "Destructor of class Father\n",
+        "Destructor of class grandfather\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.34, Page Number:498"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#program to explain multilevel inheritance with member function\n",
+      "\n",
+      "#Base class\n",
+      "class Grandfather:\n",
+      "    def __init__(self):\n",
+      "        self.__gname=None\n",
+      "        \n",
+      "    def getg(self): #method to set the data member gname\n",
+      "        self.__gname=raw_input(\"Enter Grandfather Name:\")\n",
+      "        \n",
+      "    def showg(self):#method to show the data member gname\n",
+      "        print \"Grandfather Name:\",self.__gname\n",
+      "        \n",
+      " \n",
+      "#Derived1 class\n",
+      "class Father(Grandfather):\n",
+      "    def __init__(self):\n",
+      "        self.__name=None\n",
+      "        \n",
+      "    def getf(self): #method to set the data member name\n",
+      "        self.__name=raw_input(\"Enter Father Name:\")\n",
+      "        \n",
+      "    def showf(self): #method to show the data member name\n",
+      "        print \"Father Name:\",self.__name\n",
+      "        \n",
+      "#Derived2 class        \n",
+      "class Child(Father):\n",
+      "    def __init__(self):\n",
+      "        self.__cname=None\n",
+      "        \n",
+      "    def getc(self): #method for invocation of base class methods and set the data member cname\n",
+      "        self.getg()\n",
+      "        self.getf()\n",
+      "        self.__cname=raw_input(\"Enter Child Name:\")\n",
+      "        \n",
+      "    def showc(self): #method for invocation of base class methods and set the data member cname\n",
+      "        self.showg()\n",
+      "        self.showf()\n",
+      "        print \"child Name:\",self.__cname\n",
+      "        \n",
+      "C=Child()  #cretaion of a instance of Derived2 class\n",
+      "C.getc()   #invocation of the method of Derived2 class for setting all the data member value\n",
+      "C.showc()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Grandfather Name:XXX\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Father Name:YYY\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Child Name:ZZZ\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Grandfather Name: XXX\n",
+        "Father Name: YYY\n",
+        "child Name: ZZZ\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.35, Page Number:499"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#execution of constructor and destructor in multilevel inheritance\n",
+      "\n",
+      "#Base1 class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class A\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class A\"\n",
+      "        \n",
+      "#Base2 class        \n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class B\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class B\"\n",
+      "#Base3 class        \n",
+      "class C:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class C\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class C\"\n",
+      "    \n",
+      "#Derived class,Multiple Derivation    \n",
+      "class D(A,B,C):\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__: #invoke all the base class constructors\n",
+      "            b.__init__(self) \n",
+      "        print \"Constructor of class D\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class D\"    #invoke all the base class destructors\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__del__(self)\n",
+      "            \n",
+      "x=D()      \n",
+      "         #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class A\n",
+        "Constructor of class B\n",
+        "Constructor of class C\n",
+        "Constructor of class D\n",
+        "Destructor of class D\n",
+        "Destructor of class A\n",
+        "Destructor of class B\n",
+        "Destructor of class C\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.37, Page Number:502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#execution of constructor and destructor in multilevel inheritance\n",
+      "\n",
+      "#Base class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class A\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class A\"\n",
+      "        \n",
+      "#Derived1 class\n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        A.__init__(self)\n",
+      "        print \"Constructor of class B\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class B\"\n",
+      "        A.__del__(self)\n",
+      "\n",
+      "#Derived2 class\n",
+      "class C:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class C\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class C\"\n",
+      "    \n",
+      "#Derived3 class,multiple derivation\n",
+      "class D(B,C):\n",
+      "    def __init__(self):\n",
+      "        B.__init__(self)\n",
+      "        C.__init__(self)\n",
+      "        print \"Constructor of class D\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class D\"\n",
+      "        B.__del__(self)\n",
+      "        C.__del__(self)\n",
+      "            \n",
+      "x=D()    #creation of Derived3 class instance\n",
+      "del x\n",
+      "         #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class A\n",
+        "Constructor of class B\n",
+        "Constructor of class C\n",
+        "Constructor of class D\n",
+        "Destructor of class D\n",
+        "Destructor of class B\n",
+        "Destructor of class A\n",
+        "Destructor of class C\n"
+       ]
+      }
+     ],
+     "prompt_number": 54
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.37, Page Number:502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrate single inheritance\n",
+      "\n",
+      "#Base class\n",
+      "class A:\n",
+      "    def __init__(self,j=0):\n",
+      "        self._c=j            #protected Member\n",
+      "        \n",
+      "    def show(self):          #Public member \n",
+      "        print \"c=\",self._c\n",
+      "        \n",
+      "    def inc(self):           #public increment method of base class\n",
+      "        self._c=self._c+1\n",
+      "        return self._c\n",
+      "    \n",
+      "class B(A):\n",
+      "    \n",
+      "    def __init_(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        \n",
+      "    def dec(self):          #public increment method of derived class\n",
+      "        self._c=self._c-1\n",
+      "        return self._c\n",
+      "    \n",
+      "    \n",
+      "a=B()             #create a instance of a derived class\n",
+      "\n",
+      "a.inc()           #call the base class public member function by derived class instance for increment\n",
+      "a.show()\n",
+      "\n",
+      "\n",
+      "a.dec()          #call the derived class public member function by derived class instance for decrement\n",
+      "a.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "c= 1\n",
+        "c= 0\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.38, Page Number:502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#access method from private inheritance\n",
+      "\n",
+      "#base class\n",
+      "class B:\n",
+      "    def one(self):   #Public Member\n",
+      "        print \"one\"\n",
+      "        \n",
+      "    def __two(self): #Private Member\n",
+      "        print \"two\"\n",
+      "        \n",
+      "class D(B):\n",
+      "    def __init__(self):\n",
+      "       pass\n",
+      "        \n",
+      "d=D()\n",
+      "d.one()\n",
+      "#d.two()    #Not accesible"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "one\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.39, Page Number:503"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#create a comman constructor in the lowermost class, in the multilevel inheritance\n",
+      "\n",
+      "#Base class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "        \n",
+      "#Derived1 class\n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        self.y=None\n",
+      "\n",
+      "#Derived2 class\n",
+      "class C(B):\n",
+      "    def __init__(self,j,k,l):\n",
+      "        self.z=l                #Initializing the base class data members by calling base class constructor\n",
+      "        self.x=j\n",
+      "        self.y=k\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"x=\",self.x,\"Y=\",self.y,\"z=\",self.z\n",
+      "\n",
+      "#Creation of instance of derived2 class,with constructor invocation  \n",
+      "c=C(4,7,1)\n",
+      "c.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 4 Y= 7 z= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 46
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.40, Page Number:504"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Explicitly call the base constructor  in multiple inheritance\n",
+      "\n",
+      "#Base class\n",
+      "class X:\n",
+      "    def __init__(self,a):\n",
+      "        print a,\n",
+      "#Base class        \n",
+      "class Y:\n",
+      "    def __init__(self,b):\n",
+      "        print b,\n",
+      "#multiple Derivation       \n",
+      "class Z(X,Y):\n",
+      "    def __init__(self,p,q,r):\n",
+      "        X.__init__(self,p)\n",
+      "        Y.__init__(self,q)\n",
+      "        print r\n",
+      "        \n",
+      "#Creation of instance of derived class,with constructor invocation        \n",
+      "z=Z(1,2,3)\n",
+      "        "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1 2 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 47
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_3.ipynb b/sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_3.ipynb
new file mode 100755
index 00000000..41ddb0e8
--- /dev/null
+++ b/sample_notebooks/AJEET KUMARSINGH/Chapter_11_Inheritance_3.ipynb	
@@ -0,0 +1,2669 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e47f32c0e16bc3f4815d950d4b9461754960bd5d341df7cb91b2b6bbb77174c7"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11: Inheritance"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.1, Page Number:444"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Public Derivation of a class\n",
+      "class A:                  #Base class\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "\n",
+      "      \n",
+      "class B(A):              #derived class\n",
+      "    def __init__(self):\n",
+      "        self.y=None\n",
+      "        \n",
+      "b=B()              #declaration of object\n",
+      "b.x=20\n",
+      "b.y=30\n",
+      "\n",
+      "print 'member of A:',b.x\n",
+      "print 'Member of B:',b.y"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "member of A: 20\n",
+        "Member of B: 30\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.2, Page Number:445"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Base class\n",
+      "class A:                       #Base class\n",
+      "    def __init__(self):        #class A having x as a private data member\n",
+      "        self.__x=20\n",
+      "    \n",
+      "    def showx(self):\n",
+      "        print \"x=\",self.__x\n",
+      "        \n",
+      "#derived class       \n",
+      "class B(A):                     #Derived class\n",
+      "    def __init__(self):\n",
+      "        self.y=30             #class B having y as a public data member\n",
+      "        \n",
+      "    def show(self):\n",
+      "        a=A()\n",
+      "        a.showx()\n",
+      "        print \"y=\",self.y\n",
+      "        \n",
+      "        \n",
+      "b=B()                          #declaration of object\n",
+      "                                \n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 20\n",
+        "y= 30\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.3, Page Number:447"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#base class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=None        #x is a public member\n",
+      "        \n",
+      "        \n",
+      "#derived class\n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        self.y=40             \n",
+      "        A.__x=20            #since it is privately inherites base class ,x become private member of it\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"x=\",A.__x\n",
+      "        print \"y=\",self.y\n",
+      "         \n",
+      "b=B()                        #declaration of object\n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 20\n",
+        "y= 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.4, Page Number:448"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#derivation of a class privately\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.__x=20        \n",
+      "        \n",
+      "    def showx(self):          \n",
+      "        print \"x=\",self.__x\n",
+      "        \n",
+      "#derived class        \n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        self.y=40           \n",
+      "        \n",
+      "    def show(self):\n",
+      "        a=A()\n",
+      "        a.showx()          #call the base class method\n",
+      "        print \"y=\",self.y\n",
+      "        \n",
+      "        \n",
+      "b=B()\n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 20\n",
+        "y= 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.5, Page Number:449"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self._x=None      #x is a protected member of the base class\n",
+      "        \n",
+      "        \n",
+      "class B(A):              #private inheritance,x become a private member of the derived class\n",
+      "    def __init__(self):\n",
+      "        self.y=40\n",
+      "        self.__x=30\n",
+      "    \n",
+      "    \n",
+      "    def show(self):   #method to display all the values of all the data memeber\n",
+      "        print \"x=\",self.__x\n",
+      "        print \"y=\",self.y\n",
+      "        \n",
+      " #declaration of object        \n",
+      "b=B()\n",
+      "b.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 30\n",
+        "y= 40\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.6, Page Number:456"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class ABC:                 #Base class\n",
+      "    def __init__(self):\n",
+      "        self._name=None  #these 2 are protected data member\n",
+      "        self._age=None\n",
+      "        \n",
+      "class abc(ABC):          #Derived class ,Public derivation\n",
+      "    def __init__(self):\n",
+      "        self.height=None\n",
+      "        self.weight=None\n",
+      "        \n",
+      "    def getdata(self):\n",
+      "       \n",
+      "        self.name=raw_input(\"Enter a name: \")     #take inputes to all the data members \n",
+      "        self.age=raw_input(\"Enter a age: \")  \n",
+      "        self._height=raw_input(\"Enter a Height: \")  \n",
+      "        self._weight=raw_input(\"Enter a Weight: \")  \n",
+      "        \n",
+      "    def show(self):                               #display the value of data members\n",
+      "        print 'Name:',self.name \n",
+      "        print 'Age:',self.age,\"years\"\n",
+      "        print 'Height:',self._height,\"Feets\"\n",
+      "        print 'Weight:',self._weight,\"kg.\"\n",
+      "        \n",
+      "        \n",
+      "x=abc()\n",
+      "x.getdata()\n",
+      "x.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a name: Santosh\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a age: 24\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a Height: 4.5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter a Weight: 50\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name: Santosh\n",
+        "Age: 24 years\n",
+        "Height: 4.5 Feets\n",
+        "Weight: 50 kg.\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.7, Page Number:458"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class A1:                 #super Base class,have 2 protected data members\n",
+      "    def __init__(self):\n",
+      "        self._name=None\n",
+      "        self._age=None\n",
+      "\n",
+      "        \n",
+      "class A2(A1):            #Public derivation\n",
+      "    def __init(self):\n",
+      "        self._height=None\n",
+      "        self._weight=None\n",
+      "\n",
+      "class A3(A2):           #public Derivation\n",
+      "    def __init__(self):\n",
+      "        self._sex=None\n",
+      "        \n",
+      "        \n",
+      "    def get(self):        #get input \n",
+      "        self._name=raw_input(\"Name: \")\n",
+      "        self._age=raw_input(\"Age: \")\n",
+      "        self._sex=raw_input(\"Sex: \")\n",
+      "        \n",
+      "        self._height=raw_input(\"Height: \")\n",
+      "        self._weight=raw_input(\"Weight: \")\n",
+      "        \n",
+      "    def show(self):       #Display values of all the data members\n",
+      "        print \"Name:\",self._name\n",
+      "        print \"Age:\",self._age ,\"years\"\n",
+      "        print \"Sex:\",self._sex\n",
+      "        print \"Height:\",self._height ,\"Feet\"\n",
+      "        print \"Weight:\",self._weight ,\"Kg.\"\n",
+      "        \n",
+      "\n",
+      "x=A3()\n",
+      "x.get()\n",
+      "x.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name: Balaji\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age: 26\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sex: M\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height: 4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight: 49.5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name: Balaji\n",
+        "Age: 26 years\n",
+        "Sex: M\n",
+        "Height: 4 Feet\n",
+        "Weight: 49.5 Kg.\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.8, Page Number:459"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Example of multiple Inheritance\n",
+      "#Base1 class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self._a=None\n",
+      "#Base2 class\n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        self._b=None\n",
+      "#Base3 class\n",
+      "class C:\n",
+      "    def __init__(self):\n",
+      "        self._c=None\n",
+      "#Base4 class        \n",
+      "class D:\n",
+      "    def __init__(self):\n",
+      "        self._d=None\n",
+      "#derived class,multiple derivation\n",
+      "class E(A,B,C,D):   #inherites all the base classes publically\n",
+      "    def __init__(self):\n",
+      "        self.e=None\n",
+      "        \n",
+      "    def getdata(self): #member method to take input for all the data members \n",
+      "        print \"Enter the value of a,b,c &d &e:\"\n",
+      "        self._a=input()\n",
+      "        self._b=input()\n",
+      "        self._c=input()\n",
+      "        self._d=input()\n",
+      "        self._e=input()\n",
+      "        \n",
+      "    def show(self):  #member method to display for all the data members \n",
+      "        print\"a=\",self._a,\"b=\",self._b,\"c=\",self._c,\"d=\",self._d,\"e=\",self._e\n",
+      "        \n",
+      "        \n",
+      "x=E()          #x is the instance of the derived class\n",
+      "x.getdata()    #call the methods of derived class through x \n",
+      "x.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the value of a,b,c &d &e:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "16\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a= 1 b= 2 c= 4 d= 8 e= 16\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.9, Page Number:461"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class red:                #these three base class\n",
+      "    def __init__(self):\n",
+      "        print \"Red\",\n",
+      "        \n",
+      "class yellow:\n",
+      "    def __init__(self):\n",
+      "        print \"Yellow\",\n",
+      "        \n",
+      "class blue:\n",
+      "    def __init__(self):\n",
+      "        print \"Blue\",\n",
+      "        \n",
+      "class orange(red,yellow):  #public multiple Derivation\n",
+      "    def __init__(self):\n",
+      "        red.__init__(self)\n",
+      "        yellow.__init__(self)\n",
+      "        print \"=Orange\",\n",
+      "        \n",
+      "class green(blue,yellow):  #public multiple Derivation\n",
+      "    def __init__(self):\n",
+      "        blue.__init__(self)\n",
+      "        yellow.__init__(self)\n",
+      "        print \"=Green\",\n",
+      "        \n",
+      "class violet(red,blue):   #public multiple Derivation\n",
+      "    def __init__(self):\n",
+      "        red.__init__(self)\n",
+      "        blue.__init__(self)\n",
+      "        print \"=Violet\",\n",
+      "        \n",
+      "class reddishbrown(orange,violet):   #public multiple & multilevel Derivation\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        print \"=Reddishbrown\"\n",
+      "        \n",
+      "class yellowishbrown(green,orange):     #public multiple & multilevel Derivation\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        print \"=Yellowishbrown\"\n",
+      "        \n",
+      "class bluishbrown(violet,green):       #public multiple & multilevel Derivation\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        print \"=Bluishbrown\"\n",
+      "        \n",
+      "        \n",
+      "        \n",
+      "r=reddishbrown()   #create instances of the derived class\n",
+      "b=bluishbrown()\n",
+      "y=yellowishbrown()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Red Yellow =Orange Red Blue =Violet =Reddishbrown\n",
+        "Red Blue =Violet Blue Yellow =Green =Bluishbrown\n",
+        "Blue Yellow =Green Red Yellow =Orange =Yellowishbrown\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.10, Page Number:463"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# WAP to create a derived class from multiple base classes\n",
+      "\n",
+      "class PLAYER:               #these three are the base classes\n",
+      "    def __init__(self):\n",
+      "        self._name=None\n",
+      "        self._gender=None\n",
+      "        self._age\n",
+      "        \n",
+      "class PHYSIQUE(PLAYER):\n",
+      "    def __init__(self):\n",
+      "        self._height=None\n",
+      "        self._weight=None\n",
+      "        \n",
+      "class LOCATION:\n",
+      "    def __init__(self):\n",
+      "        self._city=None\n",
+      "        self._pin=None\n",
+      "        \n",
+      "class GAME(PHYSIQUE,LOCATION): #Multiple derivation\n",
+      "    def __init__(self):\n",
+      "        self._game=None\n",
+      "    def getdata(self):        #Method to take inputes\n",
+      "        print\"Enter the following information\\n\\n\"\n",
+      "        self._name=raw_input(\"Name:\")\n",
+      "        self._gender=raw_input(\"Gender:\")\n",
+      "        self._age=raw_input(\"Age:\")\n",
+      "        self._height=raw_input(\"Height:\")\n",
+      "        self._weight=raw_input(\"Weight:\")\n",
+      "        self._city=raw_input(\"City:\")\n",
+      "        self._pin=raw_input(\"Pin:\")\n",
+      "        self._game=raw_input(\"game:\")\n",
+      "        \n",
+      "        \n",
+      "        \n",
+      "    def show(self):           #Method for displaying inputes\n",
+      "        print\"Entered Information!!\"\n",
+      "        print\"Name:\",self._name\n",
+      "        print \"Gender:\",self._gender\n",
+      "        print \"Age:\",self._age\n",
+      "        print \"Height:\",self._height\n",
+      "        print \"Weight:\",self._weight\n",
+      "        print \"City :\",self._city\n",
+      "        print \"Pincode:\",self._pin\n",
+      "        print \"Game :\",self._game\n",
+      "        \n",
+      "        \n",
+      "G=GAME()                      #create an instance of the derived class\n",
+      "G.getdata()                  #call the public methods by the created instances\n",
+      "G.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the following information\n",
+        "\n",
+        "\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Mahesh\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Gender:M\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:25\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height:4.9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight:55\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "City:Nanded\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Pin:431603\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "game:Cricket\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Entered Information!!\n",
+        "Name: Mahesh\n",
+        "Gender: M\n",
+        "Age: 25\n",
+        "Height: 4.9\n",
+        "Weight: 55\n",
+        "City : Nanded\n",
+        "Pincode: 431603\n",
+        "Game : Cricket\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.11, Page Number:467"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Multipath Inheritance,concept of virtual classes\n",
+      "\n",
+      "class A1:                   #Super base class\n",
+      "    def __init__(self):\n",
+      "        self._a1=None\n",
+      "        \n",
+      "class A2(A1):              #base class 1,inherites Super Base class\n",
+      "    def __init__(self):\n",
+      "        self._a2=None\n",
+      "        \n",
+      "class A3(A1):              #base class 2,inherites Super Base class\n",
+      "    def __init__(self):\n",
+      "        self._a3=None\n",
+      "        \n",
+      "class A4(A2,A3):          #derived class ,public derivation of both the base classes\n",
+      "    def __init__(self):\n",
+      "        self.__a4=None\n",
+      "        \n",
+      "    def get(self):\n",
+      "        print \"Enter the value of a1,a2,a3,and a4:\"\n",
+      "        self._a1=input()\n",
+      "        self._a2=input()\n",
+      "        self._a3=input()\n",
+      "        self.__a4=input()\n",
+      "        \n",
+      "    def put(self):\n",
+      "        print \"a1=\",self._a1,\"a2=\",self._a2,\"a3=\",self._a3,\"a4=\",self.__a4\n",
+      "        \n",
+      "        \n",
+      "        \n",
+      "a=A4()           #create the instance of the derived class\n",
+      "a.get()\n",
+      "a.put()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the value of a1,a2,a3,and a4:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a1= 5 a2= 8 a3= 7 a4= 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.12, Page Number:469"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#To show order of execution of the constructors and destructors in multiple inheritance\n",
+      "\n",
+      "#Base1 class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        print\"Zero argument Constructor of base class A\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print\"Destructor of class A\"\n",
+      "#Base2 class   \n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        print\"Zero argument Constructor of base class B\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "         print\"Destructor of class B\"\n",
+      "#derived class,multiple derivation\n",
+      "class C(A,B):\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__: #invocation of the constructor of all the base classes\n",
+      "            b.__init__(self)\n",
+      "        print\"Zero argument Constructor of base class C\"\n",
+      "        \n",
+      "    def __del__(self): \n",
+      "        print\"Destructor of class C\"\n",
+      "        for b in self.__class__.__bases__: #invocation of the destructor of all the base classes\n",
+      "            b.__del__(self)\n",
+      "            \n",
+      "c=C()     #create instance of derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument Constructor of base class A\n",
+        "Zero argument Constructor of base class B\n",
+        "Zero argument Constructor of base class C\n",
+        "Destructor of class C\n",
+        "Destructor of class A\n",
+        "Destructor of class B\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.13, Page Number:471"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#WAP to use constructor and destructor in all the classess\n",
+      "\n",
+      "class A1:\n",
+      "    def __init__(self):                 #take name and age as input in super base class\n",
+      "        self._name=raw_input(\"Name:\")\n",
+      "        self._age=raw_input(\"Age:\")\n",
+      "        \n",
+      "    def __del__(self):                  #show name and age as input in super base class\n",
+      "        print\"Name:\",self._name\n",
+      "        print\"Age\",self._age\n",
+      "        \n",
+      "        \n",
+      "class A2(A1):                         #take height and weight as input in base base class,public derivation \n",
+      "    def __init__(self):\n",
+      "        A1.__init__(self)\n",
+      "        self._height=raw_input(\"Height:\")\n",
+      "        self._weight=raw_input(\"Weight:\")\n",
+      "        \n",
+      "    def __del__(self):              #show height and weight as input in base base class,public derivation \n",
+      "        print\"Height:\",self._height\n",
+      "        print\"Weight:\",self._weight\n",
+      "        A1.__del__(self)\n",
+      "        \n",
+      "        \n",
+      "class A3(A2):                       #take sex as input in derived class,derived from class A2\n",
+      "    def __init__(self):\n",
+      "        A2.__init__(self)\n",
+      "        self.__sex=raw_input(\"Sex:\")\n",
+      "    def __del__(self):              #display all the input taken by all the base classes\n",
+      "        print\"Sex:\",self.__sex\n",
+      "        A2.__del__(self)\n",
+      "        \n",
+      "        \n",
+      "x=A3()    #create instance x of the class A3\n",
+      "\n",
+      "del x     #call the destructor"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Ajay\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:20\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height:4.5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight:40\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sex:M\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sex: M\n",
+        "Height: 4.5\n",
+        "Weight: 40\n",
+        "Name: Ajay\n",
+        "Age 20\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.14, Page Number:472"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#To create derived class from the base class,by constructor and destructor\n",
+      "#Base1 class\n",
+      "class in_t:\n",
+      "    def __init__(self): #constructor of base1 class\n",
+      "        self._i=1\n",
+      "        print\"Constructor in_t()\"\n",
+      "        \n",
+      "    def __del__(self):  #destructor of base1 class\n",
+      "        print\"Destructor in_t()\"\n",
+      "\n",
+      "#Base2 class\n",
+      "class floa_t:\n",
+      "    def __init__(self): #constructor of base2 class\n",
+      "        self._f=1.5\n",
+      "        print\"Constructor floa_t()\"\n",
+      "        \n",
+      "    def __del__(self): #destructor of base2 class\n",
+      "        print\"Destructor floa_t()\"\n",
+      "        \n",
+      "#Derived class        \n",
+      "class cha_r(in_t,floa_t):    #multiple derivation\n",
+      "    def __init__(self):\n",
+      "        self._c='A'\n",
+      "        print\"Constructor cha_r()\"\n",
+      "        for b in self.__class__.__bases__: #invocation of the base class constructors\n",
+      "            b.__init__(self)\n",
+      "        \n",
+      "    def show(self):   #member method to show all the data member \n",
+      "        print\"i=\",self._i\n",
+      "        print \"f=\",self._f\n",
+      "        print \"c=\",self._c\n",
+      "        \n",
+      "    def __del__(self): #Destructor of the derived cladd\n",
+      "        print \"Destructing cha_r()\"\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__del__(self)\n",
+      "        \n",
+      "a=cha_r()   #create derived class instance and call the public method of the derived class\n",
+      "a.show()              #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor cha_r()\n",
+        "Constructor in_t()\n",
+        "Constructor floa_t()\n",
+        "i= 1\n",
+        "f= 1.5\n",
+        "c= A\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.15, Page Number:474"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Base class\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "#derived class        \n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        self.__y=None #private member of the classII\n",
+      "        \n",
+      "    def set(self,j,k): #Parametrized constructor \n",
+      "        self.x=j\n",
+      "        self.__y=k\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"X=\",self.x, \"Y=\",self.__y\n",
+      "        \n",
+      "        \n",
+      "i=II()  #creation of instance of the Derived class\n",
+      "i.set(4,5) #invocation of the derived class member method by instance of the derived class\n",
+      "i.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "X= 4 Y= 5\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.16, Page Number:475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Base class\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        self.x=10\n",
+      "        print \"In the Base class constuctor\"\n",
+      "#Derived class\n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self) #invocation of the base class constructor\n",
+      "        self.__y=None\n",
+      "        \n",
+      "i=II() #instance of the derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In the Base class constuctor\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.17, Page Number:475"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#base class without constructor and derived class with constructor\n",
+      "class I:\n",
+      "    pass #Empty body of the base class\n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        print \"In derived class constructor\"\n",
+      "        \n",
+      "i=II()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In derived class constructor\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.18, Page Number:476"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#both the class have constructor\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"In base class Constructor\"\n",
+      "#Derived class        \n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self)#invocation of the base class constructor\n",
+      "        print \"In derived Class constructor\"\n",
+      "        \n",
+      "i=II()#instance of the derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In base class Constructor\n",
+        "In derived Class constructor\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.19, Page Number:477"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#multiple constructor in base class and single constructor in the derived class\n",
+      "#Base class\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument base class construtor\"\n",
+      "        \n",
+      "    def __init__(self,k): #parametrized constructor\n",
+      "        self.x=None\n",
+      "        print \"One argument base class construtor\"\n",
+      "        \n",
+      "#Derived class        \n",
+      "class II(I):\n",
+      "    def __init__(self,j,k=None):     #default constructor\n",
+      "        I.__init__(self,k)\n",
+      "        self.__y=j\n",
+      "        print \"One argument derived class constructor\"\n",
+      "        \n",
+      "i=II(2)    #create the instance of the base class by passing initial value "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "One argument base class construtor\n",
+        "One argument derived class constructor\n"
+       ]
+      }
+     ],
+     "prompt_number": 13
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.20, Page Number:478"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#base and derived class without default constructor\n",
+      "class I:\n",
+      "    def __init__(self,k):\n",
+      "        self.x=k\n",
+      "        print \"One argument base class construtor\"\n",
+      "#Derived class        \n",
+      "class II(I):\n",
+      "    def __init__(self,j):\n",
+      "        I.__init__(self,j) #invlocation of baser class constructor\n",
+      "        self.__y=j\n",
+      "        print \"One argument derived class construtor\"\n",
+      "        \n",
+      "i=II(2)        #create the instance of the base class by passing initial value "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "One argument base class construtor\n",
+        "One argument derived class construtor\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.21, Page Number:479"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constructors and multiple inheritance\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "        \n",
+      "class II:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II,I):   #class III inhrites class II and I\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__: #invocation \n",
+      "            b.__init__(self) \n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III()    #create an instance of the base class\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.22, Page Number:480"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constructors in multiple inhritance with invoking constructor of the base classes\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "        \n",
+      "class II:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II,I):\n",
+      "    def __init__(self):\n",
+      "        II.__init__(self) #invocation of base class constructors\n",
+      "        I.__init__(self)\n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III() #instaace of thr derived class\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.23, Page Number:481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#multiple inheritance,invoking the base classes explicitly\n",
+      "#Base1 class\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "#Base2 class\n",
+      "class II:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II,I): #Class I is virtually inherited so its constructor called first\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self)  #invocation of the base classes\n",
+      "        II.__init__(self)\n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III()  #instane of the Derived class\n",
+      "    "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.24, Page Number:482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#multilevel Inheritance,observation of the execution of the constructors\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        print \"Zero argument constructor of base class I\"\n",
+      "#Derived1 class        \n",
+      "class II(I):\n",
+      "    def __init__(self):\n",
+      "        I.__init__(self)\n",
+      "        print \"Zero argument constructor of base class II\"\n",
+      "        \n",
+      "class III(II): #Class I is virtually inherited so its constructor called first\n",
+      "    def __init__(self):\n",
+      "        II.__init__(self)\n",
+      "        print \"Zero argument constructor of base class III\"\n",
+      "        \n",
+      "i=III() #instance of the class III"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Zero argument constructor of base class I\n",
+        "Zero argument constructor of base class II\n",
+        "Zero argument constructor of base class III\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.25, Page Number:484"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#use object of one class in  another class as a member\n",
+      "class I:\n",
+      "    def __init__(self):\n",
+      "        self.x=20\n",
+      "        print \"Constructor of class I\"\n",
+      "        \n",
+      "class II(I):\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.k=30\n",
+      "        y=I()\n",
+      "        print \"Constructor of class II\"\n",
+      "        print \"x=\",y.x #print here because it become local variable in this scope only,it not visible to def show\n",
+      "        \n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"k=\",self.k\n",
+      "        \n",
+      "ii=II()\n",
+      "ii.show()    #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class I\n",
+        "Constructor of class II\n",
+        "x= 20\n",
+        "k= 30\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.26, Page Number:484"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#access a member variable of base class using object,class name, and direct\n",
+      "#Base class\n",
+      "class A1:\n",
+      "    def __init__(self): #constructor of the base class\n",
+      "        self.name=None\n",
+      "        self.age=None\n",
+      "\n",
+      "#Derived class\n",
+      "class A2(A1):\n",
+      "    def __init__(self):\n",
+      "        A1.__init__(self)\n",
+      "        a=A1()              #create the instances of the base classe,to visible in this block\n",
+      "        print \"Access using name of the class:\"\n",
+      "        A1.name=raw_input(\"Name:\")\n",
+      "        A1.age=raw_input(\"Age:\")\n",
+      "        \n",
+      "        print \"Access using object of the class\"\n",
+      "        a.name=raw_input(\"Name:\")\n",
+      "        a.age=raw_input(\"Age:\")\n",
+      "        \n",
+      "        print \"Access using direct member variables:\"\n",
+      "        self.name=raw_input(\"Name:\")\n",
+      "        self.age=raw_input(\"Age:\")\n",
+      "        self.__height=raw_input(\"Height:\")\n",
+      "        self.__weight=raw_input(\"Weight:\")\n",
+      "        \n",
+      "        print \"Display using object of the class\"  #since object of class A1 has scope in constructor method so we can access it only \n",
+      "        print \"Name:\",a.name                       #  within this method.It is not visible in destructor function.\n",
+      "        print \"Age:\",a.age\n",
+      "        \n",
+      "            \n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of Derived class\"\n",
+      "        print \"Display using class name\"\n",
+      "        print \"Name:\",A1.name\n",
+      "        print \"Age:\",A1.age\n",
+      "        \n",
+      "        print \"Display using direct member variable\"\n",
+      "        print \"Name:\",self.name\n",
+      "        print \"Age\",self.age\n",
+      "        print \"height:\",self.__height\n",
+      "        print \"Weight:\",self.__weight\n",
+      "        \n",
+      "x=A2()\n",
+      "\n",
+      "del x #call the destructor of the derived class\n",
+      "        "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Access using name of the class:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Ajay\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:21\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Access using object of the class\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Amit\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:20\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Access using direct member variables:\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:Arun\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Age:19\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Height:5.5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Weight:31\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Display using object of the class\n",
+        "Name: Amit\n",
+        "Age: 20\n",
+        "Destructor of Derived class\n",
+        "Display using class name\n",
+        "Name: Ajay\n",
+        "Age: 21\n",
+        "Display using direct member variable\n",
+        "Name: Arun\n",
+        "Age 19\n",
+        "height: 5.5\n",
+        "Weight: 31\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.27, Page Number:488"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#derive a class from two base classes,object of these 2 classes is the member variable of the third class\n",
+      "#Base1 class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.a1=None\n",
+      "#Base2 class        \n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        self.b1=None\n",
+      "#derived class\n",
+      "class AB:\n",
+      "    def __init__(self):\n",
+      "        a=A()      #create the instances of the base classes,to visible in this block\n",
+      "        b=B()\n",
+      "        a.a1=65     #initialize the two data members of the class A and B and Display them\n",
+      "        b.b1=66\n",
+      "        print \"a1=\",a.a1, \"b1=\",b.b1\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        pass\n",
+      "    \n",
+      "    \n",
+      "ab=AB() #ab is the instance of the derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a1= 65 b1= 66\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.28, Page Number:489"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#create derived class from qualifier class\n",
+      "#Base class,container class for the class B\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "        \n",
+      "    class B:  #nested class\n",
+      "        def __init__(self):\n",
+      "            self.y=None\n",
+      "            \n",
+      "            \n",
+      "class C(A,A.B): #A.B is the inner class of the class A\n",
+      "    def __init__(self,j,k,l):\n",
+      "        self.x=j   #set the container base class data member\n",
+      "        self.y=k  #set the data member of the nested class\n",
+      "        self.z=l\n",
+      "        \n",
+      "    def show(self):  #show method to show all the data members\n",
+      "        print \"x=\",self.x,\"y=\",self.y,\"z=\",self.z\n",
+      "        \n",
+      "        \n",
+      "c=C(4,7,1) #assign all the data members by invocation of the derived class constructor\n",
+      "c.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 4 y= 7 z= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.29, Page Number:490"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialize member variable of the base class and derived class using constructor of the derived class\n",
+      "#Base class\n",
+      "class A:\n",
+      "    def __init__(self):  #constructor\n",
+      "        self._x=None     #protected members\n",
+      "        self._y=None\n",
+      "        \n",
+      "class B(A):\n",
+      "    def __init__(self): #derived class constructor\n",
+      "        self.z=3    \n",
+      "        self.__x=1     #private members\n",
+      "        self.__y=2\n",
+      "        \n",
+      "        print \"x=\",self.__x,\"y=\",self.__y,\"z=\",self.z\n",
+      "        \n",
+      "b=B() #instance of the derived class"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 1 y= 2 z= 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.30, Page Number:491"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#access data members by object pointer\n",
+      "\n",
+      "from ctypes import *\n",
+      "import ctypes\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=1\n",
+      "        self.y=2\n",
+      "        \n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        A.__init__(self)\n",
+      "        self.z=3\n",
+      "        \n",
+      "b=B()\n",
+      "\n",
+      "\n",
+      "i=c_int(b.z)\n",
+      "p=pointer(i)\n",
+      "print \"Address of z:\",addressof(p),\"Value of Z:\",p[0] #access the\n",
+      "\n",
+      "i = c_int(b.y)\n",
+      "p = pointer(i)\n",
+      "print \"Address of y:\",addressof(p),\"Value of y:\",p[0]  \n",
+      "\n",
+      "i = c_int(b.x)\n",
+      "p = pointer(i)\n",
+      "print \"Address of x:\",addressof(p),\"Value of x:\",p[0]  \n",
+      "\n",
+      "#**NOTE-In case of C++ the data members of the derived class and base class are stored in contigious memory locations so we can \n",
+      "#access the three variables by using a pointer of derived class and decrementing its value. But in case of Python they are NOT stored \n",
+      "#in contogious memory locations so for accessing each data member we have to create individual object pointer for each class."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Address of z: 57077392 Value of Z: 3\n",
+        "Address of y: 57074448 Value of y: 2\n",
+        "Address of x: 57077648 Value of x: 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.31, Page Number:492"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#overload member function in base and derived class\n",
+      "#Base class\n",
+      "class B:\n",
+      "    def show(self): #method to be ovveriden\n",
+      "        print \"In base class function\"\n",
+      "        \n",
+      "class D(B):\n",
+      "    def show(self): #Derived class method,ovveride to the base class\n",
+      "        \n",
+      "        print \"In Derived class\"\n",
+      "    \n",
+      "    \n",
+      "b=B()  #b is the base class instance\n",
+      "d=D()  #d is the derived class instance\n",
+      "\n",
+      "b.show()\n",
+      "d.show()\n",
+      "\n",
+      "bp=[B()]  #create a base class pointer variable\n",
+      "bp[0]=d   #assign address of the derived class object to the base class pointer\n",
+      "bp[0].show()  #call the derived class method by base class pointer\n",
+      "b.show()  #calling the base class method by base class object"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In base class function\n",
+        "In Derived class\n",
+        "In Derived class\n",
+        "In base class function\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.32, Page Number:495"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constuctor and destructors in single inheritance\n",
+      "\n",
+      "#Base class\n",
+      "class Father:\n",
+      "    def __init__(self): #Constructor to set the data member name\n",
+      "        print \"Base Class constructor.\"\n",
+      "        self._name=raw_input(\"Enter Father Name:\")\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Base class Destructor.\"\n",
+      "\n",
+      "#Derived class\n",
+      "class Child(Father):\n",
+      "    def __init__(self):#Constructor to set the data member cname\n",
+      "        Father.__init__(self)   #invocation of base class constructor\n",
+      "        print \"Derived class constructor.\"\n",
+      "        self.__cname=raw_input(\"Enter child name:\")\n",
+      "        \n",
+      "    def __del__(self):  #destructor to set the data member cname\n",
+      "        print \"Derived class destructor.\"\n",
+      "        print \"\",self.__cname,\"\",self.__name \n",
+      "        for b in self.__class__.__bases__:  #invocation of base class destructor\n",
+      "            b.__del__(self)\n",
+      "       \n",
+      "        \n",
+      "        \n",
+      "C=Child()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Base Class constructor.\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Father Name:Manoj\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Derived class constructor.\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter child name:Sanjay\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Derived class destructor.\n",
+        " Sanjay  Manoj\n",
+        "Base class Destructor.\n"
+       ]
+      }
+     ],
+     "prompt_number": 37
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.33, Page Number:496"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Constuctor and destructors in multilevel inheritance\n",
+      "#Base class\n",
+      "class Grandfather:\n",
+      "    def __init__(self): #Constructor to set the data member gname\n",
+      "        print\"Constructor of class grandfather\"\n",
+      "        self._gname=raw_input(\"Enter Grandfather Name:\")\n",
+      "        \n",
+      "        \n",
+      "    def __del__(self): #Destructor to show the data member gname\n",
+      "        print \"Destructor of class grandfather\"\n",
+      "        \n",
+      " \n",
+      "#Derived1 class\n",
+      "class Father(Grandfather):\n",
+      "    def __init__(self):   #Constructor to set the data member name\n",
+      "        Grandfather.__init__(self) #invocation of base class constructor\n",
+      "        print\"Constructor of class Father\"\n",
+      "        self._name=raw_input(\"Enter Father Name:\")\n",
+      "        \n",
+      "        \n",
+      "    def __del__(self): #Destructor to show the data member name\n",
+      "        print \"Destructor of class Father\"\n",
+      "        Grandfather.__del__(self) #invocation of base class destructor\n",
+      " \n",
+      "#Derived2 class\n",
+      "class Child(Father):\n",
+      "    def __init__(self): #Constructor to set the data member cname\n",
+      "        Father.__init__(self) #invocation of base class constructor\n",
+      "        print\"Constructor of class Child\"\n",
+      "        self.__cname=raw_input(\"Enter Child Name:\")\n",
+      "        \n",
+      "        \n",
+      "    def __del__(self): #Destructor to show the data member name\n",
+      "        print \"Destructor of class Child\"\n",
+      "        print \"Grandfather:\",self._gname,\"Father:\",self._name,\"Child:\",self.__cname\n",
+      "        Father.__del__(self) #invocation of base class destructor\n",
+      "            \n",
+      "#instance of the Derived2 class  \n",
+      "C=Child()\n",
+      "\n",
+      "del C   #call the destructor of the derived class\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class grandfather\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Grandfather Name:x\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class Father\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Father Name:y\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class Child\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Child Name:z\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Destructor of class Child\n",
+        "Grandfather: x Father: y Child: z\n",
+        "Destructor of class Father\n",
+        "Destructor of class grandfather\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.34, Page Number:498"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#program to explain multilevel inheritance with member function\n",
+      "\n",
+      "#Base class\n",
+      "class Grandfather:\n",
+      "    def __init__(self):\n",
+      "        self.__gname=None\n",
+      "        \n",
+      "    def getg(self): #method to set the data member gname\n",
+      "        self.__gname=raw_input(\"Enter Grandfather Name:\")\n",
+      "        \n",
+      "    def showg(self):#method to show the data member gname\n",
+      "        print \"Grandfather Name:\",self.__gname\n",
+      "        \n",
+      " \n",
+      "#Derived1 class\n",
+      "class Father(Grandfather):\n",
+      "    def __init__(self):\n",
+      "        self.__name=None\n",
+      "        \n",
+      "    def getf(self): #method to set the data member name\n",
+      "        self.__name=raw_input(\"Enter Father Name:\")\n",
+      "        \n",
+      "    def showf(self): #method to show the data member name\n",
+      "        print \"Father Name:\",self.__name\n",
+      "        \n",
+      "#Derived2 class        \n",
+      "class Child(Father):\n",
+      "    def __init__(self):\n",
+      "        self.__cname=None\n",
+      "        \n",
+      "    def getc(self): #method for invocation of base class methods and set the data member cname\n",
+      "        self.getg()\n",
+      "        self.getf()\n",
+      "        self.__cname=raw_input(\"Enter Child Name:\")\n",
+      "        \n",
+      "    def showc(self): #method for invocation of base class methods and set the data member cname\n",
+      "        self.showg()\n",
+      "        self.showf()\n",
+      "        print \"child Name:\",self.__cname\n",
+      "        \n",
+      "C=Child()  #cretaion of a instance of Derived2 class\n",
+      "C.getc()   #invocation of the method of Derived2 class for setting all the data member value\n",
+      "C.showc()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Grandfather Name:XXX\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Father Name:YYY\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Child Name:ZZZ\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Grandfather Name: XXX\n",
+        "Father Name: YYY\n",
+        "child Name: ZZZ\n"
+       ]
+      }
+     ],
+     "prompt_number": 40
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.35, Page Number:499"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#execution of constructor and destructor in multilevel inheritance\n",
+      "\n",
+      "#Base1 class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class A\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class A\"\n",
+      "        \n",
+      "#Base2 class        \n",
+      "class B:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class B\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class B\"\n",
+      "#Base3 class        \n",
+      "class C:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class C\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class C\"\n",
+      "    \n",
+      "#Derived class,Multiple Derivation    \n",
+      "class D(A,B,C):\n",
+      "    def __init__(self):\n",
+      "        for b in self.__class__.__bases__: #invoke all the base class constructors\n",
+      "            b.__init__(self) \n",
+      "        print \"Constructor of class D\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class D\"    #invoke all the base class destructors\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__del__(self)\n",
+      "            \n",
+      "x=D()      \n",
+      "         #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class A\n",
+        "Constructor of class B\n",
+        "Constructor of class C\n",
+        "Constructor of class D\n",
+        "Destructor of class D\n",
+        "Destructor of class A\n",
+        "Destructor of class B\n",
+        "Destructor of class C\n"
+       ]
+      }
+     ],
+     "prompt_number": 42
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.37, Page Number:502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#execution of constructor and destructor in multilevel inheritance\n",
+      "\n",
+      "#Base class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class A\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class A\"\n",
+      "        \n",
+      "#Derived1 class\n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        A.__init__(self)\n",
+      "        print \"Constructor of class B\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class B\"\n",
+      "        A.__del__(self)\n",
+      "\n",
+      "#Derived2 class\n",
+      "class C:\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor of class C\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class C\"\n",
+      "    \n",
+      "#Derived3 class,multiple derivation\n",
+      "class D(B,C):\n",
+      "    def __init__(self):\n",
+      "        B.__init__(self)\n",
+      "        C.__init__(self)\n",
+      "        print \"Constructor of class D\"\n",
+      "        \n",
+      "    def __del__(self):\n",
+      "        print \"Destructor of class D\"\n",
+      "        B.__del__(self)\n",
+      "        C.__del__(self)\n",
+      "            \n",
+      "x=D()    #creation of Derived3 class instance\n",
+      "del x\n",
+      "         #**NOTE:Python destuctor is called when program goes exit. So output may be differ than c++"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class A\n",
+        "Constructor of class B\n",
+        "Constructor of class C\n",
+        "Constructor of class D\n",
+        "Destructor of class D\n",
+        "Destructor of class B\n",
+        "Destructor of class A\n",
+        "Destructor of class C\n"
+       ]
+      }
+     ],
+     "prompt_number": 54
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.37, Page Number:502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrate single inheritance\n",
+      "\n",
+      "#Base class\n",
+      "class A:\n",
+      "    def __init__(self,j=0):\n",
+      "        self._c=j            #protected Member\n",
+      "        \n",
+      "    def show(self):          #Public member \n",
+      "        print \"c=\",self._c\n",
+      "        \n",
+      "    def inc(self):           #public increment method of base class\n",
+      "        self._c=self._c+1\n",
+      "        return self._c\n",
+      "    \n",
+      "class B(A):\n",
+      "    \n",
+      "    def __init_(self):\n",
+      "        for b in self.__class__.__bases__:\n",
+      "            b.__init__(self)\n",
+      "        \n",
+      "    def dec(self):          #public increment method of derived class\n",
+      "        self._c=self._c-1\n",
+      "        return self._c\n",
+      "    \n",
+      "    \n",
+      "a=B()             #create a instance of a derived class\n",
+      "\n",
+      "a.inc()           #call the base class public member function by derived class instance for increment\n",
+      "a.show()\n",
+      "\n",
+      "\n",
+      "a.dec()          #call the derived class public member function by derived class instance for decrement\n",
+      "a.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "c= 1\n",
+        "c= 0\n"
+       ]
+      }
+     ],
+     "prompt_number": 44
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.38, Page Number:502"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#access method from private inheritance\n",
+      "\n",
+      "#base class\n",
+      "class B:\n",
+      "    def one(self):   #Public Member\n",
+      "        print \"one\"\n",
+      "        \n",
+      "    def __two(self): #Private Member\n",
+      "        print \"two\"\n",
+      "        \n",
+      "class D(B):\n",
+      "    def __init__(self):\n",
+      "       pass\n",
+      "        \n",
+      "d=D()\n",
+      "d.one()\n",
+      "#d.two()    #Not accesible"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "one\n"
+       ]
+      }
+     ],
+     "prompt_number": 45
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.39, Page Number:503"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#create a comman constructor in the lowermost class, in the multilevel inheritance\n",
+      "\n",
+      "#Base class\n",
+      "class A:\n",
+      "    def __init__(self):\n",
+      "        self.x=None\n",
+      "        \n",
+      "#Derived1 class\n",
+      "class B(A):\n",
+      "    def __init__(self):\n",
+      "        self.y=None\n",
+      "\n",
+      "#Derived2 class\n",
+      "class C(B):\n",
+      "    def __init__(self,j,k,l):\n",
+      "        self.z=l                #Initializing the base class data members by calling base class constructor\n",
+      "        self.x=j\n",
+      "        self.y=k\n",
+      "        \n",
+      "    def show(self):\n",
+      "        print \"x=\",self.x,\"Y=\",self.y,\"z=\",self.z\n",
+      "\n",
+      "#Creation of instance of derived2 class,with constructor invocation  \n",
+      "c=C(4,7,1)\n",
+      "c.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x= 4 Y= 7 z= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 46
+    },
+    {
+     "cell_type": "heading",
+     "level": 3,
+     "metadata": {},
+     "source": [
+      "Example 11.40, Page Number:504"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Explicitly call the base constructor  in multiple inheritance\n",
+      "\n",
+      "#Base class\n",
+      "class X:\n",
+      "    def __init__(self,a):\n",
+      "        print a,\n",
+      "#Base class        \n",
+      "class Y:\n",
+      "    def __init__(self,b):\n",
+      "        print b,\n",
+      "#multiple Derivation       \n",
+      "class Z(X,Y):\n",
+      "    def __init__(self,p,q,r):\n",
+      "        X.__init__(self,p)\n",
+      "        Y.__init__(self,q)\n",
+      "        print r\n",
+      "        \n",
+      "#Creation of instance of derived class,with constructor invocation        \n",
+      "z=Z(1,2,3)\n",
+      "        "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1 2 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 47
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Abu BakkerSiddik/Functions_.ipynb b/sample_notebooks/Abu BakkerSiddik/Functions_.ipynb
new file mode 100755
index 00000000..4a23de26
--- /dev/null
+++ b/sample_notebooks/Abu BakkerSiddik/Functions_.ipynb	
@@ -0,0 +1,1441 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:63dae7729725476213c038c75f708a0afd5386cd85264fbfba4fc7a16437b94f"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6: Functions"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 page 217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def power(x,n):                                 #Function header\n",
+      "    # Function body starts here....\n",
+      "    result=1.0                                  #declaration of variable result    \n",
+      "    for i in range(1,n+1,1):\n",
+      "        result*=x                               #computing X to power n\n",
+      "    return result                               #returning result\n",
+      "#Function body ends here....\n",
+      "\n",
+      "print \"result=%f\" % (power(2,2))                #function call\n",
+      "print \"result=%f\" % (power(3,3))                #function call"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "result=4.000000\n",
+        "result=27.000000\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 page 218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def FtoC(faren):                                #Function header\n",
+      "    # Function body starts here....\n",
+      "    factor =5.0/9.0\n",
+      "    freezing=32.0 \n",
+      "    celcius=factor*(faren-freezing)             #computing temp in celcius\n",
+      "    return celcius                              #returning result\n",
+      "#Function body ends here....\n",
+      "\n",
+      "print \"result=%f\" % (FtoC(32.0))                #function call"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "result=0.000000\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 page 218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#prototype not present in Python def sum_(a,b);\n",
+      "def main():\n",
+      "    a=5\n",
+      "    b=10\n",
+      "    print \"sum=%d\" % (sum_(a,b))\n",
+      "    return\n",
+      "#Main ends here....\n",
+      "\n",
+      "def sum_(x,y):\n",
+      "# Function body starts here....\n",
+      "    return x+y                     #returning result\n",
+      "#Function body ends here....\n",
+      "main()                             #Calling main function"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "sum=15\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 page 219"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def leap_yr(yr):                                #Function Defination\n",
+      "# Function body starts here....\n",
+      "    if((yr%4==0) and (yr%100!=0) or yr%400==0):\n",
+      "        return 1                                #returning result\n",
+      "    else:\n",
+      "        return 0                                #returning result\n",
+      "#Function body ends here.... \n",
+      "print leap_yr(2016)                                   #Calling function"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 page 220"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def main():                                     #main starts here\n",
+      "    print \"Temperature in Fahrenheit scale: \"\n",
+      "    tempInF=eval(raw_input())\n",
+      "    tempInC=FtoC(tempInF)                                              #function FtoC() called from In[2]\n",
+      "    print \"%f Fahrenheit equals %f Celcius \\n \" % (tempInF,tempInC)\n",
+      "    return\n",
+      "                                                #main ends here\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Temperature in Fahrenheit scale: \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "32\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "32.000000 Fahrenheit equals 0.000000 Celcius \n",
+        " \n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 page 221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#main starts here\n",
+      "def main():                              \n",
+      "    num=3\n",
+      "    print \"\\n num = %d before function call.\" % (num)       #taking input from user\n",
+      "    result=mul_by_10(num)                                   #function call\n",
+      "    print \"\\n result = %d, after return from function.\" % (result)   #Displaying result\n",
+      "    print \"\\n num = %d\" % (num)\n",
+      "    return\n",
+      "#main ends here\n",
+      "def mul_by_10(num):       #Function header\n",
+      "    num*=10;              #Function body starts here\n",
+      "    return num            #returning result\n",
+      "                          #Function body ends here\n",
+      "main()                    #calling main function"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        " num = 3 before function call.\n",
+        "\n",
+        " result = 30, after return from function.\n",
+        "\n",
+        " num = 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 7 page 222"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def main():                             #main starts here\n",
+      "    print \"Enter two numbers: \"\n",
+      "    nOne=eval(raw_input())              #taking input from user\n",
+      "    nTwo=eval(raw_input())              #taking input from user\n",
+      "    n=GCD(nOne,nTwo)\n",
+      "    print \"\\nGCD of %d and %d is %d \\n\" %(nOne,nTwo,n)        #main ends here\n",
+      "    return\n",
+      "def GCD(x,y):                           #function starts here\n",
+      "    result=1\n",
+      "    k=2\n",
+      "    while((k<=x) and (k<=y)):           #checking if x and y are greater than k\n",
+      "        if((x%k==0) and (y%k==0)):\n",
+      "            result=k\n",
+      "        k+=1\n",
+      "    return result                       #function ends here\n",
+      "main()                                  #function call"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter two numbers: \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "GCD of 4 and 8 is 4 \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 8 page 222"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def main():                               #main starts here\n",
+      "    print \"\\nEnter the Number: \"\n",
+      "    n=eval(raw_input())                   #taking input from user\n",
+      "    print \"\\nPrime factors on %d is...\\n \" % (n)       \n",
+      "    for d in range(2,(n/2)+1,1):\n",
+      "        if((n%d==0) and isPrime(d)):      #calculating prime factors, isPrime() function\n",
+      "            print \"%d\" % (d)\n",
+      "    return                                #main ends here \n",
+      "def isPrime(x):                           #isPrime() function starts here\n",
+      "    for d in range(2,(x/2)+1,1):\n",
+      "        if(x%d==0):\n",
+      "            return 0\n",
+      "    return 1                              #isPrime() function ends here\n",
+      "main()                                    #calling main"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter the Number: \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Prime factors on 2 is...\n",
+        " \n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9 page 223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def main():                           #main starts here\n",
+      "    arr=[1,2,3]                       #Array declaration and initialisation\n",
+      "    change(arr)                       #calling function\n",
+      "    print \"Elements are %d, %d and %d\" % (arr[0],arr[1],arr[2])\n",
+      "    return                            #main starts here\n",
+      "def change(my_array):\n",
+      "    my_array[0]=10                    #Changing values\n",
+      "    my_array[1]=20\n",
+      "    return\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Elements are 10, 20 and 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 10 page 223 and 224"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#main starts here\n",
+      "def main():\n",
+      "    arr=[3,2,7,0,6,4,9,8,1,5]  #array declaration and initializtion\n",
+      "    print \"The array before sort is: \\n\" \n",
+      "    for i in range(0,10,1):    #displaying array values before changing\n",
+      "        print arr[i],\n",
+      "    sort(arr,10)\n",
+      "    print \"\\nThe array after sort is: \\n\"\n",
+      "    for i in range(0,10,1):    #displaying array values after changing\n",
+      "        print arr[i],\n",
+      "    return\n",
+      "#main ends here\n",
+      "#functions starts here\n",
+      "def sort(a,n):\n",
+      "    for i in range(0,n-1,1):       #sorting array values\n",
+      "        for j in range(0,n-i-1,1):\n",
+      "            if(a[j]>a[j+1]):\n",
+      "                temp=a[j]\n",
+      "                a[j]=a[j+1]\n",
+      "                a[j+1]=temp\n",
+      "    return\n",
+      "#functions ends here\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The array before sort is: \n",
+        "\n",
+        "3 2 7 0 6 4 9 8 1 5 \n",
+        "The array after sort is: \n",
+        "\n",
+        "0 1 2 3 4 5 6 7 8 9\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 11 page 224"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#main starts here\n",
+      "def main():\n",
+      "    myInts=[1,2,3,4,5,6,7,8,9,10]          #Array initialisation and declaration\n",
+      "    size=10\n",
+      "    print \"\\n\\nThe given numbers are:\"\n",
+      "    for i in range(0,size,1):             #displaying array values before changing\n",
+      "        print myInts[i],\n",
+      "    doubleThem(myInts,size)               #calling function\n",
+      "    print \"\\nThe double numbers are: \"\n",
+      "    for i in range(0,size,1):             #displaying array values after changing\n",
+      "        print myInts[i],\n",
+      "    return\n",
+      "#main ends here\n",
+      "#*********function defination***********#\n",
+      "def doubleThem(a,size):\n",
+      "    for i in range(0,size,1):            #multplying array values by 2\n",
+      "        a[i]=2*a[i]\n",
+      "    return\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "\n",
+        "The given numbers are:\n",
+        "1 2 3 4 5 6 7 8 9 10 \n",
+        "The double numbers are: \n",
+        "2 4 6 8 10 12 14 16 18 20\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 12 page 224 and 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#main starts here\n",
+      "def main():\n",
+      "    b=list()   #array declaration\n",
+      "    n=input(\"How many students?\")\n",
+      "    print \"Enter the age of students\\n\"\n",
+      "    for i in range(0,n,1):    #taking input from user\n",
+      "        val=input()\n",
+      "        b.append(val)\n",
+      "    average=avg_age(b,n)      #calling function\n",
+      "    print \"\\nThe avg age of students is = %f\" % average\n",
+      "    return\n",
+      "#main ends here\n",
+      "def avg_age(a,n):\n",
+      "    sum=0.0\n",
+      "    for j in range(0,n,1):   #calculating avg age\n",
+      "        sum=sum+a[j]\n",
+      "    return sum/n\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many students?5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the age of students\n",
+        "\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "10\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "10\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "10\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "10\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "10\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "The avg age of students is = 10.000000\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 13 page 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#main starts here\n",
+      "def main():\n",
+      "    values=list()           #array declaration\n",
+      "    print \"Enter 5 numbers\"\n",
+      "    for i in range(0,5,1):  #taking input from user\n",
+      "        val=input()\n",
+      "        values.append(val)\n",
+      "    max1=maximum(values,5)  #calling function\n",
+      "    print \"Maximum value is %d\\n\" % max1\n",
+      "    return\n",
+      "#main ends here\n",
+      "#function begins here\n",
+      "def maximum(values,n):\n",
+      "    max_value=values[0]\n",
+      "    for i in range(0,n,1):  #finding maximum value\n",
+      "        if(values[i]>max_value):\n",
+      "            max_value=values[i]\n",
+      "    return max_value\n",
+      "#function ends here\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter 5 numbers\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "125\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "365\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "552\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "001\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "-568\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum value is 552\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 14 page 225 and 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def main():\n",
+      "    a=list()          #source string\n",
+      "    b=list()          #destination string\n",
+      "    print \"Input source string: \"\n",
+      "    a=raw_input()     #read input string\n",
+      "    b=string_copy(b,a)  #function call\n",
+      "    print \"\\nDestination string: %s\\n\" % b\n",
+      "    return\n",
+      "#function call\n",
+      "def string_copy(d,s):\n",
+      "    print \"\\nSource string: %s\" % s \n",
+      "    #copying the string\n",
+      "    d=s\n",
+      "    return d\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Input source string: \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i love python\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Source string: i love python\n",
+        "\n",
+        "Destination string: i love python\n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 15 page 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "\n",
+      "ROW=2                        #define row 3\n",
+      "COLUMN=3                    #define col 3\n",
+      "def main():     \n",
+      "    global ROW,COLUMN\n",
+      "    a=[[0 for row in range(0,COLUMN)] for col in range(0,ROW)]\n",
+      "    b=[[0 for row in range(0,COLUMN)] for col in range(0,ROW)]\n",
+      "    print \"\\nEnter elements of the first matrix.\\n\"\n",
+      "    #Read first matrix elements\n",
+      "    for i in range(ROW):\n",
+      "        for j in range(COLUMN):\n",
+      "            a[i][j]=input()\n",
+      "    print \"\\nEnter elements of the second matrix.\\n\"\n",
+      "    #Read second matrix elements\n",
+      "    for i in range(ROW):\n",
+      "        for j in range(COLUMN):\n",
+      "            b[i][j]=input()\n",
+      "    mat_arith(a,b)  #function call\n",
+      "def mat_arith(a,b):\n",
+      "    global ROW,COLUMN\n",
+      "    c=[[0 for row in range(0,COLUMN)] for col in range(0,ROW)]\n",
+      "    print \"\\nFor addition enter: 1\\n\"\n",
+      "    print \"\\nFor subtraction enter: 2\\n\"\n",
+      "    print \"\\nEnter your choice\\n\"\n",
+      "    choice=eval(raw_input())\n",
+      "    for i in range(ROW):\n",
+      "         for j in range(COLUMN):\n",
+      "                if choice == 1:      #checking for addation and subtraction and performing it\n",
+      "                    c[i][j]=a[i][j]+b[i][j]\n",
+      "                elif choice == 2:\n",
+      "                    c[i][j]=a[i][j]-b[i][j]\n",
+      "                else:\n",
+      "                    print \"Invalid choice. Task not done.\"\n",
+      "                    return\n",
+      "    print \"\\nThe resulting matrix is:\\n\"\n",
+      "    for i in range(ROW):\n",
+      "         for j in range(COLUMN):\n",
+      "             print c[i][j],\n",
+      "         print(\"\\n\")\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter elements of the first matrix.\n",
+        "\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "6\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "10\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter elements of the second matrix.\n",
+        "\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "7\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "9\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "11\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "For addition enter: 1\n",
+        "\n",
+        "\n",
+        "For subtraction enter: 2\n",
+        "\n",
+        "\n",
+        "Enter your choice\n",
+        "\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "The resulting matrix is:\n",
+        "\n",
+        "3 7 11 \n",
+        "\n",
+        "14 17 21 \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 16 page 227 and 228"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#main strats here\n",
+      "def main():\n",
+      "    a=5\n",
+      "    b=7\n",
+      "    print \"In main: a= %d, b= %d\\n\" % (a,b)\n",
+      "    exchange(a,b)   #calling function\n",
+      "    print\"\\nBack in main:\"\n",
+      "    print\"a= %d, b= %d\" % (a,b)\n",
+      "    return\n",
+      "#main ends here\n",
+      "#function starts here\n",
+      "def exchange(a,b):\n",
+      "    print\"In function exchange() before change: just received from main... a=%d and b=%d \" % (a,b)\n",
+      "    #exchanging values\n",
+      "    temp=a\n",
+      "    a=b\n",
+      "    b=temp\n",
+      "    print\"In function exchange() after change:\"\n",
+      "    print\"a=%d and b=%d \" % (a,b)\n",
+      "    return\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In main: a= 5, b= 7\n",
+        "\n",
+        "In function exchange() before change: just received from main... a=5 and b=7 \n",
+        "In function exchange() after change:\n",
+        "a=7 and b=5 \n",
+        "\n",
+        "Back in main:\n",
+        "a= 5, b= 7\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 17 page 228"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "a=5        #declaration of global variables\n",
+      "b=7\n",
+      "#main starts here\n",
+      "def main():\n",
+      "    global a\n",
+      "    global b\n",
+      "    print \"In main: a= %d, b= %d\\n\" % (a,b)\n",
+      "    exchange() #calling function\n",
+      "    print\"\\nBack in main:\",\n",
+      "    print\"a= %d, b= %d\" % (a,b)\n",
+      "#main ends here\n",
+      "#function starts here\n",
+      "def exchange():\n",
+      "    global a\n",
+      "    global b\n",
+      "    print\"In function exchange() before change: just received from main... a=%d and b=%d \" % (a,b)\n",
+      "    temp=a\n",
+      "    a=b\n",
+      "    b=temp\n",
+      "    print\"In function exchange() after change:\",\n",
+      "    print\"a=%d and b=%d \" % (a,b)\n",
+      "    return\n",
+      "#function ends here\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "In main: a= 5, b= 7\n",
+        "\n",
+        "In function exchange() before change: just received from main... a=5 and b=7 \n",
+        "In function exchange() after change: a=7 and b=5 \n",
+        "\n",
+        "Back in main: a= 7, b= 5\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 18 page 229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def fn1():\n",
+      "    #variable declaration in inner block\n",
+      "    x=45\n",
+      "    print\"\\nin inner block x= %d\" % x\n",
+      "#variable declaration in outer block\n",
+      "x=3\n",
+      "print \"\\nin outer block x = %d before executing inner block\" % x\n",
+      "fn1()\n",
+      "print \"\\nin outer block x = %d after executing inner block\" % x"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "in outer block x = 3 before executing inner block\n",
+        "\n",
+        "in inner block x= 45\n",
+        "\n",
+        "in outer block x = 3 after executing inner block\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 19 page 231"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#function starts here\n",
+      "def fn1():\n",
+      "    a=10\n",
+      "    i=4199232\n",
+      "    print \"a=%d\" % a\n",
+      "    print \"i=%d\" % i\n",
+      "#function ends here\n",
+      "a=5\n",
+      "print \"a=%d\" % a\n",
+      "fn1()  #function call\n",
+      "print \"a=%d\" % a"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a=5\n",
+        "a=10\n",
+        "i=4199232\n",
+        "a=5\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 20 page 232"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "i = 0\n",
+      "#function starts here\n",
+      "def show():\n",
+      "    global i\n",
+      "    print 'i =',i\n",
+      "    i+=1\n",
+      "#function ends here\n",
+      "print\"\\nFirst call of show()\"\n",
+      "show()  #function call\n",
+      "print\"\\nSecond call of show()\"\n",
+      "show()  #function call\n",
+      "print\"\\nThird call of show()\"\n",
+      "show()  #function call"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "First call of show()\n",
+        "i = 0\n",
+        "\n",
+        "Second call of show()\n",
+        "i = 1\n",
+        "\n",
+        "Third call of show()\n",
+        "i = 2\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 21 page 231"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "i = None\n",
+      "#function starts here\n",
+      "def show():\n",
+      "    print 'Value of i in pgm2.c =',i\n",
+      "#function ends here\n",
+      "i = 10\n",
+      "#function call\n",
+      "show()\n",
+      "print 'Value of i in pgm1.c =',i"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Value of i in pgm2.c = 10\n",
+        "Value of i in pgm1.c = 10\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 22 page 233"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "i = None\n",
+      "#function starts here\n",
+      "def show():\n",
+      "    global i\n",
+      "    i = 20\n",
+      "    print \"value of i in pgm2.c = \", i\n",
+      "#function ends here\n",
+      "show()  #function call\n",
+      "print\"Value of i in pgm1.c =\",i"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "value of i in pgm2.c =  20\n",
+        "Value of i in pgm1.c = 20\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 23 page 236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import sys, traceback\n",
+      "#main starts here\n",
+      "def main():\n",
+      "    print \"\\nEnter the number of terms: \"\n",
+      "    i=eval(raw_input())   #taking input\n",
+      "    if (i<0): \n",
+      "        print\"\\nError - Number of terms cannot be negative\\n\"\n",
+      "        sys.exit(0)\n",
+      "    print\"Fibonacci sequence for %d terms is: \" % i\n",
+      "    for j in range(1,i+1,1):\n",
+      "        print\"%d\" % fib(j)    #function call\n",
+      "#function ends here\n",
+      "#function starts here\n",
+      "def fib(val):\n",
+      "    if(val<=2):\n",
+      "        return 1\n",
+      "    else:\n",
+      "        return(fib(val-1)+fib(val-2))\n",
+      "#function ends here\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter the number of terms: \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Fibonacci sequence for 5 terms is: \n",
+        "1\n",
+        "1\n",
+        "2\n",
+        "3\n",
+        "5\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 24 page 237"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#main starts here\n",
+      "def main():\n",
+      "    print\"Enter the numbers: \"\n",
+      "    i=eval(raw_input())\n",
+      "    j=eval(raw_input())\n",
+      "    print\"The GCD of %d and %d is %d\" % (i,j,gcd(i,j))   #calling gcd function\n",
+      "    return\n",
+      "#function ends here\n",
+      "#function starts here\n",
+      "def gcd(a,b):\n",
+      "    remainder=a%b\n",
+      "    if(remainder==0):\n",
+      "        return b\n",
+      "    else:\n",
+      "        return gcd(b,remainder)      #recursive call to itself, gcd function\n",
+      "#function ends here\n",
+      "main()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the numbers: \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "8\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The GCD of 4 and 8 is 4\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/AkshayShende/chapter2.ipynb b/sample_notebooks/AkshayShende/chapter2.ipynb
new file mode 100755
index 00000000..d82b3395
--- /dev/null
+++ b/sample_notebooks/AkshayShende/chapter2.ipynb
@@ -0,0 +1,65 @@
+{
+ "metadata": {
+  "name": "chapter2.ipynb"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2:Concurrent Forces in A Plane"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.2-1, Page No:10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Initilization of variables\n",
+      "\n",
+      "P=50 #N\n",
+      "Q=100 #N\n",
+      "beta=150 #degree # angle between P & the horizontal\n",
+      "\n",
+      "#Calculations\n",
+      "\n",
+      "R=(P**2+Q**2-(2*P*Q*cos(beta*(pi/180))))**0.5 # using the Trignometric solution\n",
+      "Alpha=(arcsin(((sin(beta*(pi/180))*Q)/R)))*(180/pi)+15 #Angle in degrees\n",
+      "\n",
+      "#Result\n",
+      "print \"The magnitude of resultant is\",round(R,2),\"N\"\n",
+      "print \"The direction of resultant is\",round(Alpha,2),\"degrees\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The magnitude of resultant is 145.47 N\n",
+        "The direction of resultant is 35.1 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Aman KumarJain/Chapter_6_Objects_and_Classes_1.ipynb b/sample_notebooks/Aman KumarJain/Chapter_6_Objects_and_Classes_1.ipynb
new file mode 100755
index 00000000..89a18f99
--- /dev/null
+++ b/sample_notebooks/Aman KumarJain/Chapter_6_Objects_and_Classes_1.ipynb	
@@ -0,0 +1,934 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:bd4e7931ddf89d8dc8befb681e1e57c7a9c742cd8abe8e18a494a55156d56cee"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 6: Objects and Classes"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.1, Page Number: 216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class smallobj:    #define a class\n",
+      "    \n",
+      "    def setdata(self,d):    #member function to set class variable somdata\n",
+      "        self.__somedata = d\n",
+      "        \n",
+      "    def showdata(self):     #member function to display somedata \n",
+      "        print 'Data is ' , self.__somedata\n",
+      "\n",
+      "\n",
+      "#define two objects of class smallobj\n",
+      "s1=smallobj()\n",
+      "s2=smallobj()\n",
+      "\n",
+      "#call member function to set data \n",
+      "s1.setdata(1066)\n",
+      "s2.setdata(1776)\n",
+      "\n",
+      "#call member function to display data \n",
+      "s1.showdata()\n",
+      "s2.showdata()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1066\n",
+        "Data is  1776\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.2, Page Number: 223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class part:    #define class \n",
+      "    \n",
+      "    def setpart(self,mn,pn,c):    #set data\n",
+      "        self.__modelnumber = mn\n",
+      "        self.__partnumber = pn\n",
+      "        self.__cost = c\n",
+      "    \n",
+      "    def showpart(self):          #display data \n",
+      "        print 'Model' , self.__modelnumber ,\n",
+      "        print ', part' , self.__partnumber , \n",
+      "        print ', costs $',self.__cost\n",
+      "        \n",
+      "#define object of class part     \n",
+      "part1 = part()\n",
+      "\n",
+      "#call member function setpart\n",
+      "part1.setpart(6244,373,217.55)\n",
+      "\n",
+      "#call member function showpart\n",
+      "part1.showpart()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Model 6244 , part 373 , costs $ 217.55\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.3, Page Number: 225"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from turtle import *     #importing turtles library\n",
+      "\n",
+      "class circle:            #defining circle class\n",
+      "    \n",
+      "    def set(self,x,y,r,fc):    #sets circle attribute\n",
+      "        self._xCo = x\n",
+      "        self._yCo = y\n",
+      "        self._radius = r\n",
+      "        self._fillcolor = fc\n",
+      "        \n",
+      "    def draw(self):         #draws the circle \n",
+      "        setup()             #set screen\n",
+      "        turtle = Turtle()   #object of Turtle class\n",
+      "        turtle.begin_fill() #start filling color in circle\n",
+      "        turtle.color(self._fillcolor)   #color\n",
+      "        turtle.up()\n",
+      "        turtle.goto(self._xCo,self._yCo)   #set center of circle\n",
+      "        turtle.circle(self._radius)   #draw circle of radius self.__radius\n",
+      "        turtle.end_fill()   #stop filling\n",
+      "        turtle.hideturtle()\n",
+      "        done()\n",
+      "\n",
+      "#creating objects of class circle       \n",
+      "c1 = circle()\n",
+      "c2 = circle()\n",
+      "c3 = circle()\n",
+      "\n",
+      "#sending the value to set fnction\n",
+      "c1.set(15,7,5,\"blue\")\n",
+      "c2.set(41,12,7,\"red\")\n",
+      "c3.set(65,18,4,\"green\")\n",
+      "\n",
+      "#draw circle\n",
+      "c1.draw()\n",
+      "c2.draw()\n",
+      "c3.draw()\n",
+      "\n",
+      "#In the above example the cirlcle's in the book are constructed using 'X' and 'O' but such feature is not available in Python.\n",
+      "#So i have created a simple circle filled with color"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.4, Page Number: 226"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Distance:       #Distance class\n",
+      "    \n",
+      "    def setdist(self,ft,inc):     #set distance to class variables\n",
+      "        self.__feet = ft\n",
+      "        self.__inches = inc\n",
+      "    \n",
+      "    def getdist(self):     #get distance from user\n",
+      "        self.__feet = input('Enter feet:')\n",
+      "        self.__inches = input('Enter inches:')\n",
+      "    \n",
+      "    def showdist(self):    #display distance\n",
+      "        print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+      "\n",
+      "#define two distance\n",
+      "dist1 = Distance()\n",
+      "dist2 = Distance()\n",
+      "\n",
+      "dist1.setdist(11,6.25)   #set dist1\n",
+      "dist2.getdist()     #set dist2 from user\n",
+      "\n",
+      "#show distances\n",
+      "print \"dist1 = \",\n",
+      "dist1.showdist()\n",
+      "print 'dist2 = ',\n",
+      "dist2.showdist()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter feet:17\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter inches:5.75\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "dist1 =  11 ' - 6.25 \"\n",
+        "dist2 =  17 ' - 5.75 \"\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.5, Page Number: 228"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Counter:\n",
+      "    \n",
+      "    def __init__(self):     #constructor\n",
+      "        self.__count = 0\n",
+      "    \n",
+      "    def inc_count(self):    #increment count\n",
+      "        self.__count = self.__count + 1\n",
+      "    \n",
+      "    def get_count(self):    #return count\n",
+      "        return self.__count\n",
+      "\n",
+      "#define and initialize class objects\n",
+      "c1=Counter()\n",
+      "c2=Counter()\n",
+      "\n",
+      "#display count for each object\n",
+      "print 'c1 =',c1.get_count()\n",
+      "print 'c2 =',c2.get_count()\n",
+      "\n",
+      "\n",
+      "c1.inc_count()    #increment c1\n",
+      "c2.inc_count()    #increment c2\n",
+      "c2.inc_count()    #increment c2\n",
+      "\n",
+      "#display count again for each object\n",
+      "print 'c1 =',c1.get_count()\n",
+      "print 'c2 =',c2.get_count()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "c1 = 0\n",
+        "c2 = 0\n",
+        "c1 = 1\n",
+        "c2 = 2\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.6, Page Number: 231"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from turtle import *       #importing turtles library\n",
+      "\n",
+      "class circle:          #defining circle class\n",
+      "    \n",
+      "    def __init__(self,x,y,r,fc):     #constructor for set circle attribute\n",
+      "        self._xCo = x\n",
+      "        self._yCo = y\n",
+      "        self._radius = r\n",
+      "        self._fillcolor = fc\n",
+      "        \n",
+      "    def draw(self):      #draws the circle\n",
+      "        setup()\n",
+      "        turtle = Turtle()\n",
+      "        turtle.begin_fill()\n",
+      "        turtle.color(self._fillcolor)\n",
+      "        turtle.up()\n",
+      "        turtle.goto(self._xCo,self._yCo)\n",
+      "        turtle.down()\n",
+      "        turtle.circle(self._radius)\n",
+      "        turtle.end_fill()\n",
+      "        turtle.hideturtle()\n",
+      "        done()\n",
+      "\n",
+      "#creating objects of class circle        \n",
+      "c1 = circle(15,7,5,\"blue\")   \n",
+      "c2 = circle(41,12,7,\"red\")\n",
+      "c3 = circle(65,18,4,\"green\")\n",
+      "\n",
+      "#draw circle\n",
+      "c1.draw()\n",
+      "c2.draw()\n",
+      "c3.draw()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.7, Page Number: 233"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Distance:                      #Distance class\n",
+      "    \n",
+      "    def __init__(self,ft=0,inc=0):   #constructor \n",
+      "        self.__feet = ft\n",
+      "        self.__inches = inc\n",
+      "    \n",
+      "    def getdist(self):               #get length from user\n",
+      "        self.__feet = input('Enter feet:')\n",
+      "        self.__inches = input('Enter inches:')\n",
+      "    \n",
+      "    def showdist(self):              #display distance\n",
+      "        print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+      "    \n",
+      "    def add_dist(self,d2,d3):        #add length d2 and d3\n",
+      "        self.__inches = d2.__inches + d3.__inches      #add inches\n",
+      "        self.__feet = 0\n",
+      "        if self.__inches >= 12.0:    #if total exceeds 12.0\n",
+      "            self.__inches = self.__inches - 12.0       #then decrease inches by 12.0\n",
+      "            self.__feet = self.__feet + 1              #and increase feet by 1\n",
+      "        self.__feet = self.__feet + d2.__feet + d3.__feet       #add the feet\n",
+      "\n",
+      "#define two length\n",
+      "dist1 = Distance()\n",
+      "dist3 = Distance()\n",
+      "\n",
+      "#define and initialize dist2\n",
+      "dist2 = Distance(11,6.25)\n",
+      "\n",
+      "#get dist1 from user\n",
+      "dist1.getdist()\n",
+      "\n",
+      "#dist3 = dist1 + dist2\n",
+      "dist3.add_dist(dist1,dist2)\n",
+      "\n",
+      "#display all lengths\n",
+      "print 'dist1 = ',\n",
+      "dist1.showdist()\n",
+      "print 'dist2 = ',\n",
+      "dist2.showdist()\n",
+      "print 'dist3 = ',\n",
+      "dist3.showdist()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter feet:17\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter inches:5.75\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "dist1 =  17 ' - 5.75 \"\n",
+        "dist2 =  11 ' - 6.25 \"\n",
+        "dist3 =  29 ' - 0.0 \"\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.8, Page Number: 238"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Distance:        #Distance  class\n",
+      "    \n",
+      "    def __init__(self,ft=0,inc=0):  #overloaded constructor that takes no arguments or two args or one object(copy constructor)\n",
+      "        if isinstance(ft,int):\n",
+      "            self.__feet = ft\n",
+      "            self.__inches = inc\n",
+      "        else:\n",
+      "            self.__feet = ft.__feet\n",
+      "            self.__inches = ft.__inches\n",
+      "            \n",
+      "    def getdist(self):      #get length from user\n",
+      "        self.__feet = input('Enter feet:')\n",
+      "        self.__inches = input('Enter inches:')\n",
+      "    \n",
+      "    def showdist(self):     #display distance\n",
+      "        print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+      "\n",
+      "#two argument constructor\n",
+      "dist1 = Distance(11,6.25)\n",
+      "\n",
+      "#one argument(object) constructor explicitly pass\n",
+      "dist2 = Distance(dist1)\n",
+      "\n",
+      "#also one argument(object) constructor implicitly pass\n",
+      "dist3 = dist1\n",
+      "\n",
+      "#display all lengths\n",
+      "print 'dist1 = ',\n",
+      "dist1.showdist()\n",
+      "print 'dist2 = ',\n",
+      "dist2.showdist()\n",
+      "print 'dist3 = ',\n",
+      "dist3.showdist()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "dist1 =  11 ' - 6.25 \"\n",
+        "dist2 =  11 ' - 6.25 \"\n",
+        "dist3 =  11 ' - 6.25 \"\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.9, Page Number: 240"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Distance:        #Distance class\n",
+      "    \n",
+      "    def __init__(self,ft=0,inc=0):     #constructor \n",
+      "        self.__feet = ft\n",
+      "        self.__inches = inc\n",
+      "    \n",
+      "    def getdist(self):         #get length from user\n",
+      "        self.__feet = input('Enter feet:')\n",
+      "        self.__inches = input('Enter inches:')\n",
+      "    \n",
+      "    def showdist(self):        #display distance\n",
+      "        print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+      "    \n",
+      "    def add_dist(self,d2):     #add this length to d2 and return object\n",
+      "        temp = Distance()      #temporary object\n",
+      "        temp.__inches = self.__inches + d2.__inches\n",
+      "        if temp.__inches >= 12.0:\n",
+      "            temp.__inches = temp.__inches - 12.0\n",
+      "            temp.__feet = 1\n",
+      "        temp.__feet = temp.__feet + self.__feet + d2.__feet\n",
+      "        return temp            #return sum as object\n",
+      "\n",
+      "#define two length\n",
+      "dist1 = Distance()\n",
+      "dist3 = Distance()\n",
+      "\n",
+      "#define and initialize dist2\n",
+      "dist2 = Distance(11,6.25)\n",
+      "\n",
+      "#get dist1 from user\n",
+      "dist1.getdist()\n",
+      "\n",
+      "#dist3 = dist1 + dist2\n",
+      "dist3 = dist1.add_dist(dist2)\n",
+      "\n",
+      "#display all lengths\n",
+      "print 'dist1 = ',\n",
+      "dist1.showdist()\n",
+      "print 'dist2 = ',\n",
+      "dist2.showdist()\n",
+      "print 'dist3 = ',\n",
+      "dist3.showdist()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter feet:17\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter inches:5.75\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "dist1 =  17 ' - 5.75 \"\n",
+        "dist2 =  11 ' - 6.25 \"\n",
+        "dist3 =  29 ' - 0.0 \"\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.10, Page Number: 243"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "Suit = [\"clubs\",\"diamonds\",\"hearts\",\"spades\"]  \n",
+      "\n",
+      "(clubs,diamonds,hearts,spades) = (0,1,2,3)    #Atteching the names with number  \n",
+      "\n",
+      "\n",
+      "#from 2 to 10 are integers without names\n",
+      "jack = 11      \n",
+      "queen = 12 \n",
+      "king = 13\n",
+      "ace = 14\n",
+      "\n",
+      "\n",
+      "class card:       \n",
+      "    \n",
+      "    def __init__(self,n=None,s=None):       #constructor\n",
+      "        self.__number = n                   #2 to 10, jack, queen, king, ace\n",
+      "        self.__suit = s                     #clubs, diamonds, hearts, spades\n",
+      "    \n",
+      "    def display(self):                      #display the cards\n",
+      "        \n",
+      "        if self.__number >= 2 and self.__number<=10:\n",
+      "            print self.__number , 'of',\n",
+      "            \n",
+      "        else:\n",
+      "            if self.__number == jack:\n",
+      "                print 'jack of',\n",
+      "            elif self.__number == queen:\n",
+      "                print 'queen of',\n",
+      "            elif self.__number == king:\n",
+      "                print 'king of',\n",
+      "            else:\n",
+      "                print 'ace of',\n",
+      "                \n",
+      "        if self.__suit == clubs:\n",
+      "            print 'clubs'\n",
+      "        elif self.__suit == diamonds:\n",
+      "            print 'diamonds'\n",
+      "        elif self.__suit == hearts:\n",
+      "            print 'hearts'\n",
+      "        else:\n",
+      "            print 'spades'\n",
+      "    \n",
+      "    def isEqual(self,c2):           #return 1 if cards equal\n",
+      "        \n",
+      "        if self.__number == c2.__number and self.__suit == c2.__suit:\n",
+      "            return 1\n",
+      "        else:\n",
+      "            return 0\n",
+      "\n",
+      "\n",
+      "#define various cards\n",
+      "temp = card()\n",
+      "chosen = card()\n",
+      "prize = card()\n",
+      "\n",
+      "\n",
+      "#define and initialize card1\n",
+      "card1 = card(7,clubs)\n",
+      "print 'card 1 is the',\n",
+      "card1.display()    #display card1\n",
+      "\n",
+      "#define and initialize card2\n",
+      "card2 = card(jack,hearts)\n",
+      "print 'card 2 is the',\n",
+      "card2.display()    #display card2\n",
+      "\n",
+      "#define and initialize card3\n",
+      "card3 = card(ace,spades)\n",
+      "print 'card 3 is the',\n",
+      "card3.display()    #display card3\n",
+      "\n",
+      "\n",
+      "#prize is the card to guess\n",
+      "prize = card3\n",
+      "\n",
+      "\n",
+      "#swapping cards\n",
+      "print 'I\\'m swapping card 1 and card 3'\n",
+      "temp = card3\n",
+      "card3 = card1\n",
+      "card1 = temp\n",
+      "\n",
+      "print 'I\\'m swapping card 2 and card 3'\n",
+      "temp = card2\n",
+      "card3 = card2\n",
+      "card2 = temp\n",
+      "\n",
+      "print 'I\\'m swapping card 1 and card 2'\n",
+      "temp = card2\n",
+      "card2 = card1\n",
+      "card1 = temp\n",
+      "\n",
+      "print 'Now, where (1,2, or 3) is the',\n",
+      "prize.display()          #display prize\n",
+      "print '?'\n",
+      "\n",
+      "position = input()       #get user's guess of position\n",
+      "\n",
+      "\n",
+      "#set chosen to user's choice \n",
+      "if position == 1:\n",
+      "    chosen = card1\n",
+      "elif position == 2:\n",
+      "    chosen = card2\n",
+      "else:\n",
+      "    chosen = card3\n",
+      "\n",
+      "#is chosen card the prize?\n",
+      "\n",
+      "x=chosen.isEqual(prize)\n",
+      "\n",
+      "if x==1:\n",
+      "    print 'That\\'s right! You win!'\n",
+      "else:\n",
+      "    print 'Sorry. You lose.'\n",
+      "\n",
+      "print 'You choose the',\n",
+      "\n",
+      "#display chosen card\n",
+      "chosen.display()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "card 1 is the 7 of clubs\n",
+        "card 2 is the jack of hearts\n",
+        "card 3 is the ace of spades\n",
+        "I'm swapping card 1 and card 3\n",
+        "I'm swapping card 2 and card 3\n",
+        "I'm swapping card 1 and card 2\n",
+        "Now, where (1,2, or 3) is the ace of spades\n",
+        "?\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "That's right! You win!\n",
+        "You choose the ace of spades\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.11, Page Number: 249"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class foo: \n",
+      "    \n",
+      "    __count = 0     #only one data item for all objects\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        foo.__count = foo.__count + 1     #increment count when object created\n",
+      "    \n",
+      "    def getcount(self):        #returns count\n",
+      "        return foo.__count\n",
+      "\n",
+      "#create three objecs\n",
+      "f1 = foo()\n",
+      "f2 = foo()\n",
+      "f3 = foo()\n",
+      "\n",
+      "#Each object displays the same count value\n",
+      "print 'count is', f1.getcount()\n",
+      "print 'count is', f2.getcount()\n",
+      "print 'count is', f3.getcount()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "count is 3\n",
+        "count is 3\n",
+        "count is 3\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.12, Page Number: 253"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Distance:         #Distance class\n",
+      "    \n",
+      "    def __init__(self,ft=0,inc=0.0):        #constructor \n",
+      "        self.__feet = ft\n",
+      "        self.__inches = inc\n",
+      "    \n",
+      "    def getdist(self):              #get length from user\n",
+      "        self.__feet = input('Enter feet:')\n",
+      "        self.__inches = input('Enter inches:')\n",
+      "    \n",
+      "    def showdist(self):             #display distance\n",
+      "        print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+      "\n",
+      "#There's no const keyword \n",
+      "    \n",
+      "    def add_dist(self,d2):          #add this length to d2 and return object\n",
+      "        \n",
+      "        temp = Distance()\n",
+      "        temp.__inches = self.__inches + d2.__inches\n",
+      "        \n",
+      "        if temp.__inches >= 12.0:\n",
+      "            temp.__inches = temp.__inches - 12.0\n",
+      "            temp.__feet = 1\n",
+      "            \n",
+      "        temp.__feet = temp.__feet + self.__feet + d2.__feet\n",
+      "        \n",
+      "        return temp                  #return sum as object\n",
+      "    \n",
+      "dist1 = Distance()\n",
+      "dist3 = Distance()\n",
+      "dist2 = Distance(11,6.25)\n",
+      "\n",
+      "dist1.getdist()\n",
+      "\n",
+      "dist3 = dist1.add_dist(dist2)\n",
+      "\n",
+      "print 'dist1 = ',\n",
+      "dist1.showdist()\n",
+      "print 'dist2 = ',\n",
+      "dist2.showdist()\n",
+      "print 'dist3 = ',\n",
+      "dist3.showdist()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter feet:17\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter inches:5.75\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "dist1 =  17 ' - 5.75 \"\n",
+        "dist2 =  11 ' - 6.25 \"\n",
+        "dist3 =  29 ' - 0.0 \"\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6.13, Page Number: 255"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Distance:\n",
+      "    \n",
+      "    def __init__(self,ft,inc):\n",
+      "        self.__feet = ft\n",
+      "        self.__inches = inc\n",
+      "    \n",
+      "    def getdist(self):\n",
+      "        self.__feet = input('Enter feet:')\n",
+      "        self.__inches = input('Enter inches:')\n",
+      "    \n",
+      "    def showdist(self):\n",
+      "        print self.__feet , '\\' -' , self.__inches , '\\\"'\n",
+      "\n",
+      "football = Distance(300,0)\n",
+      "\n",
+      "print 'football = ',\n",
+      "football.showdist()\n",
+      "\n",
+      "#There's no const keyword in python"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "football =  300 ' - 0 \"\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/ApurvaBhushan/Chapter_3_1.ipynb b/sample_notebooks/ApurvaBhushan/Chapter_3_1.ipynb
new file mode 100755
index 00000000..3168a0f9
--- /dev/null
+++ b/sample_notebooks/ApurvaBhushan/Chapter_3_1.ipynb
@@ -0,0 +1,212 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 3: Elements of the Theory of Plasticity"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 3.1, True Stress and True Strain, Page No. 76"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Engineering Stress at maximum load = 99852.1 psi\n",
+      "True Fracture Stress = 112785 psi\n",
+      "True Strain at fracture = 0.344939\n",
+      "Engineering strain at fracture = 0.411903\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import pi\n",
+    "from math import log\n",
+    "from math import exp\n",
+    "\n",
+    "#variable declaration\n",
+    "D_i=0.505;\n",
+    "L=2;\n",
+    "P_max=20000;\n",
+    "P_f=16000;\n",
+    "D_f=0.425;\n",
+    "\n",
+    "#calculation\n",
+    "E_St= P_max*4/(pi*D_i**2);\n",
+    "T_fr_St= P_f*4/(pi*D_f**2);\n",
+    "e_f=log(D_i**2/D_f**2);\n",
+    "e=exp(e_f)-1;\n",
+    "\n",
+    "#result\n",
+    "print('\\nEngineering Stress at maximum load = %g psi\\nTrue Fracture Stress = %g psi\\nTrue Strain at fracture = %g\\nEngineering strain at fracture = %g')%(E_St,T_fr_St,e_f,e);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 3.2, Yielding Criteria for Ductile Metals, Page No. 78"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Since the calculated value of sigma0 = 224.054 MPa, which is less than the yield strength of the aluminium alloy\n",
+      "Thus safety factor is = 2.23161\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma00=500;\n",
+    "sigma_z=-50;\n",
+    "sigma_y=100;\n",
+    "sigma_x=200;\n",
+    "T_xy=30;\n",
+    "T_yz=0;\n",
+    "T_xz=0;\n",
+    "\n",
+    "#calculation\n",
+    "sigma0=sqrt((sigma_x-sigma_y)**2+(sigma_y-sigma_z)**2+(sigma_z-sigma_x)**2+6*(T_xy**2+T_yz**2+T_xz**2))/sqrt(2);\n",
+    "s=sigma00/sigma0;\n",
+    "\n",
+    "#result\n",
+    "print('\\nSince the calculated value of sigma0 = %g MPa, which is less than the yield strength of the aluminium alloy\\nThus safety factor is = %g')%(sigma0,s);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Example 3.3, Tresca Criterion, Page No. 81"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Since the calculated value of sigma0 = 250 MPa, which is less than the yield strength of the aluminium alloy\n",
+      "Thus safety factor is = 2\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#variable declaration\n",
+    "sigma00=500;\n",
+    "sigma_z=-50;\n",
+    "sigma_y=100;\n",
+    "sigma_x=200;\n",
+    "T_xy=30;\n",
+    "T_yz=0;\n",
+    "T_xz=0;\n",
+    "\n",
+    "#calculation\n",
+    "sigma0=sigma_x-sigma_z;\n",
+    "s=sigma00/sigma0;\n",
+    "\n",
+    "#result\n",
+    "print('\\nSince the calculated value of sigma0 = %g MPa, which is less than the yield strength of the aluminium alloy\\nThus safety factor is = %g')%(sigma0,s);\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "### Example 3.4, Levy-Mises Equation, Page No. 91"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\n",
+      "Plastic Strain = 0.199532\n"
+     ]
+    }
+   ],
+   "source": [
+    "from math import sqrt\n",
+    "\n",
+    "#variable declaration\n",
+    "r_t=20;\n",
+    "p=1000;\n",
+    "\n",
+    "#calculation\n",
+    "sigma1=p*r_t;\n",
+    "sigma1=sigma1/1000;                     #conversion to ksi\n",
+    "sigma=sqrt(3)*sigma1/2;\n",
+    "e=(sigma/25)**(1/0.25);\n",
+    "e1=sqrt(3)*e/2;\n",
+    "\n",
+    "#result\n",
+    "print('\\nPlastic Strain = %g')%(e1);\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/sample_notebooks/ChaitanyaPotti/Chapter2.ipynb b/sample_notebooks/ChaitanyaPotti/Chapter2.ipynb
new file mode 100755
index 00000000..2cf4427b
--- /dev/null
+++ b/sample_notebooks/ChaitanyaPotti/Chapter2.ipynb
@@ -0,0 +1,286 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:b659456964884efc24c6f36b543fc4c77e2e36dfdbc033ad2f4c3e2f2bce479c"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2 - Amplitude Modulation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1 - pg 51"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calcualate the carrier frequency\n",
+      "#given\n",
+      "import math\n",
+      "L = 50*10**-6#in henry\n",
+      "C = 1*10**-9#in farads\n",
+      "#calculation\n",
+      "F_c = 1/(2.*math.pi*math.sqrt(L*C))/1000.;\n",
+      "#results\n",
+      "print '%s %d %s' %(\"Carrier frequency F_c =\",math.ceil(F_c),\" kHz\")\n",
+      "print(\"Now , it is given that the highest modulation frequency is 8KHz \");\n",
+      "print(\"Therefore, the frequency range occupied by the sidebands will range from 8KHz \\nabove to 8KHz below the carrier frequency, extending fom 712KHz to 720KHz.\");\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Carrier frequency F_c = 712  kHz\n",
+        "Now , it is given that the highest modulation frequency is 8KHz \n",
+        "Therefore, the frequency range occupied by the sidebands will range from 8KHz \n",
+        "above to 8KHz below the carrier frequency, extending fom 712KHz to 720KHz.\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2 - pg 51"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the modulation index, upper and lower sideband frequency, bandwidth of modulation signal\n",
+      "\n",
+      "\n",
+      "#given\n",
+      "#v_m = 10*sin(2*%pi*10^3*t)\n",
+      "#by comparing with v_m = V_m*sin(2*%pi*f_c*t) we get\n",
+      "V_m = 10.#in volts\n",
+      "f_m = 1*10**3#in hertz\n",
+      "V_c = 20.#in volts\n",
+      "f_c = 1*10**4#in hertz\n",
+      "\n",
+      "#calculations\n",
+      "m_a = V_m/V_c;#modulation index formula\n",
+      "m_a1 = m_a*100;#percentage modulation index\n",
+      "f_usb = f_c + f_m;#Upper sideband\n",
+      "f_lsb = f_c - f_m;#lower sideband\n",
+      "A = (m_a*V_c)/2#amplitude of upper as well as lower sideband\n",
+      "B = 2*f_m;#bandwidth of the modulation signal\n",
+      "\n",
+      "#results\n",
+      "print '%s %.2f' %(\"i.a.Modulation index= \",m_a);\n",
+      "print '%s %d %s' %(\"   b.Percentage modulation index=\",m_a1,\" percent\");\n",
+      "print '%s %.f %s' %(\"ii.a.Upper sidebandfrequency=\",f_usb,\"Hz\");\n",
+      "print '%s %.f %s' %(\"    b.Lower sideband frequency=\",f_lsb,\"Hz \"); \n",
+      "print '%s %.f %s' %(\"iii.Amplitude of Upper sideband and Lower sideband =\",A,\"V\");\n",
+      "print '%s %.f %s' %(\"\\iv.Bandwidth of the modulation signal=\",B,\"Hz\");\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i.a.Modulation index=  0.50\n",
+        "   b.Percentage modulation index= 50  percent\n",
+        "ii.a.Upper sidebandfrequency= 11000 Hz\n",
+        "    b.Lower sideband frequency= 9000 Hz \n",
+        "iii.Amplitude of Upper sideband and Lower sideband = 5 V\n",
+        "\\iv.Bandwidth of the modulation signal= 2000 Hz\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3 - pg 54"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the total power in the amplitude modulated wave\n",
+      "\n",
+      "\n",
+      "#given\n",
+      "m_a = .75;#modulation index\n",
+      "P_c = 400.;#carrier power in watts\n",
+      "\n",
+      "#calculation\n",
+      "P_t = P_c*(1+(m_a**2/2));#total power \n",
+      "\n",
+      "#results\n",
+      "print \"Total power in  the amplitude modulated wave (in W) = \",P_t;\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total power in  the amplitude modulated wave (in W) =  512.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 4 - pg 54"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the carrier power\n",
+      "#given\n",
+      "P_t = 10*10**3;#total power in watts\n",
+      "m_a = .6;#modulation index\n",
+      "#calculation\n",
+      "P_c = (P_t/(1+(m_a**2/2)));# carrier power\n",
+      "#results\n",
+      "print \"Carrier power (in kW) = \",round(P_c/1000.,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Carrier power (in kW) =  8.47\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 5 - pg 55"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the modulation index and antenna current\n",
+      "\n",
+      "import math\n",
+      "#given\n",
+      "I_t = 8.93;#total modulated current in ampers\n",
+      "I_c= 8;#carrier or unmodulated current in ampers\n",
+      "#calculation\n",
+      "m_a = math.sqrt(2*((I_t/I_c)**2 -1));#formula for modulation index\n",
+      "M_a=m_a*100;#percentage modulation\n",
+      "#for \n",
+      "m_a1 = .8;#given modulation index\n",
+      "\n",
+      "#calculation\n",
+      "I_t1 = I_c*math.sqrt(1+(m_a1**2/2));#new antenna current \n",
+      "\n",
+      "#results\n",
+      "print \"i.a. Modulation index = \",round(m_a,3)\n",
+      "print \"b.Percentage modulation index (percent) = \",round(M_a,1)\n",
+      "print \"ii. Antenna current (in A) = \",round(I_t1,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i.a. Modulation index =  0.701\n",
+        "b.Percentage modulation index (percent) =  70.1\n",
+        "ii. Antenna current (in A) =  9.19\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 6 - pg 56"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#calculate the carrier signal current, modulation indexes\n",
+      "import math\n",
+      "#given\n",
+      "I_t1 = 10#antenna current in amps\n",
+      "m1 = .3#modulation index\n",
+      "I_t2 = 11#increased antenna current\n",
+      "\n",
+      "#calculation\n",
+      "I_c = (I_t1/(1+(m1**2/2))**.5);#formula for carrier signal current\n",
+      "m_t = math.sqrt(2*((I_t2/I_c)**2 -1));#formula for modulation index\n",
+      "m2 = math.sqrt(m_t**2 - m1**2);\n",
+      "m3 = m2*100;#percentage modulation index\n",
+      "\n",
+      "#results\n",
+      "print \"i.Carrier signal current (in A) = \",round(I_c,2)\n",
+      "print \"ii.Modulation index of signal = \",round(m_t,2)\n",
+      "print \"iii.a.Modulation index of second signal = \",round(m2,2)\n",
+      "print \"b.Percentage modulation index of second signal (percent) = \",round(m3,0)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "i.Carrier signal current (in A) =  9.78\n",
+        "ii.Modulation index of signal =  0.73\n",
+        "iii.a.Modulation index of second signal =  0.66\n",
+        "b.Percentage modulation index of second signal (percent) =  66.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Dileep KumarShakya/chapter1.ipynb b/sample_notebooks/Dileep KumarShakya/chapter1.ipynb
new file mode 100755
index 00000000..74cd1fa5
--- /dev/null
+++ b/sample_notebooks/Dileep KumarShakya/chapter1.ipynb	
@@ -0,0 +1 @@
+{"nbformat_minor": 0, "cells": [{"source": "#Chapter1 : Electromagnetic Field Radiation", "cell_type": "markdown", "metadata": {}}, {"source": "##Example 1.1, Page number 23", "cell_type": "markdown", "metadata": {}}, {"execution_count": 13, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable declaration\nE= 2            #electric field strength of wave in V/m\nn=120*math.pi   #where n is mu [free space impedence (120xpi)]\n\n#calculations\nH=E/n           # As n = E/H\nH=H*10**3\n\n#results\nprint \"strength of magnetic field H in free space is %r mA/metre\" % round(H,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "strength of magnetic field H in free space is 5.305 mA/metre\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.2, Page number 23", "cell_type": "markdown", "metadata": {}}, {"execution_count": 14, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nP= 625*10**3        #power of transmitting antenna in Watt\nr=30*10**3          #distance in meter\n\n#calculations\nErms=math.sqrt(90*P)/r\nErms=Erms*10**3\n\n#Results\nprint\"Field strength is %r mV/metre.\" %round(Erms,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Field strength is 250.0 mV/metre.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.3, Page number 24", "cell_type": "markdown", "metadata": {}}, {"execution_count": 15, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nf=10            #frequency in Mega Hertz\nle=60           #Height of antenna in metres\nlemda=300/f\n\n#calculations\nRr= 160*(math.pi)**2*le**2/lemda**2\nRr=Rr/10**3\n\n#Results\nprint \"Radiation resistance of antenna is %r Kilo ohms.\" %round(Rr,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Radiation resistance of antenna is 6.317 Kilo ohms.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.4, Page number 24", "cell_type": "markdown", "metadata": {}}, {"execution_count": 16, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nle=100          # height of antenna in Metres\nIrms=450        # current at the base in Amperes\nf= 40000.0      # frequency in Hertz\nf=f/10**6       # frequency in Mega Hertz\n\nlemda= 300/f    # as per the formula where frequncy in MHz\n\n#calculations\nRr=160*(math.pi)**2*le**2/lemda**2 #Rr is radiated resistance in ohms\n\n#Results\nprint \"Radiation resistance is %r ohms.\"%round(Rr,2)\n\n#calculations\nPr= Irms**2*Rr  # Power radiated in Watts\nPr= Pr/10**3    # Power radiated in Kilo Watts\n\n#Results\nprint \"Power radiated is %r kW.\"%round(Pr,2)\n\n#variable Declaration\nRl=1.12         # otal reistance of antenna circuit in ohms\nn= Rr/Rl        # Efficiancy of the antenna n= Radiation Resistance/Total antenna Resistance\n\n#calculations\nnper= n*100     # Efficiancy of the antenna (in percentage)\n\n#Results\nprint \"Efficiancy of antenna is %r percent. \"%round(nper,2)\n\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Radiation resistance is 0.28 ohms.\nPower radiated is 56.85 kW.\nEfficiancy of antenna is 25.07 percent. \n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.5, Page number 25", "cell_type": "markdown", "metadata": {}}, {"execution_count": 17, "cell_type": "code", "source": "\n#variable Declaration\nI=20            # current in Amperers\nRrad= 50        # Radiated resistance in Ohms\n\n#calculations\nPr= I**2*Rrad   # Power radiated in watts\n\n#Results\nprint \"Antenna will radiate %r Watts of power.\"%Pr\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Antenna will radiate 20000 Watts of power.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.6, Page number 25", "cell_type": "markdown", "metadata": {}}, {"execution_count": 18, "cell_type": "code", "source": "\n#variable Declaration\nP=5*10**3         # Power radiated in watts\nI= 15.0           # current in Ampers\n#calculations\nRrad=P/I**2       # Radiated resistance in Ohms\n\n#Results\nprint \"Radiated power is %r ohms.\"%round(Rrad,2)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Radiated power is 22.22 ohms.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.7, Page number 26", "cell_type": "markdown", "metadata": {}}, {"execution_count": 19, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nRrad= 75        # Radiation resistance in ohms\nPr= 10          # Power radiated in kW\nPr=Pr*10**3     # Power radiated in W\n\n#calculations\nI=math.sqrt(Pr/Rrad)\n\n#Results\nprint \"%r Amperes current flows in the antenna\"%round(I,2)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "11.55 Amperes current flows in the antenna\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.8, Page number 26", "cell_type": "markdown", "metadata": {}}, {"execution_count": 20, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nP=W= 100*10**3        # power radiated in watt\nr= 100              # distance in kilo metres\nr=r*10**3           # distance in metres\n\n#calculations\nErms= math.sqrt(90*W)/r\n\n#Results\nprint \"Strength of electric field Erms is %r V/m.\"%Erms\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Strength of electric field Erms is 0.03 V/m.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.9, Page number 26", "cell_type": "markdown", "metadata": {}}, {"execution_count": 21, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nIrms= 25        # transmitting antenna rms current in A\nf=0.150         # frequency in Mega Hertz(MHz)\nErms= 1.5       # Field strength in mV/m\nErms=Erms/10**3 # Field strength in V/m\nr=25            # distance in kilo metre\nr=r*10**3       # distance in metre\n\n#calculations\nlemda= 300/f\nle= Erms*lemda*r/(60*math.pi*Irms) # le is effective height of the antenna in metres\n\n#Results\nprint \"Effective heigth of the antenna le = %r metres.\"%round(le,2)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Effective heigth of the antenna le = 15.92 metres.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.10, Page number 27", "cell_type": "markdown", "metadata": {}}, {"execution_count": 22, "cell_type": "code", "source": "from __future__ import division\nimport math\n\nle= 100           # Heigth of the antenna in metre\nIrms= 100         # rms current in amperes\nr=10             # distance in kilo metre\nr=r*10**3           # distance in metre\nf=300.0             # frequency in KHz\nf=f/10**3           # frequency in MHz\n\nlemda=300/f\n\n#Calculations\nErms= (120*math.pi*Irms*le)/(lemda*r)\n\nRr= (160*(math.pi)**2*le**2)/(lemda**2)\n\nP= Irms**2*Rr       # Power radiated in watts\nP= P/10**3          # POwer radiated in kilo watts(kW)\n\n#Results\nprint \"(i)Field strength at Erms is %r mV/m\"%round(Erms*10**3,2)\nprint \"(ii)The power radiated is %r kW.\" %round(P,2)\n\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "(i)Field strength at Erms is 376.99 mV/m\n(ii)The power radiated is 157.91 kW.\n"}], "metadata": {"collapsed": false, "trusted": true}}], "nbformat": 4, "metadata": {"kernelspec": {"display_name": "Python 2", "name": "python2", "language": "python"}, "language_info": {"mimetype": "text/x-python", "nbconvert_exporter": "python", "version": "2.7.8", "name": "python", "file_extension": ".py", "pygments_lexer": "ipython2", "codemirror_mode": {"version": 2, "name": "ipython"}}}}
\ No newline at end of file
diff --git a/sample_notebooks/Dileep KumarShakya/chapter1_1.ipynb b/sample_notebooks/Dileep KumarShakya/chapter1_1.ipynb
new file mode 100755
index 00000000..74cd1fa5
--- /dev/null
+++ b/sample_notebooks/Dileep KumarShakya/chapter1_1.ipynb	
@@ -0,0 +1 @@
+{"nbformat_minor": 0, "cells": [{"source": "#Chapter1 : Electromagnetic Field Radiation", "cell_type": "markdown", "metadata": {}}, {"source": "##Example 1.1, Page number 23", "cell_type": "markdown", "metadata": {}}, {"execution_count": 13, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable declaration\nE= 2            #electric field strength of wave in V/m\nn=120*math.pi   #where n is mu [free space impedence (120xpi)]\n\n#calculations\nH=E/n           # As n = E/H\nH=H*10**3\n\n#results\nprint \"strength of magnetic field H in free space is %r mA/metre\" % round(H,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "strength of magnetic field H in free space is 5.305 mA/metre\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.2, Page number 23", "cell_type": "markdown", "metadata": {}}, {"execution_count": 14, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nP= 625*10**3        #power of transmitting antenna in Watt\nr=30*10**3          #distance in meter\n\n#calculations\nErms=math.sqrt(90*P)/r\nErms=Erms*10**3\n\n#Results\nprint\"Field strength is %r mV/metre.\" %round(Erms,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Field strength is 250.0 mV/metre.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.3, Page number 24", "cell_type": "markdown", "metadata": {}}, {"execution_count": 15, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nf=10            #frequency in Mega Hertz\nle=60           #Height of antenna in metres\nlemda=300/f\n\n#calculations\nRr= 160*(math.pi)**2*le**2/lemda**2\nRr=Rr/10**3\n\n#Results\nprint \"Radiation resistance of antenna is %r Kilo ohms.\" %round(Rr,3)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Radiation resistance of antenna is 6.317 Kilo ohms.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.4, Page number 24", "cell_type": "markdown", "metadata": {}}, {"execution_count": 16, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nle=100          # height of antenna in Metres\nIrms=450        # current at the base in Amperes\nf= 40000.0      # frequency in Hertz\nf=f/10**6       # frequency in Mega Hertz\n\nlemda= 300/f    # as per the formula where frequncy in MHz\n\n#calculations\nRr=160*(math.pi)**2*le**2/lemda**2 #Rr is radiated resistance in ohms\n\n#Results\nprint \"Radiation resistance is %r ohms.\"%round(Rr,2)\n\n#calculations\nPr= Irms**2*Rr  # Power radiated in Watts\nPr= Pr/10**3    # Power radiated in Kilo Watts\n\n#Results\nprint \"Power radiated is %r kW.\"%round(Pr,2)\n\n#variable Declaration\nRl=1.12         # otal reistance of antenna circuit in ohms\nn= Rr/Rl        # Efficiancy of the antenna n= Radiation Resistance/Total antenna Resistance\n\n#calculations\nnper= n*100     # Efficiancy of the antenna (in percentage)\n\n#Results\nprint \"Efficiancy of antenna is %r percent. \"%round(nper,2)\n\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Radiation resistance is 0.28 ohms.\nPower radiated is 56.85 kW.\nEfficiancy of antenna is 25.07 percent. \n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.5, Page number 25", "cell_type": "markdown", "metadata": {}}, {"execution_count": 17, "cell_type": "code", "source": "\n#variable Declaration\nI=20            # current in Amperers\nRrad= 50        # Radiated resistance in Ohms\n\n#calculations\nPr= I**2*Rrad   # Power radiated in watts\n\n#Results\nprint \"Antenna will radiate %r Watts of power.\"%Pr\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Antenna will radiate 20000 Watts of power.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.6, Page number 25", "cell_type": "markdown", "metadata": {}}, {"execution_count": 18, "cell_type": "code", "source": "\n#variable Declaration\nP=5*10**3         # Power radiated in watts\nI= 15.0           # current in Ampers\n#calculations\nRrad=P/I**2       # Radiated resistance in Ohms\n\n#Results\nprint \"Radiated power is %r ohms.\"%round(Rrad,2)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Radiated power is 22.22 ohms.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.7, Page number 26", "cell_type": "markdown", "metadata": {}}, {"execution_count": 19, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nRrad= 75        # Radiation resistance in ohms\nPr= 10          # Power radiated in kW\nPr=Pr*10**3     # Power radiated in W\n\n#calculations\nI=math.sqrt(Pr/Rrad)\n\n#Results\nprint \"%r Amperes current flows in the antenna\"%round(I,2)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "11.55 Amperes current flows in the antenna\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.8, Page number 26", "cell_type": "markdown", "metadata": {}}, {"execution_count": 20, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nP=W= 100*10**3        # power radiated in watt\nr= 100              # distance in kilo metres\nr=r*10**3           # distance in metres\n\n#calculations\nErms= math.sqrt(90*W)/r\n\n#Results\nprint \"Strength of electric field Erms is %r V/m.\"%Erms\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Strength of electric field Erms is 0.03 V/m.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.9, Page number 26", "cell_type": "markdown", "metadata": {}}, {"execution_count": 21, "cell_type": "code", "source": "from __future__ import division\nimport math\n\n#variable Declaration\nIrms= 25        # transmitting antenna rms current in A\nf=0.150         # frequency in Mega Hertz(MHz)\nErms= 1.5       # Field strength in mV/m\nErms=Erms/10**3 # Field strength in V/m\nr=25            # distance in kilo metre\nr=r*10**3       # distance in metre\n\n#calculations\nlemda= 300/f\nle= Erms*lemda*r/(60*math.pi*Irms) # le is effective height of the antenna in metres\n\n#Results\nprint \"Effective heigth of the antenna le = %r metres.\"%round(le,2)\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Effective heigth of the antenna le = 15.92 metres.\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "##Example 1.10, Page number 27", "cell_type": "markdown", "metadata": {}}, {"execution_count": 22, "cell_type": "code", "source": "from __future__ import division\nimport math\n\nle= 100           # Heigth of the antenna in metre\nIrms= 100         # rms current in amperes\nr=10             # distance in kilo metre\nr=r*10**3           # distance in metre\nf=300.0             # frequency in KHz\nf=f/10**3           # frequency in MHz\n\nlemda=300/f\n\n#Calculations\nErms= (120*math.pi*Irms*le)/(lemda*r)\n\nRr= (160*(math.pi)**2*le**2)/(lemda**2)\n\nP= Irms**2*Rr       # Power radiated in watts\nP= P/10**3          # POwer radiated in kilo watts(kW)\n\n#Results\nprint \"(i)Field strength at Erms is %r mV/m\"%round(Erms*10**3,2)\nprint \"(ii)The power radiated is %r kW.\" %round(P,2)\n\n", "outputs": [{"output_type": "stream", "name": "stdout", "text": "(i)Field strength at Erms is 376.99 mV/m\n(ii)The power radiated is 157.91 kW.\n"}], "metadata": {"collapsed": false, "trusted": true}}], "nbformat": 4, "metadata": {"kernelspec": {"display_name": "Python 2", "name": "python2", "language": "python"}, "language_info": {"mimetype": "text/x-python", "nbconvert_exporter": "python", "version": "2.7.8", "name": "python", "file_extension": ".py", "pygments_lexer": "ipython2", "codemirror_mode": {"version": 2, "name": "ipython"}}}}
\ No newline at end of file
diff --git a/sample_notebooks/HeminChheda/chapter1.ipynb b/sample_notebooks/HeminChheda/chapter1.ipynb
new file mode 100755
index 00000000..af04eee8
--- /dev/null
+++ b/sample_notebooks/HeminChheda/chapter1.ipynb
@@ -0,0 +1,281 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1:Water"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:1,Page no:1.7"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "W1=219.0 #amount of Mg(HCO3)2 in water in ppm#\n",
+      "W2=36.0 #amount of Mg2+ in water in ppm#\n",
+      "W3=18.3 #amount of (HCO3)- in water in ppm#\n",
+      "W4=1.5 #amount of H+_in water in ppm#\n",
+      "M1=100/146.0 #multiplication factor of Mg(HCO3)2#\n",
+      "M2=100/24.0 #multiplication factor of Mg(HCO3)2#\n",
+      "M3=100/122.0 #multiplication factor of Mg(HCO3)2#\n",
+      "M4=100/2.0 #multiplication factor of Mg(HCO3)2#\n",
+      "\n",
+      "#Calculation\n",
+      "P1=W1*M1 #in terms of CaCO3#\n",
+      "P2=W2*M2 #in terms of CaCO3#\n",
+      "P3=W3*M3 #in terms of CaCO3#\n",
+      "P4=W4*M4 #in terms of CaCO3#\n",
+      "L=0.74*((2*P1)+P2+P3+P4) \n",
+      "\n",
+      "R=1.0 #water supply rate in m**3/s#\n",
+      "D=R*60.0*60.0*24.0*L \n",
+      "K=D*1000.0 #in lit/day#\n",
+      "T=K/10.0**9 #in tonnes#\n",
+      "S=1.06*(P2+P4-P3) \n",
+      "D2=R*60*60*24*S \n",
+      "A=D2*1000 #in lit/day#\n",
+      "B=A/10.0**9 #in tonnes#\n",
+      "J1=90/100.0 #purity of lime#\n",
+      "J2=95/100.0 #purity of soda#\n",
+      "C1=500.0 #cost of one tonne lime#\n",
+      "C2=7000.0 #cost of one tonne soda#\n",
+      "CL=round(T,1)*C1/J1 \n",
+      "print\"\\ncost of lime is\",CL,\"Rs\"\n",
+      "CS=round(B,1)*C2/J2 \n",
+      "print\"\\ncost of soda is \",CS,\"Rs\"\n",
+      "C=CL+CS \n",
+      "\n",
+      "#Result\n",
+      "print\"\\ntotal cost is \",round(C) ,\"Rs\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "cost of lime is 19166.6666667 Rs\n",
+        "\n",
+        "cost of soda is  141473.684211 Rs\n",
+        "\n",
+        "total cost is  160640.0 Rs\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:15,Page no:1.25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "W1=40.0 #amount of Ca2+ in water in mg/l#\n",
+      "W2=24.0 #amount of Mg2+ in water in mg/l#\n",
+      "W3=8.05 #amount of Na+ in water in mg/l#\n",
+      "W4=183.0 #amount of (HCO3)- in water in mg/l#\n",
+      "W5=55.68 #amount of (SO4)2- in water in mg/l#\n",
+      "W6=6.74 #amount of Cl- in water in mg/l#\n",
+      "M1=100/40.0 #multiplication factor of Ca2+#\n",
+      "M2=100/24.0 #multiplication factor of Mg2+#\n",
+      "M3=100/(23.0*2) #multiplication factor of Na+#\n",
+      "M4=100/(61.0*2) #multiplication factor of (HCO3)-#\n",
+      "M5=100/96.0 #multiplication factor of (SO4)2-#\n",
+      "M6=100/(35.5*2) #multiplication factor of Cl-#\n",
+      "\n",
+      "#Calculation\n",
+      "P1=W1*M1 #in terms of CaCO3#\n",
+      "P2=W2*M2 #in terms of CaCO3#\n",
+      "P3=W3*M3 #in terms of CaCO3#\n",
+      "P4=W4*M4 #in terms of CaCO3#\n",
+      "P5=W5*M5 #in terms of CaCO3#\n",
+      "P6=W6*M6 #in terms of CaCO3#\n",
+      "\n",
+      "\n",
+      "#Result\n",
+      "print\"\\nCalcium alkalinity =\",P1,\"ppm\" \n",
+      "print\"\\nMagnesium alkalinity =\",P4-P1,\"ppm\"\n",
+      "print\"\\n  total alkalinity = \",P1+P4-P1,\"ppm\"\n",
+      "print\"\\n  total hardness = \",P1+P2,\"ppm\"\n",
+      "print\"\\nCa temporary hardness = \",P1,\"ppm\"\n",
+      "print\"\\nMg temporary hardness = \",P4-P1,\"ppm\"\n",
+      "print\"\\nMg permanant hardness = \",P2-(P4-P1),\"ppm\"\n",
+      "print\"\\nSalts are:\"\n",
+      "print\"\\nCa(HCO3)2 salt = \",P1,\"ppm\"\n",
+      "print\"\\nMg(HCO3)2 salt = \",P4-P1,\"ppm\"\n",
+      "print\"\\nMgSO4 salt = \",P2-(P4-P1),\"ppm\"\n",
+      "print\"\\nNaCl salt = \",P6,\"ppm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Calcium alkalinity = 100.0 ppm\n",
+        "\n",
+        "Magnesium alkalinity = 50.0 ppm\n",
+        "\n",
+        "  total alkalinity =  150.0 ppm\n",
+        "\n",
+        "  total hardness =  200.0 ppm\n",
+        "\n",
+        "Ca temporary hardness =  100.0 ppm\n",
+        "\n",
+        "Mg temporary hardness =  50.0 ppm\n",
+        "\n",
+        "Mg permanant hardness =  50.0 ppm\n",
+        "\n",
+        "Salts are:\n",
+        "\n",
+        "Ca(HCO3)2 salt =  100.0 ppm\n",
+        "\n",
+        "Mg(HCO3)2 salt =  50.0 ppm\n",
+        "\n",
+        "MgSO4 salt =  50.0 ppm\n",
+        "\n",
+        "NaCl salt =  9.49295774648 ppm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:19,Page no:1.39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "P=4.7 #required HCl in ml using HpH indicator #\n",
+      "H=10.5 #required HCl im ml using MeOH indicator#\n",
+      "M=P+H \n",
+      "N=0.02 #normality of HCl#\n",
+      "\n",
+      "print\"\\nSince P<0.5*M sample contain (CO3)2- and (HCO3)- alkalinity\"\n",
+      "C=50 #equivalent of CaCO3 in mg for 1ml 1N HCl#\n",
+      "\n",
+      "#Calculation\n",
+      "A=C*(2*P)*N #amount of (CO3)2- alkalinity in mg in 100 ml of water#\n",
+      "B=A*1000/100 \n",
+      "D=C*(M-2*P)*N #the amount of (HCO3)- alkalinity in mg in 100 ml of water#\n",
+      "E=D*1000/100 \n",
+      "T=B+E \n",
+      "\n",
+      "#Result\n",
+      "print\"\\nTotal alkalinity is \",T,\"mg/l or ppm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Since P<0.5*M sample contain (CO3)2- and (HCO3)- alkalinity\n",
+        "\n",
+        "Total alkalinity is  152.0 mg/l or ppm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example no:25,Page no:1.56"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "W1=160.0 #amount of Ca2+ in ppm#\n",
+      "W2=88.0 #amount of Mg2+ in ppm#\n",
+      "W3=72.0 #amount of CO2 in ppm#\n",
+      "W4=488.0 #amount of (HCO3)- in ppm#\n",
+      "W5=139.0 #amount of (FeSO4).7H2O in ppm#\n",
+      "M1=100/40.0 #multiplication factor of Ca2+#\n",
+      "M2=100/24.0 #multiplication factor of Mg2+#\n",
+      "M3=100/44.0 #multiplication factor of CO2#\n",
+      "M4=100/(61.0*2.0) #multiplication factor of (HCO3)-#\n",
+      "M5=100/278.0 #multiplication factor of (FeSO4).7H2O#\n",
+      "\n",
+      "P1=400 #in terms of CaCO3#\n",
+      "P2=300 #in terms of CaCO3#\n",
+      "P3=200 #in terms of CaCO3#\n",
+      "P4=400 #in terms of CaCO3#\n",
+      "P5=50 #in terms of CaCO3#\n",
+      "V=100000.0 #volume of water in litres#\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "L=0.74*(P2+P3+P4+P5)*V #lime required in mg#\n",
+      "L=L/10.0**6 \n",
+      "S=1.06*(P1+P2+P5-P4)*V #soda required in mg#\n",
+      "S=S/10.0**6 \n",
+      "\n",
+      "#Result\n",
+      "print\"Lime required is \",L,\"kg\"\n",
+      "print\"\\nSoda required is \",S,\"kg\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Lime required is  70.3 kg\n",
+        "\n",
+        "Soda required is  37.1 kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/LaxmanSole/Pinciples_of_electronic_Instrumentation_Ch1.ipynb b/sample_notebooks/LaxmanSole/Pinciples_of_electronic_Instrumentation_Ch1.ipynb
new file mode 100755
index 00000000..229d9b52
--- /dev/null
+++ b/sample_notebooks/LaxmanSole/Pinciples_of_electronic_Instrumentation_Ch1.ipynb
@@ -0,0 +1,406 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1 : Basic Concepts"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example1_1,pg 481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# unknown resistance\n",
+      "\n",
+      "import math\n",
+      "#VAriable declaration\n",
+      "Ir=10*10**-3             #current drawn by resistor\n",
+      "Vr=100.0                 #voltage across resistor\n",
+      "Rv=40*10**3              #voltmeter resistance\n",
+      "\n",
+      "#Calcualtions\n",
+      "Ru=(Vr/Ir)*(1/(1-(Vr/(Ir*Rv)))) \n",
+      "\n",
+      "#Result\n",
+      "print(\"output resistance:\")\n",
+      "print(\"Ru=%.2f ohm\"%Ru)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "output resistance:\n",
+        "Ru=13333.33 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example1_2,pg 481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# unknown resistance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Ir=10*10**-3                   #current drawn by resistor\n",
+      "Vr=100.0                       #voltage across resistor\n",
+      "Rv=40*10**3                    #voltmeter resistance\n",
+      "Ra=1.0                         #ammeter resistance\n",
+      "\n",
+      "#Calculations\n",
+      "Ru=(Rv/Ir)-Ra\n",
+      "\n",
+      "#Result\n",
+      "print(\"output resistance:\")\n",
+      "print(\"Ru=%.2f ohm\"%Ru)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "output resistance:\n",
+        "Ru=3999999.00 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example1_3,pg 481"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# find ammeter reading\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rv=40*10**3                        #voltmeter resistance\n",
+      "Ra=1.0                             #ammeter resistance\n",
+      "Vr=40.0                            #voltmeter reading\n",
+      "Ru=10*10**3                        #unknown resistance\n",
+      "\n",
+      "#Calculations\n",
+      "Ir=(Vr*(Rv+Ru))/(Ru*Rv)\n",
+      "Ir1=(Vr/(Ru+Ra))\n",
+      "\n",
+      "#Result\n",
+      "print(\"ammeter reading case1:\")\n",
+      "print(\"Ir=%.4f A\"%Ir)\n",
+      "print(\"\\nammeter reading case2:\")\n",
+      "print(\"Ir1=%.4f A\"%Ir1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "ammeter reading case1:\n",
+        "Ir=0.0050 A\n",
+        "\n",
+        "ammeter reading case2:\n",
+        "Ir1=0.0040 A\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example1_4,pg 482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# unknown resistance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vs=3.0                       #supply voltage\n",
+      "Vu=2.75                      #voltmeter reading\n",
+      "Rp=10*10**3                  #parallel resistance\n",
+      "\n",
+      "#Calculations\n",
+      "Ru=Rp*((Vs/Vu)-1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"unknown resistance:\")\n",
+      "print(\"Ru=%.2f ohm\"%Ru)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "unknown resistance:\n",
+        "Ru=909.09 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example1_5,pg 482"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Find input vlotage\n",
+      "\n",
+      "#with input voltage exceding 2Vd,diodes conduct and the voltage divider circuit with diodes can allow only a Vi given by Vi=2Vd\n",
+      "\n",
+      "#Result\n",
+      "print(\"input voltage to amplifier:\")\n",
+      "print(\"Vi=2Vd\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "input voltage to amplifier:\n",
+        "Vi=2Vd\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "Example1_6,pg 482"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# find shunt resistance\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Rm=1000.0                      #meter resistance\n",
+      "Is=900*10**-6                   #shunt current\n",
+      "Vm=100*10**-3                  #drop across meter\n",
+      "\n",
+      "#Result\n",
+      "Rs=Vm/Is\n",
+      "It=1*10**-3\n",
+      "#Is=It*(Rm/(Rs+Rm))\n",
+      "Rs=(Rm*(It-Is))/Is\n",
+      "\n",
+      "#Result\n",
+      "print(\"shunt resistance:\")\n",
+      "print(\"Rs=%.2f ohm\"%Rs)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "shunt resistance:\n",
+        "Rs=111.11 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example1_7,pg 483"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# find series resistor\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "If=100*10**-6                 #full scale current\n",
+      "Rm=1000.0                     #meter resistance\n",
+      "Vf=10.0                       #full scale voltage\n",
+      "\n",
+      "#Calculations\n",
+      "Rs=(Vf/If)-Rm\n",
+      "\n",
+      "#Result\n",
+      "print(\"series resistance:\")\n",
+      "print(\"Rs=%.2f ohm\"%Rs)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "series resistance:\n",
+        "Rs=99000.00 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "Example1_8,pg 483"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# sensitivity\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "If=100*10**-6       # Current\n",
+      "\n",
+      "#Calculations\n",
+      "S=1/If\n",
+      "\n",
+      "#Result\n",
+      "print(\"sensitivity:\")\n",
+      "print(\"S=%.2f ohm/volt\"%S)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "sensitivity:\n",
+        "S=10000.00 ohm/volt\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example1_9,pg 483"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# error in measurment\n",
+      "\n",
+      "import math\n",
+      "# Variable declaration\n",
+      "\n",
+      "#assume that the voltmeter full scale reading is 12V which gives its resistance as 1.2*10^6 ohm \n",
+      "#which is in parallel with 10*10^6 ohm making as equivalent of Rq given as\n",
+      "R=1.2*10**6                    #voltmeter resistance\n",
+      "R1=10*10**6                    #voltage divider resistance\n",
+      "Vin=12.0                       #input voltage to divider network\n",
+      "Rs=4*10**6                     # series resistance\n",
+      "\n",
+      "\n",
+      "#Calculations\n",
+      "Rq=(R*R1)/(R+R1)\n",
+      "Vq=(Rq*Vin)/(Rq+Rs)            #voltage across equivalent combination\n",
+      "Va=(R1*Vin)/(R1+Rs)            #actual volatge\n",
+      "er=(Vq-Va)/Va                  #error\n",
+      "\n",
+      "#Result\n",
+      "print(\"error in measurement:\")\n",
+      "print(\"\\ner=%.3f \"%er)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "error in measurement:\n",
+        "\n",
+        "er=-0.704 \n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/MohdAsif/Chapter2_-_Measurement_Errors.ipynb b/sample_notebooks/MohdAsif/Chapter2_-_Measurement_Errors.ipynb
new file mode 100755
index 00000000..3442a20e
--- /dev/null
+++ b/sample_notebooks/MohdAsif/Chapter2_-_Measurement_Errors.ipynb
@@ -0,0 +1,1549 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:95b9e0f83468dda84f2de4d99c5a704a6fadf8064c232b063678fd245192ca75"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter2 - Measurement Errors"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.1 - page : 2-8"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#precision of the 5th measurement\n",
+      "#given data :\n",
+      "X1=98.0 \n",
+      "X2=101.0\n",
+      "X3=102.0 \n",
+      "X4=97.0 \n",
+      "X5=101.0 \n",
+      "X6=100.0 \n",
+      "X7=103.0 \n",
+      "X8=98.0 \n",
+      "X9=106.0 \n",
+      "X10=99.0 \n",
+      "Xn_bar=(X1+X2+X3+X4+X5+X6+X7+X8+X9+X10)/10 \n",
+      "Xn=101 # value of 5th measurement\n",
+      "P=(1-abs((Xn-Xn_bar)/Xn_bar))*100 \n",
+      "print \"Precision of the 5th measurement, P = \", round(P,2), \" %\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Precision of the 5th measurement, P =  99.5  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.2.i - page : 2-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Absolute error\n",
+      "#given data :\n",
+      "Ae=80.0 # in V\n",
+      "Am=79.0 # in V\n",
+      "e=Ae-Am \n",
+      "print \"Absolute error, e = \", e, \" V\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Absolute error, e =  1.0  V\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.2.ii - page : 2-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Error\n",
+      "#given data :\n",
+      "Ae=80.0 # in V\n",
+      "Am=79.0 # in V\n",
+      "e=Ae-Am \n",
+      "error1=(e/Ae)*100 \n",
+      "print \"Error = \", error1, \" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Error =  1.25  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.2.iii - page : 2-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Relative accuracy\n",
+      "#given data :\n",
+      "Ae=80.0 # in V\n",
+      "Am=79.0 # in V\n",
+      "e=Ae-Am \n",
+      "error1=(e/Ae)*100 \n",
+      "A=(1-abs(e/Ae)) \n",
+      "print \"Relative Accuracy, A = \", A"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Relative Accuracy, A =  0.9875\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.2.iv - page : 2-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# % accuracy\n",
+      "#given data :\n",
+      "Ae=80.0 # in V\n",
+      "Am=79.0 # in V\n",
+      "e=Ae-Am \n",
+      "error1=(e/Ae)*100 \n",
+      "A=(1-abs(e/Ae)) \n",
+      "accuracy=A*100 \n",
+      "print \"Accuracy = \", accuracy, \" %\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Accuracy =  98.75  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.2.v - page : 2-10"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# % error\n",
+      "#given data :\n",
+      "Ae=80.0 # in V\n",
+      "Am=79.0 # in V\n",
+      "e=Ae-Am \n",
+      "f=100.0 #full scale deflection\n",
+      "error1=(e/Ae)*100 \n",
+      "A=(1-abs(e/Ae)) \n",
+      "accuracy=A*100 \n",
+      "P_error=(e/f)*100 \n",
+      "print \"% error = \", P_error, \" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "% error =  1.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.3 - page : 2-11"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Maximum error\n",
+      "#given data :\n",
+      "V1=100.0 # in V\n",
+      "V2=200.0 #in V\n",
+      "V=V2-V1 \n",
+      "A=0.25 #may be \u00b1 in %\n",
+      "max_error=(A/100)*V \n",
+      "print \"Maximum error = \u00b1 \", max_error, \" V\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Maximum error = \u00b1  0.25  V\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.4 - page : 2-12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# sensitivity and deflection error\n",
+      "#given data :\n",
+      "C=4.0 # change in output in mm\n",
+      "M=8.0 # magnitude of input in ohm\n",
+      "S=C/M \n",
+      "print \"sensitivity, S = \", S, \" mm/ohm\"\n",
+      "D=M/C \n",
+      "print \"Deflection factor, D = \", D, \" ohm/mm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "sensitivity, S =  0.5  mm/ohm\n",
+        "Deflection factor, D =  2.0  ohm/mm\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.5 - page : 2-14"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resolution\n",
+      "#given data :\n",
+      "V=200.0 # full scale reading in V\n",
+      "N=100.0 # number of divisions \n",
+      "Scale_div=V/N \n",
+      "R=(1.0/10)*Scale_div \n",
+      "print \"Resolution, R = \", R, \" V\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resolution, R =  0.2  V\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3.6 - page : 2-14"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Resolution\n",
+      "#given data :\n",
+      "V=9.999 # full scale read out in volt\n",
+      "c=9999.0 # range from 0 to 9999\n",
+      "R=(1/c)*V*10**3 \n",
+      "print \"Resolution, R = \", R, \" mV\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Resolution, R =  1.0  mV\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.1 - page : 2-23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Magnitude and relative error\n",
+      "#given data :\n",
+      "R1=15.0 #ohm\n",
+      "E1=R1*5.0/100 # \u00b1 limiting error for R1\n",
+      "R2=33.0 #ohm\n",
+      "E2=R2*2.0/100 # \u00b1 limiting error for R2\n",
+      "R3=75.0 #ohm\n",
+      "E3=R3*5.0/100 # \u00b1 limiting error for R3\n",
+      "RT=R1+R2+R3 # ohm(in series)\n",
+      "ET=E1+E2+E3 #\u00b1limiting error for RT\n",
+      "print \"For series connection, magnitude is \", RT, \" ohm & limiting error is \u00b1 \", ET, \" ohm.\" \n",
+      "Epr=ET/RT*100 #%\n",
+      "print \"Percent relative error : \u00b1\", round(Epr,1),\" %\" \n",
+      "\n",
+      "# Answer is not accurate in the textbook."
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For series connection, magnitude is  123.0  ohm & limiting error is \u00b1  5.16  ohm.\n",
+        "Percent relative error : \u00b1 4.2  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.2 - page : 2-23"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Magnitude and relative error\n",
+      "#given data :\n",
+      "R1=36.0 #ohm\n",
+      "E1=5.0 # \u00b1 limiting error for R1\n",
+      "R2=75.0 #ohm\n",
+      "E2=5.0 # \u00b1 limiting error for R2\n",
+      "RT=(R1*R2)/(R1+R2) #ohm(in parallel)\n",
+      "EP1=E1+E2 # \u00b1 limiting error\n",
+      "EP2=((R1*E1)/(R1+R2))+((R2*E2)/(R1+R2)) \n",
+      "ET=EP1+EP2 \n",
+      "etm=(ET/100)*RT \n",
+      "print \"Magnitude of limiting error is \u00b1\", round(etm,2), \" ohm\"\n",
+      "print \"Percentage relative error is \u00b1\", ET, \" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnitude of limiting error is \u00b1 3.65  ohm\n",
+        "Percentage relative error is \u00b1 15.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.3  page : 2-24"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Limiting error\n",
+      "vr=40.0 #reading of voltmeter in volts\n",
+      "v=50.0 #rane in volts\n",
+      "va=50.0 #ammeeter reading in mA\n",
+      "i=125.0 #range in mA\n",
+      "fsd=2.0 #accurace in percentage in \u00b1\n",
+      "dv=(2.0/100)*v #limiting error of voltmeter\n",
+      "da=(2./100)*i #liming error of the ammeter in mA\n",
+      "erv=dv/vr #relative limiting error in voltmeter reading\n",
+      "eri=da/i #relative limiting error in ammeter reading\n",
+      "et=erv+eri \n",
+      "pet=et*100 #percentage limiting error of the power calcultaed\n",
+      "print \"Percentage limiting error of the power calcultaed is \u00b1 \",pet,\" %\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Percentage limiting error of the power calcultaed is \u00b1  4.5  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.4 - page : 2-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# limiting error\n",
+      "r1=120.0 # ohm\n",
+      "er1=0.5 #limiting error in resistance 1 in ohm \u00b1\n",
+      "r2=2 #in A\n",
+      "er2=0.02 #limiting error in amperes \u00b1\n",
+      "e1=er2/r2 #limiting error in current\n",
+      "e2=er1/r1 #limiting eror in resistance\n",
+      "et=(2*e1+e2) #total error\n",
+      "etp=et*100 #percentage limtimg error\n",
+      "print \"Percentage limiting error in the value of power dissipation is \u00b1\",round(etp,3)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Percentage limiting error in the value of power dissipation is \u00b1 2.417\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.5 - page : 2-25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#magnitude and limiting error\n",
+      "r1=120 #in ohm\n",
+      "er1=0.1 #limiting error in resistance 1 in ohm \u00b1\n",
+      "r2=2700 #in ohm\n",
+      "er2=0.5 #limiting error in resistance 2 in ohm \u00b1\n",
+      "r3=470 #in ohm\n",
+      "er3=0.5 #limiting error in resistance 3 in ohm \u00b1\n",
+      "rxm=(r2*r3)/r1 #magnitude of unknown resistance in ohm\n",
+      "rxe=(er1+er2+er3) #error\n",
+      "er=(rxe*rxm)/100 #relative error \u00b1\n",
+      "print \"Magnitude of unknown resistance is \",rxm,\" kohm\"\n",
+      "print \"Relative limiting error is \u00b1\",er,\" ohm\"\n",
+      "print \"Guranteed value of resistance is between \",rxm-er, \" ohm to \" ,rxm+er,\" ohm\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Magnitude of unknown resistance is  10575  kohm\n",
+        "Relative limiting error is \u00b1 116.325  ohm\n",
+        "Guranteed value of resistance is between  10458.675  ohm to  10691.325  ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.6 - page : 2-26"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# absolute error, % error, relative error, % accuracy and % error of full scale reading\n",
+      "#given data :\n",
+      "Ae=80.0 # in volt\n",
+      "Am=79 # in volt\n",
+      "fsd=100 #full scale reading in volt\n",
+      "e=Ae-Am \n",
+      "print \"Absolute error, e = \",e,\" V\"\n",
+      "error1=(e/Ae)*100 \n",
+      "print \"Error = \",error1,\" %\"\n",
+      "A=1-abs(e/Ae) \n",
+      "print \"Relative accuracy, A = \",A,\" %\"\n",
+      "p_accuracy=A*100 \n",
+      "print \"% accuracy = \",p_accuracy,\" %\"\n",
+      "error2=(e/fsd)*100 \n",
+      "print \"% error expressed as percentage of full scale reading = \",error2,\" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Absolute error, e =  1.0  V\n",
+        "Error =  1.25  %\n",
+        "Relative accuracy, A =  0.9875  %\n",
+        "% accuracy =  98.75  %\n",
+        "% error expressed as percentage of full scale reading =  1.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.7 - page : 2-27"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# limiting error\n",
+      "#given data :\n",
+      "fsd=100.0 # in V\n",
+      "A=1.0 # (+ve or -ve) in %\n",
+      "del_A=(A/100)*fsd \n",
+      "As=15.0 #in V\n",
+      "e1=del_A/As \n",
+      "e=e1*100 \n",
+      "print \"Limiting error, e = \",round(e,4),\" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Limiting error, e =  6.6667  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.6.8 - page : 2-27 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# limiting value of current and % limiting error\n",
+      "#given data :\n",
+      "As=2.5 # in A\n",
+      "fsd=10 #full scale reading in A\n",
+      "A=1.5/100 \n",
+      "del_A=A*fsd \n",
+      "At1=As+del_A \n",
+      "At2=As-del_A \n",
+      "print \"Limiting value of current, At1 = \",At1,\" A\"\n",
+      "print \"Limiting value of current, At2 = \",At2,\" A\"\n",
+      "e=(del_A/As)*100 \n",
+      "print \"Percentage limiting error, e = \",e,\" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Limiting value of current, At1 =  2.65  A\n",
+        "Limiting value of current, At2 =  2.35  A\n",
+        "Percentage limiting error, e =  6.0  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.1.i - page : 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN\n",
+      "import numpy\n",
+      "q=[49.7,50.1,50.2,49.6,49.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "print \"Arithematic mean is \",AM\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  49.86\n"
+       ]
+      }
+     ],
+     "prompt_number": 57
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.1.ii - page : 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#deviation\n",
+      "import numpy\n",
+      "q=[49.7,50.1,50.2,49.6,49.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "print \"Deviations of each value are : \"\n",
+      "for dev in d:\n",
+      "    print dev\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Deviations of each value are : \n",
+        "-0.16\n",
+        "0.24\n",
+        "0.34\n",
+        "-0.26\n",
+        "-0.16\n"
+       ]
+      }
+     ],
+     "prompt_number": 58
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.1.iii - page : 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#algebric sum of deviation\n",
+      "import numpy\n",
+      "q=[49.7,50.1,50.2,49.6,49.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "dtotal=sum(d)\n",
+      "print \"Algebric sum of deviation is\", round(dtotal,4)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Algebric sum of deviation is 0.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 59
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.1.iv - page : 2-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#standard deviation\n",
+      "import numpy\n",
+      "q=[49.7,50.1,50.2,49.6,49.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "n=5 # no. of measurements\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)\n",
+      "print \"Standard Deviation is \",round(sigma,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Standard Deviation is  0.27\n"
+       ]
+      }
+     ],
+     "prompt_number": 60
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.2.i - page : 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN\n",
+      "import numpy\n",
+      "q=[101.2,101.4,101.7,101.3,101.3,101.2,101.0,101.3,101.5,101.1] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "print \"Arithematic mean is \",AM,\" V\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  101.3  V\n"
+       ]
+      }
+     ],
+     "prompt_number": 61
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.2.ii - page : 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Deviation from mean\n",
+      "import numpy\n",
+      "q=[101.2,101.4,101.7,101.3,101.3,101.2,101.0,101.3,101.5,101.1] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "print \"Deviations of each value are : \"\n",
+      "for dev in d:\n",
+      "    print dev\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Deviations of each value are : \n",
+        "-0.1\n",
+        "0.1\n",
+        "0.4\n",
+        "0.0\n",
+        "0.0\n",
+        "-0.1\n",
+        "-0.3\n",
+        "0.0\n",
+        "0.2\n",
+        "-0.2\n"
+       ]
+      }
+     ],
+     "prompt_number": 62
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.2.iii - page : 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#standard deviation\n",
+      "import numpy\n",
+      "q=[101.2,101.4,101.7,101.3,101.3,101.2,101.0,101.3,101.5,101.1] \n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "n=10 # no. of measurements\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)\n",
+      "print \"Standard Deviation is \",round(sigma,2)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Standard Deviation is  0.2\n"
+       ]
+      }
+     ],
+     "prompt_number": 63
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.2.iv - page : 2-31"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#probable error\n",
+      "import numpy\n",
+      "q=[101.2,101.4,101.7,101.3,101.3,101.2,101.0,101.3,101.5,101.1] \n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "n=10 # no. of measurements\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)\n",
+      "pe1=0.6745*sigma   # Probable error of one reading\n",
+      "print \"Probable error of one reading is \",pe1,\" V\"\n",
+      "pm=pe1/(n-1)**(1.0/2)\n",
+      "print \"Probable error of mean is \",round(pm,5)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probable error of one reading is  0.1349  V\n",
+        "Probable error of mean is  0.04497\n"
+       ]
+      }
+     ],
+     "prompt_number": 64
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.3.i - page : 2-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Arithmetic mean\n",
+      "#given data :\n",
+      "X1=147.2 # in nF\n",
+      "X2=147.4 # in nF\n",
+      "X3=147.9 # in nF\n",
+      "X4=148.1 # in nF\n",
+      "X5=148.1 # in nF\n",
+      "X6=147.5 # in nF\n",
+      "X7=147.6 # in nF\n",
+      "X8=147.4 # in nF\n",
+      "X9=147.6 # in nF\n",
+      "X10=147.5 # in nF\n",
+      "AM=(X1+X2+X3+X4+X5+X6+X7+X8+X9+X10)/10 \n",
+      "print \"Arithmetic mean, AM = \",AM,\" nF\" "
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithmetic mean, AM =  147.63  nF\n"
+       ]
+      }
+     ],
+     "prompt_number": 77
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.3.ii - page : 2-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Average deviation\n",
+      "#given data :\n",
+      "n=10 \n",
+      "X1=147.2 # in nF\n",
+      "X2=147.4 # in nF\n",
+      "X3=147.9 # in nF\n",
+      "X4=148.1 # in nF\n",
+      "X5=148.1 # in nF\n",
+      "X6=147.5 # in nF\n",
+      "X7=147.6 # in nF\n",
+      "X8=147.4 # in nF\n",
+      "X9=147.6 # in nF\n",
+      "X10=147.5 # in nF\n",
+      "AM=(X1+X2+X3+X4+X5+X6+X7+X8+X9+X10)/n \n",
+      "d1=X1-AM \n",
+      "d2=X2-AM \n",
+      "d3=X3-AM \n",
+      "d4=X4-AM \n",
+      "d5=X5-AM \n",
+      "d6=X6-AM \n",
+      "d7=X7-AM \n",
+      "d8=X8-AM \n",
+      "d9=X9-AM \n",
+      "d10=X10-AM \n",
+      "Average_deviation=(abs(d1)+abs(d2)+abs(d3)+abs(d4)+abs(d5)+abs(d5)+abs(d6)+abs(d7)+abs(d8)+abs(d9)+abs(d10))/n \n",
+      "print \"Average deviation = \",Average_deviation,\" nF\"\n",
+      "# answer is wrong in book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average deviation =  0.289  nF\n"
+       ]
+      }
+     ],
+     "prompt_number": 79
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.3.iii - page : 2-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Standard deviation\n",
+      "#given data :\n",
+      "n=10 \n",
+      "X1=147.2 # in nF\n",
+      "X2=147.4 # in nF\n",
+      "X3=147.9 # in nF\n",
+      "X4=148.1 # in nF\n",
+      "X5=148.1 # in nF\n",
+      "X6=147.5 # in nF\n",
+      "X7=147.6 # in nF\n",
+      "X8=147.4 # in nF\n",
+      "X9=147.6 # in nF\n",
+      "X10=147.5 # in nF\n",
+      "AM=(X1+X2+X3+X4+X5+X6+X7+X8+X9+X10)/n \n",
+      "d1=X1-AM \n",
+      "d2=X2-AM \n",
+      "d3=X3-AM \n",
+      "d4=X4-AM \n",
+      "d5=X5-AM \n",
+      "d6=X6-AM \n",
+      "d7=X7-AM \n",
+      "d8=X8-AM \n",
+      "d9=X9-AM \n",
+      "d10=X10-AM \n",
+      "sigma=((d1**2+d2**2+d3**2+d4**2+d5**2+d6**2+d7**2+d8**2+d9**2+d10**2)/(n-1))**(1.0/2) \n",
+      "print \"Standard deviation = \",round(sigma,4),\" nF\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Standard deviation =  0.3057  nF\n"
+       ]
+      }
+     ],
+     "prompt_number": 82
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.3.iv - page : 2-32"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#: Probable error\n",
+      "#given data :\n",
+      "n=10 \n",
+      "X1=147.2 # in nF\n",
+      "X2=147.4 # in nF\n",
+      "X3=147.9 # in nF\n",
+      "X4=148.1 # in nF\n",
+      "X5=148.1 # in nF\n",
+      "X6=147.5 # in nF\n",
+      "X7=147.6 # in nF\n",
+      "X8=147.4 # in nF\n",
+      "X9=147.6 # in nF\n",
+      "X10=147.5 # in nF\n",
+      "AM=(X1+X2+X3+X4+X5+X6+X7+X8+X9+X10)/n \n",
+      "d1=X1-AM \n",
+      "d2=X2-AM \n",
+      "d3=X3-AM \n",
+      "d4=X4-AM \n",
+      "d5=X5-AM \n",
+      "d6=X6-AM \n",
+      "d7=X7-AM \n",
+      "d8=X8-AM \n",
+      "d9=X9-AM \n",
+      "d10=X10-AM \n",
+      "sigma=((d1**2+d2**2+d3**2+d4**2+d5**2+d6**2+d7**2+d8**2+d9**2+d10**2)/(n-1))**(1.0/2)\n",
+      "Pe1=0.6745*sigma # probable error of one reading\n",
+      "probable_error=Pe1/(n-1)**(1.0/2)\n",
+      "print \"Probable error of one reading = \",round(Pe1,4),\" nF\"\n",
+      "print \"Probable error of mean = \",round(probable_error,4),\" nF\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probable error of one reading =  0.2062  nF\n",
+        "Probable error of mean =  0.0687  nF\n"
+       ]
+      }
+     ],
+     "prompt_number": 86
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.4.i - page : 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN\n",
+      "import numpy\n",
+      "q=[10.3,10.7,10.9,9.7,9.5,9.2,10.3,11.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "print \"Arithematic mean is \",AM,\"  kg/cm2\"\n",
+      "#answer is wrong in textbook\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  10.2875   kg/cm2\n"
+       ]
+      }
+     ],
+     "prompt_number": 65
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.4.ii - page : 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#average deviation\n",
+      "import numpy\n",
+      "n=8  # NO. OF MEASUREMENTS\n",
+      "q=[10.3,10.7,10.9,9.7,9.5,9.2,10.3,11.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM  # deviation\n",
+      "davg=sum(abs(d))/n  # average deviation\n",
+      "print \"Average deviation = \",round(davg,4),\" kg/cm2\"\n",
+      "#answer is wrong in textbook"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average deviation =  0.6156  kg/cm2\n"
+       ]
+      }
+     ],
+     "prompt_number": 66
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.4.iii - page : 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#standard deviation\n",
+      "import numpy\n",
+      "q=[10.3,10.7,10.9,9.7,9.5,9.2,10.3,11.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "n=8  # no. of measurements\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)\n",
+      "print \"Standard Deviation is \",round(sigma,4),\" kg/cm2\"\n",
+      "#answer is wrong in textbook\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Standard Deviation is  0.8184  kg/cm2\n"
+       ]
+      }
+     ],
+     "prompt_number": 95
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.7.4.iv - page : 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#probable error\n",
+      "n=8  # no. of measurements\n",
+      "q=[10.3,10.7,10.9,9.7,9.5,9.2,10.3,11.7] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "n=10 # no. of measurements\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)\n",
+      "pe1=0.6745*sigma   # Probable error of one reading\n",
+      "print \"Probable error of one reading is \",round(pe1,4),\" kg/cm2\"\n",
+      "pm=pe1/(n-1)**(1.0/2)\n",
+      "print \"Probable error of mean is \",round(pm,4),\" kg/cm2\"\n",
+      "#answer is wrong in textbook\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Probable error of one reading is  0.4868  kg/cm2\n",
+        "Probable error of mean is  0.1623  kg/cm2\n"
+       ]
+      }
+     ],
+     "prompt_number": 67
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8.1 - page : 2-34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN ,median value ,standard deviation and variance\n",
+      "q=[25.5,30.3,31.1,29.6,32.4,39.4,28.9,30.0,33.3,31.4,29.5,30.5,31.7,33.0,29.2] #\n",
+      "AM= numpy.mean(q) #arithematic mean in mm\n",
+      "n=len(q) # no. of measurements\n",
+      "Q=q-AM\n",
+      "mv=sorted(q)[n/2] # get the median value from sorted q\n",
+      "d=q-AM\n",
+      "sigma=0\n",
+      "for dev in d:\n",
+      "    sigma+=dev**2\n",
+      "sigma/=(n-1)\n",
+      "sigma**=(1.0/2)  #standard deviation\n",
+      "V=sigma**2 #variance\n",
+      "print \"Arithematic mean is \",round(AM,4),\" V\"\n",
+      "print \"Median value is\",round(mv,1)\n",
+      "\n",
+      "print \"Standard Deviation is \",round(sigma,2)\n",
+      "\n",
+      "print \"Variance is \",round(V,0)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  31.0533  V\n",
+        "Median value is 30.5\n",
+        "Standard Deviation is  3.0\n",
+        "Variance is  9.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 116
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8.2 - page : 2-37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN\n",
+      "#from __future__ import division\n",
+      "v=[10,11,12,13,14] #\n",
+      "f=[03,12,18,12,03] #\n",
+      "xn=[a*b for a,b in zip(v,f)]\n",
+      "am=sum(xn)/sum(f)   # arithmetic mean\n",
+      "print \"Arithematic mean is \",am,\" V\"\n",
+      "dn=[x-am for x in v]  # deviation\n",
+      "n_dn=[a*b for a,b in zip(f,dn)]\n",
+      "dn2=[a*b for a,b in zip(dn,dn)]\n",
+      "n_dn2=[a*b for a,b in zip(f,dn2)]\n",
+      "absn_dn=[abs(a) for a in n_dn]\n",
+      "mean_dev=sum(absn_dn)/sum(f)\n",
+      "print \"Mean deviation = \",mean_dev\n",
+      "sigma=(sum(n_dn2)/sum(f))**(1.0/2)\n",
+      "print \"Standard deviation is \", sigma\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  12.0  V\n",
+        "Mean deviation =  0.75\n",
+        "Standard deviation is  1.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 46
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8.3 - page : 2-37"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#ARITHEMATIC MEAN ,median value ,standard deviation \n",
+      "import numpy\n",
+      "q=[29.2,29.5,29.6,30.0,30.5,31.4,31.7,32.4,33.0,33.3,39.4,28.9] #\n",
+      "AM= numpy.mean(q)#arithematic mean in mm\n",
+      "print \"Arithematic mean is \",round(AM,2)\n",
+      "mv=sorted(q)[int(len(q)/2-1)]\n",
+      "print \"Median value = \",mv\n",
+      "d=[x-AM for x in q]\n",
+      "d2=[x**2 for x in d]\n",
+      "sigma=(sum(d2)/(len(q)-1))**(1.0/2)\n",
+      "print \"Standard Deviation = \",round(sigma,3)\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Arithematic mean is  31.57\n",
+        "Median value =  30.5\n",
+        "Standard Deviation =  2.886\n"
+       ]
+      }
+     ],
+     "prompt_number": 97
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8.4 - page:2-39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Unknown resistor \n",
+      "#given data :\n",
+      "S=1000.0    # ohm/V\n",
+      "V=100.0 #in V\n",
+      "I=5*10**-3 # in A\n",
+      "# part (i)\n",
+      "R_app=(V/I)*10**-3 \n",
+      "print \"(i) Apparent Resistor, R_app = \",R_app, \" kohm\"\n",
+      "# part (ii)\n",
+      "V1=150 #in V\n",
+      "Rv=S*V1*10**-3 \n",
+      "Rx=Rv/6.5 #actual resistance in kohm\n",
+      "print \"(ii) Actual resistance is \",round(Rx,2),\" kohm.\"\n",
+      "# part(iii)\n",
+      "per=(Rx-R_app)/Rx*100 # in %\n",
+      "print \"(iii) Percentage error due to loading effect of voltmeter is \",round(per,1), \" %\" \n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(i) Apparent Resistor, R_app =  20.0  kohm\n",
+        "(ii) Actual resistance is  23.08  kohm.\n",
+        "(iii) Percentage error due to loading effect of voltmeter is  13.3  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 103
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8.5 - page : 2-40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# limiting error\n",
+      "#given data :\n",
+      "del_A=2.5 # may be +ve or-ve in %\n",
+      "As=400.0 \n",
+      "FSD=600.0 # in V\n",
+      "del_A1=(del_A/100)*FSD \n",
+      "e=(del_A1/As)*100 # in %\n",
+      "print \"Limiting error, e = \",e, \" %\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Limiting error, e =  3.75  %\n"
+       ]
+      }
+     ],
+     "prompt_number": 104
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_10.ipynb b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_10.ipynb
new file mode 100755
index 00000000..e025dd86
--- /dev/null
+++ b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_10.ipynb	
@@ -0,0 +1,462 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:02197244985b7dfa2823dacf9fac72c0a7536b50c383ffa1801ccf3066222ec3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Radiation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7.1, PAGE NO.-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "# Variable declaration\n",
+      "\n",
+      "I_m = 15     #Current in Ampere\n",
+      "P_rad = 6    #Power radiated in kW\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "# By formula\n",
+      "I_rms = I_m/math.sqrt(2)  #I_rms is r.m.s. current\n",
+      "\n",
+      "R_rad = P_rad/(I_rms**2)  #R_rad is radiation resistance\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The radiation resistance of Antenna is\",round(R_rad*1000,2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radiation resistance of Antenna is 53.33 kW\n"
+       ]
+      }
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.1,PAGE NO.-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt \n",
+      "from sympy import Symbol\n",
+      "\n",
+      "# Variable Declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')     # Taking lamda as Lm\n",
+      "dL = Lm/25            # Length of dipole for Hertian dipole\n",
+      "H_phi = 5             # Magnetic field strength in uA/m\n",
+      "theta = pi/2\n",
+      "r = 2                 # Distance in Km\n",
+      "dL_1 = Lm/2           # Length of dipole for Half wave dipole \n",
+      "R_rad = 73            # Radiation resistance for half wave dipole in ohm\n",
+      "R_rad1 = 36.5         # Radiation resistance for quarter wave monopole in ohm\n",
+      "dL_2 = Lm/4           # Length of dipole for quarter wave monopole \n",
+      "\n",
+      "# Calculation\n",
+      "\n",
+      "# By formula : H_phi = I_m*dL*sin(theta)/2*Lm*r\n",
+      "I_m = (H_phi*2*Lm*r)/(dL*sin(theta))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*(I_rms**2)\n",
+      "I_m1 = (H_phi*2*pi*r*sin(theta))/(cos(pi/2*cos(theta)))\n",
+      "I_rms1 = I_m1/sqrt(2)\n",
+      "P_rad1 = (I_rms1**2)*R_rad\n",
+      "P_rad2 = (I_rms1**2)*R_rad1\n",
+      "\n",
+      "# Result\n",
+      "\n",
+      "print \" The power radiated by hertzian dipole is \",round(P_rad*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by half wave dipole is \",round(P_rad1*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by Quarter wave monopole is \",round(P_rad2*10**-3,2),\"mW\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.2,PAGE NO.-43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt\n",
+      "\n",
+      "\n",
+      "\n",
+      "#variable declaration          \n",
+      "\n",
+      "\n",
+      "E_theta = 10*(10**(-6))     #Electric field strength in V/m\n",
+      "theta = pi/2          #observation angle\n",
+      "r = 500*(10**3)       #distance in metrs\n",
+      "f = 50*(10**6)        #frequency in Hertz\n",
+      "c = 3*(10**8)         #speed of light in m/sec\n",
+      "R_rad = 73            #for half wave dipole Radiation resistance in ohms\n",
+      "\n",
+      "\n",
+      "# calculation\n",
+      "lamda = c/f\n",
+      "L = lamda/2           #L is the length of half wave dipole\n",
+      "# formula : E=((60*I_m)/r)*((cos(pi/2*cos(theta)))*sin(theta))\n",
+      "I_m = (E_theta*r*sin(theta))/(60*cos(pi/2*cos(theta)))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_avg = (R_rad*(I_m**2))/2\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"Length of Dipole is\" ,round(L,2),\"metres\"\n",
+      "print \"Current fed to Antenna\",round(I_rms*1000,2),\"mA\"\n",
+      "print \"Average Power\",round(P_avg*1000,2),\"mW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.3,PAGE NO.-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 100          #effective hieght in m\n",
+      "f = 60*(10**3)       #frequency in Hertz\n",
+      "r = 100*(10**3)      #Distance in m\n",
+      "c = 3*(10**8)        #Speed of light in m/sec\n",
+      "P_rad = 100*(10**3)  #radiated power\n",
+      "\n",
+      "# calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "I_rms = sqrt(P_rad/R_rad)\n",
+      "E_rms = (120*pi*l_eff*(I_rms**2))/(lamda*r)\n",
+      "\n",
+      "# Results\n",
+      "\n",
+      "print \"Strength of Electric field\",round(E_rms,2),\"V/m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.4,PAGE NO.-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 113.3    #Effective length in metres\n",
+      "lamda = 18.8     #Wavelength in metres\n",
+      "I_rms = 725      #Base current in Ampere\n",
+      "r = 175          #Distance in metre\n",
+      "Eta_o = 120*pi\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E = (120*pi*l_eff*I_rms)/(lamda*r)\n",
+      "H = E/Eta_o\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "P_rad = (I_rms**2)*(R_rad)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The electric field at a distance r is \",round(E*0.001,2),\"mV/m\"\n",
+      "print \"The H field is\",round(H,2),\"uA/m\"\n",
+      "print \"The power radiated by Antenna is \",round(P_rad*(10**(-9)),2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.5,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "lamda = 10*(10**(-2))           # In cm\n",
+      "r = 200*(10**(-2))              # In cm\n",
+      "theta = 90                      # In Degrees\n",
+      "phi = 0                         # In Degrees\n",
+      "IdL = 3*(10**(-4))              # current distribution in Am\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E_theta = (60*pi*IdL*sin(theta))/(lamda*r)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The magnitude of component E_theta is \",round(E_theta,2),\"V/m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.6,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = lamda/12\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 80*(pi**2)*((dL/lamda)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole antenna is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.7,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "I_m = 100         # uniform current in ampere\n",
+      "Lm = Symbol('Lm') #Taking Lm as lamda\n",
+      "dL = Lm/16\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*((I_m/sqrt(2))**2)\n",
+      "R_rad = 80*(pi**2)*((dL/Lm)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.8,PAGE NO.-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# variable declaration\n",
+      "\n",
+      "f = 30*(10**6)       #Frequency in Hz\n",
+      "c = 3*(10**8)        #speed of light in m/s\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Length of Half wave dipole is \",round((lamda/2),2),\"m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.10,PAGE NO.-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin,sqrt \n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')  # Taking lamda as Lm\n",
+      "dL = 0.01*Lm       # Length of dipole \n",
+      "theta = 45\n",
+      "P_rad = 1          # Power radiated in kW\n",
+      "phi = 90\n",
+      "r = 1              # Distance in Km\n",
+      "Eta_o=120*pi\n",
+      "\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 20*(pi**2)*((dL/Lm)**2)\n",
+      "I_m = sqrt(2*P_rad*R_rad)\n",
+      "\n",
+      "# formula  : P = (Eta_o/2)*(((Omega*I_m*dL*sin(theta))/(4*pi*r*v))**2)\n",
+      "P = (Eta_o/2)*(((I_m*dL*sin(theta))/(4*pi*(r**2)))**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Power density is \",P,\"Watt/m^2\"\n",
+      "\n",
+      "#   Note : The Solving in the book is wrong they put 0.1 instead of 0.1*lamda \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.11,PAGE NO.-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi \n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = 75          #Length of dipole in m\n",
+      "f = 800          # Frequency in kHz\n",
+      "I_rms = 10       #rms Current in Amp\n",
+      "c = 3*(10**8)    #Speed of light in m/s \n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "P_rad = 80*(pi**2)*((dL/lamda)**2)*(I_rms**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Total Power radiated by Antenna is \",round(P_rad*1000,2),\"kW\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_11.ipynb b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_11.ipynb
new file mode 100755
index 00000000..e025dd86
--- /dev/null
+++ b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_11.ipynb	
@@ -0,0 +1,462 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:02197244985b7dfa2823dacf9fac72c0a7536b50c383ffa1801ccf3066222ec3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Radiation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7.1, PAGE NO.-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "# Variable declaration\n",
+      "\n",
+      "I_m = 15     #Current in Ampere\n",
+      "P_rad = 6    #Power radiated in kW\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "# By formula\n",
+      "I_rms = I_m/math.sqrt(2)  #I_rms is r.m.s. current\n",
+      "\n",
+      "R_rad = P_rad/(I_rms**2)  #R_rad is radiation resistance\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The radiation resistance of Antenna is\",round(R_rad*1000,2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radiation resistance of Antenna is 53.33 kW\n"
+       ]
+      }
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.1,PAGE NO.-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt \n",
+      "from sympy import Symbol\n",
+      "\n",
+      "# Variable Declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')     # Taking lamda as Lm\n",
+      "dL = Lm/25            # Length of dipole for Hertian dipole\n",
+      "H_phi = 5             # Magnetic field strength in uA/m\n",
+      "theta = pi/2\n",
+      "r = 2                 # Distance in Km\n",
+      "dL_1 = Lm/2           # Length of dipole for Half wave dipole \n",
+      "R_rad = 73            # Radiation resistance for half wave dipole in ohm\n",
+      "R_rad1 = 36.5         # Radiation resistance for quarter wave monopole in ohm\n",
+      "dL_2 = Lm/4           # Length of dipole for quarter wave monopole \n",
+      "\n",
+      "# Calculation\n",
+      "\n",
+      "# By formula : H_phi = I_m*dL*sin(theta)/2*Lm*r\n",
+      "I_m = (H_phi*2*Lm*r)/(dL*sin(theta))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*(I_rms**2)\n",
+      "I_m1 = (H_phi*2*pi*r*sin(theta))/(cos(pi/2*cos(theta)))\n",
+      "I_rms1 = I_m1/sqrt(2)\n",
+      "P_rad1 = (I_rms1**2)*R_rad\n",
+      "P_rad2 = (I_rms1**2)*R_rad1\n",
+      "\n",
+      "# Result\n",
+      "\n",
+      "print \" The power radiated by hertzian dipole is \",round(P_rad*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by half wave dipole is \",round(P_rad1*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by Quarter wave monopole is \",round(P_rad2*10**-3,2),\"mW\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.2,PAGE NO.-43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt\n",
+      "\n",
+      "\n",
+      "\n",
+      "#variable declaration          \n",
+      "\n",
+      "\n",
+      "E_theta = 10*(10**(-6))     #Electric field strength in V/m\n",
+      "theta = pi/2          #observation angle\n",
+      "r = 500*(10**3)       #distance in metrs\n",
+      "f = 50*(10**6)        #frequency in Hertz\n",
+      "c = 3*(10**8)         #speed of light in m/sec\n",
+      "R_rad = 73            #for half wave dipole Radiation resistance in ohms\n",
+      "\n",
+      "\n",
+      "# calculation\n",
+      "lamda = c/f\n",
+      "L = lamda/2           #L is the length of half wave dipole\n",
+      "# formula : E=((60*I_m)/r)*((cos(pi/2*cos(theta)))*sin(theta))\n",
+      "I_m = (E_theta*r*sin(theta))/(60*cos(pi/2*cos(theta)))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_avg = (R_rad*(I_m**2))/2\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"Length of Dipole is\" ,round(L,2),\"metres\"\n",
+      "print \"Current fed to Antenna\",round(I_rms*1000,2),\"mA\"\n",
+      "print \"Average Power\",round(P_avg*1000,2),\"mW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.3,PAGE NO.-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 100          #effective hieght in m\n",
+      "f = 60*(10**3)       #frequency in Hertz\n",
+      "r = 100*(10**3)      #Distance in m\n",
+      "c = 3*(10**8)        #Speed of light in m/sec\n",
+      "P_rad = 100*(10**3)  #radiated power\n",
+      "\n",
+      "# calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "I_rms = sqrt(P_rad/R_rad)\n",
+      "E_rms = (120*pi*l_eff*(I_rms**2))/(lamda*r)\n",
+      "\n",
+      "# Results\n",
+      "\n",
+      "print \"Strength of Electric field\",round(E_rms,2),\"V/m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.4,PAGE NO.-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 113.3    #Effective length in metres\n",
+      "lamda = 18.8     #Wavelength in metres\n",
+      "I_rms = 725      #Base current in Ampere\n",
+      "r = 175          #Distance in metre\n",
+      "Eta_o = 120*pi\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E = (120*pi*l_eff*I_rms)/(lamda*r)\n",
+      "H = E/Eta_o\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "P_rad = (I_rms**2)*(R_rad)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The electric field at a distance r is \",round(E*0.001,2),\"mV/m\"\n",
+      "print \"The H field is\",round(H,2),\"uA/m\"\n",
+      "print \"The power radiated by Antenna is \",round(P_rad*(10**(-9)),2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.5,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "lamda = 10*(10**(-2))           # In cm\n",
+      "r = 200*(10**(-2))              # In cm\n",
+      "theta = 90                      # In Degrees\n",
+      "phi = 0                         # In Degrees\n",
+      "IdL = 3*(10**(-4))              # current distribution in Am\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E_theta = (60*pi*IdL*sin(theta))/(lamda*r)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The magnitude of component E_theta is \",round(E_theta,2),\"V/m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.6,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = lamda/12\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 80*(pi**2)*((dL/lamda)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole antenna is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.7,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "I_m = 100         # uniform current in ampere\n",
+      "Lm = Symbol('Lm') #Taking Lm as lamda\n",
+      "dL = Lm/16\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*((I_m/sqrt(2))**2)\n",
+      "R_rad = 80*(pi**2)*((dL/Lm)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.8,PAGE NO.-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# variable declaration\n",
+      "\n",
+      "f = 30*(10**6)       #Frequency in Hz\n",
+      "c = 3*(10**8)        #speed of light in m/s\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Length of Half wave dipole is \",round((lamda/2),2),\"m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.10,PAGE NO.-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin,sqrt \n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')  # Taking lamda as Lm\n",
+      "dL = 0.01*Lm       # Length of dipole \n",
+      "theta = 45\n",
+      "P_rad = 1          # Power radiated in kW\n",
+      "phi = 90\n",
+      "r = 1              # Distance in Km\n",
+      "Eta_o=120*pi\n",
+      "\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 20*(pi**2)*((dL/Lm)**2)\n",
+      "I_m = sqrt(2*P_rad*R_rad)\n",
+      "\n",
+      "# formula  : P = (Eta_o/2)*(((Omega*I_m*dL*sin(theta))/(4*pi*r*v))**2)\n",
+      "P = (Eta_o/2)*(((I_m*dL*sin(theta))/(4*pi*(r**2)))**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Power density is \",P,\"Watt/m^2\"\n",
+      "\n",
+      "#   Note : The Solving in the book is wrong they put 0.1 instead of 0.1*lamda \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.11,PAGE NO.-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi \n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = 75          #Length of dipole in m\n",
+      "f = 800          # Frequency in kHz\n",
+      "I_rms = 10       #rms Current in Amp\n",
+      "c = 3*(10**8)    #Speed of light in m/s \n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "P_rad = 80*(pi**2)*((dL/lamda)**2)*(I_rms**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Total Power radiated by Antenna is \",round(P_rad*1000,2),\"kW\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_12.ipynb b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_12.ipynb
new file mode 100755
index 00000000..e025dd86
--- /dev/null
+++ b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_12.ipynb	
@@ -0,0 +1,462 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:02197244985b7dfa2823dacf9fac72c0a7536b50c383ffa1801ccf3066222ec3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Radiation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7.1, PAGE NO.-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "# Variable declaration\n",
+      "\n",
+      "I_m = 15     #Current in Ampere\n",
+      "P_rad = 6    #Power radiated in kW\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "# By formula\n",
+      "I_rms = I_m/math.sqrt(2)  #I_rms is r.m.s. current\n",
+      "\n",
+      "R_rad = P_rad/(I_rms**2)  #R_rad is radiation resistance\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The radiation resistance of Antenna is\",round(R_rad*1000,2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radiation resistance of Antenna is 53.33 kW\n"
+       ]
+      }
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.1,PAGE NO.-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt \n",
+      "from sympy import Symbol\n",
+      "\n",
+      "# Variable Declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')     # Taking lamda as Lm\n",
+      "dL = Lm/25            # Length of dipole for Hertian dipole\n",
+      "H_phi = 5             # Magnetic field strength in uA/m\n",
+      "theta = pi/2\n",
+      "r = 2                 # Distance in Km\n",
+      "dL_1 = Lm/2           # Length of dipole for Half wave dipole \n",
+      "R_rad = 73            # Radiation resistance for half wave dipole in ohm\n",
+      "R_rad1 = 36.5         # Radiation resistance for quarter wave monopole in ohm\n",
+      "dL_2 = Lm/4           # Length of dipole for quarter wave monopole \n",
+      "\n",
+      "# Calculation\n",
+      "\n",
+      "# By formula : H_phi = I_m*dL*sin(theta)/2*Lm*r\n",
+      "I_m = (H_phi*2*Lm*r)/(dL*sin(theta))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*(I_rms**2)\n",
+      "I_m1 = (H_phi*2*pi*r*sin(theta))/(cos(pi/2*cos(theta)))\n",
+      "I_rms1 = I_m1/sqrt(2)\n",
+      "P_rad1 = (I_rms1**2)*R_rad\n",
+      "P_rad2 = (I_rms1**2)*R_rad1\n",
+      "\n",
+      "# Result\n",
+      "\n",
+      "print \" The power radiated by hertzian dipole is \",round(P_rad*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by half wave dipole is \",round(P_rad1*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by Quarter wave monopole is \",round(P_rad2*10**-3,2),\"mW\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.2,PAGE NO.-43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt\n",
+      "\n",
+      "\n",
+      "\n",
+      "#variable declaration          \n",
+      "\n",
+      "\n",
+      "E_theta = 10*(10**(-6))     #Electric field strength in V/m\n",
+      "theta = pi/2          #observation angle\n",
+      "r = 500*(10**3)       #distance in metrs\n",
+      "f = 50*(10**6)        #frequency in Hertz\n",
+      "c = 3*(10**8)         #speed of light in m/sec\n",
+      "R_rad = 73            #for half wave dipole Radiation resistance in ohms\n",
+      "\n",
+      "\n",
+      "# calculation\n",
+      "lamda = c/f\n",
+      "L = lamda/2           #L is the length of half wave dipole\n",
+      "# formula : E=((60*I_m)/r)*((cos(pi/2*cos(theta)))*sin(theta))\n",
+      "I_m = (E_theta*r*sin(theta))/(60*cos(pi/2*cos(theta)))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_avg = (R_rad*(I_m**2))/2\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"Length of Dipole is\" ,round(L,2),\"metres\"\n",
+      "print \"Current fed to Antenna\",round(I_rms*1000,2),\"mA\"\n",
+      "print \"Average Power\",round(P_avg*1000,2),\"mW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.3,PAGE NO.-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 100          #effective hieght in m\n",
+      "f = 60*(10**3)       #frequency in Hertz\n",
+      "r = 100*(10**3)      #Distance in m\n",
+      "c = 3*(10**8)        #Speed of light in m/sec\n",
+      "P_rad = 100*(10**3)  #radiated power\n",
+      "\n",
+      "# calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "I_rms = sqrt(P_rad/R_rad)\n",
+      "E_rms = (120*pi*l_eff*(I_rms**2))/(lamda*r)\n",
+      "\n",
+      "# Results\n",
+      "\n",
+      "print \"Strength of Electric field\",round(E_rms,2),\"V/m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.4,PAGE NO.-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 113.3    #Effective length in metres\n",
+      "lamda = 18.8     #Wavelength in metres\n",
+      "I_rms = 725      #Base current in Ampere\n",
+      "r = 175          #Distance in metre\n",
+      "Eta_o = 120*pi\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E = (120*pi*l_eff*I_rms)/(lamda*r)\n",
+      "H = E/Eta_o\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "P_rad = (I_rms**2)*(R_rad)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The electric field at a distance r is \",round(E*0.001,2),\"mV/m\"\n",
+      "print \"The H field is\",round(H,2),\"uA/m\"\n",
+      "print \"The power radiated by Antenna is \",round(P_rad*(10**(-9)),2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.5,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "lamda = 10*(10**(-2))           # In cm\n",
+      "r = 200*(10**(-2))              # In cm\n",
+      "theta = 90                      # In Degrees\n",
+      "phi = 0                         # In Degrees\n",
+      "IdL = 3*(10**(-4))              # current distribution in Am\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E_theta = (60*pi*IdL*sin(theta))/(lamda*r)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The magnitude of component E_theta is \",round(E_theta,2),\"V/m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.6,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = lamda/12\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 80*(pi**2)*((dL/lamda)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole antenna is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.7,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "I_m = 100         # uniform current in ampere\n",
+      "Lm = Symbol('Lm') #Taking Lm as lamda\n",
+      "dL = Lm/16\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*((I_m/sqrt(2))**2)\n",
+      "R_rad = 80*(pi**2)*((dL/Lm)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.8,PAGE NO.-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# variable declaration\n",
+      "\n",
+      "f = 30*(10**6)       #Frequency in Hz\n",
+      "c = 3*(10**8)        #speed of light in m/s\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Length of Half wave dipole is \",round((lamda/2),2),\"m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.10,PAGE NO.-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin,sqrt \n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')  # Taking lamda as Lm\n",
+      "dL = 0.01*Lm       # Length of dipole \n",
+      "theta = 45\n",
+      "P_rad = 1          # Power radiated in kW\n",
+      "phi = 90\n",
+      "r = 1              # Distance in Km\n",
+      "Eta_o=120*pi\n",
+      "\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 20*(pi**2)*((dL/Lm)**2)\n",
+      "I_m = sqrt(2*P_rad*R_rad)\n",
+      "\n",
+      "# formula  : P = (Eta_o/2)*(((Omega*I_m*dL*sin(theta))/(4*pi*r*v))**2)\n",
+      "P = (Eta_o/2)*(((I_m*dL*sin(theta))/(4*pi*(r**2)))**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Power density is \",P,\"Watt/m^2\"\n",
+      "\n",
+      "#   Note : The Solving in the book is wrong they put 0.1 instead of 0.1*lamda \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.11,PAGE NO.-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi \n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = 75          #Length of dipole in m\n",
+      "f = 800          # Frequency in kHz\n",
+      "I_rms = 10       #rms Current in Amp\n",
+      "c = 3*(10**8)    #Speed of light in m/s \n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "P_rad = 80*(pi**2)*((dL/lamda)**2)*(I_rms**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Total Power radiated by Antenna is \",round(P_rad*1000,2),\"kW\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_5.ipynb b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_5.ipynb
new file mode 100755
index 00000000..e025dd86
--- /dev/null
+++ b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_5.ipynb	
@@ -0,0 +1,462 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:02197244985b7dfa2823dacf9fac72c0a7536b50c383ffa1801ccf3066222ec3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Radiation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7.1, PAGE NO.-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "# Variable declaration\n",
+      "\n",
+      "I_m = 15     #Current in Ampere\n",
+      "P_rad = 6    #Power radiated in kW\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "# By formula\n",
+      "I_rms = I_m/math.sqrt(2)  #I_rms is r.m.s. current\n",
+      "\n",
+      "R_rad = P_rad/(I_rms**2)  #R_rad is radiation resistance\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The radiation resistance of Antenna is\",round(R_rad*1000,2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radiation resistance of Antenna is 53.33 kW\n"
+       ]
+      }
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.1,PAGE NO.-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt \n",
+      "from sympy import Symbol\n",
+      "\n",
+      "# Variable Declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')     # Taking lamda as Lm\n",
+      "dL = Lm/25            # Length of dipole for Hertian dipole\n",
+      "H_phi = 5             # Magnetic field strength in uA/m\n",
+      "theta = pi/2\n",
+      "r = 2                 # Distance in Km\n",
+      "dL_1 = Lm/2           # Length of dipole for Half wave dipole \n",
+      "R_rad = 73            # Radiation resistance for half wave dipole in ohm\n",
+      "R_rad1 = 36.5         # Radiation resistance for quarter wave monopole in ohm\n",
+      "dL_2 = Lm/4           # Length of dipole for quarter wave monopole \n",
+      "\n",
+      "# Calculation\n",
+      "\n",
+      "# By formula : H_phi = I_m*dL*sin(theta)/2*Lm*r\n",
+      "I_m = (H_phi*2*Lm*r)/(dL*sin(theta))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*(I_rms**2)\n",
+      "I_m1 = (H_phi*2*pi*r*sin(theta))/(cos(pi/2*cos(theta)))\n",
+      "I_rms1 = I_m1/sqrt(2)\n",
+      "P_rad1 = (I_rms1**2)*R_rad\n",
+      "P_rad2 = (I_rms1**2)*R_rad1\n",
+      "\n",
+      "# Result\n",
+      "\n",
+      "print \" The power radiated by hertzian dipole is \",round(P_rad*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by half wave dipole is \",round(P_rad1*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by Quarter wave monopole is \",round(P_rad2*10**-3,2),\"mW\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.2,PAGE NO.-43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt\n",
+      "\n",
+      "\n",
+      "\n",
+      "#variable declaration          \n",
+      "\n",
+      "\n",
+      "E_theta = 10*(10**(-6))     #Electric field strength in V/m\n",
+      "theta = pi/2          #observation angle\n",
+      "r = 500*(10**3)       #distance in metrs\n",
+      "f = 50*(10**6)        #frequency in Hertz\n",
+      "c = 3*(10**8)         #speed of light in m/sec\n",
+      "R_rad = 73            #for half wave dipole Radiation resistance in ohms\n",
+      "\n",
+      "\n",
+      "# calculation\n",
+      "lamda = c/f\n",
+      "L = lamda/2           #L is the length of half wave dipole\n",
+      "# formula : E=((60*I_m)/r)*((cos(pi/2*cos(theta)))*sin(theta))\n",
+      "I_m = (E_theta*r*sin(theta))/(60*cos(pi/2*cos(theta)))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_avg = (R_rad*(I_m**2))/2\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"Length of Dipole is\" ,round(L,2),\"metres\"\n",
+      "print \"Current fed to Antenna\",round(I_rms*1000,2),\"mA\"\n",
+      "print \"Average Power\",round(P_avg*1000,2),\"mW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.3,PAGE NO.-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 100          #effective hieght in m\n",
+      "f = 60*(10**3)       #frequency in Hertz\n",
+      "r = 100*(10**3)      #Distance in m\n",
+      "c = 3*(10**8)        #Speed of light in m/sec\n",
+      "P_rad = 100*(10**3)  #radiated power\n",
+      "\n",
+      "# calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "I_rms = sqrt(P_rad/R_rad)\n",
+      "E_rms = (120*pi*l_eff*(I_rms**2))/(lamda*r)\n",
+      "\n",
+      "# Results\n",
+      "\n",
+      "print \"Strength of Electric field\",round(E_rms,2),\"V/m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.4,PAGE NO.-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 113.3    #Effective length in metres\n",
+      "lamda = 18.8     #Wavelength in metres\n",
+      "I_rms = 725      #Base current in Ampere\n",
+      "r = 175          #Distance in metre\n",
+      "Eta_o = 120*pi\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E = (120*pi*l_eff*I_rms)/(lamda*r)\n",
+      "H = E/Eta_o\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "P_rad = (I_rms**2)*(R_rad)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The electric field at a distance r is \",round(E*0.001,2),\"mV/m\"\n",
+      "print \"The H field is\",round(H,2),\"uA/m\"\n",
+      "print \"The power radiated by Antenna is \",round(P_rad*(10**(-9)),2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.5,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "lamda = 10*(10**(-2))           # In cm\n",
+      "r = 200*(10**(-2))              # In cm\n",
+      "theta = 90                      # In Degrees\n",
+      "phi = 0                         # In Degrees\n",
+      "IdL = 3*(10**(-4))              # current distribution in Am\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E_theta = (60*pi*IdL*sin(theta))/(lamda*r)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The magnitude of component E_theta is \",round(E_theta,2),\"V/m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.6,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = lamda/12\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 80*(pi**2)*((dL/lamda)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole antenna is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.7,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "I_m = 100         # uniform current in ampere\n",
+      "Lm = Symbol('Lm') #Taking Lm as lamda\n",
+      "dL = Lm/16\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*((I_m/sqrt(2))**2)\n",
+      "R_rad = 80*(pi**2)*((dL/Lm)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.8,PAGE NO.-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# variable declaration\n",
+      "\n",
+      "f = 30*(10**6)       #Frequency in Hz\n",
+      "c = 3*(10**8)        #speed of light in m/s\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Length of Half wave dipole is \",round((lamda/2),2),\"m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.10,PAGE NO.-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin,sqrt \n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')  # Taking lamda as Lm\n",
+      "dL = 0.01*Lm       # Length of dipole \n",
+      "theta = 45\n",
+      "P_rad = 1          # Power radiated in kW\n",
+      "phi = 90\n",
+      "r = 1              # Distance in Km\n",
+      "Eta_o=120*pi\n",
+      "\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 20*(pi**2)*((dL/Lm)**2)\n",
+      "I_m = sqrt(2*P_rad*R_rad)\n",
+      "\n",
+      "# formula  : P = (Eta_o/2)*(((Omega*I_m*dL*sin(theta))/(4*pi*r*v))**2)\n",
+      "P = (Eta_o/2)*(((I_m*dL*sin(theta))/(4*pi*(r**2)))**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Power density is \",P,\"Watt/m^2\"\n",
+      "\n",
+      "#   Note : The Solving in the book is wrong they put 0.1 instead of 0.1*lamda \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.11,PAGE NO.-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi \n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = 75          #Length of dipole in m\n",
+      "f = 800          # Frequency in kHz\n",
+      "I_rms = 10       #rms Current in Amp\n",
+      "c = 3*(10**8)    #Speed of light in m/s \n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "P_rad = 80*(pi**2)*((dL/lamda)**2)*(I_rms**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Total Power radiated by Antenna is \",round(P_rad*1000,2),\"kW\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_6.ipynb b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_6.ipynb
new file mode 100755
index 00000000..e025dd86
--- /dev/null
+++ b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_6.ipynb	
@@ -0,0 +1,462 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:02197244985b7dfa2823dacf9fac72c0a7536b50c383ffa1801ccf3066222ec3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Radiation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7.1, PAGE NO.-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "# Variable declaration\n",
+      "\n",
+      "I_m = 15     #Current in Ampere\n",
+      "P_rad = 6    #Power radiated in kW\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "# By formula\n",
+      "I_rms = I_m/math.sqrt(2)  #I_rms is r.m.s. current\n",
+      "\n",
+      "R_rad = P_rad/(I_rms**2)  #R_rad is radiation resistance\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The radiation resistance of Antenna is\",round(R_rad*1000,2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radiation resistance of Antenna is 53.33 kW\n"
+       ]
+      }
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.1,PAGE NO.-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt \n",
+      "from sympy import Symbol\n",
+      "\n",
+      "# Variable Declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')     # Taking lamda as Lm\n",
+      "dL = Lm/25            # Length of dipole for Hertian dipole\n",
+      "H_phi = 5             # Magnetic field strength in uA/m\n",
+      "theta = pi/2\n",
+      "r = 2                 # Distance in Km\n",
+      "dL_1 = Lm/2           # Length of dipole for Half wave dipole \n",
+      "R_rad = 73            # Radiation resistance for half wave dipole in ohm\n",
+      "R_rad1 = 36.5         # Radiation resistance for quarter wave monopole in ohm\n",
+      "dL_2 = Lm/4           # Length of dipole for quarter wave monopole \n",
+      "\n",
+      "# Calculation\n",
+      "\n",
+      "# By formula : H_phi = I_m*dL*sin(theta)/2*Lm*r\n",
+      "I_m = (H_phi*2*Lm*r)/(dL*sin(theta))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*(I_rms**2)\n",
+      "I_m1 = (H_phi*2*pi*r*sin(theta))/(cos(pi/2*cos(theta)))\n",
+      "I_rms1 = I_m1/sqrt(2)\n",
+      "P_rad1 = (I_rms1**2)*R_rad\n",
+      "P_rad2 = (I_rms1**2)*R_rad1\n",
+      "\n",
+      "# Result\n",
+      "\n",
+      "print \" The power radiated by hertzian dipole is \",round(P_rad*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by half wave dipole is \",round(P_rad1*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by Quarter wave monopole is \",round(P_rad2*10**-3,2),\"mW\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.2,PAGE NO.-43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt\n",
+      "\n",
+      "\n",
+      "\n",
+      "#variable declaration          \n",
+      "\n",
+      "\n",
+      "E_theta = 10*(10**(-6))     #Electric field strength in V/m\n",
+      "theta = pi/2          #observation angle\n",
+      "r = 500*(10**3)       #distance in metrs\n",
+      "f = 50*(10**6)        #frequency in Hertz\n",
+      "c = 3*(10**8)         #speed of light in m/sec\n",
+      "R_rad = 73            #for half wave dipole Radiation resistance in ohms\n",
+      "\n",
+      "\n",
+      "# calculation\n",
+      "lamda = c/f\n",
+      "L = lamda/2           #L is the length of half wave dipole\n",
+      "# formula : E=((60*I_m)/r)*((cos(pi/2*cos(theta)))*sin(theta))\n",
+      "I_m = (E_theta*r*sin(theta))/(60*cos(pi/2*cos(theta)))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_avg = (R_rad*(I_m**2))/2\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"Length of Dipole is\" ,round(L,2),\"metres\"\n",
+      "print \"Current fed to Antenna\",round(I_rms*1000,2),\"mA\"\n",
+      "print \"Average Power\",round(P_avg*1000,2),\"mW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.3,PAGE NO.-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 100          #effective hieght in m\n",
+      "f = 60*(10**3)       #frequency in Hertz\n",
+      "r = 100*(10**3)      #Distance in m\n",
+      "c = 3*(10**8)        #Speed of light in m/sec\n",
+      "P_rad = 100*(10**3)  #radiated power\n",
+      "\n",
+      "# calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "I_rms = sqrt(P_rad/R_rad)\n",
+      "E_rms = (120*pi*l_eff*(I_rms**2))/(lamda*r)\n",
+      "\n",
+      "# Results\n",
+      "\n",
+      "print \"Strength of Electric field\",round(E_rms,2),\"V/m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.4,PAGE NO.-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 113.3    #Effective length in metres\n",
+      "lamda = 18.8     #Wavelength in metres\n",
+      "I_rms = 725      #Base current in Ampere\n",
+      "r = 175          #Distance in metre\n",
+      "Eta_o = 120*pi\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E = (120*pi*l_eff*I_rms)/(lamda*r)\n",
+      "H = E/Eta_o\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "P_rad = (I_rms**2)*(R_rad)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The electric field at a distance r is \",round(E*0.001,2),\"mV/m\"\n",
+      "print \"The H field is\",round(H,2),\"uA/m\"\n",
+      "print \"The power radiated by Antenna is \",round(P_rad*(10**(-9)),2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.5,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "lamda = 10*(10**(-2))           # In cm\n",
+      "r = 200*(10**(-2))              # In cm\n",
+      "theta = 90                      # In Degrees\n",
+      "phi = 0                         # In Degrees\n",
+      "IdL = 3*(10**(-4))              # current distribution in Am\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E_theta = (60*pi*IdL*sin(theta))/(lamda*r)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The magnitude of component E_theta is \",round(E_theta,2),\"V/m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.6,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = lamda/12\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 80*(pi**2)*((dL/lamda)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole antenna is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.7,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "I_m = 100         # uniform current in ampere\n",
+      "Lm = Symbol('Lm') #Taking Lm as lamda\n",
+      "dL = Lm/16\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*((I_m/sqrt(2))**2)\n",
+      "R_rad = 80*(pi**2)*((dL/Lm)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.8,PAGE NO.-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# variable declaration\n",
+      "\n",
+      "f = 30*(10**6)       #Frequency in Hz\n",
+      "c = 3*(10**8)        #speed of light in m/s\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Length of Half wave dipole is \",round((lamda/2),2),\"m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.10,PAGE NO.-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin,sqrt \n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')  # Taking lamda as Lm\n",
+      "dL = 0.01*Lm       # Length of dipole \n",
+      "theta = 45\n",
+      "P_rad = 1          # Power radiated in kW\n",
+      "phi = 90\n",
+      "r = 1              # Distance in Km\n",
+      "Eta_o=120*pi\n",
+      "\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 20*(pi**2)*((dL/Lm)**2)\n",
+      "I_m = sqrt(2*P_rad*R_rad)\n",
+      "\n",
+      "# formula  : P = (Eta_o/2)*(((Omega*I_m*dL*sin(theta))/(4*pi*r*v))**2)\n",
+      "P = (Eta_o/2)*(((I_m*dL*sin(theta))/(4*pi*(r**2)))**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Power density is \",P,\"Watt/m^2\"\n",
+      "\n",
+      "#   Note : The Solving in the book is wrong they put 0.1 instead of 0.1*lamda \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.11,PAGE NO.-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi \n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = 75          #Length of dipole in m\n",
+      "f = 800          # Frequency in kHz\n",
+      "I_rms = 10       #rms Current in Amp\n",
+      "c = 3*(10**8)    #Speed of light in m/s \n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "P_rad = 80*(pi**2)*((dL/lamda)**2)*(I_rms**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Total Power radiated by Antenna is \",round(P_rad*1000,2),\"kW\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_7.ipynb b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_7.ipynb
new file mode 100755
index 00000000..e025dd86
--- /dev/null
+++ b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_7.ipynb	
@@ -0,0 +1,462 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:02197244985b7dfa2823dacf9fac72c0a7536b50c383ffa1801ccf3066222ec3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Radiation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7.1, PAGE NO.-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "# Variable declaration\n",
+      "\n",
+      "I_m = 15     #Current in Ampere\n",
+      "P_rad = 6    #Power radiated in kW\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "# By formula\n",
+      "I_rms = I_m/math.sqrt(2)  #I_rms is r.m.s. current\n",
+      "\n",
+      "R_rad = P_rad/(I_rms**2)  #R_rad is radiation resistance\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The radiation resistance of Antenna is\",round(R_rad*1000,2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radiation resistance of Antenna is 53.33 kW\n"
+       ]
+      }
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.1,PAGE NO.-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt \n",
+      "from sympy import Symbol\n",
+      "\n",
+      "# Variable Declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')     # Taking lamda as Lm\n",
+      "dL = Lm/25            # Length of dipole for Hertian dipole\n",
+      "H_phi = 5             # Magnetic field strength in uA/m\n",
+      "theta = pi/2\n",
+      "r = 2                 # Distance in Km\n",
+      "dL_1 = Lm/2           # Length of dipole for Half wave dipole \n",
+      "R_rad = 73            # Radiation resistance for half wave dipole in ohm\n",
+      "R_rad1 = 36.5         # Radiation resistance for quarter wave monopole in ohm\n",
+      "dL_2 = Lm/4           # Length of dipole for quarter wave monopole \n",
+      "\n",
+      "# Calculation\n",
+      "\n",
+      "# By formula : H_phi = I_m*dL*sin(theta)/2*Lm*r\n",
+      "I_m = (H_phi*2*Lm*r)/(dL*sin(theta))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*(I_rms**2)\n",
+      "I_m1 = (H_phi*2*pi*r*sin(theta))/(cos(pi/2*cos(theta)))\n",
+      "I_rms1 = I_m1/sqrt(2)\n",
+      "P_rad1 = (I_rms1**2)*R_rad\n",
+      "P_rad2 = (I_rms1**2)*R_rad1\n",
+      "\n",
+      "# Result\n",
+      "\n",
+      "print \" The power radiated by hertzian dipole is \",round(P_rad*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by half wave dipole is \",round(P_rad1*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by Quarter wave monopole is \",round(P_rad2*10**-3,2),\"mW\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.2,PAGE NO.-43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt\n",
+      "\n",
+      "\n",
+      "\n",
+      "#variable declaration          \n",
+      "\n",
+      "\n",
+      "E_theta = 10*(10**(-6))     #Electric field strength in V/m\n",
+      "theta = pi/2          #observation angle\n",
+      "r = 500*(10**3)       #distance in metrs\n",
+      "f = 50*(10**6)        #frequency in Hertz\n",
+      "c = 3*(10**8)         #speed of light in m/sec\n",
+      "R_rad = 73            #for half wave dipole Radiation resistance in ohms\n",
+      "\n",
+      "\n",
+      "# calculation\n",
+      "lamda = c/f\n",
+      "L = lamda/2           #L is the length of half wave dipole\n",
+      "# formula : E=((60*I_m)/r)*((cos(pi/2*cos(theta)))*sin(theta))\n",
+      "I_m = (E_theta*r*sin(theta))/(60*cos(pi/2*cos(theta)))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_avg = (R_rad*(I_m**2))/2\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"Length of Dipole is\" ,round(L,2),\"metres\"\n",
+      "print \"Current fed to Antenna\",round(I_rms*1000,2),\"mA\"\n",
+      "print \"Average Power\",round(P_avg*1000,2),\"mW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.3,PAGE NO.-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 100          #effective hieght in m\n",
+      "f = 60*(10**3)       #frequency in Hertz\n",
+      "r = 100*(10**3)      #Distance in m\n",
+      "c = 3*(10**8)        #Speed of light in m/sec\n",
+      "P_rad = 100*(10**3)  #radiated power\n",
+      "\n",
+      "# calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "I_rms = sqrt(P_rad/R_rad)\n",
+      "E_rms = (120*pi*l_eff*(I_rms**2))/(lamda*r)\n",
+      "\n",
+      "# Results\n",
+      "\n",
+      "print \"Strength of Electric field\",round(E_rms,2),\"V/m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.4,PAGE NO.-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 113.3    #Effective length in metres\n",
+      "lamda = 18.8     #Wavelength in metres\n",
+      "I_rms = 725      #Base current in Ampere\n",
+      "r = 175          #Distance in metre\n",
+      "Eta_o = 120*pi\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E = (120*pi*l_eff*I_rms)/(lamda*r)\n",
+      "H = E/Eta_o\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "P_rad = (I_rms**2)*(R_rad)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The electric field at a distance r is \",round(E*0.001,2),\"mV/m\"\n",
+      "print \"The H field is\",round(H,2),\"uA/m\"\n",
+      "print \"The power radiated by Antenna is \",round(P_rad*(10**(-9)),2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.5,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "lamda = 10*(10**(-2))           # In cm\n",
+      "r = 200*(10**(-2))              # In cm\n",
+      "theta = 90                      # In Degrees\n",
+      "phi = 0                         # In Degrees\n",
+      "IdL = 3*(10**(-4))              # current distribution in Am\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E_theta = (60*pi*IdL*sin(theta))/(lamda*r)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The magnitude of component E_theta is \",round(E_theta,2),\"V/m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.6,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = lamda/12\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 80*(pi**2)*((dL/lamda)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole antenna is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.7,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "I_m = 100         # uniform current in ampere\n",
+      "Lm = Symbol('Lm') #Taking Lm as lamda\n",
+      "dL = Lm/16\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*((I_m/sqrt(2))**2)\n",
+      "R_rad = 80*(pi**2)*((dL/Lm)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.8,PAGE NO.-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# variable declaration\n",
+      "\n",
+      "f = 30*(10**6)       #Frequency in Hz\n",
+      "c = 3*(10**8)        #speed of light in m/s\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Length of Half wave dipole is \",round((lamda/2),2),\"m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.10,PAGE NO.-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin,sqrt \n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')  # Taking lamda as Lm\n",
+      "dL = 0.01*Lm       # Length of dipole \n",
+      "theta = 45\n",
+      "P_rad = 1          # Power radiated in kW\n",
+      "phi = 90\n",
+      "r = 1              # Distance in Km\n",
+      "Eta_o=120*pi\n",
+      "\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 20*(pi**2)*((dL/Lm)**2)\n",
+      "I_m = sqrt(2*P_rad*R_rad)\n",
+      "\n",
+      "# formula  : P = (Eta_o/2)*(((Omega*I_m*dL*sin(theta))/(4*pi*r*v))**2)\n",
+      "P = (Eta_o/2)*(((I_m*dL*sin(theta))/(4*pi*(r**2)))**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Power density is \",P,\"Watt/m^2\"\n",
+      "\n",
+      "#   Note : The Solving in the book is wrong they put 0.1 instead of 0.1*lamda \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.11,PAGE NO.-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi \n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = 75          #Length of dipole in m\n",
+      "f = 800          # Frequency in kHz\n",
+      "I_rms = 10       #rms Current in Amp\n",
+      "c = 3*(10**8)    #Speed of light in m/s \n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "P_rad = 80*(pi**2)*((dL/lamda)**2)*(I_rms**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Total Power radiated by Antenna is \",round(P_rad*1000,2),\"kW\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_8.ipynb b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_8.ipynb
new file mode 100755
index 00000000..e025dd86
--- /dev/null
+++ b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_8.ipynb	
@@ -0,0 +1,462 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:02197244985b7dfa2823dacf9fac72c0a7536b50c383ffa1801ccf3066222ec3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Radiation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7.1, PAGE NO.-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "# Variable declaration\n",
+      "\n",
+      "I_m = 15     #Current in Ampere\n",
+      "P_rad = 6    #Power radiated in kW\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "# By formula\n",
+      "I_rms = I_m/math.sqrt(2)  #I_rms is r.m.s. current\n",
+      "\n",
+      "R_rad = P_rad/(I_rms**2)  #R_rad is radiation resistance\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The radiation resistance of Antenna is\",round(R_rad*1000,2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radiation resistance of Antenna is 53.33 kW\n"
+       ]
+      }
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.1,PAGE NO.-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt \n",
+      "from sympy import Symbol\n",
+      "\n",
+      "# Variable Declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')     # Taking lamda as Lm\n",
+      "dL = Lm/25            # Length of dipole for Hertian dipole\n",
+      "H_phi = 5             # Magnetic field strength in uA/m\n",
+      "theta = pi/2\n",
+      "r = 2                 # Distance in Km\n",
+      "dL_1 = Lm/2           # Length of dipole for Half wave dipole \n",
+      "R_rad = 73            # Radiation resistance for half wave dipole in ohm\n",
+      "R_rad1 = 36.5         # Radiation resistance for quarter wave monopole in ohm\n",
+      "dL_2 = Lm/4           # Length of dipole for quarter wave monopole \n",
+      "\n",
+      "# Calculation\n",
+      "\n",
+      "# By formula : H_phi = I_m*dL*sin(theta)/2*Lm*r\n",
+      "I_m = (H_phi*2*Lm*r)/(dL*sin(theta))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*(I_rms**2)\n",
+      "I_m1 = (H_phi*2*pi*r*sin(theta))/(cos(pi/2*cos(theta)))\n",
+      "I_rms1 = I_m1/sqrt(2)\n",
+      "P_rad1 = (I_rms1**2)*R_rad\n",
+      "P_rad2 = (I_rms1**2)*R_rad1\n",
+      "\n",
+      "# Result\n",
+      "\n",
+      "print \" The power radiated by hertzian dipole is \",round(P_rad*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by half wave dipole is \",round(P_rad1*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by Quarter wave monopole is \",round(P_rad2*10**-3,2),\"mW\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.2,PAGE NO.-43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt\n",
+      "\n",
+      "\n",
+      "\n",
+      "#variable declaration          \n",
+      "\n",
+      "\n",
+      "E_theta = 10*(10**(-6))     #Electric field strength in V/m\n",
+      "theta = pi/2          #observation angle\n",
+      "r = 500*(10**3)       #distance in metrs\n",
+      "f = 50*(10**6)        #frequency in Hertz\n",
+      "c = 3*(10**8)         #speed of light in m/sec\n",
+      "R_rad = 73            #for half wave dipole Radiation resistance in ohms\n",
+      "\n",
+      "\n",
+      "# calculation\n",
+      "lamda = c/f\n",
+      "L = lamda/2           #L is the length of half wave dipole\n",
+      "# formula : E=((60*I_m)/r)*((cos(pi/2*cos(theta)))*sin(theta))\n",
+      "I_m = (E_theta*r*sin(theta))/(60*cos(pi/2*cos(theta)))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_avg = (R_rad*(I_m**2))/2\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"Length of Dipole is\" ,round(L,2),\"metres\"\n",
+      "print \"Current fed to Antenna\",round(I_rms*1000,2),\"mA\"\n",
+      "print \"Average Power\",round(P_avg*1000,2),\"mW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.3,PAGE NO.-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 100          #effective hieght in m\n",
+      "f = 60*(10**3)       #frequency in Hertz\n",
+      "r = 100*(10**3)      #Distance in m\n",
+      "c = 3*(10**8)        #Speed of light in m/sec\n",
+      "P_rad = 100*(10**3)  #radiated power\n",
+      "\n",
+      "# calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "I_rms = sqrt(P_rad/R_rad)\n",
+      "E_rms = (120*pi*l_eff*(I_rms**2))/(lamda*r)\n",
+      "\n",
+      "# Results\n",
+      "\n",
+      "print \"Strength of Electric field\",round(E_rms,2),\"V/m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.4,PAGE NO.-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 113.3    #Effective length in metres\n",
+      "lamda = 18.8     #Wavelength in metres\n",
+      "I_rms = 725      #Base current in Ampere\n",
+      "r = 175          #Distance in metre\n",
+      "Eta_o = 120*pi\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E = (120*pi*l_eff*I_rms)/(lamda*r)\n",
+      "H = E/Eta_o\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "P_rad = (I_rms**2)*(R_rad)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The electric field at a distance r is \",round(E*0.001,2),\"mV/m\"\n",
+      "print \"The H field is\",round(H,2),\"uA/m\"\n",
+      "print \"The power radiated by Antenna is \",round(P_rad*(10**(-9)),2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.5,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "lamda = 10*(10**(-2))           # In cm\n",
+      "r = 200*(10**(-2))              # In cm\n",
+      "theta = 90                      # In Degrees\n",
+      "phi = 0                         # In Degrees\n",
+      "IdL = 3*(10**(-4))              # current distribution in Am\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E_theta = (60*pi*IdL*sin(theta))/(lamda*r)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The magnitude of component E_theta is \",round(E_theta,2),\"V/m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.6,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = lamda/12\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 80*(pi**2)*((dL/lamda)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole antenna is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.7,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "I_m = 100         # uniform current in ampere\n",
+      "Lm = Symbol('Lm') #Taking Lm as lamda\n",
+      "dL = Lm/16\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*((I_m/sqrt(2))**2)\n",
+      "R_rad = 80*(pi**2)*((dL/Lm)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.8,PAGE NO.-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# variable declaration\n",
+      "\n",
+      "f = 30*(10**6)       #Frequency in Hz\n",
+      "c = 3*(10**8)        #speed of light in m/s\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Length of Half wave dipole is \",round((lamda/2),2),\"m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.10,PAGE NO.-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin,sqrt \n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')  # Taking lamda as Lm\n",
+      "dL = 0.01*Lm       # Length of dipole \n",
+      "theta = 45\n",
+      "P_rad = 1          # Power radiated in kW\n",
+      "phi = 90\n",
+      "r = 1              # Distance in Km\n",
+      "Eta_o=120*pi\n",
+      "\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 20*(pi**2)*((dL/Lm)**2)\n",
+      "I_m = sqrt(2*P_rad*R_rad)\n",
+      "\n",
+      "# formula  : P = (Eta_o/2)*(((Omega*I_m*dL*sin(theta))/(4*pi*r*v))**2)\n",
+      "P = (Eta_o/2)*(((I_m*dL*sin(theta))/(4*pi*(r**2)))**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Power density is \",P,\"Watt/m^2\"\n",
+      "\n",
+      "#   Note : The Solving in the book is wrong they put 0.1 instead of 0.1*lamda \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.11,PAGE NO.-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi \n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = 75          #Length of dipole in m\n",
+      "f = 800          # Frequency in kHz\n",
+      "I_rms = 10       #rms Current in Amp\n",
+      "c = 3*(10**8)    #Speed of light in m/s \n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "P_rad = 80*(pi**2)*((dL/lamda)**2)*(I_rms**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Total Power radiated by Antenna is \",round(P_rad*1000,2),\"kW\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_9.ipynb b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_9.ipynb
new file mode 100755
index 00000000..e025dd86
--- /dev/null
+++ b/sample_notebooks/NIKHILESH DAMLE/ANTENNAS_AND_WAVE_PROPAGATION_BY_U.A_BAKSHI,_A.V_BAKSHI,_K.A_BAKSHI_9.ipynb	
@@ -0,0 +1,462 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:02197244985b7dfa2823dacf9fac72c0a7536b50c383ffa1801ccf3066222ec3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Radiation"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.7.1, PAGE NO.-30"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "# Variable declaration\n",
+      "\n",
+      "I_m = 15     #Current in Ampere\n",
+      "P_rad = 6    #Power radiated in kW\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "# By formula\n",
+      "I_rms = I_m/math.sqrt(2)  #I_rms is r.m.s. current\n",
+      "\n",
+      "R_rad = P_rad/(I_rms**2)  #R_rad is radiation resistance\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The radiation resistance of Antenna is\",round(R_rad*1000,2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The radiation resistance of Antenna is 53.33 kW\n"
+       ]
+      }
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.1,PAGE NO.-42"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt \n",
+      "from sympy import Symbol\n",
+      "\n",
+      "# Variable Declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')     # Taking lamda as Lm\n",
+      "dL = Lm/25            # Length of dipole for Hertian dipole\n",
+      "H_phi = 5             # Magnetic field strength in uA/m\n",
+      "theta = pi/2\n",
+      "r = 2                 # Distance in Km\n",
+      "dL_1 = Lm/2           # Length of dipole for Half wave dipole \n",
+      "R_rad = 73            # Radiation resistance for half wave dipole in ohm\n",
+      "R_rad1 = 36.5         # Radiation resistance for quarter wave monopole in ohm\n",
+      "dL_2 = Lm/4           # Length of dipole for quarter wave monopole \n",
+      "\n",
+      "# Calculation\n",
+      "\n",
+      "# By formula : H_phi = I_m*dL*sin(theta)/2*Lm*r\n",
+      "I_m = (H_phi*2*Lm*r)/(dL*sin(theta))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*(I_rms**2)\n",
+      "I_m1 = (H_phi*2*pi*r*sin(theta))/(cos(pi/2*cos(theta)))\n",
+      "I_rms1 = I_m1/sqrt(2)\n",
+      "P_rad1 = (I_rms1**2)*R_rad\n",
+      "P_rad2 = (I_rms1**2)*R_rad1\n",
+      "\n",
+      "# Result\n",
+      "\n",
+      "print \" The power radiated by hertzian dipole is \",round(P_rad*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by half wave dipole is \",round(P_rad1*10**-3,2),\"mW\"\n",
+      "print \" The power radiated by Quarter wave monopole is \",round(P_rad2*10**-3,2),\"mW\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.2,PAGE NO.-43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import sin,cos,pi,sqrt\n",
+      "\n",
+      "\n",
+      "\n",
+      "#variable declaration          \n",
+      "\n",
+      "\n",
+      "E_theta = 10*(10**(-6))     #Electric field strength in V/m\n",
+      "theta = pi/2          #observation angle\n",
+      "r = 500*(10**3)       #distance in metrs\n",
+      "f = 50*(10**6)        #frequency in Hertz\n",
+      "c = 3*(10**8)         #speed of light in m/sec\n",
+      "R_rad = 73            #for half wave dipole Radiation resistance in ohms\n",
+      "\n",
+      "\n",
+      "# calculation\n",
+      "lamda = c/f\n",
+      "L = lamda/2           #L is the length of half wave dipole\n",
+      "# formula : E=((60*I_m)/r)*((cos(pi/2*cos(theta)))*sin(theta))\n",
+      "I_m = (E_theta*r*sin(theta))/(60*cos(pi/2*cos(theta)))\n",
+      "I_rms = I_m/sqrt(2)\n",
+      "P_avg = (R_rad*(I_m**2))/2\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"Length of Dipole is\" ,round(L,2),\"metres\"\n",
+      "print \"Current fed to Antenna\",round(I_rms*1000,2),\"mA\"\n",
+      "print \"Average Power\",round(P_avg*1000,2),\"mW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.3,PAGE NO.-44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 100          #effective hieght in m\n",
+      "f = 60*(10**3)       #frequency in Hertz\n",
+      "r = 100*(10**3)      #Distance in m\n",
+      "c = 3*(10**8)        #Speed of light in m/sec\n",
+      "P_rad = 100*(10**3)  #radiated power\n",
+      "\n",
+      "# calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "I_rms = sqrt(P_rad/R_rad)\n",
+      "E_rms = (120*pi*l_eff*(I_rms**2))/(lamda*r)\n",
+      "\n",
+      "# Results\n",
+      "\n",
+      "print \"Strength of Electric field\",round(E_rms,2),\"V/m\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.4,PAGE NO.-45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "l_eff = 113.3    #Effective length in metres\n",
+      "lamda = 18.8     #Wavelength in metres\n",
+      "I_rms = 725      #Base current in Ampere\n",
+      "r = 175          #Distance in metre\n",
+      "Eta_o = 120*pi\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E = (120*pi*l_eff*I_rms)/(lamda*r)\n",
+      "H = E/Eta_o\n",
+      "R_rad = 160*(pi**2)*((l_eff/lamda)**2)\n",
+      "P_rad = (I_rms**2)*(R_rad)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The electric field at a distance r is \",round(E*0.001,2),\"mV/m\"\n",
+      "print \"The H field is\",round(H,2),\"uA/m\"\n",
+      "print \"The power radiated by Antenna is \",round(P_rad*(10**(-9)),2),\"kW\"\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.5,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "lamda = 10*(10**(-2))           # In cm\n",
+      "r = 200*(10**(-2))              # In cm\n",
+      "theta = 90                      # In Degrees\n",
+      "phi = 0                         # In Degrees\n",
+      "IdL = 3*(10**(-4))              # current distribution in Am\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "E_theta = (60*pi*IdL*sin(theta))/(lamda*r)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The magnitude of component E_theta is \",round(E_theta,2),\"V/m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.6,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi\n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = lamda/12\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 80*(pi**2)*((dL/lamda)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole antenna is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.7,PAGE NO.-46"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sqrt\n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "I_m = 100         # uniform current in ampere\n",
+      "Lm = Symbol('Lm') #Taking Lm as lamda\n",
+      "dL = Lm/16\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "P_rad = 80*(pi**2)*((dL/Lm)**2)*((I_m/sqrt(2))**2)\n",
+      "R_rad = 80*(pi**2)*((dL/Lm)**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Radiation resistance of dipole is \",round(R_rad,2),\"ohm\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.8,PAGE NO.-47"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# variable declaration\n",
+      "\n",
+      "f = 30*(10**6)       #Frequency in Hz\n",
+      "c = 3*(10**8)        #speed of light in m/s\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Length of Half wave dipole is \",round((lamda/2),2),\"m\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.10,PAGE NO.-48"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi,sin,sqrt \n",
+      "from sympy import Symbol\n",
+      "# variable declaration\n",
+      "\n",
+      "Lm = Symbol('Lm')  # Taking lamda as Lm\n",
+      "dL = 0.01*Lm       # Length of dipole \n",
+      "theta = 45\n",
+      "P_rad = 1          # Power radiated in kW\n",
+      "phi = 90\n",
+      "r = 1              # Distance in Km\n",
+      "Eta_o=120*pi\n",
+      "\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "R_rad = 20*(pi**2)*((dL/Lm)**2)\n",
+      "I_m = sqrt(2*P_rad*R_rad)\n",
+      "\n",
+      "# formula  : P = (Eta_o/2)*(((Omega*I_m*dL*sin(theta))/(4*pi*r*v))**2)\n",
+      "P = (Eta_o/2)*(((I_m*dL*sin(theta))/(4*pi*(r**2)))**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Power density is \",P,\"Watt/m^2\"\n",
+      "\n",
+      "#   Note : The Solving in the book is wrong they put 0.1 instead of 0.1*lamda \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1.9.11,PAGE NO.-49"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from __future__ import division\n",
+      "from math import pi \n",
+      "\n",
+      "# variable declaration\n",
+      "\n",
+      "dL = 75          #Length of dipole in m\n",
+      "f = 800          # Frequency in kHz\n",
+      "I_rms = 10       #rms Current in Amp\n",
+      "c = 3*(10**8)    #Speed of light in m/s \n",
+      "\n",
+      "#Calculation\n",
+      "\n",
+      "lamda = c/f\n",
+      "P_rad = 80*(pi**2)*((dL/lamda)**2)*(I_rms**2)\n",
+      "\n",
+      "#Result\n",
+      "\n",
+      "print \"The Total Power radiated by Antenna is \",round(P_rad*1000,2),\"kW\"\n",
+      "\n",
+      "\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NirenNegandhi/ch2_1.ipynb b/sample_notebooks/NirenNegandhi/ch2_1.ipynb
new file mode 100755
index 00000000..e79c5ef9
--- /dev/null
+++ b/sample_notebooks/NirenNegandhi/ch2_1.ipynb
@@ -0,0 +1,505 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:d53ace7eee908f1b365cd69f5f5bf3b12191ff7d43291af068a8947558149234"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2: Special Theory of Relativity"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.2, Page 34"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "ly = 9.46e+015;    # Distance travelled by light in an year, m\n",
+      "c = 3e+008;    # Speed of light, m/s\n",
+      "L = 4.30*ly;    # Distance of Alpha Centauri from earth, m\n",
+      "T0 = 16*365.25*24*60*60;    # Proper time in system K_prime, s\n",
+      "\n",
+      "#Calculations\n",
+      "# As time measured on earth, T = 2*L/v = T0_prime/sqrt(1-(v/c)^2), solving for v\n",
+      "v = math.sqrt(4*L**2/(T0**2+4*L**2/c**2));    # Speed of the aircraft, m/s\n",
+      "gama = 1/math.sqrt(1-(v/c)**2);    # Relativistic factor\n",
+      "T = gama*T0/(365.25*24*60*60);    # Time interval as measured on Earth, y\n",
+      "\n",
+      "#Results\n",
+      "print \"The speed of the aircraft = %4.2e m/s\" %v\n",
+      "print \"The time interval as measured on earth = %4.1f y\"%T\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The speed of the aircraft = 1.42e+08 m/s\n",
+        "The time interval as measured on earth = 18.2 y\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.3, Page 38"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "L0 = 4.30;    # Distance of Alpha Centauri from earth, ly\n",
+      "c = 3e+008;    # Speed of light, m/s\n",
+      "T = 8;    # Proper time in system K_prime, y\n",
+      "\n",
+      "#Calculations\n",
+      "# As v/c = L0*sqrt(1-(v/c)^2)/(c*T) or bita = L0*sqrt(1-bita^2)/(c*T), solving for bita\n",
+      "bita = math.sqrt(L0**2/(T**2 + L0**2));    # Boost parameter\n",
+      "v = L0*math.sqrt(1-bita**2)/T;    # Speed of the aircraft, c units\n",
+      "\n",
+      "#Results\n",
+      "print \"The boost parameter = %5.3f\"%bita\n",
+      "print \"The speed of the aircraft = %5.3fc units\"%v"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The boost parameter = 0.473\n",
+        "The speed of the aircraft = 0.473c units\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.4, Page 40"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 1;    # For simplicity assume speed of light to be unity, m/s\n",
+      "bita = 0.600;    # Boost parameter\n",
+      "gama = 1/math.sqrt(1-bita**2);    # Relativistic factor\n",
+      "u_x_prime = 0;    # Speed of the protons in spaceship frame along x-axis, m/s\n",
+      "u_y_prime = 0.99*c;    # Speed of the protons in spaceship frame along y-axis, m/s\n",
+      "u_z_prime = 0;    # Speed of the protons in spaceship frame along z-axis, m/s\n",
+      "v = 0.60*c;    # Speed of the spaceship w.r.t. space station, m/s\n",
+      "\n",
+      "#Calculations\n",
+      "u_x = (u_x_prime + v)/(1 + v/c**2*u_x_prime);    # Speed of protons in space station frame along x-axis, m/s\n",
+      "u_y = u_y_prime/(gama*(1 + v/c**2*u_x_prime));    # Speed of protons in space station frame along y-axis, m/s\n",
+      "u_z = u_z_prime/(gama*(1 + v/c**2*u_x_prime));    # Speed of protons in space station frame along y-axis, m/s\n",
+      "u = math.sqrt(u_x**2 + u_y**2 + u_z**2);    # The speed of the protons measured by an observer in the space station, m/s\n",
+      "\n",
+      "#Result\n",
+      "print \"The speed of the protons measured by an observer in the space station = %5.3fc units\"%u"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The speed of the protons measured by an observer in the space station = 0.994c units\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.5, Page 45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "c = 2.998e+008;    # Speed of light in free space, m/s\n",
+      "v = 7712;    # Speed of the space shuttle, m/s\n",
+      "bita = v/c;    # Boost parameter\n",
+      "T_loss = 295.02;    # Total measured loss in time, ps/sec\n",
+      "Add_T_loss = 35.0;    # Additional time loss for moving clock from general relativity prediction, ps/s\n",
+      "\n",
+      "#Calculations\n",
+      "# From time dilation relation, T0_prime = T*sqrt(1 - bita^2), solving for (T - T0_prime)/T\n",
+      "Calc_T_loss = bita**2/2*1e+012;    # Expected time lost per sec by the moving clock, ps/sec\n",
+      "Measured_T_loss = T_loss + Add_T_loss;    # Total measured loss in time per sec as per special relativity, ps/s\n",
+      "percent_T_loss = (Calc_T_loss - Measured_T_loss)/Calc_T_loss*100;    # Percentage deviation of measured and the calculated time loss per sec\n",
+      "T = 6.05e+05;    # Total time of the seven-day mission, s\n",
+      "delta_T = Calc_T_loss*1e-012*T;    # The total time difference between the moving and stationary clocks during the entire shuttle flight, s\n",
+      "\n",
+      "#Results\n",
+      "print \"The expected time lost per second for the moving clock = %6.2f ps\"%Calc_T_loss\n",
+      "print \"The percentage deviation of measured and the calculated time loss per sec for moving clock = %3.1f percent\"%percent_T_loss   #answer differs due to rounding errors\n",
+      "print \"The total time difference between the moving and stationary clocks during the entire shuttle flight = %3.1f ms\"%(delta_T/1e-003)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The expected time lost per second for the moving clock = 330.86 ps\n",
+        "The percentage deviation of measured and the calculated time loss per sec for moving clock = 0.3 percent\n",
+        "The total time difference between the moving and stationary clocks during the entire shuttle flight = 0.2 ms\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.8, Page 57"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "f0 = 1;    # For simplicity assume frequency of the signals sent by Frank, Hz\n",
+      "# Outbound trip\n",
+      "bita = -0.8;    # Boost parameter for receding frames\n",
+      "\n",
+      "#Calculations&Results\n",
+      "f = math.sqrt(1+bita)/math.sqrt(1-bita)*f0;    # The frequency of the signals received by Mary in outbound trip, Hz\n",
+      "print \"The frequency of the signals received by Mary in outbound trip = f0/%d\", math.ceil(f*9)\n",
+      "# Return trip\n",
+      "bita = +0.8;    # Boost parameter for approaching frames\n",
+      "f = math.sqrt(1+bita)/math.sqrt(1-bita)*f0;    # The frequency of the signals received by Mary in return trip, Hz\n",
+      "print \"The frequency of the signals received by Mary in return trip = %df0\"%f"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " The frequency of the signals received by Mary in outbound trip = f0/%d 3.0\n",
+        "The frequency of the signals received by Mary in return trip = 3f0\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.11, Page 64"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "q = 1.6e-019;    # Charge on an electron, C\n",
+      "V = 25e+003;    # Accelerating potential, volt\n",
+      "K = q*V;    # Kinetic energy of electrons, J\n",
+      "m = 9.11e-031;    # Rest mass of an electron, kg\n",
+      "c = 3.00e+08;    # Speed of light, m/s\n",
+      "\n",
+      "#Calculations\n",
+      "# From relativistic kinetic energy formula, K = (gama - 1)*m*C^2, solving for gama\n",
+      "gama = 1 + K/(m*c**2);    # Relativistic factor\n",
+      "bita = math.sqrt((gama**2-1)/gama**2);    # Boost parameter\n",
+      "u = bita*c;    # Speed of the electrons, m/s\n",
+      "# From non-relativistic expression, K = 1/2*m*u^2, solving for u\n",
+      "u_classical = math.sqrt(2*K/m);    # Non-relativistic speed of the electrons, m/s\n",
+      "u_error = (u_classical - u)/u_classical*100;    # Percentage error in speed of electrons, m/s\n",
+      "\n",
+      "#Results\n",
+      "print \"The relativistic speed of the accelerated electrons = %4.2e m/s\"%u\n",
+      "print \"The classical speed is about %d percent greater than the relativistic speed\"%math.ceil(u_error)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The relativistic speed of the accelerated electrons = 9.04e+07 m/s\n",
+        "The classical speed is about 4 percent greater than the relativistic speed\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.13, Page 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 1;    # For simplicity assume peed of light to be unity, m/s\n",
+      "K = 2.00;    # Kinetic energy of protons, GeV\n",
+      "E0 = 0.938;    # Rest mass of a proton, GeV\n",
+      "E = K + E0;    # Total energy of the proton, GeV\n",
+      "\n",
+      "#Calculations\n",
+      "# From relativistic mass energy relation, E^2 = (p*c)^2+E0^2, solving for p\n",
+      "p = math.sqrt(E**2 - E0**2)/c;    # Momentum of the protons, GeV/c\n",
+      "# As E = gama*E0, solving for gama\n",
+      "gama = E/E0;    # Relativistic factor\n",
+      "bita = math.sqrt((gama**2-1)/gama**2);    # Boost parameter\n",
+      "v = bita*3.00e+08;    # Speed of 2 GeV proton, m/s\n",
+      "\n",
+      "#Results\n",
+      "print \"The energy of each initial proton = %5.3f GeV\"%E\n",
+      "print \"The momentum of each initial proton = %4.2f GeV/c\"%p\n",
+      "print \"The speed of each initial proton = %3.1e m/s\"%v\n",
+      "print \"The relativistic factor, gama = %4.2f\"%gama\n",
+      "print \"The boost parameter, beta = %5.3f\"%bita"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The energy of each initial proton = 2.938 GeV\n",
+        "The momentum of each initial proton = 2.78 GeV/c\n",
+        "The speed of each initial proton = 2.8e+08 m/s\n",
+        "The relativistic factor, gama = 3.13\n",
+        "The boost parameter, beta = 0.948\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.15, Page 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "E_d = 1875.6;    # Rest mass energy of the deuterium, MeV\n",
+      "E_pi = 139.6;    # Rest mass energy of the pion, MeV\n",
+      "E_p = 938.3;    # Rest mass energy of the proton, MeV\n",
+      "\n",
+      "#Calculation\n",
+      "K = 1./2*(E_d + E_pi - 2*E_p);    # Minimum kinetic energy of the protons, MeV \n",
+      "\n",
+      "#Result\n",
+      "print \"The minimum kinetic energy of the protons = %2d MeV\"%K"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum kinetic energy of the protons = 69 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 9
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.16, Page 72"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV\n",
+      "c = 1;    # Speed of light in vacuum, m/s\n",
+      "\n",
+      "#Calculations\n",
+      "m_e = 0.000549*u;    # Rest mass of an electron, MeV/c^2\n",
+      "m_p = 1.007276*u;    # Rest mass of a proton, MeV/c^2\n",
+      "m_n = 1.008665*u;    # Rest mass of a neutron, MeV/c^2\n",
+      "m_He = 4.002603*u;    # Rest mass of a helium, MeV/c^2\n",
+      "M_He = m_He - 2*m_e;    # Mass of He nucleus, MeV/c^2\n",
+      "E_B_He = (2*m_p + 2*m_n - M_He)*c**2;    # Binding energy of the He nucleus, MeV\n",
+      "\n",
+      "#Result\n",
+      "print \"The binding energy of the He nucleus = %4.1f MeV\"%E_B_He"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The binding energy of the He nucleus = 28.3 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.17, Page 72"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Variable declaration\n",
+      "u = 931.5;    # Energy equivalent of 1 amu, MeV/u\n",
+      "c = 1;    # For simplicity assume speed of light in vacuum to be unity, m/s\n",
+      "E_B = 4.24;    # The dissociationenergy of the NaCl molecule, MeV\n",
+      "\n",
+      "#Calculations\n",
+      "M = 58.44*u;    # Energy corresponding to molecular mass of NaCl, MeV\n",
+      "f_r = E_B/M;    # The fractional mass increase of the Na and Cl atoms\n",
+      "\n",
+      "#Result\n",
+      "print \"The fractional mass increase of the Na and Cl atoms when they are not bound together in NaCl = %4.1e\"%(f_r/1e+006)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The fractional mass increase of the Na and Cl atoms when they are not bound together in NaCl = 7.8e-11\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2.18, Page 72"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "\n",
+      "#Variable declaration\n",
+      "c = 1;    # For simplicity assume speed of light in vacuum to be unity, m/s\n",
+      "E0_n = 940;    # Rest energy of a neutron, MeV\n",
+      "E0_pi = 140;    # Rest energy of a pion, MeV\n",
+      "p_n = 4702;    # Momentum of the neutron, MeV/c\n",
+      "p_pi = 169;    # Momentum of the pion, MeV/c\n",
+      "\n",
+      "#Calculations\n",
+      "E_n = math.sqrt((p_n*c)**2+E0_n**2);    # Total energy of the neutron, MeV\n",
+      "E_pi = math.sqrt((p_pi*c)**2+E0_pi**2);    # Total energy of the pion, MeV\n",
+      "E = E_n + E_pi;    # Total energy of the reaction, MeV\n",
+      "p_sigma = p_n + p_pi;    # Momentum of the sigma particle, MeV/c\n",
+      "E0_sigma = math.sqrt(E**2 - (p_sigma*c)**2);    # Rest mass energy of the sigma particle, MeV\n",
+      "m_sigma = E0_sigma/c**2;    # Rest mass of sigma particle, MeV/c^2;\n",
+      "K = E - E0_sigma;    # Kinetic energy of sigma particle, MeV\n",
+      "\n",
+      "#Results\n",
+      "print \"The rest mass of sigma particle = %4d MeV/c^2\"%math.ceil(m_sigma)\n",
+      "print \"The kinetic energy of sigma particle = %4d MeV\"%math.ceil(K)\n",
+      "\n",
+      "#Answers differ due to rounding errors"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The rest mass of sigma particle = 1192 MeV/c^2\n",
+        "The kinetic energy of sigma particle = 3824 MeV\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction.ipynb b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction.ipynb
new file mode 100755
index 00000000..7eb86cba
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:cceaf517d4ab644356e85522addd8c655c7a27bbc143387c58a9d5656be364df"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types.ipynb b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types.ipynb
new file mode 100755
index 00000000..a7c3a90a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:da354bb89e19562e65167a0447837d31b8126b13ef9a65d132ea4ce7ac74a2e3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no:208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types.ipynb b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types.ipynb
new file mode 100755
index 00000000..7eb86cba
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:cceaf517d4ab644356e85522addd8c655c7a27bbc143387c58a9d5656be364df"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_1.ipynb b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_1.ipynb
new file mode 100755
index 00000000..7eb86cba
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_1.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:cceaf517d4ab644356e85522addd8c655c7a27bbc143387c58a9d5656be364df"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_2.ipynb b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_2.ipynb
new file mode 100755
index 00000000..7eb86cba
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_2.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:cceaf517d4ab644356e85522addd8c655c7a27bbc143387c58a9d5656be364df"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_3.ipynb b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_3.ipynb
new file mode 100755
index 00000000..7eb86cba
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_3.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:cceaf517d4ab644356e85522addd8c655c7a27bbc143387c58a9d5656be364df"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_4.ipynb b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_4.ipynb
new file mode 100755
index 00000000..7eb86cba
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_4.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:cceaf517d4ab644356e85522addd8c655c7a27bbc143387c58a9d5656be364df"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_5.ipynb b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_5.ipynb
new file mode 100755
index 00000000..7eb86cba
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_5.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:cceaf517d4ab644356e85522addd8c655c7a27bbc143387c58a9d5656be364df"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_6.ipynb b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_6.ipynb
new file mode 100755
index 00000000..7eb86cba
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/Chapter_8_Data_Abstraction_through_Classes_and_User_Defined_Data_Types_6.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:cceaf517d4ab644356e85522addd8c655c7a27bbc143387c58a9d5656be364df"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes.ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes.ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_(1).ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_(1).ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_(1).ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_10.ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_10.ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_10.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_2.ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_2.ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_2.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_3.ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_3.ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_3.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_4.ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_4.ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_4.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_5.ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_5.ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_5.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_6.ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_6.ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_6.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_7.ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_7.ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_7.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_8.ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_8.ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_8.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_9.ipynb b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_9.ipynb
new file mode 100755
index 00000000..1083b19a
--- /dev/null
+++ b/sample_notebooks/NitamoniDas/chapter_8_Data_Abstraction_through_Classes_and_User-Defined_Data_Types_9.ipynb
@@ -0,0 +1,809 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:dbbd8ed92141bcc804ff2fbeacf8bb85f122dc6e196e1d830291a4a449a3a439"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 8: Data Abstraction through Classes and User-Defined Data Types "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.1, page no: 208"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Super:\n",
+      " def __init__(self):\n",
+      "        self.__IntegerData=None  #private member\n",
+      "         #public functions\n",
+      " def SetData(self,i):\n",
+      "        self.__IntegerData=i      #refer to IntegerData\n",
+      " def ShowData(self):\n",
+      "        print \"Data is \",self.__IntegerData,' '\n",
+      "\n",
+      "ob1=Super()\n",
+      "ob2=Super()\n",
+      "ob1.SetData(1000)\n",
+      "ob2.SetData(2000)\n",
+      "ob1.ShowData()\n",
+      "ob2.ShowData()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Data is  1000  \n",
+        "Data is  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.2, page no:211"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    def __init__(self):\n",
+      "        self.a=None   #private members\n",
+      "        self.b=None      #private members\n",
+      "    \n",
+      "#no structure type present in python    \n",
+      "x = X()\n",
+      "\n",
+      "x.a=0\n",
+      "x.b=1\n",
+      "print \"x.a=\",x.a,\",x.b=\",x.b"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "x.a= 0 ,x.b= 1\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.3, page no:214"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "  \n",
+      "    def SetValue(self,a,b):    #public functions\n",
+      "        self.__num=a             \n",
+      "        self.__denom=b          \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     3 4\n",
+        "Numerator value set:    3\n",
+        "Denominator value set:    4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.4, page no:216"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    def __init__(self):\n",
+      "       self.__i=None  #private member\n",
+      "    \n",
+      "    def __init__(self):\n",
+      "        self.__i=500             #constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__i=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__i\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "print \"s1 has data: \",s1.GetData()\n",
+      "print \"s2 has data: \",s2.GetData()\n",
+      "s1.SetData(1000)         #function call\n",
+      "s2.SetData(2000)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \", s2.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500\n",
+        "s2 has data:  500\n",
+        "s1 has data:  1000  \n",
+        "s2 has data:  2000  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.5, page no:217"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class SimpleClass:\n",
+      "    __IntegerData=None\n",
+      "    def __init__(self,data=None):\n",
+      "       if data==None:\n",
+      "        self.__IntegerData=500   #default constructor\n",
+      "       else:\n",
+      "        self.__IntegerData=data    #parameterised constructor\n",
+      "        \n",
+      "    def SetData(self,d):\n",
+      "        self.__IntegerData=d\n",
+      "        \n",
+      "    def GetData(self):\n",
+      "        return self.__IntegerData\n",
+      "     \n",
+      "#Initializing\n",
+      "s1=SimpleClass()\n",
+      "s2=SimpleClass()\n",
+      "s3=SimpleClass(400)\n",
+      "s4=SimpleClass(600)\n",
+      "print \"s1 has data: \",s1.GetData(),' '\n",
+      "print \"s2 has data: \",s2.GetData(),' '\n",
+      "print \"s3 has data: \",s3.GetData(),' '\n",
+      "print \"s4 has data: \",s4.GetData(),' '\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "s1 has data:  500  \n",
+        "s2 has data:  500  \n",
+        "s3 has data:  400  \n",
+        "s4 has data:  600  \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.6, page no:218"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction: \n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    def __init__(self,a=0,b=1):\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor\",' ',n\n",
+      "            print \"Denominator set inside constructor\",' ',d\n",
+      "        \n",
+      "    def SetValue(self,a,b):\n",
+      "       self.__num=a\n",
+      "       self.__denom=b\n",
+      "    def GetValue(self,a,b):\n",
+      "        a= self.__num\n",
+      "        b= self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "    def __del__(self):       #destructor\n",
+      "        pass\n",
+      "    \n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter value of numerator and denominator: \",' ',n,d\n",
+      "f=Fraction(n,d)\n",
+      "f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter value of numerator and denominator:    3 4\n",
+        "Numerator set inside constructor   3\n",
+        "Denominator set inside constructor   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.7, page no:221"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1):    #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "            print \"Numerator set inside constructor: \",self.__num\n",
+      "            print \"Denominator set inside constructor:  \",self.__denom \n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        return self.__num,self.__denom\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"Please enter the value of the numerator and denominator: \",n,d\n",
+      "f=Fraction(n,d)\n",
+      "n,d=f.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "n=input(\"Please enter the value of numerator only: \")\n",
+      "f1=Fraction(n)\n",
+      "n,d=f1.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print 'ok..now I will create a fraction-no input please'\n",
+      "f2=Fraction()\n",
+      "n,d=f2.GetValue(n,d)\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of the numerator and denominator:  3 4\n",
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   4\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    4\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter the value of numerator only: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Numerator set inside constructor:  3\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    3\n",
+        "Denominator value retrieved:    1\n",
+        "ok..now I will create a fraction-no input please\n",
+        "Numerator set inside constructor:  0\n",
+        "Denominator set inside constructor:   1\n",
+        "Numerator value retrieved:    0\n",
+        "Denominator value retrieved:    1\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.8, page no:223"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "    def_init_num=None   #private members\n",
+      "    def_init_denom=None   #private members\n",
+      "    \n",
+      "    def __init__(self,anotherFraction=None):         \n",
+      "        if anotherFraction==None:               #normal constructor\n",
+      "            self.__num=anotherFraction\n",
+      "            self.__denom=anotherFraction\n",
+      "        else:                          #copy constructor\n",
+      "            self.__num=anotherFraction.self.__num\n",
+      "            self.__denom=anotherFraction.self.__denom\n",
+      "           \n",
+      "           \n",
+      "    #public functions\n",
+      "    def SetValue(self,a,b):\n",
+      "        self.__num=a\n",
+      "        self.__denom=b#refer to IntegerData\n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return a,b\n",
+      "    \n",
+      "f=Fraction()\n",
+      "n=input(\"Enter n: \") #user input\n",
+      "d=input(\"Enter d: \")    #user input\n",
+      "print \"enter the numerator and denominator: \", '  ',n,d\n",
+      "\n",
+      "f.SetValue(n,d) #call function SetValue\n",
+      "print \"Numerator value set: \", ' ',n\n",
+      "print \"Denominator value set: \", ' ',d\n",
+      "f.GetValue(n,d)     #call function GetData\n",
+      "print \"Numerator value retrieved: \", ' ',n\n",
+      "print \"Denominator value retrieved: \", ' ',d\n",
+      "print \"Now a second clone copy is being created: \",''\n",
+      "f1=f\n",
+      "f1.GetValue(n,d)\n",
+      "print  \"Clone's numerator value retrieved: \", ' ',n\n",
+      "print \"Clone's denominator value retrieved: \", ' ',d"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter n: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter d: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "enter the numerator and denominator:     5 6\n",
+        "Numerator value set:    5\n",
+        "Denominator value set:    6\n",
+        "Numerator value retrieved:    5\n",
+        "Denominator value retrieved:    6\n",
+        "Now a second clone copy is being created:  \n",
+        "Clone's numerator value retrieved:    5\n",
+        "Clone's denominator value retrieved:    6\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.9, page no:229"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MyNewHandler():\n",
+      "    print \"Sorry operator new failed to allocate memory\"\n",
+      "    exit(0)\n",
+      "    \n",
+      "def _set_new_handler(s):\n",
+      "    s()\n",
+      "#In python there is no in-built  _set_new_handler function, so i made this function and passed MyNewHandler function as a parameters\n",
+      "_set_new_handler(MyNewHandler)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Sorry operator new failed to allocate memory\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.10, page no:230"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "from ctypes import * \n",
+      "class Fraction: \n",
+      "    def __init__(self,a=0,b=1): \n",
+      "        if isinstance(a,int): \n",
+      "            c = c_int(a) \n",
+      "            d = c_int(b) \n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d) \n",
+      "            print 'constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "        else:\n",
+      "            c=c_int(a.__num[0])\n",
+      "            d = c_int(a.__denom[0])\n",
+      "            self.__num = pointer(c) \n",
+      "            self.__denom = pointer(d)\n",
+      "            print 'copy constructor sets numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "            \n",
+      "        def __del__(self): \n",
+      "            print 'destructor deallocates numerator = ', self.__num[0] , ', denominator = ', self.__denom[0] \n",
+      "    \n",
+      "n = input(\"Please enter values of numerator: \") \n",
+      "d = input(\"Please enter values of denominator: \") \n",
+      "f = Fraction(n,d) \n",
+      "print 'Please enter another set of ' \n",
+      "n = input(\"numerator: \") \n",
+      "d = input(\"denominator: \") \n",
+      "print 'Creating fraction *pf : ' \n",
+      "pf = Fraction(n,d) \n",
+      "print 'Now a clone copy (f2) created from *pf: ' \n",
+      "f2 = Fraction(pf)\n",
+      "print 'Now another clone copy (*pf2) created from f:' \n",
+      "pf2 = Fraction(f) \n",
+      "print '*pf2 is being destroyed:' \n",
+      "del pf2\n",
+      "print '*pf is being destroyed:' \n",
+      "del pf \n",
+      "print 'now objects f2 and f automatically destroyed : '"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of numerator: 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please enter values of denominator: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "constructor sets numerator =  3 , denominator =  4\n",
+        "Please enter another set of \n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "numerator: 5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "denominator: 6\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Creating fraction *pf : \n",
+        "constructor sets numerator =  5 , denominator =  6\n",
+        "Now a clone copy (f2) created from *pf: \n",
+        "copy constructor sets numerator =  5 , denominator =  6\n",
+        "Now another clone copy (*pf2) created from f:\n",
+        "copy constructor sets numerator =  3 , denominator =  4\n",
+        "*pf2 is being destroyed:\n",
+        "*pf is being destroyed:\n",
+        "now objects f2 and f automatically destroyed : \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.11, page no:234"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def Memfail(self,s):\n",
+      "    print \"Sorry Unable to allocate memory\"\n",
+      "    sys.exit(0)\n",
+      "\n",
+      "MAX_SIZE = 60 + 1\n",
+      "\n",
+      "MAX_SIZE=[[0 for col in range(MAX_SIZE)]for row in range(MAX_SIZE)]\n",
+      "nChar=0\n",
+      "chArr=\"Hello\"\n",
+      "\n",
+      "print \"Please input a string( 60 characters max.): \",chArr\n",
+      "\n",
+      "nChar=len(chArr)+1\n",
+      "szStr=chArr\n",
+      "print \"required memory space for\",nChar,\n",
+      "print \"characters\"\n",
+      "chArr=szStr           #string copy\n",
+      "szStr=chArr\n",
+      "print \"String copied in allocated space: \",szStr\n",
+      "print \"Memory space dellocated\"\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Please input a string( 60 characters max.):  Hello\n",
+        "required memory space for 6 characters\n",
+        "String copied in allocated space:  Hello\n",
+        "Memory space dellocated\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.12, page no:236"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Fraction:\n",
+      "            \n",
+      "    def __init__(self,a=0,b=1): #constructor\n",
+      "            self.__num=a\n",
+      "            self.__denom=b\n",
+      "        \n",
+      "    def __del__(self):     #destructor\n",
+      "       pass\n",
+      "        \n",
+      "    def GetValue(self,a,b):\n",
+      "        a=self.__num\n",
+      "        b=self.__denom\n",
+      "        return self.__num,self.__denom\n",
+      "n=4\n",
+      "d=5\n",
+      "f=Fraction(4,5)\n",
+      "n,d=f.GetValue(n,d)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Program Source Code 8.13, page no:239"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class X:\n",
+      "    __sa=20    #initialising static member\n",
+      "    a = None\n",
+      "    def __init__(self):\n",
+      "        self.a=None    #public member\n",
+      "    def f(self,b):\n",
+      "        a=30\n",
+      "        print \"Global a= \",b\n",
+      "        print \"Local a= \",a\n",
+      "        print \"Nonstatic member a= \",self.a\n",
+      "        print \"static member sa= \",self.__sa\n",
+      "\n",
+      "a=10\n",
+      "\n",
+      "aXobj=X()\n",
+      "aXobj.a=40\n",
+      "aXobj.f(a)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Global a=  10\n",
+        "Local a=  30\n",
+        "Nonstatic member a=  40\n",
+        "static member sa=  20\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [],
+     "language": "python",
+     "metadata": {},
+     "outputs": []
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Prashanth Kumar Immady/Chapter_1.ipynb b/sample_notebooks/Prashanth Kumar Immady/Chapter_1.ipynb
new file mode 100755
index 00000000..3756f226
--- /dev/null
+++ b/sample_notebooks/Prashanth Kumar Immady/Chapter_1.ipynb	
@@ -0,0 +1,307 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:b71c5763a44a53c43becf4b38bc4dc6ca15fcaba00869ac6f1172cbb9803b804"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1 - ELECTRONIC MATERIALS AND COMPONENTS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E1 - Pg 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the value of resistor\n",
+      "print '%s' %(\"Refer to the figure 1.52\")\n",
+      "print '%s' %(\"Hold the resistor as shown in the figure such that tolerance is on your extreme right.\")\n",
+      "print '%s' %(\"Now the value of the resistor is equal to\")\n",
+      "print '%s' %(\"  Red      Black       Blue        Gold\")\n",
+      "print '%s' %(\"   2         0          6         (+/-)5%\")\n",
+      "red=2. #red value\n",
+      "blk=0 #black value\n",
+      "blu=6. #blue value\n",
+      "gld=5. #gold value\n",
+      "value_res=(red*10.+blk)*10.**blu #value of resistor\n",
+      "print '%s %.0f %s %.0f' %(\"\\n The value of resistor is\",value_res,\"ohm (+/-)\",gld)\n",
+      "per_val=0.05*value_res\n",
+      "pos_value_res=value_res+per_val #positive range of resistor\n",
+      "neg_value_res=value_res-per_val #negative range of resistor\n",
+      "print '%s %.0f %s %.0f %s ' %(\"\\n The value of resistor is\",neg_value_res*1e-6,\" Mohm and\",pos_value_res*1e-6,\"Mohm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refer to the figure 1.52\n",
+        "Hold the resistor as shown in the figure such that tolerance is on your extreme right.\n",
+        "Now the value of the resistor is equal to\n",
+        "  Red      Black       Blue        Gold\n",
+        "   2         0          6         (+/-)5%\n",
+        "\n",
+        " The value of resistor is 20000000 ohm (+/-) 5\n",
+        "\n",
+        " The value of resistor is 19  Mohm and 21 Mohm \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E2 - Pg 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the value of the resistor\n",
+      "print '%s' %(\"With the help of colour coding table, one finds\")\n",
+      "print '%s' %(\"  1st_Band    2nd_Band    3rd_Band    4th_Band\")\n",
+      "print(\"    Yellow      Violet      Orange      Gold\")\n",
+      "print '%s' %(\"      4          7         10**3     (+/-)5%\")\n",
+      "yel=4. #yellow value\n",
+      "vio=7. #violet value\n",
+      "org=1e3 #orange value\n",
+      "gld=5. #gold value in %\n",
+      "val_res=(yel*10.+vio)*org\n",
+      "print '%s %.2f %s %.0f' %(\"\\n The value of resistor is\",val_res*1e-3,\"kohm (+/-)\",gld)\n",
+      "gld_ab=0.05 #absolute gold value\n",
+      "per_val=gld_ab*val_res\n",
+      "print '%s %.0f %s'%(\"\\n Now, 5%% of 47k_ohm =\",per_val, \"ohm\")\n",
+      "range_high=val_res+per_val #higher range\n",
+      "range_low=val_res-per_val #lower range\n",
+      "print'%s %.2f %s %.2f %s %.2f %s %.2f %s'%(\"\\n\\n Thus resistance should be within the range\",val_res*1e-3, \"kohm(+/-)\",per_val*1e-3 ,\"Kohm\\n or between\",range_low*1e-3 ,\"kohm and\",range_high*1e-3, \"kohm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "With the help of colour coding table, one finds\n",
+        "  1st_Band    2nd_Band    3rd_Band    4th_Band\n",
+        "    Yellow      Violet      Orange      Gold\n",
+        "      4          7         10**3     (+/-)5%\n",
+        "\n",
+        " The value of resistor is 47.00 kohm (+/-) 5\n",
+        "\n",
+        " Now, 5%% of 47k_ohm = 2350 ohm\n",
+        "\n",
+        "\n",
+        " Thus resistance should be within the range 47.00 kohm(+/-) 2.35 Kohm\n",
+        " or between 44.65 kohm and 49.35 kohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E3 - Pg 44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the value of the resistor\n",
+      "print '%s' %(\"The specification of the resistor from the color coding table is as follows\")\n",
+      "print '%s' %(\"  1st_Band    2nd_Band    3rd_Band    4th_Band\")\n",
+      "print '%s' %(\"     Gray        Blue        Gold       Silver\")\n",
+      "print '%s' %(\"      8          6        10**(-1)     (+/-)10%\")\n",
+      "gray=8. #gray value\n",
+      "blu=6. #blue value\n",
+      "gld=10.**-1 #gold value\n",
+      "sil=10. #silver value in %\n",
+      "val_res=(gray*10.+blu)*gld\n",
+      "print '%s %.2f %s %.2f' %(\"\\n The value of resistor is\",val_res, \"ohm (+/-)\",sil)\n",
+      "sil_ab=0.1 #absolute gold value\n",
+      "per_val=sil_ab*val_res\n",
+      "print '%s %.2f %s' %(\"\\n Now, 10%% of 8.6 ohm =\",per_val,\" ohm\")\n",
+      "range_high=val_res+per_val #higher range\n",
+      "range_low=val_res-per_val #lower range\n",
+      "print '%s %.2f %s %.2f %s %.2f %s %.2f %s' %(\"\\n\\n Obviously resistance should lie within the range\",val_res,\"ohm(+/-)\",per_val,\"ohm\\n or between\",range_high,\"ohm and\",range_low,\"ohm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The specification of the resistor from the color coding table is as follows\n",
+        "  1st_Band    2nd_Band    3rd_Band    4th_Band\n",
+        "     Gray        Blue        Gold       Silver\n",
+        "      8          6        10**(-1)     (+/-)10%\n",
+        "\n",
+        " The value of resistor is 8.60 ohm (+/-) 10.00\n",
+        "\n",
+        " Now, 10%% of 8.6 ohm = 0.86  ohm\n",
+        "\n",
+        "\n",
+        " Obviously resistance should lie within the range 8.60 ohm(+/-) 0.86 ohm\n",
+        " or between 9.46 ohm and 7.74 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E4 - Pg 44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the load voltage and load current\n",
+      "print '%s' %(\"Refer to the figure 1.53\")\n",
+      "Vs=2. #supply voltage in V\n",
+      "Rs=1. #resistance in ohm\n",
+      "Is=Vs/Rs\n",
+      "print '%s %.2f %s' %(\"\\n Current Is =\",Is,\" A \\n\")\n",
+      "print '%s' %(\"     Internal resistance remains the same but is now connected in parralel with the current sourceIS,as shown in Figure 1.51(a)\")\n",
+      "print '%s' %(\"    Now,we connect a load resistance R_L=1 ohm across the terminals of two representations ,and find I_L and V_L.  From Figure 1.54(b) and using the current-divider concept,one obtains\")\n",
+      "RL=1. #load resistance in ohm\n",
+      "IL=Is*(Rs/(Rs+RL)) #load current using current-divider\n",
+      "VL=IL*RL #load voltage\n",
+      "print '%s %.0f %s' %(\"\\n Load voltage =\",VL,\"V\")\n",
+      "print '%s %.0f %s' %(\"\\n Load current =\",IL,\"A \\n\")\n",
+      "print '%s' %(\"From equation 53(b),using the voltage-divider concept,one obtains\")\n",
+      "VD_vl=Vs*(RL/(RL+Rs)) #load voltage using voltage divider \n",
+      "VD_il=VL/RL #load current\n",
+      "print '%s %.0f %s' %(\"\\n Load voltage =\",VD_vl,\"V\")\n",
+      "print '%s %.0f %s' %(\"\\n Load current =\",VD_il,\"A \\n\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refer to the figure 1.53\n",
+        "\n",
+        " Current Is = 2.00  A \n",
+        "\n",
+        "     Internal resistance remains the same but is now connected in parralel with the current sourceIS,as shown in Figure 1.51(a)\n",
+        "    Now,we connect a load resistance R_L=1 ohm across the terminals of two representations ,and find I_L and V_L.  From Figure 1.54(b) and using the current-divider concept,one obtains\n",
+        "\n",
+        " Load voltage = 1 V\n",
+        "\n",
+        " Load current = 1 A \n",
+        "\n",
+        "From equation 53(b),using the voltage-divider concept,one obtains\n",
+        "\n",
+        " Load voltage = 1 V\n",
+        "\n",
+        " Load current = 1 A \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E5 - Pg 45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the percentage variation in current, current for two extreme values R_L\n",
+      "print '%s' %(\"Refer to the figure 1.55\")\n",
+      "print '%s' %(\"(a) R_L varies from 1 ohm to 10 ohm.\")\n",
+      "print '%s' %(\"Currents for two extreme values of R_L are\")\n",
+      "Vs=10. #supply voltage\n",
+      "RL1=1. #resistance RL1\n",
+      "Rs=100. #source resistance\n",
+      "IL1=(Vs/(RL1+Rs))\n",
+      "RL2=10.\n",
+      "IL2=(Vs/(RL2+Rs))\n",
+      "per_var_cur=((IL1-IL2)/IL1)*100.\n",
+      "print '%s %.2f %s' %(\"\\n Percentage variation in current =\",per_var_cur,\"\\n\")#answer in the text book took a .3 decimal round off value\n",
+      "print '%s' %(\"   Now,load voltage for the two extreme values of R_L are\")\n",
+      "VL1=IL1*RL1\n",
+      "VL2=IL2*RL2\n",
+      "per_var_vol=((VL2-VL1)/VL2)*100.\n",
+      "print '%s %.2f %s' %(\"\\n Percentage variation in current =\",per_var_vol,\"\\n\")\n",
+      "\n",
+      "print '%s' %(\"(b) R_L varies from 1 k-ohm to 10 k-ohm(Figure 1.55(b))\")\n",
+      "print '%s' %(\"Currents for the two extreme values R_L are\")\n",
+      "RL11=1000.\n",
+      "IL11=(Vs/(RL11+Rs))\n",
+      "RL22=10000.\n",
+      "IL22=(Vs/(RL22+Rs)) #mistake in book value\n",
+      "per_var_cur11=((IL11-IL22)/IL11)*100.\n",
+      "print '%s %.2f %s' %(\"\\n Percentage variation in current =\",per_var_cur11,\"\\n\") #mistake in book value\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refer to the figure 1.55\n",
+        "(a) R_L varies from 1 ohm to 10 ohm.\n",
+        "Currents for two extreme values of R_L are\n",
+        "\n",
+        " Percentage variation in current = 8.18 \n",
+        "\n",
+        "   Now,load voltage for the two extreme values of R_L are\n",
+        "\n",
+        " Percentage variation in current = 89.11 \n",
+        "\n",
+        "(b) R_L varies from 1 k-ohm to 10 k-ohm(Figure 1.55(b))\n",
+        "Currents for the two extreme values R_L are\n",
+        "\n",
+        " Percentage variation in current = 89.11 \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Prashanth Kumar Immady/Chapter_1_1.ipynb b/sample_notebooks/Prashanth Kumar Immady/Chapter_1_1.ipynb
new file mode 100755
index 00000000..3756f226
--- /dev/null
+++ b/sample_notebooks/Prashanth Kumar Immady/Chapter_1_1.ipynb	
@@ -0,0 +1,307 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:b71c5763a44a53c43becf4b38bc4dc6ca15fcaba00869ac6f1172cbb9803b804"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1 - ELECTRONIC MATERIALS AND COMPONENTS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E1 - Pg 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the value of resistor\n",
+      "print '%s' %(\"Refer to the figure 1.52\")\n",
+      "print '%s' %(\"Hold the resistor as shown in the figure such that tolerance is on your extreme right.\")\n",
+      "print '%s' %(\"Now the value of the resistor is equal to\")\n",
+      "print '%s' %(\"  Red      Black       Blue        Gold\")\n",
+      "print '%s' %(\"   2         0          6         (+/-)5%\")\n",
+      "red=2. #red value\n",
+      "blk=0 #black value\n",
+      "blu=6. #blue value\n",
+      "gld=5. #gold value\n",
+      "value_res=(red*10.+blk)*10.**blu #value of resistor\n",
+      "print '%s %.0f %s %.0f' %(\"\\n The value of resistor is\",value_res,\"ohm (+/-)\",gld)\n",
+      "per_val=0.05*value_res\n",
+      "pos_value_res=value_res+per_val #positive range of resistor\n",
+      "neg_value_res=value_res-per_val #negative range of resistor\n",
+      "print '%s %.0f %s %.0f %s ' %(\"\\n The value of resistor is\",neg_value_res*1e-6,\" Mohm and\",pos_value_res*1e-6,\"Mohm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refer to the figure 1.52\n",
+        "Hold the resistor as shown in the figure such that tolerance is on your extreme right.\n",
+        "Now the value of the resistor is equal to\n",
+        "  Red      Black       Blue        Gold\n",
+        "   2         0          6         (+/-)5%\n",
+        "\n",
+        " The value of resistor is 20000000 ohm (+/-) 5\n",
+        "\n",
+        " The value of resistor is 19  Mohm and 21 Mohm \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E2 - Pg 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the value of the resistor\n",
+      "print '%s' %(\"With the help of colour coding table, one finds\")\n",
+      "print '%s' %(\"  1st_Band    2nd_Band    3rd_Band    4th_Band\")\n",
+      "print(\"    Yellow      Violet      Orange      Gold\")\n",
+      "print '%s' %(\"      4          7         10**3     (+/-)5%\")\n",
+      "yel=4. #yellow value\n",
+      "vio=7. #violet value\n",
+      "org=1e3 #orange value\n",
+      "gld=5. #gold value in %\n",
+      "val_res=(yel*10.+vio)*org\n",
+      "print '%s %.2f %s %.0f' %(\"\\n The value of resistor is\",val_res*1e-3,\"kohm (+/-)\",gld)\n",
+      "gld_ab=0.05 #absolute gold value\n",
+      "per_val=gld_ab*val_res\n",
+      "print '%s %.0f %s'%(\"\\n Now, 5%% of 47k_ohm =\",per_val, \"ohm\")\n",
+      "range_high=val_res+per_val #higher range\n",
+      "range_low=val_res-per_val #lower range\n",
+      "print'%s %.2f %s %.2f %s %.2f %s %.2f %s'%(\"\\n\\n Thus resistance should be within the range\",val_res*1e-3, \"kohm(+/-)\",per_val*1e-3 ,\"Kohm\\n or between\",range_low*1e-3 ,\"kohm and\",range_high*1e-3, \"kohm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "With the help of colour coding table, one finds\n",
+        "  1st_Band    2nd_Band    3rd_Band    4th_Band\n",
+        "    Yellow      Violet      Orange      Gold\n",
+        "      4          7         10**3     (+/-)5%\n",
+        "\n",
+        " The value of resistor is 47.00 kohm (+/-) 5\n",
+        "\n",
+        " Now, 5%% of 47k_ohm = 2350 ohm\n",
+        "\n",
+        "\n",
+        " Thus resistance should be within the range 47.00 kohm(+/-) 2.35 Kohm\n",
+        " or between 44.65 kohm and 49.35 kohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E3 - Pg 44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the value of the resistor\n",
+      "print '%s' %(\"The specification of the resistor from the color coding table is as follows\")\n",
+      "print '%s' %(\"  1st_Band    2nd_Band    3rd_Band    4th_Band\")\n",
+      "print '%s' %(\"     Gray        Blue        Gold       Silver\")\n",
+      "print '%s' %(\"      8          6        10**(-1)     (+/-)10%\")\n",
+      "gray=8. #gray value\n",
+      "blu=6. #blue value\n",
+      "gld=10.**-1 #gold value\n",
+      "sil=10. #silver value in %\n",
+      "val_res=(gray*10.+blu)*gld\n",
+      "print '%s %.2f %s %.2f' %(\"\\n The value of resistor is\",val_res, \"ohm (+/-)\",sil)\n",
+      "sil_ab=0.1 #absolute gold value\n",
+      "per_val=sil_ab*val_res\n",
+      "print '%s %.2f %s' %(\"\\n Now, 10%% of 8.6 ohm =\",per_val,\" ohm\")\n",
+      "range_high=val_res+per_val #higher range\n",
+      "range_low=val_res-per_val #lower range\n",
+      "print '%s %.2f %s %.2f %s %.2f %s %.2f %s' %(\"\\n\\n Obviously resistance should lie within the range\",val_res,\"ohm(+/-)\",per_val,\"ohm\\n or between\",range_high,\"ohm and\",range_low,\"ohm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The specification of the resistor from the color coding table is as follows\n",
+        "  1st_Band    2nd_Band    3rd_Band    4th_Band\n",
+        "     Gray        Blue        Gold       Silver\n",
+        "      8          6        10**(-1)     (+/-)10%\n",
+        "\n",
+        " The value of resistor is 8.60 ohm (+/-) 10.00\n",
+        "\n",
+        " Now, 10%% of 8.6 ohm = 0.86  ohm\n",
+        "\n",
+        "\n",
+        " Obviously resistance should lie within the range 8.60 ohm(+/-) 0.86 ohm\n",
+        " or between 9.46 ohm and 7.74 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E4 - Pg 44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the load voltage and load current\n",
+      "print '%s' %(\"Refer to the figure 1.53\")\n",
+      "Vs=2. #supply voltage in V\n",
+      "Rs=1. #resistance in ohm\n",
+      "Is=Vs/Rs\n",
+      "print '%s %.2f %s' %(\"\\n Current Is =\",Is,\" A \\n\")\n",
+      "print '%s' %(\"     Internal resistance remains the same but is now connected in parralel with the current sourceIS,as shown in Figure 1.51(a)\")\n",
+      "print '%s' %(\"    Now,we connect a load resistance R_L=1 ohm across the terminals of two representations ,and find I_L and V_L.  From Figure 1.54(b) and using the current-divider concept,one obtains\")\n",
+      "RL=1. #load resistance in ohm\n",
+      "IL=Is*(Rs/(Rs+RL)) #load current using current-divider\n",
+      "VL=IL*RL #load voltage\n",
+      "print '%s %.0f %s' %(\"\\n Load voltage =\",VL,\"V\")\n",
+      "print '%s %.0f %s' %(\"\\n Load current =\",IL,\"A \\n\")\n",
+      "print '%s' %(\"From equation 53(b),using the voltage-divider concept,one obtains\")\n",
+      "VD_vl=Vs*(RL/(RL+Rs)) #load voltage using voltage divider \n",
+      "VD_il=VL/RL #load current\n",
+      "print '%s %.0f %s' %(\"\\n Load voltage =\",VD_vl,\"V\")\n",
+      "print '%s %.0f %s' %(\"\\n Load current =\",VD_il,\"A \\n\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refer to the figure 1.53\n",
+        "\n",
+        " Current Is = 2.00  A \n",
+        "\n",
+        "     Internal resistance remains the same but is now connected in parralel with the current sourceIS,as shown in Figure 1.51(a)\n",
+        "    Now,we connect a load resistance R_L=1 ohm across the terminals of two representations ,and find I_L and V_L.  From Figure 1.54(b) and using the current-divider concept,one obtains\n",
+        "\n",
+        " Load voltage = 1 V\n",
+        "\n",
+        " Load current = 1 A \n",
+        "\n",
+        "From equation 53(b),using the voltage-divider concept,one obtains\n",
+        "\n",
+        " Load voltage = 1 V\n",
+        "\n",
+        " Load current = 1 A \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E5 - Pg 45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the percentage variation in current, current for two extreme values R_L\n",
+      "print '%s' %(\"Refer to the figure 1.55\")\n",
+      "print '%s' %(\"(a) R_L varies from 1 ohm to 10 ohm.\")\n",
+      "print '%s' %(\"Currents for two extreme values of R_L are\")\n",
+      "Vs=10. #supply voltage\n",
+      "RL1=1. #resistance RL1\n",
+      "Rs=100. #source resistance\n",
+      "IL1=(Vs/(RL1+Rs))\n",
+      "RL2=10.\n",
+      "IL2=(Vs/(RL2+Rs))\n",
+      "per_var_cur=((IL1-IL2)/IL1)*100.\n",
+      "print '%s %.2f %s' %(\"\\n Percentage variation in current =\",per_var_cur,\"\\n\")#answer in the text book took a .3 decimal round off value\n",
+      "print '%s' %(\"   Now,load voltage for the two extreme values of R_L are\")\n",
+      "VL1=IL1*RL1\n",
+      "VL2=IL2*RL2\n",
+      "per_var_vol=((VL2-VL1)/VL2)*100.\n",
+      "print '%s %.2f %s' %(\"\\n Percentage variation in current =\",per_var_vol,\"\\n\")\n",
+      "\n",
+      "print '%s' %(\"(b) R_L varies from 1 k-ohm to 10 k-ohm(Figure 1.55(b))\")\n",
+      "print '%s' %(\"Currents for the two extreme values R_L are\")\n",
+      "RL11=1000.\n",
+      "IL11=(Vs/(RL11+Rs))\n",
+      "RL22=10000.\n",
+      "IL22=(Vs/(RL22+Rs)) #mistake in book value\n",
+      "per_var_cur11=((IL11-IL22)/IL11)*100.\n",
+      "print '%s %.2f %s' %(\"\\n Percentage variation in current =\",per_var_cur11,\"\\n\") #mistake in book value\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refer to the figure 1.55\n",
+        "(a) R_L varies from 1 ohm to 10 ohm.\n",
+        "Currents for two extreme values of R_L are\n",
+        "\n",
+        " Percentage variation in current = 8.18 \n",
+        "\n",
+        "   Now,load voltage for the two extreme values of R_L are\n",
+        "\n",
+        " Percentage variation in current = 89.11 \n",
+        "\n",
+        "(b) R_L varies from 1 k-ohm to 10 k-ohm(Figure 1.55(b))\n",
+        "Currents for the two extreme values R_L are\n",
+        "\n",
+        " Percentage variation in current = 89.11 \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Prashanth Kumar Immady/Chapter_1_2.ipynb b/sample_notebooks/Prashanth Kumar Immady/Chapter_1_2.ipynb
new file mode 100755
index 00000000..3756f226
--- /dev/null
+++ b/sample_notebooks/Prashanth Kumar Immady/Chapter_1_2.ipynb	
@@ -0,0 +1,307 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:b71c5763a44a53c43becf4b38bc4dc6ca15fcaba00869ac6f1172cbb9803b804"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1 - ELECTRONIC MATERIALS AND COMPONENTS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E1 - Pg 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the value of resistor\n",
+      "print '%s' %(\"Refer to the figure 1.52\")\n",
+      "print '%s' %(\"Hold the resistor as shown in the figure such that tolerance is on your extreme right.\")\n",
+      "print '%s' %(\"Now the value of the resistor is equal to\")\n",
+      "print '%s' %(\"  Red      Black       Blue        Gold\")\n",
+      "print '%s' %(\"   2         0          6         (+/-)5%\")\n",
+      "red=2. #red value\n",
+      "blk=0 #black value\n",
+      "blu=6. #blue value\n",
+      "gld=5. #gold value\n",
+      "value_res=(red*10.+blk)*10.**blu #value of resistor\n",
+      "print '%s %.0f %s %.0f' %(\"\\n The value of resistor is\",value_res,\"ohm (+/-)\",gld)\n",
+      "per_val=0.05*value_res\n",
+      "pos_value_res=value_res+per_val #positive range of resistor\n",
+      "neg_value_res=value_res-per_val #negative range of resistor\n",
+      "print '%s %.0f %s %.0f %s ' %(\"\\n The value of resistor is\",neg_value_res*1e-6,\" Mohm and\",pos_value_res*1e-6,\"Mohm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refer to the figure 1.52\n",
+        "Hold the resistor as shown in the figure such that tolerance is on your extreme right.\n",
+        "Now the value of the resistor is equal to\n",
+        "  Red      Black       Blue        Gold\n",
+        "   2         0          6         (+/-)5%\n",
+        "\n",
+        " The value of resistor is 20000000 ohm (+/-) 5\n",
+        "\n",
+        " The value of resistor is 19  Mohm and 21 Mohm \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E2 - Pg 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the value of the resistor\n",
+      "print '%s' %(\"With the help of colour coding table, one finds\")\n",
+      "print '%s' %(\"  1st_Band    2nd_Band    3rd_Band    4th_Band\")\n",
+      "print(\"    Yellow      Violet      Orange      Gold\")\n",
+      "print '%s' %(\"      4          7         10**3     (+/-)5%\")\n",
+      "yel=4. #yellow value\n",
+      "vio=7. #violet value\n",
+      "org=1e3 #orange value\n",
+      "gld=5. #gold value in %\n",
+      "val_res=(yel*10.+vio)*org\n",
+      "print '%s %.2f %s %.0f' %(\"\\n The value of resistor is\",val_res*1e-3,\"kohm (+/-)\",gld)\n",
+      "gld_ab=0.05 #absolute gold value\n",
+      "per_val=gld_ab*val_res\n",
+      "print '%s %.0f %s'%(\"\\n Now, 5%% of 47k_ohm =\",per_val, \"ohm\")\n",
+      "range_high=val_res+per_val #higher range\n",
+      "range_low=val_res-per_val #lower range\n",
+      "print'%s %.2f %s %.2f %s %.2f %s %.2f %s'%(\"\\n\\n Thus resistance should be within the range\",val_res*1e-3, \"kohm(+/-)\",per_val*1e-3 ,\"Kohm\\n or between\",range_low*1e-3 ,\"kohm and\",range_high*1e-3, \"kohm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "With the help of colour coding table, one finds\n",
+        "  1st_Band    2nd_Band    3rd_Band    4th_Band\n",
+        "    Yellow      Violet      Orange      Gold\n",
+        "      4          7         10**3     (+/-)5%\n",
+        "\n",
+        " The value of resistor is 47.00 kohm (+/-) 5\n",
+        "\n",
+        " Now, 5%% of 47k_ohm = 2350 ohm\n",
+        "\n",
+        "\n",
+        " Thus resistance should be within the range 47.00 kohm(+/-) 2.35 Kohm\n",
+        " or between 44.65 kohm and 49.35 kohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E3 - Pg 44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the value of the resistor\n",
+      "print '%s' %(\"The specification of the resistor from the color coding table is as follows\")\n",
+      "print '%s' %(\"  1st_Band    2nd_Band    3rd_Band    4th_Band\")\n",
+      "print '%s' %(\"     Gray        Blue        Gold       Silver\")\n",
+      "print '%s' %(\"      8          6        10**(-1)     (+/-)10%\")\n",
+      "gray=8. #gray value\n",
+      "blu=6. #blue value\n",
+      "gld=10.**-1 #gold value\n",
+      "sil=10. #silver value in %\n",
+      "val_res=(gray*10.+blu)*gld\n",
+      "print '%s %.2f %s %.2f' %(\"\\n The value of resistor is\",val_res, \"ohm (+/-)\",sil)\n",
+      "sil_ab=0.1 #absolute gold value\n",
+      "per_val=sil_ab*val_res\n",
+      "print '%s %.2f %s' %(\"\\n Now, 10%% of 8.6 ohm =\",per_val,\" ohm\")\n",
+      "range_high=val_res+per_val #higher range\n",
+      "range_low=val_res-per_val #lower range\n",
+      "print '%s %.2f %s %.2f %s %.2f %s %.2f %s' %(\"\\n\\n Obviously resistance should lie within the range\",val_res,\"ohm(+/-)\",per_val,\"ohm\\n or between\",range_high,\"ohm and\",range_low,\"ohm\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The specification of the resistor from the color coding table is as follows\n",
+        "  1st_Band    2nd_Band    3rd_Band    4th_Band\n",
+        "     Gray        Blue        Gold       Silver\n",
+        "      8          6        10**(-1)     (+/-)10%\n",
+        "\n",
+        " The value of resistor is 8.60 ohm (+/-) 10.00\n",
+        "\n",
+        " Now, 10%% of 8.6 ohm = 0.86  ohm\n",
+        "\n",
+        "\n",
+        " Obviously resistance should lie within the range 8.60 ohm(+/-) 0.86 ohm\n",
+        " or between 9.46 ohm and 7.74 ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E4 - Pg 44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the load voltage and load current\n",
+      "print '%s' %(\"Refer to the figure 1.53\")\n",
+      "Vs=2. #supply voltage in V\n",
+      "Rs=1. #resistance in ohm\n",
+      "Is=Vs/Rs\n",
+      "print '%s %.2f %s' %(\"\\n Current Is =\",Is,\" A \\n\")\n",
+      "print '%s' %(\"     Internal resistance remains the same but is now connected in parralel with the current sourceIS,as shown in Figure 1.51(a)\")\n",
+      "print '%s' %(\"    Now,we connect a load resistance R_L=1 ohm across the terminals of two representations ,and find I_L and V_L.  From Figure 1.54(b) and using the current-divider concept,one obtains\")\n",
+      "RL=1. #load resistance in ohm\n",
+      "IL=Is*(Rs/(Rs+RL)) #load current using current-divider\n",
+      "VL=IL*RL #load voltage\n",
+      "print '%s %.0f %s' %(\"\\n Load voltage =\",VL,\"V\")\n",
+      "print '%s %.0f %s' %(\"\\n Load current =\",IL,\"A \\n\")\n",
+      "print '%s' %(\"From equation 53(b),using the voltage-divider concept,one obtains\")\n",
+      "VD_vl=Vs*(RL/(RL+Rs)) #load voltage using voltage divider \n",
+      "VD_il=VL/RL #load current\n",
+      "print '%s %.0f %s' %(\"\\n Load voltage =\",VD_vl,\"V\")\n",
+      "print '%s %.0f %s' %(\"\\n Load current =\",VD_il,\"A \\n\")\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refer to the figure 1.53\n",
+        "\n",
+        " Current Is = 2.00  A \n",
+        "\n",
+        "     Internal resistance remains the same but is now connected in parralel with the current sourceIS,as shown in Figure 1.51(a)\n",
+        "    Now,we connect a load resistance R_L=1 ohm across the terminals of two representations ,and find I_L and V_L.  From Figure 1.54(b) and using the current-divider concept,one obtains\n",
+        "\n",
+        " Load voltage = 1 V\n",
+        "\n",
+        " Load current = 1 A \n",
+        "\n",
+        "From equation 53(b),using the voltage-divider concept,one obtains\n",
+        "\n",
+        " Load voltage = 1 V\n",
+        "\n",
+        " Load current = 1 A \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E5 - Pg 45"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Calculate the percentage variation in current, current for two extreme values R_L\n",
+      "print '%s' %(\"Refer to the figure 1.55\")\n",
+      "print '%s' %(\"(a) R_L varies from 1 ohm to 10 ohm.\")\n",
+      "print '%s' %(\"Currents for two extreme values of R_L are\")\n",
+      "Vs=10. #supply voltage\n",
+      "RL1=1. #resistance RL1\n",
+      "Rs=100. #source resistance\n",
+      "IL1=(Vs/(RL1+Rs))\n",
+      "RL2=10.\n",
+      "IL2=(Vs/(RL2+Rs))\n",
+      "per_var_cur=((IL1-IL2)/IL1)*100.\n",
+      "print '%s %.2f %s' %(\"\\n Percentage variation in current =\",per_var_cur,\"\\n\")#answer in the text book took a .3 decimal round off value\n",
+      "print '%s' %(\"   Now,load voltage for the two extreme values of R_L are\")\n",
+      "VL1=IL1*RL1\n",
+      "VL2=IL2*RL2\n",
+      "per_var_vol=((VL2-VL1)/VL2)*100.\n",
+      "print '%s %.2f %s' %(\"\\n Percentage variation in current =\",per_var_vol,\"\\n\")\n",
+      "\n",
+      "print '%s' %(\"(b) R_L varies from 1 k-ohm to 10 k-ohm(Figure 1.55(b))\")\n",
+      "print '%s' %(\"Currents for the two extreme values R_L are\")\n",
+      "RL11=1000.\n",
+      "IL11=(Vs/(RL11+Rs))\n",
+      "RL22=10000.\n",
+      "IL22=(Vs/(RL22+Rs)) #mistake in book value\n",
+      "per_var_cur11=((IL11-IL22)/IL11)*100.\n",
+      "print '%s %.2f %s' %(\"\\n Percentage variation in current =\",per_var_cur11,\"\\n\") #mistake in book value\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Refer to the figure 1.55\n",
+        "(a) R_L varies from 1 ohm to 10 ohm.\n",
+        "Currents for two extreme values of R_L are\n",
+        "\n",
+        " Percentage variation in current = 8.18 \n",
+        "\n",
+        "   Now,load voltage for the two extreme values of R_L are\n",
+        "\n",
+        " Percentage variation in current = 89.11 \n",
+        "\n",
+        "(b) R_L varies from 1 k-ohm to 10 k-ohm(Figure 1.55(b))\n",
+        "Currents for the two extreme values R_L are\n",
+        "\n",
+        " Percentage variation in current = 89.11 \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/SPANDANAARROJU/Chapter4.ipynb b/sample_notebooks/SPANDANAARROJU/Chapter4.ipynb
new file mode 100755
index 00000000..f4145c55
--- /dev/null
+++ b/sample_notebooks/SPANDANAARROJU/Chapter4.ipynb
@@ -0,0 +1,553 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e9b50f0b4ca0520935774156fedb1fdaaf2b2fd5241b8184a650d42b25d657cd"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "4: Interference"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.1, Page number 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "i=40;                                    #angle of incidence(degrees)\n",
+      "mew=1.2;                                #refractive index\n",
+      "t=0.23;                                #thickness of the film(micro m)\n",
+      "\n",
+      "#Calculation\n",
+      "i=i*math.pi/180;                     #angle of incidence(radian)\n",
+      "r=math.asin(math.sin(i)/mew);        #angle of refraction(radian)\n",
+      "lambda1=(2*mew*t*math.cos(r))*10**3;      #wavelength absent(nm) \n",
+      "lambda2=lambda1/2;\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength absent is\",round(lambda1,1),\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength absent is 466.1 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.2, Page number 69"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lambda1=400*10**-9;                #wavelength 1(m)\n",
+      "lambda2=600*10**-9;                #wavelength 2(m)\n",
+      "#2*t=n*lambda\n",
+      "n=150;    \n",
+      "\n",
+      "#Calculation                        \n",
+      "t=((n*lambda2)/2)*10**6;     #thickness of the air film(micro meter)\n",
+      "\n",
+      "#Result\n",
+      "print \"The thickness of the air film is\",t,\"micro m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thickness of the air film is 45.0 micro m\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.3, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lamda=600*10**-9;     #wavelength(m)\n",
+      "mew=2;\n",
+      "theta=0.025;      #wedge-angle(degrees)\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=theta*math.pi/180;      #wedge-angle(radian)\n",
+      "x=(lamda/(2*mew*math.sin(theta)))*10**2;       #bandwidth(cm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The bandwidth is\",round(x,3),\"cm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The bandwidth is 0.034 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 10
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.4, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "xair=0.15;                     #bandwidth of air(cm)\n",
+      "xliq=0.115;                    #bandwidth of liquid(cm)\n",
+      "mewair=1;                      #refractive index of air\n",
+      "\n",
+      "#Calculation                        \n",
+      "mewliq=(xair*mewair)/xliq;      #refractive index of liquid\n",
+      "\n",
+      "#Result\n",
+      "print \"The refractive index of liquid is\",round(mewliq,1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refractive index of liquid is 1.3\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.5, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "n=9;\n",
+      "lamda=589*10**-9;                   #wavelength of light used(m)\n",
+      "R=0.95;                             #radius of curvature of lens(m)\n",
+      "mew=1;\n",
+      "\n",
+      "#Calculation                        \n",
+      "D=(math.sqrt((4*n*lamda*R)/mew))*10**2;   #diameter of the ninth dark ring(m)\n",
+      "\n",
+      "#Result\n",
+      "print \"The diameter of the ninth dark ring is\",round(D,2),\"cm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The diameter of the ninth dark ring is 0.45 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.6, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "x=0.055;                       #distance in fringe shift(mm)\n",
+      "n=200;                         #number of fringes\n",
+      "\n",
+      "#Calculation                        \n",
+      "lamda=((2*x)/n)*10**6;          #wavelength(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength of light used is\",lamda,\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of light used is 550.0 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.7, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "n=50;                             #number of fringes\n",
+      "lamda=500*10**-9;                 #wavelength of light used(m)\n",
+      "mew=1.5;                          #refractive index of the plate\n",
+      "\n",
+      "#Calculation                        \n",
+      "t=((n*lamda)/(2*(mew-1)))*10**6;    #thickness of the plate(micro meter)\n",
+      "\n",
+      "#Result\n",
+      "print \"The thickness of the plate is\",t,\"micro m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thickness of the plate is 25.0 micro m\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.8, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lamda=550*10**-9;                   #wavelength(m)\n",
+      "mew=1.38;                            #refractive index\n",
+      "\n",
+      "#Calculation                        \n",
+      "t=(lamda/(4*mew))*10**9;              #thickness(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The minimum thickness of the plate for normal incidence of light is\",round(t,3),\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The minimum thickness of the plate for normal incidence of light is 99.638 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.9, Page number 70"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "i=35;                                         #angle of incidence(degrees)\n",
+      "mew=1.4;                                      #refractive index\n",
+      "n=50;                                        \n",
+      "lamda=459*10**-9;       #wavelength(m)\n",
+      "\n",
+      "#Calculation                        \n",
+      "i=i*math.pi/180;                     #angle of incidence(radian)\n",
+      "r=math.asin(math.sin(i)/mew);        #angle of refraction(radian)\n",
+      "#2*mew*cos(r)=n*lambda\n",
+      "#n(459)=(n+1)450\n",
+      "t=(n*lamda/(2*mew*math.cos(r)))*10**6;          #thickness of the film(micro meter)\n",
+      "\n",
+      "#Result\n",
+      "print \"The thickness of the film is\",round(t,3),\"micro m\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The thickness of the film is 8.985 micro m\n"
+       ]
+      }
+     ],
+     "prompt_number": 26
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.10, Page number 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "lamda=500*10**-9;                      #wavelength(m)\n",
+      "x=0.07;                                 #observed band width(cm)\n",
+      "mew=1;                                  #refractive index\n",
+      "\n",
+      "#Calculation                        \n",
+      "theta=(math.asin(lamda/(2*mew*x)))*10**2;     #wedge angle(radian)\n",
+      "theta=theta*180/math.pi;     #wedge angle(degrees)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wedge angle is\",round(theta,2),\"degrees\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wedge angle is 0.02 degrees\n"
+       ]
+      }
+     ],
+     "prompt_number": 31
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.11, Page number 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "dair=0.42;                   #diameter of certain rings(cm)\n",
+      "dliq=0.38;                   #diameter of rings when liquid is introduced(cm)\n",
+      "\n",
+      "#Calculation                        \n",
+      "mew=dair**2/dliq**2;            #refractive index of liquid\n",
+      "\n",
+      "#Result\n",
+      "print \"The refravtive index of liquid is\",round(mew,2)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The refravtive index of liquid is 1.22\n"
+       ]
+      }
+     ],
+     "prompt_number": 33
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.12, Page number 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "m=8;                                           #eigth ring\n",
+      "n=3;                                           #third ring\n",
+      "dm=0.4;                                        #diameter of the eigth ring(cm)\n",
+      "dn=0.2;                                        #diameter of the third ring(cm)\n",
+      "R=101;                                         #Radius of curvature(cm)\n",
+      "\n",
+      "#Calculation                        \n",
+      "lamda=(((dm**2)-(dn**2))/(4*R*(m-n)));      #wavelength of light(cm) \n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength of light used is\",round(lamda*10**5,4),\"*10**-5 cm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength of light used is 5.9406 *10**-5 cm\n"
+       ]
+      }
+     ],
+     "prompt_number": 39
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example number 4.13, Page number 71"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#importing modules\n",
+      "import math\n",
+      "from __future__ import division\n",
+      "\n",
+      "#Variable declaration\n",
+      "mew=1.38;             #refractive index of magnesium floride\n",
+      "t=175;                #thickness of coating of magnesium fluoride(nm)\n",
+      "\n",
+      "#Calculation                        \n",
+      "lamda=4*t*mew;        #wavelength(nm)\n",
+      "\n",
+      "#Result\n",
+      "print \"The wavelength which has high transmission is\",lamda,\"nm\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The wavelength which has high transmission is 966.0 nm\n"
+       ]
+      }
+     ],
+     "prompt_number": 41
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/SUMITRATHI/chapterno1.ipynb b/sample_notebooks/SUMITRATHI/chapterno1.ipynb
new file mode 100755
index 00000000..5ff2285e
--- /dev/null
+++ b/sample_notebooks/SUMITRATHI/chapterno1.ipynb
@@ -0,0 +1,126 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:a1ed470be69235951f179c73fc3f7daca02bf5e071f528ddce3fb4f1444cb8ef"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter 1: INTRODUCTORY DIGITAL CONCEPTS"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Example 1-1,Page No-6"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Variable Declaration\n",

+      "T=10*10**-3\n",

+      "tw=1*10**-3\n",

+      "\n",

+      "#Calculations\n",

+      "#Part A\n",

+      "f=1/T\n",

+      "\n",

+      "#Part C\n",

+      "Duty_Cycle=(tw/T)*100\n",

+      "\n",

+      "\n",

+      "#Results\n",

+      "print\"The Period is measured from the edge of the next pulse. In this case T is measured from leading edge to leading edge,as indicated.T equals 10*10^-3\"\n",

+      "print\"f=\",f,\"Hz\"\n",

+      "print\"Duty Cycle=\",Duty_Cycle,\"%\""

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "The Period is measured from the edge of the next pulse. In this case T is measured from leading edge to leading edge,as indicated.T equals 10*10^-3\n",

+        "f= 100.0 Hz\n",

+        "Duty Cycle= 10.0 %\n"

+       ]

+      }

+     ],

+     "prompt_number": 5

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Example 1-2, Page No-8"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#Variable Declaration\n",

+      "f=100*10**-3\n",

+      "time=8\n",

+      "T=1/f\n",

+      "print\"Since the frequency of the clock is 100kHz,the period is\",T,\"usec\"\n",

+      "print\"It takes 10*10**-6to transfer each bit in the waveform.The total transfer time for 8 bits is time\"\n",

+      "print\"Time is\",time,\"usec\"\n",

+      "\n",

+      "print\"To detrmine the sequence of bits,examine the waveform during each bit time.If waveform A is HIGH during the bit time, a 1 is transferred. If waveform A is LOW during the bit time,a0 is transferred. The bit sequence is illustrated .The left mosst bit is the first to be transferred.\"\n",

+      "\n",

+      "print\"A parallel transfer would take 10*10**-6 for all eight bits.\"\n",

+      "    \n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "Since the frequency of the clock is 100kHz,the period is 10.0 usec\n",

+        "It takes 10*10**-6to transfer each bit in the waveform.The total transfer time for 8 bits is time\n",

+        "Time is 8 usec\n",

+        "To detrmine the sequence of bits,examine the waveform during each bit time.If waveform A is HIGH during the bit time, a 1 is transferred. If waveform A is LOW during the bit time,a0 is transferred. The bit sequence is illustrated .The left mosst bit is the first to be transferred.\n",

+        "A parallel transfer would take 10*10**-6 for all eight bits.\n"

+       ]

+      }

+     ],

+     "prompt_number": 14

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [],

+     "language": "python",

+     "metadata": {},

+     "outputs": [],

+     "prompt_number": 8

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [],

+     "language": "python",

+     "metadata": {},

+     "outputs": []

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/sample_notebooks/SrutiGoyal/Chapter_11-_Object_Initialization_and_Clean-Up_2.ipynb b/sample_notebooks/SrutiGoyal/Chapter_11-_Object_Initialization_and_Clean-Up_2.ipynb
new file mode 100755
index 00000000..d3bdda01
--- /dev/null
+++ b/sample_notebooks/SrutiGoyal/Chapter_11-_Object_Initialization_and_Clean-Up_2.ipynb
@@ -0,0 +1,1779 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:64b755d597a2016634dadbbc81a598a60446119cc89f4f94fd9140b5bc077b77"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11: Object Initialization and clean up"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example- bag.cpp, Page-392"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "MAX_ITEMS=25\n",
+      "def show(self):\n",
+      "    for i in range(self.ItemCount):\n",
+      "        print self._Bag__contents[i],\n",
+      "class Bag:\n",
+      "    __contents=[int]*MAX_ITEMS\n",
+      "    __ItemCount=int\n",
+      "    def SetEmpty(self):\n",
+      "        self.ItemCount=0\n",
+      "    def put(self,item):\n",
+      "        self._Bag__contents[self.ItemCount]=item\n",
+      "        self.ItemCount+=1\n",
+      "    show=show\n",
+      "bag=Bag() #object of class Bag\n",
+      "bag.SetEmpty() #initialize the object\n",
+      "while 1:\n",
+      "    item=int(raw_input(\"\\nEnter Item Number to be put into the bag <0-no item>: \"))\n",
+      "    if item==0:\n",
+      "        break\n",
+      "    bag.put(item)\n",
+      "    print \"Items in bag:\",\n",
+      "    bag.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Items in bag: 1"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Items in bag: 1 3"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Items in bag: 1 3 2"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Items in bag: 1 3 2 4"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example- newbag.cpp, Page-395"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "MAX_ITEMS=25 #size of array contents\n",
+      "def show(self):\n",
+      "    for i in range(self.ItemCount):\n",
+      "        print self._Bag__contents[i],\n",
+      "class Bag:\n",
+      "    __contents=[int]*MAX_ITEMS #int 1D array\n",
+      "    __ItemCount=int\n",
+      "    def __init__(self): #Constructor\n",
+      "        self.ItemCount=0\n",
+      "    def put(self,item): #member function defined inside the class\n",
+      "        self._Bag__contents[self.ItemCount]=item\n",
+      "        self.ItemCount+=1\n",
+      "    show=show #member function defined outside the class\n",
+      "bag=Bag() #object of class Bag\n",
+      "while 1:\n",
+      "    item=int(raw_input(\"\\nEnter Item Number to be put into the bag <0-no item>: \"))\n",
+      "    if item==0:\n",
+      "        break\n",
+      "    bag.put(item)\n",
+      "    print \"Items in bag:\",\n",
+      "    bag.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Items in bag: 1"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Items in bag: 1 3"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Items in bag: 1 3 2"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Items in bag: 1 3 2 4"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-test1.cpp, Page-396"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def __init__(self):\n",
+      "    print \"Constructor of class test called\"\n",
+      "class Test:\n",
+      "    __init__=__init__ #Constructor\n",
+      "G=Test()\n",
+      "def func():\n",
+      "    L=Test()\n",
+      "    print \"Here's function func()\"\n",
+      "X=Test()\n",
+      "print \"main() function\"\n",
+      "func()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class test called\n",
+        "Constructor of class test called\n",
+        "main() function\n",
+        "Constructor of class test called\n",
+        "Here's function func()\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example- giftbag.cpp, Page- 398"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "MAX_ITEMS=25\n",
+      "def show(self):\n",
+      "    if self.ItemCount:\n",
+      "        for i in range(self.ItemCount):\n",
+      "            print self._Bag__contents[i],\n",
+      "    else:\n",
+      "        print \"Nil\"\n",
+      "class Bag:\n",
+      "    __contents=[int]*MAX_ITEMS\n",
+      "    __ItemCount=int\n",
+      "    def __init__(self, item=None): #parameterized constructor: Python does not support overloading of functions\n",
+      "        if isinstance(item, int):\n",
+      "            self._Bag__contents[0]=item\n",
+      "            self.ItemCount=1\n",
+      "        else:\n",
+      "            self.ItemCount=0\n",
+      "    def put(self,item):\n",
+      "        self._Bag__contents[self.ItemCount]=item\n",
+      "        self.ItemCount+=1\n",
+      "    show=show\n",
+      "bag1=Bag()\n",
+      "bag2=Bag(4) #object created using the parameterized constructor\n",
+      "print \"Gifted bag1 initially has:\",\n",
+      "bag1.show()\n",
+      "print \"Gifted bag2 initially has:\",\n",
+      "bag2.show()\n",
+      "while 1:\n",
+      "    item=int(raw_input(\"\\nEnter Item Number to be put into the bag <0-no item>: \"))\n",
+      "    if item==0:\n",
+      "        break\n",
+      "    bag2.put(item)\n",
+      "    print \"Items in bag2:\",\n",
+      "    bag2.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Gifted bag1 initially has: Nil\n",
+        "Gifted bag2 initially has: 4"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Items in bag2: 4 1"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Items in bag2: 4 1 2"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Items in bag2: 4 1 2 3"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "Enter Item Number to be put into the bag <0-no item>: 0\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-test.cpp, Page-400 "
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def __init__(self):\n",
+      "    print \"Constructor of class Test called\"\n",
+      "def __del__(self):\n",
+      "    print \"Destructor of class Test called\"\n",
+      "class Test:\n",
+      "    __init__=__init__ #Constructor\n",
+      "    __del__=__del__ #Destructor\n",
+      "x=Test()\n",
+      "print \"Terminating main\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor of class Test called\n",
+        "Destructor of class Test called\n",
+        "Terminating main\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-count.cpp, Page-401"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "nobjects=0\n",
+      "nobj_alive=0\n",
+      "class MyClass:\n",
+      "    def __init__(self):\n",
+      "        global nobjects #using the global nobjects\n",
+      "        global nobj_alive #using the global nobj_alive\n",
+      "        nobjects+=1\n",
+      "        nobj_alive+=1\n",
+      "    def __del__(self):\n",
+      "        global nobj_alive #using the global nobjects\n",
+      "        nobj_alive-=1\n",
+      "    def show(self):\n",
+      "        global nobjects\n",
+      "        global nobj_alive\n",
+      "        print \"Total number of objects created: \", nobjects\n",
+      "        print \"Number of objects currently alive: \", nobj_alive\n",
+      "obj1=MyClass()\n",
+      "obj1.show()\n",
+      "def func():\n",
+      "    obj1=MyClass()\n",
+      "    obj2=MyClass()\n",
+      "    obj2.show()\n",
+      "    del obj1\n",
+      "    del obj2\n",
+      "func()\n",
+      "obj1.show()\n",
+      "obj2=MyClass()\n",
+      "obj3=MyClass()\n",
+      "obj2.show()\n",
+      "del obj1\n",
+      "del obj2\n",
+      "del obj3"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Total number of objects created:  1\n",
+        "Number of objects currently alive:  1\n",
+        "Total number of objects created:  3\n",
+        "Number of objects currently alive:  3\n",
+        "Total number of objects created:  3\n",
+        "Number of objects currently alive:  1\n",
+        "Total number of objects created:  5\n",
+        "Number of objects currently alive:  3\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Example-account.cpp, Page- 403"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def MoneyTransfer(self, acc , amount):\n",
+      "        self._AccClass__balance=self._AccClass__balance-amount\n",
+      "        acc._AccClass__balance=acc._AccClass__balance + amount\n",
+      "class AccClass:\n",
+      "    __accno=int\n",
+      "    __balance=float\n",
+      "    def __init__(self, an=None, bal=0.0):\n",
+      "        if isinstance(an, int):\n",
+      "            self.accno=an\n",
+      "            self.__balance=bal\n",
+      "        else:\n",
+      "            self.accno=raw_input(\"Enter account number for acc1 object: \")\n",
+      "            self.__balance=float(raw_input(\"Enter the balance: \"))\n",
+      "    def display(self):\n",
+      "        print \"Acoount number is: \", self.accno\n",
+      "        print \"Balance is: \", self.__balance\n",
+      "    MoneyTransfer=MoneyTransfer\n",
+      "acc1=AccClass()\n",
+      "acc2=AccClass(10)\n",
+      "acc3=AccClass(20, 750.5)\n",
+      "print \"Acoount information...\"\n",
+      "acc1.display()\n",
+      "acc2.display()\n",
+      "acc3.display()\n",
+      "trans_money=float(raw_input(\"How much money is to be transferred from acc3 to acc1: \"))\n",
+      "acc3.MoneyTransfer(acc1, trans_money)\n",
+      "print \"Updated information about accounts...\"\n",
+      "acc1.display()\n",
+      "acc2.display()\n",
+      "acc3.display()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter account number for acc1 object: 1\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter the balance: 100\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Acoount information...\n",
+        "Acoount number is:  1\n",
+        "Balance is:  100.0\n",
+        "Acoount number is:  10\n",
+        "Balance is:  0.0\n",
+        "Acoount number is:  20\n",
+        "Balance is:  750.5\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How much money is to be transferred from acc3 to acc1: 200\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Updated information about accounts...\n",
+        "Acoount number is:  1\n",
+        "Balance is:  300.0\n",
+        "Acoount number is:  10\n",
+        "Balance is:  0.0\n",
+        "Acoount number is:  20\n",
+        "Balance is:  550.5\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-test2.cpp. Page- 405"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def __init__(self, NameIn=None):\n",
+      "    if isinstance(NameIn, str):\n",
+      "        self.name=NameIn\n",
+      "        print \"Test Object \", NameIn, \" created\"\n",
+      "    else:\n",
+      "        self.name=\"unnamed\"\n",
+      "        print \"Test object 'unnamed' created\"\n",
+      "def __del__(self):\n",
+      "    print \"Test Object \", self.name, \" destroyed\"\n",
+      "    del self.name\n",
+      "class Test:\n",
+      "    __name=[str]\n",
+      "    __init__=__init__\n",
+      "    __del__=__del__\n",
+      "g=Test(\"global\")\n",
+      "def func():\n",
+      "    l=Test(\"func\")\n",
+      "    print \"here's function func()\"\n",
+      "x=Test(\"main\")\n",
+      "func()\n",
+      "print \"main() function - termination\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Test Object  global  created\n",
+        "Test Object  global  destroyed\n",
+        "Test Object  main  created\n",
+        "Test Object  main  destroyed\n",
+        "Test Object  func  created\n",
+        "here's function func()\n",
+        "Test Object  func  destroyed\n",
+        "main() function - termination\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-complex1.cpp, Page- 407"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "def add (self, c2):\n",
+      "    temp=Complex()\n",
+      "    temp._Complex__real=self._Complex__real+c2._Complex__real\n",
+      "    temp._Complex__imag=self._Complex__imag+c2._Complex__imag\n",
+      "    return temp\n",
+      "class Complex:\n",
+      "    __real=float\n",
+      "    __imag=float\n",
+      "    def __init__(self, real_in=None, imag_in=0.0):\n",
+      "        if isinstance(real_in, float):\n",
+      "            self.__real=real_in\n",
+      "            self.__imag=imag_in\n",
+      "        else:\n",
+      "            self.__real=self.__imag=0.0\n",
+      "    def show(self, msg):\n",
+      "        print msg, \n",
+      "        print self.__real,\n",
+      "        if self.__imag<0:\n",
+      "            print \"-i\",\n",
+      "        else:\n",
+      "            print \"+i\",\n",
+      "        print math.fabs(self.__imag) #print absolute value\n",
+      "    add=add\n",
+      "c1=Complex(1.5,2.0)\n",
+      "c2=Complex(2.2)\n",
+      "c3=Complex()\n",
+      "c1.show(\"c1=\")\n",
+      "c2.show(\"c2=\")\n",
+      "c3=c1.add(c2)\n",
+      "c3.show(\"c3=c1.add(c2):\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "c1= 1.5 +i 2.0\n",
+        "c2= 2.2 +i 0.0\n",
+        "c3=c1.add(c2): 3.7 +i 2.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example- noname.cpp, Page- 410"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class nameless:\n",
+      "    __a=int\n",
+      "    def __init__(self):\n",
+      "        print \"Constructor\"\n",
+      "    def __del__(self):\n",
+      "        print \"Destructor\"\n",
+      "nameless() #nameless object created\n",
+      "n1=nameless()\n",
+      "n2=nameless()\n",
+      "print \"Program terminates\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Constructor\n",
+        "Destructor\n",
+        "Constructor\n",
+        "Destructor\n",
+        "Constructor\n",
+        "Destructor\n",
+        "Program terminates\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-name.cpp, Page-411"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def show(self, msg):\n",
+      "    print msg\n",
+      "    print \"First Name: \", self._name__first\n",
+      "    if self._name__middle[0]:\n",
+      "        print \"Middle Name: \", self._name__middle\n",
+      "    if self._name__last[0]:\n",
+      "        print \"Last Name: \", self._name__last\n",
+      "class name:\n",
+      "    __first=[None]*15\n",
+      "    __middle=[None]*15\n",
+      "    __last=[None]*15\n",
+      "    def __init__(self, FirstName=None, MiddleName=None, LastName=None):\n",
+      "        if isinstance(LastName, str):\n",
+      "            self.__last=LastName\n",
+      "            self.__middle=MiddleName\n",
+      "            self.__first=FirstName\n",
+      "        elif isinstance(MiddleName, str):\n",
+      "            self.__middle=MiddleName\n",
+      "            self.__first=FirstName\n",
+      "        elif isinstance(FirstName, str):\n",
+      "            self.__first=FirstName\n",
+      "        else:\n",
+      "            self.__last='\\0' #initialized to NULL\n",
+      "            self.__middle='\\0'\n",
+      "            self.__first='\\0'\n",
+      "    show=show\n",
+      "n1=name()\n",
+      "n2=name()\n",
+      "n3=name()\n",
+      "n1=name(\"Rajkumar\")\n",
+      "n2=name(\"Savithri\", \"S\")\n",
+      "n3=name(\"Veugopal\", \"K\", \"R\")\n",
+      "n1.show(\"First prson details...\")\n",
+      "n2.show(\"Second prson details...\")\n",
+      "n3.show(\"Third prson details...\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "First prson details...\n",
+        "First Name:  Rajkumar\n",
+        "Second prson details...\n",
+        "First Name:  Savithri\n",
+        "Middle Name:  S\n",
+        "Third prson details...\n",
+        "First Name:  Veugopal\n",
+        "Middle Name:  K\n",
+        "Last Name:  R\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-vector1.cpp, Page-413"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def read(self):\n",
+      "    for i in range(self._vector__sz):\n",
+      "        print \"Enter vector [\", i, \"]? \",\n",
+      "        self._vector__v[i]=int(raw_input())\n",
+      "def show_sum(self):\n",
+      "    Sum=0\n",
+      "    for i in range(self._vector__sz):\n",
+      "        Sum+=self._vector__v[i]\n",
+      "    print \"Vector sum= \", Sum\n",
+      "class vector:\n",
+      "    __v=[int] #array of type integer\n",
+      "    __sz=int\n",
+      "    def __init__(self, size):\n",
+      "        self.__sz= size\n",
+      "        self.__v=[int]*size #dynamically allocating size to integer array\n",
+      "    def __del__(self):\n",
+      "        del self.__v\n",
+      "    read=read\n",
+      "    show_sum=show_sum\n",
+      "count = int\n",
+      "count=int(raw_input(\"How many elements are there in the vector: \"))\n",
+      "v1= vector(count)\n",
+      "v1.read()\n",
+      "v1.show_sum()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many elements are there in the vector: 5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter vector [ 0 ]? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enter vector [ 1 ]? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enter vector [ 2 ]? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enter vector [ 3 ]? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "4\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enter vector [ 4 ]? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "5\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Vector sum=  15\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-vector2.cpp, Page-415"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def show(self):\n",
+      "    for i in range(self._vector__size):\n",
+      "        print self.elem(i), \", \",\n",
+      "class vector:\n",
+      "    __v=[int]\n",
+      "    __size=int\n",
+      "    def __init__(self, vector_size):\n",
+      "        if isinstance(vector_size, int):\n",
+      "            self.__size= vector_size\n",
+      "            self.__v=[int]*vector_size\n",
+      "        else:\n",
+      "            print \"Copy construcor invoked\"\n",
+      "            self.__size=vector_size.__size\n",
+      "            self.__v=[int]*vector_size.__size\n",
+      "            for i in range(vector_size.__size):\n",
+      "                self.__v[i]=vector_size.__v[i]\n",
+      "    def elem(self,i):\n",
+      "        if i>=self.__size:\n",
+      "            print \"Error: Out of Range\"\n",
+      "            return -1\n",
+      "        return self.__v[i]\n",
+      "    def __del__(self):\n",
+      "        del self.__v\n",
+      "    show=show\n",
+      "v1=vector(5)\n",
+      "v2=vector(5)\n",
+      "for i in range(5):\n",
+      "    if v2.elem(i)!=-1:\n",
+      "        v2._vector__v[i]=i+1\n",
+      "v1=v2\n",
+      "v3=vector(v2)\n",
+      "print \"Vector v1: \",\n",
+      "v1.show()\n",
+      "print \"\\nvector v2: \",\n",
+      "v2.show()\n",
+      "print \"\\nvector v3: \",\n",
+      "v3.show()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Copy construcor invoked\n",
+        "Vector v1:  1 ,  2 ,  3 ,  4 ,  5 ,  \n",
+        "vector v2:  1 ,  2 ,  3 ,  4 ,  5 ,  \n",
+        "vector v3:  1 ,  2 ,  3 ,  4 ,  5 , \n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-matrix.cpp, Page-418"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "TRUE=1\n",
+      "FALSE=0\n",
+      "def __del__(self):\n",
+      "    for i in range(self._matrix__MaxRow):\n",
+      "        del self._matrix__p[i]\n",
+      "    del self._matrix__p\n",
+      "def add(self, a, b):\n",
+      "    self._matrix__MaxRow=a._matrix__MaxRow\n",
+      "    self._matrix__MaxCol=a._matrix__MaxCol\n",
+      "    if (a._matrix__MaxRow!=b._matrix__MaxRow)|(a._matrix__MaxCol!=b._matrix__MaxCol):\n",
+      "        print \"Error: invalid matrix order for addition\"\n",
+      "        return\n",
+      "    for i in range(self._matrix__MaxRow):\n",
+      "        for j in range(self._matrix__MaxCol):\n",
+      "            self._matrix__p[i][j]=a._matrix__p[i][j]+b._matrix__p[i][j]\n",
+      "def sub(self, a, b):\n",
+      "    self._matrix__MaxRow=a._matrix__MaxRow\n",
+      "    self._matrix__MaxCol=a._matrix__MaxCol\n",
+      "    if (a._matrix__MaxRow!=b._matrix__MaxRow)|(a._matrix__MaxCol!=b._matrix__MaxCol):\n",
+      "        print \"Error: invalid matrix order for subtraction\"\n",
+      "        return\n",
+      "    for i in range(self._matrix__MaxRow):\n",
+      "        for j in range(self._matrix__MaxCol):\n",
+      "            self._matrix__p[i][j]=a._matrix__p[i][j]-b._matrix__p[i][j]\n",
+      "def mul(self, a, b):\n",
+      "    self._matrix__MaxRow=a._matrix__MaxRow\n",
+      "    self._matrix__MaxCol=a._matrix__MaxCol\n",
+      "    if (a._matrix__MaxCol!=b._matrix__MaxRow):\n",
+      "        print \"Error: invalid matrix order for multiplication\"\n",
+      "        return\n",
+      "    for i in range(a._matrix__MaxRow):\n",
+      "        for j in range(b._matrix__MaxCol):\n",
+      "            self._matrix__p[i][j]=0\n",
+      "            for k in range(a._matrix__MaxCol):\n",
+      "                self._matrix__p[i][j]+=a._matrix__p[i][j]*b._matrix__p[i][j]\n",
+      "def eql(self, b):\n",
+      "    for i in range(self._matrix__MaxRow):\n",
+      "        for j in range(self._matrix__MaxCol):\n",
+      "            if self._matrix__p[i][i]!=b._matrix__p[i][j]:\n",
+      "                return 0\n",
+      "    return 1\n",
+      "def read(self):\n",
+      "    for i in range(self._matrix__MaxRow):\n",
+      "        for j in range(self._matrix__MaxCol):\n",
+      "            print \"Matrix[\", i, \",\",j,\"] =? \",\n",
+      "            self._matrix__p[i][j]=int(raw_input())\n",
+      "def show(self):\n",
+      "    for i in range(self._matrix__MaxRow):\n",
+      "        for j in range(self._matrix__MaxCol):\n",
+      "            print self._matrix__p[i][j], \" \",\n",
+      "        print \"\"\n",
+      "class matrix:\n",
+      "    __MaxRow=int\n",
+      "    __MaxCol=int\n",
+      "    __p=[int]\n",
+      "    def __init__(self, row=0, col=0):\n",
+      "        self.__MaxRow=row\n",
+      "        self.__MaxCol=col\n",
+      "        if row>0:\n",
+      "            self.__p=[[int]*self.__MaxCol]*self.__MaxRow\n",
+      "    __del__=__del__\n",
+      "    read=read\n",
+      "    show=show\n",
+      "    add=add\n",
+      "    sub=sub\n",
+      "    mul=mul\n",
+      "    eql=eql\n",
+      "print \"Enter Matrix A details...\"\n",
+      "m=int(raw_input(\"How many rows? \"))\n",
+      "n=int(raw_input(\"How many columns? \"))\n",
+      "a=matrix(m,n)\n",
+      "a.read()\n",
+      "print \"Enter Matrix B details...\"\n",
+      "p=int(raw_input(\"How many rows? \"))\n",
+      "q=int(raw_input(\"How many columns? \"))\n",
+      "b=matrix(p,q)\n",
+      "b.read()\n",
+      "print \"Matrix A is...\"\n",
+      "a.show()\n",
+      "print \"Matrix B is...\"\n",
+      "b.show()\n",
+      "c=matrix(m,n)\n",
+      "c.add(a,b)\n",
+      "print \"C=A+B...\"\n",
+      "c.show()\n",
+      "d=matrix(m,n)\n",
+      "d.sub(a,b)\n",
+      "print \"D=A-B...\"\n",
+      "d.show()\n",
+      "e=matrix(m,q)\n",
+      "e.mul(a,b)\n",
+      "print \"E=A*B...\"\n",
+      "e.show()\n",
+      "print \"(Is matrix A equal to matrix B)? \",\n",
+      "if(a.eql(b)):\n",
+      "    print \"Yes\"\n",
+      "else:\n",
+      "    print \"No\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Enter Matrix A details...\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many rows? 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many columns? 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Matrix[ 0 , 0 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 0 , 1 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 0 , 2 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 1 , 0 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 1 , 1 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 1 , 2 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 2 , 0 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 2 , 1 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 2 , 2 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "2\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Enter Matrix B details...\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many rows? 3\n"
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "How many columns? 3\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Matrix[ 0 , 0 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 0 , 1 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 0 , 2 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 1 , 0 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 1 , 1 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 1 , 2 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 2 , 0 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 2 , 1 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix[ 2 , 2 ] =? "
+       ]
+      },
+      {
+       "name": "stdout",
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "1\n"
+       ]
+      },
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " Matrix A is...\n",
+        "2   2   2   \n",
+        "2   2   2   \n",
+        "2   2   2   \n",
+        "Matrix B is...\n",
+        "1   1   1   \n",
+        "1   1   1   \n",
+        "1   1   1   \n",
+        "C=A+B...\n",
+        "3   3   3   \n",
+        "3   3   3   \n",
+        "3   3   3   \n",
+        "D=A-B...\n",
+        "1   1   1   \n",
+        "1   1   1   \n",
+        "1   1   1   \n",
+        "E=A*B...\n",
+        "6   6   6   \n",
+        "6   6   6   \n",
+        "6   6   6   \n",
+        "(Is matrix A equal to matrix B)?  No\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-person.cpp, Page-423"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def __init__(self, NameIn, AddressIn, PhoneIn):\n",
+      "    self._Person__name=NameIn\n",
+      "    self._Person__address=AddressIn\n",
+      "    self._Person__phone=PhoneIn\n",
+      "#inline\n",
+      "def __del__(self):\n",
+      "    del self._Person__name\n",
+      "    del self._Person__address\n",
+      "    del self._Person__phone\n",
+      "def getname(self):\n",
+      "    return self._Person__name\n",
+      "def getaddress(self):\n",
+      "    return self._Person__address\n",
+      "def getphone(self):\n",
+      "    return self._Person__phone\n",
+      "def changename(self, NameIn):\n",
+      "    if(self._Person__name):\n",
+      "        del self._Person__name\n",
+      "    self._Person__name=NameIn\n",
+      "class Person:\n",
+      "    __name=[str]\n",
+      "    __address=[str]\n",
+      "    __phone=[str]\n",
+      "    __init__=__init__\n",
+      "    __del__=__del__\n",
+      "    getname=getname\n",
+      "    getaddress=getaddress\n",
+      "    getphone=getphone\n",
+      "    changename=changename\n",
+      "def printperson(p):\n",
+      "    if(p.getname()):\n",
+      "        print \"Name: \", p.getname()\n",
+      "    if(p.getaddress()):\n",
+      "        print \"Address: \", p.getaddress()\n",
+      "    if(p.getphone()):\n",
+      "        print \"Phone: \", p.getphone()\n",
+      "me=Person(\"Rajkumar\", \"E-mail: raj@cdabc.erne.in\", \"91-080-5584271\")\n",
+      "printperson(me)\n",
+      "you=Person(\"XYZ\", \"-not sure-\", \"-not sure-\")\n",
+      "print \"You XYZ by default...\"\n",
+      "printperson(you)\n",
+      "you.changename(\"ABC\")\n",
+      "print \"You changed XYZ to ABC...\"\n",
+      "printperson(you)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Name:  Rajkumar\n",
+        "Address:  E-mail: raj@cdabc.erne.in\n",
+        "Phone:  91-080-5584271\n",
+        "You XYZ by default...\n",
+        "Name:  XYZ\n",
+        "Address:  -not sure-\n",
+        "Phone:  -not sure-\n",
+        "You changed XYZ to ABC...\n",
+        "Name:  ABC\n",
+        "Address:  -not sure-\n",
+        "Phone:  -not sure-\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example-graph.cpp, Page-425"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def __init__(self):\n",
+      "    if(self._Graphics__nobjects[0]==False):\n",
+      "        self._Graphics__setgraphicsmode()\n",
+      "    self._Graphics__nobjects[0]+=1\n",
+      "def __del__(self):\n",
+      "    self._Graphics__nobjects[0]-=1\n",
+      "    if(self._Graphics__nobjects[0]==False):\n",
+      "        self._Graphics__settextmode()\n",
+      "class Graphics:\n",
+      "    __nobjects=[0]\n",
+      "    def __setgraphicsmode(self):\n",
+      "        pass\n",
+      "    def __settextmode(self):\n",
+      "        pass\n",
+      "    __init__=__init__\n",
+      "    __del__=__del__\n",
+      "    def getcount(self):\n",
+      "        return self.__nobjects[0]\n",
+      "def my_func():\n",
+      "    obj=Graphics()\n",
+      "    print \"No. of Graphics' objects while in my_func=\", obj.getcount()\n",
+      "obj1=Graphics()\n",
+      "print \"No. of Graphics' objects before in my_func=\", obj1.getcount()\n",
+      "my_func()\n",
+      "print \"No. of Graphics' objects after in my_func=\", obj1.getcount()\n",
+      "obj2=Graphics()\n",
+      "obj3=Graphics()\n",
+      "obj4=Graphics()\n",
+      "print \"Value of static member nobjects after all 3 more objects...\"\n",
+      "print \"In obj1= \", obj1.getcount()\n",
+      "print \"In obj2= \", obj2.getcount()\n",
+      "print \"In obj3= \", obj3.getcount()\n",
+      "print \"In obj4= \", obj4.getcount()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "No. of Graphics' objects before in my_func= 1\n",
+        "No. of Graphics' objects while in my_func= 2\n",
+        "No. of Graphics' objects after in my_func= 1\n",
+        "Value of static member nobjects after all 3 more objects...\n",
+        "In obj1=  4\n",
+        "In obj2=  4\n",
+        "In obj3=  4\n",
+        "In obj4=  4\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Page-428"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def distance(self, a, b):\n",
+      "    self.x=a.x-b.x\n",
+      "    self.y=a.y-b.y\n",
+      "def display(self):\n",
+      "    print \"x= \",self.x\n",
+      "    print \"y= \", self.y\n",
+      "class point:\n",
+      "    __x=int\n",
+      "    __y=int\n",
+      "    def __init__(self, a=None, b=None):\n",
+      "        if isinstance(a, int):\n",
+      "            self.x=a\n",
+      "            self.y=b\n",
+      "        else:\n",
+      "            self.x=self.y=0\n",
+      "    def __del__(self):\n",
+      "        pass\n",
+      "    distance=distance\n",
+      "    display=display\n",
+      "p1=point(40,18)\n",
+      "p2=point(12,9)\n",
+      "p3=point()\n",
+      "p3.distance(p1,p2)\n",
+      "print \"Coordinates of P1: \"\n",
+      "p1.display()\n",
+      "print \"Coordinates of P2: \"\n",
+      "p2.display()\n",
+      "print \"distance between P1 and P2: \"\n",
+      "p3.display()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Coordinates of P1: \n",
+        "x=  40\n",
+        "y=  18\n",
+        "Coordinates of P2: \n",
+        "x=  12\n",
+        "y=  9\n",
+        "distance between P1 and P2: \n",
+        "x=  28\n",
+        "y=  9\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example Page-430"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "def display(self):\n",
+      "    print \"a =\", self.a,\n",
+      "    print \"b =\", self.b\n",
+      "class data:\n",
+      "    __a=int\n",
+      "    __b=float\n",
+      "    def __init__(self, x=None, y=None):\n",
+      "        if isinstance(x, int):\n",
+      "            self.a=x\n",
+      "            self.b=y\n",
+      "        elif isinstance(x, data):\n",
+      "            self.a=x.a\n",
+      "            self.b=x.b\n",
+      "        else:\n",
+      "            self.a=0\n",
+      "            self.b=0\n",
+      "    display=display\n",
+      "d1=data()\n",
+      "d2=data(12,9.9)\n",
+      "d3=data(d2)\n",
+      "print \"For default constructor: \"\n",
+      "d1.display()\n",
+      "print\"For parameterized constructor: \"\n",
+      "d2.display()\n",
+      "print \"For Copy Constructor: \"\n",
+      "d3.display()"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "For default constructor: \n",
+        "a = 0 b = 0\n",
+        "For parameterized constructor: \n",
+        "a = 12 b = 9.9\n",
+        "For Copy Constructor: \n",
+        "a = 12 b = 9.9\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Tarun KumarDas/Chapter9_1.ipynb b/sample_notebooks/Tarun KumarDas/Chapter9_1.ipynb
new file mode 100755
index 00000000..9ad66918
--- /dev/null
+++ b/sample_notebooks/Tarun KumarDas/Chapter9_1.ipynb	
@@ -0,0 +1,227 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e51e8cf0773e9d18bdd072a1fa1bf98f99abe047f89cd3c17683371d37f7815d"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "VALVE DIAGRAMS AND VALVE GEARS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 Page 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=20#in\n",
+      "l=100#in\n",
+      "r=120#r.p.m\n",
+      "v=3.5#in\n",
+      "l2=1#in\n",
+      "l3=1/8#in\n",
+      "v1=1.44#omega in/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=p*(1.06/1.166)#omega in./sec\n",
+      "R=(V/v1)#omega in/sec\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The ratio of velocity of the piston to the velocity is\",round(R,3),\"Omega in/sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of velocity of the piston to the velocity is 12.626 Omega in/sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.7 Page 151"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=0.6#in\n",
+      "m=1.0#in\n",
+      "t=0.75#in\n",
+      "p=4#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "D=t/m#in\n",
+      "A=(p*m/D)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel and laps of the value is\",round(A,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel and laps of the value is 5.333 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.10 Page 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "l=1.5#in\n",
+      "p=4.0#in\n",
+      "v=0.98#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=(l*p/v)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the particulars of a value and it eccentric is\",round(T,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the particulars of a value and it eccentric is 6.122 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.12 Page 156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=1/10#in\n",
+      "v1=3/4#in\n",
+      "v2=3/5#in\n",
+      "m=1*1/2#in\n",
+      "l=4#cranks\n",
+      "a1=1.25#in\n",
+      "a2=0.7#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "C=a1/a2#in\n",
+      "A=l*a1/a2#in\n",
+      "S=(A/2-a1)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel of the value is\",round(S,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel of the value is 2.321 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17 Page 161"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=3*1/2#in\n",
+      "a=30#degree\n",
+      "l=0.8#in\n",
+      "v1=0.2#in\n",
+      "L=0.13#in\n",
+      "m=1.075#in\n",
+      "d=0.58#in\n",
+      "p=1.875#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=(p-d)#in\n",
+      "P=V+1.25#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the main value and the maximum opening to steam is\",round(P,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the main value and the maximum opening to steam is 2.545 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Tarun KumarDas/Chapter9_2.ipynb b/sample_notebooks/Tarun KumarDas/Chapter9_2.ipynb
new file mode 100755
index 00000000..320477a8
--- /dev/null
+++ b/sample_notebooks/Tarun KumarDas/Chapter9_2.ipynb	
@@ -0,0 +1,227 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:023bb2358c5a7a6740b1b9a08290e11f954e790555a353817bbe84615e4679e6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 9: VALVE DIAGRAMS AND VALVE GEARS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 Page 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=20#in\n",
+      "l=100#in\n",
+      "r=120#r.p.m\n",
+      "v=3.5#in\n",
+      "l2=1#in\n",
+      "l3=1/8#in\n",
+      "v1=1.44#omega in/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=p*(1.06/1.166)#omega in./sec\n",
+      "R=(V/v1)#omega in/sec\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The ratio of velocity of the piston to the velocity is\",round(R,3),\"Omega in/sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of velocity of the piston to the velocity is 12.626 Omega in/sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.7 Page 151"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=0.6#in\n",
+      "m=1.0#in\n",
+      "t=0.75#in\n",
+      "p=4#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "D=t/m#in\n",
+      "A=(p*m/D)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel and laps of the value is\",round(A,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel and laps of the value is 5.333 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.10 Page 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "l=1.5#in\n",
+      "p=4.0#in\n",
+      "v=0.98#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=(l*p/v)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the particulars of a value and it eccentric is\",round(T,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the particulars of a value and it eccentric is 6.122 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.12 Page 156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=1/10#in\n",
+      "v1=3/4#in\n",
+      "v2=3/5#in\n",
+      "m=1*1/2#in\n",
+      "l=4#cranks\n",
+      "a1=1.25#in\n",
+      "a2=0.7#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "C=a1/a2#in\n",
+      "A=l*a1/a2#in\n",
+      "S=(A/2-a1)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel of the value is\",round(S,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel of the value is 2.321 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17 Page 161"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=3*1/2#in\n",
+      "a=30#degree\n",
+      "l=0.8#in\n",
+      "v1=0.2#in\n",
+      "L=0.13#in\n",
+      "m=1.075#in\n",
+      "d=0.58#in\n",
+      "p=1.875#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=(p-d)#in\n",
+      "P=V+1.25#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the main value and the maximum opening to steam is\",round(P,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the main value and the maximum opening to steam is 2.545 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Tarun KumarDas/Chapter9_3.ipynb b/sample_notebooks/Tarun KumarDas/Chapter9_3.ipynb
new file mode 100755
index 00000000..320477a8
--- /dev/null
+++ b/sample_notebooks/Tarun KumarDas/Chapter9_3.ipynb	
@@ -0,0 +1,227 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:023bb2358c5a7a6740b1b9a08290e11f954e790555a353817bbe84615e4679e6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 9: VALVE DIAGRAMS AND VALVE GEARS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 Page 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=20#in\n",
+      "l=100#in\n",
+      "r=120#r.p.m\n",
+      "v=3.5#in\n",
+      "l2=1#in\n",
+      "l3=1/8#in\n",
+      "v1=1.44#omega in/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=p*(1.06/1.166)#omega in./sec\n",
+      "R=(V/v1)#omega in/sec\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The ratio of velocity of the piston to the velocity is\",round(R,3),\"Omega in/sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of velocity of the piston to the velocity is 12.626 Omega in/sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.7 Page 151"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=0.6#in\n",
+      "m=1.0#in\n",
+      "t=0.75#in\n",
+      "p=4#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "D=t/m#in\n",
+      "A=(p*m/D)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel and laps of the value is\",round(A,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel and laps of the value is 5.333 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.10 Page 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "l=1.5#in\n",
+      "p=4.0#in\n",
+      "v=0.98#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=(l*p/v)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the particulars of a value and it eccentric is\",round(T,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the particulars of a value and it eccentric is 6.122 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.12 Page 156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=1/10#in\n",
+      "v1=3/4#in\n",
+      "v2=3/5#in\n",
+      "m=1*1/2#in\n",
+      "l=4#cranks\n",
+      "a1=1.25#in\n",
+      "a2=0.7#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "C=a1/a2#in\n",
+      "A=l*a1/a2#in\n",
+      "S=(A/2-a1)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel of the value is\",round(S,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel of the value is 2.321 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17 Page 161"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=3*1/2#in\n",
+      "a=30#degree\n",
+      "l=0.8#in\n",
+      "v1=0.2#in\n",
+      "L=0.13#in\n",
+      "m=1.075#in\n",
+      "d=0.58#in\n",
+      "p=1.875#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=(p-d)#in\n",
+      "P=V+1.25#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the main value and the maximum opening to steam is\",round(P,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the main value and the maximum opening to steam is 2.545 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Tarun KumarDas/Chapter9_4.ipynb b/sample_notebooks/Tarun KumarDas/Chapter9_4.ipynb
new file mode 100755
index 00000000..320477a8
--- /dev/null
+++ b/sample_notebooks/Tarun KumarDas/Chapter9_4.ipynb	
@@ -0,0 +1,227 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:023bb2358c5a7a6740b1b9a08290e11f954e790555a353817bbe84615e4679e6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 9: VALVE DIAGRAMS AND VALVE GEARS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 Page 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=20#in\n",
+      "l=100#in\n",
+      "r=120#r.p.m\n",
+      "v=3.5#in\n",
+      "l2=1#in\n",
+      "l3=1/8#in\n",
+      "v1=1.44#omega in/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=p*(1.06/1.166)#omega in./sec\n",
+      "R=(V/v1)#omega in/sec\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The ratio of velocity of the piston to the velocity is\",round(R,3),\"Omega in/sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of velocity of the piston to the velocity is 12.626 Omega in/sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.7 Page 151"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=0.6#in\n",
+      "m=1.0#in\n",
+      "t=0.75#in\n",
+      "p=4#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "D=t/m#in\n",
+      "A=(p*m/D)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel and laps of the value is\",round(A,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel and laps of the value is 5.333 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.10 Page 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "l=1.5#in\n",
+      "p=4.0#in\n",
+      "v=0.98#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=(l*p/v)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the particulars of a value and it eccentric is\",round(T,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the particulars of a value and it eccentric is 6.122 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.12 Page 156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=1/10#in\n",
+      "v1=3/4#in\n",
+      "v2=3/5#in\n",
+      "m=1*1/2#in\n",
+      "l=4#cranks\n",
+      "a1=1.25#in\n",
+      "a2=0.7#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "C=a1/a2#in\n",
+      "A=l*a1/a2#in\n",
+      "S=(A/2-a1)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel of the value is\",round(S,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel of the value is 2.321 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17 Page 161"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=3*1/2#in\n",
+      "a=30#degree\n",
+      "l=0.8#in\n",
+      "v1=0.2#in\n",
+      "L=0.13#in\n",
+      "m=1.075#in\n",
+      "d=0.58#in\n",
+      "p=1.875#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=(p-d)#in\n",
+      "P=V+1.25#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the main value and the maximum opening to steam is\",round(P,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the main value and the maximum opening to steam is 2.545 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Tarun KumarDas/Chapter9_5.ipynb b/sample_notebooks/Tarun KumarDas/Chapter9_5.ipynb
new file mode 100755
index 00000000..320477a8
--- /dev/null
+++ b/sample_notebooks/Tarun KumarDas/Chapter9_5.ipynb	
@@ -0,0 +1,227 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:023bb2358c5a7a6740b1b9a08290e11f954e790555a353817bbe84615e4679e6"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "CHAPTER 9: VALVE DIAGRAMS AND VALVE GEARS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.5 Page 150"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=20#in\n",
+      "l=100#in\n",
+      "r=120#r.p.m\n",
+      "v=3.5#in\n",
+      "l2=1#in\n",
+      "l3=1/8#in\n",
+      "v1=1.44#omega in/sec\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=p*(1.06/1.166)#omega in./sec\n",
+      "R=(V/v1)#omega in/sec\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"The ratio of velocity of the piston to the velocity is\",round(R,3),\"Omega in/sec\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The ratio of velocity of the piston to the velocity is 12.626 Omega in/sec\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.7 Page 151"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=0.6#in\n",
+      "m=1.0#in\n",
+      "t=0.75#in\n",
+      "p=4#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "D=t/m#in\n",
+      "A=(p*m/D)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel and laps of the value is\",round(A,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel and laps of the value is 5.333 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.10 Page 154"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "l=1.5#in\n",
+      "p=4.0#in\n",
+      "v=0.98#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "T=(l*p/v)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the particulars of a value and it eccentric is\",round(T,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the particulars of a value and it eccentric is 6.122 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.12 Page 156"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "p=1/10#in\n",
+      "v1=3/4#in\n",
+      "v2=3/5#in\n",
+      "m=1*1/2#in\n",
+      "l=4#cranks\n",
+      "a1=1.25#in\n",
+      "a2=0.7#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "C=a1/a2#in\n",
+      "A=l*a1/a2#in\n",
+      "S=(A/2-a1)#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the travel of the value is\",round(S,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the travel of the value is 2.321 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 9.17 Page 161"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#initialisation of variable\n",
+      "from math import pi,sqrt,acos,asin,atan,cos,sin,tan\n",
+      "v=3*1/2#in\n",
+      "a=30#degree\n",
+      "l=0.8#in\n",
+      "v1=0.2#in\n",
+      "L=0.13#in\n",
+      "m=1.075#in\n",
+      "d=0.58#in\n",
+      "p=1.875#in\n",
+      "\n",
+      "#CALCULATIONS\n",
+      "V=(p-d)#in\n",
+      "P=V+1.25#in\n",
+      "\n",
+      "#RESULTS\n",
+      "print\"the main value and the maximum opening to steam is\",round(P,3),\"in\""
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "the main value and the maximum opening to steam is 2.545 in\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VidyaSri/Chapter_1.ipynb b/sample_notebooks/VidyaSri/Chapter_1.ipynb
new file mode 100755
index 00000000..7a5ae89d
--- /dev/null
+++ b/sample_notebooks/VidyaSri/Chapter_1.ipynb
@@ -0,0 +1,389 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:e7689de630b2babf67b8065d816d51134502d1f0c04e82cddeaf0e3e2d421795"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 1 - PULSE FUNDAMENTALS "
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E1 - Pg 12"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Caption:Find (a)Pulse amplitude (b)PRF (c)PW (d)Duty cycle and (e)M/S ratio\n",
+      "v=1.#Vertical scale(Volt per division)\n",
+      "h=0.1#Horizontal scale(Milli sec per division)\n",
+      "pv=3.5#Amplitude of pulse in divisions\n",
+      "t=6.#Time in divisions\n",
+      "pw=2.5#Width of pulse\n",
+      "P=pv*v\n",
+      "print '%s %.1f' %('(a)Pulse Amplitude (in volts)=',P)\n",
+      "T=t*h\n",
+      "prf=(1/T)*1000\n",
+      "print '%s %.4f' %('(b)PRF(in pps)=',prf)\n",
+      "p=pw*h\n",
+      "print '%s %.2f' %('(c)PW (in ms)=',p)\n",
+      "sw=pv*h\n",
+      "d=(p/T)*100\n",
+      "print '%s %.6f' %('(d)Duty cycle(in %)=',d)\n",
+      "m=p/sw\n",
+      "print '%s %.7f' %('(e)M/S ratio=',m)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)Pulse Amplitude (in volts)= 3.5\n",
+        "(b)PRF(in pps)= 1666.6667\n",
+        "(c)PW (in ms)= 0.25\n",
+        "(d)Duty cycle(in %)= 41.666667\n",
+        "(e)M/S ratio= 0.7142857\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E2 - Pg 13"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Caption:Determine (a)Pulse amplitude,tilt,rise time,fall time,PW,PRF,mark to space ratio,and duty cycle (b)tilt\n",
+      "vs=100.#Vertical scale(in mv/divisions)\n",
+      "hs=100.#Horizontal scale(in micro sec/division)\n",
+      "e1=380.#first peak of waveform(in mv)\n",
+      "e2=350.#second peak of waveform(in mv)\n",
+      "E=(e1+e2)/2.\n",
+      "t=(e1-e2)*100./E\n",
+      "tr=0.3*hs\n",
+      "tf=0.4*hs\n",
+      "T=5.*hs\n",
+      "prf=10.**6./T\n",
+      "pw=2.2*hs\n",
+      "sw=2.8*hs\n",
+      "ms=pw/sw\n",
+      "dc=(pw*100.)/T\n",
+      "print '%s %.f'%('(a)Pulse Amplitude(in mv)=',E)\n",
+      "print '%s %.7f'%('(a)tilt(in %)',t)\n",
+      "print '%s %.f'%('(a)rise time(in micro sec)=',tr)\n",
+      "print '%s %.f'%('(a)fall time(in micro sec)=',tf)\n",
+      "print '%s %.f'%('(a)PW(in micro sec)=',pw)\n",
+      "print '%s %.f'%('(a)PRF(in pps)=',prf)\n",
+      "print '%s %.7f'%('(a)M/s ratio=',ms)\n",
+      "print '%s %.f' %('(a)Duty cycle(in %)=',dc)\n",
+      "eb=0.5*vs\n",
+      "ee=2.25*vs\n",
+      "tb=eb*100./ee\n",
+      "print '%s %.6f' %('(b)Tilt(in %)=',tb)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)Pulse Amplitude(in mv)= 365\n",
+        "(a)tilt(in %) 8.2191781\n",
+        "(a)rise time(in micro sec)= 30\n",
+        "(a)fall time(in micro sec)= 40\n",
+        "(a)PW(in micro sec)= 220\n",
+        "(a)PRF(in pps)= 2000\n",
+        "(a)M/s ratio= 0.7857143\n",
+        "(a)Duty cycle(in %)= 44\n",
+        "(b)Tilt(in %)= 22.222222\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E3 - Pg 13"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Caption:Determine average voltage level\n",
+      "vs=2.#Vertical scale(V/div)\n",
+      "hs=1.#Horizontal scale(ms/div)\n",
+      "v1=8.#Amplitude of signal in (+)ve direction (in volts)\n",
+      "v2=-1.#Amplitude of signal in (-)ve direction (in volts)\n",
+      "t1=0.8#Horizontal divisions for v1\n",
+      "t2=2.2#Horizontal divisions for v2\n",
+      "T=3.*hs\n",
+      "T1=t1*hs\n",
+      "T2=t2*hs\n",
+      "Va=((T1*v1)+(T2*v2))/T\n",
+      "print '%s %.1f' %('Average voltage (in volts)=',Va)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Average voltage (in volts)= 1.4\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E4 - Pg 14"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Caption:Determine the upper 3db frequency of the amplifier\n",
+      "tr=1.#Rise time(in micro sec)\n",
+      "fu=0.35*10**6/tr\n",
+      "print '%s %.f' %('The upper 3db frequency of the amplifier(in hertz)=',fu)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The upper 3db frequency of the amplifier(in hertz)= 350000\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E5 - Pg 14"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Caption:Determine (a)Minimum upper cut frequency (b)Minimum pulse width and duty cycle\n",
+      "prf=1.5#in Khz\n",
+      "dc=3.#Duty cycle(in %)\n",
+      "pa=1.5#Amplitude of pulse(in Khz)\n",
+      "fu=1.#High frequency limit(in Mhz)\n",
+      "tr=10.#Rise time(in %)\n",
+      "pw=(dc/100.)*10.**3./pa\n",
+      "Tr=(tr/100.)*pw\n",
+      "fh=0.35*10.**6./Tr\n",
+      "print '%s %.1f' %('(a)Minimum upper cut frequency(in hertz)=',fh)\n",
+      "Tr2=0.35*10.**(-6.)/fu\n",
+      "Pw=10.*Tr2\n",
+      "dc=Pw*100.*(pa*1000.)\n",
+      "print '%s %.7f' %('(b)Pulse width(in sec) and Duty cycle(in %)=',Pw)\n",
+      "print '%s %.3f' %('(b)Duty cycle(in %)=',dc)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)Minimum upper cut frequency(in hertz)= 175000.0\n",
+        "(b)Pulse width(in sec) and Duty cycle(in %)= 0.0000035\n",
+        "(b)Duty cycle(in %)= 0.525\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E6 - Pg 17"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Caption:Calculate (a)Rise time in output waveform (b)Minimum upper cut off frequency and print '%s %.2f' %layed rise time\n",
+      "import math\n",
+      "tr=10.#Rise time of input waveform(in micro sec)\n",
+      "fu=350.#Upper cut off frequency(in KHz)\n",
+      "ti=100.#Input rise time(in ns)\n",
+      "trc=0.35*(10.**(-3.))/350.\n",
+      "tro=math.sqrt(((tr)*(10.**(-6.)))**2.+(trc**2.))*10.**6.\n",
+      "print '%s %.6f' %('(a)Rise Time(in Micro sec)=',tro)\n",
+      "tc=ti*(10.**(-9.))/3.\n",
+      "fh=0.35*10.**(-6.)/tc\n",
+      "Tro=math.sqrt((ti*(10.**(-9.)))**2.+(tc**2.))*10.**9.\n",
+      "print '%s %.1f' %('(b)Minimum upper cut off frequency(in Mhz) and rise time(in ns)=',fh)\n",
+      "print '%s %.5f' %('(b)rise time(in ns)=',Tro)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)Rise Time(in Micro sec)= 10.049876\n",
+        "(b)Minimum upper cut off frequency(in Mhz) and rise time(in ns)= 10.5\n",
+        "(b)rise time(in ns)= 105.40926\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E7 - Pg 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Caption:Calculate lowest input frequency \n",
+      "import math\n",
+      "fl=10.#Lower cutoff frequency(in hertz)\n",
+      "t=0.02#Tilt on output waveform\n",
+      "f=math.pi*fl/(t*1000)\n",
+      "print '%s %.7f' %('Lowest input frequency(in Khz)=',f)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Lowest input frequency(in Khz)= 1.5707963\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E8 - Pg 18"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Caption:Determine (a)upper cutoff frequency (b)lower cutoff frequency\n",
+      "import math\n",
+      "f=1.#frequency of square wave(in khz)\n",
+      "tr=200.#rise time of output(in ns)\n",
+      "t=0.03#fractional tilt\n",
+      "fh=0.35*10.**3./tr\n",
+      "print '%s %.2f' %('(a)upper cutoff frequency(in mhz)=',fh) \n",
+      "fl=f*t*1000./math.pi\n",
+      "print '%s %.7f' %('(b)Lower cutoff frequency(in hz)=',fl)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "(a)upper cutoff frequency(in mhz)= 1.75\n",
+        "(b)Lower cutoff frequency(in hz)= 9.5492966\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E9 - Pg 21"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#Caption:Determine upper and lower Frequencies\n",
+      "import math\n",
+      "tr=30.#Rise time(in micro sec)\n",
+      "PRF=2000.#Pulse repetition Frequency(in pps)\n",
+      "t=0.082#Tilt(in %)\n",
+      "Pw=220.#Pulse width(in micro sec)\n",
+      "fh=0.35*10.**(6.)/tr\n",
+      "fl=t*10.**6./(2.*math.pi*Pw)\n",
+      "print '%s %.3f' %('Upper frequency(in hz)=',fh)\n",
+      "print '%s %.6f' %('lower frequency(in hz)=',fl)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Upper frequency(in hz)= 11666.667\n",
+        "lower frequency(in hz)= 59.321388\n"
+       ]
+      }
+     ],
+     "prompt_number": 11
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/Chapter_01.ipynb b/sample_notebooks/VikasPrasad/Chapter_01.ipynb
new file mode 100755
index 00000000..b5226e07
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/Chapter_01.ipynb
@@ -0,0 +1,170 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "    \n",
+      "\t#since private instance variables don't exist in Python,\n",
+      "    #hence using a convention: name prefixed with an underscore, to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "    \n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to create objects\n",
+      "        #with instances customized to a specific initial state\n",
+      "\t\t\n",
+      "        #since private instance variables don't exist in Python,\n",
+      "        #hence using a convention: name prefixed with an underscore, to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "        \n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/Chapter_01_1.ipynb b/sample_notebooks/VikasPrasad/Chapter_01_1.ipynb
new file mode 100755
index 00000000..b5226e07
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/Chapter_01_1.ipynb
@@ -0,0 +1,170 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "    \n",
+      "\t#since private instance variables don't exist in Python,\n",
+      "    #hence using a convention: name prefixed with an underscore, to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "    \n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to create objects\n",
+      "        #with instances customized to a specific initial state\n",
+      "\t\t\n",
+      "        #since private instance variables don't exist in Python,\n",
+      "        #hence using a convention: name prefixed with an underscore, to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "        \n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/Chapter_01_2.ipynb b/sample_notebooks/VikasPrasad/Chapter_01_2.ipynb
new file mode 100755
index 00000000..b5226e07
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/Chapter_01_2.ipynb
@@ -0,0 +1,170 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "    \n",
+      "\t#since private instance variables don't exist in Python,\n",
+      "    #hence using a convention: name prefixed with an underscore, to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "    \n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to create objects\n",
+      "        #with instances customized to a specific initial state\n",
+      "\t\t\n",
+      "        #since private instance variables don't exist in Python,\n",
+      "        #hence using a convention: name prefixed with an underscore, to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "        \n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/chapter1_2.ipynb b/sample_notebooks/VikasPrasad/chapter1_2.ipynb
new file mode 100755
index 00000000..eca44a51
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/chapter1_2.ipynb
@@ -0,0 +1,165 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t#to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to cerate objects with instances customized to a specific initial state\n",
+      "\t\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t\t#to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/chapter1_3.ipynb b/sample_notebooks/VikasPrasad/chapter1_3.ipynb
new file mode 100755
index 00000000..eca44a51
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/chapter1_3.ipynb
@@ -0,0 +1,165 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t#to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to cerate objects with instances customized to a specific initial state\n",
+      "\t\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t\t#to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/chapter1_4.ipynb b/sample_notebooks/VikasPrasad/chapter1_4.ipynb
new file mode 100755
index 00000000..eca44a51
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/chapter1_4.ipynb
@@ -0,0 +1,165 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t#to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to cerate objects with instances customized to a specific initial state\n",
+      "\t\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t\t#to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/chapter1_5.ipynb b/sample_notebooks/VikasPrasad/chapter1_5.ipynb
new file mode 100755
index 00000000..eca44a51
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/chapter1_5.ipynb
@@ -0,0 +1,165 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t#to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to cerate objects with instances customized to a specific initial state\n",
+      "\t\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t\t#to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/chapter1_6.ipynb b/sample_notebooks/VikasPrasad/chapter1_6.ipynb
new file mode 100755
index 00000000..eca44a51
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/chapter1_6.ipynb
@@ -0,0 +1,165 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t#to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to cerate objects with instances customized to a specific initial state\n",
+      "\t\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t\t#to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/chapter1_7.ipynb b/sample_notebooks/VikasPrasad/chapter1_7.ipynb
new file mode 100755
index 00000000..eca44a51
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/chapter1_7.ipynb
@@ -0,0 +1,165 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t#to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to cerate objects with instances customized to a specific initial state\n",
+      "\t\t#since private instance variables don't exist in Python, hence using a convention: name prefixed with an underscore,\n",
+      "\t\t#to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/chapter1_8.ipynb b/sample_notebooks/VikasPrasad/chapter1_8.ipynb
new file mode 100755
index 00000000..b5226e07
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/chapter1_8.ipynb
@@ -0,0 +1,170 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "    \n",
+      "\t#since private instance variables don't exist in Python,\n",
+      "    #hence using a convention: name prefixed with an underscore, to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "    \n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to create objects\n",
+      "        #with instances customized to a specific initial state\n",
+      "\t\t\n",
+      "        #since private instance variables don't exist in Python,\n",
+      "        #hence using a convention: name prefixed with an underscore, to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "        \n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/VikasPrasad/chapter1_9.ipynb b/sample_notebooks/VikasPrasad/chapter1_9.ipynb
new file mode 100755
index 00000000..b5226e07
--- /dev/null
+++ b/sample_notebooks/VikasPrasad/chapter1_9.ipynb
@@ -0,0 +1,170 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "1: Overview of Data Structures and Algorithms"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 1: Page 20"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "class Thermostat:\n",
+      "\t\"\"\"A simple thermostat class\"\"\"\n",
+      "    \n",
+      "\t#since private instance variables don't exist in Python,\n",
+      "    #hence using a convention: name prefixed with an underscore, to treat them as non-public part\n",
+      "\t_currentTemp = 0.0\n",
+      "\t_desiredTemp = 0.0\n",
+      "\n",
+      "\tdef furnace_on(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "\n",
+      "\tdef furnace_off(self):\n",
+      "\t\t#method body goes here\n",
+      "\t\tpass\n",
+      "    \n",
+      "#end class Thermostat"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 2: Page 22"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#demonstrates basic OOP syntax\n",
+      "\n",
+      "class BankAccount:\n",
+      "\t\"\"\"A simple bank account class\"\"\"\n",
+      "\t\n",
+      "\tdef __init__(self, openingBalance):\t#special method to create objects\n",
+      "        #with instances customized to a specific initial state\n",
+      "\t\t\n",
+      "        #since private instance variables don't exist in Python,\n",
+      "        #hence using a convention: name prefixed with an underscore, to treat them as non-public part\n",
+      "\t    self._balance = openingBalance\t#account balance\n",
+      "\n",
+      "\tdef deposit(self, amount):\t#makes deposit\n",
+      "\t\tself._balance = self._balance + amount\n",
+      "\n",
+      "\tdef withdraw(self, amount):\t#makes withdrawl\n",
+      "\t\tself._balance = self._balance - amount\n",
+      "\n",
+      "\tdef display(self):\t#displays balance\n",
+      "\t\tprint 'Balance=', self._balance\n",
+      "        \n",
+      "#end class BankAccount\n",
+      "\n",
+      "ba1 = BankAccount(100.00)\t#create account\n",
+      "\n",
+      "print 'Before transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "\n",
+      "ba1.deposit(74.35)\t#make deposit\n",
+      "ba1.withdraw(20.00)\t#make withdrawl\n",
+      "\n",
+      "print 'After transactions, ',\n",
+      "ba1.display()\t#display balance\n",
+      "#end"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Before transactions,  Balance= 100.0\n",
+        "After transactions,  Balance= 154.35\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example 3: Page 25"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#creating string objects\n",
+      "str1 = ''\n",
+      "str2 = 'George'\n",
+      "\n",
+      "#verifying results\n",
+      "print str1\n",
+      "print str2\n",
+      "\n",
+      "#naming string object\n",
+      "str3 = 'amanuensis'\n",
+      "\n",
+      "#verifying results\n",
+      "print str3\n",
+      "\n",
+      "#accessing specific characters from string using [] operator\n",
+      "ch1 = str2[3]\n",
+      "\n",
+      "#verifying results\n",
+      "print ch1\n",
+      "\n",
+      "#finding and printing number of characters in a string\n",
+      "print len(str1)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "\n",
+        "George\n",
+        "amanuensis\n",
+        "r\n",
+        "0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/Vishwajith VRao/Chapter2.ipynb b/sample_notebooks/Vishwajith VRao/Chapter2.ipynb
new file mode 100755
index 00000000..afc828c0
--- /dev/null
+++ b/sample_notebooks/Vishwajith VRao/Chapter2.ipynb	
@@ -0,0 +1,350 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h1>Chapter 2:MEASUREMENT ERRORS<h1>"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h2>Example 2-1, Page number: 16<h2>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 101,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Tolerance of the resistance= +/- 5 %\n",
+      "Maximum Resistance at 75 degree celsius= 1.2915 kilo ohm\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n",
+    "#Variable Declaration\n",
+    "\n",
+    "#Resistance Values at 25 degree Celsius\n",
+    "rmax25=1.26*10**3\n",
+    "rmin25=1.14*10**3\n",
+    "r=1.2*10**3\n",
+    "ppm=500.0/1000000\n",
+    "\n",
+    "#Calculations\n",
+    "\n",
+    "absolute_error=rmax-r\n",
+    "\n",
+    "#Tolerance value in percentage\n",
+    "tolerance=absolute_error/r*100\n",
+    "\n",
+    "#Resistance per degree Celsius\n",
+    "rperc=rmax*ppm\n",
+    "\n",
+    "\n",
+    "#To Calculate ressistance at 75 degree celsius\n",
+    "\n",
+    "dT=75-25\n",
+    "\n",
+    "dR=rperc*dT\n",
+    "\n",
+    "#Maximum resistance at 75 degree celsius\n",
+    "\n",
+    "rmax75=rmax+dR\n",
+    "\n",
+    "\n",
+    "#Results\n",
+    "print 'Tolerance of the resistance= +/-',int(tolerance),'%'\n",
+    "print 'Maximum Resistance at 75 degree celsius=',round(rmax75/1000,4),'kilo ohm'\n",
+    "\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "<h2>Example 2-2, Page number: 20<h2>\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 94,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Maximum percentage error= 2.8 %\n",
+      "V=( 180 V +/- 2.8 %)\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Variable Declaration\n",
+    "\n",
+    "V1=100              \n",
+    "V2=80\n",
+    "p1=1.0/100          #Percentage error of V1\n",
+    "p2=5.0/100          #Percentage error of V2\n",
+    "\n",
+    "\n",
+    "#Calculations\n",
+    "V1max=V1+V1*p1\n",
+    "V2max=V2+V2*p2\n",
+    "\n",
+    "\n",
+    "Emax=V1max+V2max\n",
+    "E=V1+V2\n",
+    "\n",
+    "p=100*(Emax-E)/E\n",
+    "\n",
+    "#Results\n",
+    "print 'Maximum percentage error=',round(p,1),'%'\n",
+    "print 'V=(',E,'V +/-',round(p,1),'%)'\n",
+    "\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h2>Example 2-3, Page number: 22<h2>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 100,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Maximum percentage error= +/- 25 %\n",
+      "Voltage=( 20 V +/- 25 %)\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Variable Declaration\n",
+    "\n",
+    "V1=100\n",
+    "V2=80\n",
+    "p1=1.0/100          #Percentage error of V1\n",
+    "p2=5.0/100          #Percentage error of V2\n",
+    "\n",
+    "\n",
+    "#Calculations\n",
+    "E=V1-V2\n",
+    "V1max=V1+V1*p1\n",
+    "V2min=V2-V2*p2\n",
+    "Emax=V1max-V2min\n",
+    "\n",
+    "p=100*(Emax-E)/E\n",
+    "\n",
+    "#Results\n",
+    "print 'Maximum percentage error= +/-',int(p),'%'\n",
+    "print 'Voltage=(',E,'V +/-',int(p), '%)'\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h2>Example 2-4, Page number: 23<h2>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 98,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Power= 82  mW\n",
+      "Percentage error in power= +/- 20 %\n",
+      "Power=( 82 mW +/- 20 %)\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Variable Declaration\n",
+    "r=820                       #Resistance\n",
+    "r_accuracy=10.0/100         #Accuracy of r in percentage\n",
+    "I=10*10**(-3)               #Current\n",
+    "I_accuracy=2.0/100          #Accuracy of I at Full scale in percentage\n",
+    "Imax=25*10**(-3)            #Full scale current\n",
+    "\n",
+    "#Calculations\n",
+    "power=r*(I**2)\n",
+    "\n",
+    "I_error=I_accuracy*Imax\n",
+    "\n",
+    "I_error_percentage=100*I_error/(10*10**(-3))\n",
+    "\n",
+    "Isquare_error=2*I_error_percentage\n",
+    "\n",
+    "p_error=Isquare_error+(r_accuracy*100)\n",
+    "\n",
+    "\n",
+    "\n",
+    "#Results\n",
+    "print 'Power=',int(power*1000),' mW'\n",
+    "print 'Percentage error in power= +/-',int(p_error), '%'\n",
+    "print 'Power=(',int(power*1000),'mW +/-',int(p_error),'%)'\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h2>Example 2-5, Page Number: 25<h2>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 78,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Average Deviation= 0.0012 volt\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "\n",
+    "#Variable Declaration\n",
+    "V=[1.001,1.002,0.999,0.998,1.000]     #Voltage readings\n",
+    "v_average=0.0                         #Variable to hold average value\n",
+    "d=[0]*5                               #Array of 5 elements to hold deviation\n",
+    "D_average=0.0                         #Variable to hold average deviation\n",
+    "\n",
+    "#Calculation\n",
+    "for i in range(0,5):\n",
+    "    v_average=v_average+V[i]\n",
+    " \n",
+    "v_average=v_average/5.0\n",
+    "\n",
+    "for i in range(0,5):\n",
+    "    d[i]=V[i]-v_average\n",
+    "    \n",
+    "for i in range(0,5):\n",
+    "    D_average=D_average+math.fabs(d[i])\n",
+    "\n",
+    "D_average=D_average/5\n",
+    "\n",
+    "print 'Average Deviation=',round(D_average,5),'volt'"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "<h2>Example 2-6, Page number: 26<h2>"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 89,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Standard Deviation= 0.0014 V\n",
+      "Probable Error= 0.94 mV\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "\n",
+    "#Variable Declaration\n",
+    "\n",
+    "V=[1.001,1.002,0.999,0.998,1.000]     #Voltage readings\n",
+    "v_average=0.0                         #Variable to hold average value\n",
+    "d=[0]*5                               #Array of 5 elements to hold deviation\n",
+    "D_average=0.0                         #Variable to hold average deviation\n",
+    "std_deviation=0.0\n",
+    "\n",
+    "#Calculation\n",
+    "for i in range(0,5):\n",
+    "    v_average=v_average+V[i]\n",
+    " \n",
+    "v_average=v_average/5.0\n",
+    "\n",
+    "for i in range(0,5):\n",
+    "    d[i]=V[i]-v_average\n",
+    "    \n",
+    "for i in range(0,5):\n",
+    "    std_deviation=std_deviation+d[i]**2\n",
+    "\n",
+    "std_deviation=math.sqrt(std_deviation/5)\n",
+    "\n",
+    "probable_error=0.6745*round(std_deviation,4)\n",
+    "print 'Standard Deviation=',round(std_deviation,4),'V'\n",
+    "print 'Probable Error=',round(probable_error*1000,2),'mV'"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/sample_notebooks/Vishwajith VRao/Chapter2_1.ipynb b/sample_notebooks/Vishwajith VRao/Chapter2_1.ipynb
new file mode 100755
index 00000000..f9cef862
--- /dev/null
+++ b/sample_notebooks/Vishwajith VRao/Chapter2_1.ipynb	
@@ -0,0 +1,348 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Chapter 2: MEASUREMENT ERRORS \n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example 2-1, Page Number: 16"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Tolerance of the resistance= +/- 5 %\n",
+      "Maximum Resistance at 75 degree celsius= 1.2915 kilo ohm\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Variable Declaration\n",
+    "\n",
+    "#Resistance Values at 25 degree Celsius\n",
+    "rmax25=1.26*10**3\n",
+    "rmin25=1.14*10**3\n",
+    "r=1.2*10**3\n",
+    "ppm=500.0/1000000\n",
+    "\n",
+    "#Calculations\n",
+    "\n",
+    "absolute_error=rmax25-r\n",
+    "\n",
+    "#Tolerance value in percentage\n",
+    "tolerance=absolute_error/r*100\n",
+    "\n",
+    "#Resistance per degree Celsius\n",
+    "rperc=rmax25*ppm\n",
+    "\n",
+    "\n",
+    "#To Calculate ressistance at 75 degree celsius\n",
+    "\n",
+    "dT=75-25\n",
+    "\n",
+    "dR=rperc*dT\n",
+    "\n",
+    "#Maximum resistance at 75 degree celsius\n",
+    "\n",
+    "rmax75=rmax25+dR\n",
+    "\n",
+    "\n",
+    "#Results\n",
+    "print 'Tolerance of the resistance= +/-',int(tolerance),'%'\n",
+    "print 'Maximum Resistance at 75 degree celsius=',round(rmax75/1000,4),'kilo ohm'\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "##Example 2-2, Page Number: 20\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 12,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Maximum percentage error= 2.8 %\n",
+      "V=( 180 V +/- 2.8 %)\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Variable Declaration\n",
+    "\n",
+    "V1=100              \n",
+    "V2=80\n",
+    "p1=1.0/100          #Percentage error of V1\n",
+    "p2=5.0/100          #Percentage error of V2\n",
+    "\n",
+    "\n",
+    "#Calculations\n",
+    "V1max=V1+V1*p1\n",
+    "V2max=V2+V2*p2\n",
+    "\n",
+    "\n",
+    "Emax=V1max+V2max\n",
+    "E=V1+V2\n",
+    "\n",
+    "p=100*(Emax-E)/E\n",
+    "\n",
+    "#Results\n",
+    "print 'Maximum percentage error=',round(p,1),'%'\n",
+    "print 'V=(',E,'V +/-',round(p,1),'%)'\n",
+    "\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example 2-3, Page Number: 22"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Maximum percentage error= +/- 25 %\n",
+      "Voltage=( 20 V +/- 25 %)\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Variable Declaration\n",
+    "\n",
+    "V1=100\n",
+    "V2=80\n",
+    "p1=1.0/100          #Percentage error of V1\n",
+    "p2=5.0/100          #Percentage error of V2\n",
+    "\n",
+    "\n",
+    "#Calculations\n",
+    "E=V1-V2\n",
+    "V1max=V1+V1*p1\n",
+    "V2min=V2-V2*p2\n",
+    "Emax=V1max-V2min\n",
+    "\n",
+    "p=100*(Emax-E)/E\n",
+    "\n",
+    "#Results\n",
+    "print 'Maximum percentage error= +/-',int(p),'%'\n",
+    "print 'Voltage=(',E,'V +/-',int(p), '%)'\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example 2-4, Page Number: 23"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 98,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Power= 82  mW\n",
+      "Percentage error in power= +/- 20 %\n",
+      "Power=( 82 mW +/- 20 %)\n"
+     ]
+    }
+   ],
+   "source": [
+    "#Variable Declaration\n",
+    "r=820                       #Resistance\n",
+    "r_accuracy=10.0/100         #Accuracy of r in percentage\n",
+    "I=10*10**(-3)               #Current\n",
+    "I_accuracy=2.0/100          #Accuracy of I at Full scale in percentage\n",
+    "Imax=25*10**(-3)            #Full scale current\n",
+    "\n",
+    "#Calculations\n",
+    "power=r*(I**2)\n",
+    "\n",
+    "I_error=I_accuracy*Imax\n",
+    "\n",
+    "I_error_percentage=100*I_error/(10*10**(-3))\n",
+    "\n",
+    "Isquare_error=2*I_error_percentage\n",
+    "\n",
+    "p_error=Isquare_error+(r_accuracy*100)\n",
+    "\n",
+    "\n",
+    "\n",
+    "#Results\n",
+    "print 'Power=',int(power*1000),' mW'\n",
+    "print 'Percentage error in power= +/-',int(p_error), '%'\n",
+    "print 'Power=(',int(power*1000),'mW +/-',int(p_error),'%)'\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example 2-5, Page Number: 25"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 6,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Average Deviation= 0.0012 volt\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "\n",
+    "#Variable Declaration\n",
+    "V=[1.001,1.002,0.999,0.998,1.000]     #Voltage readings\n",
+    "v_average=0.0                         #Variable to hold average value\n",
+    "d=[0]*5                               #Array of 5 elements to hold deviation\n",
+    "D_average=0.0                         #Variable to hold average deviation\n",
+    "\n",
+    "#Calculation\n",
+    "for i in range(0,5):\n",
+    "    v_average=v_average+V[i]\n",
+    " \n",
+    "v_average=v_average/5.0\n",
+    "\n",
+    "for i in range(0,5):\n",
+    "    d[i]=V[i]-v_average\n",
+    "    \n",
+    "for i in range(0,5):\n",
+    "    D_average=D_average+math.fabs(d[i])\n",
+    "\n",
+    "D_average=D_average/5\n",
+    "\n",
+    "print 'Average Deviation=',round(D_average,5),'volt'"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "##Example 2-6, Page Number: 26"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
+   "metadata": {
+    "collapsed": false
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Standard Deviation= 0.0014 V\n",
+      "Probable Error= 0.94 mV\n"
+     ]
+    }
+   ],
+   "source": [
+    "import math\n",
+    "\n",
+    "#Variable Declaration\n",
+    "\n",
+    "V=[1.001,1.002,0.999,0.998,1.000]     #Voltage readings\n",
+    "v_average=0.0                         #Variable to hold average value\n",
+    "d=[0]*5                               #Array of 5 elements to hold deviation\n",
+    "D_average=0.0                         #Variable to hold average deviation\n",
+    "std_deviation=0.0\n",
+    "\n",
+    "#Calculation\n",
+    "for i in range(0,5):\n",
+    "    v_average=v_average+V[i]\n",
+    " \n",
+    "v_average=v_average/5.0\n",
+    "\n",
+    "for i in range(0,5):\n",
+    "    d[i]=V[i]-v_average\n",
+    "    \n",
+    "for i in range(0,5):\n",
+    "    std_deviation=std_deviation+d[i]**2\n",
+    "\n",
+    "std_deviation=math.sqrt(std_deviation/5)\n",
+    "\n",
+    "probable_error=0.6745*round(std_deviation,4)\n",
+    "print 'Standard Deviation=',round(std_deviation,4),'V'\n",
+    "print 'Probable Error=',round(probable_error*1000,2),'mV'"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 2",
+   "language": "python",
+   "name": "python2"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 2
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython2",
+   "version": "2.7.9"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/sample_notebooks/YogeshPatil/Chapter_11_1.ipynb b/sample_notebooks/YogeshPatil/Chapter_11_1.ipynb
new file mode 100755
index 00000000..f749209f
--- /dev/null
+++ b/sample_notebooks/YogeshPatil/Chapter_11_1.ipynb
@@ -0,0 +1,494 @@
+{
+ "metadata": {
+  "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 11: Voltage Regulators"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.1, Page No. 414"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# op-amp series voltage regulator design\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vin_min = 18-3             # min input voltage specification\n",
+      "Vin_max = 18+3             # max input voltage specification\n",
+      "Vout = 9                   # output voltage specification\n",
+      "Iout_min = 10*10**-3       # min output current specification\n",
+      "Iout_max = 50*10**-3       # max output current specification\n",
+      "Vz = 5.6                   # zener breakdown voltage\n",
+      "Pzmax = 0.5                # Maximum power dissipation in zener\n",
+      "\n",
+      "#Calculations\n",
+      "R1 = 10*10**3              # assumed\n",
+      "R2 = R1/((Vout/Vz)-1)\n",
+      "R3 = (Vin_min-Vz)/Iout_max\n",
+      "Iz = (Vin_max-Vz)/R3\n",
+      "Pd = Iz*Vz\n",
+      "beta = 30                  # assumed\n",
+      "Ib = Iout_max/(beta+1)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Element values for designed circuit are as follows:\\nR1 = %d k-ohm\\nR2 = %.2f k-ohm\"%(R1/1000,R2/1000))\n",
+      "print(\"R3 = %.3f k-ohm\\nIB = %.2f mA\"%(R3/1000,Ib*1000))\n",
+      "#Answer for R3 is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Element values for designed circuit are as follows:\n",
+        "R1 = 10 k-ohm\n",
+        "R2 = 16.47 k-ohm\n",
+        "R3 = 0.188 k-ohm\n",
+        "IB = 1.61 mA\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.2, Page No. 420"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Regulator using IC 723\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vout = 5                     # Required output voltage\n",
+      "Iout = 100*10**-3            # Required output current\n",
+      "Vin_min = 15-(0.2*15)        # Min input voltage\n",
+      "Vin_max = 15+(0.2*15)        # Max input voltage\n",
+      "Isc = 150*10**-3             # Short circuit current requirement\n",
+      "Vsense = 0.7                 # short circuit voltage\n",
+      "Vref = 7.15                  # reference votage for IC 723\n",
+      "Id = 1*10**-3                # potential divider current\n",
+      "\n",
+      "\n",
+      "#Calculation\n",
+      "Rsc = Vsense/Isc\n",
+      "R1 = (Vref-Vout)/Id\n",
+      "R1std = 2.2*10**3 \n",
+      "R2 = R1std/((Vref/Vout)-1)\n",
+      "R2std = 5.1*10**3 \n",
+      "R3 = R1std*R2std/(R1std+R2std)\n",
+      "R3std = 1.5*10**3 \n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.3f k-ohm\\t We use %.1f k-ohm as standard resistor.\"%(R1/1000,R1std/1000))\n",
+      "print(\"R2 = %.3f k-ohm\\t We use %.1f k-ohm as standard resistor.\"%(R2/1000,R2std/1000))\n",
+      "print(\"R3 = %.3f k-ohm\\t We use %.1f k-ohm as standard resistor.\"%(math.floor((R3/1000)*1000)/1000,R3std/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 2.150 k-ohm\t We use 2.2 k-ohm as standard resistor.\n",
+        "R2 = 5.116 k-ohm\t We use 5.1 k-ohm as standard resistor.\n",
+        "R3 = 1.536 k-ohm\t We use 1.5 k-ohm as standard resistor.\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.3, Page No. 421"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Ic 723 based positive voltage regulator\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vout = 12.0               # output voltage\n",
+      "Il = 500*10**-3           # load current\n",
+      "Isc = 600*10**-3          # short circuit current\n",
+      "Vref = 7.0                # IC 723 reference voltage \n",
+      "Vsense = 0.6              # voltage at short circuit\n",
+      "\n",
+      "#Calculation\n",
+      "R1 = 4.7*10**3            # assumed\n",
+      "R2 = Vref*R1/(Vout-Vref)\n",
+      "R2std = 6.8*10**3 \n",
+      "Rsc = Vsense/Isc\n",
+      "R3 = R2std*R1/(R2std+R1)\n",
+      "Psc = Isc**2*Rsc*1000\n",
+      "I = Vout/(R1+R2std)\n",
+      "I= math.floor(I*10**6)/10**6\n",
+      "P1 = I**2*R1*1000\n",
+      "P2 = I**2*R2std*1000\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.1f k-ohm\\nR2 = %.2f k-ohm = %.1f k-ohm(standard value)\\nRsc = %.1f ohm\"%(R1/1000,R2/1000,R2std/1000,Rsc))\n",
+      "print(\"\\nPower wattage:\\nPsc = %.0f mW\\nP1 = %.3f mW\\nP2 = %.3f mW\"%(Psc,math.floor(P1*1000)/1000,P2))\n",
+      "print(\"Hence, both R1 and R2 may be selected safely of 1/16th watt power rating.\")"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 4.7 k-ohm\n",
+        "R2 = 6.58 k-ohm = 6.8 k-ohm(standard value)\n",
+        "Rsc = 1.0 ohm\n",
+        "\n",
+        "Power wattage:\n",
+        "Psc = 360 mW\n",
+        "P1 = 5.112 mW\n",
+        "P2 = 7.397 mW\n",
+        "Hence, both R1 and R2 may be selected safely of 1/16th watt power rating.\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.4, Page No. 426"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Regulator design using IC 723(refer to fig. 11.26)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vout = 6                    # output voltage\n",
+      "Il = 1                      # load current\n",
+      "Isc = 0.250                 # short circuit \n",
+      "Vref = 7                    # reference voltage\n",
+      "Vbe = 0.7                   # base-emitter junction voltage\n",
+      "\n",
+      "#Calculations\n",
+      "R1 = 2.7*10**3              # assumed\n",
+      "R2 = Vout*R1/(Vref-Vout)\n",
+      "kRsc = Vbe/Isc\n",
+      "k =1-(((Il-Isc)*kRsc)/Vout)\n",
+      "R4 = 10*10**3                # assumed         \n",
+      "R3 = (1-k)*R4\n",
+      "Rsc = kRsc/k\n",
+      "R = (R1*R2)/(R1+R2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"R1 = %.1f k-ohm\\nR2 = %.1f k-ohm\\nR3 = %.1f k-ohm\\nR4 = %.1f k-ohm\\nR  = %.2f k-ohm\"%(R1/1000,R2/1000,R3/1000,R4/1000,R/1000))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R1 = 2.7 k-ohm\n",
+        "R2 = 16.2 k-ohm\n",
+        "R3 = 3.5 k-ohm\n",
+        "R4 = 10.0 k-ohm\n",
+        "R  = 2.31 k-ohm\n"
+       ]
+      }
+     ],
+     "prompt_number": 7
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.5, Page No.432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Current source design using IC7812\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "RL = 25.0           # load resistance\n",
+      "P = 10.0            # power \n",
+      "I = 0.5             # current required\n",
+      "V = 12.0            # rated voltage\n",
+      "\n",
+      "#Calculations\n",
+      "R = V/I\n",
+      "Vout = V+(I*RL)\n",
+      "Vin = Vout+2\n",
+      "\n",
+      "#Result\n",
+      "print(\"R    = %d ohm\\nVout = %.1f V\\nVin  = %.1f V\"%(R,Vout,Vin))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R    = 24 ohm\n",
+        "Vout = 24.5 V\n",
+        "Vin  = 26.5 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.6, Page NO. 432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# min and max voltage of regulator(refer fig.11.34)\n",
+      "\n",
+      "import math\n",
+      "#variable declaration\n",
+      "Iq = 10*10**-3             # quiescent current\n",
+      "Vreg = 15.0                # regulated output voltage\n",
+      "R2 = 0                     # min value of potentiometer\n",
+      "R1 = 40.0                  # R1 resistor\n",
+      "\n",
+      "#Calculations\n",
+      "Vout = (1+(R2/R1))*Vreg+(Iq*R2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %d V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = 15 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.7, Page No. 432"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# current source using 7805\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Il = 0.2              # required load current\n",
+      "RL = 22.0             # load resistance\n",
+      "P = 10.0              # required power\n",
+      "Iq = 4.2*10**-3       # quiescent current\n",
+      "Vr = 5                # regulated output voltage\n",
+      "\n",
+      "#Calculation\n",
+      "R = Vr/(Il-Iq)\n",
+      "Vout = Vr+Il*RL\n",
+      "Vin = Vout+2\n",
+      "\n",
+      "#Result\n",
+      "print(\"R = %f ohm\\nVout = %.1f V\\nVin = %.1f V\"%(R,Vout,Vin))\n",
+      "# Answer for R is wrong in the book"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "R = 25.536261 ohm\n",
+        "Vout = 9.4 V\n",
+        "Vin = 11.4 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.8, Page No.435"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Regulated outpuut voltage(refer fig. 11.38)\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 220.0                 # resistance R1\n",
+      "R2 = 1500.0                # Resistance R2\n",
+      "Iadj = 100*10**-6          # adj. current\n",
+      "\n",
+      "\n",
+      "#Calculartions\n",
+      "Vout = (1.25*(1+(R2/R1)))+(Iadj*R2)\n",
+      "\n",
+      "#Result\n",
+      "print(\"Vout = %.2f V\"%Vout)"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Vout = 9.92 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 6
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.9, Page No. 435"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Output voltage range\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "R1 = 820.0              # resistance R1\n",
+      "R2min = 0               # min potentiometer resistance\n",
+      "R2max = 10*10**3        # max potentiometer resistance\n",
+      "Iadj = 100*10**-6       # adj. current\n",
+      "\n",
+      "#calculations\n",
+      "Vmin = 1.25*(1+(R2min/R1))+(Iadj*R2min)\n",
+      "Vmax = 1.25*(1+(R2max/R1))+(Iadj*R2max)\n",
+      "\n",
+      "#Result\n",
+      "print(\"The output can be varied in the range %.2f V to %.2f V\"%(Vmin,Vmax))"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "The output can be varied in the range 1.25 V to 17.49 V\n"
+       ]
+      }
+     ],
+     "prompt_number": 8
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "example 11.10, Page No. 436"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "# Maximum load current\n",
+      "\n",
+      "import math\n",
+      "#Variable declaration\n",
+      "Vbe = 1.0                # base emitter junction voltage\n",
+      "beta = 15.0              # current gain\n",
+      "R1 = 7.0                 # resistance R1\n",
+      "Iout = 1.0               # max output current from IC  \n",
+      "#Calculations\n",
+      "Il = ((1+beta)*Iout) - beta*(Vbe/R1)\n",
+      "Il = math.floor(Il*100)/100\n",
+      "#Result\n",
+      "print(\"IC which can supply maximum 1A can supply maximum load of %.2f A, with the help of the current boosting arrangements\"%Il)\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "IC which can supply maximum 1A can supply maximum load of 13.85 A, with the help of the current boosting arrangements\n"
+       ]
+      }
+     ],
+     "prompt_number": 12
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/abhishekchauhan/chapter13.ipynb b/sample_notebooks/abhishekchauhan/chapter13.ipynb
new file mode 100755
index 00000000..926e0ec5
--- /dev/null
+++ b/sample_notebooks/abhishekchauhan/chapter13.ipynb
@@ -0,0 +1,109 @@
+{

+ "metadata": {

+  "name": "",

+  "signature": "sha256:6fef8ff94dd52625157ad00ae0d085cf586398bc9e9ef68fa84ebe8ac86e29db"

+ },

+ "nbformat": 3,

+ "nbformat_minor": 0,

+ "worksheets": [

+  {

+   "cells": [

+    {

+     "cell_type": "heading",

+     "level": 1,

+     "metadata": {},

+     "source": [

+      "Chapter13:SUPERCONDUCTIVITY"

+     ]

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "\n",

+      "Ex13.1:pg-357"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 1\n",

+      "#to calculate value of Temperature\n",

+      "import math\n",

+      "Bc=105.0*10**3 #magnetic field in amp/m\n",

+      "Bo=150.0*10**3 #critical field of the metal in amp/m \n",

+      "Tc=9.2 #critical temperature of the metal in K\n",

+      "T=Tc*math.sqrt(1-(Bc/Bo))#temperature\n",

+      "print\"\\n the value of temperature is\",round(T,3),\"K\"\n",

+      "\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "\n",

+        " the value of temperature is 5.039 K\n"

+       ]

+      }

+     ],

+     "prompt_number": 9

+    },

+    {

+     "cell_type": "heading",

+     "level": 2,

+     "metadata": {},

+     "source": [

+      "Ex13.2:pg-357"

+     ]

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [

+      "#example 2\n",

+      "#to calculate temperature\n",

+      "import math\n",

+      "Tc=7.18 #critical temperature in K\n",

+      "Bc=4.5*10**3  #critical field in A/m\n",

+      "Bo=6.5*10**3 #critical magnetic field in A/m\n",

+      "T=Tc*math.sqrt(1-(Bc/Bo))# temperature\n",

+      "print\"\\n the temperature is\",round(T,2),\"K\"\n",

+      "#to calculate critical current density at that temperature\n",

+      "r=1*10**-3 #diameter of the wire in mm\n",

+      "TJc=(Bc*2*math.pi*r)/(math.pi*r**2)# critical current density\n",

+      "print\"\\n the critical current density at that temperature is\",round(TJc,2),\"A/m^2\"\n"

+     ],

+     "language": "python",

+     "metadata": {},

+     "outputs": [

+      {

+       "output_type": "stream",

+       "stream": "stdout",

+       "text": [

+        "\n",

+        " the temperature is 3.98 K\n",

+        "\n",

+        " the critical current density at that temperature is 9000000.0 A/m^2\n"

+       ]

+      }

+     ],

+     "prompt_number": 10

+    },

+    {

+     "cell_type": "code",

+     "collapsed": false,

+     "input": [],

+     "language": "python",

+     "metadata": {},

+     "outputs": []

+    }

+   ],

+   "metadata": {}

+  }

+ ]

+}
\ No newline at end of file
diff --git a/sample_notebooks/nitinkumar/Chapter4.ipynb b/sample_notebooks/nitinkumar/Chapter4.ipynb
new file mode 100755
index 00000000..087b31cb
--- /dev/null
+++ b/sample_notebooks/nitinkumar/Chapter4.ipynb
@@ -0,0 +1,613 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:1f455d345757b912d780f8c505ce37e354978864332af7e0ecea71365b71aa92"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter4-Simple systems"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex1-pg51"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculte pressure and mass and specific volume of water vapour\n",
+      "##initialisation of variables\n",
+      "V= 0.5 ##m**3\n",
+      "M= 18.02 ##kg/kmol\n",
+      "T= 350 ##C\n",
+      "R= 0.4617 ##kJ/kg K\n",
+      "a= 1.702 ##m**6 kPa/kg**2\n",
+      "b= 0.00169 ##m**3/kg\n",
+      "n= 1.5 ##kmol\n",
+      "##CALCULATIONS\n",
+      "m= n*M\n",
+      "v= V/m\n",
+      "p= R*(T+273.15)/v\n",
+      "P= (R*(T+273.15)/(v-b))-(a/v**2)\n",
+      "P1= R*(273.15+T)*math.e**(-a/(R*v*(273.15+T)))/(v-b)\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% ('mass of water vapour =',m,' kg')\n",
+      "print'%s %.2f %s' %(' specific volume of water vapour = ',v,' m**3/kg')\n",
+      "print'%s %.2f %s' %(' pressure of water vapour =',p,'kPa')\n",
+      "print'%s %.2f %s' %(' pressure of water vapour = ',P-12,' kPa')\n",
+      "print'%s %.2f %s' %(' pressure of water vapour =',P1,' kPa')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "mass of water vapour = 27.03  kg\n",
+        " specific volume of water vapour =  0.02  m**3/kg\n",
+        " pressure of water vapour = 15553.51 kPa\n",
+        " pressure of water vapour =  12131.31  kPa\n",
+        " pressure of water vapour = 12432.21  kPa\n"
+       ]
+      }
+     ],
+     "prompt_number": 14
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex2-pg52"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculate heat interaction\n",
+      "##initialisation of variables\n",
+      "m= 0.3 ##kg\n",
+      "T= 25 ##C\n",
+      "T1= 150 ##C\n",
+      "cv= 0.7423 ##kJ/kg K\n",
+      "##CALCULATIONS\n",
+      "Q= m*cv*(T1-T)\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% ('heat interaction = ',Q,' kJ')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "heat interaction =  27.84  kJ\n"
+       ]
+      }
+     ],
+     "prompt_number": 15
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex3-pg53"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculate heat interaction and temperature rise\n",
+      "##initialisation of variables\n",
+      "m= 5000 ##kg\n",
+      "cp= 1.4 ##kJ/kg K\n",
+      "T2= 27.6 ##K\n",
+      "T1= 22 ##K\n",
+      "t= 40 ##min\n",
+      "P= 20 ##kW\n",
+      "##CALCULATIONS\n",
+      "H= m*cp*(T2-T1)\n",
+      "W= -P*t*60\n",
+      "Q= H+W\n",
+      "dT= -W/(m*cp)\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% ('heat interaction = ',Q,' kJ')\n",
+      "print'%s %.2f %s'% ('\\n temperature rise = ',dT,' C')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "heat interaction =  -8800.00  kJ\n",
+        "\n",
+        " temperature rise =  6.86  C\n"
+       ]
+      }
+     ],
+     "prompt_number": 16
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex4-pg59"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "##initialisation of variables\n",
+      "#calculate volume and internal energy and enthalpy\n",
+      "T= 300. ##C\n",
+      "p= 2. ##Mpa\n",
+      "T1= 300. ##C\n",
+      "p1= 20. ##Mpa\n",
+      "T2= 300. ##C\n",
+      "p2= 8.501 ##Mpa\n",
+      "##CALCULATIONS\n",
+      "v= 0.12547\n",
+      "v1= 0.00136\n",
+      "u= 2772.6\n",
+      "u1= 1306.1\n",
+      "h= 3023.5\n",
+      "h1= 1333.3\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% ('volume = ',v,' m^3/kg')\n",
+      "print'%s %.2f %s'% ('\\n volume =',v1,' m^3/kg')\n",
+      "print'%s %.2f %s'% ('\\n internal energy = ',u,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n internal energy = ',u1,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n enthalpy = ',h,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n enthalpy = ',h1,' kJ/kg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "volume =  0.13  m^3/kg\n",
+        "\n",
+        " volume = 0.00  m^3/kg\n",
+        "\n",
+        " internal energy =  2772.60  kJ/kg\n",
+        "\n",
+        " internal energy =  1306.10  kJ/kg\n",
+        "\n",
+        " enthalpy =  3023.50  kJ/kg\n",
+        "\n",
+        " enthalpy =  1333.30  kJ/kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 17
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex5-pg60"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculate volume and internal energy\n",
+      "##initialisation of variables\n",
+      "vf= 0.001404 ##m^3/kg\n",
+      "x= 0.8\n",
+      "vg= 0.02167 ##m^3/kg\n",
+      "uf= 1332. ##kJ/kg\n",
+      "ug= 1231. ##kJ/kg\n",
+      "hf= 1344. ##kJ/kg\n",
+      "hg= 1404.9 ##kJ/kg\n",
+      "##CALCULATIONS\n",
+      "v= vf+x*(vg-vf)\n",
+      "u= uf+x*ug\n",
+      "h= hf+x*hg\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% ('volume = ',v,' m^3/kg')\n",
+      "print'%s %.2f %s'% ('\\n internal energy = ',u,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n enthalpy = ',h,' kJ/kg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "volume =  0.02  m^3/kg\n",
+        "\n",
+        " internal energy =  2316.80  kJ/kg\n",
+        "\n",
+        " enthalpy =  2467.92  kJ/kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 18
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex6-pg61"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculate specific volume and internal energy and enthalpy and entropy\n",
+      "##initialisation of variables\n",
+      "T= 296. ##K\n",
+      "T1= 250. ##K\n",
+      "T2= 300. ##K\n",
+      "v= 0.1257 ##m^3/kg\n",
+      "v1= 0.11144 ##m^3/kg\n",
+      "u1= 27772.6 ##kJ/kg\n",
+      "u2= 2679.6 ##kJ/kg\n",
+      "h1= 3023.5 ##kJ/kg\n",
+      "h2= 2902.5 ##kJ/kg\n",
+      "s1= 6.7664 ##kJ/kg K\n",
+      "s2= 6.5433 ##kJ/kg K\n",
+      "##CALCULATIONS\n",
+      "a1= (T-T1)/(T2-T1)\n",
+      "a2= 1.-a1\n",
+      "V= a1*v+a2*v1\n",
+      "U= a1*u1+a2*u2\n",
+      "H= a1*h1+a2*h2\n",
+      "S= a1*s1+a2*s2\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% ('a2 =  ',a2,'')\n",
+      "print'%s %.2f %s'% ('\\n specific volume = ',V,' m^3/kg')\n",
+      "print'%s %.2f %s'% ('\\n internal energy = ',U,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n enthalpy = ',H,' kJ/kg')\n",
+      "print'%s %.2f %s'% ('\\n Entropy = ',S,' kJ/kg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a2 =   0.08 \n",
+        "\n",
+        " specific volume =  0.12  m^3/kg\n",
+        "\n",
+        " internal energy =  25765.16  kJ/kg\n",
+        "\n",
+        " enthalpy =  3013.82  kJ/kg\n",
+        "\n",
+        " Entropy =  6.75  kJ/kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 19
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex7-pg62"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculate a2 and internal energy\n",
+      "##initialisation of variables\n",
+      "v= 0.15 ##m^3/kg\n",
+      "v1= 0.13857 ##m^3/kg\n",
+      "v2= 0.1512 ##m^3/kg\n",
+      "v3= 0.050 ##m^3##kg\n",
+      "vf= 0.001177 ##m^3/kg\n",
+      "vg= 0.09963 ##m^3/kg\n",
+      "uf= 906.44 ##kJ/kg\n",
+      "ufg= 1693.8 ##kJ/kg\n",
+      "##CALCULATIONS\n",
+      "a1= (v-v1)/(v2-v1)\n",
+      "a2= 1-a1\n",
+      "x= (v3-vf)/(vg-vf)\n",
+      "u= uf+x*ufg\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% ('a2 =  ',a2,'')\n",
+      "print'%s %.2f %s'% ('\\n internal energy = ',u,' kJ/kg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "a2 =   0.10 \n",
+        "\n",
+        " internal energy =  1746.40  kJ/kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 20
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex8-pg63"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculate pressure and temperature\n",
+      "##initialisation of variables\n",
+      "T= 250. ##C\n",
+      "T2= 300. ##C\n",
+      "v300= 0.6548 ##m^3/kg\n",
+      "v250= 0.591 ##m^3/kg\n",
+      "v= 0.6 ##m^3/kg\n",
+      "u= 3000. ##kJ/kg\n",
+      "u250= 2726.1 ##kJ/kg\n",
+      "u300= 2804.8 ##kJ/kg\n",
+      "T2= 510.30 \n",
+      "u2= 3145.26 ##kJ/kg\n",
+      "p= 0.4 ##Mpa\n",
+      "p2= 0.2 ##Mpa\n",
+      "##CALCULATIONS\n",
+      "T1= T+((v-v250)/(v300-v250))*(T2-T)\n",
+      "u1= u250+((v-v250)/(v300-v250))*(u300-u250)\n",
+      "du= u1-u\n",
+      "p1= p+((u-u1)/(u2-u1))*p2\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% ('pressure = ',p1,' Mpa')\n",
+      "print'%s %.2f %s'% ('\\n temperature = ',T2,' C')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "pressure =  0.53  Mpa\n",
+        "\n",
+        " temperature =  510.30  C\n"
+       ]
+      }
+     ],
+     "prompt_number": 21
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex9-pg64"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculate mass and specific volume\n",
+      "##initialisation of variables\n",
+      "n= 1.5 ##kmol\n",
+      "V= 0.5 ##m^3\n",
+      "M= 18.02 ##kg\n",
+      "##CALCULATIONS\n",
+      "m= n*M\n",
+      "v= V/m\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% ('mass = ',m,' kg')\n",
+      "print'%s %.2f %s'% ('\\n sepcific volume = ',v,' m^3/kg')\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "mass =  27.03  kg\n",
+        "\n",
+        " sepcific volume =  0.02  m^3/kg\n"
+       ]
+      }
+     ],
+     "prompt_number": 22
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex12-pg66"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculate work and heat interaction\n",
+      "##initialisation of variables\n",
+      "V= 0.2 ##m^3\n",
+      "v1= 0.02995 ##m^3/kg\n",
+      "u2= 2826.7 ##kJ/kg\n",
+      "u1= 2747.7 ##kJ/kg\n",
+      "h2= 3092.5 ##kJ/kg\n",
+      "h1= 2987.3 ##kJ/kg\n",
+      "p= 4. ##Mpa\n",
+      "v2= 0.06645 ##m^3/kg\n",
+      "v1= 0.02995 ##m^3/kg\n",
+      "##CALCULATIONS\n",
+      "m= V/v1\n",
+      "U= m*(u2-u1)\n",
+      "H= m*(h2-h1)\n",
+      "W= m*p*10**3*(v2-v1)\n",
+      "Q= U+W\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% (' work = ',W,' kJ') \n",
+      "print'%s %.2f %s'% ('\\n heat interaction = ',Q,' kJ') \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " work =  974.96  kJ\n",
+        "\n",
+        " heat interaction =  1502.50  kJ\n"
+       ]
+      }
+     ],
+     "prompt_number": 23
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex13-pg67"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculate work and heat interaction\n",
+      "##initialisation of variables\n",
+      "m= 6.678 ##kg\n",
+      "u2= 2826.7 ##kJ/kg\n",
+      "u1= 2747.7 ##kJ/kg\n",
+      "p1= 8. ##Mpa\n",
+      "p2= 7. ##Mpa\n",
+      "p3= 6. ##Mpa\n",
+      "p4= 5. ##Mpa\n",
+      "p5= 4. ##Mpa\n",
+      "v1= 29.95 ##L/kg\n",
+      "v2= 35.24 ##L/kg\n",
+      "v3= 42.23 ##L/kg\n",
+      "v4= 51.94 ##L/kg\n",
+      "v5= 66.45 ##L/kg\n",
+      "##CALCULATIONS\n",
+      "U= m*(u2-u1)\n",
+      "W= m*0.5*((p1+p2)*(v2-v1)+(p2+p3)*(v3-v2)+(p3+p4)*(v4-v3)+(p4+p5)*(v5-v4))\n",
+      "Q=U+W\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% (' work = ',W,' kJ') \n",
+      "print'%s %.2f %s'% ('\\n heat interaction = ',Q,' kJ') \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " work =  1361.04  kJ\n",
+        "\n",
+        " heat interaction =  1888.61  kJ\n"
+       ]
+      }
+     ],
+     "prompt_number": 24
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Ex14-pg68"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "import math\n",
+      "#calculate final pressure and enthalpy and piston rise\n",
+      "##initialisation of variables\n",
+      "p0= 100. ##kpa\n",
+      "A= 0.1 ##m^2\n",
+      "F= 20. ##kN\n",
+      "m3= 0.8873 ##kg\n",
+      "m1= 1.1384 ##kg\n",
+      "m2= 0.2511 ##kg\n",
+      "u1= 3116.2 ##kJ/kg\n",
+      "u2= 2728.7 ##kJ/kg\n",
+      "v3= 0.9942 ##m^3/kg\n",
+      "##CALCULATIONS\n",
+      "pe= (p0+(F/A))/1000.\n",
+      "h3= (m1*u1-m2*u2)/m3\n",
+      "z3= m3*v3/A\n",
+      "##RESULTS\n",
+      "print'%s %.2f %s'% (' final pressure = ',pe,' Mpa') \n",
+      "print'%s %.2f %s'% (' \\n enthalpy = ',h3,' kJ/kg') \n",
+      "print'%s %.2f %s'% ('\\n piston rise = ',z3,' m') \n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        " final pressure =  0.30  Mpa\n",
+        " \n",
+        " enthalpy =  3225.86  kJ/kg\n",
+        "\n",
+        " piston rise =  8.82  m\n"
+       ]
+      }
+     ],
+     "prompt_number": 25
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/sriragap/CHAPTER_2.ipynb b/sample_notebooks/sriragap/CHAPTER_2.ipynb
new file mode 100755
index 00000000..426e33a5
--- /dev/null
+++ b/sample_notebooks/sriragap/CHAPTER_2.ipynb
@@ -0,0 +1,294 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:5bde2d708f0f6314a9ce2bbaebd8be7d8b932147d24c3a735ae61026c957a8a8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2-MICROPROCESSOR ARCHITECHTURE AND MICROCOMPUTER SYSTEMS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E1-Pg 39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#page no 39\n",
+      "#example no 2.1\n",
+      "#MEMORY ADDRESS RANGE.\n",
+      "print ('A7-A0 are  address lines for register select. \\n');\n",
+      "print ('A15-A8 are address lines for chip select. \\n \\n');\n",
+      "print ('A15 A14 A13 A12 A11 A10 A9 A8 \\n');\n",
+      "print (' 0  0   0   0   0   0   0  0   =00H \\n \\n'); #chip select bits have to be active low always to select that chip.\n",
+      "print ('A7 A6 A5 A4 A3 A2 A1 A0 \\n');\n",
+      "print (' 0  0  0  0  0  0  0  0   =00H \\n'); #this selects the register 00.\n",
+      "print ('The above combination selects the memory address 0000H. \\n \\n');\n",
+      "print ('A15 A14 A13 A12 A11 A10 A9 A8 \\n');\n",
+      "print (' 0  0   0   0   0   0   0  0   =00H \\n \\n'); #chip select bits have to be active low always to select that chip.\n",
+      "print ('A7 A6 A5 A4 A3 A2 A1 A0 \\n');\n",
+      "print (' 1  1  1  1  1  1  1  1   =FFH \\n'); #this selects the register FF.\n",
+      "print ('The above combination selects the memory address 00FFH. \\n \\n');\n",
+      "#thus this chip can select any memory location from 0000H to 00FFH.\n",
+      "#the memory addressed of the chip can be changed by modifying the hardware.For example if we remove the inverter on line A15.\n",
+      "print ('A15 A14 A13 A12 A11 A10 A9 A8 \\n');\n",
+      "print (' 1  0   0   0   0   0   0  0   =80H \\n \\n'); #chip select bits have to be active low always to select that chip.\n",
+      "print ('A7 A6 A5 A4 A3 A2 A1 A0 \\n');\n",
+      "print (' 0  0  0  0  0  0  0  0   =00H \\n'); #this selects the register 00.\n",
+      "print ('The above combination selects the memory address 8000H. \\n \\n');\n",
+      "#The memory address range from above change will be 8000H to 80FFH.\n",
+      "#Thus a memory can be assigned address in various locations over the entire map of 0000H to FFFFH.\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A7-A0 are  address lines for register select. \n",
+        "\n",
+        "A15-A8 are address lines for chip select. \n",
+        " \n",
+        "\n",
+        "A15 A14 A13 A12 A11 A10 A9 A8 \n",
+        "\n",
+        " 0  0   0   0   0   0   0  0   =00H \n",
+        " \n",
+        "\n",
+        "A7 A6 A5 A4 A3 A2 A1 A0 \n",
+        "\n",
+        " 0  0  0  0  0  0  0  0   =00H \n",
+        "\n",
+        "The above combination selects the memory address 0000H. \n",
+        " \n",
+        "\n",
+        "A15 A14 A13 A12 A11 A10 A9 A8 \n",
+        "\n",
+        " 0  0   0   0   0   0   0  0   =00H \n",
+        " \n",
+        "\n",
+        "A7 A6 A5 A4 A3 A2 A1 A0 \n",
+        "\n",
+        " 1  1  1  1  1  1  1  1   =FFH \n",
+        "\n",
+        "The above combination selects the memory address 00FFH. \n",
+        " \n",
+        "\n",
+        "A15 A14 A13 A12 A11 A10 A9 A8 \n",
+        "\n",
+        " 1  0   0   0   0   0   0  0   =80H \n",
+        " \n",
+        "\n",
+        "A7 A6 A5 A4 A3 A2 A1 A0 \n",
+        "\n",
+        " 0  0  0  0  0  0  0  0   =00H \n",
+        "\n",
+        "The above combination selects the memory address 8000H. \n",
+        " \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E2-Pg 41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "##page no 41\n",
+      "##example no 2.2\n",
+      "##MEMORY ADDRESS RANGE.\n",
+      "print ('A9-A0 are  address lines for register select. \\n');\n",
+      "print ('A15-A10 are address lines for chip select. \\n \\n');\n",
+      "print ('A15 A14 A13 A12 A11 A10 \\n');\n",
+      "print (' 0  0   0   0   0  0 \\n \\n'); ##chip select bits have to be active low always to select that chip.\n",
+      "print ('A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 \\n');\n",
+      "print (' 0  0  0  0  0  0  0  0  0  0  \\n'); ##this selects the register \n",
+      "print ('The above combination selects the memory address 0000H. \\n \\n');\n",
+      "print ('A15 A14 A13 A12 A11 A10 \\n');\n",
+      "print (' 0  0   0   0   0  0 \\n \\n'); ##chip select bits have to be active low always to select that chip.\n",
+      "print ('A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 \\n');\n",
+      "print (' 1  1  1  1  1  1  1  1  1  1  \\n'); ##this selects the register \n",
+      "print ('The above combination selects the memory address 03FFH. \\n \\n');\n",
+      "##thus this chip can select any memory location from 0000H to 03FFH.\n",
+      "##the memory addressed of the chip can be changed by modifying the hardware.Like we did in the previous example.\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A9-A0 are  address lines for register select. \n",
+        "\n",
+        "A15-A10 are address lines for chip select. \n",
+        " \n",
+        "\n",
+        "A15 A14 A13 A12 A11 A10 \n",
+        "\n",
+        " 0  0   0   0   0  0 \n",
+        " \n",
+        "\n",
+        "A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 \n",
+        "\n",
+        " 0  0  0  0  0  0  0  0  0  0  \n",
+        "\n",
+        "The above combination selects the memory address 0000H. \n",
+        " \n",
+        "\n",
+        "A15 A14 A13 A12 A11 A10 \n",
+        "\n",
+        " 0  0   0   0   0  0 \n",
+        " \n",
+        "\n",
+        "A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 \n",
+        "\n",
+        " 1  1  1  1  1  1  1  1  1  1  \n",
+        "\n",
+        "The above combination selects the memory address 03FFH. \n",
+        " \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E3-Pg 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "##page no 43\n",
+      "##example no 2.3\n",
+      "##CALCULATING ADDRESS LINES\n",
+      "##number of address lines are given by x\n",
+      "import math\n",
+      "x=(math.log(8192))/(math.log(2));\n",
+      "print ('Number of address lines= ')\n",
+      "print (x);\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of address lines= \n",
+        "13.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E4-Pg 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "##page no 43\n",
+      "##example no 2.4\n",
+      "##CALCULATING NO OF CHIPS.\n",
+      "##chip 1024*1 has 1024(1k) registers & each register can store one bit with one data line. We need 8 data lines for byte size memory. Therefore 8 chips are necessary for 1k byte memory.For 1k byte memory we will need 64 chips. We can arrive at the same ans by dividing 8k byte by 1k*1 as follows:\n",
+      "import math\n",
+      "no=(8192*8)/(1024*1);\n",
+      "print ('No of chips= ');\n",
+      "print (no);\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "No of chips= \n",
+        "64\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E5-Pg 44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "##page no 44\n",
+      "##example no 2.5\n",
+      "##FETCHING AN INSTRUCTION.\n",
+      "print ('Memory Location 2005H= 4FH \\n');\n",
+      "print ('Address bus= 2005H \\n') ##program counter places the 16-bit address on the address bus.\n",
+      "print ('Control bus--> (MEMR) \\n'); ##control bus sends memory read control signal.\n",
+      "print ('Data bus= 4FH \\n'); ##instruction 4FH is fetched and transferred to instruction decoder.\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Memory Location 2005H= 4FH \n",
+        "\n",
+        "Address bus= 2005H \n",
+        "\n",
+        "Control bus--> (MEMR) \n",
+        "\n",
+        "Data bus= 4FH \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
diff --git a/sample_notebooks/sriragap/CHAPTER_2_1.ipynb b/sample_notebooks/sriragap/CHAPTER_2_1.ipynb
new file mode 100755
index 00000000..426e33a5
--- /dev/null
+++ b/sample_notebooks/sriragap/CHAPTER_2_1.ipynb
@@ -0,0 +1,294 @@
+{
+ "metadata": {
+  "name": "",
+  "signature": "sha256:5bde2d708f0f6314a9ce2bbaebd8be7d8b932147d24c3a735ae61026c957a8a8"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+  {
+   "cells": [
+    {
+     "cell_type": "heading",
+     "level": 1,
+     "metadata": {},
+     "source": [
+      "Chapter 2-MICROPROCESSOR ARCHITECHTURE AND MICROCOMPUTER SYSTEMS"
+     ]
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E1-Pg 39"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "#page no 39\n",
+      "#example no 2.1\n",
+      "#MEMORY ADDRESS RANGE.\n",
+      "print ('A7-A0 are  address lines for register select. \\n');\n",
+      "print ('A15-A8 are address lines for chip select. \\n \\n');\n",
+      "print ('A15 A14 A13 A12 A11 A10 A9 A8 \\n');\n",
+      "print (' 0  0   0   0   0   0   0  0   =00H \\n \\n'); #chip select bits have to be active low always to select that chip.\n",
+      "print ('A7 A6 A5 A4 A3 A2 A1 A0 \\n');\n",
+      "print (' 0  0  0  0  0  0  0  0   =00H \\n'); #this selects the register 00.\n",
+      "print ('The above combination selects the memory address 0000H. \\n \\n');\n",
+      "print ('A15 A14 A13 A12 A11 A10 A9 A8 \\n');\n",
+      "print (' 0  0   0   0   0   0   0  0   =00H \\n \\n'); #chip select bits have to be active low always to select that chip.\n",
+      "print ('A7 A6 A5 A4 A3 A2 A1 A0 \\n');\n",
+      "print (' 1  1  1  1  1  1  1  1   =FFH \\n'); #this selects the register FF.\n",
+      "print ('The above combination selects the memory address 00FFH. \\n \\n');\n",
+      "#thus this chip can select any memory location from 0000H to 00FFH.\n",
+      "#the memory addressed of the chip can be changed by modifying the hardware.For example if we remove the inverter on line A15.\n",
+      "print ('A15 A14 A13 A12 A11 A10 A9 A8 \\n');\n",
+      "print (' 1  0   0   0   0   0   0  0   =80H \\n \\n'); #chip select bits have to be active low always to select that chip.\n",
+      "print ('A7 A6 A5 A4 A3 A2 A1 A0 \\n');\n",
+      "print (' 0  0  0  0  0  0  0  0   =00H \\n'); #this selects the register 00.\n",
+      "print ('The above combination selects the memory address 8000H. \\n \\n');\n",
+      "#The memory address range from above change will be 8000H to 80FFH.\n",
+      "#Thus a memory can be assigned address in various locations over the entire map of 0000H to FFFFH.\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A7-A0 are  address lines for register select. \n",
+        "\n",
+        "A15-A8 are address lines for chip select. \n",
+        " \n",
+        "\n",
+        "A15 A14 A13 A12 A11 A10 A9 A8 \n",
+        "\n",
+        " 0  0   0   0   0   0   0  0   =00H \n",
+        " \n",
+        "\n",
+        "A7 A6 A5 A4 A3 A2 A1 A0 \n",
+        "\n",
+        " 0  0  0  0  0  0  0  0   =00H \n",
+        "\n",
+        "The above combination selects the memory address 0000H. \n",
+        " \n",
+        "\n",
+        "A15 A14 A13 A12 A11 A10 A9 A8 \n",
+        "\n",
+        " 0  0   0   0   0   0   0  0   =00H \n",
+        " \n",
+        "\n",
+        "A7 A6 A5 A4 A3 A2 A1 A0 \n",
+        "\n",
+        " 1  1  1  1  1  1  1  1   =FFH \n",
+        "\n",
+        "The above combination selects the memory address 00FFH. \n",
+        " \n",
+        "\n",
+        "A15 A14 A13 A12 A11 A10 A9 A8 \n",
+        "\n",
+        " 1  0   0   0   0   0   0  0   =80H \n",
+        " \n",
+        "\n",
+        "A7 A6 A5 A4 A3 A2 A1 A0 \n",
+        "\n",
+        " 0  0  0  0  0  0  0  0   =00H \n",
+        "\n",
+        "The above combination selects the memory address 8000H. \n",
+        " \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 1
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E2-Pg 41"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "##page no 41\n",
+      "##example no 2.2\n",
+      "##MEMORY ADDRESS RANGE.\n",
+      "print ('A9-A0 are  address lines for register select. \\n');\n",
+      "print ('A15-A10 are address lines for chip select. \\n \\n');\n",
+      "print ('A15 A14 A13 A12 A11 A10 \\n');\n",
+      "print (' 0  0   0   0   0  0 \\n \\n'); ##chip select bits have to be active low always to select that chip.\n",
+      "print ('A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 \\n');\n",
+      "print (' 0  0  0  0  0  0  0  0  0  0  \\n'); ##this selects the register \n",
+      "print ('The above combination selects the memory address 0000H. \\n \\n');\n",
+      "print ('A15 A14 A13 A12 A11 A10 \\n');\n",
+      "print (' 0  0   0   0   0  0 \\n \\n'); ##chip select bits have to be active low always to select that chip.\n",
+      "print ('A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 \\n');\n",
+      "print (' 1  1  1  1  1  1  1  1  1  1  \\n'); ##this selects the register \n",
+      "print ('The above combination selects the memory address 03FFH. \\n \\n');\n",
+      "##thus this chip can select any memory location from 0000H to 03FFH.\n",
+      "##the memory addressed of the chip can be changed by modifying the hardware.Like we did in the previous example.\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "A9-A0 are  address lines for register select. \n",
+        "\n",
+        "A15-A10 are address lines for chip select. \n",
+        " \n",
+        "\n",
+        "A15 A14 A13 A12 A11 A10 \n",
+        "\n",
+        " 0  0   0   0   0  0 \n",
+        " \n",
+        "\n",
+        "A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 \n",
+        "\n",
+        " 0  0  0  0  0  0  0  0  0  0  \n",
+        "\n",
+        "The above combination selects the memory address 0000H. \n",
+        " \n",
+        "\n",
+        "A15 A14 A13 A12 A11 A10 \n",
+        "\n",
+        " 0  0   0   0   0  0 \n",
+        " \n",
+        "\n",
+        "A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 \n",
+        "\n",
+        " 1  1  1  1  1  1  1  1  1  1  \n",
+        "\n",
+        "The above combination selects the memory address 03FFH. \n",
+        " \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 2
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E3-Pg 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "##page no 43\n",
+      "##example no 2.3\n",
+      "##CALCULATING ADDRESS LINES\n",
+      "##number of address lines are given by x\n",
+      "import math\n",
+      "x=(math.log(8192))/(math.log(2));\n",
+      "print ('Number of address lines= ')\n",
+      "print (x);\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Number of address lines= \n",
+        "13.0\n"
+       ]
+      }
+     ],
+     "prompt_number": 3
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E4-Pg 43"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "##page no 43\n",
+      "##example no 2.4\n",
+      "##CALCULATING NO OF CHIPS.\n",
+      "##chip 1024*1 has 1024(1k) registers & each register can store one bit with one data line. We need 8 data lines for byte size memory. Therefore 8 chips are necessary for 1k byte memory.For 1k byte memory we will need 64 chips. We can arrive at the same ans by dividing 8k byte by 1k*1 as follows:\n",
+      "import math\n",
+      "no=(8192*8)/(1024*1);\n",
+      "print ('No of chips= ');\n",
+      "print (no);\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "No of chips= \n",
+        "64\n"
+       ]
+      }
+     ],
+     "prompt_number": 4
+    },
+    {
+     "cell_type": "heading",
+     "level": 2,
+     "metadata": {},
+     "source": [
+      "Example E5-Pg 44"
+     ]
+    },
+    {
+     "cell_type": "code",
+     "collapsed": false,
+     "input": [
+      "##page no 44\n",
+      "##example no 2.5\n",
+      "##FETCHING AN INSTRUCTION.\n",
+      "print ('Memory Location 2005H= 4FH \\n');\n",
+      "print ('Address bus= 2005H \\n') ##program counter places the 16-bit address on the address bus.\n",
+      "print ('Control bus--> (MEMR) \\n'); ##control bus sends memory read control signal.\n",
+      "print ('Data bus= 4FH \\n'); ##instruction 4FH is fetched and transferred to instruction decoder.\n"
+     ],
+     "language": "python",
+     "metadata": {},
+     "outputs": [
+      {
+       "output_type": "stream",
+       "stream": "stdout",
+       "text": [
+        "Memory Location 2005H= 4FH \n",
+        "\n",
+        "Address bus= 2005H \n",
+        "\n",
+        "Control bus--> (MEMR) \n",
+        "\n",
+        "Data bus= 4FH \n",
+        "\n"
+       ]
+      }
+     ],
+     "prompt_number": 5
+    }
+   ],
+   "metadata": {}
+  }
+ ]
+}
\ No newline at end of file
-- 
cgit