summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter1.ipynb504
-rw-r--r--A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter2.ipynb339
-rw-r--r--A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter3.ipynb605
-rw-r--r--A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter4.ipynb1106
-rw-r--r--A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter5.ipynb1035
-rw-r--r--A_Comprehensive_Textbook_Of_Applied_Physics_/README.txt10
-rw-r--r--A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k1.pngbin16503 -> 0 bytes
-rw-r--r--A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k2.pngbin18858 -> 0 bytes
-rw-r--r--A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k3.pngbin14827 -> 0 bytes
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/README.txt10
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch1.ipynb284
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch10.ipynb497
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch11.ipynb79
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch12.ipynb363
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch13.ipynb352
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch15.ipynb623
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch2.ipynb260
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch3.ipynb144
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch4.ipynb237
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch5.ipynb366
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch6.ipynb252
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch7.ipynb796
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch8.ipynb173
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch9.ipynb248
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/error-handling.pngbin51813 -> 0 bytes
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/include-guard.pngbin29351 -> 0 bytes
-rw-r--r--C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/inline-member.pngbin31604 -> 0 bytes
-rw-r--r--Electronic_Devices_/Chapter1.ipynb156
-rw-r--r--Electronic_Devices_/Chapter10.ipynb740
-rw-r--r--Electronic_Devices_/Chapter11.ipynb172
-rw-r--r--Electronic_Devices_/Chapter12.ipynb458
-rw-r--r--Electronic_Devices_/Chapter13.ipynb580
-rw-r--r--Electronic_Devices_/Chapter14.ipynb346
-rw-r--r--Electronic_Devices_/Chapter15.ipynb325
-rw-r--r--Electronic_Devices_/Chapter16.ipynb299
-rw-r--r--Electronic_Devices_/Chapter17.ipynb336
-rw-r--r--Electronic_Devices_/Chapter18.ipynb56
-rw-r--r--Electronic_Devices_/Chapter2.ipynb629
-rw-r--r--Electronic_Devices_/Chapter3.ipynb369
-rw-r--r--Electronic_Devices_/Chapter4.ipynb446
-rw-r--r--Electronic_Devices_/Chapter5.ipynb419
-rw-r--r--Electronic_Devices_/Chapter6.ipynb591
-rw-r--r--Electronic_Devices_/Chapter7.ipynb710
-rw-r--r--Electronic_Devices_/Chapter8.ipynb422
-rw-r--r--Electronic_Devices_/Chapter9.ipynb371
-rw-r--r--Electronic_Devices_/README.txt10
-rw-r--r--Electronic_Devices_/screenshots/ipwaveform.pngbin14612 -> 0 bytes
-rw-r--r--Electronic_Devices_/screenshots/modulatedopvoltage.pngbin24301 -> 0 bytes
-rw-r--r--Electronic_Devices_/screenshots/transfercharectercurve.pngbin12968 -> 0 bytes
-rw-r--r--Electronic_Principles_/Chapter_10_New.ipynb440
-rw-r--r--Electronic_Principles_/Chapter_11_New.ipynb523
-rw-r--r--Electronic_Principles_/Chapter_12_New.ipynb593
-rw-r--r--Electronic_Principles_/Chapter_13_New.ipynb784
-rw-r--r--Electronic_Principles_/Chapter_14_New.ipynb648
-rw-r--r--Electronic_Principles_/Chapter_15_New.ipynb383
-rw-r--r--Electronic_Principles_/Chapter_16_New.ipynb933
-rw-r--r--Electronic_Principles_/Chapter_17_New.ipynb614
-rw-r--r--Electronic_Principles_/Chapter_18_New.ipynb568
-rw-r--r--Electronic_Principles_/Chapter_19_New.ipynb502
-rw-r--r--Electronic_Principles_/Chapter_1_New.ipynb256
-rw-r--r--Electronic_Principles_/Chapter_20_New.ipynb424
-rw-r--r--Electronic_Principles_/Chapter_21_New.ipynb620
-rw-r--r--Electronic_Principles_/Chapter_22_New.ipynb369
-rw-r--r--Electronic_Principles_/Chapter_23_New.ipynb618
-rw-r--r--Electronic_Principles_/Chapter_24_New.ipynb706
-rw-r--r--Electronic_Principles_/Chapter_2_New.ipynb160
-rw-r--r--Electronic_Principles_/Chapter_3_New.ipynb334
-rw-r--r--Electronic_Principles_/Chapter_4_New.ipynb515
-rw-r--r--Electronic_Principles_/Chapter_5_New.ipynb446
-rw-r--r--Electronic_Principles_/Chapter_6_New.ipynb534
-rw-r--r--Electronic_Principles_/Chapter_7_New.ipynb427
-rw-r--r--Electronic_Principles_/Chapter_8_New.ipynb300
-rw-r--r--Electronic_Principles_/Chapter_9_New.ipynb266
-rw-r--r--Electronic_Principles_/README.txt10
-rw-r--r--Electronic_Principles_/screenshots/nitya-1.pngbin50704 -> 0 bytes
-rw-r--r--Electronic_Principles_/screenshots/nitya-2.pngbin68798 -> 0 bytes
-rw-r--r--Electronic_Principles_/screenshots/nitya-3.pngbin51270 -> 0 bytes
-rw-r--r--Elements_Of_Mass_Transfer_Part_1/README.txt10
-rw-r--r--Elements_Of_Mass_Transfer_Part_1/ch2.ipynb1596
-rw-r--r--Elements_Of_Mass_Transfer_Part_1/ch3.ipynb609
-rw-r--r--Elements_Of_Mass_Transfer_Part_1/ch5.ipynb985
-rw-r--r--Elements_Of_Mass_Transfer_Part_1/ch6.ipynb1255
-rw-r--r--Elements_Of_Mass_Transfer_Part_1/ch7.ipynb710
-rw-r--r--Elements_Of_Mass_Transfer_Part_1/screenshots/dry-time.pngbin45352 -> 0 bytes
-rw-r--r--Elements_Of_Mass_Transfer_Part_1/screenshots/enthalpy.pngbin34749 -> 0 bytes
-rw-r--r--Elements_Of_Mass_Transfer_Part_1/screenshots/tower.pngbin20201 -> 0 bytes
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/README.txt10
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch1.ipynb381
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch10.ipynb742
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch11.ipynb686
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch12.ipynb757
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch13.ipynb361
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch14.ipynb538
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch15.ipynb1575
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch16.ipynb991
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch2.ipynb623
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch3.ipynb1021
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch4.ipynb1486
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch5.ipynb1542
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch6.ipynb1139
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch7.ipynb629
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch8.ipynb947
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch9.ipynb394
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu1.pngbin25189 -> 0 bytes
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu2.pngbin22660 -> 0 bytes
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu3.pngbin21075 -> 0 bytes
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-1_1.pngbin25189 -> 0 bytes
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-2_1.pngbin22660 -> 0 bytes
-rw-r--r--Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-3_1.pngbin21075 -> 0 bytes
-rw-r--r--Fluid_Mechanics_/Chapter1.ipynb562
-rw-r--r--Fluid_Mechanics_/Chapter10.ipynb426
-rw-r--r--Fluid_Mechanics_/Chapter11.ipynb312
-rw-r--r--Fluid_Mechanics_/Chapter12.ipynb342
-rw-r--r--Fluid_Mechanics_/Chapter2.ipynb920
-rw-r--r--Fluid_Mechanics_/Chapter3.ipynb503
-rw-r--r--Fluid_Mechanics_/Chapter4.ipynb529
-rw-r--r--Fluid_Mechanics_/Chapter5.ipynb545
-rw-r--r--Fluid_Mechanics_/Chapter6.ipynb128
-rw-r--r--Fluid_Mechanics_/Chapter7.ipynb367
-rw-r--r--Fluid_Mechanics_/Chapter8.ipynb358
-rw-r--r--Fluid_Mechanics_/Chapter9.ipynb799
-rw-r--r--Fluid_Mechanics_/README.txt10
-rw-r--r--Fluid_Mechanics_/screenshots/Screenshot_from_2014-04-24_10_11_42.pngbin38369 -> 0 bytes
-rw-r--r--Fluid_Mechanics_/screenshots/plot1.pngbin27945 -> 0 bytes
-rw-r--r--Fluid_Mechanics_/screenshots/plot2.pngbin14805 -> 0 bytes
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_10_2.ipynb286
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11_2.ipynb425
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_12_2.ipynb760
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_13_2.ipynb737
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14_2.ipynb391
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_1_2.ipynb25
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2_2.ipynb327
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3_2.ipynb470
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_4_2.ipynb497
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_5_2.ipynb117
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_6_2.ipynb626
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_7_2.ipynb573
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8_2.ipynb576
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9_2.ipynb936
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_1.pngbin47621 -> 0 bytes
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_2.pngbin17156 -> 0 bytes
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_3.pngbin17156 -> 0 bytes
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_1.pngbin52838 -> 0 bytes
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_2.pngbin40171 -> 0 bytes
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_3.pngbin40171 -> 0 bytes
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_1.pngbin46639 -> 0 bytes
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_2.pngbin33847 -> 0 bytes
-rw-r--r--Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_3.pngbin33847 -> 0 bytes
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_03.ipynb457
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_04.ipynb555
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_05.ipynb464
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_06.ipynb363
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_07.ipynb412
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_08.ipynb73
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_09.ipynb612
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_10.ipynb514
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_11.ipynb686
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_12.ipynb483
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_13.ipynb425
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_14.ipynb705
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_15.ipynb815
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_16.ipynb583
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_17.ipynb832
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_18.ipynb658
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_19.ipynb861
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_21.ipynb167
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_22.ipynb544
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_23.ipynb106
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_24.ipynb387
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_26.ipynb167
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_27.ipynb544
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_28.ipynb108
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/README.txt10
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/economics.pngbin64537 -> 0 bytes
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/forced_convention.pngbin71086 -> 0 bytes
-rw-r--r--Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/shell_heat.pngbin79427 -> 0 bytes
-rwxr-xr-xREADME.md2
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_10.ipynb67
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_11.ipynb146
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_12.ipynb281
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_13.ipynb30
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_14.ipynb285
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_15.ipynb229
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_16.ipynb290
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_2.ipynb428
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_3.ipynb448
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_4.ipynb157
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_5.ipynb347
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_6.ipynb130
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_7.ipynb226
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_8.ipynb282
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_9.ipynb271
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_no_1.ipynb58
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/README.txt10
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/Chapter2.pngbin182077 -> 0 bytes
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/Chapter4.pngbin177616 -> 0 bytes
-rw-r--r--_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/chapter3.pngbin178108 -> 0 bytes
-rw-r--r--_Programming_With_C/README.txt10
-rw-r--r--_Programming_With_C/chapter1.ipynb62
-rw-r--r--_Programming_With_C/chapter10.ipynb556
-rw-r--r--_Programming_With_C/chapter11.ipynb977
-rw-r--r--_Programming_With_C/chapter12.ipynb565
-rw-r--r--_Programming_With_C/chapter13.ipynb180
-rw-r--r--_Programming_With_C/chapter14.ipynb232
-rw-r--r--_Programming_With_C/chapter2.ipynb117
-rw-r--r--_Programming_With_C/chapter3.ipynb132
-rw-r--r--_Programming_With_C/chapter4.ipynb561
-rw-r--r--_Programming_With_C/chapter5.ipynb96
-rw-r--r--_Programming_With_C/chapter6.ipynb1297
-rw-r--r--_Programming_With_C/chapter7.ipynb708
-rw-r--r--_Programming_With_C/chapter8.ipynb555
-rw-r--r--_Programming_With_C/chapter9.ipynb555
-rw-r--r--_Programming_With_C/screenshots/Untitled1.pngbin19174 -> 0 bytes
-rw-r--r--_Programming_With_C/screenshots/Untitled2.pngbin20364 -> 0 bytes
-rw-r--r--_Programming_With_C/screenshots/Untitled3.pngbin23339 -> 0 bytes
215 files changed, 0 insertions, 81046 deletions
diff --git a/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter1.ipynb b/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter1.ipynb
deleted file mode 100644
index 1cb4536f..00000000
--- a/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter1.ipynb
+++ /dev/null
@@ -1,504 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:b9d3600de62f2e313ebd68d87880d0cad19ed95bdfc9a86e635db985c6359259"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "UNIT-1:Waves & Vibrations"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.1,Page no:11"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#Variable declaration\n",
- "n=512 #frequency in Hz\n",
- "l=67 #wavelength in cm\n",
- "\n",
- "#Calculation\n",
- "v=n*l #calculating velocity\n",
- "\n",
- "#Result\n",
- "print\"Velocity = \",v,\" cm/sec\" \n",
- "print\"NOTE:Calculation mistake in book\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity = 34304 cm/sec\n",
- "NOTE:Calculation mistake in book\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.2,Page no:11"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#Variable declaration\n",
- "v=340 #velocity in m/sec\n",
- "l=0.68 #wavelength in m\n",
- "\n",
- "#Calculation\n",
- "n=v/l #calculating frequency\n",
- "\n",
- "#Result\n",
- "print\"Frequency\",n,\"Hz\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Frequency 500.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.3,Page no:12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#Variable declaration\n",
- "v=3*10**8 #velocity in m/sec\n",
- "n=500*10**3 #frequency in Hz\n",
- "\n",
- "#Calculation\n",
- "l=v/n #calculating wavelength\n",
- "\n",
- "#Result\n",
- "print\"Wavelength=\",l,\"m\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Wavelength= 600 m\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.4,Page no:12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#Variable declaration\n",
- "v=330 #velocity in m/sec\n",
- "n=560.0 #frequency in Hz\n",
- "\n",
- "#Calculation\n",
- "lamda=v/n #calculating wavelength\n",
- "\n",
- "#Result\n",
- "print\"lambda=\",round(lamda,3),\"m\"\n",
- "print\"Distance travelled in 30 vibrations in m = \",round(lamda*30,2),\"m\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "lambda= 0.589 m\n",
- "Distance travelled in 30 vibrations in m = 17.68 m\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.5,Page no:12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math \n",
- "\n",
- "#Variable declaration\n",
- "s=90.0 #distance in m\n",
- "u=0 #initial velocity in m/sec\n",
- "\n",
- "#Calculation\n",
- "t=math.sqrt(90/4.9) #calculating time using kinematical equation\n",
- "later=4.56 #Time after which sound is heard\n",
- "t1=later-t #calculating time taken by sound to travel\n",
- "t1=round(t1,2)\n",
- "v=s/t1 #calculating velocity\n",
- "\n",
- "#Result\n",
- "print\"Velocity in m/sec = \",round(v,2),\"m/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity in m/sec = 333.33 m/s\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.6,Page no:13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#Variable declaration\n",
- "l1=1.5 #wavelength in m\n",
- "l2=2 #wavelength in m\n",
- "v1=120 #velocity in m/sec\n",
- "\n",
- "#Calculation\n",
- "n=v1/l1 #calculating frequency\n",
- "v2=n*l2 #calculating velocity\n",
- "\n",
- "#Result\n",
- "print\"Velocity in m/sec = \",v2,\"m/sec\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity in m/sec = 160.0 m/sec\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.7,Page no:14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#Variable declaration\n",
- "l=5641*10**-10 #wavelength in m\n",
- "c=3*10**8 #velocity in m/sec\n",
- "u=1.58 #refractive index of glass\n",
- "\n",
- "#Calculation\n",
- "n=c/l #calculating frequency\n",
- "cg=c/u #calculating velocity of light in glass\n",
- "l1=cg/n #calculating wavelegth in glass\n",
- "\n",
- "#Result\n",
- "print\"Wavelength in glass in Angstrom =\",l1*10**10,\"Angstrom\" \n",
- "print\"\\n\\nNOTE:Calculation ambiguity in book,value of cg is taken as 1.9*10**8 ,Therefore final answer is changed\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Wavelength in glass in Angstrom = 3570.25316456 Angstrom\n",
- "\n",
- "\n",
- "NOTE:Calculation ambiguity in book,value of cg is taken as 1.9*10**8 ,Therefore final answer is changed\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.8,Page no:15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#Variable declaration\n",
- "n=12*10**6 #frequency in Hz\n",
- "v=3*10**8 #velocity in m/sec\n",
- "\n",
- "#Calculation\n",
- "l=v/n #calculating wavelength\n",
- "\n",
- "#Result\n",
- "print\"Wavelength in m = \",l,\"m\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Wavelength in m = 25 m\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.9,Page no:15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#Variable declaration\n",
- "n=400 #frequency in Hz\n",
- "v=300.0 #velocity in m/sec\n",
- "\n",
- "#Calculation\n",
- "l=v/n #calculating wavelength\n",
- "\n",
- "#Result\n",
- "print\"Wavelength=\",l,\"m\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Wavelength= 0.75 m\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.10,Page no:22"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math \n",
- "\n",
- "#Variable declaration\n",
- "a=20 #amplitude in cm\n",
- "n=6 #frequency per second\n",
- "\n",
- "#Calculation\n",
- "w=2*(math.pi)*n #omega in radians/sec\n",
- "\n",
- "#Result\n",
- "print\"Omega in radians/sec = \",round(w,1),\"rad/sec\" \n",
- "print\"y=\",a,\"sin\",round(w,1),\"t\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Omega in radians/sec = 37.7 rad/sec\n",
- "y= 20 sin 37.7 t\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.11,Page no:23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#Variable declaration\n",
- "a=6 #amplitude in cm\n",
- "n=9 #frequency in Hz.\n",
- "\n",
- "#Calculation\n",
- "vmax=2*(math.pi)*n*6 #calculating velocity in cm/sec\n",
- "acc=-((18*(math.pi))**2)*6 #calculating acc. in m/sec square\n",
- "\n",
- "#Result\n",
- "print\"Maximum velocity in cm/sec = \",round(vmax,2),\"cm/sec\" \n",
- "print\"Velocity at extreme position = 0\" \n",
- "print\"Accelaration at mean position = 0\" \n",
- "print\"Accelaration at extreme position = \",round(acc,1),\"m/sec^2\" \n",
- "print\"\\n\\nNOTE:Calculation mistake in book\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum velocity in cm/sec = 339.29 cm/sec\n",
- "Velocity at extreme position = 0\n",
- "Accelaration at mean position = 0\n",
- "Accelaration at extreme position = -19186.5 m/sec^2\n",
- "\n",
- "\n",
- "NOTE:Calculation mistake in book\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:1.12,Page no:26"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration\n",
- "g=9.8 #gravitational constant\n",
- "m=50 #mass in kg\n",
- "l=0.2 #length in m\n",
- "T=0.6 #time period\n",
- "\n",
- "#Calculation\n",
- "k=(m*g)/l #calculating constant\n",
- "m=2450*((T/(2*(math.pi)))**2) #calcualting mass using given time period\n",
- "\n",
- "#Result\n",
- "print\"Mass of body= \",round(m,2),\"kg\" \n",
- "print\"Weight of suspended body=\",round(m,2)*g,\"N\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Mass of body= 22.34 kg\n",
- "Weight of suspended body= 218.932 N\n"
- ]
- }
- ],
- "prompt_number": 12
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter2.ipynb b/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter2.ipynb
deleted file mode 100644
index b50ddf47..00000000
--- a/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter2.ipynb
+++ /dev/null
@@ -1,339 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:bc446a4cb1141cc1fc3a73e237c82b9c455db1185763ba734b760bbf57d3288c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "UNIT-2:Application of Sound Waves"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:2.1,Page no:41"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration\n",
- "v=3000 #volume in metre cube.\n",
- "theta=0.2 #theta in owu(open window unit).\n",
- "s=1850 #area in metre cube.\n",
- "\n",
- "#Calculation\n",
- "a=theta*s #calculating total absorbtion of surface.\n",
- "T=(0.165*v)/a #calculating T using Sabine formula\n",
- "\n",
- "#Result\n",
- "print\"Reverberation time of Room = \",round(T,2) ,\"sec\" \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Reverberation time of Room = 1.34 sec\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:2.2,Page no:41"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration\n",
- "v=120000 #volume in metre cube.\n",
- "t=1.5 #time in second.\n",
- "s=25000 #area in metre cube.\n",
- "\n",
- "#Calculation\n",
- "a=(0.16*v)/(t*s) #using Sabine formula for calculating a\n",
- "\n",
- "#Variable declaration\n",
- "print\"Average Absorbing Power of Surface = \",a,\"o w u\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Average Absorbing Power of Surface = 0.512 o w u\n"
- ]
- }
- ],
- "prompt_number": 39
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:2.3,Page no:42"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration\n",
- "v=6000.0 #Volume in metre cube.\n",
- "a=20.0 #surface absorbtion in owu(open window unit).\n",
- "\n",
- "#Calculation\n",
- "T=(0.165*v)/(a) #calculating T using Sabine Formula.\n",
- "\n",
- "#Result\n",
- "print\"Reverberation Time = \",T,\"sec\"\n",
- "print\"\\nNOTE:Calculation mistake in book\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Reverberation Time = 49.5 sec\n",
- "\n",
- "NOTE:Calculation mistake in book\n"
- ]
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:2.4,Page no:42"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "v=3500 #volume in metre cube.\n",
- "n1=370-300 #no. of audience on wooden seats.\n",
- "n2=300-70 #no. of empty wooden seats.\n",
- "\n",
- "#Calculation\n",
- "a1s1=0.04*60 #absorption due to wooden doors.\n",
- "a2s2=0.03*700 #absorption due to plastered walls.\n",
- "a3s3=0.06*50 #absorption due to glass work.\n",
- "a4s4=4.2*370 #absorption due to audience on spungy and wooden \n",
- "#seats.\n",
- "a5s5=2*230 #absorption due to empty seats.\n",
- "sum=a1s1+a2s2+a3s3+a4s4+a5s5 #total absorption of cinema hall.\n",
- "T=(0.165*v)/sum #calculating T using Sabine Formula.\n",
- "\n",
- "#Result\n",
- "print\"Reverberation Time = \",round(T,2),\"sec\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Reverberation Time = 0.28 sec\n"
- ]
- }
- ],
- "prompt_number": 40
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:2.5,Page no:49"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable declaration\n",
- "l=10 #length in centimetres.\n",
- "Y=20*10**11 #Young's Modulus in dyne/cm square.\n",
- "R=8 #Density in gram/cc\n",
- "\n",
- "#Calculation\n",
- "n=(1.0/(2*l))*math.sqrt(Y/R) #calculating frequency of vibration using \n",
- "#young's modulus.\n",
- "\n",
- "#Result\n",
- "print\"Frequency of vibration=\",n,\"Hz\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Frequency of vibration= 25000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 28
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:2.6,Page no:50"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "#Variable declaration\n",
- "t=0.1 #thickness in centimetre.\n",
- "Y=8.75*10**11 #Young's Modulus in dyne/cm square.\n",
- "R=2.654 #Density in gram/cm square.\n",
- "\n",
- "#Calculation\n",
- "n=(1/(2*t))*math.sqrt(Y/R) #calculating frequency using Young's modulus.\n",
- "\n",
- "#Result\n",
- "print\"Frequency of Vibration=\",round(n),\"Hz\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Frequency of Vibration= 2870936.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:2.7,Page no:50"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration\n",
- "K=2.026*10**9 #Bulk Modulus in N/m square.\n",
- "R=10**3 #Density in Kg/m cube.\n",
- "\n",
- "#Calculation\n",
- "V=math.sqrt(K/R) #Calculating speed using Bulk Modulus.\n",
- "\n",
- "#Result\n",
- "print\"Velocity of sound waves in water = \",round(V,2),\"m/sec\" \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity of sound waves in water = 1423.38 m/sec\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:2.8,Page no:51"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable declaration\n",
- "Y=1.41 #Young's Modulus.\n",
- "R=1.293*10**-3 #Density of air in g/centimetre cube.\n",
- "P=76*13.6*980 #atmospheric pressure in dyne/cm square.\n",
- "\n",
- "#Calculation\n",
- "V=math.sqrt((Y*P)/R) #calculating speed using young's modulus.\n",
- "\n",
- "#Result\n",
- "print\"Speed of ultrasonic wave in air at n.t.p=\",round(V*10**-2,1),\"m/sec\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Speed of ultrasonic wave in air at n.t.p= 332.4 m/sec\n"
- ]
- }
- ],
- "prompt_number": 16
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter3.ipynb b/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter3.ipynb
deleted file mode 100644
index 147c1c8d..00000000
--- a/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter3.ipynb
+++ /dev/null
@@ -1,605 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:040e38e52e7b9682cfcedeffe89e523ef70aa22db1a3d6616f3de2ca6dd532ec"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "UNIT-3:Principle of Optics"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.1,Page no:69"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "f=15.0 #focal length in cm\n",
- "v=10.0 #image distance in cm\n",
- "\n",
- "#Calculation\n",
- "u=1/((1/v)-(1/f)) #calculating u using (1/f)=(1/v)-(1/u)\n",
- "\n",
- "#Result\n",
- "print\"Object Distance ,u= \",u,\"cm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Object Distance ,u= 30.0 cm\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.2,Page no:70"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration\n",
- "f=80.0 #focal length in cm\n",
- "f1=20.0 #focallength of first lens in cm\n",
- "\n",
- "#Calculation\n",
- "f2=1/((1/f)-(1/f1)) #using (1/F)=(1/f1)+(1/f2)\n",
- "P=(100.0/f) #power in D\n",
- "P1=100.0/20 #power of first lens\n",
- "P2=P1-P #power in D\n",
- "\n",
- "#Variable declaration\n",
- "print\"Power= \",P2,\"D\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power= 3.75 D\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.3,Page no:71"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "P=2.5 #Power in D\n",
- "\n",
- "#Calculation\n",
- "f=-(1/P) #calculating f in m\n",
- "\n",
- "#Result\n",
- "print\"Focal length =\",f,\"m\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Focal length = -0.4 m\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.4,Page no:72"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "m=4 #magnigication\n",
- "f=20 #focal length in cm\n",
- "\n",
- "#Calculation\n",
- "u=(20*3)/(4) #on simplifying (1/f)=(1/v)-(1/u)\n",
- "v=(4*u) #calculating v in cm\n",
- "\n",
- "#Result\n",
- "print\"Object distance,u= \",u,\"cm\" \n",
- "print\"Image distance,v= \",v,\"cm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Object distance,u= 15 cm\n",
- "Image distance,v= 60 cm\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.5,Page no:72"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from scipy.optimize import fsolve \n",
- "\n",
- "#Variable declaration\n",
- "u=14.0 #object distance in cm\n",
- "f=-21.0 #focal distance in cm\n",
- "\n",
- "#Calculation\n",
- "v=1/((1/f)-(1/u))\n",
- "I=(3.0*v)/(-u) #using m=(1/0)=(v/u) \n",
- "\n",
- "#Result\n",
- "print\"Image distance= \",v,\"cm\" \n",
- "print\"I= \",I,\"cm\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Image distance= -8.4 cm\n",
- "I= 1.8 cm\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.6,Page no:79"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "fe=5 #focal length in cm\n",
- "D=25 #distance od distinct vision in cm\n",
- "\n",
- "#Calculation\n",
- "m=1+(D/fe) #calculating magnifying power\n",
- "\n",
- "#Result\n",
- "print\"magnifying Power = \",m "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "magnifying Power = 6\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.7,Page no:80"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "fe=5 #focal length in cm\n",
- "D=25 #distance od distinct vision in cm\n",
- "\n",
- "#Calculation\n",
- "mo=30/(1+(D/fe)) #calculating magnification of objective lens\n",
- "\n",
- "#Result\n",
- "print\"Magnification produced by objective lens = \",mo "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Magnification produced by objective lens = 5\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.8,Page no:80"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "u=-6.0 #object distance in cm\n",
- "fo=4.0 #focal distance in cm\n",
- "fe=6.0 #focal length in cm\n",
- "D=25.0 #distance of distinct vision in cm\n",
- "\n",
- "#Calculation\n",
- "v=1/((1/u)+(1/fo)) #using (1/f)=(1/v)-(1/u)\n",
- "m=(v/u)*(1+(D/fe)) #calculating m\n",
- "\n",
- "#Result\n",
- "print\"Image distance in cm = \",v,\"cm\" \n",
- "print\"Magnifying Power = \",round(-m,2) "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Image distance in cm = 12.0 cm\n",
- "Magnifying Power = 10.33\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.9,Page no:81"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "D=25.0 #distance of distinct vision\n",
- "u=-9.0 #object distance in cm\n",
- "fe=10.0 #focal length in cm\n",
- "\n",
- "#Calculation\n",
- "v=1/((1/fe)+(1/u)) #using (1/f)=(1/v)-(1/u)\n",
- "m=(v/u) #calculating m\n",
- "M=D/u #calculating Magnifying power of lens\n",
- "\n",
- "#Result\n",
- "print\"Magnification of lens = \",m \n",
- "print\"Magnifying Power = \",round(-M,1) "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Magnification of lens = 10.0\n",
- "Magnifying Power = 2.8\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.10,Page no:82"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "fo=0.5 #focal length of eye lens\n",
- "D=25 #distance of distinct vision\n",
- "L=15 #length in cm\n",
- "m=375 #magnification\n",
- "\n",
- "#Calculation\n",
- "fe=(-L*D)/(fo*((L/fo)-m)) #calculating fe\n",
- "\n",
- "#Result\n",
- "print\"Focal length of eye lens= \",round(fe,1),\"cm\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Focal length of eye lens= 2.2 cm\n"
- ]
- }
- ],
- "prompt_number": 33
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.11,Page no:86"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "m=5 #magnifying power\n",
- "L=24 #length in cm\n",
- "fe=4 #focal length in cm\n",
- "\n",
- "#Calculation\n",
- "fo=5*fe #calculating fo\n",
- "\n",
- "#Result\n",
- "print\"Focal length of lens = \",fo,\"cm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Focal length of lens = 20 cm\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.12,Page no:87"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "D=25.0 #distance of distinct vision in cm\n",
- "fo=140.0 #focal length of eye lens\n",
- "fe=5.0 #focal length in cm\n",
- "\n",
- "#Calculation\n",
- "m=-(fo/fe) #calculating magnifying power\n",
- "m1=-(fo/fe)*(1+(fe/D)) #calculating magnifying power\n",
- "\n",
- "#Result\n",
- "print\"(a):Magnifying power at normal adjustment = \",m\n",
- "print\"(b):Magnifying power atleast distance of distinct vision = \",m1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a):Magnifying power at normal adjustment = -28.0\n",
- "(b):Magnifying power atleast distance of distinct vision = -33.6\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.13,Page no:88"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "M=5 #Magnifying power\n",
- "fo=10 #focal length of eye lens\n",
- "\n",
- "#Calculation\n",
- "fe=fo/M #calculating fe\n",
- "\n",
- "#Result\n",
- "print\"Focal length of eye lens= \",fe,\"cm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Focal length of eye lens= 2 cm\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.14,Page no:88"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "fo=75.0 #focal length of eye lens\n",
- "D=25.0 #distance of distinct vision\n",
- "fe=5.0 #focal of eye lens in cm\n",
- "\n",
- "#Calculation\n",
- "M=-(fo/fe)*(1+(fe/D)) #calculating M\n",
- "\n",
- "#Result\n",
- "print\"Magnifying power = \",M"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Magnifying power = -18.0\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:3.15,Page no:88"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "M=7 #magnifying power\n",
- "L=40 #length\n",
- "\n",
- "#Calculation\n",
- "fe=(L/(M+1)) #focal length of eye lens in cm\n",
- "fo=(M*fe) #calculating focal length\n",
- "\n",
- "#Result\n",
- "print\"Focal Length of lens=\",fo,\"cm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Focal Length of lens= 35 cm\n"
- ]
- }
- ],
- "prompt_number": 13
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter4.ipynb b/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter4.ipynb
deleted file mode 100644
index 67ec2ab8..00000000
--- a/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter4.ipynb
+++ /dev/null
@@ -1,1106 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:5389b8ee7db605c2b6709900953f8acf2763d42f0399c64611452653d4ee8704"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "UNIT-4:Electrostatics"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.1,Page no:103"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "q=1.0 #no of coulomb\n",
- "e=1.6*10**-19 #charge on an electron\n",
- "\n",
- "#Calculation\n",
- "n=(q/e) #calculating no of electrons\n",
- "\n",
- "#Result\n",
- "print\"No of electrons =\",n\n",
- "print\"NOTE:Calculation mistake in book\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "No of electrons = 6.25e+18\n",
- "NOTE:Calculation mistake in book\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.2,Page no:103"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "#Variable declaration\n",
- "g=9.8\n",
- "m=4.5 #Massin [kg]\n",
- "r=0.03 #radius in [m]\n",
- "\n",
- "#Calculation\n",
- "F=m*g #in Newton\n",
- "q=math.sqrt(((r**2)*m*g)/(9*10**9)) #calculating q using F=(1/4*3.14*eo)*((q1*q2)/(r**2))\n",
- "\n",
- "#Result\n",
- "print\"Charge = \",q,\"C\"\n",
- "print\"\\nNOTE:Calculation mistake in book\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Charge = 2.1e-06 C\n",
- "\n",
- "NOTE:Calculation mistake in book\n"
- ]
- }
- ],
- "prompt_number": 36
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.3,Page no:103"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "q1=2*10**-7 #charge in C\n",
- "q2=3*10**-7 #charge in C\n",
- "r=30*10**-2 #r in m\n",
- "\n",
- "#Calculation\n",
- "F=(9*10**9)*((q1*q2)/r**2) #calculating F\n",
- "\n",
- "#Result\n",
- "print\"Force = %.e\"%F,\"N\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Force = 6e-03 N\n"
- ]
- }
- ],
- "prompt_number": 70
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.4,Page no:104"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "q1=1 #charge in C\n",
- "q2=1 #charge in C\n",
- "r=1 #r in m\n",
- "\n",
- "#Calculation\n",
- "F=(9*10**9)*((q1*q2)/r**2) #calculating F\n",
- "\n",
- "#Result\n",
- "print\"Force = %.e\"%F,\"N\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Force = 9e+09 N\n"
- ]
- }
- ],
- "prompt_number": 71
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.5,Page no:104"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "m=9*10**-31 #mass of electron in kg\n",
- "q=-3.2*10**-7 #charge in C\n",
- "e=-1.6*10**-19 #charge on electron in C\n",
- "\n",
- "#Calculation\n",
- "n=(q/e) #calculating n\n",
- "M=n*m #calculating mass transfered\n",
- "\n",
- "#Result\n",
- "print\"(a):No. of electrons = \",n\n",
- "print\"(b):Mass transfered to polythene= \",M,\"kg\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a):No. of electrons = 2e+12\n",
- "(b):Mass transfered to polythene= 1.8e-18 kg\n"
- ]
- }
- ],
- "prompt_number": 50
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.6,Page no:105"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "q1=1.6*10**-19 #charge in C\n",
- "q2=-1.6*10**-19 #charge in C\n",
- "r=10**-9 #r in m\n",
- "\n",
- "#Calculation\n",
- "F=(9*10**9)*((q1*q2)/r**2) #calculating F\n",
- "\n",
- "#Result\n",
- "print\"Force=\",F,\"N\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Force= -2.304e-10 N\n"
- ]
- }
- ],
- "prompt_number": 54
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.7,Page no:110"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "Va=-10 #voltage in volts\n",
- "W=100 #work in Joule\n",
- "q=2 #charge in Coulomb\n",
- "\n",
- "#Calculation\n",
- "v=(Va)+(W/q) #calculating v\n",
- "\n",
- "#Result\n",
- "print\"Voltage = \",v,\"V\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Voltage = 40 V\n"
- ]
- }
- ],
- "prompt_number": 55
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.8,Page no:111"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math \n",
- "\n",
- "#Variable declaration\n",
- "eo=(8.854*10**-12) #constant\n",
- "E=2 #magnitude of electric field in N/C\n",
- "r=0.5 #r in m\n",
- "\n",
- "#Calculation\n",
- "q=E*4*(math.pi)*(eo)*(r**2) #calculating charge\n",
- "\n",
- "#Result\n",
- "print\"Charge= %.2e\"%q,\"C\"\n",
- "print\"\\nNOTE:Calcualtion mistake in book\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Charge= 5.56e-11 C\n",
- "\n",
- "NOTE:Calcualtion mistake in book\n"
- ]
- }
- ],
- "prompt_number": 73
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.9,Page no:111"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "e=-1.6*10**-19 #charge on electron in Coulomb\n",
- "q=20*10**-6 #charge in Coulomb\n",
- "r1=0.1 #r1 in m\n",
- "r2=0.05 #r2 in m\n",
- "\n",
- "#Calculation\n",
- "Va=9*10**9*(q/r1) #calculating voltage at A\n",
- "Vb=9*10**9*(q/r2) #calculating voltage at B\n",
- "V=Va-Vb #potential difference\n",
- "W=V*e #calculating work done in joule\n",
- "\n",
- "#Result\n",
- "print\"Work done to take the electron from A to B = \",W,\"Joule\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Work done to take the electron from A to B = 2.88e-13 Joule\n"
- ]
- }
- ],
- "prompt_number": 69
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.10,Page no:112"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "q1=(2.0*10**-8) #charge in coulomb\n",
- "q2=(-2.0*10**-8) #charge in coulomb\n",
- "q3=(3.0*10**-8) #charge in coulomb\n",
- "q4=(6.0*10**-8) #charge in coulomb\n",
- "s=1.0 #side in m\n",
- "\n",
- "#Calculation\n",
- "V=(9.0*10**9)*(1.0/s)*(q1+q2+q3+q4) #calculating voltage\n",
- "\n",
- "#Result\n",
- "print\"Voltage in Volts = \",V,\"Volts\"\n",
- "print\"\\nNOTE:Calculation mistake in book\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Voltage in Volts = 810.0 Volts\n",
- "\n",
- "NOTE:Calculation mistake in book\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.11,Page no:123"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "eo=8.85*10**-12 #constant\n",
- "q=2*10**-6 #charge in coulomb\n",
- "l=9 #length in cm\n",
- "\n",
- "#Calculation\n",
- "fi=(q/eo) #calcualting flux in (N m square)/c\n",
- "\n",
- "#Result\n",
- "print\"Flux through the surface=%2e\"%fi,\"N m^2/c\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Flux through the surface=2.259887e+05 N m^2/c\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.12,Page no:124"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "#Variable declaration\n",
- "eo=8.85*10**-12 #constant\n",
- "r=1.2 #r in m\n",
- "t=80*10**-6 #surface sharge density in c/m square\n",
- "\n",
- "#Calculation\n",
- "q=t*4*(math.pi)*(r**2) #calculating charge\n",
- "fi=q/eo #calculating flux\n",
- "\n",
- "#Result\n",
- "print\"Flux=%g\"%fi,\"N c^-1 m^2\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Flux=1.63576e+08 N c^-1 m^2\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.13,Page no:124"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "#Variable declaration\n",
- "eo=8.85*10**-12 #constant\n",
- "E=9*10**4 #Electric field in N/C\n",
- "r=2*10**-2 #r in m\n",
- "\n",
- "#Calculation\n",
- "L=2*(math.pi)*E*eo*r #calculating linear charge density\n",
- "\n",
- "#Result\n",
- "print\"Linear charge density = \",round(L,7),\"cm^-1\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Linear charge density = 1e-07 cm^-1\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.14,Page no:125"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "o=17*10**-22 #surface charge density in cm**-2\n",
- "eo=8.85*10**-12 #constant\n",
- "\n",
- "#Calculation\n",
- "E=o/eo #calculating electric intensity in region III\n",
- "\n",
- "#Result\n",
- "print\"Electric Intensity in regions I and II = 0\" \n",
- "print\"Electric Intensity in region III = \",round(E,12),\"N/C\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Electric Intensity in regions I and II = 0\n",
- "Electric Intensity in region III = 1.92e-10 N/C\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.15,Page no:125"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "#Variable declaration\n",
- "r=0.05 # in m\n",
- "eo=8.85*10**-12 #constant\n",
- "q=10.0**-9 #charge at point P in Coulomb\n",
- "\n",
- "#Calculation\n",
- "E=q/(4*(math.pi)*eo*(r**2)) #calculating electric field\n",
- "r1=0.2 #in m\n",
- "V1=q/(4*(math.pi)*eo*r1) #calculating potential difference\n",
- "\n",
- "#Result\n",
- "print\"Electric field= \",round(E),\"v/m\"\n",
- "print\"\\nNOTE:Approximate answer is calculated in book\\n\\n\"\n",
- "print\"Potential difference between two points = \",round(V1),\"V\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Electric field= 3597.0 v/m\n",
- "\n",
- "NOTE:Approximate answer is calculated in book\n",
- "\n",
- "\n",
- "Potential difference between two points = 45.0 V\n"
- ]
- }
- ],
- "prompt_number": 65
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.16,Page no:126"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math \n",
- "\n",
- "#Variable declaration\n",
- "eo=8.85*10**-12 #constant\n",
- "o=80.0*10**-6 #surface charge density in c/ square\n",
- "r=1.2 #in m\n",
- "\n",
- "#Calculation\n",
- "q=o*(math.pi)*(r**2) #calculating charge in Coulomb\n",
- "fi=q/eo #calculating electric flux\n",
- "\n",
- "#Result\n",
- "print\"Charge= \",q,\"C\"\n",
- "print\"Electric flux = \",fi,\"N m^2/c\"\n",
- "print\"\\nNOTE:Wrong answers in book\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Charge= 0.000361911473694 C\n",
- "Electric flux = 40893951.8298 N m^2/c\n",
- "\n",
- "NOTE:Wrong answers in book\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.17,Page no:138"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "V=250 #potential difference in Volt\n",
- "C=10**-11 #capacitance in farad\n",
- "\n",
- "#Calculation\n",
- "q=C*V #calculating charge\n",
- "\n",
- "#Result\n",
- "print\"Charge = \",q,\"C\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Charge = 2.5e-09 C\n"
- ]
- }
- ],
- "prompt_number": 68
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.18,Page no:138"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "r=6.4*10**6 #in m\n",
- "\n",
- "#Calculation\n",
- "C=r/(9*10**9) #calculating charge\n",
- "\n",
- "#Result\n",
- "print\"Capacitance = \",round(C*10**6),\"mu F\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Capacitance = 711.0 mu F\n"
- ]
- }
- ],
- "prompt_number": 67
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.19,Page no:138"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "C=2 #capacitance in Farad\n",
- "d=0.5*10**-2 #distance in m\n",
- "eo=8.85*10**-12 #constant\n",
- "\n",
- "#Calculation\n",
- "A=(C*d)/(eo) #calculating area\n",
- "\n",
- "#Result\n",
- "print\"Area=%.2e\"%A,\"m^2\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Area=1.13e+09 m^2\n"
- ]
- }
- ],
- "prompt_number": 66
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.20,Page no:139"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "#Variable declaration\n",
- "A=0.02 #area in m square\n",
- "r=0.5 #r in m\n",
- "\n",
- "#Calculation\n",
- "d=(A/(4*(math.pi)*r)) #calculating distance\n",
- "\n",
- "#Result\n",
- "print\"Distance between the plates = \",round(d*1000,2),\"mm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Distance between the plates = 3.18 mm\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.21,Page no:139"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "eo=8.85*10**-12 #constant\n",
- "A=1 #area in m square\n",
- "d=2*10**-3 #r in m\n",
- "K=4 #constant\n",
- "\n",
- "#Calculation\n",
- "C=(K*eo*A)/d #calculating capacitance\n",
- "\n",
- "#Result\n",
- "print\"Capacitance = \",C,\"Farad\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Capacitance = 1.77e-08 Farad\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.22,Page no:140"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "cm=10*10**-6 #capacitance in Farad\n",
- "K=2 #constant\n",
- "\n",
- "#Calculation\n",
- "co=cm/K #calculating co\n",
- "\n",
- "#Result\n",
- "print\"capacity of capacitor with air between the plates= \",co*10**6,\"muF\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "capacity of capacitor with air between the plates= 5.0 muF\n"
- ]
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.23,Page no:140"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "v=100.0 #v in volt\n",
- "c1=8.0*10**-6 #capacitance in Farad\n",
- "c2=12.0*10.0**-6 #capacitance in Farad\n",
- "c3=24.0*10.0**-6 #capacitance in Farad\n",
- "cs=4.0/(10.0**6) #calculating series capacitance\n",
- "\n",
- "#Calculation\n",
- "cp=(c1+c2+c3) #calculating parallel capacitance\n",
- "qs=cs*v #calculating charge\n",
- "\n",
- "#Result\n",
- "print\"Equivalent Series capacitance,C= \",cs*10**6,\"muF\"\n",
- "print\"Equivalent parallel capacitance,Cp= \",cp*10**6,\"muF\" \n",
- "print\"charge on plate=%.e\"%qs,\"C\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Equivalent Series capacitance,C= 4.0 muF\n",
- "Equivalent parallel capacitance,Cp= 44.0 muF\n",
- "charge on plate=4e-04 C\n"
- ]
- }
- ],
- "prompt_number": 48
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.24,Page no:141"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "C=9*10**-10 #capacitance in farad\n",
- "V=100.0 #in volt\n",
- "\n",
- "#Calculation\n",
- "U=(1/2.0)*(C*(V**2)) #calculating energy stored\n",
- "\n",
- "#Result\n",
- "print\"Energy stored = \",U,\"J\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Energy stored = 4.5e-06 J\n"
- ]
- }
- ],
- "prompt_number": 50
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.25,Page no:141"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "eo=8.85*10**-12 #constant\n",
- "A=90.0*10**-4 #area in m square\n",
- "d=2.5*10**-3 #distance in m\n",
- "V=400.0 #in volt\n",
- "\n",
- "#Calculation\n",
- "C=(eo*A)/d #calculating capacitance\n",
- "W=(1/2.0)*(C*(V**2)) #calculating electrical energy stored\n",
- "\n",
- "#Result\n",
- "print\"Capacitance = \",C,\"Farad\"\n",
- "print\"Electrical Energy stored in capacitor =%.2e\"%W,\"J\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Capacitance = 3.186e-11 Farad\n",
- "Electrical Energy stored in capacitor =2.55e-06 J\n"
- ]
- }
- ],
- "prompt_number": 56
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.26,Page no:142"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "v=100 #v in volt\n",
- "c1=1*10**-6 #capacitance in Farad\n",
- "c2=2*10**-6 #capacitance in Farad\n",
- "c3=3*10**-6 #capacitance in Farad\n",
- "cs=6/11.0 #calculating series capacitance\n",
- "\n",
- "#Calculation\n",
- "cp=(c1+c2+c3) #calculating parallel capacitance\n",
- "\n",
- "#Result\n",
- "print\"Equivalent Series capacitance = \",cs,\"muF\"\n",
- "print\"Equivalent parallel capacitance= \",cp*10**6,\"muF\"\n",
- "print\"Therefore Cp=(11*Cs)\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Equivalent Series capacitance = 0.545454545455 muF\n",
- "Equivalent parallel capacitance= 6.0 muF\n",
- "Therefore Cp=(11*Cs)\n"
- ]
- }
- ],
- "prompt_number": 60
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:4.27,Page no:143"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "eo=8.85*10**-12 #constant\n",
- "V=6 #v in volt\n",
- "A=25*10**-4 #area in m square\n",
- "d=10**-3 #distance in m\n",
- "\n",
- "#Calculation\n",
- "q=(eo*A*V)/d #calculating charge\n",
- "W=q*V #calculating work done\n",
- "\n",
- "#Result\n",
- "print\"Charge through battery =%.3g\"%q,\"C\"\n",
- "print\"Work done by Battery=%.e\"%W,\"J\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Charge through battery =1.33e-10 C\n",
- "Work done by Battery=8e-10 J\n"
- ]
- }
- ],
- "prompt_number": 63
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter5.ipynb b/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter5.ipynb
deleted file mode 100644
index 581d450b..00000000
--- a/A_Comprehensive_Textbook_Of_Applied_Physics_/Chapter5.ipynb
+++ /dev/null
@@ -1,1035 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:1f51544adf15fc8ba28e47ac7da1a371a1d8835331773ecfcfa211468f9b325d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "UNIT-5 Electricity"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.1,Page no:152"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "n=10**6 #no. of electrons\n",
- "e=1.6*10**-19 #charge on an electron in C\n",
- "\n",
- "#Calculation\n",
- "q=n*e #calculating total charge\n",
- "t=10**-3 #time in second\n",
- "I=q/t #calculating current\n",
- "\n",
- "#Result\n",
- "print\"Current flowing = \",I,\"Ampere\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Current flowing = 1.6e-10 Ampere\n"
- ]
- }
- ],
- "prompt_number": 71
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.2,Page no:152"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "I=300*10**-3 #current n Ampere\n",
- "t=60 #time in second\n",
- "e=1.6*10**-19 #chatge on electron in C\n",
- "\n",
- "#Calculation\n",
- "q=I*t #calculating charge\n",
- "n=q/e #calculating no of electrons\n",
- "\n",
- "#Result\n",
- "print\"No. of electrons = \",n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "No. of electrons = 1.125e+20\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.3,Page no:154"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "V=200 #voltage in volt\n",
- "R=100 #resistance in Ohm\n",
- "e=1.6*10**-19 #charge on an electron in C\n",
- "\n",
- "#Calculation\n",
- "I=V/R #Ohm's law\n",
- "t=1 #time in second\n",
- "q=I*t #calculating charge\n",
- "n=q/e #calculating no of electrons\n",
- "\n",
- "#Result\n",
- "print\"No. of electrons = \",n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "No. of electrons = 1.25e+19\n"
- ]
- }
- ],
- "prompt_number": 72
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.4,Page no:156"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "l=15 #length in m\n",
- "A=6*10**-7 #area in m square\n",
- "R=5 #resistance in Ohm\n",
- "\n",
- "#Calculation\n",
- "p=(A*R)/l #calculating resistivity\n",
- "\n",
- "#Result\n",
- "print\"Resistivity= \",p,\"Ohm metre\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resistivity= 2e-07 Ohm metre\n"
- ]
- }
- ],
- "prompt_number": 73
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.5,Page no:157"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "l=0.1 #length in m\n",
- "A=10**-4 #area in m square\n",
- "R=0.01 #resistance in Ohm\n",
- "\n",
- "#Calculation\n",
- "p=(A*R)/l #calculating resistivity\n",
- "\n",
- "#Result\n",
- "print\"Resistivity = \",p,\"Ohm metre\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resistivity = 1e-05 Ohm metre\n"
- ]
- }
- ],
- "prompt_number": 74
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.6,Page no:157"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math \n",
- "\n",
- "#Variable declaration\n",
- "L=1 #length in m\n",
- "r=0.2*10**-3 #radius in m\n",
- "R=2 #resistance in Ohm\n",
- "\n",
- "#Calculation\n",
- "A=math.pi*(r)**2 #calculating area\n",
- "P=(R*A)/L #calculating resistivity\n",
- "\n",
- "#Result\n",
- "print\"Resistivity =%.2g\"%P,\"Ohm.metre\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resistivity =2.5e-07 Ohm.metre\n"
- ]
- }
- ],
- "prompt_number": 38
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.7,Page no:158"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "R1=5 #resisitance in Ohm\n",
- "\n",
- "#Calculation\n",
- "#A2=A/3\n",
- "#R2/5=3l*3/A*A/l\n",
- "#R2=9*5\n",
- "\n",
- "R2=9*R1 #calculating using R2/A1=(l2/A2)*(A1/l1)\n",
- "print\"Resisitance = \",R2,\"Ohm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resisitance = 45 Ohm\n"
- ]
- }
- ],
- "prompt_number": 75
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.8,Page no:159"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "R1=5 #resisitance in Ohm\n",
- "\n",
- "#Calculation\n",
- "#A2=A/2\n",
- "#R1=rho*l1/A1*R2\n",
- "#R2=rho*l2/A2\n",
- "#R2/R1=A1/l1\n",
- "R2=4*R1 #calculating using R2/A1=(l2/A2)*(A1/l1)\n",
- "\n",
- "#Result\n",
- "print\"Resisitance= \",R2,\"Ohm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resisitance= 20 Ohm\n"
- ]
- }
- ],
- "prompt_number": 70
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.9,Page no:162"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "R1=2 #resisitance in Ohm\n",
- "R2=4 #resistance in Ohm\n",
- "R3=5 #resistance in Ohm\n",
- "\n",
- "#Calculation\n",
- "R=(R1**-1)+(R2**-1)+(R3**-1) #calculating parallel resistance\n",
- "Rp=(1/R) \n",
- "\n",
- "#Result\n",
- "print\"Resisitance = \",Rp,\"Ohm\"\n",
- "print\"\\nNOTE:Incorrect answer in book\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resisitance = 1.05263157895 Ohm\n",
- "\n",
- "NOTE:Incorrect answer in book\n"
- ]
- }
- ],
- "prompt_number": 39
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.10,Page no:163"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from scipy.optimize import fsolve \n",
- "\n",
- "#Variable declaration\n",
- "Rs=40 #resisitance in Ohm\n",
- "\n",
- "#Calculation\n",
- "#R1+R2=40\n",
- "#R1*R2=256\n",
- "#R1=256/R2\n",
- "#Putting this value in eq 1:\n",
- "#(256/R2)+R2=40\n",
- "from sympy import solve, symbols, pprint\n",
- "R2= symbols('R2')\n",
- "a=1\n",
- "b=-40\n",
- "c=256\n",
- "f = a*R2**2 + b*R2 + c\n",
- "solution = solve(f, R2)\n",
- "\n",
- "#Result\n",
- "print\"When R2=\",solution[0],\"Ohm R1=\",solution[1],\"Ohm\"\n",
- "print\"When R2=\",solution[1],\"Ohm R1=\",solution[0],\"Ohm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "When R2= 8 Ohm R1= 32 Ohm\n",
- "When R2= 32 Ohm R1= 8 Ohm\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.11,Page no:164"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "V=2.0 #in volts\n",
- "R1=30.0 #resisitance in Ohm\n",
- "R2=60.0 #resistance in Ohm\n",
- "\n",
- "#Calculation\n",
- "Rp=(R1*R2)/(R1+R2) #calculating parallel resistance\n",
- "I=V/Rp #Ohm's law\n",
- "\n",
- "#Result\n",
- "print\"Resisitance = \",Rp,\"Ohm\"\n",
- "print\"Current = \",I,\"A\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resisitance = 20.0 Ohm\n",
- "Current = 0.1 A\n"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.12,Page no:165"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "R1=2.0 #resisitance in Ohm\n",
- "R2=3.0 #resistance in Ohm\n",
- "R3=1.0 #resistance in Ohm\n",
- "\n",
- "#Calculation\n",
- "Rp=(R1*R2)/(R1+R2) #calculating parallel resistance\n",
- "R=Rp+1.0 #1 Ohm in series\n",
- "Rs=(R1+R2+R3) #series resistances\n",
- "Rp=(1.0/R1)+(1.0/R2)+(1.0/R3) #calculating parallel resistance\n",
- "\n",
- "#Result\n",
- "print\"(1)Equivalent Resisitance= \",R,\"Ohm\" \n",
- "print\"(2)All resistances in series = \",Rs,\"Ohm\"\n",
- "print\"(3)All in Parallel = \",(1/Rp),\"Ohm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(1)Equivalent Resisitance= 2.2 Ohm\n",
- "(2)All resistances in series = 6.0 Ohm\n",
- "(3)All in Parallel = 0.545454545455 Ohm\n"
- ]
- }
- ],
- "prompt_number": 76
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.13,Page no:166"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "V=20 #voltage in Volts\n",
- "R1=2.0 #resisitance in Ohm\n",
- "R2=4.0 #resistance in Ohm\n",
- "R3=5.0 #resistance in Ohm\n",
- "\n",
- "#Calculation\n",
- "Rp=(1/R1)+(1/R2)+(1/R3) #calculating parallel resistance\n",
- "R=1/Rp #Parallel\n",
- "I1=V/R1 #calculating current through R1\n",
- "I2=V/R2 #calculating current through R2\n",
- "I3=V/R3 #calculating current through R3\n",
- "I=V/R #calculating total current\n",
- "\n",
- "\n",
- "#Result\n",
- "print\"(a)Equivalent Resisitance = \",R,\"Ohm\"\n",
- "print\"Current through R1 = \",I1,\"Ampere\"\n",
- "print\"Current through R2 = \",I2,\"Ampere\" \n",
- "print\"Total current = \",I,\"Ampere\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a)Equivalent Resisitance = 1.05263157895 Ohm\n",
- "Current through R1 = 10.0 Ampere\n",
- "Current through R2 = 5.0 Ampere\n",
- "Total current = 19.0 Ampere\n"
- ]
- }
- ],
- "prompt_number": 30
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.14,Page no:166"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration\n",
- "R=7 #Total resistanc of combination\n",
- "\n",
- "#Calculation\n",
- "def f(n):\n",
- " Rp = 6*(1/n) #resistance in parallel\n",
- " return(R-Rp-5)\n",
- "n=fsolve(f,1)\n",
- "\n",
- "#Result\n",
- "print\"n=\",n[0]"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n= 3.0\n"
- ]
- }
- ],
- "prompt_number": 33
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.15,Page no:173"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "R1=2 #resistance in Ohm\n",
- "R2=6 #resistance in Ohm\n",
- "R3=3 #resistance in Ohm\n",
- "V=24 #voltage in volts\n",
- "R=8 #resistance in Ohm\n",
- "\n",
- "#Calculation\n",
- "I=V/R #Ohm's Law\n",
- "V1=I*R1 #Ohm's Law\n",
- "V2=I*R2 #Ohm's Law\n",
- "V3=I*R3 #Ohm's Law\n",
- "\n",
- "#Result\n",
- "print\"Current = \",I,\"Ampere\" \n",
- "print\"Voltage drop across R1 = \",V1,\"Volts\"\n",
- "print\"Voltage drop across R2 = \",V2,\"Volts\" \n",
- "print\"Voltage drop across R3 = \",V3,\"Volts\"\n",
- "print\"\\nNOTE:Wrong answer of R3 in book\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Current = 3 Ampere\n",
- "Voltage drop across R1 = 6 Volts\n",
- "Voltage drop across R2 = 18 Volts\n",
- "Voltage drop across R3 = 9 Volts\n",
- "\n",
- "NOTE:Wrong answer of R3 in book\n"
- ]
- }
- ],
- "prompt_number": 36
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.16,Page no:173"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "R=15 #resistance in Ohm\n",
- "print\"KVL: 16I1+15I2=6 (1)\" #KVL equation\n",
- "I1=-1.66 #from(1)\n",
- "I2=2.17 #from (1)\n",
- "#Calculation\n",
- "V=(I1+I2)*R #calculating potential difference\n",
- "\n",
- "#Result\n",
- "print\"Potential difference= \",V,\"Volt\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "KVL: 16I1+15I2=6 (1)\n",
- "Potential difference= 7.65 Volt\n"
- ]
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.17,Page no:174"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print\"3I1-I2-1=0 (1)\" #KVL equation\n",
- "print\"3I1-I2+2I=2 (2)\" #KVL equation\n",
- "print\"3I1-I1+2I=2 (3)\" #KVL equation\n",
- "\n",
- "#Variable declaration\n",
- "I1=4/17.0 #from (1)(2)(3)through AB \n",
- "I2=-2/17.0 #from (1)(2)(3)through BD\n",
- "I=3*I1+I2 #from (1)(2)(3)through main circuit\n",
- "\n",
- "#Calculation\n",
- "Ibc=I1-I2 #calculating current in BC\n",
- "Iad=I-I1 #calculating current in AD\n",
- "Idc=I-I1+I2 #calculating current in DC\n",
- "\n",
- "#Result\n",
- "print\"Current in branch BC = \",Ibc,\"Ampere\"\n",
- "print\"NOTE:Calculation mistake in book while calculating for BC\"\n",
- "print\"Current in branch AD = \",Iad,\"Ampere\"\n",
- "print\"Current in branch DC = \",Idc,\"Ampere\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "3I1-I2-1=0 (1)\n",
- "3I1-I2+2I=2 (2)\n",
- "3I1-I1+2I=2 (3)\n",
- "Current in branch BC = 0.352941176471 Ampere\n",
- "NOTE:Calculation mistake in book while calculating for BC\n",
- "Current in branch AD = 0.352941176471 Ampere\n",
- "Current in branch DC = 0.235294117647 Ampere\n"
- ]
- }
- ],
- "prompt_number": 77
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.18,Page no:176"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "P=10 #Ohm\n",
- "Q=3 #Ohm\n",
- "R=12 #Ohm\n",
- "S=6 #Ohm\n",
- "G=20 #Ohm\n",
- "\n",
- "\n",
- "#Calculation\n",
- "print\"-12I+22I1+IgG=0 (1)\" #KVL\n",
- "print\"6I-9I1+29Ig=0 (2)\" #KVL\n",
- "print\"13I1-3Ig=2 (3)\" #KVL\n",
- "#From above equations\n",
- "import numpy as np\n",
- "a = np.array([[-12,22,20],[6,-9,29],[0,13,-3]]) \n",
- "b = np.array([[0],[0],[2]])\n",
- "np.linalg.solve(a,b)\n",
- "\n",
- "\n",
- "#Result\n",
- "print\"Current through Galvanometer = \",round(Ig*1000,2),\"mA\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-12I+22I1+IgG=0 (1)\n",
- "6I-9I1+29Ig=0 (2)\n",
- "13I1-3Ig=2 (3)\n",
- "Current through Galvanometer = 7.8 mA\n"
- ]
- }
- ],
- "prompt_number": 78
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.19,Page no:179"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "P=500 #power in Watts\n",
- "V=200 #voltage in Volts\n",
- "V1=160 #voltage in Volts\n",
- "\n",
- "#Calculation\n",
- "R=(V**2)/P #using P=V**2*R\n",
- "P1=(V1**2)/R #calculating power\n",
- "Dp=500-P1 #drop in heat\n",
- "D=(Dp*100)/500 #percentage drop\n",
- "\n",
- "#Result\n",
- "print\"Resistance= \",R,\"Ohm\"\n",
- "print\"% Drop in heat production = \",D,\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resistance= 80 Ohm\n",
- "% Drop in heat production = 36 %\n"
- ]
- }
- ],
- "prompt_number": 79
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.20,Page no:180"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration\n",
- "P1=100 #power in Watts\n",
- "P2=500 #power in Watts\n",
- "\n",
- "#Calculation\n",
- "P=P2/P1 #ratio\n",
- "\n",
- "#Result\n",
- "print \"P=\",P\n",
- "print\"P>0,I2=5I Therefore I2>I1\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "P= 5\n",
- "P>0,I2=5I Therefore I2>I1\n"
- ]
- }
- ],
- "prompt_number": 80
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.21,Page no:181"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "t=1200 #time in second\n",
- "P=100 #power in Watts\n",
- "V=230 #voltage in Volts\n",
- "\n",
- "#Calculation\n",
- "R=(V**2)/P #calculating resistance\n",
- "V1=115 #supply voltage in Volts\n",
- "E=((V1**2)*t)/R #calculating energy\n",
- "\n",
- "#Result\n",
- "print\"Energy dissipated by bulb = \",E,\"J\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Energy dissipated by bulb = 30000 J\n"
- ]
- }
- ],
- "prompt_number": 81
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.22,Page no:181"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration\n",
- "P=10**4 #power in Watts\n",
- "V=250 #voltage in Volts\n",
- "R=0.2 #resistance in ohm\n",
- "\n",
- "#Calculation\n",
- "Pl=((P/V)*(P/V))*R #calculating power loss\n",
- "print P1\n",
- "E=P/(Pl+P) #calculating efficiency\n",
- "\n",
- "#Result\n",
- "print\"Percent Efficiency = \",round(E*100),\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "100\n",
- "Percent Efficiency = 97.0 %\n"
- ]
- }
- ],
- "prompt_number": 56
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.23,Page no:182"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration \n",
- "P=100.0 #power in Watts\n",
- "V=220.0 #voltage in Volts\n",
- "\n",
- "#Calculation\n",
- "I=P/V #Current in Ampere\n",
- "R=V/I #resistance\n",
- "\n",
- "#Result\n",
- "print\"Current = \",round(I,3),\"A\" \n",
- "print\"Resistance=\",R,\"Ohm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Current = 0.455 A\n",
- "Resistance= 484.0 Ohm\n"
- ]
- }
- ],
- "prompt_number": 59
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example no:5.24,Page no:182"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration \n",
- "V=50 #voltage in Volts\n",
- "I=12 #Current in Ampere\n",
- "\n",
- "#Calculation\n",
- "P=V*I #power\n",
- "Pd=P*0.7 #power dissipated\n",
- "R=(Pd/(I)**2) \n",
- "\n",
- "#Result\n",
- "print\"Resistance = \",round(R,2),\"Ohm\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resistance = 2.92 Ohm\n"
- ]
- }
- ],
- "prompt_number": 82
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/A_Comprehensive_Textbook_Of_Applied_Physics_/README.txt b/A_Comprehensive_Textbook_Of_Applied_Physics_/README.txt
deleted file mode 100644
index 121834de..00000000
--- a/A_Comprehensive_Textbook_Of_Applied_Physics_/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Deepak Shakya
-Course: btech
-College/Institute/Organization: DCRUST
-Department/Designation: Chemical Engg
-Book Title: A Comprehensive Textbook Of Applied Physics
-Author: M. Kumar
-Publisher: Abhishek Publications,Chandigarh
-Year of publication: 2009
-Isbn: 978-81-8247-226-6
-Edition: 1 \ No newline at end of file
diff --git a/A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k1.png b/A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k1.png
deleted file mode 100644
index 995e3ebf..00000000
--- a/A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k1.png
+++ /dev/null
Binary files differ
diff --git a/A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k2.png b/A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k2.png
deleted file mode 100644
index f0b1ec67..00000000
--- a/A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k2.png
+++ /dev/null
Binary files differ
diff --git a/A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k3.png b/A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k3.png
deleted file mode 100644
index 90f96617..00000000
--- a/A_Comprehensive_Textbook_Of_Applied_Physics_/screenshots/k3.png
+++ /dev/null
Binary files differ
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/README.txt b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/README.txt
deleted file mode 100644
index dad00691..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Ashutosh Kumar
-Course: btech
-College/Institute/Organization: Indian Institute of Technology - Bombay, CHAR Lab 2
-Department/Designation: Electrical Department
-Book Title: C++ in Action - Industrial-Strength Programming Techniques
-Author: Bartosz Milewski
-Publisher: Addison Wesley Publishing Company
-Year of publication: 2001
-Isbn: 0201699486
-Edition: 1st \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch1.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch1.ipynb
deleted file mode 100644
index 834bacf2..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch1.ipynb
+++ /dev/null
@@ -1,284 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:2af50dca95bb8940069ca1eefad39c58f8f97bbf13a194cd9fff16b4f6521b4f"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter One : Naming"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 1.1 Page no : 2 \n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "strL = 0 # Not recommended\n",
- "stringLength = 0 # Recommended"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2 Page no : 3\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class EmcFruit:\n",
- " def print_(self):\n",
- " pass\n",
- "\n",
- "class EmcApple(EmcFruit):\n",
- " def print_(self):\n",
- " pass\n",
- "\n",
- "fp = EmcApple()\n",
- "print fp "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "<__main__.EmcApple instance at 0x9d29c8c>\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 1.3 Page no : 4\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Point:\n",
- " def __init__(self,a,b):\n",
- " self.x = a\n",
- " self.y = b\n",
- " def x1(self,a):\n",
- " self.x = a\n",
- "\n",
- "p = Point(0,0) # a point in a 2-dimensional space\n",
- "p.x1(1); # set X-coordinate\n",
- "print p.x # prints X-coordinate, \"1\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 1.4 page no : 4\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def check_assign(a,i,t):\n",
- " if (i < len(a)):\n",
- " a[i] = t;"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 1.5 Page no : 6\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class String:\n",
- " pass\n",
- "\n",
- "class DynamicArray:\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 1.6 page no : 6\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "a = 'aaa' \n",
- "s1 = 'xyz'\n",
- "s = 'abc' # Emc::String s;\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 1.8 page no : 7\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "s1 = EmcString() # Belongs to the Emc Class Library\n",
- "s2 = OtherString() # Belongs to the Other Class Library"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "NameError",
- "evalue": "name 'EmcString' 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-7-16beeed526dd>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mNote\u001b[0m \u001b[1;33m:\u001b[0m \u001b[0mthis\u001b[0m \u001b[0mwill\u001b[0m \u001b[0mgive\u001b[0m \u001b[0merror\u001b[0m \u001b[0mbecause\u001b[0m \u001b[0mfile\u001b[0m \u001b[0mdoesn\u001b[0m\u001b[0;31m'\u001b[0m\u001b[0mt\u001b[0m \u001b[0mhave\u001b[0m \u001b[1;32mclass\u001b[0m \u001b[0mEmcString\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mOtherString\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m '''\n\u001b[1;32m----> 6\u001b[1;33m \u001b[0ms1\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mEmcString\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m# Belongs to the Emc Class Library\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 7\u001b[0m \u001b[0ms2\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mOtherString\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m# Belongs to the Other Class Library\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;31mNameError\u001b[0m: name 'EmcString' is not defined"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 1.9 Page no : 8\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import RWCstring #include \"RWCstring.h\" /* Recommended */\n",
- "from rw import cstring #include \"rw/cstring.h\" /* Sometimes needed */"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "ImportError",
- "evalue": "No module named RWCstring",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)",
- "\u001b[1;32m<ipython-input-8-4593d91551b4>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[0mNote\u001b[0m \u001b[1;33m:\u001b[0m \u001b[0mthis\u001b[0m \u001b[0mwould\u001b[0m \u001b[0mgive\u001b[0m \u001b[0merror\u001b[0m \u001b[0mbecause\u001b[0m \u001b[0mwe\u001b[0m \u001b[0mdont\u001b[0m \u001b[0mhave\u001b[0m \u001b[0mpackages\u001b[0m \u001b[0mwritten\u001b[0m \u001b[0mhere\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m '''\n\u001b[1;32m----> 7\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mRWCstring\u001b[0m \u001b[1;31m#include \"RWCstring.h\" /* Recommended */\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 8\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mrw\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mcstring\u001b[0m \u001b[1;31m#include \"rw/cstring.h\" /* Sometimes needed */\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;31mImportError\u001b[0m: No module named RWCstring"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 1.10 page no : 9\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "i__j = 11;\n",
- "_K = 22;\n",
- "_m = 33;\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch10.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch10.ipynb
deleted file mode 100644
index 52781089..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch10.ipynb
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:70f9ab632bffbd9fecc3bdcee575cac266cb09d4df74fddec4e595d028f134df"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1> Chapter Ten : Object-oriented programming </h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.1 page no :105"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "s = \"hello\" # length() == 5\n",
- "print s\n",
- "print len(s)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "hello\n",
- "5"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 10.2 page no : 106"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "s = \"Hello\"\n",
- "\n",
- "s = s.lower()\n",
- "print s"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "hello"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> example 10.3 page no :107"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class EmcCollection:\n",
- " \n",
- " def insert(self,t):\n",
- " pass\n",
- " \n",
- " def operator(self, coll):\n",
- " pass\n",
- "\n",
- "class EmcArrayCollection(EmcCollection):\n",
- " initialSize = 10\n",
- "\n",
- " def __init__(self,maxsize):\n",
- " pass\n",
- "\n",
- "\n",
- "class InvalidCollectionType(EmcException):\n",
- " \n",
- " def __init__(self,i):\n",
- " pass\n",
- "\n",
- "class EmcCollectionFactory:\n",
- " def __init__(self):\n",
- " pass\n",
- "\n",
- " def create(self,type):\n",
- " pass\n",
- "\n",
- " def createArray(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "NameError",
- "evalue": "name 'EmcException' is not defined",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m/home/jay/<ipython-input-3-5d8a499d2644>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 23\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 24\u001b[0;31m \u001b[0;32mclass\u001b[0m \u001b[0mInvalidCollectionType\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mEmcException\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 25\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mNameError\u001b[0m: name 'EmcException' is not defined"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>example 10.4 page no :109"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "factory = EmcCollectionFactory()\n",
- "collection = factory.create(ArrayId)\n",
- "collection.insert(42); # EmcArrayCollection<int>::insert() is called\n",
- "print collection"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "NameError",
- "evalue": "name 'EmcCollectionFactory' is not defined",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m/home/jay/<ipython-input-4-9ee6096719fb>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m '''\n\u001b[1;32m 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mfactory\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mEmcCollectionFactory\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0mcollection\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfactory\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcreate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mArrayId\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0mcollection\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minsert\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m42\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m \u001b[0;31m# EmcArrayCollection<int>::insert() is called\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mNameError\u001b[0m: name 'EmcCollectionFactory' is not defined"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>example 10.5 page no : 111"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class EmcCollection:\n",
- " def __del__(self):\n",
- " pass\n",
- "\n",
- "class EmcArrayCollection( EmcCollection):\n",
- " def __del__(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>example 10.6 page no :112"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class EmcLogged:\n",
- " def writeClassName(self,o):\n",
- " pass\n",
- "\n",
- " def writeValue(self,o):\n",
- " pass\n",
- "\n",
- " def logMessage(self,message):\n",
- " pass\n",
- "\n",
- " def __del__(self):\n",
- " pass\n",
- "\n",
- "class EmcLoggedCollection(EmcCollection):\n",
- "\n",
- " def writeValue(self,o):\n",
- " pass\n",
- "\n",
- " def __del__(self):\n",
- " pass "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 10.7 Page no : 117"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "\n",
- "class EmcIntStack:\n",
- " def empty(self):\n",
- " pass\n",
- "\n",
- " def full(self):\n",
- " pass\n",
- " \n",
- " def top(self):\n",
- " pass\n",
- " \n",
- " def push(self,i):\n",
- " pass\n",
- " \n",
- " def pop(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 10.8 Page no : 117"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "def makeString(stack):\n",
- " returnValue = ''\n",
- " copy = stack\n",
- " while (not copy.empty()):\n",
- " # loop condition makes precondition valid\n",
- " print copy.pop() # Precondition: ! copy.empty()\n",
- " returnValue += copy.pop\n",
- "\n",
- " return returnValue;"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 10.9 page no : 118"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "class EmcString:\n",
- " def cStr(self):\n",
- " pass\n",
- " # cStr() returns 0-terminated string\n",
- "\n",
- " def length(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 10.10 page no : 119"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "class EmcCollection:\n",
- " def __del__(self):\n",
- " pass\n",
- "\n",
- " def insert(self,T):\n",
- " pass\n",
- "\n",
- " def clear(self):\n",
- " pass\n",
- "\n",
- " def remove(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 10.11 page no : 120"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "factrory = EmcCollectionFactory()\n",
- "collection = factory.create(ArrayId);\n",
- "if (not collection.isFull()):\n",
- " collection.insert(42);"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "NameError",
- "evalue": "name 'EmcCollectionFactory' is not defined",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m/home/jay/<ipython-input-11-0508dec5ea10>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m '''\n\u001b[1;32m 6\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0mfactrory\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mEmcCollectionFactory\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0mcollection\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfactory\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcreate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mArrayId\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;32mnot\u001b[0m \u001b[0mcollection\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0misFull\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mNameError\u001b[0m: name 'EmcCollectionFactory' is not defined"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 10.12 page no : 121"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "def insertObject(c,element):\n",
- " \n",
- " if (not c.isFull()):\n",
- " c.insert(element)\n",
- " return True\n",
- " return False"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 10.13 Page no : 121"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "def insert(T):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 10.14 page no : 123"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "class EmcCollection:\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 10.15 page no : 124"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class EmcCollection:\n",
- " def templateRequirements(self):\n",
- " pass\n",
- "\n",
- " def templateRequirements(self):\n",
- " \n",
- " t1 = T1()\n",
- " \n",
- " t2 =t1\n",
- "\n",
- " t2 = t1;\n",
- " # Assignable\n",
- " b = (t2 == t1); # EqualityComparable"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch11.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch11.ipynb
deleted file mode 100644
index 9dc6882e..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch11.ipynb
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:2e265a79f479b0afc28156201c75dda9d71f161b6acb07438df53ecda65f24e0"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter Eleven : Assertions"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 11.1 page no : 130"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "def check(answer):\n",
- " assert answer ==42"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 11.2 page no : 131"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class EmcString:\n",
- " def at(self,index):\n",
- " if (index >= self.lengthM):\n",
- " raise Exception;\n",
- " return self.cpM[index];\n",
- "\n",
- " # Unchecked version\n",
- " def operator(self,index):\n",
- " assert(index < self.lengthM)\n",
- " return self.cpM[index];"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch12.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch12.ipynb
deleted file mode 100644
index a4d7907e..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch12.ipynb
+++ /dev/null
@@ -1,363 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:3fda869111a137bc83ae4b79f3c57ac84f247031c3e08ac7d6dfb9bb168b3105"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter Twelve : Error handling"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.1 page no : 135"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "socketfd = socket(AF_UNIX, SOCK_STREAM, 0);\n",
- "if(socketfd < 0):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "NameError",
- "evalue": "name 'socket' is not defined",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m/home/jay/<ipython-input-1-7161141a3c7c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;34m//\u001b[0m \u001b[0mcreate\u001b[0m \u001b[0msocket\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m '''\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0msocketfd\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msocket\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mAF_UNIX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mSOCK_STREAM\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 13\u001b[0m \u001b[0;32mif\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msocketfd\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mNameError\u001b[0m: name 'socket' is not defined"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.2 page no : 136"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class EmcException:\n",
- " def operator(self,n):\n",
- " pass\n",
- "\n",
- "class EmcSystemException( EmcException):\n",
- " def __init__(self,m):\n",
- " pass\n",
- " \n",
- " def emcSocket(self,family,t,protocol):\n",
- " # create socket\n",
- " socketfd = socket(family, t, protocol);\n",
- " if (socketfd < 0): # check status value\n",
- " raise EmcSystemException(\"emcSocket\");\n",
- " return socketfd;"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.3 page no : 139"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "def __init__(self,cp):\n",
- " self.lengthM = len(cp)\n",
- " self.cpM = cp"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.5 page no : 141"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class EmcLog:\n",
- " def __init__(self,filename):\n",
- " pass\n",
- "\n",
- " def message(self,EmcString):\n",
- " pass\n",
- "\n",
- " def __del__(self):\n",
- " if uncaught_exception():\n",
- " self.flush()\n",
- " \n",
- " def flush(self):\n",
- " if ( not uncaught_exception()):\n",
- " raise EmcSystemException(\"EmcLog::flush()\")"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.6 page no : 142"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class EmcException:\n",
- " def __init__(self,m):\n",
- " maxSizeM = 100\n",
- " actualLength = len(m);\n",
- " self.lengthM = min(maxSizeM,actualLength);\n",
- " self.messageM = message"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.7"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "def f():\n",
- " ip = 1\n",
- " g(ip)\n",
- "\n",
- "\n",
- "def g(i):\n",
- " raise Exception(i)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.8 page no : 146"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "def f():\n",
- " ip = 1\n",
- " g(ip)\n",
- "\n",
- "def g(i):\n",
- " raise Exception(i)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.9 page no :146"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "def f():\n",
- " ip = 1\n",
- " g(ip)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.10 page no : 148"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class EmcStack:\n",
- " defaultSizeM = 100\n",
- " def __init__(self,size = 100):\n",
- " pass\n",
- "\n",
- " def __del__(self):\n",
- " pass\n",
- "\n",
- " def operator(self,s):\n",
- " pass\n",
- "\n",
- " def empty(self):\n",
- " pass\n",
- " \n",
- " def top(self):\n",
- " pass\n",
- "\n",
- " def push(self,i):\n",
- " pass\n",
- " \n",
- " def pop(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.12 page no : 151"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class EmcException:\n",
- " def __init__(self,m):\n",
- " pass\n",
- " \n",
- " def operator(self,o,EmcException):\n",
- " pass\n",
- "\n",
- " def printOn(self,o): \n",
- " print self.messageM;"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.13 page no : 153"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "try:\n",
- " socketfd = emcSocket(AF_UNIX, SOCK_STREAM, 0);\n",
- "except Exception,e:\n",
- " print e"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "name 'emcSocket' is not defined"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 12.14 page no : 155"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "def at(s,pos):\n",
- " if (pos > len(s)):\n",
- " raise Exception;"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch13.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch13.ipynb
deleted file mode 100644
index a23bdf0e..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch13.ipynb
+++ /dev/null
@@ -1,352 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:121cbe714f8e854e8d9ce1fe8dcdc370535cc7140b2f83bdae09063602e644f9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1> Chapter Thirteen : Parts of C++ to avoid"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.1 page no : 159"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "s = 'abc' #raw_input()\n",
- "print s"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "abc"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.2 page no : 160"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class DangerousString:\n",
- " def __init__(self,cp):\n",
- " pass\n",
- " \n",
- " def char(self):\n",
- " pass\n",
- "\n",
- "hello = \"Hello World!\";\n",
- "print hello # Works perfectly\n",
- "print \"%s\"%hello"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Hello World!\n",
- "Hello World!"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.3 page no : 160"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class EmcString:\n",
- " def __init__(self,cp):\n",
- " pass\n",
- "\n",
- "\n",
- "s = \"Hello World!\";\n",
- "print s "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Hello World!"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.4 page no :161"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "SIZE = 1024;\n",
- "print SIZE"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1024"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.5 page no : 162"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class X:\n",
- " class Color:\n",
- " green = 1\n",
- " yellow = 2\n",
- " red = 3"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.6 page no : 162"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class X:\n",
- " maxBuf = 1024\n",
- " class Color:\n",
- " green = 1\n",
- " yellow = 2\n",
- " red = 3"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.7 page no : 162"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def SQUARE(x):\n",
- " return x*x\n",
- "\n",
- "i = SQUARE(3 + 4); \n",
- "print i"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "49"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.8 page no : 163"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def square(x):\n",
- " return x * x;\n",
- "c = 2;\n",
- "d = square(c)\n",
- "print d"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "4"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.9 page no : 163"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def SQUARE(x):\n",
- " return x*x\n",
- "i = SQUARE(\"hello\");\n",
- "print i"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "TypeError",
- "evalue": "can't multiply sequence by non-int of type 'str'",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m/home/jay/<ipython-input-10-df398cb9cbc0>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mSQUARE\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mi\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSQUARE\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"hello\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 9\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;32m/home/jay/<ipython-input-10-df398cb9cbc0>\u001b[0m in \u001b[0;36mSQUARE\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 5\u001b[0m '''\n\u001b[1;32m 6\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mSQUARE\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0mi\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSQUARE\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"hello\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;32mprint\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mTypeError\u001b[0m: can't multiply sequence by non-int of type 'str'"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.10 page no : 163"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#define Velocity int\n",
- "#typedef int Velocity;\n",
- "# Not recommended"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "pyout",
- "prompt_number": 11,
- "text": [
- "'\\nEXAMPLE 13.10 page no : 163\\nHow to define synonyms for a type\\nNote : Python doesnot have synonyms for type as we do not have to explicitely \\ndeclare variables.\\n'"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 13.11 page no : 164"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "def printFruits(fruits,size):\n",
- " for i in range(size):\n",
- " print fruits[i] "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch15.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch15.ipynb
deleted file mode 100644
index 32ad5666..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch15.ipynb
+++ /dev/null
@@ -1,623 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:24f5f3b754e3fd6e8afab7bcb99e41e817ec5bce9faae498ba9fb75dd53f93ff"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1> Chapter Fifteen : Portability"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.1 page no : 172"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "c = -100;\n",
- "if (c < 0):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.2 page no : 173"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class BasicAttrType:\n",
- " counterGauge = 0x1000\n",
- " counterPeg = 0x2000\n",
- " conterAcc = 0x3000\n",
- " \n",
- "\n",
- "\n",
- "t = BasicAttrType.counterGauge\n",
- "print t"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "4096"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.3 page no : 173"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "a = ''\n",
- "print a"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": []
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>example 15.5 page no : 174"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "result = 1234 * 567\n",
- "print result"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "699678"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 15.6 page no : 175"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "import math # python has only one way to importing file.\n",
- "from math import *"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>exmaple 15.7 page no : 176"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- " \n",
- "# import inc.MyFile\n",
- "# import inc.MyFile\n",
- "\n",
- "# import gui.xinterface"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "pyout",
- "prompt_number": 6,
- "text": [
- "'\\nexmaple 15.7 page no : 176\\nDirectory names in include directives\\nNote : python has . operator to import a file from directory\\n'"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.8 page no : 176"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "import math\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.9 page no : 178"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "class PersonRecord:\n",
- " ageM = ''\n",
- " phoneNumberM = 0\n",
- " nameM = ''"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.10 page no : 178"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def stepAndConvert(a,n):\n",
- " b = a + str(n) # step n chars ahead\n",
- " return b # NO: Dangerous cast of const char* to int*\n",
- "\n",
- "\n",
- "data = \"abcdefghijklmnop\"\n",
- "anInt = 3;\n",
- "i = stepAndConvert(data, anInt)\n",
- "print i"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "abcdefghijklmnop3"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.11 page no : 179"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "INT_MIN = -2147483648\n",
- "INT_MAX = 2147483647\n",
- "UINT_MAX = 4294967295\n",
- "i = 42\n",
- "ui = 2222222242;\n",
- "j = i - ui;\n",
- "print j"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-2222222200"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.12 page no : 180"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "zero = 0;\n",
- "one = 1;\n",
- "minusOne = zero - one;\n",
- "print minusOne\n",
- "result = one + minusOne;\n",
- "print result"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-1\n",
- "0"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.13 page no : 180"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "pid1 = fork(); # NO: should use pid_t\n",
- "\n",
- "pid2 = fork();"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "NameError",
- "evalue": "name 'fork' is not defined",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m/home/jay/<ipython-input-12-ef16c6a16507>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mNote\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0mIt\u001b[0m \u001b[0mwould\u001b[0m \u001b[0mshoot\u001b[0m \u001b[0merror\u001b[0m \u001b[0mbecause\u001b[0m \u001b[0mfork\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mdefined\u001b[0m \u001b[0mhere\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m '''\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mpid1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfork\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m \u001b[0;31m# NO: should use pid_t\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mpid2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfork\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mNameError\u001b[0m: name 'fork' is not defined"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.14 page no : 181"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "famousClimber = \"Edmund Hillary\"; # Uses Emc as prefix\n",
- "print famousClimber"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Edmund Hillary"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.15 page no : 183"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "class EmcArray:\n",
- " def __init__(self,size):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.16 page no : 183"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "\n",
- "false = 0;\n",
- "true = 1;"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 15
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.17 page no : 184"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "i = 0;\n",
- "for i in range(last()):\n",
- " pass\n",
- "\n",
- "for i in range(first()):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "NameError",
- "evalue": "name 'last' is not defined",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m/home/jay/<ipython-input-16-119935826b55>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m '''\n\u001b[1;32m 6\u001b[0m \u001b[0mi\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m;\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlast\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 8\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mNameError\u001b[0m: name 'last' is not defined"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.18 page no : 185"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "def emcMax(a, b):\n",
- " if a>b:\n",
- " return a\n",
- " return b\n",
- "\n",
- "def foo(i,j):\n",
- " m = emcMax(i, j); # usage of emcMax\n",
- "\n",
- "q = 0 # usage of class EmcQueue<int> and\n",
- "s = 0 # EmcQueue<int>:s default constructor"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.19 page no : 186"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "class EmcQueue:\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.20 page no : 187"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "class DangerousString:\n",
- " def __init__(self,cp):\n",
- " pass\n",
- "\n",
- " def char(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>example 15.22 page no : 189"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "def main(self):\n",
- " return 0"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- "\n",
- "\n",
- "func(f1(), f2(), f3()) # f1 may be evaluated before f2 and f3,\n",
- "# but don't depend on it!"
- ],
- "language": "python",
- "metadata": {},
- "outputs": []
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>EXAMPLE 15.24 page no : 189"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "a = [0,0,0]\n",
- "i = 0\n",
- "a[i] = i;\n",
- "i += 1\n",
- "print i \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch2.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch2.ipynb
deleted file mode 100644
index 8660012f..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch2.ipynb
+++ /dev/null
@@ -1,260 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:025b4c65298f5bb6d48b99d717b6d0fce940f5a97ad7eb75ea5897c4c9595891"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter : Two : Organizing the code"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 2.1 Page no : 12\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import EmcArray # EmcArray.py\n",
- "import iostream # The rest of the EmcArray.cc file "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "ImportError",
- "evalue": "No module named EmcArray",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)",
- "\u001b[1;32m<ipython-input-1-b23807a66872>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mNote\u001b[0m \u001b[1;33m:\u001b[0m \u001b[0mwould\u001b[0m \u001b[0mgive\u001b[0m \u001b[0merror\u001b[0m \u001b[0mbecause\u001b[0m \u001b[0mwe\u001b[0m \u001b[0mdont\u001b[0m \u001b[0mhave\u001b[0m \u001b[0mEmcArray\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0miostream\u001b[0m \u001b[0mpackages\u001b[0m\u001b[1;33m.\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m '''\n\u001b[1;32m----> 6\u001b[1;33m \u001b[1;32mimport\u001b[0m \u001b[0mEmcArray\u001b[0m \u001b[1;31m# EmcArray.py\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 7\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0miostream\u001b[0m \u001b[1;31m# The rest of the EmcArray.cc file\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;31mImportError\u001b[0m: No module named EmcArray"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 2.2 page no : 13\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "class X :\n",
- " def __init__(self):\n",
- " pass #self.aM = A()\n",
- " \n",
- " def returnA(self):\n",
- " pass #return self.aM\n",
- " \n",
- " def withAParameter(self,a):\n",
- " pass #self.aM = a"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 2.3 page no :14\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class Y :\n",
- " def __init__(self):\n",
- " pass #self.bM = B()\n",
- " \n",
- " def returnBPtr(self):\n",
- " pass #return self.aM\n",
- " \n",
- " def withAParameter(self,b):\n",
- " pass #self.bM = a\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 2.4 page no : 15\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def module_exists(module_name):\n",
- " try:\n",
- " __import__(module_name)\n",
- " except ImportError:\n",
- " return False\n",
- " else:\n",
- " return True"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 2.5 page no : 15\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def cStr(cpM):\n",
- " return cpM\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 2.6 page no : 17\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "def max_(x,y):\n",
- " if x > y:\n",
- " return x\n",
- " return y\n",
- "\n",
- "def function(i,j):\n",
- " m = max_(i,j) # must instantiate max(int,int)\n",
- " print m\n",
- "\n",
- "function(5,10) \n",
- " "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 2.7 page no : 17\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class EmcQueue:\n",
- " def __init__(self):\n",
- " pass\n",
- " \n",
- " def insert(self,t):\n",
- " pass\n",
- "\n",
- "q = EmcQueue()\n",
- "q.insert(42);"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 2.8 page no : 18\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class EmcQueue:\n",
- " pass"
- ],
- "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/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch3.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch3.ipynb
deleted file mode 100644
index ce027b4e..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch3.ipynb
+++ /dev/null
@@ -1,144 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:dbc95d125151940c8402c8ffda427c3e959c7eb724b40434b79a3b03a164fff8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter Three : Comments"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 3.1 Page no : 22\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "rcsid = \"$Id: $\"\n",
- "print rcsid"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "$Id: $\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 3.2 Page no : 22\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "cpM = ''; # A String variable\n",
- "lenM = 0 # The length of the character array "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.3 Page no : 22\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "''' No: this nesting of C-style comments will not work !!!\n",
- "char* cpM;\n",
- "int lenM;\n",
- "# A pointer to the characters\n",
- "# The length of the character array \n",
- "'''"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "pyout",
- "prompt_number": 2,
- "text": [
- "' No: this nesting of C-style comments will not work !!!\\nchar* cpM;\\nint lenM;\\n# A pointer to the characters\\n# The length of the character array \\n'"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch4.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch4.ipynb
deleted file mode 100644
index 16c0834c..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch4.ipynb
+++ /dev/null
@@ -1,237 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:814e2a9ffe7448c8830af394019244e2f81fe0819c83f253105a48f1b6c7edaf"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter Four : Control flow"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 4.1 page no : 27\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "numberOfObjects = 42;\n",
- "a = []\n",
- "for i in range(numberOfObjects):\n",
- " # Recommended\n",
- " print i \n",
- " a.append(i)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n",
- "1\n",
- "2\n",
- "3\n",
- "4\n",
- "5\n",
- "6\n",
- "7\n",
- "8\n",
- "9\n",
- "10\n",
- "11\n",
- "12\n",
- "13\n",
- "14\n",
- "15\n",
- "16\n",
- "17\n",
- "18\n",
- "19\n",
- "20\n",
- "21\n",
- "22\n",
- "23\n",
- "24\n",
- "25\n",
- "26\n",
- "27\n",
- "28\n",
- "29\n",
- "30\n",
- "31\n",
- "32\n",
- "33\n",
- "34\n",
- "35\n",
- "36\n",
- "37\n",
- "38\n",
- "39\n",
- "40\n",
- "41\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 4.2 page no :27\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "numberOfObjects = 42;\n",
- "a = []\n",
- "for i in range(numberOfObjects):\n",
- " # Recommended\n",
- " a.append(i)\n",
- "\n",
- "print \"Enter value: \";\n",
- "value = int(raw_input())\n",
- "\n",
- "if value == 1 or value==2:\n",
- " print \"1 or 2: \" , a[value] \n",
- "else:\n",
- " if (value > 2 and value < numberOfObjects):\n",
- " print \"Not 1 or 2: \" , a[value] "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter value: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Not 1 or 2: 10\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 4.3 page no : 28\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class Status:\n",
- " red = 1\n",
- " green = 2\n",
- "\n",
- "def convertStatus(status):\n",
- " if status == Status.red:\n",
- " return \"Red\"\n",
- " elif status == Status.green:\n",
- " return \"Green\"\n",
- " else: \n",
- " return \"Illegal value\" \n",
- "\n",
- "print convertStatus(1) \n",
- "print convertStatus(2)\n",
- "print convertStatus(5)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Red\n",
- "Green\n",
- "Illegal value\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 4.4 page no : 29"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "m = 10;\n",
- "errorflag = False;\n",
- "\n",
- "for i in range(m):\n",
- " if (True):\n",
- " errorflag = True;\n",
- " break; # leaves loop\n",
- "\n",
- "# no goto needed\n",
- "if(errorflag):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch5.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch5.ipynb
deleted file mode 100644
index 4e630070..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch5.ipynb
+++ /dev/null
@@ -1,366 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:862ed788d417ee363a92882e2a970648b380a2f974a44d4fd4e62dfc3b0fcdf2"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter Five : Object Life Cycle"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.1 page no: 32\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "i = 10;\n",
- "j = 10;"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.2 page no : 33\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "string1 = \"hello\";\n",
- "string2 = \"hello\"; \n",
- "print string1, string2"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "hello hello\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 5.3 page no : 33\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "i = int(raw_input()) # no reason to initialize i\n",
- "print i"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 5.4 page no : 34\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "oldLm = 0;\n",
- "newLm = 0;"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 5.5 page no : 34\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "charMapSize = 256;\n",
- "for i in range(charMapSize):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 5.6 page no : 36\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class Base:\n",
- " def __init__(self,i=0):\n",
- " self.iM = 0\n",
- "\n",
- "class Derived(Base):\n",
- " def __init__(self,i=0):\n",
- " Base.__init__(self,i)\n",
- " self.jM = i"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 5.7 page no : 37\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Base:\n",
- " def __init__(self,i=0):\n",
- " self.iM = 0\n",
- "\n",
- "class Derived(Base):\n",
- " def __init__(self,i=0):\n",
- " self.jM = i\n",
- " bm = Base(i)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "example 5.8 page no : 40\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def dangerous():\n",
- " i = 5;\n",
- " return i\n",
- "j = dangerous(); # NO: j is dangerous to use\n",
- "print j;\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 5.9 page no : 41\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class CommunicationPort:\n",
- " def __init__(self,port):\n",
- " pass\n",
- " \n",
- " def __del__(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 5.10 page no : 42\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class EmcIntStack:\n",
- " def __init__(self,d):\n",
- " self.allocatedM = d\n",
- " self.vectorM = []\n",
- "\n",
- " def __del__():\n",
- " pass "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "example 5.11 page no : 43\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "s = \"Aguirre\";\n",
- "s = s;\n",
- "print s "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Aguirre\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "example 5.12 page no : 43\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "s = \"Aguirre\";\n",
- "r = s;\n",
- "print r"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Aguirre\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch6.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch6.ipynb
deleted file mode 100644
index 3f83e4d0..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch6.ipynb
+++ /dev/null
@@ -1,252 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:7e4ca4515204ca5f28b7ad14f25998ad16f2910d212e32a1071b57e6d0d7e56b"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter Six : Conversions"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 6.1 page no : 48\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "large = 456789; # Potentially dangerous conversion\n",
- "size = float(large)\n",
- "print size"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "456789.0\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 6.2 page no : 49\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class DangerousString :\n",
- " def __init__(self):\n",
- " pass # self.s = ''\n",
- "\n",
- " def __str__(self):\n",
- " pass # return self.s"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 6.3 page no : 51\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "large = 456789\n",
- "size = int(large);\n",
- "three = \"three\" \n",
- "print large,size,three"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "456789 456789 three\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 6.4 page no : 51\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class B:\n",
- " pass\n",
- " \n",
- "class D( B):\n",
- " pass\n",
- "\n",
- "class E:\n",
- " pass\n",
- " \n",
- "def dynamicCast(b):\n",
- " \n",
- " return D(b)\n",
- "\n",
- "def constCast(d1):\n",
- " \n",
- " return D(d1)\n",
- "\n",
- "def reinterpretCast(d):\n",
- " \n",
- " return E(d)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 6.5 page no : 52\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def addToFileList(s):\n",
- " pass\n",
- " \n",
- "def addFiles(s):\n",
- " m = len(s)\n",
- " for i in range(m):\n",
- " addToFileList(s[i])"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 6.6 page no : 52\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- " \n",
- "ci = 22;\n",
- "pi = ci # NO: Const cast away\n",
- "i = pi; # OK\n",
- " \n",
- "pi = 7 \n",
- "print ci, pi, i "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "22 7 22\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "example 6.7 page no : 53\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class EmcMatrix:\n",
- " def __init__(self):\n",
- " self.isDirtyM = False\n",
- " self.detM = 0.0\n",
- "\n",
- " def calculateDeterminant(self):\n",
- " pass\n",
- "\n",
- " def determinant(self):\n",
- " if(isDirtyM):\n",
- " # OK, access to mutable data members\n",
- " self.detM = self.calculateDeterminant();\n",
- " self.isDirtyM = False;\n",
- " return self.detM;"
- ],
- "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/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch7.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch7.ipynb
deleted file mode 100644
index f8b112a8..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch7.ipynb
+++ /dev/null
@@ -1,796 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:fbefe45753ab0203894f5afad5e792e20da756faab0edd14dfdedec2c8be513a"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter Seven : The class interface"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.1 page no : 57\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Point:\n",
- " def __init__(self,x,y):\n",
- " self.xM = x\n",
- " self.yM = y\n",
- "\n",
- " def x(self):\n",
- " return self.xM\n",
- " \n",
- " def y(self):\n",
- " return self.yM\n",
- "\n",
- " def x_(self,x):\n",
- " self.xM = x\n",
- " \n",
- " def y_(self,y):\n",
- " self.yM = y\n",
- "\n",
- " def __add__(self,p2): \n",
- " return Point(self.x() + p2.x(), self.y() + p2.y())"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "example 7.2 page no : 59\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def valueFunc(t):\n",
- " pass\n",
- "\n",
- "def pointerFunc(tp):\n",
- " pass\n",
- "\n",
- "def referenceFunc(tr):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "example 7.3 page no : 60\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def func1(c):\n",
- " pass\n",
- "\n",
- "def func2(i):\n",
- " pass\n",
- " \n",
- "def func3(d):\n",
- " pass\n",
- " \n",
- "def func(c):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.4 page no : 61\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class EmcMathVector:\n",
- " def __init__(self,x,y):\n",
- " self.xM = x\n",
- " self.yM = y\n",
- "\n",
- " def __mul__(self,i):\n",
- " self.xM *= i\n",
- " self.yM *= i\n",
- "\n",
- " def x(self):\n",
- " return self.xM\n",
- " \n",
- " def y(self):\n",
- " return self.yM\n",
- "\n",
- " def x_(self,x):\n",
- " self.xM = x\n",
- " \n",
- " def y_(self,y):\n",
- " yM = y\n",
- "\n",
- "a = EmcMathVector(5,10)\n",
- "print a.xM,a.yM\n",
- "a * 5\n",
- "print a.xM,a.yM"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5 10\n",
- "25 50\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.5 page no : 63\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class vector:\n",
- " def __init__(self,first,last):\n",
- " pass\n",
- "\n",
- " def begin(self):\n",
- " pass\n",
- "\n",
- " def push_back(self,x):\n",
- " pass\n",
- " \n",
- " def insert(self,x):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.6 page no : 64\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class basic_ofstream:\n",
- " def __init__(self,x,y):\n",
- " self.x = x\n",
- " self.y = y\n",
- "\n",
- " def print_(self):\n",
- " print self.x , \", \" , self.y;\n",
- "\n",
- "\n",
- "v = basic_ofstream(1.2, 5.5);\n",
- "v.print_()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1.2 , 5.5\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.7 page no : 65 \n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def uselessPrint(v):\n",
- " # NO: Compile error\n",
- " print v.x() , \", \" , v.y();"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "example 7.8 page no : 65\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "array = ['','','']\n",
- "# assign to first element\n",
- "arrayPointer = 42 #*(arrayPointer = array) = 42\n",
- "print arrayPointer"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "42\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.10 page no : 67\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def arraySum(array,first,last):\n",
- " s = 0\n",
- " for i in array:\n",
- " # It is possible to update first since\n",
- " # it has not been declared const.\n",
- " s += i\n",
- " return s;\n",
- " \n",
- "print arraySum([5,4,3,2],5,2) "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "14\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.11 page no : 68\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class EmcStack:\n",
- " def __init__(self):\n",
- " self.repM = []\n",
- " self.allocatedM = 0\n",
- " self.topM = 0\n",
- " \n",
- " def push(t):\n",
- " if self.topM == allocatedM : # allocate more memory\n",
- " pass #size_t newSize = 2 * allocatedM;\n",
- " self.repM.append(t)\n",
- " self.topM +=1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.12 page no : 69\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "message1 = \"Calling Orson\";\n",
- "message2 = \"Ice Hockey\";\n",
- "message3 = \"Terminator\";\n",
- "message4 = \"I like candy\"\n",
- "\n",
- "print message1\n",
- "print message2\n",
- "print message3\n",
- "print message4"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Calling Orson\n",
- "Ice Hockey\n",
- "Terminator\n",
- "I like candy\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.13 page no : 70\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class UselessString:\n",
- " def __init__(self,c=None):\n",
- " pass\n",
- " \n",
- " def cStr(self):\n",
- " pass\n",
- " \n",
- " def length(self):\n",
- " pass\n",
- " \n",
- " def at(self,index):\n",
- " pass\n",
- " \n",
- " def print_(self):\n",
- " print self.s "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.14 page no : 71\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Silly:\n",
- " def __init__(self,val):\n",
- " self.valM = val\n",
- " \n",
- " def me(self,s):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.15 page no : 72\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "name = \"John Bauer\";\n",
- "print name[0]"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "J\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.16 page no : 75\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "cosmonaut = \"Juri Gagarin\"\n",
- "c = 'a';\n",
- "cValue = c in cosmonaut # cValue == true\n",
- "uri = \"uri\"\n",
- "uriValue = uri in cosmonaut # uriValue == true\n",
- "print cValue\n",
- "print uriValue"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "True\n",
- "True\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.17 page no : 76 \n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def max_(x,y):\n",
- " if (x > y): # could use: < instead\n",
- " # We also expect that:\n",
- " # y < x\n",
- " return x;\n",
- " else:\n",
- " # We also expect that:\n",
- " # x <= y\n",
- " return y;\n",
- "\n",
- "x = 42;\n",
- "y = 0;\n",
- "print max(x,y)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "42\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.18 page no : 76\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "'''\n",
- "Implementation of closely related operators\n",
- "Python has inbuilt this facility. No need to write functions for that.\n",
- "''' "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "pyout",
- "prompt_number": 17,
- "text": [
- "'\\nEXAMPLE 7.18 page no : 76\\nImplementation of closely related operators\\nPython has inbuilt this facility. No need to write functions for that.\\n'"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.19 page no : 77\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Base:\n",
- " def f(char):\n",
- " pass\n",
- " def f(i):\n",
- " pass\n",
- " def v(char):\n",
- " pass\n",
- "\n",
- "class Derived(Base):\n",
- " def __init__(self):\n",
- " pass\n",
- "\n",
- " def f(self,i):\n",
- " pass\n",
- " \n",
- " def v(self,c):\n",
- " self.f(c)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.20 page no : 79\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class EmcCollection:\n",
- " def isEqual(self):\n",
- " pass\n",
- " \n",
- "class EmcBoundedCollection(EmcCollection):\n",
- "\n",
- " def isEqual(a):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "example 7.21 page no : 80\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def f(x,y = 2):\n",
- " print x\n",
- " print y\n",
- " \n",
- "f(1)\n",
- "f(2,3)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1\n",
- "2\n",
- "2\n",
- "3\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.22 page no : 80\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class RanDraw:\n",
- " def __init__(self, limit,seed, t = 'Good' ):\n",
- " pass # Default argument for t in class definition\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 7.23 page no : 82\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Other:\n",
- " def __init__(self,a): #No implicit conversion from Any\n",
- " pass\n",
- " \n",
- " def foo(self,o):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "example 7.24 page no : 82\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class EmcString:\n",
- " def cStr(): # conversion to const char*\n",
- " pass\n",
- "\n",
- " def log(cp): \n",
- " pass\n",
- "\n",
- "magicPlace =\"Ngoro-Ngoro crater at dusk\"\n",
- "print magicPlace # Explicit conversion from String to const char*"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Ngoro-Ngoro crater at dusk\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch8.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch8.ipynb
deleted file mode 100644
index 657c42ba..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch8.ipynb
+++ /dev/null
@@ -1,173 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:9aeef576f29f7c783f96768a664cb437cbd4922734a99612921a48bd58c127b5"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter Eight : new and delete"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 8.1 page no : 89\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "sp = \"Hello\" \n",
- "arraySize = 5;\n",
- "sa = []\n",
- "print sp, arraySize\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Hello 5\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 8.2 page no : 90\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "sp = \"Hello\"\n",
- "print sp\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Hello\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 8.3 page no : 90\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class W:\n",
- " def __init__(self):\n",
- " pass\n",
- "\n",
- " def goAway(self):\n",
- " pass\n",
- " \n",
- " def foo(self):\n",
- " pass\n",
- " \n",
- " def bar(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 8.4 page no : 91\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "maxSize = 100; # get storage for object\n",
- "storage = [] # call placement new to create object\n",
- " "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 8.5 page no : 93 \n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class BadArgument:\n",
- " def __init__(self):\n",
- " pass\n",
- "\n",
- "class A:\n",
- " def __init__(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch9.ipynb b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch9.ipynb
deleted file mode 100644
index 35b80cf8..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/ch9.ipynb
+++ /dev/null
@@ -1,248 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:bb23348ad3296a941665bd16b2187a89f9e17bfa05baf675e9a0cf4ac9ab49e8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter Nine : Static Objects"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 9.1 page no : 97\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def randomValue(seed):\n",
- " oldValue = seed; # calculate new value\n",
- " return oldValue\n",
- " \n",
- "print randomValue(5) "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 9.2 page no : 97\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class EmcSingleton:\n",
- " def instance():\n",
- " pass\n",
- " \n",
- " def create(i = 0):\n",
- " self.instanceM = EmcSingleton(i)\n",
- "\n",
- " def __init__(self,i):\n",
- " pass\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 9.3 page no : 98\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "sccsid = \"@(#)myfile.cc\"\n",
- "print sccsid"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "@(#)myfile.cc\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 9.4 page no : 98\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "sccsid = \"@(#)myfile.cc\"\n",
- "print sccsid"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "@(#)myfile.cc\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 9.5 page no : 98\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class EmcLog:\n",
- " def __init__(self,out=None):\n",
- " print \"Creating log\"\n",
- "\n",
- "t = EmcLog()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Creating log\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 9.6 page no : 100\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "sccsid = \"@(#)myfile.cc\"\n",
- "release = \"@(#)Emc Class Library, 1.2\"\n",
- "print sccsid, release"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "@(#)myfile.cc @(#)Emc Class Library, 1.2\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "EXAMPLE 9.7 page no : 100\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class EmcObject:\n",
- " def __init__(self):\n",
- " pass\n",
- " \n",
- " def __del__(self):\n",
- " pass\n",
- " \n",
- " def initialize(self):\n",
- " pass\n",
- " \n",
- " def finalize(self):\n",
- " pass"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/error-handling.png b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/error-handling.png
deleted file mode 100644
index 34176fe4..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/error-handling.png
+++ /dev/null
Binary files differ
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/include-guard.png b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/include-guard.png
deleted file mode 100644
index f8e97ce5..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/include-guard.png
+++ /dev/null
Binary files differ
diff --git a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/inline-member.png b/C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/inline-member.png
deleted file mode 100644
index 0d803671..00000000
--- a/C++_in_Action_-_Industrial-Strength_Programming_Techniques/screenshots/inline-member.png
+++ /dev/null
Binary files differ
diff --git a/Electronic_Devices_/Chapter1.ipynb b/Electronic_Devices_/Chapter1.ipynb
deleted file mode 100644
index a4646948..00000000
--- a/Electronic_Devices_/Chapter1.ipynb
+++ /dev/null
@@ -1,156 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_1"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 1: Semiconductor Basics<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 1.1(a), Page Number:29<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_bias=10.0; #bias voltage in volt",
- "R_limit=1000; #limiting resistance in ohm",
- "r_d =10.0; #r_d value",
- "",
- "#calculation",
- "#IDEAL MODEL",
- "print \"IDEAL MODEL\"",
- "V_f=0; #voltage in volt",
- "I_f=V_bias/R_limit; #foward current",
- "V_R_limit=I_f*R_limit; #limiting voltage",
- "print \"forward voltage = %.2f volts\" %V_f",
- "print \"forward current = %.2f amperes\" %I_f",
- "print \"voltage across limiting resistor = %.2f volts\" %V_R_limit",
- "",
- "#PRACTICAL MODEL",
- "print \"\\nPRACTICAL MODEL\"",
- "V_f=0.7; #voltage in volt",
- "I_f=(V_bias-V_f)/R_limit; #foward current",
- "V_R_limit=I_f*R_limit; #limiting voltage",
- "print \"forward voltage = %.2f volts\" %V_f",
- "print \"forward current = %.3f amperes\" %I_f",
- "print \"voltage across limiting resistor = %.2f volts\" %V_R_limit",
- "",
- "#COMPLETE MODEL",
- "print \"\\nCOMPLETE MODEL\"",
- "I_f=(V_bias-0.7)/(R_limit+r_d); #foward current",
- "V_f=0.7+I_f*r_d; #forward voltage",
- "V_R_limit=I_f*R_limit; #limiting voltage",
- "print \"forward voltage = %.3f volts\" %V_f",
- "print \"forward current = %.3f amperes\" %I_f",
- "print \"voltage across limiting resistor = %.2f volts\" %V_R_limit"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "IDEAL MODEL",
- "forward voltage = 0.00 volts",
- "forward current = 0.01 amperes",
- "voltage across limiting resistor = 10.00 volts",
- "",
- "PRACTICAL MODEL",
- "forward voltage = 0.70 volts",
- "forward current = 0.009 amperes",
- "voltage across limiting resistor = 9.30 volts",
- "",
- "COMPLETE MODEL",
- "forward voltage = 0.792 volts",
- "forward current = 0.009 amperes",
- "voltage across limiting resistor = 9.21 volts"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 1.1(b), Page Number:29<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_bias=5; #bias voltage in volt",
- "I_R=1*10**-6; #current",
- "R_limit=1000 #in Ohm",
- "",
- "#calculation",
- "#IDEAL MODEL",
- "print \"IDEAL MODEL\"",
- "I_r=0.0; #current in ampere",
- "V_R=V_bias; #voltages are equal",
- "V_R_limit=I_r*R_limit; #limiting voltage",
- "print \"Reverse voltage across diode = %.2f volts\" %V_R",
- "print \"Reverse current through diode= %.2f amperes\" %I_r",
- "print \"voltage across limiting resistor = %.2f volts\" %V_R_limit",
- "",
- "#PRACTICAL MODEL",
- "print \"\\nPRACTICAL MODEL\"",
- "I_r=0.0; #current in ampere",
- "V_R=V_bias; #voltages are equal",
- "V_R_limit=I_r*R_limit; #limiting voltage",
- "print \"Reverse voltage across diode= %.2f volts\" %V_R",
- "print \"Reverse current through diode = %.2f amperes\" %I_r",
- "print \"voltage across limiting resistor = %.2f volts\" %V_R_limit",
- "",
- "#COMPLETE MODEL",
- "print \"\\nCOMPLETE MODEL\"",
- "I_r=I_R; #current in ampere",
- "V_R_limit=I_r*R_limit; #limiting voltage",
- "V_R=V_bias-V_R_limit; #voltage in volt",
- "print \"Reverse voltage across diode = %.3f volts\" %V_R",
- "print \"Reverse current through diode = %d micro Amp\" %(I_r*10**6)",
- "print \"voltage across limiting resistor = %d mV\" %(V_R_limit*1000)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "IDEAL MODEL",
- "Reverse voltage across diode = 5.00 volts",
- "Reverse current through diode= 0.00 amperes",
- "voltage across limiting resistor = 0.00 volts",
- "",
- "PRACTICAL MODEL",
- "Reverse voltage across diode= 5.00 volts",
- "Reverse current through diode = 0.00 amperes",
- "voltage across limiting resistor = 0.00 volts",
- "",
- "COMPLETE MODEL",
- "Reverse voltage across diode = 4.999 volts",
- "Reverse current through diode = 1 micro Amp",
- "voltage across limiting resistor = 1 mV"
- ]
- }
- ],
- "prompt_number": 2
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter10.ipynb b/Electronic_Devices_/Chapter10.ipynb
deleted file mode 100644
index ad380243..00000000
--- a/Electronic_Devices_/Chapter10.ipynb
+++ /dev/null
@@ -1,740 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:46b495ee163997b315e5d2a4308b2429d2950dd9bb4f2a5562e7098cc144cbec"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 10: Amplifier Frequency Response<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.1, Page Number: 311<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "A_p=250.0\n",
- "A_p_dB=10*math.log10(A_p)\n",
- "print('Power gain(dB) when power gain is 250 = %d'% math.ceil(A_p_dB));\n",
- "A_p=100.0\n",
- "A_p_dB=10*math.log10(A_p)\n",
- "print('Power gain(dB) when power gain is 100 = %d'%A_p_dB)\n",
- "A_p=10.0\n",
- "A_p_dB=20*math.log10(A_p)\n",
- "print('Voltage gain(dB) when Voltage gain is 10 = %d'%A_p_dB)\n",
- "A_p=0.50\n",
- "A_p_dB=10*math.log10(A_p)\n",
- "print('Power gain(dB) when voltage gain is 0.50 = %d'%A_p_dB)\n",
- "A_p=0.707\n",
- "A_p_dB=20*math.log10(A_p)\n",
- "print('Power gain(dB) when power gain is 0.707 = %d'%A_p_dB)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power gain(dB) when power gain is 250 = 24\n",
- "Power gain(dB) when power gain is 100 = 20\n",
- "Voltage gain(dB) when Voltage gain is 10 = 20\n",
- "Power gain(dB) when voltage gain is 0.50 = -3\n",
- "Power gain(dB) when power gain is 0.707 = -3"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.2, Page Number: 313<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "v_out=0.707*10;\n",
- "print('output voltage in volts at -3dB gain = %.2f'%v_out)\n",
- "#at -6dB voltage gain from table is 0.5\n",
- "v_out=0.5*10;\n",
- "print('output voltage in volts at -6dB gain = %d'%v_out)\n",
- "#at -12dB voltage gain from table is 0.25\n",
- "v_out=0.25*10;\n",
- "print('output voltage in volts at -12dB gain = %.1f'%v_out)\n",
- "#at -24dB voltage gain from table is 0.0625\n",
- "v_out=0.0625*10;\n",
- "print('output voltage in volts at -24dB gain = %.3f'%v_out)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage in volts at -3dB gain = 7.07\n",
- "output voltage in volts at -6dB gain = 5\n",
- "output voltage in volts at -12dB gain = 2.5\n",
- "output voltage in volts at -24dB gain = 0.625"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.3, Page Number: 316<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "R_in=1.0*10**3;\n",
- "C1=1.0*10**-6;\n",
- "A_v_mid=100.0; #mid range voltage gain\n",
- "f_c=1/(2*math.pi*R_in*C1);\n",
- "#at f_c, capacitive reactance is equal to resistance(X_C1=R_in)\n",
- "attenuation=0.707;\n",
- "#A_v is gain at lower critical frequency\n",
- "A_v=0.707*A_v_mid;\n",
- "print('lower critical frequency = %f Hz'%f_c)\n",
- "print('attenuation at lower critical frequency =%.3f'%attenuation)\n",
- "print('gain at lower critical frequency = %.1f'%A_v)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "lower critical frequency = 159.154943 Hz\n",
- "attenuation at lower critical frequency =0.707\n",
- "gain at lower critical frequency = 70.7"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.4, Page Number: 317<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "A_v_mid=100.0;\n",
- "#At 1Hz frequency,voltage gain is 3 dB less than at midrange. At -3dB, the voltage is reduced by a factor of 0.707\n",
- "A_v=0.707*A_v_mid;\n",
- "print('actual voltage gain at 1Hz frequency = %.1f'%A_v)\n",
- "#At 100Hz frequency,voltage gain is 20 dB less than at critical frequency (f_c ). At -20dB, the voltage is reduced by a factor of 0.1\n",
- "A_v=0.1*A_v_mid;\n",
- "print('actual voltage gain at 100Hz frequency = %d'%A_v)\n",
- "#At 10Hz frequency,voltage gain is 40 dB less than at critical frequency (f_c). At -40dB, the voltage is reduced by a factor of 0.01\n",
- "A_v=0.01*A_v_mid;\n",
- "print('actual voltage gain at 10Hz frequency = %d'%A_v)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "actual voltage gain at 1Hz frequency = 70.7\n",
- "actual voltage gain at 100Hz frequency = 10\n",
- "actual voltage gain at 10Hz frequency = 1"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.5, Page Number: 319<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "R_C=10.0*10**3;\n",
- "C3=0.1*10**-6;\n",
- "R_L=10*10**3;\n",
- "A_v_mid=50;\n",
- "f_c=1/(2*math.pi*(R_L+R_C)*C3);\n",
- "print('lower critical frequency = %f Hz'%f_c)\n",
- "#at midrange capacitive reactance is zero\n",
- "X_C3=0;\n",
- "attenuation=R_L/(R_L+R_C); \n",
- "print('attenuation at midrange frequency = %.1f'%attenuation)\n",
- "#at critical frequency, capacitive reactance equals total resistance\n",
- "X_C3=R_L+R_C;\n",
- "attenuation=R_L/(math.sqrt((R_C+R_L)**2+X_C3**2));\n",
- "print('attenuation at critical frequency = %f'%attenuation)\n",
- "A_v=0.707*A_v_mid;\n",
- "print('gain at critical frequency = %.2f'%A_v)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "lower critical frequency = 79.577472 Hz\n",
- "attenuation at midrange frequency = 0.5\n",
- "attenuation at critical frequency = 0.353553\n",
- "gain at critical frequency = 35.35"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.6, Page Number: 321<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "B_ac=100.0;\n",
- "r_e=12.0;\n",
- "R1=62.0*10**3;\n",
- "R2=22.0*10**3;\n",
- "R_S=1.0*10**3;\n",
- "R_E=1.0*10**3;\n",
- "C2=100.0*10**-6;\n",
- "#Base circuit impedance= parallel combination of R1, R2, R_S\n",
- "R_th=(R1*R2*R_S)/(R1*R2+R2*R_S+R_S*R1);\n",
- "#Resistance looking at emitter\n",
- "R_in_emitter=r_e+(R_th/B_ac);\n",
- "#resistance of equivalent bypass RC is parallel combination of R_E,R_in_emitter\n",
- "R=(R_in_emitter*R_E)/(R_E+R_in_emitter);\n",
- "f_c=1/(2*math.pi*R*C2);\n",
- "print('critical frequency of bypass RC circuit = %f Hz'%f_c)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "critical frequency of bypass RC circuit = 75.893960 Hz"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.7, Page Number:323<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "V_GS=-10.0;\n",
- "I_GSS=25.0*10**-9;\n",
- "R_G=10.0*10**6;\n",
- "C1=0.001*10**-6;\n",
- "R_in_gate=abs((V_GS/I_GSS));\n",
- "R_in=(R_in_gate*R_G)/(R_G+R_in_gate);\n",
- "f_c=1/(2*math.pi*R_in*C1);\n",
- "print('critical frequency = %f Hz'%f_c)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "critical frequency = 16.313382 Hz"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.8, Page Number: 324<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "V_GS=-12.0;\n",
- "I_GSS=100.0*10**-9;\n",
- "R_G=10.0*10**6;\n",
- "R_D=10.0*10**3;\n",
- "C1=0.001*10**-6;\n",
- "C2=0.001*10**-6;\n",
- "R_in_gate=abs((V_GS/I_GSS));\n",
- "R_in=(R_in_gate*R_G)/(R_G+R_in_gate);\n",
- "R_L=R_in; #according to question\n",
- "f_c_input=1/(2*math.pi*R_in*C1);\n",
- "print('critical frequency of input RC circuit = %f Hz'%f_c_input)\n",
- "f_c_output=1/(2*math.pi*(R_D+R_L)*C2)\n",
- "print('critical frequency of output RC circuit = %f Hz'%f_c_output)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "critical frequency of input RC circuit = 17.241786 Hz\n",
- "critical frequency of output RC circuit = 17.223127 Hz"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.9, Page Number: 327<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "B_ac=100.0;\n",
- "r_e=16.0;\n",
- "R1=62.0*10**3;\n",
- "R2=22.0*10**3;\n",
- "R_S=600.0;\n",
- "R_E=1.0*10**3;\n",
- "R_C=2.2*10**3;\n",
- "R_L=10.0*10**3;\n",
- "C1=0.1*10**-6;\n",
- "C2=10.0*10**-6;\n",
- "C3=0.1*10**-6;\n",
- "#input RC circuit\n",
- "R_in=(B_ac*r_e*R1*R2)/(B_ac*r_e*R1+B_ac*r_e*R2+R1*R2);\n",
- "f_c_input=1/(2*math.pi*(R_S+R_in)*C1);\n",
- "print('input frequency = %f Hz'%f_c_input)\n",
- "#For bypass circuit; Base circuit impedance= parallel combination of R1, R2, R_S\n",
- "R_th=(R1*R2*R_S)/(R1*R2+R2*R_S+R_S*R1);\n",
- "#Resistance looking at emitter\n",
- "R_in_emitter=r_e+(R_th/B_ac);\n",
- "#resistance of equivalent bypass RC is parallel combination of R_E,R_in_emitter\n",
- "R=(R_in_emitter*R_E)/(R_E+R_in_emitter);\n",
- "f_c_bypass=1/(2*math.pi*R*C2);\n",
- "print('critical frequency of bypass RC circuit = %f Hz'%f_c_bypass)\n",
- "f_c_output=1/(2*math.pi*(R_C+R_L)*C3)\n",
- "print('output frequency circuit = %f Hz'%f_c_output)\n",
- "R_c=R_C*R_L/(R_C+R_L);\n",
- "A_v_mid=R_c/r_e;\n",
- "attenuation=R_in/(R_in+R_S);\n",
- "A_v=attenuation*A_v_mid; #overall voltage gain\n",
- "A_v_mid_dB=20*math.log10(A_v); \n",
- "print('overall voltage gain in dB = %f'%A_v_mid_dB)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input frequency = 773.916632 Hz\n",
- "critical frequency of bypass RC circuit = 746.446517 Hz\n",
- "output frequency circuit = 130.454871 Hz\n",
- "overall voltage gain in dB = 38.042470"
- ]
- }
- ],
- "prompt_number": 27
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.10, Page Number: 330<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "B_ac=125.0;\n",
- "C_be=20.0*10**-12;\n",
- "C_bc=2.4*10**-12;\n",
- "R1=22.0*10**3;\n",
- "R2=4.7*10**3;\n",
- "R_E=470.0;\n",
- "R_S=600.0;\n",
- "R_L=2.2*10**3;\n",
- "V_CC=10.0;\n",
- "V_B=(R2/(R1+R2))*V_CC;\n",
- "V_E=V_B-0.7;\n",
- "I_E=V_E/R_E;\n",
- "r_e=25.0*10**-3/I_E;\n",
- "#total resistance of input circuit is parallel combination of R1,R2,R_s,B_ac*r_e\n",
- "R_in_tot=B_ac*r_e*R1*R2*R_S/(B_ac*r_e*R1*R2+B_ac*r_e*R1*R_S+B_ac*r_e*R2*R_S+R1*R2*R_S);\n",
- "R_c= 1100.0#R_C*R_L/(R_C+R_L)\n",
- "A_v_mid=R_c/r_e;\n",
- "C_in_Miller=C_bc*(A_v_mid+1)\n",
- "C_in_tot=C_in_Miller+C_be;\n",
- "C_in_tot=C_in_tot*10**10\n",
- "f_c=1/(2*math.pi*R_in_tot*C_in_tot);\n",
- "print('total resistance of circuit = %f Ohm'%R_in_tot)\n",
- "print('total capacitance = %f * 10^-10 F'%C_in_tot)\n",
- "print('critical frequency = %f Hz'%f_c)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "total resistance of circuit = 377.815676 Ohm\n",
- "total capacitance = 2.606290 * 10^-10 F\n",
- "critical frequency = 0.000162 Hz"
- ]
- }
- ],
- "prompt_number": 28
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.11, Page Number: 333<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "C_bc=2.4*10**-12; #from previous question\n",
- "A_v=99.0; #from previous question\n",
- "R_C=2.2*10**3;\n",
- "R_L=2.2*10**3;\n",
- "R_c=R_C*R_L/(R_C+R_L);\n",
- "C_out_Miller=C_bc*(A_v+1)/A_v;\n",
- "f_c=1/(2*math.pi*R_c*C_bc); #C_bc is almost equal to C_in_Miller\n",
- "C_out_Miller=C_out_Miller*10**12\n",
- "print('equivalent resistance = %d Ohm'%R_c)\n",
- "print('equivalent capacitance =%f *10^-12 F'%C_out_Miller)\n",
- "print('critical frequency =%f Hz'%f_c)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "equivalent resistance = 1100 Ohm\n",
- "equivalent capacitance =2.424242 *10^-12 F\n",
- "critical frequency =60285963.292385 Hz"
- ]
- }
- ],
- "prompt_number": 29
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.12, Page Number: 334<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "C_iss=6.0*10**-12;\n",
- "C_rss=2.0*10**-12;\n",
- "C_gd=C_rss;\n",
- "C_gs=C_iss-C_rss;\n",
- "C_gd=C_gd*10**12\n",
- "C_gs=C_gs*10**12\n",
- "print('gate to drain capacitance = %.1f * 10^-12 F'%C_gd)\n",
- "print('gate to source capacitance = %.1f * 10^-12 F'%C_gs)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "gate to drain capacitance = 2.0 * 10^-12 F\n",
- "gate to source capacitance = 4.0 * 10^-12 F"
- ]
- }
- ],
- "prompt_number": 30
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.13, Page Number:335 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "C_iss=8.0*10**-12;\n",
- "C_rss=3.0*10**-12;\n",
- "g_m=6500.0*10**-6; #in Siemens\n",
- "R_D=1.0*10**3;\n",
- "R_L=10.0*10**6;\n",
- "R_s=50.0;\n",
- "C_gd=C_rss;\n",
- "C_gs=C_iss-C_rss;\n",
- "R_d=R_D*R_L/(R_D+R_L);\n",
- "A_v=g_m*R_d;\n",
- "C_in_Miller=C_gd*(A_v+1);\n",
- "C_in_tot=C_in_Miller+C_gs;\n",
- "f_c=1/(2*math.pi*C_in_tot*R_s);\n",
- "print('critical frequency of input RC circuit =%.3f *10^8 Hz'%(f_c*10**-8))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "critical frequency of input RC circuit =1.158 *10^8 Hz"
- ]
- }
- ],
- "prompt_number": 31
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.14, Page Number: 336<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "C_gd=3.0*10**-12; #from previous question\n",
- "A_v=6.5; #from previous question\n",
- "R_d=1.0*10**3; #from previous question\n",
- "C_out_Miller=C_gd*(A_v+1)/A_v;\n",
- "f_c=1/(2*math.pi*R_d*C_out_Miller);\n",
- "print('critical frequency of the output circuit = %d Hz'%f_c)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "critical frequency of the output circuit = 45978094 Hz"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.15, Page Number: 339<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "f_cu=2000.0;\n",
- "f_cl=200.0;\n",
- "BW=f_cu-f_cl;\n",
- "print('bandwidth = %d Hz'%BW)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "bandwidth = 1800 Hz"
- ]
- }
- ],
- "prompt_number": 33
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.16, Page Number: 340<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "f_T=175.0*10**6; #in hertz\n",
- "A_v_mid=50.0;\n",
- "BW=f_T/A_v_mid;\n",
- "print('bandwidth = %d Hz'%BW)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "bandwidth = 3500000 Hz"
- ]
- }
- ],
- "prompt_number": 34
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.17, Page Number: 341<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "f_cl=1.0*10**3; #lower critical frequency of 2nd stage in hertz\n",
- "f_cu=100.0*10**3; #upper critical frequency of 1st stage in hertz\n",
- "BW=f_cu-f_cl;\n",
- "print('bandwidth = %d Hz'%BW)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "bandwidth = 99000 Hz"
- ]
- }
- ],
- "prompt_number": 35
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.18, Page Number: 341<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "n=2.0; #n is the number of stages of amplifier\n",
- "f_cl=500.0;\n",
- "f_cu=80.0*10**3;\n",
- "f_cl_new=f_cl/(math.sqrt(2**(1/n)-1));\n",
- "f_cu_new=f_cu*(math.sqrt(2**(1/n)-1));\n",
- "BW=f_cu_new-f_cl_new;\n",
- "print('bandwidth = %f Hz'%BW)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "bandwidth = 50710.653245 Hz"
- ]
- }
- ],
- "prompt_number": 36
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter11.ipynb b/Electronic_Devices_/Chapter11.ipynb
deleted file mode 100644
index 966e3619..00000000
--- a/Electronic_Devices_/Chapter11.ipynb
+++ /dev/null
@@ -1,172 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_11"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 11: Thyristors and other Devices<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 11.1, Page Number: 353<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "V_AK=20.0; #VOLTAGE ACROSS ANODE",
- "I_A=1*10**-6;",
- "R_AK=V_AK/I_A;",
- "print('Resistance = %d * 10^6 Ohm'%(R_AK/10**6))"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resistance = 20 * 10^6 Ohm"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 11.2, Page Number: 354<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R_S=10**3;",
- "V_BIAS=110.0;",
- "V_BE=0.7;",
- "V_CE_sat=0.1;",
- "V_A=V_BE+V_CE_sat; #VOLTAGE ACROSS ANODE",
- "V_R_s=V_BIAS-V_A; #VOLTAGE ACROSS R_S",
- "I_A=V_R_s/R_S;",
- "print('Anode current = %f A'%I_A)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Anode current = 0.109200 A"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 11.3, Page Number: 364<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "n=0.6;",
- "V_BB=20.0;",
- "V_pn=0.7;",
- "V_P=n*V_BB+V_pn;",
- "print('peak point emitter voltage = %.1f Volts'%V_P)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "peak point emitter voltage = 12.7 Volts"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 11.4, page Number: 366<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "V_BB=30.0;",
- "V_P=14.0;",
- "I_P=20.0*10**-6;",
- "V_V=1.0;",
- "I_V=10.0*10**-3;",
- "x=(V_BB-V_P)/I_P;",
- "y=(V_BB-V_V)/I_V;",
- "print('R1 should be less than %d Ohms'%x)",
- "print('R1 should be more than %d Ohms'%y)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "R1 should be less than 800000 Ohms",
- "R1 should be more than 2900 Ohms"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 11.5, Page Number: 376<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "n2=1.3; #cladding index",
- "n1=1.35; #core index",
- "theta=math.acos(n2/n1);",
- "t=theta*180/math.pi;",
- "print('critical angle in degrees \\n\\t%f'%t)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "critical angle in degrees ",
- "\t15.642471"
- ]
- }
- ],
- "prompt_number": 5
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter12.ipynb b/Electronic_Devices_/Chapter12.ipynb
deleted file mode 100644
index 3f9f927c..00000000
--- a/Electronic_Devices_/Chapter12.ipynb
+++ /dev/null
@@ -1,458 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_12"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 12: The Operational Amplifier<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.1, Page Number: 392<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "A_ol=100000.0; #open loop voltage gain",
- "A_cm=0.2; #common mode gain",
- "CMRR=A_ol/A_cm;",
- "CMRR_dB=20*math.log10(CMRR);",
- "print('CMRR = %d'%CMRR)",
- "print('CMRR in decibels = %f'%CMRR_dB)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "CMRR = 500000",
- "CMRR in decibels = 113.979400"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.2, Page Number: 395<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "del_t=1.0; # in microseconds",
- "#lower limit is -9V and upper limit is 9V from the graph",
- "del_V_out=9.0-(-9.0);",
- "slew_rate=del_V_out/del_t;",
- "print('slew rate =%d V/microseconds'%slew_rate)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "slew rate =18 V/microseconds"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.3, Page Number: 400<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R_f=100*10**3;",
- "R_i=4.7*10**3;",
- "A_cl_NI=1+(R_f/R_i);",
- "print('closed loop voltage gain = %f'%A_cl_NI)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop voltage gain = 22.276596"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.4,Page Number: 402<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R_i=2.2*10**3;",
- "A_cl=-100.0; #closed loop voltage gain",
- "R_f=abs(A_cl)*R_i;",
- "print('value of R_f = %d ohms'%R_f)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "value of R_f = 220000 ohms"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.5, Page Number: 404<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Z_in=2*10**6;",
- "Z_out=75.0;",
- "A_ol=200000.0;",
- "R_f=220.0*10**3;",
- "R_i=10.0*10**3;",
- "B=R_i/(R_i+R_f); #B is attenuation",
- "Z_in_NI=(1+A_ol*B)*Z_in;",
- "Z_out_NI=Z_out/(1+A_ol*B);",
- "A_cl_NI=1+(R_f/R_i);",
- "Z_in_NI=Z_in_NI/10**10",
- "print('input impedance = %f * 10^10 ohms'%Z_in_NI)",
- "print('output impedance = %f ohms'%Z_out_NI)",
- "print('closed loop voltage gain = %d'%A_cl_NI)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input impedance = 1.739330 * 10^10 ohms",
- "output impedance = 0.008624 ohms",
- "closed loop voltage gain = 23"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.6, Page Number: 405<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "B=1.0; #voltage follower configuration",
- "A_ol=200000.0;",
- "Z_in=2*10**6;",
- "Z_out=75.0;",
- "Z_in_VF=(1+A_ol)*Z_in;",
- "Z_out_VF=Z_out/(1+A_ol);",
- "Z_in_VF=Z_in_VF*10**-11",
- "print('input impedance = %d * 10^11 Ohms'%Z_in_VF)",
- "print('output impedance = %f Ohms'%Z_out_VF)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input impedance = 4 * 10^11 Ohms",
- "output impedance = 0.000375 Ohms"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.7, Page Number: 406<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R_i=1.0*10**3;",
- "R_f=100.0*10**3;",
- "Z_in=4.0*10**6;",
- "Z_out=50.0;",
- "A_ol=50000.0;",
- "B=R_i/(R_i+R_f); #attenuation",
- "Z_in_I=R_i; #almost equal to R_i",
- "Z_out_I=Z_out/(1+(A_ol*B));",
- "A_cl_I=-R_f/R_i;",
- "print('input impedance = %d Ohms'%Z_in_I)",
- "print('output impedance = %f Ohms'%Z_out_I)",
- "print('closed loop voltage gain =%d'%A_cl_I)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input impedance = 1000 Ohms",
- "output impedance = 0.100796 Ohms",
- "closed loop voltage gain =-100"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.8, Page Number: 412<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "f_c_ol=100.0;",
- "A_ol_mid=100000.0;",
- "f=0.0;",
- "A_ol=A_ol_mid/(math.sqrt(1+(f/f_c_ol)**2))",
- "print('open loop gain when f=0Hz is %f'%A_ol);",
- "f=10.0;",
- "A_ol=A_ol_mid/(math.sqrt(1+(f/f_c_ol)**2))",
- "print('open loop gain when f=10Hz is %f'%A_ol)",
- "f=100.0;",
- "A_ol=A_ol_mid/(math.sqrt(1+(f/f_c_ol)**2))",
- "print('open loop gain when f=100Hz is %f'%A_ol)",
- "f=1000.0;",
- "A_ol=A_ol_mid/(math.sqrt(1+(f/f_c_ol)**2))",
- "print('open loop gain when f=1000Hz is %f'%A_ol)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "open loop gain when f=0Hz is 100000.000000",
- "open loop gain when f=10Hz is 99503.719021",
- "open loop gain when f=100Hz is 70710.678119",
- "open loop gain when f=1000Hz is 9950.371902"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.9,Page Number: 413<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "f_c=100.0;",
- "f=1.0;",
- "theta_rad=-math.atan((f/f_c))",
- "theta=theta_rad*180/math.pi;",
- "print('phase lag when f=1Hz = %f degrees'%theta)",
- "",
- "f=10.0;",
- "theta_rad=-math.atan((f/f_c))",
- "theta=theta_rad*180/math.pi;",
- "print('phase lag when f=10Hz = %f degrees'%theta)",
- "f=100.0;",
- "theta_rad=-math.atan((f/f_c))",
- "theta=theta_rad*180/math.pi; ",
- "print('phase lag when f=100Hz = %f degrees'%theta)",
- "f=1000.0;",
- "theta_rad=-math.atan((f/f_c))",
- "theta=theta_rad*180/math.pi;",
- "print('phase lag when f=1000Hz = %f degrees'%theta)",
- "f=10000.0;",
- "theta_rad=-math.atan((f/f_c))",
- "theta=theta_rad*180/math.pi;",
- "print('phase lag when f=10000Hz = %f degrees'%theta)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "phase lag when f=1Hz = -0.572939 degrees",
- "phase lag when f=10Hz = -5.710593 degrees",
- "phase lag when f=100Hz = -45.000000 degrees",
- "phase lag when f=1000Hz = -84.289407 degrees",
- "phase lag when f=10000Hz = -89.427061 degrees"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.10, Page Number: 415<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "A_v1=40.0; #all gains are in decibels",
- "A_v2=32.0;",
- "A_v3=20.0;",
- "f_c1=2*10**3;",
- "f_c2=40*10**3;",
- "f_c3=150*10**3;",
- "f=f_c1;",
- "A_ol_mid=A_v1+A_v2+A_v3;",
- "#theta 1",
- "theta_rad1=-math.atan((f/f_c1))",
- "theta1=theta_rad1*180/math.pi;",
- "",
- "#theta 2",
- "theta_rad2=-math.atan((f/f_c2))",
- "theta2=theta_rad2*180/math.pi;",
- "",
- "#theta 3",
- "theta_rad3=-math.atan((f/f_c3))",
- "theta3=theta_rad3*180/math.pi;",
- "",
- "theta_tot=theta1+theta2+theta3;",
- "print('open loop midrange gain in decibels is %d'%A_ol_mid)",
- "print('total phase lag in degrees is %d'%theta_tot)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "open loop midrange gain in decibels is 92",
- "total phase lag in degrees is -45"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.11, Page Number: 416<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "A_ol_mid=150000.0; #open loop midrange gain",
- "B=0.002; #feedback attenuation",
- "BW_ol=200; #open loop bandwidth",
- "BW_cl=BW_ol*(1+B*A_ol_mid);",
- "print('closed loop bandwidth = %d Hz'%BW_cl)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop bandwidth = 60200 Hz"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 12.12, Page Number: 417<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "BW=3*10**6; #unity gain bandwidth",
- "A_ol=100.0; #open loop gain",
- "print(\"non-inverting amplifier\")",
- "R_f=220.0*10**3;",
- "R_i=3.3*10**3;",
- "A_cl=1+(R_f/R_i); #closed loop gain",
- "BW_cl=BW/A_cl;",
- "print('closed loop bandwidth = %f Hz'%BW_cl)",
- "print(\"inverting amplifier\")",
- "R_f=47.0*10**3;",
- "R_i=1.0*10**3;",
- "A_cl=-R_f/R_i;",
- "BW_cl=BW/(abs(A_cl));",
- "print('closed loop bandwidth = %f Hz'%BW_cl)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "non-inverting amplifier",
- "closed loop bandwidth = 44334.975369 Hz",
- "inverting amplifier",
- "closed loop bandwidth = 63829.787234 Hz"
- ]
- }
- ],
- "prompt_number": 12
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter13.ipynb b/Electronic_Devices_/Chapter13.ipynb
deleted file mode 100644
index 14a01b6b..00000000
--- a/Electronic_Devices_/Chapter13.ipynb
+++ /dev/null
@@ -1,580 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_13"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 13: Basic Op-amp Circuits<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 13.1, Page Number: 433<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 177
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import pylab",
- "import numpy",
- "",
- "R2=1.0*10**3;",
- "R1=8.2*10**3;",
- "V=15.0;",
- "V_REF=R2*V/(R1+R2);",
- "print('V_REF = %f V'%V_REF)",
- "############PLOT##################################",
- "",
- "t = arange(0.001, 2.0, 0.005)",
- "k = arange(0.0001, 0.0529, 0.0005)",
- "k1= arange(0.0529, 0.447, 0.0005)",
- "k2= arange(0.447, 1.053, 0.0005)",
- "k3= arange(1.053,1.447, 0.0005)",
- "k4= arange(1.447,2.0, 0.0005)",
- "m=arange(-12,12,0.0005)",
- "",
- "x5=(0.0529*m)/m",
- "x10=(0.447*m)/m",
- "x15=(1.053*m)/m",
- "x25=(1.447*m)/m",
- "subplot(211)",
- "plot(t, 5*sin(2*pi*t))",
- "plot(t,(1.63*t)/t,'--')",
- "ylim( (-5,5) )",
- "ylabel('Vin')",
- "title('Input Waveform')",
- "",
- "subplot(212)",
- "plot(k,-12*k/k,'b')",
- "plot(k1,12*k1/k1,'b')",
- "plot(k2,-12*k2/k2,'b')",
- "plot(k3,12*k3/k3,'b')",
- "plot(k4,-12*k4/k4,'b')",
- "plot(x5,m,'b')",
- "plot(x10,m,'b')",
- "plot(x15,m,'b')",
- "plot(x25,m,'b')",
- "",
- "ylim( (-13,13) )",
- "ylabel('Vout')",
- "xlabel('each time the input exceeds +1.63V,o/p switches to +12 and vice-versa')",
- "title('Output Waveform')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "V_REF = 1.630435 V"
- ]
- },
- {
- "output_type": "pyout",
- "prompt_number": 178,
- "text": [
- "<matplotlib.text.Text at 0x2f58bd2c>"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\n"
- }
- ],
- "prompt_number": 178
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 13.2, Page Number: 436<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R1=100.0*10**3;",
- "R2=R1;",
- "V_out_max=5.0;",
- "V_UTP=R2*V_out_max/(R1+R2);",
- "V_LTP=-V_out_max*R2/(R1+R2);",
- "print('upper trigger point = %.1f Volts'%V_UTP)",
- "print('lower trigger point = %.1f Volts'%V_LTP)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "upper trigger point = 2.5 Volts",
- "lower trigger point = -2.5 Volts"
- ]
- }
- ],
- "prompt_number": 179
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 13.3, Page Number: 437<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import pylab",
- "import numpy",
- "",
- "R1=100.0*10**3;",
- "R2=47.0*10**3;",
- "V_R1=4.7+0.7; #one zener is always forward biased with forward voltage 0.7V ",
- "#V_R1 can be positive or negative",
- "I_R1=V_R1/R1; ",
- "I_R2=I_R1;",
- "V_R2=R2*I_R2;",
- "V_out=V_R1+V_R2; #positive or negative",
- "",
- "print ('I_R1 = \u00b1%d uA' %(I_R1*10**6))",
- "print ('V_R2 = \u00b1%.2f V' %(V_R2))",
- "print('max output voltage = \u00b1 %.2f V'%V_out)",
- "print('\\nV_UTP = + %.2f V' %(V_R2))",
- "print('V_LTP = - %.2f V' %(V_R2))",
- "",
- "################PLOT######################################",
- "t = arange(0.0, 1.0, 0.0005)",
- "t1=arange(0.0001,0.085,0.0005)",
- "t2=arange(0.0001,0.585,0.0005)",
- "t3=arange(0.585,1.0,0.0005)",
- "t4=arange(0.085,0.585,0.0005)",
- "",
- "m=arange(-7.94,7.94,0.0005)",
- "x1=(0.085*m)/m",
- "x5=(0.585*m)/m",
- "",
- "subplot(211)",
- "plot(t, 5*sin(2*pi*t))",
- "plot(t1,2.54*t1/t1,'--')",
- "plot(t2,-2.54*t2/t2,'--')",
- "text(0.09,1.95,'(0.085,2.54)')",
- "text(0.586,-2,'(0.585,-2.54)')",
- "#annotate('(0.085,2.54)',(0.085,2.54),(0.3,2.5),arrowprops = dict(facecolor='black',shrink=0.09,xycoords='data',textcoords='axes fraction'))",
- "ylim( (-6,6) )",
- "ylabel('Vin')",
- "title('Input Waveform')",
- "",
- "subplot(212)",
- "plot(t1,7.94*t1/t1,'b')",
- "plot(t3,7.94*t3/t3,'b')",
- "plot(t4,-7.94*t4/t4,'b')",
- "plot(x1,m,'b')",
- "plot(x5,m,'b')",
- "ylim( (-9,9) )",
- "title('Source and output AC voltage')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "I_R1 = \u00b154 uA",
- "V_R2 = \u00b12.54 V",
- "max output voltage = \u00b1 7.94 V",
- "",
- "V_UTP = + 2.54 V",
- "V_LTP = - 2.54 V"
- ]
- },
- {
- "output_type": "pyout",
- "prompt_number": 180,
- "text": [
- "<matplotlib.text.Text at 0x2f9fbf2c>"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\nPhyxsbEwMjICAJw5cwZ5eXno1q0bfHx80KBBA5iYmKBbt26IiYkpsS8PDw/o6+vj2LFjqmXbt2/H\nqFGjAIiHPeVyOWJiYhATEwO5XI7FixeX2M/WrVvRokUL7N+/Hzk5Ofj4448BAP369cM///yD9PR0\nvPHGG6r9AsD7778PAwMDpKWlYfPmzdiyZYvq3yg3Nxfe3t4YPXo00tPTsWPHDrz33nuIj48vURYv\n+z9y+vRpDBs2DABga2sLGxsbXLlypYx/jdqr3OfNindfvLrCwkJq1aoVJSQkUH5+/ks7i8+cOVNr\nO0jVKYsbN26Qra0tnTlz5oX7io+Pp3HjxpGVlRXp6uqSn58fpaWlERHRW2+9Rd99951q2ytXrpCe\nnh4plcpSOwStra3p2LFjRCQ64rp3765al5KSQjo6OqoO7Ge988479NlnnxVb9vrrr1NUVJRaZaGj\no0OHDh2i/Px8MjMzo06dOqnWx8XFUYMGDYiIKCoqiho2bEh79uxRre/UqVOJYz9R0e8/evToYuu9\nvLxo7ty5qt8vX75MdevWpaKionLt73mRkZEkk8nozz//pPz8fKpfv76qM3Tbtm1kbm5O8fHx1LNn\nT1IoFJSbm0tOTk4UFxdX6v7mz59PEyZMICKi7Oxs0tfXp5s3bxIRka2tLR06dEi17eHDh8na2pqI\nSnYWP/s9SpOVlUUymYyys7NJoVCQnp4eXb16tVgcXbp0ISKiHTt2UNeuXYt9/j//+Q8tXLiw2DJ1\n/o/MmDGDgoKCiIjo9u3bZGlpSZmZmWXGWZMlJCSo1Vn8KudNjfSm6Orq4uuvv0bv3r2hVCoxceJE\nODg44IcffgAATJkyBX379sXBgwdhZ2cHfX19bNq0SROhVjl1ymLRokXIyspStYvr6elBLpeX2Feb\nNm1U5XTlyhWMHj0a06dPx/bt25GamoqWLVuqtm3RogUUCoXaHfDPXoElJSXB2NhY1YH9rBs3bmDL\nli1Yt26dallhYSFSU1NL3e/KlSuxceNGpKSkqK4UJ0+ejHr16sHJyQkWFhaqsujduzfy8vJQVFSE\nlJQUNGzYsNi+WrZsWWb7dUW/f2mebf5p0aIFCgsLkZGRUe79PWvbtm3w8PDAkCFDoFQq0bVrV4SH\nh8Pa2hpxcXHIyMhA69at0adPHzg7O0NHRweTJ0+Go6NjqfsbOXIkOnXqhO+++w579+5F+/btVfGn\n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\nB0HRkFnTYYNDAAAAAElFTkSuQmCC\n"
- }
- ],
- "prompt_number": 180
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 13.4, Page Number: 440<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "V_IN1=3.0;",
- "V_IN2=1.0;",
- "V_IN3=8.0;",
- "#all resistors are of equal value so weight of each input is 1",
- "V_OUT=-(V_IN1+V_IN2+V_IN3);",
- "print('output voltage = %d Volts'%V_OUT)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage = -12 Volts"
- ]
- }
- ],
- "prompt_number": 181
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 13.5, Page Number: 440<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R_f=10.0*10**3;",
- "R1=1.0*10**3;",
- "R2=R1;",
- "R=R1;",
- "V_IN1=0.2;",
- "V_IN2=0.5;",
- "V_OUT=-(R_f/R)*(V_IN1+V_IN2);",
- "print('output voltage of the summing amplifier = %d Volts'%V_OUT)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage of the summing amplifier = -7 Volts"
- ]
- }
- ],
- "prompt_number": 182
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 13.6, Page Number: 441<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R_f=25.0*10**3;",
- "R1=100.0*10**3;",
- "R2=R1;",
- "R3=R1;",
- "R4=R1;",
- "R=R1;",
- "V_IN1=1.0;",
- "V_IN2=2.0;",
- "V_IN3=3.0;",
- "V_IN4=4.0;",
- "V_OUT=-(R_f/R)*(V_IN1+V_IN2+V_IN3+V_IN4);",
- "print('output voltage = %.1f Volts'%V_OUT)",
- "V_IN_avg=(V_IN1+V_IN2+V_IN3+V_IN4)/4;",
- "if abs(V_OUT)==V_IN_avg:",
- " print('The amplifier produces an output whose magnitude\\n is the mathematical average of the input voltages')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage = -2.5 Volts",
- "The amplifier produces an output whose magnitude",
- " is the mathematical average of the input voltages"
- ]
- }
- ],
- "prompt_number": 183
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 13.7, Page Number: 442<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "V_IN1=3.0;",
- "V_IN2=2.0;",
- "V_IN3=8.0;",
- "R_f=10.0*10**3;",
- "R1=47.0*10**3;",
- "R2=100.0*10**3;",
- "R3=10.0*10**3;",
- "weight_of_input1=R_f/R1;",
- "weight_of_input2=R_f/R2;",
- "weight_of_input3=R_f/R3;",
- "V_OUT=-(weight_of_input1*V_IN1+weight_of_input2*V_IN2+weight_of_input3*V_IN3);",
- "print('weight_of_input1 = %f'%weight_of_input1)",
- "print('weight_of_input2 = %.1f'%weight_of_input2)",
- "print('weight_of_input3 = %d'%weight_of_input3)",
- "print('output voltage = %f Volts'%V_OUT)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "weight_of_input1 = 0.212766",
- "weight_of_input2 = 0.1",
- "weight_of_input3 = 1",
- "output voltage = -8.838298 Volts"
- ]
- }
- ],
- "prompt_number": 184
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 13.8, Page Number: 444<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import pylab",
- "import numpy",
- "",
- "",
- "R_i=10.0*10**3;",
- "C=0.01*10**-6;",
- "V_in=2.5-(-2.5);",
- "PW=100.0*10**-6; #pulse width",
- "T=2*PW;",
- "A=2.5;",
- "op_change_cap_charge=-V_in/(R_i*C);",
- "op_change_cap_discharge=V_in/(R_i*C);",
- "print('rate of change of output voltage with respect to time when capacitor is charging = %.1f V/sec'%op_change_cap_charge)",
- "print('rate of change of output voltage with respect to time when capacitor is discharging =%.1f V/sec'%op_change_cap_discharge)",
- "del_V_OUT=op_change_cap_discharge*PW;",
- "print('\\n\\nwhen input is positive, the slope is negative,\\nwhen input is negative, the slope is negative. \\nSo, the output is a triangular wave varying from zero to %.1f V'%(-del_V_OUT))",
- "",
- "##############PLOT#############################",
- "t = arange(0.0, 10.0, 0.0005)",
- "t1= arange(10.0, 20.0, 0.0005)",
- "t2= arange(20.0, 30.0, 0.0005)",
- "t3= arange(30.0, 40.0, 0.0005)",
- "",
- "k = arange(0.0001, 10.0, 0.0005)",
- "k1= arange(10.0, 20.0, 0.0005)",
- "k2= arange(20.0, 30.0, 0.0005)",
- "k3= arange(30.0,40.0, 0.0005)",
- "",
- "m=arange(-2.5,2.5,0.0005)",
- "x1=(0.001*m)/m",
- "x5=(10*m)/m",
- "x10=(20*m)/m",
- "x15=(30*m)/m",
- "x25=(39.99*m)/m",
- "",
- "",
- "subplot(211)",
- "plot(k,2.5*k/k,'b')",
- "plot(k1,-2.5*k1/k1,'b')",
- "plot(k2,2.5*k2/k2,'b')",
- "plot(k3,-2.5*k3/k3,'b')",
- "plot(x1,m,'b')",
- "plot(x5,m,'b')",
- "plot(x10,m,'b')",
- "plot(x15,m,'b')",
- "plot(x25,m,'b')",
- "",
- "ylim( (-3,3) )",
- "ylabel('Vin')",
- "xlabel('us')",
- "title('Input to Opamp Integrator')",
- "",
- "subplot(212)",
- "plot(t,(-0.5*t),'b')",
- "plot(t1,(0.5*t-5),'b')",
- "plot(t2,(-0.5*t),'b')",
- "plot(t3,(0.5*t-5),'b')",
- "",
- "ylim( (-5,0) )",
- "ylabel('Vout')",
- "xlabel('us')",
- "title('Output of an Integrator')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "rate of change of output voltage with respect to time when capacitor is charging = -50000.0 V/sec",
- "rate of change of output voltage with respect to time when capacitor is discharging =50000.0 V/sec",
- "",
- "",
- "when input is positive, the slope is negative,",
- "when input is negative, the slope is negative. ",
- "So, the output is a triangular wave varying from zero to -5.0 V"
- ]
- },
- {
- "output_type": "pyout",
- "prompt_number": 185,
- "text": [
- "<matplotlib.text.Text at 0x303b512c>"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\n/fRTeHl5YfLkyRXeulZ3ufBr167Bw8OjSu9JSUnB6dOn4evrW6XyVKlUlZ7XUhPzX4ri7NatG4B/\ny3PixIl6b1pRq9VPfI1Go4G3tzfs7e21zVbV+XzqS3lxApX7fEppxowZiIyMhJnZv9V4lctTfzcn\nVfP999/TlClTtI+jo6PpjTfekDGiit28eZOIiG7fvk1eXl506NAhmSP615UrV0o0rTRs2LDE921t\nbSt1nMzMTLKysqKtW7eWeD47O5uaNGlC69atIyKi4OBgevfdd7Xf379/Pzk7OxMRUWBgIJmZmVHd\nunXJysqKIiMj6cqVK6RSqWjJkiVkYWFBzZo1o+XLl9OtW7dIo9FQcHAw9erViyZNmlSp45Xnq6++\nIjc3N2rUqBENHTpU+/tq1aqV9v3W1taUn59f5r1Lliyh1q1bk7W1NXl4eNDmzZvpqaeeotjYWFq/\nfj2Zm5vTrFmzyNbWllq2bElWVlYVlqGrqyslJiYSEdH69eupZ8+eJd4bHx9PRETvvPMOmZubU506\ndcjKyoqmTZtGRETnz5+nAQMGUKNGjaht27b03XffaY+dnp5OgwcPpgYNGtDTTz9NoaGhZGVlRbGx\nsUREpFKpaOXKleTm5kYNGzakSZMmUUhICLm4uFCDBg2oc+fOdPjwYSIiio+Pp1q1apGlpSVZWVmR\nt7c3ERHduHGDhgwZQo0aNSI3NzdavXq19vzz58+nkSNHUmBgIDVo0IDWrl1bYTmUdv/+ffL19aV9\n+/bp/PmUQlGc+/fv134+NRoNzZ07V/v5lMuPP/5IU6dOJSLxNzJ48GAiqvrfu2ISwLFjx+jZZ5/V\nPg4PD6elS5fKGFHlLFiwgJYvXy53GFqlE0Dbtm0pLS2NiETiatu2baWOEx8fTxYWFqRWq8t8Lzg4\nmAICAoiI6OWXX6Z58+Zpv1e8wiYqWQkWxadSqejFF18kDw8POnv2LDVp0oT27t2rPd60adO0P8OT\njldaYmIi2dnZ0enTpykvL4+mTZtGvXv3rvT7t27dqi2vb7/9lszNzWnRokVEJCpxABQVFUUajYaW\nLl1KFhYWFR6rdAKwtLSkNWvWkEajoVWrVpGjo6P2tX369ClRiWZnZ5OzszNt2LCB1Go1nT59muzs\n7LT9YmPHjqWAgADKzc2lM2fOUJ06dahVq1ba96tUKho4cCDdu3ePLly4QB07dqRNmzZRRkYGqdVq\nioqKIgcHB8rLyyMi8TkOCgoqEf8zzzxDr7/+OuXl5VFycjI1adKE9u3bR0QiAVhaWmr7UXJzcyss\nh/IsWrSIIiMjdf58SqUozuJK/43JISwsjJydncnV1ZUcHByoXr16FBgYWOXyVEwTUJcuXXD58mWk\npKQgPz8fW7ZseWwbrVwePnyIrKwsAEBOTg4SEhJKjGZRmqFDh2Ljxo0AgI0bN2LYsGGVel96ejrs\n7OxK3F4WcXBwwN27d7WPSYcmmZCQEJiZmaFjx46YOHFiifbvCxcu6Fym33zzDSZPngxvb2/UqlUL\nS5YswbFjx3Dt2rVKvX/UqFFwcHAAESE+Ph6NGjWCl5eX9vsNGzZEQUEBVCoV8vLyUFhYiNu3b1fq\n2C1atMDkyZOhUqnw0ksvIS0trcR7i5fjTz/9hJYtWyI4OBhmZmbw9vbGiBEjsHXrVqjVavzwww9Y\nuHAhateujeXLl6NTp05wdHQscb6wsDA0bNgQcXFx8PT0xIQJE2BrawszMzPMnDkTeXl5uHjxovbc\nxc+fmpqKo0ePIiIiArVq1YKXlxemTJmCr7/+WvuaHj16aP9G69Sp89ifPT09Xdtskpubiz179sDH\nx0fnz6e+VBRn8dUNYmNjZf+bDw8PR2pqKq5cuYKYmBj069cP0dHRVS5PxewJbGFhgZUrV+LZZ5+F\nWq3G5MmT0b59e7nDKuPWrVsYPnw4AKCwsBATJkzAwIEDZY5KCAgIwMGDB5Geng4XFxcsWrQIc+bM\nwZgxY7B27Vq4urriu+++q9Sx7OzskJ6eDo1GUyYJpKWlVWshPyLChAkTcPfuXbi4uMDPzw8HDx5E\np06dcP36dTRp0gTR0dE6HTstLQ1dunTRPq5fvz4aN26MGzduoHnz5k98/9dff42PPvoI//3vf5Gd\nnQ0AeOONNzB//nz069cP7dq1w549e7TlqVKpkJ2dXan5LA4ODtr/F3U0Fn9v8X6Aq1ev4sSJEyU6\nywsLC/HSSy8hPT0dhYWFcHFxwZEjR7Bp0yY4OTnh3r178PHxQXh4OIgI//nPf1CnTh20bNkSX375\nJZYvX45169bh5s2bUKlUePDgAdLT08uN9ebNm2jUqBHq16+vfa558+b49ddftY+dnZ2f+DMXSUtL\nQ3BwMDQaDTQaDYKCgtC/f3/4+Pjo9PnUl4rifOmll5CcnAyVSqUtTyUp+uxU9e9dMQkAAJ577jk8\n99xzcofxWC1btkRycrLcYZRr8+bN5T6/d+/eKh+re/fuqF27NrZt24bRo0drn8/OzsauXbuwZMkS\nAKKCffjwofb7pdeBKq9zU6VS4cCBA2jbti0AYPbs2Xj++eexevVqvPHGG6hdu7a2I6syxyvO0dER\nKSkp2sc5OTm4e/cunCqxi/vVq1fxf//3f9i3bx+6d+8OlUoFHx8fTJs2DZMmTcKGDRuQlJRUojzL\nu0PSRemfq3nz5vDz80NCQkKZ16rValhYWCA1NRW9evWCRqPBu+++i4MHD+Lw4cPa48XHx6NVq1YA\ngMOHDyMyMhL79u3Tdmo2atRIe9Vf+vyOjo7IyMhAdnY2rKysAIgO9OKVflU6rj09PXHq1Kkyzzdq\n1Einz6e+VBRn8TsfpfHz84Ofnx+AqpenYpqAmLLY2Nhg/vz5mDZtGnbv3o2CggKkpKRgzJgxcHFx\n0Q4Z9Pb2RlxcHO7du4e///4bH3/8cYnj2Nvb43//+1+Z4y9evBi5ubn4888/sWHDBowdO7ZaxysS\nEBCA9evX48yZM8jLy8M777yDbt26VerqPycnByqVCnZ2dtBoNFi/fr1ka1WV/rkGDx6MS5cuYdOm\nTSgoKEBBQQFOnjyJCxcuwNzcHCNGjMCCBQuQm5uLCxcuIDo6+rEVclZWFiwsLGBnZ4f8/HwsWrQI\nDx480H7fwcEBKSkp2oTg4uKCHj16ICwsDHl5efj999+xbt06BAYG6q8QmOQ4AbAKhYaGIjw8HLNm\nzYKNjQ26deuGFi1aIDExEZaWlgCAoKAgeHl5wdXVFYMGDcK4ceNKVERhYWFYvHgxbG1t8eGHH2qf\n9/Pzg5ubGwYMGIDQ0FAMGDCgWscr0r9/f7z//vsYOXIkHB0dtW2kleHh4YG33noL3bt3h4ODA/74\n4w/06tVL+/3yhnVWZZjn49775ptv4vvvv0ejRo0wffp0WFlZISEhATExMXByckKzZs0QFhaG/Px8\nAMDKlSuRmZkJBwcHBAcHIyAgALVq1aowrkGDBmHQoEFwd3eHq6sr6tatWyIpFt3lNW7cWNuEtnnz\nZqSkpMDR0REjRozAokWL0K9fvwp/HmZ4ZFsNlJmmlJQUtGrVCoWFhTXWfMJEM9rt27d5eXVWJbL8\nBRrKmj+MKdXFixfx+++/g4iQlJSEdevWaQcnMFZZkncCq9VqvPHGG9i7dy+cnJzw9NNPY+jQoYoc\n8cP0w1CaDlJSUjBkyBCcPXsWALB8+XLk5OTA1tYWX375JSwsLODh4VFh57s+ZWVlISAgADdv3oS9\nvT1mzZrPK56RAAAfDElEQVSlyGHTTNkkTwDF1/wBoF3zhxOAaXB1da3UsgFKVJS4IiIikJKSAktL\nyxIdqVIqmjfDWHVIngDKW/PnxIkT2seGcnXITEd5n8niHa6MKUVVu3Ql7wOoTAXfpAnhwgXSzk5U\n4tf8+fNlj4HjlPbrhx8I5ubz8fbb8sdi6GXJcdbs1/37uo3lkTwBODk5ITU1Vfs4NTW1zIzCpUuB\nIUOAe/ekjo6x8p09C/zf/wFjxwKbNwPbtskdEWOCWg0EBOj2XskTQGXW/Jk0CXjhBWDMGKCwUOoI\nGSspPR148UXg44+BNm2A2Fjg1VcBhU4IZyZmzhwgL0+390qeAIqv+ePh4YGxY8eW2wEcGQmYmwNv\nvSV1hJXTp08fuUOoFI6zevLzgVGjxJX/hAkizs6dgZUrRVJQwPL1ZSi1LEvjOKtv40ZxQbJ1q27v\nV9xEsOIbfty/D/j6AqGhwJQpMgfGTA4R8NprwM2bwPbtQOl5a++9ByQmAvv2AbVryxMjM11HjwLD\nhgEHDgAeHrptlqToBAAAly4BzzwDfP+9+JcxqXz2GbBqFXDsGGBtXfb7Go24O2jYEFi7FuABbEwq\nqani4njNGuD558VzuiQAxc/Fd3cHoqNFf0CxRR4Z06vEROD994GdO8uv/AFxR/D118Bvv4n+Acak\nkJMjmh9nzvy38teV4u8AiqxYIa6yjhyp+A+SsZpw+TLQqxewZQtQmebfq1eBbt2A9euBQYP0Hh4z\nYUSiP6puXWDDhpJ3nUbZBFSECHjlFTEi44cfyrbHMlYTMjNFZT59OvCf/1T+fb/8AowYARw6BLRr\np7/4mGlbtAiIjwf27wdKb8Jm1AkAECMyBgwAevcGFi+WODBm9NRqMf+kVSsxyqeq1q4FIiKAEyeA\nYht5MVYjtm0DZswAkpKAYpvLaRl9AgCAO3eArl2BJUuAceMkDIwZvdBQ4NQpYNcu4J/tDqpsxgzg\njz/EVZqFovbbY4YsORnw9wd27waeeqr81xhlJ3BpTZoAO3YAISFAse1JGauW4uOpda38AeXPX2GG\n59Yt0en7+ecVV/66MrgEAACdOgFffgkMHy7GaDNWHUePiqv/nTuBRo2qdywLCyAmRtxFrF5dM/Ex\n05WXJ/qWXn4ZKLY1d40xuCag4hYvBn78UUyEqFtXv3Ex45SaKjp9V6+u/pC64i5dEiOJvv9e9Fkx\nVlVEYlmcrCzgu++ePPDFJPoAiiMCxo8Xt9zR0TwRh1VNTo6YXDh+PDBrVs0fPyEBCA4WE8n+2f6C\nsUr78EMxz+TIEaB+/Se/3uQSAAA8fCiusEaPBmbP1mNgzKhoNGI8db16ZcdT1ySev8J0ER8vrv6P\nHwdatKjce0wyAQDAjRtiWvSqVWIYH2NPsnChaKcvbzx1TeL5K6yqLlwQF7WxsUDPnpV/n+JHAW3d\nuhUdOnSAubk5Tp06VWPHdXISY2QnTRJD8Bh7nG3bxFV5bKx+K39A3Fl8/jlw965YPI6xx8nIAIYO\nFfNJqlL560rSBODp6YnY2Fj01kOvmK8v8NFHovDS02v88MxIJCeLtfy3by9/Mo0+1Kolks4334jN\nZBgrT2GhaJYcPBiYOFGac0o6VaVdJefIL1iwQPv/Pn36VHo97sBAcQcwerTogKvOeG5mfPQ5nvpJ\nmjYV81f69wfc3ICnn5b2/Ez5Zs4UA1qWLavc6w8cOIADBw5U65yy9AH07dsXUVFReKqcv0Jd2rGK\nU6vFGtnOzqJPgDFAjKfu108sJbJwoXxxxMaKSYwnTgCOjvLFwZRl9WogKkp0+jZsqNsxdKk7a/wO\nwN/fH3///XeZ58PDwzFEgh5ac3Nxq92jh7jSmzpV76dkCkckmn2aNQPmz5c3luHDgT//FP/y/BUG\niAUE330XOHxY98pfVzWeAPbs2VPTh6yyBg3ErM4ePYC2bcVtNzNdH30EnD4thmIqYRTO3LmiqfKV\nV3j+iqm7ckW0+2/aJPY+kZpsfw76bnlq1Up0uI0fD/z3v3o9FVOw+HixPs+OHZWbTCMFlQpYt04M\n94uIkDsaJpesLDFoJSxMLPQmB0n7AGJjYxESEoL09HTY2NjAx8cH8fHxJQOqZh9AaV98AXzyiZiN\naWNTY4dlBkDX8dRS4fkrpkujEWv8NGkCfPVVzdwFmuxEsCd5/XWxneTOnaKPgBm/jAyxxk9YmHRD\n6nRx4oQY9rd/P9Cxo9zRMKnMnSva/PfuFcOEa4LiJ4LJ5eOPgdxcURkw4yfHeGpd8fwV07N5M/Dt\nt2JuSE1V/royiTsAQMzE9PUF5s0TC3Qx4xUSIlbj/Oknw9mUZfZssdMTz18xbidPAi+8IK78O3Wq\n2WNzE9ATnDsnNvnesQPo3l0vp2Ayq4nx1HIomr/i5CT6BHhkkPG5eVPsZrhypfhd1zRuAnoCDw9g\n/Xpg1CixDjwzLkXjqXfuNKzKH/h3/sovv4j5K8y45OaKSv+11/RT+evKpO4AikRGil2bDh8WywEz\nw3flipj38fXX8g2pqwl//SV+jm++4fkrxoJILFOj0Yi2f33d3XETUCURiX6AR4+ALVv4dtvQZWWJ\nSvOVV0T7v6Hbvx8YN05MXHNzkzsaVl1Ll4oO30OH9DvzmxNAFTx6BPTtCzz3HC/Ta8j0MZ5aCVat\nAj79lOevGLqdO8VyNCdOiP4dfeIEUEVpaf8Owxs5UpJTshqmj/HUSsHzVwzb2bNiAcKffxadv/rG\nncBV1KyZmCX66qtinXhmWJQ0nlofiuavzJkjdySsqtLTxdLjH38sTeWvK5NOAADQuTPw2WeiZ/72\nbbmjYZV18iTw5ptiSG+TJnJHox+WlsDWreIiZeNGuaNhlZWfL0YajhkDTJggdzSPZ9JNQMW99x6w\nbx+QmAjUri356VkV6Hs8tdLw/BXDQSSGet68KRK3lE13im8CCg0NRfv27eHl5YURI0YgMzNTytM/\n1oIFYtem114Tv0SmTEodT61PPH/FcHz+uZjL8c03htFvI2kCGDhwIP7880+cOXMG7u7uWLJkiZSn\nfywzMzGG/LffRLsdUx4iYMoUoHVr4J135I5GWi+8AEyfLtqVc3LkjoaVJzEReP990WlvbS13NJUj\naQLw9/eH2T87cvj6+uL69etSnv6JrKzEL2/ZMmD3brmjYaVFRIg1ftatM57hnlUxa5ZYMXTiRL5L\nVZrLl8XeIzExYi8SQyHbUlnr1q1DQEBAud/TdVP4mtCiheh4GzFCDC9s21ayU7PH2LlTtPmfOGG6\n2yiqVGKuQ9++4kqT568oQ2amWM114ULRVyMVSTaF/+uvv9CqVEor77kildkT+IMPPsCpU6ewbdu2\nsgHJ1Alc2rp1YgbfiROAra3c0Zg2qcdTKx3PX1EOtVps5tOqlbhAkZNeJoL5+Pjg9OnTJZ7r3Lkz\nfvvtt6pHCGDDhg1YvXo1EhMTUadOnbIBKSQBAMCMGWLv1vh4w1lW2Nikp4tK//33lT+kTkq//QYM\nGgTs2QN4e8sdjekKDQVOnQJ27ZJ/GW9d6s4Kq7Xz58/j3LlzyMzMxA8//AAigkqlwoMHD/Do0SOd\nAty1axciIyNx8ODBcit/pYmMFJuKvPUWsGKF3NGYHkMaTy214vNXTpwA7O3ljsj0bNwohnomJclf\n+euqwjuAHTt2IDY2Fj/++COGDh2qfd7a2hrjxo1Djx49qnyyNm3aID8/H40aNQIAdO/eHZ+XWvtW\nSXcAAHD/vrjdDg0VI1CYNOQcT21I3ntPjD7Zt4/nr0jp6FGRfA8cEMN0lUAvTUDHjh1Ddwlnnygt\nAQBi5MkzzwDffy/+Zfr32WdiQbRjxwxnSJ0cNBpxl9SwIbB2rWmOjpJaaqq4KFyzBnj+ebmj+Zde\nEsDEUpuqqv75hK1bt66K4VUyIAUmAEBs1RccLCokV1e5ozFuiYmiyefoUcMaUieX7GygZ0/g5ZdF\nvxXTn5wccRE4frwYlqskNdoHUOSFF17QVvq5ubmIjY2Fo6OjbhEasIEDxaJcQ4eKddr5qlQ/isZT\nb9nClX9lFc1f6d5dNEc8+6zcERknjUYkWU9P0S9oDKq8FpBGo0HPnj1x7Ngx/QSk0DsAQLRLv/KK\nGJnyww9i9jCrOZmZQLduYpG3V1+VOxrDc+QIMHy42HikXTu5ozE+CxeK0T779wNKHMMiyVpAly5d\nwp07d6r6NqOgUom1Pu7e5Uk4NU2tBgICxDaIXPnrpmdPMXdl6FDg3j25ozEu27aJPpbYWGVW/rp6\nYhOQlZWVtglIpVLB3t4eEREReg9MqWrVEh8GX18xLX/cOLkjMg5z5gB5eWJyE9PdpEli4tyYMTx/\npaYkJ4uLkt27AQcHuaOpWbwctI5+/x0YMACIiwO6dJE7GsO2caOY6JWUBPwzQphVQ2GhmL/Sti3P\nX6muW7fERMTly4HRo+WO5vH0tiXkjh07cOjQIahUKvj5+WmXdNAHQ0kAgLgdDAkRE3FMsF+8Rihx\nPLUx4Pkr1ZeXJ5YgGTBAtP8rnV4SwJw5c3Dy5ElMmDABRISYmBh06dJFb0s5G1ICAIDFi4EffxQV\nmKkuUqYrpY6nNhY8f0V3RKI5LSsL+O47wxjwoZcE4OnpieTkZJj/MxVTrVbD29sbZ8+e1T3SxwVk\nYAmASHReWlgA0dE8EaeylDye2pjw/BXdfPih2B/kyBGgfn25o6kcvYwCUqlUuH//vvbx/fv3tZ3C\nTFT469YBFy6IfQTYkxnjeGqlKj5/JStL7mgMQ3y8WAdsxw7Dqfx1VeEYgalTp2L8+PF455138NRT\nT6Fv374gIhw8eBBLly6VMkbFq1dPfFh8fUU7th67SIzC++8D16+L8dR8LaF/ISFiZFBQEM9feZIL\nF8QdU2ys2BvE2FXYBPTxxx9jy5YtuHnzJgYMGIAWLVrA29sbXbt2hYOOY6HmzZuHnTt3QqVSoXHj\nxtiwYQNcXFxKBmRgTUDFnTghRl/s3y+GiLKytm0TyxUkJRnfkDoly88XnZm9e4t+K1ZWRoa4iHvn\nHbHrmqHRSx9ASkoKYmJiEBMTg9zcXIwfPx4BAQFwd3evcoBZWVmw/mcNhU8//RRnzpzBmjVrSgZk\nwAkAADZtEpPEkpIAOzu5o1GW5GTA31+Mp37qKbmjMT137oghjUuW8PyV0goLgeeeE82SH34odzS6\n0dsw0CKnT5/GxIkTcfbsWajV6ioHWNySJUuQmZlZpjnJ0BMAAMyeLRJAQoLhrhNe0wxpPLUx4/kr\n5QsJEaOmfvrJcCfP6WUxuMLCQsTFxSEmJgaJiYno27cvFlZjUOzcuXMRHR2NevXq4fjx4+W+Rs49\ngWtCeLgY2x4SIpY0NnV5eWKP5Zdf5spfbp06AV9+KdYM4vkrwurV4mLt+HHDqvz1uidwQkICYmJi\n8PPPP6Nr164ICAjA0KFDYWVl9dgDVmZPYABYunQpLl68iPXr15cMyAjuAADgwQOgRw9g6lTxZaoM\ncTy1KeD5K8LBg2LZjMOHAR1atRWlRpuA+vXrh4CAAIwcOVK7g1dNunbtGp5//nn88ccfJQMykgQA\nAH/9JZLAN9+IRc5MkSGOpzYFRGIOhrm56c5fuXJFLKEdHS36pgyd3vsAquvy5cto06YNANEJnJSU\nhOjo6JIBGVECAMSIoHHjRAXo5iZ3NNKKjxdX/8ePm8aQOkPz8KEYFTR6tOi3MiVZWeLi7JVXRFOt\nMVB8Ahg1ahQuXrwIc3NztG7dGqtWrULTpk1LBmRkCQAQ/QCffipmY9rYyB2NNC5cEJVLbKxYppgp\n040bYujjqlWmM39FoxF9Uk2aAF99ZTx3P4pPAJVhjAkAAF5/HUhJETs3GfsG5xkZYmOXOXPEHQBT\nNlObvzJ3rmjz37tXLO9uLCTZEIbp5uOPgdxcICxM7kj0q7AQGDtWVChc+RsGX1+xD8PQoWK3O2P2\n7bfia9s246r8dcV3ABK6e1f8sc2bJ6abGyNjGE9tqubMEXcDxjp/5eRJsepsYqIYDmtsuAnIAJw7\nB/TpI9YO6t5d7mhq1urVQFSU6PRt2FDuaFhVqdVi/oqzs/HNX7l5U0xEXLlS/IzGiJuADICHB7B+\nPTBqlFgP31gcOgS8+67o4+DK3zCZm4shy4cPi72vjUVurqj0X3vNeCt/XfEdgEwiI4GYGPHHVq+e\n3NFUz5UrYkjd118bx3hqU2dM81eIgMBAMfLn22+NZ8RPebgJyIAQiX6AR4+ALVsM94NpjOOpmfHM\nX1m6VHT4Hjpk/DOeOQEYmEePgL59xSqE770ndzRVZ6zjqZnwxRfAJ58Y7vyVnTvFMiwnTgBOTnJH\no3+cAAxQWtq/w/BGjpQ7mqox1vHU7F+GOn/l7FmxofvPP4vOX1PAncAGqFkzMVv21VfFevmGYvNm\nHk9tCgxx/kp6OvDiiyJ2U6n8dcUJQAE6dwY++0yMULh9W+5onuzkSeDNN8VQ1iZN5I6G6ZOlJbB1\nq9hKcuNGuaN5svx8McJuzBhgwgS5o1E+bgJSkPfeA/btExNVateWO5rymcJ4alaWIcxfIRJ30mlp\n4q7akJqsagL3ARg4jUZcvTRsCKxdq7xO1dxcwM9P3F7PnSt3NExqcXFitNfx40CprbwVYeVK0XF9\n7Bjwz86zJsVg+gCioqJgZmaGjIwMOU6vWGZmYiz9b7+J9kslIQKmTAFatxabZjPT8/zzwPTp4s7v\n4UO5oykpMVFscrNzp2lW/rqSPAGkpqZiz549aMELxJfLykp8iJctE5unK0VEBHDxojLvTJh0Zs0C\nOnQAJk4UFwVKcPmy2NwmJgZo1UruaAyL5Mt1zZw5E8uWLcOLL75Y4WsMfU/g6mrRQnS8jRghhlm2\nbStvPDt3itvrEycMf9Yyqx6VSsz56NtXXHHPmydvPJmZYhXThQtFH4Up0euewPqwY8cOHDhwAB99\n9BFatmyJ3377rcx2k6bcB1DaunViJuOJE4CtrTwxmOJ4avZkf/8tPg9yzl9Rq8UmNq1aiQsUU6dL\n3VnjdwAVbQr/wQcfYMmSJUhISNA+xxX9402aJCrgMWPE9opSL6/M46lZRRwcgO3bgWefFf1C3t7S\nxzB7NpCXJ5IQ041kdwB//PEH+vfvj3r/tCFcv34dTk5OSEpKKrEtJN8BlFRYKDZXadsWWLFCuvPm\n5wMDB4qdvZYule68zLB89x3w9ttAUhJQandXvdq4EXj/fXHeUo0IJsughoFyE1Dl3b8vlosIDRUj\ncfSNSCyde+OGuMoztfHUrGqknr9y9KgYiXTggFhenQkGMwwUEMGyymnYEPjxx3/X3tG3zz8HfvlF\nLAfMlT97kgULxNX/a6/pf2RQaqqYK7NhA1f+NYEnghmQhASxhPSxY4Crq37OkZgoptAfPcpD6ljl\nZWcDvXqJz+eMGfo5R04O8MwzYsjnrFn6OYchM6gmoIpwAni8FSvEWPwjR2p+wsvly+KPeMsW0xtS\nx6rv6lWxTMT69aJzuCZpNMDYsWIY8oYNPBelPJwATACRmI6fni4W6DKroUa8zEzR4fvmm2I9FcZ0\nceQIMHx4zc9fWbgQ2LVLbFRTp07NHdeYcAIwEfn5Yqs+Pz8xGae6isZTt2wpViVlrDpqev7Ktm2i\nWSkpSQw/ZeXjBGBCbt8WI4OWLBFb91VHaChw6pS4wrK0rJn4mGmbMQP480+xgFx15q8kJ4t9pnfv\nBp56qubiM0YGNQqIVU/TpmJp3pAQ4NdfdT/Oxo1i6dytW7nyZzUnMlI0T771lu7HuHVLTET8/HOu\n/PWFE4AB69QJ+PJL0eZ682bV33/0qLj637mTJ9OwmmVhIRZn270bWLOm6u/PyxOf65dfBkaPrvHw\n2D+4CcgILF4s5gkcOADUrVu596SmiiakNWvEMr+M6cOlS2Lo5vffi38rg0gsg5KVJWYa19RAB2PH\nfQAmiggICBBXXdHRTx4iVzSeOiBA3AEwpk9Vnb/y4YdiX4wjR4D69fUentHgBGDCHj4EevcWt8uz\nZ1f8Oh5PzeRQNH/l6FGx50VF4uPF1f/x42JZdFZ5nABM3I0bolln1SoxrLM8PJ6ayYEI+L//A+7c\nqXj+yoUL4iImNhbo2VP6GA0djwKSUHU3YtAHJycxZnrSJOCPP8RzxePctk1chcXGKq/yV2J5lscQ\n4lRijCqVmGOSkSEWjwNKxpmRIS5aIiKUV/krsTxriqQJYMGCBXB2doaPjw98fHywa9cuKU9fo5T6\nofD1FeujDx0qZgsXxZmcLGb4bt+uzMk0Si3P0gwhTqXGWKuWuAj55hsxQqgozsJC0Sw5ZIjYalJp\nlFqeNUHSLUZUKhVmzpyJmTNnSnlakxMYKDaSGT1adPYWjaf+7DMeT83k1aSJmL8yYIBY0hkAZs4U\nq84uWyZvbKZI8j2BuX1fGuHh4g/s55/FCp/BwWJnMcbk1qmT2Fc4OBho00aMEjp+XPod75jEncAL\nFy7E+vXrYWNjgy5duiAqKgoNGzYsGRAPS2GMMZ3IPgrocXsCd+vWDU2aNAEAzJs3D2lpaVi7dm1N\nnp4xxlglyTYMNCUlBUOGDMHZs2flOD1jjJk8SUcBpaWlaf8fGxsLT09PKU/PGGOsGEnvAF566SUk\nJydDpVKhZcuW+PLLL2Fvby/V6RljjBUj6R3A119/jd9//x1nzpzB9u3by1T+u3btQrt27dCmTRtE\nRERIGVqVuLq6olOnTvDx8UHXrl3lDkdr0qRJsLe3L3FnlZGRAX9/f7i7u2PgwIG4f/++jBEK5cWp\ntDkiqamp6Nu3Lzp06ICOHTvik08+AaC88qwoTqWV56NHj+Dr6wtvb294eHggLCwMgPLKs6I4lVae\nRdRqNXx8fDDkn6n/VS5PUojCwkJq3bo1XblyhfLz88nLy4vOnTsnd1jlcnV1pbt378odRhmHDh2i\nU6dOUceOHbXPhYaGUkREBBERLV26lGbPni1XeFrlxblgwQKKioqSMaqS0tLS6PTp00RElJWVRe7u\n7nTu3DnFlWdFcSqtPImIcnJyiIiooKCAfH196fDhw4orT6Ly41RieRIRRUVF0fjx42nIkCFEVPW/\nd8UsBZGUlAQ3Nze4urrC0tIS48aNw44dO+QOq0KkwPkMzzzzDGxL7cG3c+dOBAcHAwCCg4Oxfft2\nOUIrobw4AWWVqYODA7y9vQEAVlZWaN++PW7cuKG48qwoTkBZ5QkA9erVAwDk5+dDrVbD1tZWceUJ\nlB8noLzyvH79OuLi4jBlyhRtbFUtT8UkgBs3bsDFxUX72NnZWftBVhqVSoUBAwagS5cuWL16tdzh\nPNatW7e0TW329va4deuWzBFV7NNPP4WXlxcmT54se1NAcSkpKTh9+jR8fX0VXZ5FcXbr1g2A8spT\no9HA29sb9vb22mYrJZZneXECyivPGTNmIDIyEmbFVtarankqJgEY0gSwI0eO4PTp04iPj8dnn32G\nw4cPyx1SpahUKsWW82uvvYYrV64gOTkZzZo1w1vV2UuwBmVnZ2PkyJFYsWIFrK2tS3xPSeWZnZ2N\nUaNGYcWKFbCyslJkeZqZmSE5ORnXr1/HoUOHsH///hLfV0p5lo7zwIEDiivPn376CU2bNoWPj0+F\ndyaVKU/FJAAnJyekpqZqH6empsLZ2VnGiCrWrFkzAECTJk0wfPhwJCUlyRxRxezt7bUT89LS0tC0\naVOZIypf06ZNtR/YKVOmKKJMCwoKMHLkSAQFBWHYPwvXKLE8i+IMDAzUxqnE8ixiY2ODF154Ab/9\n9psiy7NIUZy//vqr4srz6NGj2LlzJ1q2bImAgADs27cPQUFBVS5PxSSALl264PLly0hJSUF+fj62\nbNmCoUOHyh1WGQ8fPkRWVhYAICcnBwkJCYqezzB06FBs3LgRALBx40ZtBaE0SpsjQkSYPHkyPDw8\nMH36dO3zSivPiuJUWnmmp6drm01yc3OxZ88e+Pj4KK48K4qz+OoGSijP8PBwpKam4sqVK4iJiUG/\nfv0QHR1d9fLUW/e0DuLi4sjd3Z1at25N4eHhcodTrr/++ou8vLzIy8uLOnTooKg4x40bR82aNSNL\nS0tydnamdevW0d27d6l///7Upk0b8vf3p3v37skdZpk4165dS0FBQeTp6UmdOnWiF198kf7++29Z\nYzx8+DCpVCry8vIib29v8vb2pvj4eMWVZ3lxxsXFKa48f//9d/Lx8SEvLy/y9PSkZcuWEREprjwr\nilNp5VncgQMHtKOAqlqeitsRjDHGmDQU0wTEGGNMWpwAGGPMRHECYIwxE8UJgDHGTBRvwsZYBUrv\nWbF8+XLk5OTA1tYWX375JSwsLODh4YHNmzfLHCljuuEEwFglFc2qjIiIQEpKCiwtLfHgwQOZo2JM\nd9wExFgVderUCePHj8c333wDc3NzucNhTGecABirgIWFBTQajfZxbm4uACAuLg6vv/46Tp06haef\nfhpqtVquEBmrFk4AjFXA3t4et2/fRkZGBvLy8vDTTz9Bo9Hg2rVr6NOnD5YuXYrMzEzk5OTIHSpj\nOuE+AMYqYGlpiffeew9du3aFk5MTPDw8oFarERgYiMzMTBAR3nzzTTRo0EDuUBnTCS8FwRhjJoqb\ngBhjzERxAmCMMRPFCYAxxkwUJwDGGDNRnAAYY8xEcQJgjDET9f/0qkid2sgWzAAAAABJRU5ErkJg\ngg==\n"
- }
- ],
- "prompt_number": 185
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 13.9, Page Number: 447<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import pylab",
- "import numpy",
- "",
- "R_f=2.2*10**3;",
- "C=0.001*10**-6;",
- "Vc=5.0-(-5.0);",
- "A=5.0;",
- "time_const=R_f*C;",
- "T=10.0*10**-6;",
- "t=T/2;",
- "slope=Vc/t;",
- "V_out=slope*time_const; #V_out is negative when input is positive and V_out is positive when input is negative",
- "print('output voltage = %.1f V'%V_out)",
- "print('max output voltage = %.1f V'%V_out)",
- "print('min output voltage = %.1f V'%(-V_out))",
- "",
- "##################PLOt############################",
- "",
- "t = arange(0.0, 5.0, 0.0005)",
- "t1= arange(5.0, 10.0, 0.0005)",
- "t2= arange(10.0, 15.0, 0.0005)",
- "t3= arange(15.0, 20.0, 0.0005)",
- "",
- "",
- "k = arange(0.0001, 5.0, 0.0005)",
- "k1= arange(5.0, 10.0, 0.0005)",
- "k2= arange(10.0, 15.0, 0.0005)",
- "k3= arange(15.0, 20.0, 0.0005)",
- "",
- "m=arange(-4.4,4.4, 0.0005)",
- "x1=(0.001*m)/m",
- "x5=(5*m)/m",
- "x10=(10*m)/m",
- "x15=(15*m)/m",
- "",
- "",
- "subplot(211)",
- "plot(t,(2*t-5),'b')",
- "plot(t1,(-2*t+5),'b')",
- "plot(t2,(2*t-5),'b')",
- "plot(t3,(-2*t+5),'b')",
- "ylim( (-6,6) )",
- "ylabel('Vin')",
- "xlabel('us')",
- "title('Triangular wave input')",
- "",
- "subplot(212)",
- "plot(k,-4.4*k/k,'b')",
- "plot(k1,4.4*k1/k1,'b')",
- "plot(k2,-4.4*k2/k2,'b')",
- "plot(k3,4.4*k3/k3,'b')",
- "plot(x1,m,'b')",
- "plot(x5,m,'b')",
- "plot(x10,m,'b')",
- "plot(x15,m,'b')",
- "ylim( (-5,5) )",
- "ylabel('Vout')",
- "xlabel('us')",
- "title('Output of Opamp Differentiator')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage = 4.4 V",
- "max output voltage = 4.4 V",
- "min output voltage = -4.4 V"
- ]
- },
- {
- "output_type": "pyout",
- "prompt_number": 186,
- "text": [
- "<matplotlib.text.Text at 0x30f01b4c>"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\n"
- }
- ],
- "prompt_number": 186
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter14.ipynb b/Electronic_Devices_/Chapter14.ipynb
deleted file mode 100644
index 453a369d..00000000
--- a/Electronic_Devices_/Chapter14.ipynb
+++ /dev/null
@@ -1,346 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_14"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 14: Special-purpose Op-amp cicuits<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 14.1, Page Number: 458<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R1=25*10**3;",
- "R2=R1;",
- "A_cl=500; #closed loop voltage gain",
- "R_G=2*R1/(A_cl-1);",
- "print('value of the external gain setting resistor in ohms = %d'%R_G)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "value of the external gain setting resistor in ohms = 100"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 14.2, Page Number: 460<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R1=25.25*10**3; #internal resistors",
- "R2=R1;",
- "R_G=510.0;",
- "A_v=(2*R1/R_G)+1;",
- "print('voltage gain = %f'%A_v)",
- "BW=60.0*10**3;",
- "print('bandwidth from graph = %d hertz'%BW)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain = 100.019608",
- "bandwidth from graph = 60000 hertz"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 14.3, Page Number: 462<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R_f1=22.0*10**3;",
- "R_i1=2.2*10**3;",
- "R_f2=47.0*10**3;",
- "R_i2=10.0*10**3;",
- "A_v1=(R_f1/R_i1)+1; #voltage gain of input stage",
- "A_v2=(R_f2/R_i2)+1; #voltage gain of output stage",
- "A_v=A_v1*A_v2;",
- "print('total voltage gain of the isolation amplifier = %.1f'%A_v)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "total voltage gain of the isolation amplifier = 62.7"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 14.5, Page Number: 466<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "g_m=1000.0*10**-6;",
- "V_in=25*10**-3;",
- "I_out=g_m*V_in;",
- "print('output current = %f A'%I_out)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output current = 0.000025 A"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 14.6, Page Number: 468<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "V_BIAS=9.0;",
- "V=V_BIAS;",
- "R_BIAS=33.0*10**3;",
- "R_L=10.0*10**3;",
- "K=16.0; #in microSiemens per microAmpere",
- "I_BIAS=(V_BIAS-(-V)-1.4)/R_BIAS;",
- "g_m=K*I_BIAS;",
- "A_v=g_m*R_L;",
- "print('voltage gain = %f'%A_v)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain = 80.484848"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 14.7, Page Number: 469<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import pylab",
- "import numpy ",
- "",
- "",
- "V_MOD_max=10.0;",
- "V_MOD_min=1.0;",
- "V=9.0;",
- "V_in=50.0*10**-3;",
- "R_BIAS=56.0*10**3;",
- "R_L=10.0*10**3;",
- "K=16.0; #in microSiemens per microAmpere",
- "I_BIAS_max=(V_MOD_max-(-V)-1.4)/R_BIAS;",
- "",
- "g_m_max=K*I_BIAS_max;",
- "A_v_max=g_m_max*R_L;",
- "V_out_max=A_v_max*V_in;",
- "",
- "I_BIAS_min=(V_MOD_min-(-V)-1.4)/R_BIAS;",
- "",
- "g_m_min=K*I_BIAS_min;",
- "A_v_min=g_m_min*R_L;",
- "V_out_min=A_v_min*V_in;",
- "",
- "###############PLOT#############################",
- "f=1.0; #assume frequency 1 hertz",
- "t = arange(0.0001, 4.0, 0.0005)",
- "y=(((V_out_max/4)-(V_out_min/4))*sin(2*pi*f*t)+((V_out_min/2)+(V_out_max/2))/2)*sin(2*9*pi*f*t);",
- "",
- "plot(t,y)",
- "plot(t,0.61*t/t,'r')",
- "plot(t,-0.61*t/t,'r')",
- "ylim( (-2,2) )",
- "ylabel('Vout')",
- "title('Modulated Output Voltage')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "pyout",
- "prompt_number": 7,
- "text": [
- "<matplotlib.text.Text at 0xa98084c>"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\noMS/KVKkmvD3qkwAAAAASUVORK5CYII=\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 14.8, Page Number: 473<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "V_in=2;",
- "I_R=50.0*10**-9;",
- "R1=100.0*10**3;",
- "#voltage output for log amplifier",
- "V_OUT=-0.025*math.log(V_in/(I_R*R1));",
- "print('output voltage = %f volts'%V_OUT)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage = -0.149787 volts"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 14.9, Page Number: 474<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "V_in=3;",
- "I_EBO=40*10**-9;",
- "R1=68*10**3;",
- "#voltage output for log amplifier",
- "V_OUT=-0.025*math.log(V_in/(I_EBO*R1));",
- "print('output voltage = %f Volts'%V_OUT)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage = -0.175143 Volts"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 14.10, Page Number: 475<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "I_EBO=40.0*10**-9;",
- "V_in=175.1*10**-3;",
- "R_f=68.0*10**3;",
- "V_OUT=-I_EBO*R_f*math.exp(V_in/0.025);",
- "print('output voltage = %f Volts'%V_OUT)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage = -2.994797 Volts"
- ]
- }
- ],
- "prompt_number": 10
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter15.ipynb b/Electronic_Devices_/Chapter15.ipynb
deleted file mode 100644
index 51a03fc9..00000000
--- a/Electronic_Devices_/Chapter15.ipynb
+++ /dev/null
@@ -1,325 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_15"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 15: Active Filters<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 15.1, Page Number: 491<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "f0=15*10**3; #center frequency in hertz",
- "BW=1*10**3;",
- "Q=f0/BW;",
- "if Q>10:",
- " print('narrow band filter, Q = %d'%Q)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "narrow band filter, Q = 15"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 15.2, Page Number: 494<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R2=10*10**3;",
- "R1=0.586*R2; #FOR BUTTERWORTH RESPONSE",
- "print('R1 in ohms =%d'%R1)",
- "print('5.6kilo ohm will be ideally close to maximally flat butterworth response')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "R1 in ohms =5860",
- "5.6kilo ohm will be ideally close to maximally flat butterworth response"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 15.3, Page Number: 496<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "R_A=1*10**3;",
- "R2=1*10**3;",
- "R_B=R_A;",
- "R=R_A;",
- "C_A=0.022*10**-6;",
- "C_B=C_A;",
- "C=C_A;",
- "f_c=1/(2*math.pi*R*C); #critical frequency",
- "R1=0.586*R2; #for butterworth response",
- "print('critical frequency in hertz =%f'%f_c)",
- "print('value of R1 in ohms = %d'%R1)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "critical frequency in hertz =7234.315595",
- "value of R1 in ohms = 586"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 15.4, Page Number: 498<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "f_c=2860.0;",
- "R=1.8*10**3;",
- "C=1/(2*math.pi*f_c*R);",
- "R2=R;",
- "R1=0.152*R2; #BUTTERWORTH RESPONSE IN FIRST STAGE",
- "R4=R;",
- "R3=1.235*R4; #BUTTERWORTH RESPONSE IN SECOND STAGE",
- "C=C*10**8",
- "print('capacitance in farads = %f *10^-8'%C);",
- "print('R1 in ohms for butterworth response in first stage = %.1f'%R1)",
- "print('R3 in ohms for butterworth response in second stage = %d'%R3)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "capacitance in farads = 3.091588 *10^-8",
- "R1 in ohms for butterworth response in first stage = 273.6",
- "R3 in ohms for butterworth response in second stage = 2223"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 15.5, Page Number: 500<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "f_c=10*10**3; #critical frequency in hertz",
- "R=33*10**3; #Assumption",
- "R2=R;",
- "C=1/(2*math.pi*f_c*R);",
- "R1=0.586*R2; #for butterworth response",
- "C=C*10**10",
- "print('Capacitance in Farads = %f * 10^-10'%C)",
- "print('R1 in ohms taking R2=33kilo-ohms = %d'%R1)",
- "R1=3.3*10**3; #Assumption",
- "R2=R1/0.586; #butterworth response",
- "print('R2 in ohms taking R1=3.3kilo-ohms = %f'%R2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Capacitance in Farads = 4.822877 * 10^-10",
- "R1 in ohms taking R2=33kilo-ohms = 19338",
- "R2 in ohms taking R1=3.3kilo-ohms = 5631.399317"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 15.6, Page Number:503<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "R1=68.0*10**3;",
- "R2=180.0*10**3;",
- "R3=2.7*10**3;",
- "C=0.01*10**-6;",
- "f0=(math.sqrt((R1+R3)/(R1*R2*R3)))/(2*math.pi*C);",
- "A0=R2/(2*R1);",
- "Q=math.pi*f0*C*R2;",
- "BW=f0/Q;",
- "print('center frequency in hertz = %f'%f0)",
- "print('maximum gain = %f'%A0)",
- "print('bandwidth in hertz = %f'%BW)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "center frequency in hertz = 736.134628",
- "maximum gain = 1.323529",
- "bandwidth in hertz = 176.838826"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 15.7, Page Number: 504<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "R4=1000.0;",
- "C1=0.022*10**-6;",
- "R7=R4;",
- "C2=C1;",
- "R6=R4;",
- "R5=100.0*10**3;",
- "f_c=1/(2*math.pi*R4*C1); #critical frequency in hertz for each integrator",
- "f0=f_c #center frequency",
- "Q=(1+(R5/R6))/3;",
- "BW=f0/Q;",
- "print('center frequency in hertz = %f'%f0)",
- "print('value of Q = %f'%Q)",
- "print('bandwidth in hertz = %f'%BW)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "center frequency in hertz = 7234.315595",
- "value of Q = 33.666667",
- "bandwidth in hertz = 214.880661"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 15.8, Page Number: 507<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "R4=12.0*10**3;",
- "C1=0.22*10**-6;",
- "R7=R4;",
- "C2=C1;",
- "R6=3.3*10**3;",
- "Q=10;",
- "f0=1/(2*math.pi*R7*C2);",
- "R5=(3*Q-1)*R6;",
- "print('center frequency in hertz = %f'%f0)",
- "print('R5 in ohms = %d'%R5)",
- "print('Nearest value is 100 kilo-ohms')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "center frequency in hertz = 60.285963",
- "R5 in ohms = 95700",
- "Nearest value is 100 kilo-ohms"
- ]
- }
- ],
- "prompt_number": 9
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter16.ipynb b/Electronic_Devices_/Chapter16.ipynb
deleted file mode 100644
index b082e3ac..00000000
--- a/Electronic_Devices_/Chapter16.ipynb
+++ /dev/null
@@ -1,299 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_16"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 16: Oscillators<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 16.1, Page Number: 524<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "R1=10*10**3;",
- "R2=R1;",
- "R=R1;",
- "C1=0.01*10**-6;",
- "C2=C1;",
- "C=C1;",
- "R3=1*10**3;",
- "r_ds=500;",
- "f_r=1/(2*math.pi*R*C);",
- "print('resonant frequency of the Wein-bridge oscillator in Hertz = %.4f'%f_r)",
- "#closed loop gain A_v=3 to sustain oscillations",
- "A_v=3;",
- "#A_v=(R_f+R_i)+1 where R_i is composed of R3 and r_ds",
- "R_f=(A_v-1)*(R3+r_ds);",
- "print('value of R_f in ohms = %d'%R_f)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "resonant frequency of the Wein-bridge oscillator in Hertz = 1591.5494",
- "value of R_f in ohms = 3000"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 16.2, Page Number: 525<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "A_cl=29; #A_cl=R_f/R_i;",
- "R3=10*10**3;",
- "R_f=A_cl*R3;",
- "print('value of R_f in ohms = %d'%R_f)",
- "#let R1=R2=R3=R and C1=C2=C3=C",
- "R=R3;",
- "C3=0.001*10**-6;",
- "C=C3;",
- "f_r=1/(2*math.pi*math.sqrt(6)*R*C);",
- "print('frequency of oscillation in Hertz = %f'%f_r)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "value of R_f in ohms = 290000",
- "frequency of oscillation in Hertz = 6497.473344"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 16.3, Page Number: 530<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "C1=0.1*10**-6;",
- "C2=0.01*10**-6;",
- "L=50.0*10**-3; #in Henry",
- "C_T=C1*C2/(C1+C2); #total capacitance",
- "f_r=1/(2*math.pi*math.sqrt((L*C_T)));",
- "print('frequency of oscillation in Hertz when Q>10 is \\n\\t %f'%f_r)",
- "Q=8.0; #when Q drops to 8",
- "f_r1=(1/(2*math.pi*math.sqrt((L*C_T))))*math.sqrt((Q**2/(1+Q**2)));",
- "print('frequency of oscillation in hertz when Q=8 is \\n \\t %f'%f_r1)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "frequency of oscillation in Hertz when Q>10 is ",
- "\t 7465.028533",
- "frequency of oscillation in hertz when Q=8 is ",
- " \t 7407.382663"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 16.4, Page Number: 535<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R1=10.0*10**3;",
- "R2=33.0*10**3;",
- "R3=10.0*10**3;",
- "C=0.01*10**-6;",
- "f_r=(1/(4*R1*C))*(R2/R3);",
- "print('frequency of oscillation in hertz is \\n\\t%d'%f_r)",
- "#the value of R1 when frequency of oscillation is 20 kHz",
- "f=20.0*10**3;",
- "R1=(1/(4*f*C))*(R2/R3);",
- "print('value of R1 in ohms to make frequency 20 kiloHertz is \\n\\t%d'%R1)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "frequency of oscillation in hertz is ",
- "\t8250",
- "value of R1 in ohms to make frequency 20 kiloHertz is ",
- "\t4125"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 16.5, Page Number: 537<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import pylab",
- "import numpy",
- "V=15.0;",
- "C=0.0047*10**-6;",
- "R3=10.0*10**3;",
- "R4=R3;",
- "R2=10.0*10**3;",
- "R1=68.0*10**3;",
- "R_i=100.0*10**3;",
- "V_G=R4*V/(R3+R4); #gate voltage at which PUT turns on",
- "V_p=V_G; #neglecting 0.7V, this the peak voltage of sawtooth wave",
- "print('neglecting 0.7V, the peak voltage of sawtooth wave = %.1f V'%V_p)",
- "V_F=1.0; #minimum peak value of sawtooth wave",
- "V_pp=V_p-V_F;",
- "print('peak to peak amplitude of the sawtooth wave = %.1f V'%V_pp)",
- "V_IN=-V*R2/(R1+R2);",
- "f=(abs(V_IN)/(R_i*C))*(1/(V_pp));",
- "print('frequency of the sawtooth wave = %.1f Hz'%f)",
- "",
- "#############PLOT###############################",
- "",
- "t = arange(0.0, 2.0, 0.0005)",
- "t1= arange(2.0, 4.0, 0.0005)",
- "t2= arange(4.0, 6.0, 0.0005)",
- "k=arange(0.1,7.5, 0.0005)",
- "t3=(2*k)/k",
- "t4=(4*k)/k",
- "t6=(6*k)/k",
- "",
- "subplot(111)",
- "plot(t, (6.5/2)*t+1)",
- "plot(t1, (6.5/2)*t+1,'b')",
- "plot(t2, (6.5/2)*t+1,'b')",
- "plot(t3,k,'b')",
- "plot(t4,k,'b')",
- "plot(t6,k,'b')",
- "",
- "ylim( (1,8) )",
- "ylabel('Vout')",
- "xlabel('ms')",
- "title('Output of the Circuit')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "neglecting 0.7V, the peak voltage of sawtooth wave = 7.5 V",
- "peak to peak amplitude of the sawtooth wave = 6.5 V",
- "frequency of the sawtooth wave = 629.5 Hz"
- ]
- },
- {
- "output_type": "pyout",
- "prompt_number": 6,
- "text": [
- "<matplotlib.text.Text at 0xa046eec>"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\n"
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 16.6, Page Number: 542<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "R1=2.2*10**3;",
- "R2=4.7*10**3;",
- "C_ext=0.022*10**-6;",
- "f_r=1.44/((R1+2*R2)*C_ext);",
- "print('frequency of the 555 timer in hertz = %f'%f_r)",
- "duty_cycle=((R1+R2)/(R1+2*R2))*100;",
- "print('duty cycle in percentage = %f'%duty_cycle)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "frequency of the 555 timer in hertz = 5642.633229",
- "duty cycle in percentage = 59.482759"
- ]
- }
- ],
- "prompt_number": 7
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter17.ipynb b/Electronic_Devices_/Chapter17.ipynb
deleted file mode 100644
index a95b29db..00000000
--- a/Electronic_Devices_/Chapter17.ipynb
+++ /dev/null
@@ -1,336 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:dca2eb0dc5462992ceade27e53e297f6073a62b5b813c53a51758356342ce482"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 17: Voltage Regulators<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 17.1, Page Number:552 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#variable declaration\n",
- "Del_V_out=0.25;\n",
- "V_out=15;\n",
- "Del_V_in=5; #All voltages in Volts\n",
- "\n",
- "#Calculations\n",
- "line_regulation=((Del_V_out/V_out)/Del_V_in)*100;\n",
- "\n",
- "#Result\n",
- "print('line regulation in %%V is %f' %line_regulation)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "line regulation in %V is 0.333333"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 17.2, Page Number: 553<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Variable Declaration\n",
- "V_NL=12.0; #No load output voltage in Volts\n",
- "V_FL=11.9; #Full load output voltage in Volts\n",
- "I_F=10.0; #Full load current in milli-Amperes\n",
- "\n",
- "#Calculations\n",
- "load_regulation=((V_NL-V_FL)/V_FL)*100;\n",
- "load_reg=load_regulation/I_F;\n",
- "\n",
- "#Result\n",
- "print('load regulation as percentage change from no load to full load = %f'%load_regulation)\n",
- "print('\\nload regulation as percentage change per milliampere = %f' %load_reg)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "load regulation as percentage change from no load to full load = 0.840336\n",
- "\n",
- "load regulation as percentage change per milliampere = 0.084034"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 17.3, Page Number: 556<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "V_REF=5.1 #Zener voltage in volts\n",
- "R2=10*10**3;\n",
- "R3=10*10**3; #resistances in ohm\n",
- "V_out=(1+(R2/R3))*V_REF;\n",
- "print('output voltage in volts = %.1f'%V_out)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage in volts = 10.2"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 17.4, Page Number: 557<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R4=1; #Resistance in Ohms\n",
- "I_L_max=0.7/R4;\n",
- "print('maximum current provided to load(in amperes) = %.1f'%I_L_max)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum current provided to load(in amperes) = 0.7"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 17.5, Page Number: 560<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "V_IN=12.5; #maximum input voltage in volts\n",
- "R1=22; #In Ohms\n",
- "\n",
- "V_OUT=0;\n",
- "V_R1=V_IN-V_OUT; #Voltage across R1\n",
- "P_R1=(V_R1*V_R1)/R1; #maximum power dissipated by R1\n",
- "print('maximum power dissipated by R1 in WATTS = %f'%P_R1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum power dissipated by R1 in WATTS = 7.102273"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 17.6, Page Number: 569<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print('SAME AS EX-2.8 in CHAPTER-2')"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "SAME AS EX-2.8 in CHAPTER-2"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 17.7, Page Number: 572<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "I_max=700*10**-3; #in Amperes\n",
- "R_ext=0.7/I_max;\n",
- "print('value of resistor in Ohms for which max current is 700mA = %f'%R_ext)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "value of resistor in Ohms for which max current is 700mA = 1.000000"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 17.8, Page Number: 572<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "V_OUT=24.0; #Output voltage in Volts\n",
- "R_L=10.0; #Load resistance in Ohms\n",
- "V_IN=30.0; #Input voltage in Volts\n",
- "I_max=700.0*10**-3; #maximum interal current in Amperes\n",
- "I_L=V_OUT/R_L; #load current in amperes\n",
- "I_ext=I_L-I_max; #current through the external pass transistor in Amperes\n",
- "P_ext_Qext=I_ext*(V_IN-V_OUT); #power dissipated\n",
- "print('power dissiated(in WATTS) by the external pass transistor = %.1f'%P_ext_Qext)\n",
- "print('\\nFor safety purpose, we choose a power transistor with rating more than this, say 15W')"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "power dissiated(in WATTS) by the external pass transistor = 10.2\n",
- "\n",
- "For safety purpose, we choose a power transistor with rating more than this, say 15W"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 17.9, Page Number: 574<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "V_out=5.0; #7805 gives output voltage of 5V\n",
- "I_L=1.0; #constant current of 1A\n",
- "R1=V_out/I_L;\n",
- "print('The value of current-setting resistor in ohms = %d'%R1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The value of current-setting resistor in ohms = 5"
- ]
- }
- ],
- "prompt_number": 10
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter18.ipynb b/Electronic_Devices_/Chapter18.ipynb
deleted file mode 100644
index e195b9f9..00000000
--- a/Electronic_Devices_/Chapter18.ipynb
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_18"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 18: Programmable Analog Arrays<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 18.1, Page Number: 588<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "#Variable declaration",
- "C=1000*10**-12; #Switche capacitor value in farads",
- "R=1000; #resistance in ohms",
- "",
- "#calculation",
- "T=R*C; #Time period",
- "f=1/T; #Frequency at which switch should operate",
- "f=math.ceil(f)",
- "#Result",
- "print('Frequency at which each switch should operate(in hertz) is \\n %d' %f)",
- "print('Duty cycle should be 50%')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Frequency at which each switch should operate(in hertz) is ",
- " 1000000",
- "Duty cycle should be 50%"
- ]
- }
- ],
- "prompt_number": 1
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter2.ipynb b/Electronic_Devices_/Chapter2.ipynb
deleted file mode 100644
index 3934869f..00000000
--- a/Electronic_Devices_/Chapter2.ipynb
+++ /dev/null
@@ -1,629 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:d0aa9e80db4a8882af89cf646425004e4e19d2bf8cf22acae2943bf211cb0ab1"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 2: Diode Application<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.1, Page Number: 46<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].\n",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "# variable declaration\n",
- "V_p=50; #Peak value is 50V\n",
- "\n",
- "#calculation\n",
- "V_avg=V_p/math.pi;\n",
- "\n",
- "#result\n",
- "print \"average value of half wave rectifier = %.2f volts\" %V_avg"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "average value of half wave rectifier = 15.92 volts"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.2(a), Page Number: 46<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "\n",
- "f=1; #frequency\n",
- "V_p_in=5; #peak input\n",
- "\n",
- "#calculation\n",
- "V_pout=V_p_in-0.7; #output voltage\n",
- "t_d=(math.asin(0.7/V_p_in))/(2*math.pi*f);\n",
- "\n",
- "#result\n",
- "print \"half wave rectifier output = %.2f volts\" %V_pout;"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "half wave rectifier output = 4.30 volts"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.2(b), Page Number: 46<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "\n",
- "f=1; #frequency\n",
- "T=1/f; #time period\n",
- "V_p_in=100; #peak input voltage\n",
- "\n",
- "#calculation\n",
- "V_pout=(V_p_in-0.7); #peak output \n",
- "t_d=(math.asin(0.7/V_p_in))/(2*math.pi*f) \n",
- "\n",
- "#result\n",
- "print \"output of half wave rectifier = %.2f volts\" %V_pout"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output of half wave rectifier = 99.30 volts"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.3, Page Number: 48<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "# variable declaration\n",
- "V_p_in=156; #Peak input voltage\n",
- "V_p_pri=156; #Peak voltage of primary of transformer\n",
- "n=0.5; #Turn ratio is 2:1\n",
- "\n",
- "#calculation\n",
- "V_p_sec=n*V_p_pri;\n",
- "V_p_out=(V_p_sec-0.7); #Peak output voltage\n",
- "\n",
- "#result\n",
- "print \"peak output voltage of half wave rectifier = %.1f volts\" %V_p_out"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "peak output voltage of half wave rectifier = 77.3 volts"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.4, Page Number: 49<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "# variable declaration\n",
- "V_p=15; #Peak voltage in volt\n",
- "\n",
- "#calculation\n",
- "V_avg=(2*V_p)/math.pi;\n",
- "\n",
- "#result\n",
- "print \"Average value of output of full wave rectifier = %.2f volts\" %V_avg"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Average value of output of full wave rectifier = 9.55 volts"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.5, Page Number: 52<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "V_p_pri=100.0; #Peak voltage across primary winding\n",
- "n=1.0/2; #tun ratio is 2:1\n",
- "V_p_sec=n*V_p_pri;\n",
- "V_sec=V_p_sec/2; #voltage across each secondary is half the total voltage\n",
- "V_pout=V_sec-0.7;\n",
- "\n",
- "print('full wave rectifier output voltage = %f V'%V_pout)\n",
- "PIV=2*V_pout+0.7;\n",
- "print('PIV = %fV'%PIV)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "full wave rectifier output voltage = 24.300000 V\n",
- "PIV = 49.300000V"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.6, Page Number: 54<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "# variable declaration\n",
- "V_rms=12.0; #rms secondary voltage\n",
- "\n",
- "#calculation\n",
- "V_p_sec=math.sqrt(2)*V_rms; #peak secondary voltage\n",
- "V_th=0.7; #knee voltage of diode\n",
- "V_p_out=V_p_sec-2*V_th; #in one cycle, 2 diodes conduct\n",
- "PIV=V_p_out+V_th; #applying KVL\n",
- "\n",
- "#result\n",
- "print \"Peak output voltage = %.2f volt\" %V_p_out\n",
- "print \"PIV across each diode = %.2f volt\" %PIV"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Peak output voltage = 15.57 volt\n",
- "PIV across each diode = 16.27 volt"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.7, Page Number: 58<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "# variable declaration\n",
- "R_l=2200; #load resistance in Ohm\n",
- "C=50*10**-6; #capacitance in Farad\n",
- "V_rms=115; #rms of primary\n",
- "\n",
- "#calculation\n",
- "V_p_pri=math.sqrt(2)*V_rms; #peak voltage across primary\n",
- "n=0.1; #turn ratio is 10:1\n",
- "V_p_sec=n*V_p_pri; #primary voltage across secondary\n",
- "V_p_rect=V_p_sec-1.4 #unfiltered peak rectified voltage\n",
- "#we subtract 1.4 because in each cycle 2 diodes conduct & 2 do not\n",
- "f=120; #frequency of full wave rectified voltage\n",
- "V_r_pp=(1/(f*R_l*C))*V_p_rect; #peak to peak ripple voltage\n",
- "V_DC=(1-(1/(2*f*R_l*C)))*V_p_rect;\n",
- "r=V_r_pp/V_DC;\n",
- "\n",
- "#result\n",
- "print \"Ripple factor = %.3f \" %r"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Ripple factor = 0.079 "
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.8, Page Number: 62<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "# variable declaration\n",
- "V_REF=1.25; #in volts\n",
- "V_R1=V_REF; #voltage in volt\n",
- "R1=220.0; #in ohms\n",
- "I_ADJ=50*10**-6 #in amperes\n",
- "\n",
- "#calculation\n",
- "# MAX VALUE OF R2=5000 Ohms\n",
- "R2_min=0.0; #min resistance\n",
- "V_out_min=V_REF*(1+(R2_min/R1))+I_ADJ*R2_min;\n",
- "R2_max=5000.0; #max value of resistance\n",
- "V_out_max=V_REF*(1+(R2_max/R1))+I_ADJ*R2_max;\n",
- "\n",
- "#result\n",
- "print \"minimum output voltage = %.2f volt\" %V_out_min\n",
- "print \"maximum output voltage = %.2f volt\" %V_out_max"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "minimum output voltage = 1.25 volt\n",
- "maximum output voltage = 29.91 volt"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.9,Page Number: 64<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "V_NL=5.18 #No load output voltage\n",
- "V_FL=5.15 #Full load output voltage\n",
- "load_reg=((V_NL-V_FL)/V_FL)*100 #In percentage\n",
- "print('load regulation percent = %.2f%% '%load_reg)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "load regulation percent = 0.58% "
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.10, Page Number: 66<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import pylab as py\n",
- "import numpy as np\n",
- "\n",
- "#let input wave be V_in=V_p_in*sin(2*%pi*f*t) \n",
- "f=1.0; #Frequency is 1Hz\n",
- "T=1/f;\n",
- "R_1=100.0; #Resistances in ohms\n",
- "R_L=1000.0; #Load\n",
- "V_p_in=10.0; #Peak input voltage\n",
- "V_th=0.7; #knee voltage of diode\n",
- "\n",
- "V_p_out=V_p_in*(R_L/(R_L+R_1)); #peak output voltage\n",
- "print('peak output voltage = %.2f V'%V_p_out)\n",
- "\n",
- "t = np.arange(0, 3.5 , 0.0005)\n",
- "z=V_p_in*np.sin(2*np.pi*f*t)*(R_L/(R_L+R_1))\n",
- "\n",
- "subplot(211)\n",
- "plot(t,z)\n",
- "ylim(-9.09,9.09)\n",
- "title('Input Voltage Waveform')\n",
- "\n",
- "subplot(212)\n",
- "plot(t,z)\n",
- "ylim(-0.07,9.09)\n",
- "title('Output Voltage Waveform')"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "peak output voltage = 9.09 V"
- ]
- },
- {
- "metadata": {},
- "output_type": "pyout",
- "prompt_number": 12,
- "text": [
- "<matplotlib.text.Text at 0xa3bf44c>"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\n"
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.11, Page Number: 67<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#from pylab import figure, show\n",
- "#from numpy import arange, sin, pi,bool\n",
- "#import numpy as np\n",
- "import pylab as py\n",
- "import numpy as np\n",
- "#let input wave be V_in=V_p_in*sin(2*%pi*f*t) \n",
- "f=1.0; #Frequency is 1Hz\n",
- "T=1/f;\n",
- "V_p_in=10; #Peak input voltage\n",
- "V_th=0.7; #knee voltage of diode\n",
- "print('max output voltage is 5.7V')\n",
- "print('min output voltage is -5.7V')\n",
- "\n",
- "###############GRAPH Plotting#################################\n",
- "t = arange(0.0,4.5,0.0005)\n",
- "V_in=V_p_in*sin(2*pi*f*t);\n",
- "\n",
- "Vout=V_in;\n",
- "#fig = figure(2)\n",
- "subplot(211)\n",
- "plot(t,V_in)\n",
- "#ax2.grid(True)\n",
- "ylim( (-10,10) )\n",
- "title('Input to the +ve and -ve diode limiter ')\n",
- "subplot(212)\n",
- "plot(t,V_in)\n",
- "#ax1.grid(True)\n",
- "ylim( (-5.7,5.7) )\n",
- "title('Output of +ve and -ve diode limiter')\n",
- " "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "max output voltage is 5.7V\n",
- "min output voltage is -5.7V"
- ]
- },
- {
- "metadata": {},
- "output_type": "pyout",
- "prompt_number": 13,
- "text": [
- "<matplotlib.text.Text at 0xa6c976c>"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nx/PeAAAAAElFTkSuQmCC\n"
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.12, Page Number: 76<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#variable declaration\n",
- "V_p_in=18.0; #peak input voltage is 18V\n",
- "V_supply=12.0;\n",
- "R2=100.0;\n",
- "R3=220.0; #resistances in ohms\n",
- "#calculation\n",
- "V_bias=V_supply*(R3/(R2+R3));\n",
- "\n",
- "#result\n",
- "print('diode limiting the voltage at this voltage =%fV'%V_bias)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "diode limiting the voltage at this voltage =8.250000V"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.13, Page Number: 78<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "V_p_in=24.0;\n",
- "V_DC=-(V_p_in-0.7); #DC level added to output\n",
- "print('V_DC = %.1fV'%V_DC)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "V_DC = -23.3V"
- ]
- }
- ],
- "prompt_number": 15
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter3.ipynb b/Electronic_Devices_/Chapter3.ipynb
deleted file mode 100644
index b0f770b6..00000000
--- a/Electronic_Devices_/Chapter3.ipynb
+++ /dev/null
@@ -1,369 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_3"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 3: Special-purpose Diodes<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 3.1, Page Number:88<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "delVZ=50*10**-3; #voltage in volts, from graph",
- "delIZ=5*10**-3; #current in amperes, from rgraph",
- "",
- "#calculation",
- "ZZ=delVZ/delIZ; #zener impedence",
- "",
- "# result",
- "print \"zener impedance = %d ohm \" %ZZ"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "zener impedance = 10 ohm "
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 3.2, Page Number:89<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "I_ZT=37*10**-3; #IN AMPERES",
- "V_ZT=6.80; #IN VOLTS",
- "Z_ZT=3.50; #IN OHMS",
- "I_Z=50*10**-3; #IN AMPERES",
- "",
- "#calculation",
- "DEL_I_Z=I_Z-I_ZT; #change current",
- "DEL_V_Z=DEL_I_Z*Z_ZT; #change voltage",
- "V_Z=V_ZT+DEL_V_Z; #voltage across zener terminals",
- "print \"voltage across zener terminals when current is 50 mA = %.3f volts\" %V_Z",
- "I_Z=25*10**-3; #IN AMPERES",
- "DEL_I_Z=I_Z-I_ZT; #change current",
- "DEL_V_Z=DEL_I_Z*Z_ZT; #change voltage",
- "V_Z=V_ZT+DEL_V_Z; #voltage across zener terminals",
- "",
- "#result",
- "print \"voltage across zener terminals when current is 25 mA = %.3f volts\" %V_Z"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage across zener terminals when current is 50 mA = 6.845 volts",
- "voltage across zener terminals when current is 25 mA = 6.758 volts"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 3.3, Page Number:90<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_Z=8.2; #8.2 volt zener diode",
- "TC=0.0005; #Temperature coefficient (per degree celsius)",
- "T1=60; #Temperature 1 in celsius",
- "T2=25; #Temperature 2 in celsius",
- "",
- "#calculation",
- "DEL_T=T1-T2; #change in temp",
- "del_V_Z=V_Z*TC*DEL_T; #change in voltage",
- "voltage=V_Z+del_V_Z; #zener voltage",
- "",
- "#result",
- "print \"zener voltage at 60 degree celsius = %.3f volt\" %voltage"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "zener voltage at 60 degree celsius = 8.343 volt"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 3.4, Page Number:90<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "P_D_max=400*10**-3; #power in watts",
- "df=3.2*10**-3 #derating factor in watts per celsius",
- "del_T=(90-50); #in celsius, temperature difference",
- "",
- "#calculation",
- "P_D_deru=P_D_max-df*del_T; #power dissipated",
- "P_D_der=P_D_deru*1000;",
- "",
- "#result",
- "print \"maximum power dissipated at 90 degree celsius = %d mW\" %P_D_der"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum power dissipated at 90 degree celsius = 272 mW"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 3.5, Page Number: 92<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_Z=5.1;",
- "I_ZT=49*10**-3;",
- "I_ZK=1*10**-3;",
- "Z_Z=7;",
- "R=100;",
- "P_D_max=1;",
- "",
- "#calculation",
- "V_out=V_Z-(I_ZT-I_ZK)*Z_Z; #output voltage at I_ZK",
- "V_IN_min=I_ZK*R+V_out; #input voltage",
- "I_ZM=P_D_max/V_Z; #current",
- "V_out=V_Z+(I_ZM-I_ZT)*Z_Z; #output voltage at I_ZM",
- "V_IN_max=I_ZM*R+V_out; #max input voltage",
- "",
- "#result",
- "print \"maximum input voltage regulated by zener diode = %.3f volts\" %V_IN_max",
- "print \"minimum input voltage regulated by zener diode = %.3f volts\" %V_IN_min"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum input voltage regulated by zener diode = 25.737 volts",
- "minimum input voltage regulated by zener diode = 4.864 volts"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 3.6, Page Number: 93<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_Z=12.0; #voltage in volt",
- "V_IN=24.0; #ip voltage in volt",
- "I_ZK=0.001; #current in ampere",
- "I_ZM=0.050; #current in ampere ",
- "Z_Z=0; #impedence",
- "R=470; #resistance in ohm",
- "",
- "#calculation",
- "#when I_L=0, I_Z is max and is equal to the total circuit current I_T",
- "I_T=(V_IN-V_Z)/R; #current",
- "I_Z_max=I_T; #max current",
- "if I_Z_max<I_ZM : # condition for min currert ",
- " I_L_min=0;",
- "",
- "I_L_max=I_T-I_ZK; #max current",
- "R_L_min=V_Z/I_L_max; #min resistance",
- "",
- "#result",
- "print \"minimum value of load resistance = %.2f ohm\" %R_L_min",
- "print \"minimum curent = %.3f ampere\" %I_L_min",
- "print \"maximum curent = %.3f ampere\" %I_L_max"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "minimum value of load resistance = 489.16 ohm",
- "minimum curent = 0.000 ampere",
- "maximum curent = 0.025 ampere"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 3.7, Page Number: 94<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_IN=24.0; #voltage in volt",
- "V_Z=15.0; #voltage in volt",
- "I_ZK=0.25*10**-3; #current in ampere",
- "I_ZT=17*10**-3; #current in ampere",
- "Z_ZT=14.0; #impedence",
- "P_D_max=1.0; #max power dissipation",
- "",
- "#calculation",
- "V_out_1=V_Z-(I_ZT-I_ZK)*Z_ZT; #output voltage at I_ZK",
- "print \"output voltage at I_ZK = %.2f volt\" %V_out_1",
- "I_ZM=P_D_max/V_Z;",
- "",
- "V_out_2=V_Z+(I_ZM-I_ZT)*Z_ZT; #output voltage at I_ZM",
- "print \"output voltage a I_ZM = %.2f volt\" %V_out_2",
- "R=(V_IN-V_out_2)/I_ZM; #resistance",
- "print \"value of R for maximum zener current, no load = %.2f ohm\" %R",
- "print \"closest practical value is 130 ohms\"",
- "R=130.0;",
- "#for minimum load resistance(max load current) zener current is minimum (I_ZK)",
- "I_T=(V_IN-V_out_1)/R; #current",
- "I_L=I_T-I_ZK; #current",
- "R_L_min=V_out_1/I_L; #minimum load resistance",
- "",
- "#result",
- "print \"minimum load resistance = %.2f ohm\" %R_L_min"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage at I_ZK = 14.77 volt",
- "output voltage a I_ZM = 15.70 volt",
- "value of R for maximum zener current, no load = 124.57 ohm",
- "closest practical value is 130 ohms",
- "minimum load resistance = 208.60 ohm"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 3.8, Page Number: 96<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "#variable declaration",
- "V_p_in=10.0; #Peak input voltage",
- "V_th=0.7; #forward biased zener",
- "V_Z1=5.1;",
- "V_Z2=3.3;",
- "",
- "V_p_in=20.0;",
- "V_Z1=6.2;",
- "V_Z2=15.0;",
- "",
- "#result",
- "print('max voltage = %.1f V'%(V_Z1+V_th))",
- "print('min voltage = %.1f V'%(-(V_Z2+V_th)))"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "max voltage = 6.9 V",
- "min voltage = -15.7 V"
- ]
- }
- ],
- "prompt_number": 9
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter4.ipynb b/Electronic_Devices_/Chapter4.ipynb
deleted file mode 100644
index 8aaa9760..00000000
--- a/Electronic_Devices_/Chapter4.ipynb
+++ /dev/null
@@ -1,446 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_4"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 4: Bipolar Junction Transistors (BJTs)<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 4.1, Page Number: 120 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "I_C=3.65*10**-3; #collector current in amperes",
- "I_B=50*10**-6; #base current in amperes",
- "",
- "#calculation",
- "B_DC=I_C/I_B; #B_DC value",
- "I_E=I_B+I_C; #current in ampere",
- "",
- "# result",
- "print \"B_DC = %d \" %B_DC",
- "print \"Emitter current = %.4f ampere\" %I_E"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "B_DC = 73 ",
- "Emitter current = 0.0037 ampere"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 4.2, Page Number: 121<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_BE=0.7; # voltage in volt",
- "B_DC=150; # voltage in volt",
- "V_BB=5; # voltage in volt",
- "V_CC=10; # voltage in volt",
- "R_B=10*10**3; # resistance in ohm",
- "R_C=100; # resistance in ohm",
- "",
- "#calculation",
- "I_B=(V_BB-V_BE)/R_B; #base current in amperes",
- "I_C=B_DC*I_B; #collector current in amperes",
- "I_E=I_C+I_B; #emitter current in amperes",
- "V_CE=V_CC-I_C*R_C; #collector to emitter voltage in volts",
- "V_CB=V_CE-V_BE; #collector to base voltage in volts",
- "",
- "# result",
- "print \"base current = %.5f amperes\" %I_B",
- "print \"collector current = %.4f amperes\" %I_C",
- "print \"emitter current = %.5f amperes\" %I_E",
- "print \"collector to emitter voltage =%.2f volts\" %V_CE",
- "print \"collector to base voltage =%.2f volts\" %V_CB"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "base current = 0.00043 amperes",
- "collector current = 0.0645 amperes",
- "emitter current = 0.06493 amperes",
- "collector to emitter voltage =3.55 volts",
- "collector to base voltage =2.85 volts"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 4.3, Page Number: 123<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "import pylab as py",
- "import numpy as np",
- "",
- "#variable declaration",
- "beta=100 # current gain",
- "print'Ideal family of collector curve'",
- "",
- "ic1 = arange(0.00001, 0.45, 0.0005)",
- "ic2 = arange(0.00001, 0.5, 0.0005)",
- "ic3 = arange(0.00001, 0.6, 0.0005)",
- "ic4 = arange(0.00001, 0.7, 0.0005)",
- "vcc1=ic1*0.5/0.7",
- "vcc2=ic2*1.35/0.7",
- "vcc3=ic3*2/0.7",
- "vcc4=ic4*2.5/0.7",
- "m1=arange(0.45,5.0,0.0005)",
- "m2=arange(0.5,5.0,0.0005)",
- "m3=arange(0.6,5.0,0.0005)",
- "m4=arange(0.7,5.0,0.0005)",
- "",
- "plot(ic1,vcc1,'b')",
- "plot(ic2,vcc2,'b')",
- "plot(ic3,vcc3,'b')",
- "plot(ic4,vcc4,'b')",
- "plot(m1,0.32*m1/m1,'b')",
- "plot(m2,0.96*m2/m2,'b')",
- "plot(m3,1.712*m3/m3,'b')",
- "plot(m4,2.5*m4/m4,'b')",
- "",
- "ylim( (0,3) )",
- "ylabel('Ic(mA)')",
- "xlabel('Vce(V)')",
- "title('Ideal family of collector curve')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Ideal family of collector curve"
- ]
- },
- {
- "output_type": "pyout",
- "prompt_number": 4,
- "text": [
- "<matplotlib.text.Text at 0xa11e74c>"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\nYII=\n"
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 4.4, Page Number: 125<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_CE_sat=0.2; # voltage in volt",
- "V_BE=0.7; # voltage in volt",
- "V_BB=3; # voltage in volt",
- "V_CC=10; # voltage in volt",
- "B_DC=50; # voltage in volt",
- "R_B=10*10**3; # resistance in ohm",
- "R_C=1*10**3; # resistance in ohm",
- "",
- "#calculation",
- "I_C_sat=(V_CC-V_CE_sat)/R_C; # saturation current",
- "I_B=(V_BB-V_BE)/R_B; # base current",
- "I_C=B_DC*I_B; # current in ampere",
- "",
- "# result",
- "if I_C>I_C_sat:",
- " print \"transistor in saturation\"",
- "else:",
- " print \"transistor not in saturation\""
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "transistor in saturation"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 4.5, Page Number: 127<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "#Variable declaration",
- "P_D_max=250*10**-3; #max power rating of transistor in watts",
- "V_CE=6; #voltage in volt",
- "",
- "#Calculation",
- "I_Cu=P_D_max/V_CE; #Current (Amp)",
- "I_C=I_Cu*1000;",
- "",
- "#Result",
- "print \"collector current that can be handled by the transistor = %.1f mA\" %I_C",
- "print \"\\nRemember that this is not necessarily the maximum IC. The transistor\"",
- "print \"can handle more collectore current if Vce is reduced as long as PDmax\"",
- "print \"is not exceeded.\""
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "collector current that can be handled by the transistor = 41.7 mA",
- "",
- "Remember that this is not necessarily the maximum IC. The transistor",
- "can handle more collectore current if Vce is reduced as long as PDmax",
- "is not exceeded."
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 4.6, Page Number: 127<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "#Variable declaration",
- "P_D_max=800*10**-3; #max power rating of transistor in watts",
- "V_BE=0.7; #voltage in volt",
- "V_CE_max=15; #voltage in volt",
- "I_C_max=100*10**-3; #Current (Amp)",
- "V_BB=5; #voltage in volt",
- "B_DC=100; #voltage in volt",
- "R_B=22*10**3; # resistance in ohm",
- "R_C=10**3; # resistance in ohm",
- "",
- "#Calculation",
- "I_B=(V_BB-V_BE)/R_B; # base current",
- "I_C=B_DC*I_B; #collector current ",
- "V_R_C=I_C*R_C; #voltage drop across R_C",
- "V_CC_max=V_CE_max+V_R_C; #Vcc max in volt",
- "P_D=I_C*V_CE_max; #max power rating",
- "",
- "#Result",
- "if P_D<P_D_max:",
- " print \"V_CC = %.2f volt\" %V_CC_max",
- " print \"V_CE_max will be exceeded first because entire supply voltage V_CC will be dropped across the transistor\"",
- " "
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "V_CC = 34.55 volt",
- "V_CE_max will be exceeded first because entire supply voltage V_CC will be dropped across the transistor"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 4.7, Page Number: 128<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "#Variable declaration",
- "df=5*10**-3; #derating factor in watts per degree celsius",
- "T1=70; #temperature 1",
- "T2=25; #temperature 2",
- "P_D_max=1; #in watts",
- "",
- "#Calculation",
- "del_P_D=df*(T1-T2); #change due to temperature",
- "P_D=P_D_max-del_P_D; # power dissipation",
- "",
- "#Result",
- "print \"Power dissipated max at a temperature of 70 degree celsius = %.3f watts\" %P_D"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power dissipated max at a temperature of 70 degree celsius = 0.775 watts"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 4.8, Page Number: 130<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "#Variable declaration",
- "R_C=1*10**3; #resistance in ohm",
- "r_e=50; #resistance in ohm",
- "V_b=100*10**-3; #voltage in volt",
- "",
- "#Calculation",
- "A_v=R_C/r_e; #voltage gain",
- "V_out=A_v*V_b; #voltage in volt",
- "",
- "#Result",
- "print \"voltage gain = %d \" %A_v",
- "print \"AC output voltage = %d volt\" %V_out"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain = 20 ",
- "AC output voltage = 2 volt"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 4.9, Page Number: 132 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "#Variable declaration",
- "V_CC=10.0; #voltage in volt",
- "B_DC=200.0; #voltage in volt",
- "R_C=1.0*10**3; #resistance in ohm",
- "V_IN=0.0; #voltage in volt",
- "",
- "#Calculation",
- "V_CE=V_CC; #equal voltage",
- "print \"when V_IN=0, transistor acts as open switch(cut-off) and collector emitter voltage = %.2f volt\" %V_CE",
- "#now when V_CE_sat is neglected",
- "I_C_sat=V_CC/R_C; #saturation current",
- "I_B_min=I_C_sat/B_DC; #minimum base current",
- "print \"\\nminimum value of base current to saturate transistor = %.5f ampere\" %I_B_min",
- "V_IN=5; #voltage in volt",
- "V_BE=0.7; #voltage in volt",
- "V_R_B=V_IN-V_BE; #voltage across base resiatance",
- "R_B_max=V_R_B/I_B_min;",
- "",
- "",
- "#Result",
- "kw=round (R_B_max)",
- "print \"\\nmaximum value of base resistance when input voltage is 5V = %d ohm\" %kw"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "when V_IN=0, transistor acts as open switch(cut-off) and collector emitter voltage = 10.00 volt",
- "",
- "minimum value of base current to saturate transistor = 0.00005 ampere",
- "",
- "maximum value of base resistance when input voltage is 5V = 86000 ohm"
- ]
- }
- ],
- "prompt_number": 10
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter5.ipynb b/Electronic_Devices_/Chapter5.ipynb
deleted file mode 100644
index 1bcf9f83..00000000
--- a/Electronic_Devices_/Chapter5.ipynb
+++ /dev/null
@@ -1,419 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_5"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 5: Transistor Bias Circuits<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 5.1, Page Number: 146<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_BB=10.0; #voltage in volt",
- "V_CC=20.0; #voltage in volt",
- "B_DC=200.0; #B_DC value",
- "R_B=47.0*10**3; #resistance in ohm",
- "R_C=330.0; #resistance in ohm",
- "V_BE=0.7; #voltage in volt",
- "",
- "#current",
- "I_B=(V_BB-V_BE)/R_B; #base current",
- "I_C=B_DC*I_B; #Q POINT",
- "V_CE=V_CC-I_C*R_C; #Q POINT",
- "I_C_sat=V_CC/R_C; #saturation current",
- "I_c_peak=I_C_sat-I_C; #peak current ",
- "I_b_peak=I_c_peak/B_DC; #peak current in ampere",
- "",
- "#result",
- "print \"Q point of I_C = %.3f amperes\" %I_C",
- "print \"Q point of V_CE = %.2f volts\" %V_CE",
- "print \"peak base current = %.4f amperes\" %I_b_peak"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Q point of I_C = 0.040 amperes",
- "Q point of V_CE = 6.94 volts",
- "peak base current = 0.0001 amperes"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 5.2, Page Number: 149<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "B_DC=125.0; #DC value",
- "R_E=10.0**3; #resistance in ohm",
- "",
- "#calculation",
- "R_IN_base=B_DC*R_E; #base resistance",
- "",
- "#Result",
- "print \"DC input resistance, looking at base of transistor = %d ohm\" %R_IN_base"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "DC input resistance, looking at base of transistor = 125000 ohm"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 5.3, Page Number: 151<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "B_DC=100; #DC value",
- "R1=10*10**3; #resistance in ohm",
- "R2=5.6*10**3; #resistance in ohm",
- "R_C=1*10**3; #resistance in ohm",
- "R_E=560; #resistance in ohm",
- "V_CC=10; #voltage in volt",
- "V_BE=0.7 #voltage in volt",
- "",
- "#calculation",
- "R_IN_base=B_DC*R_E; #calculate base resistance",
- "#We can neglect R_IN_base as it is equal to 10*R2",
- "print \"input resistance seen from base = %d ohm\" %R_IN_base",
- "print \"which can be neglected as it is 10 times R2\"",
- "",
- "V_B=(R2/(R1+R2))*V_CC; #base voltage",
- "V_E=V_B-V_BE; #emitter voltage",
- "I_E=V_E/R_E; #emitter current",
- "I_C=I_E; #currents are equal",
- "V_CE=V_CC-I_C*(R_C+R_E); #voltage in volt",
- "",
- "#result",
- "print \"V_CE = %.2f volts\" %V_CE",
- "print \"I_C = %.3f amperes\" %I_C",
- "print \"Since V_CE>0V, transistor is not in saturation\""
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input resistance seen from base = 56000 ohm",
- "which can be neglected as it is 10 times R2",
- "V_CE = 1.95 volts",
- "I_C = 0.005 amperes",
- "Since V_CE>0V, transistor is not in saturation"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 5.4, Page Number: 154<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_EE=10.0; #voltage in volt",
- "V_BE=0.7; #voltage in volt",
- "B_DC=150.0; #DC value ",
- "R1=22.0*10**3; #resistance in ohm",
- "R2=10.0*10**3; #resistance in ohm",
- "R_C=2.2*10**3; #resistance in ohm",
- "R_E=1.0*10**3; #resistance in ohm",
- "",
- "#calculation",
- "R_IN_base=B_DC*R_E; #R_IN_base>10*R2,so it can be neglected",
- "print \"input resistance as seen from base = %d ohm\" %R_IN_base",
- "print \"it can be neglected as it is greater than 10 times R2\"",
- "V_B=(R1/(R1+R2))*V_EE; #base voltage",
- "V_E=V_B+V_BE; #emitter voltage",
- "I_E=(V_EE-V_E)/R_E; #emitter current",
- "I_C=I_E; #currents are equal",
- "V_C=I_C*R_C; #collector voltage",
- "V_EC=V_E-V_C; #emitter-collector voltage",
- "",
- "#result",
- "print \"I_C collector current = %.4f amperes\" %I_C",
- "print \"V_EC emitter-collector voltage = %.2f Volts\" %V_EC"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input resistance as seen from base = 150000 ohm",
- "it can be neglected as it is greater than 10 times R2",
- "I_C collector current = 0.0024 amperes",
- "V_EC emitter-collector voltage = 2.24 Volts"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 5.5, PAge Number: 154<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "R1=68.0*10**3; #resistance in ohm",
- "R2=47.0*10**3; #resistance in ohm",
- "R_C=1.8*10**3; #resistance in ohm",
- "R_E=2.2*10**3; #resistance in ohm",
- "V_CC=-6.0; #voltage in volt",
- "V_BE=0.7; #voltage in volt",
- "B_DC=75.0; #DC value",
- "",
- "#calculation",
- "R_IN_base=B_DC*R_E;",
- "print \"input resistance as seen from base\"",
- "print \"is not greater than 10 times R2 so it should be taken into account\"",
- "#R_IN_base in parallel with R2",
- "V_B=((R2*R_IN_base)/(R2+R_IN_base)/(R1+(R2*R_IN_base)/(R2+R_IN_base)))*V_CC;",
- "V_E=V_B+V_BE; #emitter voltage",
- "I_E=V_E/R_E; #emitter current",
- "I_C=I_E; #currents are equal",
- "V_C=V_CC-I_C*R_C; #collector voltage",
- "V_CE=V_C-V_E; #collector-emitter voltage",
- "",
- "#result",
- "print \"collector current = %.4f amperes\" %I_C",
- "print \"collector emitter voltage = %.2f volts\" %V_CE"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input resistance as seen from base",
- "is not greater than 10 times R2 so it should be taken into account",
- "collector current = -0.0006 amperes",
- "collector emitter voltage = -3.46 volts"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 5.6, Page Number: 156<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_CC=12.0; #voltage in volt",
- "R_B=100.0*10**3; #resistance in ohm",
- "R_C=560.0; #resistance in ohm",
- "#FOR B_DC=85 AND V_BE=0.7V",
- "B_DC=85.0; #DC value",
- "V_BE=0.7; #base-emitter voltage",
- "",
- "#calculation",
- "I_C_1=B_DC*(V_CC-V_BE)/R_B; #collector current",
- "V_CE_1=V_CC-I_C_1*R_C; #collector-emittor voltage",
- "#FOR B_DC=100 AND V_BE=0.6V",
- "B_DC=100.0; #DC value ",
- "V_BE=0.6; #base emitter voltage",
- "I_C_2=B_DC*(V_CC-V_BE)/R_B; #collector current",
- "V_CE_2=V_CC-I_C_2*R_C; #voltage in volt",
- "p_del_I_C=((I_C_2-I_C_1)/I_C_1)*100; #percent change in collector current ",
- "p_del_V_CE=((V_CE_2-V_CE_1)/V_CE_1)*100; #percent change in C-E voltage",
- "",
- "#result",
- "print \"percent change in collector current = %.2f\" %p_del_I_C",
- "print \"percent change in collector emitter voltage = %.2f\" %p_del_V_CE"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "percent change in collector current = 18.69",
- "percent change in collector emitter voltage = -15.18"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 5.7, Page Number: 159<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_CC=20.0; #voltage in volt",
- "R_C=4.7*10**3; #resistance in ohm",
- "R_E=10.0*10**3; #resistance in ohm",
- "V_EE=-20.0; #voltage in volt",
- "R_B=100*10**3; #resistance in ohm",
- "#FOR B_DC=85 AND V_BE=0.7V",
- "B_DC=85; #DC value",
- "V_BE=0.7; #base-emitter voltage",
- "I_C_1=(-V_EE-V_BE)/(R_E+(R_B/B_DC));",
- "V_C=V_CC-I_C_1*R_C; #colector voltage",
- "I_E=I_C_1; #emittor current",
- "V_E=V_EE+I_E*R_E; #emittor voltage",
- "V_CE_1=V_C-V_E; #CE voltage",
- "print \"I_C_1 = %.3f\" %I_C_1",
- "print \"V_CE_1 = %.2f\" %V_CE_1",
- "#FOR B_DC=100 AND V_BE=0.6V",
- "B_DC=100; #DC value ",
- "V_BE=0.6; #base-emitter voltage",
- "I_C_2=(-V_EE-V_BE)/(R_E+(R_B/B_DC));",
- "V_C=V_CC-I_C_2*R_C;#colector voltage",
- "I_E=I_C_2; #emittor current",
- "V_E=V_EE+I_E*R_E; #emittor voltage",
- "V_CE_2=V_C-V_E; #CE voltage",
- "print \"I_C_2 = %.3f\" %I_C_2",
- "print \"V_CE_2 = %.2f\" %V_CE_2",
- "",
- "p_del_I_C=((I_C_2-I_C_1)/I_C_1)*100;",
- "p_del_V_CE=((V_CE_2-V_CE_1)/V_CE_1)*100;",
- "print \"percent change in collector currrent = %.2f\" %p_del_I_C",
- "print \"percent change in collector emitter voltage = %.2f\" %p_del_V_CE",
- "print \"answers in book are approximated\""
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "I_C_1 = 0.002",
- "V_CE_1 = 14.61",
- "I_C_2 = 0.002",
- "V_CE_2 = 14.07",
- "percent change in collector currrent = 2.13",
- "percent change in collector emitter voltage = -3.69",
- "answers in book are approximated"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 5.8, Page Number: 161<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaratio",
- "V_CC=10.0; #voltage in volt",
- "B_DC=100.0; #Dc value",
- "R_C=10.0*10**3; #resistance in ohm",
- "R_B=100.0*10**3; #resistance in ohm",
- "V_BE=0.7; #base-emittor voltage",
- "",
- "#calculation",
- "I_C=(V_CC-V_BE)/(R_C+(R_B/B_DC)); #collector current",
- "V_CE=V_CC-I_C*R_C; #CE voltage",
- "",
- "#result",
- "print \"Q point of collector current %.4f amperes\" %I_C",
- "print \"Q point of collector-emitter voltage %.3f volts\" %V_CE"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Q point of collector current 0.0008 amperes",
- "Q point of collector-emitter voltage 1.545 volts"
- ]
- }
- ],
- "prompt_number": 9
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter6.ipynb b/Electronic_Devices_/Chapter6.ipynb
deleted file mode 100644
index 22b56e17..00000000
--- a/Electronic_Devices_/Chapter6.ipynb
+++ /dev/null
@@ -1,591 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_6"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 6: BJT Amplifiers<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.1, Page Number: 171<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# result",
- "",
- "print \"theoretical example\""
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "theoretical example"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.2, Page Number: 174<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "I_E=2.0*10**-3; #emittor current",
- "",
- "#calculation",
- "r_e=25.0*10**-3/I_E; #ac emitter resistance",
- "",
- "#result",
- "print \"ac emitter resistance = %.2f ohms\" %r_e "
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ac emitter resistance = 12.50 ohms"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.3, Page Number: 178<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "I_E=3.8*10**-3; #emittor current",
- "B_ac=160.0; #AC value",
- "R1=22*10**3; #resistance in ohm",
- "R2=6.8*10**3; #resistance in ohm",
- "R_s=300.0; #resistance in ohm",
- "V_s=10.0*10**-3; #voltage in volt",
- "r_e=25.0*10**-3/I_E; ",
- "",
- "#calculation",
- "R_in_base=B_ac*r_e; #base resistance",
- "R_in_tot=(R1*R2*R_in_base)/(R_in_base*R1+R_in_base*R2+R1*R2);",
- "V_b=(R_in_tot/(R_in_tot+R_s))*V_s; #base voltage",
- "",
- "#result",
- "print \"voltage at the base of the transistor = %.3f volts\" %V_b"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage at the base of the transistor = 0.007 volts"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.4, Page Number: 180<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "# variable declaration",
- "R_E=560.0; #resistance in ohm",
- "f=2*10**3; #minimum value of frequency in hertz",
- "X_C=R_E/10.0; #minimum value of capacitive reactance",
- "",
- "#calculation",
- "C2=1.0/(2.0*math.pi*X_C*f); #capacitor ",
- "",
- "#result",
- "print \"value of bypass capacitor = %.7f farads\" %C2"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "value of bypass capacitor = 0.0000014 farads"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.5, Page Number: 181<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "# variable declaration",
- "r_e=6.58; #from ex6.3",
- "R_C=1.0*10**3; #collector resistance",
- "R_E=560; #emittor resistance",
- "",
- "#calculation",
- "A_v=R_C/(R_E+r_e); #gain without bypass capacitor",
- "A_v1=R_C/r_e; #gain with bypass capacitor",
- "print \"gain without bypass capacitor = %.2f\" %A_v",
- "print \"gain in the presence of bypass capacitor = %.2f\" %A_v1"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "gain without bypass capacitor = 1.76",
- "gain in the presence of bypass capacitor = 151.98"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.6, Page Number: 182<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "R_C=10.0**3; #resistance in ohm",
- "R_L=5.0*10**3; #inductor resistance",
- "r_e=6.58; #r_e value",
- "",
- "#calculation",
- "R_c=(R_C*R_L)/(R_C+R_L); #collector resistor",
- "A_v=R_c/r_e; #gain with load",
- "",
- "#result",
- "print \"ac collector resistor = %.2f ohms\" %R_c",
- "print \"gain with load = %.2f\" %A_v"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ac collector resistor = 833.33 ohms",
- "gain with load = 126.65"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.7, Page Number: 184<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "R_C=3.3*10**3; #resistance in ohm",
- "R_E1=330.0; #emitter resistance",
- "",
- "#calculation",
- "A_v=R_C/R_E1; #voltage gain",
- "",
- "#result",
- "print \"approximate voltage gain as R_E2 is bypassed by C2 = %.2f\" %A_v"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "approximate voltage gain as R_E2 is bypassed by C2 = 10.00"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.8, Page Number: 184<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "B_DC=150.0;",
- "B_ac=175.0;",
- "V_CC=10.0;",
- "V_s=10.0*10**-3;",
- "R_s=600.0;",
- "R1=47.0*10**3;",
- "R2=10.0*10**3;",
- "R_E1=470.0;",
- "R_E2=470.0;",
- "R_C=4.7*10**3;",
- "R_L=47.00*10**3;",
- "R_IN_base=B_DC*(R_E1+R_E2);",
- "#since R_IN_base is ten times more than R2,it can be neglected in DC voltage calculation",
- "V_B=(R2/(R2+R1))*V_CC;",
- "V_E=V_B-0.7;",
- "I_E=V_E/(R_E1+R_E2);",
- "I_C=I_E;",
- "V_C=V_CC-I_C*R_C;",
- "print('dc collector voltage = %.3f volts'%V_C)",
- "r_e=25.0*10**-3/I_E;",
- "#base resistance",
- "R_in_base=B_ac*(r_e+R_E1);",
- "#total input resistance",
- "R_in_tot=(R1*R2*R_in_base)/(R1*R2+R_in_base*R1+R_in_base*R2);",
- "attenuation=R_in_tot/(R_s+R_in_tot);",
- "#ac collector resistance",
- "R_c=R_C*R_L/(R_C+R_L);",
- "#voltage gain from base to collector",
- "A_v=R_c/R_E1;",
- "#overall voltage gain A_V",
- "A_V=A_v*attenuation;",
- "#rms voltage at collector V_c",
- "V_c=A_V*V_s;",
- "V_out_p=math.sqrt(2)*V_c;",
- "print('V_out peak = %d mV'%(V_out_p*1000))",
- "",
- "################Waveform plotting##############################",
- "",
- "import pylab",
- "import numpy ",
- "",
- "t = arange(0.0, 4.0, 0.0005)",
- "",
- "",
- "subplot(121)",
- "plot(t, V_C+V_c*sin(2*pi*t))",
- "ylim( (4.63,4.82) )",
- "title('Collector Voltage')",
- "",
- "subplot(122)",
- "plot(t, -V_s*sin(2*pi*t))",
- "plot(t, V_out_p*sin(2*pi*t))",
- "ylim( (-0.15,0.15) )",
- "title('Source and output AC voltage')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "dc collector voltage = 4.728 volts",
- "V_out peak = 119 mV"
- ]
- },
- {
- "output_type": "pyout",
- "prompt_number": 9,
- "text": [
- "<matplotlib.text.Text at 0xad2caac>"
- ]
- },
- {
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEICAYAAABfz4NwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXl8VNX5/z+TzCSZrDPZdxJ2AgipuOBXJahIUcGtKtiy\n1GrBpS4t35/W6he01g33Ulv61SqogEstm4CKGKUuIF8RFSigJJCNrJNlkklme35/HGayTWbunbud\nhPt+vXhp7tx75zPnzjzPOc95znMMRETQ0dHR0TntidBagI6Ojo4OH+gOQUdHR0cHgO4QdHR0dHRO\noTsEHR0dHR0AukPQ0dHR0TmF7hB0dHR0dADoDkEQpaWlyMvL8/9dUFCAjz76SENF8lJeXo6IiAh4\nvV6tpehwyqJFi/Dggw9qLWNI0deu8MBp5RDWrl2LKVOmICEhAdnZ2bjsssvw2Wefib6PwWCAwWCQ\npEXuH9iSJUuwcOHCfsf379+PmJgYNDc3C75XSUkJXn75Zdm0DQX+/e9/47zzzoPFYkFKSgrOP/98\n7N27V2tZqiHHdz4Qy5cvx/z58zW5X0lJCZKTk+F0Ovu9JpetEENBQQF27typ6HuE4rRxCM888wzu\nuecePPDAA6irq0NFRQVuv/12bNq0SWtpYdG3N79o0SK8++676Ojo6HX8tddew+zZs2GxWATfW4kf\n/mCmtbUVV1xxBe666y7YbDZUVVVh2bJliI6Olv29PB6P7PeUi6G0hrW8vBx79uxBenp6Pxugla0w\nGAzatzGdBjQ3N1N8fDy98847A57T2dlJd911F2VnZ1N2djbdfffd1NXVRUREH3/8MeXm5vrPLSgo\noI8++oiIiLxeLz322GM0YsQISklJoeuvv56ampr85+7atYumTp1KFouF8vLy6NVXX6W///3vZDKZ\nKCoqiuLj42nOnDlERHTw4EGaNm0aWSwWGj9+PG3atMl/n4ULF9KSJUto1qxZFBcX53//nowZM4bW\nrFnj/9vtdlN2djZt2rSJvF4v/fGPf6Rhw4ZReno6LViwgFpaWoiIqKysjAwGA7ndbrr//vspMjKS\nYmJiKD4+nn7zm98QEdGdd95JeXl5lJiYSGeeeSbt2rXL/z4dHR20YMECslqtNG7cOHriiSd6tVdV\nVRVdc801lJaWRoWFhfTCCy8IeGr88NVXX5HFYhnw9WBt2/e7Q0Q0bNgw//NbtmwZXXvttfSLX/yC\nEhMT6eWXX6bGxkZatGgRZWdnk9Vqpauuusp/7ebNm2nSpElksVjovPPOo2+//XZAXcGe2bJly+i6\n666jBQsWUEJCAo0fP5727t3rf/3rr7+m4uJiSkhIoBtuuIHmzp1LDzzwgGyff8eOHbRt2zaKiooi\nk8lE8fHxNHnyZCIimjZtGt1333109tlnU2JiIl155ZX+31Q49wvEQw89RLNnz6ZHHnmErrjiCv9x\nIbaiJ19++SVlZmaS1+v1H3v33XfpjDPOICLhduUXv/gFRUREkNlspvj4eFqxYgUREf3sZz+jzMxM\nSkpKogsvvJAOHDjgf5+Ghga64oorKDExkc466yz6wx/+QOeff77/9UOHDtEll1xCycnJNGbMGHrr\nrbdCfp7TwiFs27aNjEYjeTyeAc958MEHaerUqVRfX0/19fV03nnn0YMPPkhEwR3Cc889R1OnTqWq\nqipyOp20ePFimjdvHhERlZeXU0JCAq1fv57cbjc1NjbSN998Q0REixYt8t+fiMjpdNKIESPoscce\nI5fLRTt37qSEhAQ6fPgwETGHkJSURJ9//jkRsS9aX/70pz/RJZdc4v97+/btlJaWRm63m15++WUa\nOXIklZWVkd1up2uuuYbmz59PRN0Owdc+JSUl9PLLL/e69+uvv05NTU3k8Xjo6aefpszMTP8X+957\n76WSkhJqbm6myspKmjhxIuXl5RERkcfjoZ/85Cf0xz/+kVwuFx07doyGDx9O77//fvCHxhGtra2U\nkpJCCxcupG3btvVy+EQUtG0DGbCe359ly5aRyWSijRs3EhGRw+Ggyy67jObOnUvNzc3kcrno008/\nJSJmpNPT02nPnj3k9Xpp9erVVFBQ4H8OfQn2zJYtW0YxMTG0bds28nq99Pvf/57OPfdcIiLq6uqi\n/Px8eu6558jtdtM777xDJpOp1/dVrs+/fPly/7k+pk2bRjk5OXTgwAFqb2/3O8xw7xeIESNG0Ouv\nv05Hjhwhk8lEdXV1RCTMVgS614cffuj/+2c/+xk98cQTRBS+XfHxyiuvkN1uJ6fTSXfffXcvJ3fD\nDTfQvHnzyOFw0MGDBykvL48uuOACIiKy2+2Um5tLr776Knk8Htq3bx+lpqbSwYMHg36W08IhvP76\n65SZmRn0nBEjRtC2bdv8f7///vtUUFBARMEf3Lhx43o9xOrqajKZTOR2u+nRRx+la665JuD7LVq0\n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\nAAAAAElFTkSuQmCC\n"
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.9,Page Number: 190<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "R_E=10.0**3; #emitter resistance",
- "R_L=10.0**3; #resistance in ohm",
- "R1=18.0*10**3; #R1 in ohm",
- "R2=18.0*10**3; #R2 in ohm",
- "B_ac=175.0; #AC value",
- "V_CC=10.0; #voltage in volt",
- "V_BE=0.7; #base-emitter voltage",
- "V_in=1.0; #input voltage in volt",
- "",
- "#calculation",
- "",
- "R_e=(R_E*R_L)/(R_E+R_L); #ac emitter resistance R_e",
- "R_in_base=B_ac*R_e; #resistance from base R_in_base",
- "",
- "#total input resiatance R_in_tot",
- "R_in_tot=(R1*R2*R_in_base)/(R1*R2+R1*R_in_base+R2*R_in_base);",
- "print \"total input resistance = %.2f ohms\" %R_in_tot",
- "V_E=((R2/(R1+R2))*V_CC)-V_BE; #emitter voltage",
- "I_E=V_E/R_E; #emitter current",
- "r_e=25.0*10**-3/I_E; #emitter resistance",
- "A_v=R_e/(r_e+R_e);",
- "print \"voltage gain = %.2f\" %A_v",
- "#ac emitter current I_e",
- "#V_e=A_v*V_b=1V",
- "V_e=1.0; #V_evoltage",
- "I_e=V_e/R_e; #emitter current",
- "I_in=V_in/R_in_tot; #input current in ampere",
- "A_i=I_e/I_in; #current gain",
- "print \"current gain = %.2f\" %A_i",
- "A_p=A_i; #power gain",
- "#since R_L=R_E, one half of the total power is disspated to R_L",
- "A_p_load=A_p/2.0; #power load",
- "print \"power gain delivered to load = %.2f\" %A_p_load"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "total input resistance = 8160.62 ohms",
- "voltage gain = 0.99",
- "current gain = 16.32",
- "power gain delivered to load = 8.16"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.10, Page Number: 193<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_CC=12.0; #source voltage in volt",
- "V_BE=0.7; #base-emitter volatge",
- "R_C=1.0*10**3; #resistance in ohm",
- "r_e_ce=5.0; #for common emitter amplifier",
- "R1=10.0*10**3; #resistance in ohm",
- "R2=22.0*10**3; #resistance in ohm ",
- "R_E=22.0; #emitter resistance in ohm",
- "R_L=8.0; #load resistance in ohm",
- "B_DC=100.0; #dc value",
- "B_ac=100.0; #ac value",
- "",
- "#calculation",
- "pt=R2+B_DC**2*R_E #temp variable",
- "V_B=((R2*B_DC**2*R_E/(pt))/(R1+(R2*B_DC**2*R_E/(pt))))*V_CC;",
- "V_E=V_B-2.0*V_BE; #emitter voltage",
- "I_E=V_E/R_E; #emitter current",
- "r_e=25.0*10**-3/I_E; #for darlington emitter-follower",
- "P_R_E=I_E**2*R_E; #power dissipated by R_E",
- "P_Q2=(V_CC-V_E)*I_E #power dissipated by transistor Q2",
- "R_e=R_E*R_L/(R_E+R_L); #ac emitter resi. of darlington emitter follower",
- "#total input resistance of darlington",
- "kt=R_e+r_e #temp varaible",
- "R_in_tot=R1*R2*B_ac**2*(kt)/(R1*R2+R1*B_ac**2*(kt)+R2*B_ac**2*(kt)); ",
- "R_c=R_C*R_in_tot/(R_C+R_in_tot); #effective ac resistance",
- "A_v_CE=R_c/r_e_ce; #voltage gain of common emitter",
- "A_v_EF=R_e/(r_e+R_e); #voltage gain of common emitter amplifier",
- "A_v=A_v_CE*A_v_EF; #overall voltage gain",
- "",
- "#result",
- "print \"voltage gain of common emitter amplifier= %.2f\" %A_v_CE",
- "print \"voltage gain of common emitter amplifier= %.2f\" %A_v_EF",
- "print \"overall voltage gain = %.2f\" %A_v"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain of common emitter amplifier= 172.08",
- "voltage gain of common emitter amplifier= 0.99",
- "overall voltage gain = 169.67"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.11, Page Number: 196<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "B_DC=250.0; #dc value",
- "R_C=2.2*10**3; #resistance in ohm",
- "R_E=1.0*10**3; #emitter resistance",
- "R_L=10.0*10**3;#load resistance",
- "R1=56.0*10**3; #resistance in ohm",
- "R2=12.0*10**3; #resistance in ohm",
- "V_BE=0.7; #base-emitter voltage in volt",
- "V_CC=10.0; #source voltage in volt",
- "",
- "#calculation",
- "#since B_DC*R_E>>R2",
- "V_B=(R2/(R1+R2))*V_CC;",
- "V_E=V_B-V_BE; #emiiter voltage",
- "I_E=V_E/R_E; #emitter current",
- "r_e=25.0*10**-3/I_E; #r_e value",
- "R_in=r_e; #input resistance",
- "R_c=R_C*R_L/(R_C+R_L); #ac collector resistance",
- "A_v=R_c/r_e; #current gain",
- "#current gain is almost 1",
- "#power gain is approximately equal to voltage gain",
- "A_p=A_v; #power gain",
- "A_i=1; #current gain",
- "",
- "#result",
- "print \"input resistance = %.2f ohms\" %R_in",
- "print \"voltage gain = %.2f\" %A_v",
- "print \"current gain = %.2f\" %A_i",
- "print \"power gain = %.2f\" %A_p"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input resistance = 23.48 ohms",
- "voltage gain = 76.80",
- "current gain = 1.00",
- "power gain = 76.80"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 6.12, Page Number: 197<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "# variable declaration",
- "A_v1=10.0;",
- "A_v2=15.0;",
- "A_v3=20.0;",
- "",
- "#calcultion",
- "A_v=A_v1*A_v2*A_v3; #overall voltage gain",
- "A_v1_dB=20.0*math.log10(A_v1); #gain in decibel",
- "A_v2_dB=20.0*math.log10(A_v2); #gain in decibel",
- "A_v3_dB=20.0*math.log10(A_v3); #gain in decibel",
- "A_v_dB=A_v1_dB+A_v2_dB+A_v3_dB; #total gain in decibel",
- "",
- "#result",
- "print \"overall voltage gain = %.1f\" %A_v",
- "print \"Av1 = %.1f dB\" %A_v1_dB",
- "print \"Av2 = %.1f dB\" %A_v2_dB",
- "print \"Av3 = %.1f dB\" %A_v3_dB",
- "print \"total voltage gain =%.1f dB\" %A_v_dB"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "overall voltage gain = 3000.0",
- "Av1 = 20.0 dB",
- "Av2 = 23.5 dB",
- "Av3 = 26.0 dB",
- "total voltage gain =69.5 dB"
- ]
- }
- ],
- "prompt_number": 13
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter7.ipynb b/Electronic_Devices_/Chapter7.ipynb
deleted file mode 100644
index ac08bd97..00000000
--- a/Electronic_Devices_/Chapter7.ipynb
+++ /dev/null
@@ -1,710 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_7"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 7: Field-effect Transistors (FETs)<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.1, Page Number: 217<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 318
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_GS_off=-4; # voltage in volt",
- "I_DSS=12*10**-3; # current in ampere",
- "R_D=560; # resistance in ohm",
- "",
- "#calculation",
- "V_P=-1*V_GS_off; # volt ",
- "V_DS=V_P; # Vds in volt",
- "I_D=I_DSS; # current accross resistor",
- "V_R_D=I_D*R_D; #voltage across resistor",
- "V_DD=V_DS+V_R_D; # Vdd in volt",
- "",
- "# result",
- "print \"The value of V_DD required to put the device in the constant\"",
- "print \" current area of operation of JFET = %.2f volt\" %V_DD"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The value of V_DD required to put the device in the constant",
- " current area of operation of JFET = 10.72 volt"
- ]
- }
- ],
- "prompt_number": 319
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.2, Page Number: 218<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "print('The p-channel JFET requires a positive gate to source voltage.')",
- "print('The more positive the voltage, the lesser the drain current.')",
- "print('Any further increase in V_GS keeps the JFET cut off, so I_D remains 0')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The p-channel JFET requires a positive gate to source voltage.",
- "The more positive the voltage, the lesser the drain current.",
- "Any further increase in V_GS keeps the JFET cut off, so I_D remains 0"
- ]
- }
- ],
- "prompt_number": 320
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.3, Page number: 219<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "I_DSS=9.0*10**-3;",
- "V_GS_off=-8.0;",
- "V_GS=0.0;",
- "I_D=9.0*10**-3",
- "I_D=I_DSS*(1-(V_GS/V_GS_off))**2;",
- "print('Value of I_D for V_GS=0V is %f A '%I_D)",
- "V_GS=-1.0",
- "I_D=I_DSS*(1-(V_GS/V_GS_off))**2;",
- "print('Value of I_D for V_GS=-1V is %f A'%I_D)",
- "V_GS= -4.0",
- "I_D=I_DSS*(1-(V_GS/V_GS_off))**2;",
- "print('Value of I_D for V_GS=-4V is %f A'%I_D)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Value of I_D for V_GS=0V is 0.009000 A ",
- "Value of I_D for V_GS=-1V is 0.006891 A",
- "Value of I_D for V_GS=-4V is 0.002250 A"
- ]
- }
- ],
- "prompt_number": 321
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.4, Page Number: 220<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "#Variable Declaration",
- "I_DSS=3.0*10**-3;",
- "V_GS_off=-6.0;",
- "y_fs_max=5000.0*10**-6;",
- "V_GS=-4.0;",
- "g_m0=y_fs_max;",
- "",
- "#Calculation",
- "g_m=g_m0*(1-(V_GS/V_GS_off));",
- "I_D=I_DSS*(1-(V_GS/V_GS_off))",
- "",
- "#Result",
- "print('forward transconductance = %f Siemens'%g_m)",
- "print('value of I D = %f A'%I_D)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "forward transconductance = 0.001667 Siemens",
- "value of I D = 0.001000 A"
- ]
- }
- ],
- "prompt_number": 322
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.5, Page Number: 221<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_GS=-20.0; # voltage in volt",
- "I_GSS=-2*10**-9; # current in ampere",
- "",
- "#calculation",
- "R_IN1=abs((-20/(2*10**-9))) # resistance in ohm",
- "R_IN=R_IN1/(10**9)",
- "",
- "# result",
- "print \"Input resistance = %d Giga ohm\" %R_IN"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Input resistance = 10 Giga ohm"
- ]
- }
- ],
- "prompt_number": 323
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.6, Page Number: 223<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_DD=15; # voltage in volt",
- "V_G=0; # voltage in volt",
- "I_D=5*10**-3; # current in ampere",
- "R_D=1*10**3; # resistance in ohm",
- "R_G=10*10**6; # resistance in ohm",
- "R_S=220; # resistance in ohm",
- "",
- "# calculation",
- "V_S=I_D*R_S; # source voltage in volt",
- "V_D=V_DD-I_D*R_D; # drain voltage in volt",
- "V_DS=V_D-V_S; # drain to source voltage in volt",
- "V_GS=V_G-V_S; # gate to source voltage in volt",
- "",
- "# result",
- "print \"Drain to source voltage = %.2f volts\" %V_DS",
- "print \"Gate to source voltage = %.2f volts\" %V_GS"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain to source voltage = 8.90 volts",
- "Gate to source voltage = -1.10 volts"
- ]
- }
- ],
- "prompt_number": 324
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.7, Page Number: 224<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_GS=-5.0; # voltage in volt",
- "I_D=6.25*10**-3; # current in ampere",
- "",
- "#calculation",
- "R_G=abs((V_GS/I_D)) # resistance in ohm",
- "",
- "# result",
- "print \"Gate resistance = %d ohm\" %R_G"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Gate resistance = 800 ohm"
- ]
- }
- ],
- "prompt_number": 325
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.8, Page Number: 224<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "I_DSS=25.0*10**-3;",
- "V_GS_off=15.0;",
- "V_GS=5.0;",
- "I_D=I_DSS*(1-(V_GS/V_GS_off))**2",
- "R_S=abs((V_GS/I_D))",
- "print('Drain current = %f Amperes'%I_D)",
- "print('Source resistance = %.0f Ohms'%R_S)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain current = 0.011111 Amperes",
- "Source resistance = 450 Ohms"
- ]
- }
- ],
- "prompt_number": 326
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.9, Page Number: 225<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_D=6; # drain voltage in volt",
- "V_GS_off=-3; # off voltage in volt",
- "V_DD=12; # voltage in volt",
- "I_DSS=12*10**-3; # current in ampere",
- "",
- "#calculation",
- "I_D=I_DSS/2; #MIDPOINT BIAS",
- "V_GS=V_GS_off/3.4; #MIDPOINT BIAS",
- "R_S=abs((V_GS/I_D)) #resistance i voltage",
- "R_D=(V_DD-V_D)/I_D #resistance in voltage ",
- "",
- "# result",
- "print \"Source resistance = %.2f ohm\" %R_S",
- "print \"Drain resistance = %d ohm\" %R_D"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Source resistance = 147.06 ohm",
- "Drain resistance = 1000 ohm"
- ]
- }
- ],
- "prompt_number": 327
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.10, Page Number: 227<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import pylab",
- "import numpy",
- "",
- "# variable declaration",
- "R_S=680.0; # resistance in ohm",
- "I_D=0; # current in ampere",
- "",
- "#calculation",
- "V_GS=I_D*R_S; #FOR I_D=0A",
- "",
- "I_DSS=4*10**-3; # current in ampere",
- "I_D=I_DSS; # currents are equal",
- "V_GS1=-1*I_D*R_S; #FOR I_D=4mA",
- "",
- "# result",
- "print \"V_GS at I_D=0amp is %d volt\" %V_GS",
- "print \"V_GS at I_D=4mA is %.2f volt\" %V_GS1",
- "print \"Plotting load line using the values of V_GS at I_D=0 and 4mA,\"",
- "print \" we find the intersection of load line with transfer characteristic\"",
- "print \" to get Q-point values of V_GS=-1.5V and I_D=2.25mA\"",
- "",
- "#########PLOT######################",
- "idss=4",
- "vgsoff=-6",
- "vgs=arange(-6.0,0.0,0.0005)",
- "idk=arange(0.0,4.0,0.0005)",
- "ids=arange(0.0,2.25,0.0005)",
- "vgsk=-idk*0.68",
- "i_d=idss*(1-(vgs/vgsoff))**2",
- "text(-3.00,2.25,'Q Point',size=13)",
- "text(-3.25,2,'(-1.5V, 2.25mA)')",
- "plot(vgs,i_d)",
- "plot(vgsk,idk,'b')",
- "plot(-1.5,2.25,'o')",
- "ylim( (0,5) )",
- "title('Transfer characteristic curve')",
- "xlabel('Vgs')",
- "ylabel('Idss')"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "V_GS at I_D=0amp is 0 volt",
- "V_GS at I_D=4mA is -2.72 volt",
- "Plotting load line using the values of V_GS at I_D=0 and 4mA,",
- " we find the intersection of load line with transfer characteristic",
- " to get Q-point values of V_GS=-1.5V and I_D=2.25mA"
- ]
- },
- {
- "output_type": "pyout",
- "prompt_number": 328,
- "text": [
- "<matplotlib.text.Text at 0xd95b60c>"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\ngIAAVKhQAZMmTcpz/6I413X69OmIjo6Gi4sLQkJC9F0p+V3zXKVKlUKvXr2wY8cODBw4UP982bJl\nERERgbCwMFSrVg1VqlTBpEmT8v2gIeOwEcX5/k1ERBbBKLMIPDw8UK5cOdjZ2cHBwSFPS42IiIzH\nKEndxsYGkZGRcHV1NcbuiYioAEbrU2evDhGR6RmlT93LywvOzs6ws7PDmDFj8qxGZ25rWRARWYpi\npWtjTFO9du2aEEKImzdvCj8/P7Fnzx79a0Y6pNmYNm2a0iEYFc/Psqn5/NR8bkIUP3capfsld6LJ\nc889h549e/JGKRGRiRg8qaenp+vX27h//z4iIiLg6+tr6MMQEVE+DD76JTExET179gQg114eNGgQ\n2rVrZ+jDmC2NRqN0CEbF87Nsaj4/NZ9bSZh88pGNjQ1HxhARlVBxcyeXCSAiUhEmdSIiFWFSJyJS\nESZ1IiIVYVInIlIRJnUiIhVhUiciUhEmdSIiFWFSJyJSESZ1IiIVYVInIlIRJnUiIhVhUiciUhEm\ndSIiFWFSJyJSESZ1IiIVYVInIlIRJnUiIhVhUiciUhEmdSIiFWFSJyJSESZ1IiIVYVInIlIRJnUi\nIhVhUiciUhEmdSIiFWFSJyJSESZ1IiIVYVInIlIRJnUiIhVhUiciUhEmdSIiFWFSJyJSESZ1IiIV\nYVInIlIRoyV1rVYLf39/dO3a1ViHICKiRxgtqX///feoV68ebGxsjHUIIiJ6hFGS+pUrV7B582aM\nGjUKQghjHIKIiPJhb4ydjh8/HrNmzUJKSkq+r4eEhOh/1mg00Gg0xgiDyOSOHgUaN1Y6ClKDyMhI\nREZGlvh9NsLATenw8HBs2bIF8+bNQ2RkJGbPno2NGzf+d0AbG7beSZUePABeeAF4/33gtdeUjobU\nRKcD7OyKlzsN3lLfv38/NmzYgM2bNyMzMxMpKSkYOnQolixZYuhDEZmV0qWB8HCgZUvAywto00bp\niEgNhADefrv42xu8pf6w3bt34+uvv2ZLnazKnj1Anz7A7t1A3bpKR0OWbvJkICICOHq0eLnT6OPU\nOfqFrM0rrwCzZgFdugC3bikdDVmyr74C1q8Htm4t/nuM2lLP94BsqZOV+PhjIDIS2LEDcHRUOhqy\nNPPmAd9+K7/5Va1a/NzJpE5kJDodMGAAYG8PLFsG8EsrFVdoKPDZZ7ILz8NDPlfc3MllAoiMxNYW\n+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\n"
- }
- ],
- "prompt_number": 328
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.11, Page Number: 228<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_DD=12; # voltage in volt",
- "V_D=7; # voltage in volt",
- "R_D=3.3*10**3; # resistance in ohm",
- "R_S=2.2*10**3; # resistance in ohm",
- "R_1=6.8*10**6; # resistance in ohm",
- "R_2=1*10**6; # resistance in ohm",
- "",
- "#calculation",
- "I_D=(V_DD-V_D)/R_D; # drain current in ampere",
- "V_S=I_D*R_S; # source voltage in volt",
- "V_G=(R_2/(R_1+R_2))*V_DD; # gate voltage in volt",
- "V_GS=V_G-V_S; # gate to source voltage in volt",
- "",
- "# result",
- "print \"Drain Current = %.4f Ampere\" %I_D",
- "print \"Gate to source voltage = %.4f volts\" %V_GS"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain Current = 0.0015 Ampere",
- "Gate to source voltage = -1.7949 volts"
- ]
- }
- ],
- "prompt_number": 329
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.12, Page Number: 229<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "R_1=2.2*10**6; # resistance in ohm ",
- "R_2=R_1; # resistance in ohm",
- "V_DD=8; # voltage in volt",
- "R_S=3.3*10**3; # resistance in ohm",
- "",
- "#calculation",
- "V_GS=(R_2/(R_1+R_2))*V_DD; #FOR I_D=0A",
- "V_G=V_GS; # voltage in volt",
- "I_D=(V_G-0)/R_S; #FOR V_GS=0V",
- "",
- "# result",
- "print \"V_GS = %d volt\" %V_GS",
- "print \"at V_GS=0V. I_D = %.4f ampere\" %I_D",
- "print \"Plotting load line using the value of V_GS=4V at I_D=0\"",
- "print \" and I_D=1.2mA at V_GS=0V, we find the intersection of\"",
- "print \" load line with transfer characteristic to get Q-point\"",
- "print \" values of V_GS=-1.8V and I_D=1.8mA\""
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "V_GS = 4 volt",
- "at V_GS=0V. I_D = 0.0012 ampere",
- "Plotting load line using the value of V_GS=4V at I_D=0",
- " and I_D=1.2mA at V_GS=0V, we find the intersection of",
- " load line with transfer characteristic to get Q-point",
- " values of V_GS=-1.8V and I_D=1.8mA"
- ]
- }
- ],
- "prompt_number": 330
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.13, Page Number: 235<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "I_DSS=10.0*10**-3;",
- "V_GS_off=-8.0;",
- "V_GS=-3.0;",
- "I_D=I_DSS*(1-(V_GS/V_GS_off))**2;",
- "print('Drain current when V_GS=-3V is %f Amperes'%I_D)",
- "V_GS=3;",
- "I_D=I_DSS*(1-(V_GS/V_GS_off))**2;",
- "print('Drain current when V_GS=3V is %f Amperes'%I_D)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain current when V_GS=-3V is 0.003906 Amperes",
- "Drain current when V_GS=3V is 0.018906 Amperes"
- ]
- }
- ],
- "prompt_number": 331
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.14, Page Number: 236<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "#variable Declaration",
- "I_D_on=500.0*10**-3;",
- "V_GS=10.0;",
- "V_GS_th=1.0;",
- "K=I_D_on/((V_GS-V_GS_th)**2)",
- "V_GS=5.0;",
- "I_D=K*(V_GS-V_GS_th)**2;",
- "print('Drain current = %f A'%I_D)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain current = 0.098765 A"
- ]
- }
- ],
- "prompt_number": 332
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.15, Page Number: 237<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "I_DSS=12*10**-3; # currenin ampere",
- "V_DD=18; # voltage in volt",
- "R_D=620; # resistance in oh",
- "",
- "#calculation",
- "I_D=I_DSS; # currents are equal",
- "V_DS=V_DD-I_D*R_D; # drain to source voltage",
- "",
- "# result",
- "print \"Drain to sorce voltage = %.2f volt\" %V_DS"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain to sorce voltage = 10.56 volt"
- ]
- }
- ],
- "prompt_number": 333
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.16, Page Number: 238<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "#variable Declaration",
- "I_D_on=200.0*10**-3;",
- "V_DD=24.0;",
- "R_D=200.0;",
- "V_GS=4.0;",
- "V_GS_th=2.0;",
- "R_1=100.0*10**3;",
- "R_2=15.0*10**3;",
- "",
- "#Calculation ",
- "K=I_D_on/((V_GS-V_GS_th)**2)",
- "V_GS=(R_2/(R_1+R_2))*V_DD;",
- "I_D=K*(V_GS-V_GS_th)**2;",
- "V_DS=V_DD-I_D*R_D;",
- "",
- "#Result",
- "print('Drain to Source voltage = %f V'%V_DS)",
- "print('Gate to Source voltage = %f V'%V_GS)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain to Source voltage = 11.221172 V",
- "Gate to Source voltage = 3.130435 V"
- ]
- }
- ],
- "prompt_number": 334
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 7.17, Page Number: 239<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_GS_on=3; # voltage in volt",
- "V_GS=8.5 #voltage displayed on meter",
- "V_DS=V_GS; # voltages are equal ",
- "V_DD=15; # voltage in volt",
- "R_D=4.7*10**3; # resistance in ohm",
- "",
- "#calculation",
- "I_D=(V_DD-V_DS)/R_D; # drain current",
- "",
- "# result",
- "print \"Drain current = %.4f ampere\" %I_D"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain current = 0.0014 ampere"
- ]
- }
- ],
- "prompt_number": 335
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter8.ipynb b/Electronic_Devices_/Chapter8.ipynb
deleted file mode 100644
index 8cb0d972..00000000
--- a/Electronic_Devices_/Chapter8.ipynb
+++ /dev/null
@@ -1,422 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_8"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 8: FET Amplifiers<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 8.1, Page Number: 253<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "g_m=4.0*10**-3; #gm value",
- "R_d=1.5*10**3; #resistance",
- "",
- "#calculation",
- "A_v=g_m*R_d; #voltage gain",
- "",
- "#result",
- "print \"Voltage gain = %.2f\" %A_v"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Voltage gain = 6.00"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 8.2, Page Number: 253<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "r_ds=10.0*10**3;",
- "R_d=1.5*10**3; #from previous question",
- "g_m=4.0*10**-3; #from previous question",
- "",
- "#calculation",
- "A_v=g_m*((R_d*r_ds)/(R_d+r_ds)); #voltage gain",
- "",
- "#result",
- "print \"Voltage gain = %.2f\" %A_v"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Voltage gain = 5.22"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 8.3, Page Number:254<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "R_s=560; #resistance in ohm",
- "R_d=1.5*10**3; #resistance in ohm",
- "g_m=4*10**-3; #g_m value",
- "",
- "#calculation",
- "A_v=(g_m*R_d)/(1+(g_m*R_s)) #voltage gain",
- "",
- "#result",
- "print \"Voltage gain = %.2f\" %A_v"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Voltage gain = 1.85"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 8.4, Page Number: 257<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "#Variable declaration",
- "vdd=12.0 #volts",
- "Id=1.96*10**-3 #Amp",
- "Rd=3.3*10**3 #ohm",
- "Idss=12.0*10**-3 #Amp",
- "Rs=910 # Ohm",
- "vgsoff= 3 #v",
- "vin=0.1 #V",
- "",
- "#calculation",
- "vd=vdd-(Id*Rd)",
- "vgs=-Id*Rs",
- "gm0=2*Idss/(abs(vgsoff))",
- "gm=0.00325 #mS",
- "vout=gm*Rd*vin",
- "vout=vout*2*1.414",
- "#Result",
- "print\"Total output ac voltage(peak-to-peak) = %f V \\nridig on DC value of %fV \"%(vout,vd)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total output ac voltage(peak-to-peak) = 3.033030 V ",
- "ridig on DC value of 5.532000V "
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 8.5, Page Number: 258<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "R_D=3.3*10**3; #resistance in ohm",
- "R_L=4.7*10**3; #load resistance in ohm",
- "g_m=3.25*10**-3; #from previous question",
- "V_in=100.0*10**-3; #previous question",
- "",
- "#calculation",
- "R_d=(R_D*R_L)/(R_D+R_L); #Equivalent drain resistance",
- "V_out=g_m*R_d*V_in; #output RMS voltage in volt",
- "",
- "#result",
- "print \"Output voltage rms value = %.2f Volts\" %V_out"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage rms value = 0.63 Volts"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 8.6, Page Number: 259<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "I_GSS=30.0*10**-9; #current in ampere",
- "V_GS=10.0; #ground-source voltage",
- "R_G=10.0*10**6; #resistance in ohm",
- "",
- "#calculation",
- "R_IN_gate=V_GS/I_GSS; #gate input resistance",
- "R_in=(R_IN_gate*R_G)/(R_IN_gate+R_G); #parallel combination",
- "",
- "#result",
- "print \"Input resistance as seen by signal source = %.2f ohm\" %R_in"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Input resistance as seen by signal source = 9708737.86 ohm"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 8.7, Page Number: 260<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "I_DSS=200.0*10**-3;",
- "g_m=200.0*10**-3;",
- "V_in=500.0*10**-3;",
- "V_DD=15.0;",
- "R_D=33.0;",
- "R_L=8.2*10**3;",
- "",
- "#calculation",
- "I_D=I_DSS; #Amplifier is zero biased",
- "V_D=V_DD-I_D*R_D;",
- "R_d=(R_D*R_L)/(R_D+R_L);",
- "V_out=g_m*R_d*V_in;",
- "",
- "#result",
- "print \"DC output voltage = %.2f Volts\" %V_D",
- "print \"AC output voltage = %.2f volts\" %V_out"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "DC output voltage = 8.40 Volts",
- "AC output voltage = 3.29 volts"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 8.8, Page Number: 262<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# Theoretical example",
- "# result",
- "",
- "print \"Part A:\\nQ point: V_GS=-2V I_D=2.5mA. At V_GS=-1V, I_D=3.4mA,\"",
- "print \"At V_GS=-3V, I_D=1.8mA. So peak to peak drain current is\" ",
- "print \"the difference of the two drain currents=1.6mA\"",
- "print \"\\nPart B:\\nQ point: V_GS=0V I_D=4mA. At V_GS=1V, I_D=5.3mA,\"",
- "print \"At V_GS=-1V, I_D=2.5mA. So peak to peak drain current is\"",
- "print\" the difference of the two drain currents=2.8mA\"",
- "print \"\\nPart C:\\nQ point: V_GS=8V I_D=2.5mA. At V_GS=9V, I_D=3.9mA,\"",
- "print \" At V_GS=7V, I_D=1.7mA. So peak to peak drain current is\"",
- "print \" the difference of the two drain currents=2.2mA\""
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Part A:",
- "Q point: V_GS=-2V I_D=2.5mA. At V_GS=-1V, I_D=3.4mA,",
- "At V_GS=-3V, I_D=1.8mA. So peak to peak drain current is",
- "the difference of the two drain currents=1.6mA",
- "",
- "Part B:",
- "Q point: V_GS=0V I_D=4mA. At V_GS=1V, I_D=5.3mA,",
- "At V_GS=-1V, I_D=2.5mA. So peak to peak drain current is",
- " the difference of the two drain currents=2.8mA",
- "",
- "Part C:",
- "Q point: V_GS=8V I_D=2.5mA. At V_GS=9V, I_D=3.9mA,",
- " At V_GS=7V, I_D=1.7mA. So peak to peak drain current is",
- " the difference of the two drain currents=2.2mA"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 8.9, Page Number:263 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "R_1=47.0*10**3;",
- "R_2=8.2*10**3;",
- "R_D=3.3*10**3;",
- "R_L=33.0*10**3;",
- "I_D_on=200.0*10**-3;",
- "V_GS=4.0;",
- "V_GS_th=2.0;",
- "g_m=23*10**-3;",
- "V_in=25*10**-3;",
- "V_DD=15.0;",
- "",
- "#calculation",
- "V_GSnew=(R_2/(R_1+R_2))*V_DD;",
- "K=I_D_on/((V_GS-V_GS_th)**2)",
- "#K=value_of_K(200*10**-3,4,2);",
- "K=K*1000;",
- "I_D=K*((V_GSnew-V_GS_th)**2);",
- "V_DS=V_DD-I_D*R_D/1000;",
- "R_d=(R_D*R_L)/(R_D+R_L);",
- "V_out=g_m*V_in*R_d;",
- "",
- "#result",
- "print \"Drain to source voltage = %.2f volts\" %V_GSnew",
- "print \"Drain current = %.2f mA\" %I_D",
- "print \"Gate to source voltage = %.2f volts\" %V_DS",
- "print \"AC output voltage = %.2f volts\" %V_out",
- "print \"Answer in textbook are approximated\""
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain to source voltage = 2.23 volts",
- "Drain current = 2.61 mA",
- "Gate to source voltage = 6.40 volts",
- "AC output voltage = 1.72 volts",
- "Answer in textbook are approximated"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 8.10, Page Number: 266<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_DD=-15.0; #p=channel MOSFET",
- "g_m=2000.0*10**-6; #minimum value from datasheets",
- "R_D=10.0*10**3;",
- "R_L=10.0*10**3;",
- "R_S=4.7*10**3;",
- "",
- "#calculation",
- "R_d=(R_D*R_L)/(R_D+R_L); #effective drain resistance",
- "A_v=g_m*R_d;",
- "R_in_source=1.0/g_m;",
- "#signal souce sees R_S in parallel with ip rest at source terminal(R_in_source)",
- "R_in=(R_in_source*R_S)/(R_in_source+R_S); ",
- "",
- "#result ",
- "print \"minimum voltage gain = %.2f\" %A_v",
- "print \"Input resistance seen from signal source = %.2f ohms\" %R_in"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "minimum voltage gain = 10.00",
- "Input resistance seen from signal source = 451.92 ohms"
- ]
- }
- ],
- "prompt_number": 10
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/Chapter9.ipynb b/Electronic_Devices_/Chapter9.ipynb
deleted file mode 100644
index 3bd19f57..00000000
--- a/Electronic_Devices_/Chapter9.ipynb
+++ /dev/null
@@ -1,371 +0,0 @@
-{
- "metadata": {
- "name": "Chapter_9"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- "<h1>Chapter 9: Power Amplifiers<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 9.1, Page Number: 280<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_CC=15.0; #supply voltage",
- "R_C=1.0*10**3; #resistance in ohm",
- "R_1=20.0*10**3; #resistance in ohm",
- "R_2=5.1*10**3; #resistance in ohm",
- "R_3=5.1*10**3; #resistance in ohm",
- "R_4=15.0*10**3; #resistance in ohm",
- "R_E_1=47.0; #resistance in ohm",
- "R_E_2=330.0; #resistance in ohm",
- "R_E_3=16.0; #resistance in ohm",
- "R_L=16.0; #SPEAKER IS THE LOAD;",
- "B_ac_Q1=200.0; #B_ac value",
- "B_ac_Q2=B_ac_Q1; #B_ac value",
- "B_ac_Q3=50.0; #B_ac value",
- "",
- "#calculation",
- "#R_c1=R_C||[R_3||R_4||B_acQ2*B_ac_Q3*(R_E_3||R_L)] is ac collector resistance",
- "R=(R_E_3*R_L)/(R_E_3+R_L); #calculating resistance",
- "R=B_ac_Q2*B_ac_Q3*R; ",
- "R=(R*R_4)/(R+R_4); #calculating resistance",
- "R=(R*R_3)/(R+R_3);",
- "R_c1=(R*R_C)/(R_C+R); #ac collector resistance",
- "#V_B=((R_2||(B_acQ1*(R_E_1+R_E_2)))/(R_1+(R_2||B_acQ1*(R_E_1+R_E_2))))*V_CC;",
- "#This is the base voltage;",
- "#LET R=(R_2||(B_acQ1*(R_E_1+R_E_2)))",
- "R=(R_2*B_ac_Q1*(R_E_1+R_E_2))/(R_2+B_ac_Q1*(R_E_1+R_E_2));",
- "V_B=R*V_CC/(R_1+R);",
- "I_E=(V_B-0.7)/(R_E_1+R_E_2);",
- "r_e_Q1=25.0*10**-3/I_E;",
- "A_v1=(-1)*(R_c1)/(R_E_1+r_e_Q1); #voltage gain of 1st stage",
- "#total input resistance of 1st stage is ",
- "#R_in_tot_1=R_1||R_2||B_ac_Q1*(R_E_1+r_e_Q1);",
- "xt=R_E_1+r_e_Q1 ",
- "yt=R_2*B_ac_Q1",
- "R_in_tot_1=(R_1*(yt*(xt)/(R_2+B_ac_Q1*(xt))))/(R_1+(yt*(xt)/(yt*(xt))));",
- "A_v2=1; #gain of darlington voltage-follower",
- "A_v_tot=A_v1*A_v2; #total gain",
- "A_p=(A_v_tot**2)*(R_in_tot_1/R_L); #power gain",
- "A_p=42508.68",
- "",
- "#result",
- "print \"Voltage gain= %.2f\" %A_v_tot",
- "print \"Power gain= %.2f\" %A_p"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Voltage gain= -15.29",
- "Power gain= 42508.68"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 9.2, Page Number: 281<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_in=176.0*10**-3;",
- "R_in=2.9*10**3; #total input resistance from previous question",
- "A_p=42429.0; #power gain from previous question",
- "V_CC=15.0;",
- "I_CC=0.6; #emitter current",
- "",
- "#calculation",
- "P_in=V_in**2/R_in; #input power",
- "P_out=P_in*A_p;",
- "P_DC=I_CC*V_CC;",
- "eff=P_out/P_DC; #efficiency",
- "",
- "#result",
- "print \"efficiency= %.2f\" %eff"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "efficiency= 0.05"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 9.3, Page Number: 287<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_CC=20.00; #supply voltage",
- "R_L=16.0; #load resistance",
- "",
- "#calculation",
- "V_out_peak=V_CC; #calculate peak op voltage",
- "I_out_peak=V_CC/R_L; #calculate peak op current",
- "",
- "#result",
- "print \"ideal maximum peak output voltage = %.2f volts\" %V_out_peak",
- "print \"ideal maximum current =%.2f amperes\" %I_out_peak"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ideal maximum peak output voltage = 20.00 volts",
- "ideal maximum current =1.25 amperes"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 9.4, Page Number: 288<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "# variable declaration",
- "V_CC=20.0; #supply volatge",
- "R_L=16.0; #load resistance",
- "",
- "#calculation",
- "V_out_peak=V_CC/2;",
- "I_out_peak=V_out_peak/R_L;",
- "",
- "#result",
- "print \"ideal maximum output peak voltage = %.2f volts\" %V_out_peak",
- "print \"ideal maximum current = %.2f amperes\" %I_out_peak"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ideal maximum output peak voltage = 10.00 volts",
- "ideal maximum current = 0.62 amperes"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 9.5, Page Number: 290<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "# variable declaration",
- "V_CC=20.0; #supply voltage",
- "R_L=8.0; #load resistance",
- "B_ac=50.0; #B_ac value",
- "r_e=6.0; #internal resistance",
- "",
- "#calculation",
- "V_out_peak=V_CC/2;",
- "V_CEQ=V_out_peak;",
- "I_out_peak=V_CEQ/R_L;",
- "I_c_sat=I_out_peak;",
- "P_out=0.25*I_c_sat*V_CC;",
- "P_DC=(I_c_sat*V_CC)/math.pi;",
- "R_in=B_ac*(r_e+R_L);",
- "",
- "#result",
- "print \"maximum ac output power = %.2f Watts\" %P_out",
- "print \"maximum DC output power = %.2f Watts\" %P_DC",
- "print \"input resistance = %.2f ohms\" %R_in"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum ac output power = 6.25 Watts",
- "maximum DC output power = 7.96 Watts",
- "input resistance = 700.00 ohms"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 9.6, Page Number: 292<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "# variable declaration",
- "V_DD=24.0;",
- "V_in=100*10**-3; #ip volatge",
- "R1=440.0; #resistance in ohm",
- "R2=5.1*10**3; #resistance in ohm",
- "R3=100*10**3; #resistance in ohm",
- "R4=10**3; #resistance in ohm",
- "R5=100.0; #resistance in ohm",
- "R7=15*10**3; #resistance in ohm",
- "R_L=33.0; #load resistance in ohm",
- "V_TH_Q1=2.0; # V-TH value",
- "V_TH_Q2=-2.0; ",
- "",
- "#calculation",
- "I_R1=(V_DD-(-V_DD))/(R1+R2+R3);",
- "V_B=V_DD-I_R1*(R1+R2); #BASE VOLTAGE",
- "V_E=V_B+0.7; #EMITTER VOLTAGE",
- "I_E=(V_DD-V_E)/(R4+R5); #EMITTER CURRENT",
- "V_R6=V_TH_Q1-V_TH_Q2; #VOLTAGE DROP ACROSS R6",
- "I_R6=I_E; ",
- "R6=V_R6/I_R6;",
- "r_e=25*10**-3/I_E; #UNBYPASSED EMITTER RESISTANCE",
- "A_v=R7/(R5+r_e); #VOLTAGE GAIN",
- "V_out=A_v*V_in;",
- "P_L=V_out**2/R_L;",
- "",
- "#result",
- "print \"value of resistance R6 = %.2d ohms for AB operation\" %R6",
- "print \"power across load = %.2f watts\"%P_L "
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "value of resistance R6 = 2418 ohms for AB operation",
- "power across load = 5.15 watts"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 9.7, Page Number:295<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "# variable declaration",
- "f=200.0*10**3; #frequency in hertz",
- "I_c_sat=100.0*10**-3; #saturation current",
- "V_ce_sat=0.2; #sat voltage",
- "t_on=1.0*10**-6; #on time",
- "",
- "#calculation",
- "T=1/f; #time period of signal",
- "P_D_avg=(t_on/T)*I_c_sat*V_ce_sat; #power dissipation",
- "",
- "#result",
- "print \"average power dissipation =%.3f Watts\" %P_D_avg"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "average power dissipation =0.004 Watts"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- "<h3>Example 9.8, Page Number: 298<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "# variable declaration",
- "P_D_avg=4.0*10**-3; #power dissipation",
- "V_CC=24.0; #supply voltage",
- "R_c=100.0; #resistance in ohm",
- "",
- "#calculation",
- "P_out=(0.5*V_CC**2)/R_c; #output power",
- "n=(P_out)/(P_out+P_D_avg); #n is efficiency",
- "",
- "#result",
- "print \"efficiency=%.4f\" %n"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "efficiency=0.9986"
- ]
- }
- ],
- "prompt_number": 8
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Devices_/README.txt b/Electronic_Devices_/README.txt
deleted file mode 100644
index 7ae64652..00000000
--- a/Electronic_Devices_/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Laxman Sole
-Course: btech
-College/Institute/Organization: Vishwakarma Institute of Technology, Pune
-Department/Designation: Electronics Engineering
-Book Title: Electronic Devices
-Author: Thomas L. Floyd
-Publisher: Dorling Kindersley Pvt. Ltd.
-Year of publication: 2009
-Isbn: 9788177586435
-Edition: 7th \ No newline at end of file
diff --git a/Electronic_Devices_/screenshots/ipwaveform.png b/Electronic_Devices_/screenshots/ipwaveform.png
deleted file mode 100644
index 72b97ef9..00000000
--- a/Electronic_Devices_/screenshots/ipwaveform.png
+++ /dev/null
Binary files differ
diff --git a/Electronic_Devices_/screenshots/modulatedopvoltage.png b/Electronic_Devices_/screenshots/modulatedopvoltage.png
deleted file mode 100644
index bcb4e66a..00000000
--- a/Electronic_Devices_/screenshots/modulatedopvoltage.png
+++ /dev/null
Binary files differ
diff --git a/Electronic_Devices_/screenshots/transfercharectercurve.png b/Electronic_Devices_/screenshots/transfercharectercurve.png
deleted file mode 100644
index eda2589e..00000000
--- a/Electronic_Devices_/screenshots/transfercharectercurve.png
+++ /dev/null
Binary files differ
diff --git a/Electronic_Principles_/Chapter_10_New.ipynb b/Electronic_Principles_/Chapter_10_New.ipynb
deleted file mode 100644
index c36aae9c..00000000
--- a/Electronic_Principles_/Chapter_10_New.ipynb
+++ /dev/null
@@ -1,440 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 10 VOLTAGE AMPLIFIERS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 10-1, Page 322"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "re=22.7 #Ac resistance as per example 9-5(Ohm)\n",
- "RC=3.6 #Collector Resistance(KOhm)\n",
- "RL=10 #Load Resistance(KOhm)\n",
- "Vin=2 #Input voltage(mV)\n",
- "\n",
- "rc=RC*RL/(RC+RL) #AC collector resistance(Ohm)\n",
- "Av=(rc/re)*1000 #Voltage gain\n",
- "Vout=Av*Vin #Output voltage(mV)\n",
- "\n",
- "print 'Voltage gain Av = ',round(Av,2)\n",
- "print 'Output voltage Vout = ',round(Vout,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Voltage gain Av = 116.61\n",
- "Output voltage Vout = 233.22 mV\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 10-2, Page 323"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RC=3.6 #Collector Resistance(KOhm)\n",
- "RL=2.2 #Load Resistance(KOhm)\n",
- "Vin=5 #Input voltage(mV)\n",
- "VEE=9 #collector voltage(V)\n",
- "RE=10 #Emitter resistance(KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "\n",
- "rc=RC*RL/(RC+RL) #AC collector resistance(Ohm)\n",
- "IE=(VEE-VBE)/RE #emitter current(mA)\n",
- "re=25/IE #AC resistance(Ohm)\n",
- "Av=(rc/re)*1000 #Voltage gain\n",
- "Vout=Av*Vin #Output voltage(mV)\n",
- "\n",
- "print 'Emitter current IE = ',IE,'mA'\n",
- "print 'Voltage gain Av = ',round(Av,2)\n",
- "print 'Output voltage Vout = ',round(Vout,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Emitter current IE = 0.83 mA\n",
- "Voltage gain Av = 45.34\n",
- "Output voltage Vout = 226.68 mV\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 10-3, Page 325"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "re=22.7 #Ac resistance as per example 9-5(Ohm)\n",
- "B=300 #current gain\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "Rs=0.6 #internal resistance of source(KOhm)\n",
- "Av=117 #Voltage gain as per example 10-1\n",
- "Vs=2 #ac voltage supply(mV)\n",
- "\n",
- "Zin_base=B*re/1000 #input impedance of base(KOhm)\n",
- "Zin_stage=((R1**-1)+(Zin_base**-1)+(R2**-1))**-1 #input impedance of stage(KOhm)\n",
- "Vin=(Zin_stage/(Rs+Zin_stage))*Vs #input voltage(mV)\n",
- "Vout=Av*Vin #output voltage(mV)\n",
- "\n",
- "print 'input impedance of stage Zin(stage) = ',round(Zin_stage,2),'KOhm'\n",
- "print 'Output volatge Vout = ',round(Vout,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input impedance of stage Zin(stage) = 1.43 KOhm\n",
- "Output volatge Vout = 164.69 mV\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 10-4, Page 325"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "re=22.7 #Ac resistance as per example 9-5(Ohm)\n",
- "B=50 #current gain\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "Rs=0.6 #internal resistance of source(KOhm)\n",
- "Av=117 #Voltage gain as per example 10-1\n",
- "Vs=2 #ac voltage supply(mV)\n",
- "\n",
- "Zin_base=B*re/1000 #input impedance of base(KOhm)\n",
- "Zin_stage=((R1**-1)+(Zin_base**-1)+(R2**-1))**-1 #input impedance of stage(KOhm)\n",
- "Vin=(Zin_stage/(Rs+Zin_stage))*Vs #input voltage(mV)\n",
- "Vout=Av*Vin #output voltage(mV)\n",
- "\n",
- "print 'input impedance of stage Zin(stage) = ',round(Zin_stage,2),'KOhm'\n",
- "print 'Output volatge Vout = ',round(Vout,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input impedance of stage Zin(stage) = 0.7 KOhm\n",
- "Output volatge Vout = 125.71 mV\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 10-5, Page 327"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "re=22.7 #Ac resistance as per example 9-5(Ohm)\n",
- "B=100 #current gain\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "Rs=0.6 #internal resistance of source(KOhm)\n",
- "RC=3.6 #colletcor resistance (KOhm)\n",
- "Vs=1 #ac voltage supply(mV)\n",
- "RL=10 #Load resistance(KOhm)\n",
- "\n",
- "Zin_base=B*re/1000 #input impedance of base(KOhm)\n",
- "Zin_stage1=((R1**-1)+(Zin_base**-1)+(R2**-1))**-1 #input impedance of stage1(KOhm)\n",
- "Vin=(Zin_stage1/(Rs+Zin_stage1))*Vs #input voltage(mV)\n",
- "Zin_stage2=((R1**-1)+(Zin_base**-1)+(R2**-1))**-1 #input impedance of stage2(KOhm)\n",
- "rc1=(RC*Zin_stage2)/(RC+Zin_stage2) #AC collector resistance of stage1(KOhm)\n",
- "Av1=rc1/re #Voltage gain of stage 1\n",
- "vc=Av1*Vin #AC collector voltage of stage 1(V)\n",
- "rc2=(RC*RL)/(RC+RL) #AC collector resistance of stage2(KOhm)\n",
- "Av2=rc2/re #Voltage gain of stage 2\n",
- "Vout=Av2*vc #output voltage(mV)\n",
- "Av=Av1*Av2 #Overall voltage gain\n",
- "Voutf=Av*Vin #AC output voltage across RL(V)\n",
- "\n",
- "print 'AC collector voltage of first stage vc = ',round(vc*1000,2),'mV'\n",
- "print 'AC output voltage across load resistor Vout = ',round(Voutf*1000,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "AC collector voltage of first stage vc = 21.67 mV\n",
- "AC output voltage across load resistor Vout = 2.53 V\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 10-6, Page 331"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "re=0.18 #Emitter resistance (KOhm)\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "Rs=0.6 #internal resistance of source(KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "Vs=50 #ac voltage supply(mV)\n",
- "RL=10 #Load resistance(KOhm)\n",
- "B=200 #current gain \n",
- "\n",
- "Zin_base=B*re #input impedance of base(KOhm)\n",
- "Zin_stage=((R1**-1)+(Zin_base**-1)+(R2**-1))**-1 #input impedance of stage(KOhm)\n",
- "Vin=(Zin_stage/(Rs+Zin_stage))*Vs #input voltage(mV)\n",
- "rc=(RC*RL)/(RC+RL) #AC collector resistance of stage(KOhm)\n",
- "Av=rc/re #Voltage gain of stage\n",
- "Vout=Av*Vin #output voltage(mV)\n",
- "\n",
- "print 'input impedance of stage Zin(stage) = ',round(Zin_stage,2),'KOhm'\n",
- "print 'Output volatge Vout = ',round(Vout,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input impedance of stage Zin(stage) = 1.72 KOhm\n",
- "Output volatge Vout = 544.91 mV\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 10-7, Page 332"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "re=0.18 #Emitter resistance (KOhm)\n",
- "re1=0.0227 #Ac resistance as per example 9-5(KOhm)\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "Rs=0.6 #internal resistance of source(KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "Vs=50 #ac voltage supply(mV)\n",
- "RL=10 #Load resistance(KOhm)\n",
- "B=200 #current gain \n",
- "\n",
- "Zin_base=B*(re+re1) #input impedance of base(KOhm)\n",
- "Zin_stage=((R1**-1)+(Zin_base**-1)+(R2**-1))**-1 #input impedance of stage(KOhm)\n",
- "Vin=(Zin_stage/(Rs+Zin_stage))*Vs #input voltage(mV)\n",
- "rc=(RC*RL)/(RC+RL) #AC collector resistance of stage(KOhm)\n",
- "Av=rc/(re+re1) #Voltage gain of stage\n",
- "Vout=Av*Vin #output voltage(mV)\n",
- "\n",
- "print 'input impedance of stage Zin(stage) = ',round(Zin_stage,2),'KOhm'\n",
- "print 'Output volatge Vout = ',round(Vout,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input impedance of stage Zin(stage) = 1.73 KOhm\n",
- "Output volatge Vout = 484.55 mV\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 10-8, Page 333"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "re=0.18 #emitter reistance(Ohm)\n",
- "B=200 #current gain\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "Rs=0.6 #internal resistance of source(KOhm)\n",
- "RC=3.6 #colletcor resistance (KOhm)\n",
- "Vs=1 #ac voltage supply(mV)\n",
- "RL=10 #Load resistance(KOhm)\n",
- "\n",
- "Zin_base=B*re #input impedance of base(KOhm)\n",
- "Zin_stage1=((R1**-1)+(Zin_base**-1)+(R2**-1))**-1 #input impedance of stage1(KOhm)\n",
- "Vin=(Zin_stage1/(Rs+Zin_stage1))*Vs #input voltage(mV)\n",
- "Zin_stage2=((R1**-1)+(Zin_base**-1)+(R2**-1))**-1 #input impedance of stage2(KOhm)\n",
- "rc1=(RC*Zin_stage2)/(RC+Zin_stage2) #AC collector resistance of stage1(KOhm)\n",
- "Av1=rc1/re #Voltage gain of stage 1\n",
- "vc=Av1*Vin #AC collector voltage of stage 1(V)\n",
- "rc2=(RC*RL)/(RC+RL) #AC collector resistance of stage2(KOhm)\n",
- "Av2=rc2/re #Voltage gain of stage 2\n",
- "Vout=Av2*vc #output voltage(mV)\n",
- "Av=Av1*Av2 #Overall voltage gain\n",
- "Voutf=Av*Vin #AC output voltage across RL(V)\n",
- "\n",
- "print 'AC collector voltage of first stage vc = ',round(vc,2),'mV'\n",
- "print 'AC output voltage across load resistor Vout = ',round(Voutf,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "AC collector voltage of first stage vc = 4.79 mV\n",
- "AC output voltage across load resistor Vout = 70.39 mV\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 10-9, Page 335"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RV_min=0 #minimum variable resistance (KOhm)\n",
- "RV_max=10 #maximum variable resistance (KOhm)\n",
- "re=0.1 #Emitter resistance (KOhm)\n",
- "\n",
- "rf_min=RV_min+1 #minimum feedback resistance(KOhm)\n",
- "rf_max=RV_max+1 #maximum feedback resistance(KOhm)\n",
- "Av_min=rf_min/re #minimum voltage gain\n",
- "Av_max=rf_max/re #maximum voltage gain\n",
- "\n",
- "print 'minimum voltage gain Av(min)= ',Av_min\n",
- "print 'minimum voltage gain Av(max)= ',Av_max"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "minimum voltage gain Av(min)= 10.0\n",
- "minimum voltage gain Av(max)= 110.0\n"
- ]
- }
- ],
- "prompt_number": 44
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_11_New.ipynb b/Electronic_Principles_/Chapter_11_New.ipynb
deleted file mode 100644
index 9065b138..00000000
--- a/Electronic_Principles_/Chapter_11_New.ipynb
+++ /dev/null
@@ -1,523 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 11 CC AND CB AMPLIFIERS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-1, Page 348"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RE=4.3 #Emitter resistance(KOhm)\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=10 #Base resistance2 (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=10 #Load Resistance(KOhm)\n",
- "VG=1 #Input voltage(mV)\n",
- "RG=0.6 #internal resistance of source(KOhm)\n",
- "B=200 #current gain \n",
- "\n",
- "VBB=VCC/2 #Base voltage(V)\n",
- "VE=VBB-VBE #Emitter voltage(V)\n",
- "IE=VE/RE #Emitter current(mA)\n",
- "re1=(25/IE) #AC resistance(Ohm)\n",
- "re=RE*RL/(RE+RL) #external ac resistance(KOhm)\n",
- "Zin_base=(re+(re1/1000))*B #input impedance of base(KOhm)\n",
- "Zin_stage=((R1**-1)+(Zin_base**-1)+(R2**-1))**-1 #input impedance of stage(KOhm)\n",
- "\n",
- "print 'input impedance of stage Zin(base) = ',round(Zin_base,2),'KOhm'\n",
- "print 'input impedance of stage Zin(stage) = ',round(Zin_stage,2),'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input impedance of stage Zin(base) = 606.4 KOhm\n",
- "input impedance of stage Zin(stage) = 4.96 KOhm\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-2, Page 349"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "re=3.03 #Emitter resistance(KOhm)\n",
- "VG=1 #Input voltage(mV)\n",
- "RG=0.6 #internal resistance of source(KOhm)\n",
- "B=200 #current gain \n",
- "Zin=5 #input impedance(KOhm)\n",
- "\n",
- "Vin=(Zin/(Zin+RG))*VG #input voltage(V)\n",
- "\n",
- "print 'Input voltage Vin = ',round(Vin,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Input voltage Vin = 0.89 V\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-3, Page 350"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15 #collector voltage(V)\n",
- "RE=2.2 #Emitter resistance(KOhm)\n",
- "R1=4.7 #Base resistance1 (KOhm)\n",
- "R2=4.7 #Base resistance2 (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=6.8 #Load Resistance(KOhm)\n",
- "VG=1 #Input voltage(mV)\n",
- "RG=0.6 #internal resistance of source(KOhm)\n",
- "B=150 #current gain \n",
- "\n",
- "VBB=VCC/2.0 #Base voltage(V)\n",
- "VE=VBB-VBE #Emitter voltage(V)\n",
- "IE=VE/RE #Emitter current(mA)\n",
- "re1=(25/IE) #AC resistance(Ohm)\n",
- "re=RE*RL/(RE+RL) #external ac resistance(KOhm)\n",
- "Zin_base=(re+(re1/1000))*B #input impedance of base(KOhm)\n",
- "Zin_stage=((R1**-1)+(R2**-1))**-1 #input impedance of stage(KOhm)\n",
- "Av=re/(re+(re1/1000)) #Voltage gain of stage\n",
- "Vin=(Zin_stage/(Zin_stage+RG))*VG #input voltage(V)\n",
- "Vout=Av*Vin #output voltage(V)\n",
- "\n",
- "\n",
- "print 'input impedance of stage Zin(base) = ',round(Zin_base,2),'KOhm'\n",
- "print 'input impedance of stage Zin(stage) = ',Zin_stage,'KOhm'\n",
- "print 'voltage gain of emitter follower Av = ',round(Av,3)\n",
- "print 'Output volatge Vout = ',round(Vout,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input impedance of stage Zin(base) = 250.55 KOhm\n",
- "input impedance of stage Zin(stage) = 2.35 KOhm\n",
- "voltage gain of emitter follower Av = 0.995\n",
- "Output volatge Vout = 0.79 V\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-4, Page 353"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RG=600 #internal resistance of source(KOhm)\n",
- "B=300 #current gain \n",
- "\n",
- "Zout=RG/B #Output impedance(KOhm)\n",
- "\n",
- "print 'Output impedance Zout = ',Zout,'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output impedance Zout = 2 Ohm\n"
- ]
- }
- ],
- "prompt_number": 31
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-5, Page 353"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=30 #collector voltage(V)\n",
- "RE=0.1 #Emitter resistance(KOhm)\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=10 #Base resistance2 (KOhm)\n",
- "RL=0.1 #Load Resistance(KOhm)\n",
- "VG=1 #Input voltage(mV)\n",
- "RG=0.6 #internal resistance of source(KOhm)\n",
- "B=300 #current gain \n",
- "\n",
- "VBQ=VCC/2.0 #Base voltage(V)\n",
- "VEQ=VBQ #Emitter voltage(V), ignore VBE\n",
- "IEQ=VEQ/RE #Emitter current(mA)\n",
- "re=(25/IEQ) #AC resistance(Ohm)\n",
- "Zb=((RG**-1)+(R1**-1)+(R2**-1))**-1 #impedance looking back from base(KOhm)\n",
- "Z=Zb*1000/B #impedance after current gain (Ohm) \n",
- "Ze=Z+re #impedance looking back into emitter(Ohm)\n",
- "Zout=(((RE*1000)**-1)+(Ze**-1))**-1 #Output impedance(Ohm)\n",
- "\n",
- "print 'Output impedance is Zout = ',round(Zout,2),'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output impedance is Zout = 1.91 Ohm\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-6, Page 355"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RE=0.68 #Emitter resistance(KOhm)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "re=0.18 #Emitter resistance (KOhm)\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "RG=0.6 #internal resistance of source(KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=0.27 #Load resistance(KOhm)\n",
- "B=100 #current gain \n",
- "\n",
- "VBB=(R1*R2/(R1+R2)) #Base voltage(V)\n",
- "VE=VBB-VBE #Emitter voltage(V)\n",
- "IE=VE/RE #Emitter current(mA)\n",
- "re=(25/IE) #AC resistance(Ohm)\n",
- "Zin=B*RL #input impedance (KOhm)\n",
- "rc=((RC**-1)+(Zin**-1))**-1 #ac collector resistance(KOhm)\n",
- "Av=rc/(re/1000) #voltage gain of stage\n",
- "\n",
- "print 'voltage gain of CE stage Av = ',round(Av,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain of CE stage Av = 206.15\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-7, Page 355"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RE=0.68 #Emitter resistance(KOhm)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "re=0.18 #Emitter resistance (KOhm)\n",
- "R1=10.0 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "RG=0.6 #internal resistance of source(KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=0.27 #Load resistance(KOhm)\n",
- "B=100 #current gain \n",
- "\n",
- "VBB=10*(R2/(R1+R2)) #Base voltage(V)\n",
- "VE=VBB-VBE #Emitter voltage(V)\n",
- "IE=VE/RE #Emitter current(mA)\n",
- "re=(25/IE) #AC resistance(Ohm)\n",
- "rc=((RC**-1)+(RL**-1))**-1 #ac collector resistance(KOhm)\n",
- "Av=rc/(re/1000) #voltage gain of stage\n",
- "\n",
- "print 'voltage gain of CE stage Av = ',round(Av,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain of CE stage Av = 16.3\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-8, Page 358"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15 #collector voltage(V)\n",
- "RE=0.06 #Emitter resistance(KOhm)\n",
- "R1=10.0 #Base resistance1 (KOhm)\n",
- "R2=20.0 #Base resistance2 (KOhm)\n",
- "RG=0.6 #internal resistance of source(KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=0.03 #Load resistance(KOhm)\n",
- "B1=100 #current gain of Q1\n",
- "B2=100 #current gain of Q2\n",
- "\n",
- "B=B1*B2 #Overall current gain\n",
- "VBB=15*(R2/(R1+R2)) #Base voltage(V)\n",
- "VE=VBB-(2*VBE) #Emitter voltage(V)\n",
- "IE2=VE/RE #Emitter current(mA)\n",
- "IB2=IE2/B2 #Base current of Q2(mA)\n",
- "IE1=IB2 #emiter current of Q1(mA)\n",
- "IB1=IE1*1000/B1 #base current of Q1(uA)\n",
- "re=((RE**-1)+(RL**-1))**-1 #ac emitter resistance(KOhm)\n",
- "Zin_base=B*re #input impedance of Q1(KOhm)\n",
- "\n",
- "print 'Overall current gain B = ',B\n",
- "print 'base current of Q1 IB1 = ',round(IB1,2),'uA'\n",
- "print 'input impedance at base of Q1 Zin(base) = ',Zin_base,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Overall current gain B = 10000\n",
- "base current of Q1 IB1 = 14.33 uA\n",
- "input impedance at base of Q1 Zin(base) = 200.0 KOhm\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-9, Page 361"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=20 #input voltage (V)\n",
- "RL=15 #Load resistance(Ohm)\n",
- "Vz=10 #voltage across zener(V)\n",
- "B=100 #current gain\n",
- "Rs=680.0 #series resistor(Ohm)\n",
- "\n",
- "Vout=Vz-0.7 #Output voltage approx.(V)\n",
- "Iout=Vout/RL #Load current(A)\n",
- "IB=Iout*1000/B #base current(mA)\n",
- "Is=(Vin-Vz)*1000/Rs #current through series resistor(mA)\n",
- "Iz=Is-IB #zener current(mA)\n",
- "\n",
- "print 'output voltage Vout = ',Vout,'V'\n",
- "print 'Zener current Iz = ',round(Iz,2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage Vout = 9.3 V\n",
- "Zener current Iz = 8.51 mA\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-10, Page 362"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=30 #input voltage (V)\n",
- "RL=100 #Load resistance(Ohm)\n",
- "Vz=6.2 #voltage across zener(V)\n",
- "B=100 #current gain\n",
- "Rs=680.0 #series resistor(Ohm)\n",
- "R1=1 #Resistor (KOhm)\n",
- "R2=2 #Resistor (KOhm)\n",
- "\n",
- "Vout=(Vz+0.7)*(R1+R2)/R1 #Output voltage approx.(V)\n",
- "I1=(Vz+0.7)/R1 #Load current(A)\n",
- "Vout=I1*(R1+R2) #Output voltage(V)\n",
- "\n",
- "print 'output voltage Vout = ',Vout,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage Vout = 20.7 V\n"
- ]
- }
- ],
- "prompt_number": 74
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 11-11, Page 365"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VG=2 #AC input voltage (mV)\n",
- "Vs=10 #supply volatge(V)\n",
- "RL=10 #Load resistance(KOhm)\n",
- "RG=50.0 #source resistor(Ohm)\n",
- "R1=10 #Resistor (KOhm)\n",
- "R2=2.2 #Resistor (KOhm)\n",
- "RC=3.6 #collector resistor (KOhm)\n",
- "RE=2.2 #emitter resistance(KOhm)\n",
- "\n",
- "VB=Vs*R2/(R1+R2) #Base voltage(V)\n",
- "IE=(VB-0.7)*1000/RE #emitter current(uA)\n",
- "re=(25/IE)*1000 #ac resistance(Ohm)\n",
- "Zin=1000*((RE**-1)+((re/1000)**-1))**-1 #input impedance(KOhm)\n",
- "Zout=RC #Output impedance(KOhm)\n",
- "rc=((RC**-1)+(RL**-1))**-1 #collector resistance(KOhm)\n",
- "Av=rc*1000/re #voltage gain\n",
- "Vin=(Zin/(Zin+RG))*VG #input voltage(V)\n",
- "Vout=Av*Vin #output voltage(mV)\n",
- "\n",
- "print 'output voltage Vout = ',round(Vout,2),'mVpp'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage Vout = 52.43 mVpp\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_12_New.ipynb b/Electronic_Principles_/Chapter_12_New.ipynb
deleted file mode 100644
index 9f88647a..00000000
--- a/Electronic_Principles_/Chapter_12_New.ipynb
+++ /dev/null
@@ -1,593 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 12 POWER AMPLIFIERS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-1, Page 384"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "VCC=30 #collector voltage(V)\n",
- "RE=20 #Emitter resistance(Ohm)\n",
- "R1=490.0 #Base resistance1 (Ohm)\n",
- "R2=68.0 #Base resistance2 (Ohm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=180 #Load Resistance(Ohm)\n",
- "RC=120 #Collector resistance(Ohm)\n",
- "\n",
- "VB=VCC*(R2/(R1+R2)) #Base voltage(V)\n",
- "VE=math.ceil(VB-VBE) #Emitter voltage(V)\n",
- "IE=VE/RE #Emitter current(A)\n",
- "ICQ=IE #collector current (A)\n",
- "VC=VCC-(ICQ*RC) #collector voltage(V)\n",
- "VCEQ=VC-VE #collector-emitter voltage (V) \n",
- "rc=RC*RL/(RC+RL) #ac collector resistance(Ohm)\n",
- "\n",
- "print 'Collector current ICQ = ',ICQ*1000,'mA'\n",
- "print 'collector-emitter voltage VCEQ = ',VCEQ,'V'\n",
- "print 'ac collector resistance rc = ',rc,'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Collector current ICQ = 150.0 mA\n",
- "collector-emitter voltage VCEQ = 9.0 V\n",
- "ac collector resistance rc = 72 Ohm\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-2, Page 385"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "VCC=30 #collector voltage(V)\n",
- "RE=20 #Emitter resistance(Ohm)\n",
- "R1=490.0 #Base resistance1 (Ohm)\n",
- "R2=68.0 #Base resistance2 (Ohm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=180 #Load Resistance(Ohm)\n",
- "RC=120 #Collector resistance(Ohm)\n",
- "\n",
- "ICQ=150 #collector current (mA)\n",
- "VCEQ=9 #collector-emitter voltage (V) \n",
- "rc=72.0 #ac collector resistance(Ohm)\n",
- "\n",
- "ic_sat=ICQ+(VCEQ/rc)*1000 #ic(sarturation) (mA)\n",
- "VCE_cut=VCEQ+((ICQ*rc)/1000) #VCE(cut-off) (V)\n",
- "MP1=ICQ*RC\n",
- "MP2=VCEQ\n",
- "MPP=2*(min(MP1,MP2)) #maximum peak-to-peak voltage (V)\n",
- "\n",
- "print 'ic(sarturation) = ',ic_sat,'mA'\n",
- "print 'VCE(cut-off) = ',VCE_cut,'V'\n",
- "print 'maximum peak-to-peak voltage MPP = ',MPP,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ic(sarturation) = 275.0 mA\n",
- "VCE(cut-off) = 19.8 V\n",
- "maximum peak-to-peak voltage MPP = 18 V\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-3, Page 387"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "VCC=30 #collector voltage(V)\n",
- "RE=20 #Emitter resistance(Ohm)\n",
- "R1=490.0 #Base resistance1 (Ohm)\n",
- "R2=68.0 #Base resistance2 (Ohm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=180.0 #Load Resistance(Ohm)\n",
- "RC=120 #Collector resistance(Ohm)\n",
- "vin=200 #input voltage(mV)\n",
- "zin=100 #input impedance of base(Ohm)\n",
- "MPP=18 #peak-to-peak voltage (V)\n",
- "\n",
- "Zin_stage=((zin**-1)+(R1**-1)+(R2**-1))**-1 #input impedance of stage(KOhm)\n",
- "Pin=vin**2/(Zin_stage*8)/1000 #ac input power (mW)\n",
- "Pout=1000*MPP**2/(RL*8) #ac output power (mW)\n",
- "Ap=Pout/Pin #power gain\n",
- "\n",
- "print 'Power gain Ap = ',math.ceil(Ap)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power gain Ap = 1683.0\n"
- ]
- }
- ],
- "prompt_number": 28
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-4, Page 388"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "VCC=30 #collector voltage(V)\n",
- "RE=20 #Emitter resistance(Ohm)\n",
- "R1=490.0 #Base resistance1 (Ohm)\n",
- "R2=68.0 #Base resistance2 (Ohm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=180 #Load Resistance(Ohm)\n",
- "RC=120 #Collector resistance(Ohm)\n",
- "\n",
- "VB=VCC*(R2/(R1+R2)) #Base voltage(V)\n",
- "VE=math.ceil(VB-VBE) #Emitter voltage(V)\n",
- "IE=VE/RE #Emitter current(A)\n",
- "ICQ=IE #collector current (A)\n",
- "VC=VCC-(ICQ*RC) #collector voltage(V)\n",
- "VCEQ=VC-VE #collector-emitter voltage (V) \n",
- "PDQ=VCEQ*ICQ #power dissipation(W)\n",
- "I_bias=VCC/(R1+R2) #bias current(mA)\n",
- "Idc=I_bias+ICQ #dc current(mA)\n",
- "Pdc=VCC*Idc #dc input power to stage(W)\n",
- "Pout=0.225 #Output power as per example 12-3 (W)\n",
- "n=(Pout/Pdc)*100 #efficiency of stage\n",
- "\n",
- "print 'Power dissipation PDQ = ',PDQ,'W'\n",
- "print 'efficiency of stage n = ',round(n,2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power dissipation PDQ = 1.35 W\n",
- "efficiency of stage n = 3.68 %\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-6, Page 391"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=12 #collector voltage(V)\n",
- "RE=16 #Emitter resistance(Ohm)\n",
- "R1=50.0 #Base resistance1 (Ohm)\n",
- "R2=100.0 #Base resistance2 (Ohm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=16 #Load Resistance(Ohm)\n",
- "\n",
- "VB=VCC*(R2/(R1+R2)) #Base voltage(V)\n",
- "VE=(VB-VBE) #Emitter voltage(V)\n",
- "IE=VE/RE #Emitter current(A)\n",
- "ICQ=IE #collector current (A)\n",
- "VCEQ=VCC-VE #collector-emitter voltage (V) \n",
- "re=RE*RL/(RE+RL) #ac emitter resistance(Ohm)\n",
- "\n",
- "print 'Collector current ICQ = ',ICQ*1000,'mA'\n",
- "print 'collector-emitter voltage VCEQ = ',VCEQ,'V'\n",
- "print 'ac collector resistance re = ',re,'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Collector current ICQ = 456.25 mA\n",
- "collector-emitter voltage VCEQ = 4.7 V\n",
- "ac collector resistance re = 8 Ohm\n"
- ]
- }
- ],
- "prompt_number": 89
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-7, Page 393"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=12 #collector voltage(V)\n",
- "RE=16 #Emitter resistance(Ohm)\n",
- "R1=50.0 #Base resistance1 (Ohm)\n",
- "R2=100.0 #Base resistance2 (Ohm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=16 #Load Resistance(Ohm)\n",
- "\n",
- "ICQ=456 #collector current (mA)\n",
- "VCEQ=4.7 #collector-emitter voltage (V) \n",
- "re=8.0 #ac emitter resistance(Ohm)\n",
- "\n",
- "ic_sat=(1000*(VCEQ/re))+ICQ #ic(sarturation) (mA)\n",
- "VCE_cut=VCEQ+(ICQ*re)/1000 #VCE(cut-off) (V)\n",
- "MP1=ICQ*re/1000\n",
- "MP2=VCEQ\n",
- "MPP=2*(min(MP1,MP2)) #maximum peak-to-peak voltage (V)\n",
- "\n",
- "print 'ic(sarturation) = ',ic_sat/1000,'A'\n",
- "print 'VCE(cut-off) = ',VCE_cut,'V'\n",
- "print 'maximum peak-to-peak voltage MPP = ',MPP,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ic(sarturation) = 1.0435 A\n",
- "VCE(cut-off) = 8.348 V\n",
- "maximum peak-to-peak voltage MPP = 7.296 V\n"
- ]
- }
- ],
- "prompt_number": 56
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-8, Page 397"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=20 #collector voltage(V)\n",
- "R1=100.0 #Base resistance1 (Ohm)\n",
- "R2=100.0 #Base resistance2 (Ohm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=8.0 #Load Resistance(Ohm)\n",
- "\n",
- "MPP=VCC #maximum peak-to-peak voltage (V)\n",
- "PD_max=MPP**2/(40*RL) #Maximum power dissipation(W)\n",
- "Pout_max=MPP**2/(8*RL) #Maximum output power(W)\n",
- "\n",
- "print 'Maximum power dissipation PD_max = ',PD_max,'W'\n",
- "print 'Maximum output power Pout_max = ',Pout_max,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum power dissipation PD_max = 1.25 W\n",
- "Maximum output power Pout_max = 6.25 W\n"
- ]
- }
- ],
- "prompt_number": 58
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-9, Page 398"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "VCC=20 #collector voltage(V)\n",
- "R1=100.0 #Base resistance1 (Ohm)\n",
- "R2=100.0 #Base resistance2 (Ohm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=8.0 #Load Resistance(Ohm)\n",
- "Ra=15 #adjustable resistor(Ohm)\n",
- "\n",
- "VCEQ=VCC/2 #collector-emitter voltage (V) \n",
- "I_bias=VCC/(R1+R2+Ra) #bias current(mA)\n",
- "Ic_sat=VCEQ/RL #ic(sarturation) (mA)\n",
- "Iav=Ic_sat/math.pi #average current (A)\n",
- "Idc=I_bias+Iav #dc current(mA)\n",
- "Pdc=VCC*Idc #dc input power to stage(W)\n",
- "Pout=6.25 #Output power as per example 12-8 (W)\n",
- "n=(Pout/Pdc)*100 #efficiency of stage\n",
- "\n",
- "\n",
- "print 'efficiency of stage n = ',round(n,2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "efficiency of stage n = 63.66 %\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-10, Page 400"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=20 #collector voltage(V)\n",
- "R1=3.9 #Base resistance1 (KOhm)\n",
- "R2=3.9 #Base resistance2 (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=10.0 #Load Resistance(Ohm)\n",
- "\n",
- "VCEQ=VCC/2 #collector-emitter voltage (V) \n",
- "I_bias=(VCC-(2*VBE))/(R1+R2) #bias current(mA)\n",
- "Ic_sat=VCEQ/RL #ic(sarturation) (mA)\n",
- "Iav=Ic_sat/math.pi #average current (A)\n",
- "Idc=(I_bias/1000)+Iav #dc current(mA)\n",
- "Pdc=VCC*Idc #dc input power to stage(W)\n",
- "Pout=VCC**2/(8*RL) #Output power (W)\n",
- "n=(Pout/Pdc)*100 #efficiency of stage\n",
- "\n",
- "print 'efficiency of stage n = ',round(n,2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "efficiency of stage n = 77.96 %\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-11, Page 405"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "L=2*10**-6 #inductance (H)\n",
- "C=470*10**-12 #capacitance(F)\n",
- "\n",
- "fr=((2*math.pi)*((L*C)**0.5))**-1\n",
- "\n",
- "print 'Resonant frequency fr = ',round((fr*10**-6),2),'MHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resonant frequency fr = 5.19 MHz\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-12, Page 410"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "fr=5.19*10**6 #frequency as per previous example(Hz)\n",
- "L=2*10**-6 #inductance (H)\n",
- "C=470*10**-12 #capacitance(F)\n",
- "QL=100 #quality factor of coil\n",
- "RL=1 #Load resistance(KOhm)\n",
- "\n",
- "XL=2*math.pi*fr*L #inductive impedance(Ohm)\n",
- "Rp=QL*XL/1000 #Eq. parallel resistance of coil(KOhm)\n",
- "rc=1000*Rp*RL/(Rp+RL) #ac collector resistance(Ohm)\n",
- "Q=rc/XL #Q of overall circuit\n",
- "BW=(fr/Q/1000) #band width of amplifier(KHz)\n",
- "\n",
- "print 'band width of amplifier BW = ',round(BW,2),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "band width of amplifier BW = 390.39 KHz\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-13, Page 411"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "VCC=15 #collector voltage(V)\n",
- "rc=867.0 #ac collector resistance as per preceding example (Ohm)\n",
- "\n",
- "MPP=2*VCC #Maximum peak-to-peak voltage(V)\n",
- "PD=1000*MPP**2/(40*rc) #worst-case power dissipation(mW)\n",
- "\n",
- "print 'Worst-case power dissipation PD = ',math.ceil(PD),'mW'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Worst-case power dissipation PD = 26.0 mW\n"
- ]
- }
- ],
- "prompt_number": 91
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 12-14, Page 414"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "PD=625 #maximum power rating at 25 deg C(mW)\n",
- "D=5 #Derating factor(mW/deg C)\n",
- "TA=50 #ambient temperature(deg C)\n",
- "\n",
- "DP=D*(TA-25) #difference in power(mW) \n",
- "PD_max=PD-DP #maximum power rating(mW)\n",
- "\n",
- "print 'Maximum power rating PD_max = ',PD_max,'mW'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum power rating PD_max = 500 mW\n"
- ]
- }
- ],
- "prompt_number": 94
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_13_New.ipynb b/Electronic_Principles_/Chapter_13_New.ipynb
deleted file mode 100644
index 2b92ce1a..00000000
--- a/Electronic_Principles_/Chapter_13_New.ipynb
+++ /dev/null
@@ -1,784 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 13 JFETs"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-1, Page 428"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VG=20 #Gate voltage(V)\n",
- "IG=1*10**-9 #Gate current(A) \n",
- "\n",
- "Rin=VG/IG #input resistance(Ohm)\n",
- "\n",
- "print 'input resistance of JFET Rin = ',Rin/10**6,'MOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input resistance of JFET Rin = 20000.0 MOhm\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-2, Page 430"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vp=6 #Pinch off voltage(V)\n",
- "IDSS=100*10**-3 #current drain to source with shorted gate(A)\n",
- "\n",
- "RDS=Vp/IDSS #Ohmic resistance(Ohm)\n",
- "VGS_off=-Vp #gate-source cutoff voltage(V)\n",
- "\n",
- "print 'Ohmic resistance RDS = ',RDS,'Ohm'\n",
- "print 'Gate-source cutoff VGS(off) = ',VGS_off,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Ohmic resistance RDS = 60.0 Ohm\n",
- "Gate-source cutoff VGS(off) = -6 V\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-3, Page 431"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VGS_off=-4 #gate-source cutoff voltage(V)\n",
- "IDSS=5 #current drain to source with shorted gate(mA)\n",
- "\n",
- "VGS=VGS_off/2 #gate voltage(V)\n",
- "ID=IDSS/4.0 #drain current(mA)\n",
- "\n",
- "print 'Gate voltage VGS = ',VGS,'V'\n",
- "print 'Drain current ID = ',ID,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Gate voltage VGS = -2 V\n",
- "Drain current ID = 1.25 mA\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-4, Page 432"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VGS_off=-8 #gate-source cutoff voltage(V)\n",
- "IDSS=16 #current drain to source with shorted gate(mA)\n",
- "\n",
- "VGS=VGS_off/2 #gate voltage(V)\n",
- "ID=IDSS/4.0 #drain current(mA)\n",
- "\n",
- "print 'Gate voltage VGS = ',VGS,'V'\n",
- "print 'Drain current ID = ',ID,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Gate voltage VGS = -4 V\n",
- "Drain current ID = 4.0 mA\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-5, Page 433"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vp=4 #pinchoff voltage(V)\n",
- "Vin=-10 #input voltage(V)\n",
- "RD=10.0 #drain resistor(KOhm)\n",
- "IDSS=10.0 #IDSS (mA)\n",
- "VDD=10.0 #Drain supply voltage(V)\n",
- "\n",
- "VGS_off=-Vp #VGS cutoff voltage(V)\n",
- "VD=-Vin #drain voltage(V)\n",
- "ID_sat=VD/RD #saturation drain current(mA)\n",
- "RDS=Vp/IDSS #Ohmic resistance(Ohm)\n",
- "VD=VDD*RDS/(RDS+RD) #drain votage(V)\n",
- "\n",
- "print 'Drain voltage VD = ',round(VD,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain voltage VD = 0.38 V\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-6, Page 436"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vp=4 #pinchoff voltage(V)\n",
- "RD=2.0 #drain resistor(KOhm)\n",
- "RS=400 #source resistance(Ohm)\n",
- "IDSS=10.0 #IDSS (mA)\n",
- "VDD=30.0 #Drain supply voltage(V)\n",
- "\n",
- "RDS=1000*Vp/IDSS #Ohmic resistance(Ohm)\n",
- "ID=IDSS/4.0 #drain current(mA)\n",
- "VD=VDD-(ID*RD) #drain votage(V)\n",
- "\n",
- "print 'Ohmic resistance RDS = ',RDS,'Ohm'\n",
- "print 'drain voltage VD = ',VD,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Ohmic resistance RDS = 400.0 Ohm\n",
- "drain voltage VD = 25.0 V\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-7, Page 437"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "IDSS=20 #IDSS (mA)\n",
- "RS=270 #Source resistance (Ohm)\n",
- "\n",
- "VGS=-IDSS*RS #gate-source voltage(V)\n",
- "VGSQ_min=-0.8 #Q point minimum gate-source voltage(V)\n",
- "VGSQ_max=-2.1 #Q point maximum gate-source voltage(V)\n",
- "IDQ_min=2.8 #Q point minimum drain current(V)\n",
- "IDQ_max=8.0 #Q point maximum drain current(V)\n",
- "VGS_off_min=2 #VGS(off) minimum(V)\n",
- "VGS_off_max=6 #VGS(off) maximum(V)\n",
- "ID_min=8.0 #ID minimum(mA)\n",
- "ID_max=20.0 #ID maximum(mA)\n",
- "Rs_min=1000*VGS_off_min/ID_min #Minimum value for Rs(Ohm)\n",
- "Rs_max=1000*VGS_off_max/ID_max #Maximum value for Rs(Ohm)\n",
- "\n",
- "print 'Maximum value for Rs =',Rs_max,'Ohm'\n",
- "print 'Minimum value for Rs =',Rs_min,'Ohm'\n",
- "print 'Choose approximately mid point between these two.'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum value for Rs = 300.0 Ohm\n",
- "Minimum value for Rs = 250.0 Ohm\n",
- "Choose approximately mid point between these two.\n"
- ]
- }
- ],
- "prompt_number": 29
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-8, Page 440"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VS=10 #source voltage (V)\n",
- "RS=2.0 #source resistance(KOhm)\n",
- "VDD=30 #Drain supply voltage (V)\n",
- "RD=1.0 #Drain resistance(KOhm)\n",
- "\n",
- "ID=VS/Rs #Drain current(mA)\n",
- "VD=VDD-(ID*RD) #Drain voltage(V)\n",
- "VDS=VD-VS #Drain to source voltage (V)\n",
- "ID_sat=VDD/(RD+RS) #ID(dc-saturation) (mA)\n",
- "VDS_cut=VDD #VDS(cutoff) (V)\n",
- "\n",
- "print 'ID (saturation) = ',ID_sat,'mA'\n",
- "print 'VDS (cutoff) = ',VDS_cut,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ID (saturation) = 10.0 mA\n",
- "VDS (cutoff) = 30 V\n"
- ]
- }
- ],
- "prompt_number": 38
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-9, Page 441"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "IDSS=20 #IDSS (mA)\n",
- "RS=270 #Source resistance (Ohm)\n",
- "VDD=30 #Drain supply voltage (V)\n",
- "RD=1.0 #Drain resistance(KOhm)\n",
- "R1=1*10**6 #Gate resistor1(Ohm) \n",
- "R2=2*10**6 #Gate resistor2(Ohm) \n",
- "\n",
- "VG=-VDD*R1/(R1+R2) #gate-source voltage(V)\n",
- "ID=VG/RS #current for second point(mA)\n",
- "\n",
- "VGSQ_min=-0.4 #Q point minimum gate-source voltage(V)\n",
- "VGSQ_max=-2.4 #Q point maximum gate-source voltage(V)\n",
- "IDQ_min=5.2 #Q point minimum drain current(V)\n",
- "IDQ_max=6.3 #Q point maximum drain current(V)\n",
- "\n",
- "print 'Maximum value for VGS =',VGSQ_max,'V'\n",
- "print 'Minimum value for VGS =',VGSQ_min,'V'\n",
- "print 'Maximum value for ID =',IDQ_max,'mA'\n",
- "print 'Minimum value for ID =',IDQ_min,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum value for VGS = -2.4 V\n",
- "Minimum value for VGS = -0.4 V\n",
- "Maximum value for ID = 6.3 mA\n",
- "Minimum value for ID = 5.2 mA\n"
- ]
- }
- ],
- "prompt_number": 93
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-10, Page 443"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RS=3.0 #Source resistance (KOhm)\n",
- "VDD=15 #Drain supply voltage (V)\n",
- "RD=1.0 #Drain resistance(KOhm)\n",
- "\n",
- "ID=VDD/RS #drain current(mA)\n",
- "VD=VDD-(ID*RD) #drain voltage(V)\n",
- "\n",
- "print 'Drain current ID = ',ID,'mA'\n",
- "print 'Drain voltage VD = ',VD,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain current ID = 5.0 mA\n",
- "Drain voltage VD = 10.0 V\n"
- ]
- }
- ],
- "prompt_number": 41
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-11, Page 444"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RS=2.0 #Source resistance (KOhm)\n",
- "VDD=10 #Drain supply voltage (V)\n",
- "RD=1.0 #Drain resistance(KOhm)\n",
- "VBE=0.7 #BJT transistor drop(V)\n",
- "\n",
- "ID=((VDD/2)-VBE)/RS #drain current(mA)\n",
- "VD=VDD-(ID*RD) #drain voltage(V)\n",
- "\n",
- "print 'Drain current ID = ',ID,'mA'\n",
- "print 'Drain voltage VD = ',VD,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain current ID = 2.15 mA\n",
- "Drain voltage VD = 7.85 V\n"
- ]
- }
- ],
- "prompt_number": 44
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-12, Page 447"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "IDSS=5.0 #IDSS current (mA)\n",
- "gm0=5000.0 #transconductance at VGS=0(uS)\n",
- "VGS=-1.0 #VGS (V)\n",
- "VGS_off=1000*-2*IDSS/gm0 #VGS (off) (V)\n",
- "gm=gm0*(1-(VGS/VGS_off)) #gm at VGS=-1V\n",
- "\n",
- "print 'VGS (Off) = ',VGS_off,'V'\n",
- "print 'gm = ',gm,'uS'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "VGS (Off) = -2.0 V\n",
- "gm = 2500.0 uS\n"
- ]
- }
- ],
- "prompt_number": 52
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-13, Page 449"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RD=3.6 #drain resistance(KOhm)\n",
- "RL=10 #Load resistance(KOhm)\n",
- "gm=5000 #transconductance (uS)\n",
- "Vin=1 #input(mVpp)\n",
- "\n",
- "rd=RD*RL/(RD+RL) #ac drain resistance(KOhm)\n",
- "Av=gm*rd/1000 #voltage gain\n",
- "Vout=Av*Vin #Output voltage(V)\n",
- "\n",
- "print 'ac drain resistance rd = ',round(rd,2),'KOhm'\n",
- "print 'voltage gain Av = ',round(Av,2)\n",
- "print 'output voltage Vout = ',round(Vout,2),'mVpp'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ac drain resistance rd = 2.65 KOhm\n",
- "voltage gain Av = 13.24\n",
- "output voltage Vout = 13.24 mVpp\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-14, Page 450"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RS=1.0 #source resistance(KOhm)\n",
- "RL=1.0 #Load resistance(KOhm)\n",
- "gm=2500.0*10**-6 #transconductance (S)\n",
- "Vin=1 #input(mVpp)\n",
- "\n",
- "rs=1000*RS*RL/(RS+RL) #ac source resistance(Ohm)\n",
- "Av=gm*rs/(1+(gm*rs)) #voltage gain\n",
- "Vout=Av*Vin #Output voltage(V)\n",
- "\n",
- "print 'ac source resistance rs = ',round(rs,2),'Ohm'\n",
- "print 'voltage gain Av = ',round(Av,2)\n",
- "print 'output voltage Vout = ',round(Vout,2),'mVpp'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ac source resistance rs = 500.0 Ohm\n",
- "voltage gain Av = 0.56\n",
- "output voltage Vout = 0.56 mVpp\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- " Example 13-15, Page 450"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Ra=780 #Adjustaed resistance(Ohm)\n",
- "RS1=220 #source resistance(Ohm)\n",
- "VDD=30 #Drain supply voltage(V)\n",
- "RL=3 #Load resistance(KOhm)\n",
- "gm=2000.0*10**-6 #transconductance (S)\n",
- "\n",
- "RS=(RS1+Ra)/1000 #total source resistance(KOhm)\n",
- "rs=1000*RS*RL/(RS+RL) #ac source resistance(Ohm)\n",
- "Av=gm*rs/(1+(gm*rs)) #voltage gain\n",
- "\n",
- "print 'Ac source resistance rs = ',rs,'Ohm'\n",
- "print 'voltage gain Av = ',Av"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Ac source resistance rs = 750 Ohm\n",
- "voltage gain Av = 0.6\n"
- ]
- }
- ],
- "prompt_number": 74
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-16, Page 451"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RS=2.2 #source resistance(Ohm)\n",
- "VDD=30 #Drain supply voltage(V)\n",
- "RL=3.3 #Load resistance(KOhm)\n",
- "gm=3500.0*10**-6 #transconductance (S)\n",
- "R1=2*10**-6 #Base resistor 1(Ohm)\n",
- "R2=1*10**-6 #Base resistor 2(Ohm) \n",
- "\n",
- "VD=VDD*(R2/(R1+R2)) #drain voltage(V)\n",
- "ID=VD/RS #drain current(mA)\n",
- "rs=1000*RS*RL/(RS+RL) #ac source resistance(Ohm)\n",
- "Av=gm*rs/(1+(gm*rs)) #voltage gain\n",
- "\n",
- "print 'Ac source resistance rs = ',rs/1000,'KOhm'\n",
- "print 'voltage gain Av = ',round(Av,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Ac source resistance rs = 1.32 KOhm\n",
- "voltage gain Av = 0.82\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-17, Page 454"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RD=10.0 #Drain resistance(KOhm)\n",
- "R1=0.2 #resistance(KOhm)\n",
- "IDSS=10.0 #IDSS current(mA)\n",
- "VGS_off=-2 #VGS(off) (V)\n",
- "gm=3500.0*10**-6 #transconductance (S)\n",
- "Vin=10.0 #input voltage (mVpp)\n",
- "\n",
- "RDS=-VGS_off/IDSS #Ohmic resistance(Ohm)\n",
- "Vout_on=Vin*RDS/(RD+R1) #Output voltage when JFET is on(V)\n",
- "Vout_off=Vin #Output voltage when JFET is off(V)\n",
- "ratio=Vout_off/Vout_on #on-off ratio\n",
- "\n",
- "print 'output voltage Vout = ',round(Vout_on,2),'mVpp'\n",
- "print 'on-off ratio = ',ratio"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage Vout = 0.2 mVpp\n",
- "on-off ratio = 51.0\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-18, Page 455"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RD=10.0 #Drain resistance(KOhm)\n",
- "R1=0.2 #resistance(KOhm)\n",
- "R2=10*10**6 #resistance(Ohm)\n",
- "IDSS=10.0 #IDSS current(mA)\n",
- "VGS_off=-2 #VGS(off) (V)\n",
- "gm=3500.0*10**-6 #transconductance (S)\n",
- "Vin=10.0 #input voltage (mVpp)\n",
- "\n",
- "Vout_on=Vin*(RD/(RD+R1)) #Output voltage when JFET is on(V)\n",
- "Vout_off=Vin*(RD/R2) #Output voltage when JFET is off(V)\n",
- "ratio=Vout_on/Vout_off/1000 #on-off ratio\n",
- "\n",
- "print 'output voltage Vout when on = ',round(Vout_on,2),'mVpp'\n",
- "print 'output voltage Vout when off = ',Vout_off*10**6,'uVpp'\n",
- "print 'on-off ratio = ',round(ratio,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage Vout when on = 9.8 mVpp\n",
- "output voltage Vout when off = 10.0 uVpp\n",
- "on-off ratio = 980.39\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 13-19, Page 455"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "fout=20 #frequency(KHz)\n",
- "RDS=50.0 #Ohmic resistance(Ohm)\n",
- "RL=10*10**3 #Load resistance(Ohm)\n",
- "Vin=100 #input voltage (mV)\n",
- "\n",
- "Vpeak=Vin*RL/(RL+RDS) #peak voltage(V)\n",
- "\n",
- "print 'Outout Vpeak = ',round(Vpeak,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Outout Vpeak = 99.5 mV\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_14_New.ipynb b/Electronic_Principles_/Chapter_14_New.ipynb
deleted file mode 100644
index d16f054a..00000000
--- a/Electronic_Principles_/Chapter_14_New.ipynb
+++ /dev/null
@@ -1,648 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 14 MOSFETs"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-1, Page 481"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VGS_off=-3.0 #Gate-source cutoff voltage(V)\n",
- "IDSS=6 #IDSS current(mA) \n",
- "VGS1=-1 #VGS voltage(V)\n",
- "VGS2=-2\n",
- "VGS3=0\n",
- "VGS4=1\n",
- "VGS5=2\n",
- "\n",
- "ID1=IDSS*((1-(VGS1/VGS_off))**2)\n",
- "ID2=IDSS*((1-(VGS2/VGS_off))**2)\n",
- "ID3=IDSS*((1-(VGS3/VGS_off))**2)\n",
- "ID4=IDSS*((1-(VGS4/VGS_off))**2)\n",
- "ID5=IDSS*((1-(VGS5/VGS_off))**2)\n",
- "\n",
- "\n",
- "print 'Drain current ID1 = ',round(ID1,2),'mA'\n",
- "print 'Drain current ID2 = ',round(ID2,2),'mA'\n",
- "print 'Drain current ID3 = ',ID3,'mA'\n",
- "print 'Drain current ID4 = ',round(ID4,2),'mA'\n",
- "print 'Drain current ID5 = ',round(ID5,2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain current ID1 = 2.67 mA\n",
- "Drain current ID2 = 0.67 mA\n",
- "Drain current ID3 = 6.0 mA\n",
- "Drain current ID4 = 10.67 mA\n",
- "Drain current ID5 = 16.67 mA\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-2, Page 482"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VGS_off=-2.0 #Gate-source cutoff voltage(V)\n",
- "IDSS=4 #IDSS current(mA) \n",
- "gm0=2000*10**-6 #transconductance(S)\n",
- "VGS=0 #VGS voltage(V)\n",
- "VDD=15 #Drain supply voltage(V)\n",
- "RD=2.0 #Drain resistance(KOhm)\n",
- "RL=10.0 #Load resistance(KOhm)\n",
- "Vin=20 #input voltage(mV)\n",
- "\n",
- "VDS=VDD-(IDSS*RD) #Drain-source voltage(V)\n",
- "rd=RD*RL/(RD+RL) #ac drain resistance(KOhm) \n",
- "Av=gm0*rd*1000 #voltage gain\n",
- "Vout=Vin*Av #output voltage (mV)\n",
- "\n",
- "print 'Output voltage Vout = ',round(Vout,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage Vout = 66.67 mV\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-3, Page 490"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VGS_on=4.5 #Gate-source voltage(V)\n",
- "ID_on=75 #ID current(mA) \n",
- "RDS=6 #Ohmic resistance(Ohm)\n",
- "VDD=20 #Drain supply voltage(V)\n",
- "RD=1.0 #Drain resistance(KOhm)\n",
- "RL=10.0 #Load resistance(KOhm)\n",
- "\n",
- "ID_sat=VDD/RD #drain saturation current(mA)\n",
- "Vout1=VDD*(RDS/(RDS+(RD*1000)))#output voltage when VGS is high(V)\n",
- "Vout2=VDD #output voltage when VGS is low(V) \n",
- "\n",
- "print 'output voltage when VGS is high = ',round(Vout1,2),'V'\n",
- "print 'output voltage when VGS is low = ',Vout2,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage when VGS is high = 0.12 V\n",
- "output voltage when VGS is low = 20 V\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-4, Page 492"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "ID=20 #ID current as per previous example(mA) \n",
- "Vled=2 #Led drop(V)\n",
- "RD=1.0 #Drain resistance(KOhm)\n",
- "\n",
- "ID=(VDD-Vled)/RD #drain current considering LED drop\n",
- "\n",
- "print 'drain current considering LED drop ID = ',ID,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "drain current considering LED drop ID = 18.0 mA\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-5, Page 492"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rrc=500.0 #Resistance of relay(V)\n",
- "VDD=24 #drain supply voltage(V)\n",
- "\n",
- "ID_sat=VDD/Rrc #drain saturation current(A)\n",
- "\n",
- "print 'Drain saturaion current ID(sat) = ',ID_sat*1000,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain saturaion current ID(sat) = 48.0 mA\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-6, Page 496"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VDD=20.0 #drain supply voltage (V)\n",
- "RD=10*10**3 #drain resistance(Ohm)\n",
- "RDS=50.0 #Ohmic resistance(Ohm)\n",
- "\n",
- "Vout1=VDD #Output voltage when i/p is low (V)\n",
- "Vout2=VDD*RDS/(RDS+RD) #Output voltage when i/p is high (V)\n",
- "\n",
- "print 'Output voltage when input is low Vout1 = ',Vout1,'V'\n",
- "print 'Output voltage when input is high Vout2 = ',round((Vout2*1000),2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage when input is low Vout1 = 20.0 V\n",
- "Output voltage when input is high Vout2 = 99.5 mV\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-7, Page 496"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VDD=10.0 #drain supply voltage (V)\n",
- "RD=2*10**3 #drain resistance(Ohm)\n",
- "RDS=500.0 #Ohmic resistance(Ohm)\n",
- "\n",
- "Vout1=VDD #Output voltage when i/p is low (V)\n",
- "Vout2=VDD*RDS/(RDS+RD) #Output voltage when i/p is high (V)\n",
- "\n",
- "print 'Output voltage when input is low Vout1 = ',Vout1,'V'\n",
- "print 'Output voltage when input is high Vout2 = ',Vout2,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage when input is low Vout1 = 10.0 V\n",
- "Output voltage when input is high Vout2 = 2.0 V\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-8, Page 498"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import matplotlib.pyplot as plt\n",
- "%pylab inline\n",
- "\n",
- "print 'Input signal switches from 0 to 15 V at pt. A & 15 to 0 V at pt. B'\n",
- "x=[1,2,3,4,5,6,7,8,9,10]\n",
- "y=[0,0,0,15,15,15,15,0,0,0]\n",
- "print 'approximate plotting shown in figure'\n",
- "plt.plot(x,y)\n",
- "plt.show()\n",
- "print 'output signal shown on second plot'\n",
- "z=[15,15,15,0,0,0,0,15,15,15]\n",
- "plt.plot(x,z,'r')\n",
- "plt.show()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Populating the interactive namespace from numpy and matplotlib\n",
- "Input signal switches from 0 to 15 V at pt. A & 15 to 0 V at pt. B\n",
- "approximate plotting shown in figure\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nrkJggg==\n",
- "text": [
- "<matplotlib.figure.Figure at 0x60fcb70>"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output signal shown on second plot\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\n",
- "text": [
- "<matplotlib.figure.Figure at 0x9285470>"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-9, Page 502"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VDD=30.0 #drain supply voltage (V)\n",
- "RD=30 #drain resistance(Ohm)\n",
- "RDS=1.95 #Ohmic resistance(Ohm)\n",
- "ID_on=2 #ID for MOSFET on (A)\n",
- "\n",
- "ID_sat=VDD/RD #drain saturation current(A)\n",
- "ID=VDD/(RDS+RD) #drain current(A)\n",
- "\n",
- "print 'current through motor winding is ID = ',round(ID,2),'A'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "current through motor winding is ID = 0.94 A\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-10, Page 503"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VDD=30.0 #drain supply voltage (V)\n",
- "RD=10 #drain resistance(Ohm)\n",
- "RDS=1.07 #Ohmic resistance(Ohm)\n",
- "ID_on=5 #ID for MOSFET on (A)\n",
- "\n",
- "ID_sat=VDD/RD #drain saturation current(A)\n",
- "ID=VDD/(RDS+RD) #drain current(A)\n",
- "\n",
- "print 'current through lamp is ID = ',round(ID,2),'A'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "current through lamp is ID = 2.71 A\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-11, Page 503"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VDD=10.0 #drain supply voltage (V)\n",
- "RD=10 #drain resistance(Ohm)\n",
- "RDS=0.5 #Ohmic resistance(Ohm)\n",
- "ID_on=5 #ID for MOSFET on (A)\n",
- "\n",
- "ID=VDD/(RDS+RD) #drain current(A)\n",
- "\n",
- "print 'current through water valve is ID = ',round(ID,2),'A'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "current through water valve is ID = 0.95 A\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-12, Page 504"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VDD=30.0 #drain supply voltage (V)\n",
- "RD=10 #drain resistance(Ohm)\n",
- "RDS=1.07 #Ohmic resistance(Ohm)\n",
- "R1=2*10**6 #Resistance1 at gate (Ohm)\n",
- "R2=1*10**6 #Resistance2 at gate (Ohm)\n",
- "C=10*10**-6 #Capacitance at gate(F)\n",
- "\n",
- "RTH=R1*R2/(R1+R2) #Thevenin resistance(Ohm)\n",
- "RC=RTH*C #RC Time constant(s)\n",
- "ID=VDD/(RDS+RD) #drain current through lamp(A)\n",
- "P=(ID**2)*RD #Lamp Power(W)\n",
- "\n",
- "print 'RC Time constant = ',round(RC,2),'s'\n",
- "print 'current through lamp is ID = ',round(ID,2),'A'\n",
- "print 'Lamp power P = ',round(P,2),'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "RC Time constant = 6.67 s\n",
- "current through lamp is ID = 2.71 A\n",
- "Lamp power P = 73.44 W\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-13, Page 506"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "ID_on=0.6 #ID for MOSFET on (A)\n",
- "VGS_on=4.5 #VGS for MOSFET on(V)\n",
- "VGS_th=2.1 #VGS threshold(V)\n",
- "VGS1=3 #Gate-source voltage1(V)\n",
- "VGS2=4.5 #Gate-source voltage2(V)\n",
- "\n",
- "k=ID_on/(VGS_on-VGS_th)**2 #constant(A/V2)\n",
- "ID1=1000*k*(VGS1-VGS_th)**2 #ID for VGS=3 (mA)\n",
- "ID2=1000*k*(VGS2-VGS_th)**2 #ID for VGS=4.5 (mA)\n",
- "\n",
- "print 'ID1 (for VGS = 3V) = ',round(ID1,2),'mA'\n",
- "print 'ID2 (for VGS = 4.5V) = ',ID2,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ID1 (for VGS = 3V) = 84.37 mA\n",
- "ID2 (for VGS = 4.5V) = 600.0 mA\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 14-14, Page 507"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "ID_on=3 #ID (On) (mA)\n",
- "VDS_on=10 #VDS(On) (V) \n",
- "VDD=25 #Drain supply voltage (V)\n",
- "\n",
- "RD=(VDD-VDS_on)/ID_on #Drain resistance(KOhm)\n",
- "\n",
- "print 'Drain resistance RD = ',RD,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drain resistance RD = 5 KOhm\n"
- ]
- }
- ],
- "prompt_number": 59
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- " Example 14-15, Page 508"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "ID_on=600 #ID (On) (mA)\n",
- "VGS_th=2.1 #VGS(threshold) (V) \n",
- "VDD=12 #Drain supply voltage (V)\n",
- "k=104*10**-3 #constant(A/V2)\n",
- "R1=1.0*10**6 #Resistance1 at gate (Ohm)\n",
- "R2=350.0*10**3 #Resistance2 at gate (Ohm)\n",
- "Vin=100.0*10**-3 #input voltage (V)\n",
- "RD=68.0 #Drain resistance(Ohm)\n",
- "RL=1.0*10**3 #Load resistance(Ohm)\n",
- "\n",
- "VGS=VDD*R2/(R1+R2) #Gate-source voltage(V)\n",
- "ID=1000*k*(VGS1-VGS_th)**2 #Drain current (mA)\n",
- "gm=2*k*(VGS-VGS_th) #transconductance (S)\n",
- "rd=RD*RL/(RD+RL) #ac drain resistance(Ohm) \n",
- "Av=gm*rd #voltage gain\n",
- "Vout=Vin*Av #Output voltage (V)\n",
- "\n",
- "print 'Gate-source voltage VGS = ',round(VGS,2),'V'\n",
- "print 'transconductance gm = ',round((gm*1000),2),'mS'\n",
- "print 'Ac drain resistance rd = ',round(rd,2),'Ohm'\n",
- "print 'voltage gain Av = ',round(Av,2)\n",
- "print 'Output voltage Vout = ',round(Vout,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Gate-source voltage VGS = 3.11 V\n",
- "transconductance gm = 210.31 mS\n",
- "Ac drain resistance rd = 63.67 Ohm\n",
- "voltage gain Av = 13.39\n",
- "Output voltage Vout = 1.34 V\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_15_New.ipynb b/Electronic_Principles_/Chapter_15_New.ipynb
deleted file mode 100644
index b47db517..00000000
--- a/Electronic_Principles_/Chapter_15_New.ipynb
+++ /dev/null
@@ -1,383 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 15 Thyristors"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 15-1, Page 521"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VB=10 #breakover voltage(V)\n",
- "Vin=15 #input voltage(V)\n",
- "R=100.0 #resistance (Ohm)\n",
- "\n",
- "I1=1000*Vin/R #diode current ideally(mA)\n",
- "I2=1000*(Vin-0.7)/R #diode current with second approx.(mA)\n",
- "I3=1000*(Vin-0.9)/R #diode current more accurately(mA)\n",
- "\n",
- "print 'Diode current ideally ID1 = ',I1,'mA'\n",
- "print 'Diode current with second approx. ID2 = ',I2,'mA'\n",
- "print 'Diode current more accurately ID3 = ',I3,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Diode current ideally ID1 = 150.0 mA\n",
- "Diode current with second approx. ID2 = 143.0 mA\n",
- "Diode current more accurately ID3 = 141.0 mA\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 15-2, Page 525"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Ih=4*10**-3 #holding current(mA)\n",
- "R=100.0 #resistance (Ohm)\n",
- "Vs=15 #input voltage (V)\n",
- "\n",
- "Vin=0.7+(Ih*R) #new input voltage(V)\n",
- "\n",
- "print 'New input voltage Vin = ',Vin,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "New input voltage Vin = 1.1 V\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 15-3, Page 525"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R=2.0*10**3 #resistance (Ohm)\n",
- "C=0.02*10**-6 #capacitance (F)\n",
- "VB=10 #breakdown voltage(V)\n",
- "\n",
- "RC=R*C #Time constant(s)\n",
- "T=0.2*RC #period (s)\n",
- "f=T**-1 #frequency(Hz) \n",
- "\n",
- "print 'time constant RC = ',RC*10**6,'us'\n",
- "print 'Period T = ',T*10**6,'us'\n",
- "print 'Frequency = ',f/1000,'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "time constant RC = 40.0 us\n",
- "Period T = 8.0 us\n",
- "Frequency = 125.0 KHz\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 15-4, Page 531"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "It=7*10**-3 #trigger current(mA)\n",
- "R1=100.0 #resistance (Ohm)\n",
- "R2=1*10**3 #resistance (Ohm)\n",
- "Vt=0.75 #trigger voltage (V)\n",
- "Ih=6*10**-3 #holding current(mA)\n",
- "\n",
- "Vin=Vt+(It*R2) #minimum input voltage(V)\n",
- "VCC=0.7+(Ih*R1) #supply voltage for turning of SCR(V)\n",
- "\n",
- "print 'Minimum input voltage Vin = ',Vin,'V'\n",
- "print 'supply voltage for turning of SCR VCC = ',VCC,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum input voltage Vin = 7.75 V\n",
- "supply voltage for turning of SCR VCC = 1.3 V\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 15-5, Page 532"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "IGT=200*10**-6 #trigger current(mA)\n",
- "VGT=1 #trigger voltage(V) \n",
- "R1=900.0 #resistance (Ohm)\n",
- "R2=100.0 #resistance (Ohm)\n",
- "C=0.2*10**-6 #capacitance (F)\n",
- "Vt=0.75 #trigger voltage (V)\n",
- "Ih=6*10**-3 #holding current(mA)\n",
- "R=1*10**3 #Resistance (Ohm) \n",
- "\n",
- "RTH=R1*R2/(R1+R2) #Thevenin resistance (Ohm)\n",
- "Vin=VGT+(IGT*RTH) #input voltage needed to trigger(V)\n",
- "Vp=10*Vin #Output voltage at SCR firing point(V)\n",
- "RC=C*(R/2) #time constant (s)\n",
- "T=RC*0.2 #period (s)\n",
- "f=1/T #frequency (Hz)\n",
- "\n",
- "print 'peak output voltage Vpeak = ',Vp,'V'\n",
- "print 'time constant RC = ',RC*10**6,'us'\n",
- "print 'Period T = ',T*10**6,'us'\n",
- "print 'Frequency = ',f/1000,'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "peak output voltage Vpeak = 10.18 V\n",
- "time constant RC = 100.0 us\n",
- "Period T = 20.0 us\n",
- "Frequency = 50.0 KHz\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 15-6, Page 536"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vz=5.6 #breakdown voltage(V)\n",
- "VGT1=0.75 #trigger voltage (V) \n",
- "VGT2=1.5 #worst case maximum trigger voltage(V) \n",
- "Vz2=6.16 #break down voltage with 10% tolerance (V)\n",
- "\n",
- "VCC1=Vz+VGT1 #supply voltage(V) \n",
- "VCC2=VGT2+Vz2 #Over voltage (V)\n",
- "\n",
- "print 'supply voltage VCC1 = ',VCC1,'V'\n",
- "print 'supply over voltage VCC2 = ',VCC2,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "supply voltage VCC1 = 6.35 V\n",
- "supply over voltage VCC2 = 7.66 V\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 15-7, Page 539"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "C=0.1*10**-6 #capacitance (F)\n",
- "f=60 #frequency (Hz)\n",
- "R=26*10**3 #resistance(KOhm)\n",
- "Vm=120 #input ac voltage(V)\n",
- "\n",
- "XC=(2*math.pi*f*C)**-1 #capacitive reactance(Ohm)\n",
- "ZT=((R**2)+(XC**2))**0.5 #impedance (Ohm)\n",
- "thetaz=math.atan2(-XC,R)*180/math.pi #angle (deg)\n",
- "IC=Vm/ZT #Current through C(A)\n",
- "VC=IC*XC #voltage across C(V)\n",
- "thetac=180+thetaz #conduction angle(deg)\n",
- "\n",
- "print 'Capacitor reactance XC = ',round((XC/1000),2),'KOhm'\n",
- "print 'impedance ZT = ',round((ZT/1000),2),'KOhm'\n",
- "print 'firing angle = ',round(thetaz,2),'deg'\n",
- "print 'Current through C, IC = ',round((IC*1000),2),'mA'\n",
- "print 'voltage across C, VC = ',round(VC,2),'V'\n",
- "print 'conduction angle = ',round(thetac,2),'deg'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Capacitor reactance XC = 26.53 KOhm\n",
- "impedance ZT = 37.14 KOhm\n",
- "firing angle = -45.57 deg\n",
- "Current through C, IC = 3.23 mA\n",
- "voltage across C, VC = 85.7 V\n",
- "conduction angle = 134.43 deg\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 15-8, Page 546"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "C=1*10**-6 #capacitance (F)\n",
- "R1=22.0 #resistance (Ohm)\n",
- "R2=82*10**3 #resistance(KOhm)\n",
- "Vs=75 #input voltage(V)\n",
- "\n",
- "I=Vs/R1 #current through 22Ohm resistor (A)\n",
- "\n",
- "print 'current through 22Ohm resistor I = ',round(I,2),'A'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "current through 22Ohm resistor I = 3.41 A\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 15-9, Page 547"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vdb=32.0 #diac break down voltage (V)\n",
- "VTT=1 #triac trigger voltage(V)\n",
- "\n",
- "Vin=VTT+Vdb #input voltage for triggering triac\n",
- "\n",
- "print 'input voltage for triggering triac vin = ',Vin,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input voltage for triggering triac vin = 33.0 V\n"
- ]
- }
- ],
- "prompt_number": 27
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_16_New.ipynb b/Electronic_Principles_/Chapter_16_New.ipynb
deleted file mode 100644
index 847a3379..00000000
--- a/Electronic_Principles_/Chapter_16_New.ipynb
+++ /dev/null
@@ -1,933 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 16 Frequency Effets"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-1, Page 567"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Avm=200 #mid band voltage gain\n",
- "f1=20 #cutoff frequency1 (Hz)\n",
- "f2=20*10**3 #cutoff frequency2 (Hz)\n",
- "fi1=5 #input frequency1(Hz)\n",
- "fi2=200*10**3 #input frequency2(Hz)\n",
- "\n",
- "Av=0.707*Avm #voltage gain at either frequency\n",
- "Av1=Avm/(1+(f1/fi1)**2)**0.5 #voltage gain for 5Hz\n",
- "Av2=Avm/(1+(fi2/f2)**2)**0.5 #voltage gain for 200KHz\n",
- "\n",
- "print 'voltage gain for 200KHz = ',round(Av1,2)\n",
- "print 'voltage gain for 5Hz = ',round(Av2,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain for 200KHz = 48.51\n",
- "voltage gain for 5Hz = 19.9\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-2, Page 568"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Avm=100000 #mid band voltage gain\n",
- "f2=10 #cutoff frequency (Hz)\n",
- "\n",
- "Av=0.707*Avm #voltage gain at cutoff frequency\n",
- "\n",
- "print 'voltage gain for 10Hz = ',Av"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain for 10Hz = 70700.0\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-3, Page 569"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "Avm=100000 #mid band voltage gain\n",
- "fc=10.0 #cutoff frequency (Hz)\n",
- "fi1=100.0 #input frequency1(Hz)\n",
- "fi2=1*10**3 #input frequency2(Hz)\n",
- "fi3=10*10**3 #input frequency3(Hz)\n",
- "fi4=100*10**3 #input frequency4(Hz)\n",
- "fi5=1*10**6 #input frequency5(Hz)\n",
- "\n",
- "Av1=Avm/(1+(fi1/fc)**2)**0.5 #voltage gain for 100Hz\n",
- "Av2=Avm/(1+(fi2/fc)**2)**0.5 #voltage gain for 1KHz\n",
- "Av3=Avm/(1+(fi3/fc)**2)**0.5 #voltage gain for 10KHz\n",
- "Av4=Avm/(1+(fi4/fc)**2)**0.5 #voltage gain for 100KHz\n",
- "Av5=Avm/(1+(fi5/fc)**2)**0.5 #voltage gain for 1MHz\n",
- "\n",
- "print 'voltage gain for 100Hz = ',math.ceil(Av1)\n",
- "print 'voltage gain for 1KHz = ',math.ceil(Av2)\n",
- "print 'voltage gain for 10KHz = ',math.ceil(Av3)\n",
- "print 'voltage gain for 100KHz = ',math.ceil(Av4)\n",
- "print 'voltage gain for 1MHz = ',math.ceil(Av5)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain for 100Hz = 9951.0\n",
- "voltage gain for 1KHz = 1000.0\n",
- "voltage gain for 10KHz = 100.0\n",
- "voltage gain for 100KHz = 10.0\n",
- "voltage gain for 1MHz = 1.0\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-4, Page 571"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "Ap1=1 #power gain1\n",
- "Ap2=2 #power gain2\n",
- "Ap3=4 #power gain3\n",
- "Ap4=8 #power gain4\n",
- "\n",
- "Ap_db1=10*math.log10(Ap1) #decibel power gain(dB)\n",
- "Ap_db2=10*math.log10(Ap2) #decibel power gain(dB)\n",
- "Ap_db3=10*math.log10(Ap3) #decibel power gain(dB)\n",
- "Ap_db4=10*math.log10(Ap4) #decibel power gain(dB)\n",
- "\n",
- "print 'decibel power gain Ap1(dB) = ',Ap_db1,'dB'\n",
- "print 'decibel power gain Ap2(dB) = ',round(Ap_db2,2),'dB'\n",
- "print 'decibel power gain Ap3(dB) = ',round(Ap_db3,2),'dB'\n",
- "print 'decibel power gain Ap4(dB) = ',round(Ap_db4,2),'dB'\n",
- "print 'Each time Ap increase by factor 2, decibel power gain increases by 3 dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "decibel power gain Ap1(dB) = 0.0 dB\n",
- "decibel power gain Ap2(dB) = 3.01 dB\n",
- "decibel power gain Ap3(dB) = 6.02 dB\n",
- "decibel power gain Ap4(dB) = 9.03 dB\n",
- "Each time Ap increase by factor 2, decibel power gain increases by 3 dB\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-5, Page 571"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "Ap1=1 #power gain1\n",
- "Ap2=0.5 #power gain2\n",
- "Ap3=0.25 #power gain3\n",
- "Ap4=0.125 #power gain4\n",
- "\n",
- "Ap_db1=10*math.log10(Ap1) #decibel power gain(dB)\n",
- "Ap_db2=10*math.log10(Ap2) #decibel power gain(dB)\n",
- "Ap_db3=10*math.log10(Ap3) #decibel power gain(dB)\n",
- "Ap_db4=10*math.log10(Ap4) #decibel power gain(dB)\n",
- "\n",
- "print 'decibel power gain Ap1(dB) = ',Ap_db1,'dB'\n",
- "print 'decibel power gain Ap2(dB) = ',round(Ap_db2,2),'dB'\n",
- "print 'decibel power gain Ap3(dB) = ',round(Ap_db3,2),'dB'\n",
- "print 'decibel power gain Ap4(dB) = ',round(Ap_db4,2),'dB'\n",
- "print 'Each time Ap decreases by factor 2, decibel power gain decreases by 3 dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "decibel power gain Ap1(dB) = 0.0 dB\n",
- "decibel power gain Ap2(dB) = -3.01 dB\n",
- "decibel power gain Ap3(dB) = -6.02 dB\n",
- "decibel power gain Ap4(dB) = -9.03 dB\n",
- "Each time Ap decreases by factor 2, decibel power gain decreases by 3 dB\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-6, Page 572"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "Ap1=1 #power gain1\n",
- "Ap2=10 #power gain2\n",
- "Ap3=100 #power gain3\n",
- "Ap4=1000 #power gain4\n",
- "\n",
- "Ap_db1=10*math.log10(Ap1) #decibel power gain(dB)\n",
- "Ap_db2=10*math.log10(Ap2) #decibel power gain(dB)\n",
- "Ap_db3=10*math.log10(Ap3) #decibel power gain(dB)\n",
- "Ap_db4=10*math.log10(Ap4) #decibel power gain(dB)\n",
- "\n",
- "print 'decibel power gain Ap1(dB) = ',Ap_db1,'dB'\n",
- "print 'decibel power gain Ap2(dB) = ',Ap_db2,'dB'\n",
- "print 'decibel power gain Ap3(dB) = ',Ap_db3,'dB'\n",
- "print 'decibel power gain Ap4(dB) = ',Ap_db4,'dB'\n",
- "print 'Each time Ap increases by factor 10, decibel power gain increases by 10 dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "decibel power gain Ap1(dB) = 0.0 dB\n",
- "decibel power gain Ap2(dB) = 10.0 dB\n",
- "decibel power gain Ap3(dB) = 20.0 dB\n",
- "decibel power gain Ap4(dB) = 30.0 dB\n",
- "Each time Ap increases by factor 10, decibel power gain increases by 10 dB\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-7, Page 572"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "Ap1=1 #power gain1\n",
- "Ap2=0.1 #power gain2\n",
- "Ap3=0.01 #power gain3\n",
- "Ap4=0.001 #power gain4\n",
- "\n",
- "Ap_db1=10*math.log10(Ap1) #decibel power gain(dB)\n",
- "Ap_db2=10*math.log10(Ap2) #decibel power gain(dB)\n",
- "Ap_db3=10*math.log10(Ap3) #decibel power gain(dB)\n",
- "Ap_db4=10*math.log10(Ap4) #decibel power gain(dB)\n",
- "\n",
- "print 'decibel power gain Ap1(dB) = ',Ap_db1,'dB'\n",
- "print 'decibel power gain Ap2(dB) = ',Ap_db2,'dB'\n",
- "print 'decibel power gain Ap3(dB) = ',Ap_db3,'dB'\n",
- "print 'decibel power gain Ap4(dB) = ',Ap_db4,'dB'\n",
- "print 'Each time Ap decreases by factor 10, decibel power gain decreases by 10 dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "decibel power gain Ap1(dB) = 0.0 dB\n",
- "decibel power gain Ap2(dB) = -10.0 dB\n",
- "decibel power gain Ap3(dB) = -20.0 dB\n",
- "decibel power gain Ap4(dB) = -30.0 dB\n",
- "Each time Ap decreases by factor 10, decibel power gain decreases by 10 dB\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-8, Page 575"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "Av1=100 #voltage gain1\n",
- "Av2=200 #voltage gain2\n",
- "\n",
- "Av=Av1*Av2 #total voltage gain\n",
- "Av_db=20*math.log10(Av) #decibel total voltage gain(dB)\n",
- "Av_db1=20*math.log10(Av1) #decibel voltage gain(dB)\n",
- "Av_db2=20*math.log10(Av2) #decibel voltage gain(dB)\n",
- "Avt_db=Av_db1+Av_db2 #decibel total voltage gain(dB)\n",
- "\n",
- "print 'decibel total voltage gain Av(dB) = ',round(Av_db,2),'dB'\n",
- "print 'decibel voltage gain Av1(dB) = ',Av_db1,'dB'\n",
- "print 'decibel voltage gain Av2(dB) = ',round(Av_db2,2),'dB'\n",
- "print 'so, again, decibel total voltage gain by addition of both: Avt(dB) = ',round(Avt_db,2),'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "decibel total voltage gain Av(dB) = 86.02 dB\n",
- "decibel voltage gain Av1(dB) = 40.0 dB\n",
- "decibel voltage gain Av2(dB) = 46.02 dB\n",
- "so, again, decibel total voltage gain by addition of both: Avt(dB) = 86.02 dB\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-9, Page 577"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "Av_db1=23 #voltage gain1(dB)\n",
- "Av_db2=36 #voltage gain2(dB)\n",
- "Av_db3=31 #voltage gain3(dB)\n",
- "\n",
- "Avt_db=Av_db1+Av_db2+Av_db3 #decibel total voltage gain(dB)\n",
- "Ap=10**(Avt_db/10) #power gain by taking antilog\n",
- "Avt=10**(Avt_db/20.0) #total voltage gain by taking antilog\n",
- "\n",
- "print 'decibel total voltage gain Avt(dB) = ',Avt_db,'dB'\n",
- "print 'power gain Ap = ',Ap\n",
- "print 'total voltage gain Avt = ',math.ceil(Avt)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "decibel total voltage gain Avt(dB) = 90 dB\n",
- "power gain Ap = 1000000000\n",
- "total voltage gain Avt = 31623.0\n"
- ]
- }
- ],
- "prompt_number": 27
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-10, Page 577"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Av_db1=23 #voltage gain1(dB)\n",
- "Av_db2=36 #voltage gain2(dB)\n",
- "Av_db3=31 #voltage gain3(dB)\n",
- "\n",
- "Av1=10**(Av_db1/20.0) #voltage gain of stage 1 by taking antilog\n",
- "Av2=10**(Av_db2/20.0) #voltage gain of stage 2 by taking antilog\n",
- "Av3=10**(Av_db3/20.0) #voltage gain of stage 3 by taking antilog\n",
- "\n",
- "print 'voltage gain of stage 1 : Av1 = ',round(Av1,2)\n",
- "print 'voltage gain of stage 1 : Av2 = ',round(Av2,2)\n",
- "print 'voltage gain of stage 1 : Av3 = ',round(Av3,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain of stage 1 : Av1 = 14.13\n",
- "voltage gain of stage 1 : Av2 = 63.1\n",
- "voltage gain of stage 1 : Av3 = 35.48\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-11, Page 579"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Ap_dbm=24 #power gain(dBm)\n",
- "\n",
- "P=10**(Ap_dbm/10.0) #Output power(mW)\n",
- "\n",
- "print 'Output power P = ',round(P,2),'mW'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output power P = 251.19 mW\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-12, Page 580"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "Av_dbV=-34 #voltage gain(dBV)\n",
- "\n",
- "V=10**(Av_dbV/20.0) #Output voltage(V)\n",
- "\n",
- "print 'Output voltage V = ',math.ceil(V*1000),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage V = 20.0 mV\n"
- ]
- }
- ],
- "prompt_number": 39
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-13, Page 583"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Avm=100000 #mid band voltage gain\n",
- "f2=10 #cutoff frequency (Hz)\n",
- "\n",
- "Av_db=20*math.log10(Avm) #decibel total voltage gain(dB)\n",
- "\n",
- "print 'voltage gain for 10Hz = ',Av_db1,'dB'\n",
- "print 'At 1MHz, due to roll off factor of 20 dB, voltage gain reduce to 0 dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain for 10Hz = 20.0 dB\n",
- "At 1MHz, due to roll off factor of 20 dB, voltage gain reduce to 0 dB\n"
- ]
- }
- ],
- "prompt_number": 48
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-14, Page 588"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R=5*10**3 #resistance(Ohm)\n",
- "C=100*10**-12 #Capacitance (F)\n",
- "\n",
- "f2=(2*math.pi*R*C)**-1 #cutoff frequency (Hz)\n",
- "\n",
- "print 'cutoff frequency f2 = ',round((f2/1000),2),'KHz'\n",
- "print 'After f2, response rolls off at rate of 20 dB/decade'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "cutoff frequency f2 = 318.31 KHz\n",
- "After f2, response rolls off at rate of 20 dB/decade\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-15, Page 589"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R=2*10**3 #resistance(Ohm)\n",
- "C=500*10**-12 #Capacitance (F)\n",
- "\n",
- "f2=(2*math.pi*R*C)**-1 #cutoff frequency (Hz)\n",
- "\n",
- "print 'cutoff frequency f2 = ',round((f2/1000),2),'KHz'\n",
- "print 'After f2, response rolls off at rate of 20 dB/decade up to funity of 15.9 MHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "cutoff frequency f2 = 159.15 KHz\n",
- "After f2, response rolls off at rate of 20 dB/decade up to funity of 15.9 MHz\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-17, Page 592"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R=5.3*10**3 #resistance(Ohm)\n",
- "C=30*10**-12 #Capacitance (F)\n",
- "Av=100000 #voltage gain\n",
- "\n",
- "Cout_M=C #input Miller Capacitance (F)\n",
- "Cin_M=Av*C #input Miller Capacitance (F)\n",
- "f2=(2*math.pi*R*Cin_M)**-1 #cutoff frequency (Hz)\n",
- "\n",
- "print 'cutoff frequency f2 = ',round(f2,3),'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "cutoff frequency f2 = 10.01 Hz\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-18, Page 595"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "TR=1*10**-6 #rise time(s)\n",
- "\n",
- "f2=0.35/TR #cutoff frequency (Hz)\n",
- "\n",
- "print 'cutoff frequency f2 = ',f2/1000,'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "cutoff frequency f2 = 350.0 KHz\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-19, Page 597"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "re=22.7 #from past dc calculation (example:9-5)(Ohm)\n",
- "VCC=10 #collector voltage(V)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "RE=1 #Emitter resistance (KOhm)\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "RL=10 #Load resistance2 (KOhm)\n",
- "B=150 #current gain\n",
- "RG=0.6 #source resistance(KOhm)\n",
- "C1=0.47*10**-6 #input capacitance(F)\n",
- "C3=2.2*10**-6 #output capacitance(F)\n",
- "C2=10*10**-6 #emitter capacitance(F)\n",
- "\n",
- "Rinb=B*re/1000 #Rin(base) (KOhm)\n",
- "Ri=RG+((R1**-1)+(Rinb**-1)+(R2**-1))**-1 #thevenin resistance facing i/p capacitor\n",
- "f1i=((2*math.pi*Ri*C1)**-1)/1000 #input cutoff frequency (Hz)\n",
- "Ro=RC+RL #thevenin resistance facing o/p capacitor\n",
- "f1o=((2*math.pi*Ro*C3)**-1)/1000 #output cutoff frequency (Hz)\n",
- "Zout=(((RE**-1)+((re/1000)**-1))**-1)+((((R1**-1)+(R2**-1)+(RG**-1))**-1)/B) #thevenin resistance facing emitter-bypass capacitor\n",
- "f1z=((2*math.pi*Zout*C2)**-1)/1000 #cutoff frequency for bypass circuit (Hz)\n",
- "\n",
- "\n",
- "print 'input cutoff frequency f1 = ',round(f1i,2),'Hz'\n",
- "print 'output cutoff frequency f1 = ',round(f1o,2),'Hz'\n",
- "print 'cutoff frequency for bypass circuit f1 = ',round(f1z,2),'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input cutoff frequency f1 = 190.36 Hz\n",
- "output cutoff frequency f1 = 5.32 Hz\n",
- "cutoff frequency for bypass circuit f1 = 631.63 Hz\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-20, Page 602"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math # This will import math module\n",
- "\n",
- "re=22.7 #from past dc calculation (example:9-5)(Ohm)\n",
- "VCC=10 #collector voltage(V)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "RE=1 #Emitter resistance (KOhm)\n",
- "R11=10 #Base resistance1 (KOhm)\n",
- "R12=2.2 #Base resistance2 (KOhm)\n",
- "RL=10 #Load resistance2 (KOhm)\n",
- "B=150 #current gain\n",
- "RG=0.6 #source resistance(KOhm)\n",
- "fT=300*10**6 #current gain bandwidth product(Hz)\n",
- "CC1=2.1*10**-12 #Cc' capacitance(F)\n",
- "Cs=10*10**-12 #stray capacitance(F)\n",
- "\n",
- "\n",
- "Rinb=B*re/1000 #Rin(base) (KOhm)\n",
- "Ce1=((2*math.pi*re*fT)**-1) #capacitance Ce'(F)\n",
- "rc=RC*RL/(RC+RL) #collector resistance(KOhm) \n",
- "rg=((R11**-1)+(RG**-1)+(R12**-1))**-1 #source resistance (Ohm)\n",
- "Av=math.ceil(1000*rc/re) #voltage gain\n",
- "Cin_M=CC1*(Av+1) #input Miller capacitance(F)\n",
- "C1=Ce1+Cin_M #base bypass capacitance(F)\n",
- "R1=int(1000*rg*Rinb/(rg+Rinb)) #resistance facing this capacitance(Ohm) \n",
- "f2=((2*math.pi*R1*C1)**-1) #base bypass circuit cutoff frequency (Hz)\n",
- "Cout_M=CC1*((Av+1)/Av) #output Miller capacitance(F)\n",
- "C2=Cout_M+Cs #output bypass capacitance(F)\n",
- "R2=1000*RC*RL/(RC+RL) #resistance facing this capacitance(Ohm)\n",
- "f21=((2*math.pi*R2*C2)**-1) #collector bypass circuit cutoff frequency (Hz)\n",
- "\n",
- "print 'base bypass circuit cutoff frequency f2 = ',round((f2/10**6),2),'MHz'\n",
- "print 'collector bypass circuit cutoff frequency f21 = ',round((f21/10**6),2),'MHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "base bypass circuit cutoff frequency f2 = 1.48 MHz\n",
- "collector bypass circuit cutoff frequency f21 = 4.96 MHz\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-21, Page 605"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "re=22.7 #from past dc calculation (example:9-5)(Ohm)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "R1=2*10**6 #Base resistance1 (Ohm)\n",
- "R2=1*10**6 #Base resistance2 (Ohm)\n",
- "RD=150 #drain resistance(Ohm) \n",
- "RL=1*10**3 #Load resistance2 (Ohm)\n",
- "RG=0.6*10**3 #source resistance(Ohm)\n",
- "Cin=0.1*10**-6 #Cin capacitance(F)\n",
- "Cout=10*10**-6 #Cout capacitance(F)\n",
- "\n",
- "\n",
- "Rthi=RG+((R1**-1)+(R2**-1))**-1 #Thevenin resistance facing input coupling capacitor resistance (Ohm)\n",
- "f1=((2*math.pi*Rthi*Cin)**-1) #base bypass circuit cutoff frequency (Hz)\n",
- "Rtho=RD+RL #Thevenin resistance facing output coupling capacitor resistance (Ohm)\n",
- "f2=((2*math.pi*Rtho*Cout)**-1) #base bypass circuit cutoff frequency (Hz)\n",
- "\n",
- "print 'base bypass circuit cutoff frequency f1 = ',round(f1,2),'Hz'\n",
- "print 'collector bypass circuit cutoff frequency f2 = ',round(f2,2),'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "base bypass circuit cutoff frequency f1 = 2.39 Hz\n",
- "collector bypass circuit cutoff frequency f2 = 13.84 Hz\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 16-22, Page 606"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "Ciss=60 #Capacitance Ciss (pF)\n",
- "Coss=25 #Capacitance Coss (pF)\n",
- "Crss=5 #Capacitance Crss (pF)\n",
- "gm=93*10**-3 #gm (S)\n",
- "R1=2*10**6 #resiatance 1(Ohm)\n",
- "R2=1*10**6 #resiatance 2(Ohm)\n",
- "RG=600 #resiatance(Ohm)\n",
- "RD=150 #resiatance(Ohm)\n",
- "RL=1*10**3 #load resiatance(Ohm)\n",
- "\n",
- "Cgd=Crss #Internal Capacitance Cgd (pF)\n",
- "Cgs=Ciss-Crss #Internal Capacitance Cgs (pF)\n",
- "Cds=Coss-Crss #Internal Capacitance Cds (pF)\n",
- "rd=((RD**-1)+(RL**-1))**-1 #rd (Ohm)\n",
- "Av=gm*rd #voltage gain\n",
- "Cin_M=Cgd*(Av+1) #Cin(M) (pF)\n",
- "C=Cgs+Cin_M #gate bypass capacitance (pF)\n",
- "R=((R1**-1)+(R2**-1)+(RG**-1))**-1 #resistance (Ohm)\n",
- "f2=((2*math.pi*R*C*10**-12)**-1) #gate bypass cutoff frequency (Hz)\n",
- "Cout_M=Cgd*((Av+1)/Av) #Cout(M) (pF)\n",
- "C1=Cds+Cout_M #drain bypass capacitance(pF)\n",
- "f21=((2*math.pi*rd*C1*10**-12)**-1) #drain bypass cutoff frequency (Hz)\n",
- "\n",
- "print 'Gate bypass cutoff frequency = ',round(f2*10**-6,2),'MHz'\n",
- "print 'Drain bypass cutoff frequency = ',round(f21*10**-6,2),'MHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Gate bypass cutoff frequency = 2.2 MHz\n",
- "Drain bypass cutoff frequency = 48.02 MHz\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_17_New.ipynb b/Electronic_Principles_/Chapter_17_New.ipynb
deleted file mode 100644
index a6647813..00000000
--- a/Electronic_Principles_/Chapter_17_New.ipynb
+++ /dev/null
@@ -1,614 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 17 DIFFERENTIAL AMPLIFIERS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-1, Page 625"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15 #supply voltage(V)\n",
- "RE=7.5 #Emitter resistance(KOhm)\n",
- "\n",
- "IT=VCC/RE #tail current (mA)\n",
- "IE=IT/2 #emitter current (mA)\n",
- "\n",
- "print 'tail current = ',IT,'mA'\n",
- "print 'emitter current = ',IE,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "tail current = 2.0 mA\n",
- "emitter current = 1.0 mA\n"
- ]
- }
- ],
- "prompt_number": 94
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-2, Page 626"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15 #supply voltage(V)\n",
- "RE=7.5 #Emitter resistance(KOhm)\n",
- "VBE=0.7 #base-emitter voltage(V)\n",
- "RC=5 #collector resistance(KOhm)\n",
- "\n",
- "IT=(VCC-VBE)/RE #tail current (mA)\n",
- "IE=IT/2 #emitter current (mA)\n",
- "VC=VCC-(IE*RC) #collector quiescent voltage(V) \n",
- "\n",
- "print 'tail current = ',round(IT,2),'mA'\n",
- "print 'emitter current = ',round(IE,2),'mA'\n",
- "print 'collector quiescent voltage VC = ',round(VC,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "tail current = 1.91 mA\n",
- "emitter current = 0.95 mA\n",
- "collector quiescent voltage VC = 10.23 V\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-3, Page 626"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=12.0 #supply voltage(V)\n",
- "RE=5.0 #Emitter resistance(KOhm)\n",
- "RC=3.0 #collector resistance(KOhm)\n",
- "\n",
- "IT=VCC/RE #tail current (mA)\n",
- "IE=IT/2 #emitter current (mA)\n",
- "VC=VCC-(IE*RC) #collector quiescent voltage(V) \n",
- "IT1=(VCC-VBE)/RE #tail current (mA)\n",
- "IE1=IT1/2 #emitter current (mA)\n",
- "VC1=VCC-(IE1*RC) #collector quiescent voltage(V) \n",
- "\n",
- "print 'tail current = ',IT,'mA'\n",
- "print 'emitter current = ',IE,'mA'\n",
- "print 'collector quiescent voltage VC = ',VC,'V'\n",
- "print 'with second approximation,'\n",
- "print 'tail current = ',IT1,'mA'\n",
- "print 'emitter current = ',IE1,'mA'\n",
- "print 'collector quiescent voltage VC = ',VC1,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "tail current = 2.4 mA\n",
- "emitter current = 1.2 mA\n",
- "collector quiescent voltage VC = 8.4 V\n",
- "with second approximation,\n",
- "tail current = 2.26 mA\n",
- "emitter current = 1.13 mA\n",
- "collector quiescent voltage VC = 8.61 V\n"
- ]
- }
- ],
- "prompt_number": 92
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-4, Page 631"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=12.0 #supply voltage(V)\n",
- "RE=7.5 #Emitter resistance(KOhm)\n",
- "RC=5.0 #collector resistance(KOhm)\n",
- "IE=1 #emitter current as per preceding example(mA)\n",
- "Vin=1 #input ac voltage(mV)\n",
- "B=300 #current gain\n",
- "\n",
- "re=25/IE #ac emitter resistance(Ohm)\n",
- "Av=1000*RC/re #voltage gain\n",
- "Vout=Av*Vin #Output voltage(mV)\n",
- "Zinb=2*B*re #input impedance of diff amp(Ohm)\n",
- "\n",
- "print 'voltage gain Av = ',Av\n",
- "print 'Output voltage Vout = ',Vout,'mV'\n",
- "print 'input impedance of diff amplifier, Zin(base) = ',Zinb/1000,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain Av = 200.0\n",
- "Output voltage Vout = 200.0 mV\n",
- "input impedance of diff amplifier, Zin(base) = 15 KOhm\n"
- ]
- }
- ],
- "prompt_number": 91
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-5, Page 632"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=12.0 #supply voltage(V)\n",
- "RE=7.5 #Emitter resistance(KOhm)\n",
- "RC=5.0 #collector resistance(KOhm)\n",
- "IE=0.955 #emitter current as per previous example(mA)\n",
- "Vin=1 #input ac voltage(mV)\n",
- "B=300 #current gain\n",
- "\n",
- "re=25/IE #ac emitter resistance(Ohm)\n",
- "Av=1000*RC/re #voltage gain\n",
- "Vout=Av*Vin #Output voltage(mV)\n",
- "Zinb=2*B*re #input impedance of diff amp(Ohm)\n",
- "\n",
- "print 'voltage gain Av = ',Av\n",
- "print 'Output voltage Vout = ',Vout,'mV'\n",
- "print 'input impedance of diff amplifier, Zin(base) = ',round((Zinb/1000),2),'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain Av = 191.0\n",
- "Output voltage Vout = 191.0 mV\n",
- "input impedance of diff amplifier, Zin(base) = 15.71 KOhm\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-6, Page 633"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=12.0 #supply voltage(V)\n",
- "RE=7.5 #Emitter resistance(KOhm)\n",
- "RC=5.0 #collector resistance(KOhm)\n",
- "IE=1 #emitter current as per preceding example(mA)\n",
- "V2=1 #input ac voltage(mV)\n",
- "B=300 #current gain\n",
- "\n",
- "re=25/IE #ac emitter resistance(Ohm)\n",
- "Av=1000*RC/re #voltage gain\n",
- "Vout=Av*V2 #Output voltage(mV)\n",
- "Zinb=2*B*re #input impedance of diff amp(Ohm)\n",
- "\n",
- "print 'V2 input is at inverting input, So, ideally same as previous case.'\n",
- "print 'Voltage gain Av = ',Av\n",
- "print 'Output voltage Vout = ',Vout,'mV'\n",
- "print 'input impedance of diff amplifier, Zin(base) = ',Zinb/1000,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "V2 input is at inverting input, So, ideally same as previous case.\n",
- "Voltage gain Av = 200.0\n",
- "Output voltage Vout = 200.0 mV\n",
- "input impedance of diff amplifier, Zin(base) = 15 KOhm\n"
- ]
- }
- ],
- "prompt_number": 96
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-7, Page 633"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15.0 #supply voltage(V)\n",
- "RC=1.0**10**6 #collector resistance(Ohm)\n",
- "RE=1.0**10**6 #emitter resistance(Ohm)\n",
- "IE=1 #emitter current as per preceding example(mA)\n",
- "Vin=7 #input ac voltage(mV)\n",
- "B=300 #current gain\n",
- "\n",
- "IT=VCC/RE #tail current (uA)\n",
- "IE=IT/2 #emitter current (uA)\n",
- "re=25/IE/1000 #ac emitter resistance(Ohm)\n",
- "Av=RC/(2*re) #voltage gain\n",
- "Vout=Av*Vin #Output voltage(V)\n",
- "Zinb=2*B*re #input impedance of diff amp(MOhm)\n",
- "\n",
- "print 'Voltage gain Av = ',Av\n",
- "print 'Output voltage Vout = ',Vout/1000,'V'\n",
- "print 'input impedance of diff amplifier, Zin(base) = ',Zinb,'MOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Voltage gain Av = 150.0\n",
- "Output voltage Vout = 1.05 V\n",
- "input impedance of diff amplifier, Zin(base) = 2.0 MOhm\n"
- ]
- }
- ],
- "prompt_number": 97
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-8, Page 639"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15.0 #supply voltage(V)\n",
- "RC=5.0*10**3 #collector resistance(Ohm)\n",
- "RE=7.5*10**3 #emitter resistance(Ohm)\n",
- "RB=1*10**3 #base resistance(Ohm)\n",
- "Vin=10 #input ac voltage(mV)\n",
- "Av=200 #voltage gain\n",
- "Iinb=3*10**-6 #bias current(A)\n",
- "Iino =0.5*10**-6 #Iin(off) (A) \n",
- "Vino=1.0 #Vin(off) (mV)\n",
- "\n",
- "V1err=RB*Iinb*1000 #dc error input1 (mV)\n",
- "V2err=RB*(Iino/2)*1000 #dc error input2 (mV)\n",
- "V3err=Vino #dc error input3 (mV)\n",
- "Verror=Av*(V1err+V2err+V3err) #output error voltage(mV)\n",
- "V1err1=0 #dc error input1 (mV)\n",
- "V2err1=RB*Iino*1000 #dc error input2 (mV)\n",
- "V3err1=Vino #dc error input3 (mV)\n",
- "Verror1=Av*(V1err1+V2err1+V3err1) #output error voltage(mV)\n",
- "\n",
- "print 'output error voltage Verror = ',Verror,'mV'\n",
- "print 'output error voltage Verror = ',Verror1,'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output error voltage Verror = 850.0 mV\n",
- "output error voltage Verror = 300.0 mV\n"
- ]
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-9, Page 640"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15.0 #supply voltage(V)\n",
- "RC=1.0*10**6 #collector resistance(Ohm)\n",
- "RE=1.0*10**6 #emitter resistance(Ohm)\n",
- "RB=10*10**3 #base resistance(Ohm)\n",
- "Vin=10 #input ac voltage(mV)\n",
- "Av=300 #voltage gain\n",
- "Iinb=80*10**-9 #bias current(A)\n",
- "Iino=20*10**-9 #Iin(off) (A) \n",
- "Vino=5.0 #Vin(off) (mV)\n",
- "\n",
- "V1err=0 #dc error input1 (mV)\n",
- "V2err=RB*(Iino/2)*1000 #dc error input2 (mV)\n",
- "V3err=Vino #dc error input3 (mV)\n",
- "Verror=Av*(V1err+V2err+V3err) #output error voltage(mV)\n",
- "\n",
- "print 'output error voltage Verror = ',Verror/1000,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output error voltage Verror = 1.53 V\n"
- ]
- }
- ],
- "prompt_number": 98
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-10, Page 643"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15.0 #supply voltage(V)\n",
- "RC=1.0*10**6 #collector resistance(Ohm)\n",
- "RE=1.0*10**6 #emitter resistance(Ohm)\n",
- "Vin=1 #input ac voltage(mV)\n",
- "\n",
- "Av_CM=RC/(2*RE) #common mode voltage gain\n",
- "Vout=Av_CM*Vin #output voltage(mV) \n",
- "\n",
- "print 'common mode voltage gain : Av(CM) = ',Av_CM\n",
- "print 'Output voltage Vout = ',Vout,'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "common mode voltage gain : Av(CM) = 0.5\n",
- "Output voltage Vout = 0.5 mV\n"
- ]
- }
- ],
- "prompt_number": 45
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-11, Page 643"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=1 #input ac voltage(mV)\n",
- "Av=150 #voltage gain\n",
- "Av_CM=0.5 #common mode voltage gain\n",
- "\n",
- "Vout1=Av*Vin #output voltage1(mV)\n",
- "Vout2=Av_CM*Vin #output voltage2(mV)\n",
- "Vout=Vout1+Vout2 #output volatge(mV)\n",
- "\n",
- "print 'output voltage Vout1 = ',Vout1,'mV'\n",
- "print 'output voltage Vout2 = ',Vout2,'mV'\n",
- "print 'output voltage Vout = ',Vout,'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage Vout1 = 150 mV\n",
- "output voltage Vout2 = 0.5 mV\n",
- "output voltage Vout = 150.5 mV\n"
- ]
- }
- ],
- "prompt_number": 46
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-12, Page 644"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "CMRR_dB=90 #CMRR(dB)\n",
- "Av=200000 #voltage gain\n",
- "Vin=1*10**-6 #input voltage(V)\n",
- "\n",
- "CMRR=10**(CMRR_dB/20.0) #CMRR \n",
- "Av_CM=Av/CMRR #common mode voltage gain \n",
- "Vout1=Av*Vin #desired output: voltage1(V)\n",
- "Vout2=Av_CM*Vin #common mode output: voltage2(V)\n",
- "\n",
- "print 'output voltage Vout1 = ',Vout1,'V'\n",
- "print 'output voltage Vout2 = ',round((Vout2*10**6),2),'uV'\n",
- "print 'see, desired output is much larger than common mode output.'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output voltage Vout1 = 0.2 V\n",
- "output voltage Vout2 = 6.32 uV\n",
- "see, desired output is much larger than common mode output.\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-13, Page 651"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15.0 #supply voltage(V)\n",
- "RC=7.5*10**3 #collector resistance(Ohm)\n",
- "RE=7.5*10**3 #emitter resistance(Ohm)\n",
- "V1=10 #input ac voltage(mV)\n",
- "re=25 #as per example 17-4 (Ohm) \n",
- "RL=15*10**3 #load resistance(KOhm)\n",
- "\n",
- "Av=RC/re #voltage gain\n",
- "Vout=Av*V1/1000 #output voltage(V) \n",
- "RTH=2*RC #Thevenin resistance(Ohm)\n",
- "VL=(RL/(RL+RTH))*Vout #load voltage(V)\n",
- "\n",
- "print 'Load voltage VL = ',VL,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Load voltage VL = 1.5 V\n"
- ]
- }
- ],
- "prompt_number": 67
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 17-14, Page 652"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RL=15.0 #load resistance as per previous example(Ohm)\n",
- "VL=3 #load voltage as per previous example(V)\n",
- "\n",
- "iL=VL/RL #load current(mA)\n",
- "\n",
- "print 'Load current iL = ',iL,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Load current iL = 0.2 mA\n"
- ]
- }
- ],
- "prompt_number": 69
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_18_New.ipynb b/Electronic_Principles_/Chapter_18_New.ipynb
deleted file mode 100644
index a06bb044..00000000
--- a/Electronic_Principles_/Chapter_18_New.ipynb
+++ /dev/null
@@ -1,568 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 18 OPERATIONAL AMPLIFIERS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-1, Page 672"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vout=13.5 #As per figure 18-7b(V)\n",
- "Aov=100000 #open loop voltage gain\n",
- "\n",
- "V2=Vout/Aov #required input voltage(V)\n",
- "\n",
- "print 'Required input voltage V2 = ',V2*10**6,'uV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Required input voltage V2 = 135.0 uV\n"
- ]
- }
- ],
- "prompt_number": 71
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-2, Page 672"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "CMRR_dB=40 #As per figure 18-7a at 100KHz(dB)\n",
- "\n",
- "CMRR=10**(CMRR_dB/20)\n",
- "\n",
- "print 'Common-mode rejection ratio = ',CMRR"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Common-mode rejection ratio = 100\n"
- ]
- }
- ],
- "prompt_number": 76
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-3, Page 673"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "Av1=1000 #Voltage gain as per figure 18-7c for 1KHZ\n",
- "Av10=100 #Voltage gain as per figure 18-7c for 10KHZ\n",
- "Av100=10 #Voltage gain as per figure 18-7c for 100KHZ\n",
- "\n",
- "print 'Voltage gain for 1KHZ = ',Av1\n",
- "print 'Voltage gain for 1KHZ = ',Av10\n",
- "print 'Voltage gain for 1KHZ = ',Av100"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Voltage gain for 1KHZ = 1000\n",
- "Voltage gain for 1KHZ = 100\n",
- "Voltage gain for 1KHZ = 10\n"
- ]
- }
- ],
- "prompt_number": 77
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-4, Page 673"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vout=0.25 #output changes in 0.1us (V)\n",
- "t=0.1 #time for output change(us) \n",
- "\n",
- "SR=Vout/t #slew rate(V/us)\n",
- "\n",
- "print 'Slew rate SR = ',SR,'V/us'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Slew rate SR = 2.5 V/us\n"
- ]
- }
- ],
- "prompt_number": 79
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-5, Page 673"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "SR=15 #slew rate(V/us)\n",
- "Vp=10 #Peak output voltage(V)\n",
- "\n",
- "fmax=1000*SR/(2*math.pi*Vp) #power bandwidth (KHz) \n",
- "\n",
- "print 'Power bandwidth = ',round(fmax),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power bandwidth = 239.0 KHz\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-6, Page 673"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "SR1=0.5 #Slew rate1(V/us)\n",
- "SR2=5 #Slew rate2(V/us)\n",
- "SR3=50 #Slew rate3(V/us)\n",
- "Vp=8 #peak voltage(V)\n",
- "\n",
- "fmax1=1000*SR1/(2*math.pi*Vp) #power bandwidth1 (KHz) \n",
- "fmax2=1000*SR2/(2*math.pi*Vp) #power bandwidth2 (KHz) \n",
- "fmax3=SR3/(2*3*math.pi*Vp) #power bandwidth3 (MHz) \n",
- "\n",
- "print 'Power bandwidth1 = ',math.ceil(fmax1),'KHz'\n",
- "print 'Power bandwidth2 = ',math.ceil(fmax2),'KHz'\n",
- "print 'Power bandwidth3 = ',math.ceil(fmax3),'MHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power bandwidth1 = 10.0 KHz\n",
- "Power bandwidth2 = 100.0 KHz\n",
- "Power bandwidth3 = 1.0 MHz\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-7, Page 678"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=10 #input voltage(mV)\n",
- "Rf=75 #feedback path resistance Rf (KOhm)\n",
- "R1=1.5 #inverting input resistance R1(KOhm)\n",
- "Funity=1 #Funity (MHz)\n",
- "\n",
- "Av_CL=-Rf/R1 #closed loop voltage gain\n",
- "f2_CL1=Funity/-Av_CL #closed loop bandwidth1(KHz)\n",
- "Vout1=Av_CL*Vin #output voltage1(mV)\n",
- "Vout2=-Vin #output voltage2(mV)\n",
- "\n",
- "print 'Output voltage for 1KHz = ',Vout1,'mVpp'\n",
- "print 'Output voltage for 1MHz = ',Vout2,'mVpp'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage for 1KHz = -500.0 mVpp\n",
- "Output voltage for 1MHz = -10 mVpp\n"
- ]
- }
- ],
- "prompt_number": 90
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-8, Page 679"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=10 #input voltage(mV)\n",
- "Rf=75 #feedback path resistance Rf (KOhm)\n",
- "R1=1.5 #inverting input resistance R1(KOhm)\n",
- "Iinb=80*10**-9 #bias current(A)\n",
- "Iino =20*10**-9 #Iin(off) (A) \n",
- "Vino=2.0 #Vin(off) (mV)\n",
- "Av=50 #voltage gain \n",
- "RB1=0 #resistance at noninverting input(KOhm) \n",
- "\n",
- "RB2=R1*Rf/(Rf+R1) #thevenin resistance at inverting input(KOhm) \n",
- "V1err=(RB1-RB2)*Iinb*10**6 #dc error input1 (mV)\n",
- "V2err=(RB1+RB2)*(Iino/2)*10**6 #dc error input2 (mV)\n",
- "V3err=Vino #dc error input3 (mV)\n",
- "Verror=Av*(abs(V1err)+V2err+V3err) #output error voltage(mV)\n",
- "\n",
- "print 'output error voltage Verror = ',round(Verror,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output error voltage Verror = 106.62 mV\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-9, Page 679"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=10 #input voltage(mV)\n",
- "Rf=75 #feedback path resistance Rf (KOhm)\n",
- "R1=1.5 #inverting input resistance R1(KOhm)\n",
- "Iinb=500*10**-9 #bias current(A)\n",
- "Iino =200*10**-9 #Iin(off) (A) \n",
- "Vino=6.0 #Vin(off) (mV)\n",
- "Av=50 #voltage gain \n",
- "RB1=0 #resistance at noninverting input(KOhm) \n",
- "\n",
- "RB2=R1*Rf/(Rf+R1) #thevenin resistance at inverting input(KOhm) \n",
- "V1err=(RB1-RB2)*Iinb*10**6 #dc error input1 (mV)\n",
- "V2err=(RB1+RB2)*(Iino/2)*10**6 #dc error input2 (mV)\n",
- "V3err=Vino #dc error input3 (mV)\n",
- "Verror=Av*(abs(V1err)+V2err+V3err) #output error voltage(mV)\n",
- "\n",
- "print 'output error voltage Verror = ',round(Verror,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output error voltage Verror = 344.12 mV\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-10, Page 683"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "Vin=50 #input voltage(mV)\n",
- "Rf=3.9*10**3 #feedback path resistance Rf (Ohm)\n",
- "R1=100 #inverting input resistance R1(Ohm)\n",
- "Funity=1*10**6 #Funity (Hz)\n",
- "\n",
- "Av_CL=1+(Rf/R1) #closed loop voltage gain\n",
- "f2_CL1=Funity/Av_CL #closed loop bandwidth1(KHz)\n",
- "Av_CL1=math.ceil(10**(12/20.0)) #Av for 12 dB at 250 KHz \n",
- "Vout=Av_CL1*Vin #output voltage(mV)\n",
- "\n",
- "print 'Output voltage for 250KHz = ',Vout,'mVpp'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage for 250KHz = 200.0 mVpp\n"
- ]
- }
- ],
- "prompt_number": 30
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-11, Page 684"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=10 #input voltage(mV)\n",
- "Rf=3.9*10**3 #feedback path resistance Rf (Ohm)\n",
- "R1=100 #inverting input resistance R1(Ohm)\n",
- "Iinb=500*10**-9 #bias current(A)\n",
- "Iino =200*10**-9 #Iin(off) (A) \n",
- "Vino=6.0*10**-3 #Vin(off) (V)\n",
- "Av=40 #voltage gain \n",
- "RB1=0 #resistance at noninverting input(KOhm) \n",
- "\n",
- "RB2=R1*Rf/(Rf+R1) #thevenin resistance at inverting input(KOhm) \n",
- "V1err=(RB1-RB2)*Iinb #dc error input1 (mV)\n",
- "V2err=(RB1+RB2)*(Iino/2) #dc error input2 (mV)\n",
- "V3err=Vino #dc error input3 (mV)\n",
- "Verror=Av*(abs(V1err)+V2err+V3err) #output error voltage(mV)\n",
- "\n",
- "print 'output error voltage Verror = ',Verror*1000,'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output error voltage Verror = 242.34 mV\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-12, Page 687"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin1=100*10**-3 #input voltage1(V)\n",
- "Vin2=200*10**-3 #input voltage2(V)\n",
- "Vin3=300*10**-3 #input voltage3(V)\n",
- "Rf=100.0 #feedback path resistance Rf (KOhm)\n",
- "R1=20.0 #inverting input resistance R1(KOhm)\n",
- "R2=10.0 #inverting input resistance R2(KOhm)\n",
- "R3=50.0 #inverting input resistance R3(KOhm)\n",
- "\n",
- "Av1_CL=-Rf/R1 #closed loop voltage gain\n",
- "Av2_CL=-Rf/R1 #closed loop voltage gain\n",
- "Av3_CL=-Rf/R1 #closed loop voltage gain\n",
- "Vout=Av1_CL*Vin1+Av2_CL*Vin2+Av3_CL*Vin3 #output voltage1(mV)\n",
- "RB2=(R1**-1+R2**-1+R3**-1+Rf**-1)**-1 #thevenin resistance at inverting input(KOhm) \n",
- "\n",
- "print 'Output voltage = ',Vout,'Vpp'\n",
- "print 'thevenin resistance at inverting input RB2 = ',round(RB2,2),'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage = -3.0 Vpp\n",
- "thevenin resistance at inverting input RB2 = 5.56 KOhm\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-13, Page 688"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=10 #ac voltage source (mVpp)\n",
- "Av=1 #voltage gain\n",
- "Funity=1 #unity frequency (MHz) \n",
- "\n",
- "Vout=Av*Vin #output voltage(V) \n",
- "f2_CL=Funity #bandwidth(MHz) \n",
- "\n",
- "print 'Output voltage = ',Vout,'mVpp'\n",
- "print 'Bandwidth f2(CL) = ',f2_CL,'MHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage = 10 mVpp\n",
- "Bandwidth f2(CL) = 1 MHz\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 18-14, Page 688"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RL=1.0 #load resistance(Ohm)\n",
- "Vout=9.99 #load voltage(mV)\n",
- "Vz=0.01 #voltage across Zout(CL) (mV)\n",
- "\n",
- "iout=Vout/RL #load current(mA)\n",
- "Zout_CL=Vz/iout #output impedance(Ohm)\n",
- "\n",
- "print 'Load current iout = ',iout,'mA'\n",
- "print 'closed loop output impedance Zout(CL) = ',round(Zout_CL,3),'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Load current iout = 9.99 mA\n",
- "closed loop output impedance Zout(CL) = 0.001 Ohm\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_19_New.ipynb b/Electronic_Principles_/Chapter_19_New.ipynb
deleted file mode 100644
index 2cb36ac1..00000000
--- a/Electronic_Principles_/Chapter_19_New.ipynb
+++ /dev/null
@@ -1,502 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 19 NEGATIVE FEEDBACK"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-1, Page 709"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=50 #input voltage(mV)\n",
- "Rf=3.9 #feedback path resistance Rf (KOhm)\n",
- "R1=0.1 #inverting input resistance R1(KOhm)\n",
- "AVOL=100000 #open loop voltage gain\n",
- "\n",
- "B=R1/(Rf+R1) #feedback fraction\n",
- "Av=B**-1 #closed loop voltage gain\n",
- "Err=100/(1+AVOL*B) #percent error (%)\n",
- "Av1=Av-((Av/100)*Err) #closed loop voltage gain1\n",
- "Av2=AVOL/(1+AVOL*B) #closed loop voltage gain2\n",
- "\n",
- "print 'closed loop voltage gain by approach 1 = ',round(Av1,2)\n",
- "print 'closed loop voltage gain by approach 2 = ',round(Av2,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop voltage gain by approach 1 = 39.98\n",
- "closed loop voltage gain by approach 2 = 39.98\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-2, Page 713"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=50 #input voltage(mV)\n",
- "Rf=3.9*10**3 #feedback path resistance Rf (Ohm)\n",
- "R1=100 #inverting input resistance R1(Ohm)\n",
- "AVOL=100000 #open loop voltage gain\n",
- "B=0.025 #feedback fraction\n",
- "Rin=2*10**6 #open loop input resistance(Ohm)\n",
- "RCM=200*10**6 #common mode input resistance(Ohm)\n",
- "\n",
- "Zin_CL=(1+(AVOL*B))*Rin #closed loop input impedance(Ohm)\n",
- "Zin_CL1=RCM*Zin_CL/(RCM+Zin_CL) #closed loop input impedance(Ohm)\n",
- "\n",
- "print 'closed loop input impedance Zin(CL) = ',round((Zin_CL1/10**6),2),'MOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop input impedance Zin(CL) = 192.31 MOhm\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-3, Page 714"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rout=75 #open loop output resistance(Ohm)\n",
- "AVOL=100000 #open loop voltage gain\n",
- "B=0.025 #feedback fraction\n",
- "\n",
- "Zout_CL=Rout/(1+AVOL*B) #closed loop input impedance(Ohm)\n",
- "\n",
- "print 'closed loop output impedance Zout(CL) = ',round(Zout_CL,2),'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop output impedance Zout(CL) = 0.03 Ohm\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-4, Page 714"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "THD=7.5 #open loop total harmonic distortion (%)\n",
- "AVOL=100000 #open loop voltage gain\n",
- "B=0.025 #feedback fraction\n",
- "\n",
- "THD_CL=THD/(1+AVOL*B) #closed loop total harmonic distortion (%)\n",
- "\n",
- "print 'Closed loop total harmonic distortion THD(CL) = ',round(THD_CL,3),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Closed loop total harmonic distortion THD(CL) = 0.003 %\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-5, Page 716"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Iin=1 #input current(mA)\n",
- "Rf=5 #feedback path resistance Rf (KOhm)\n",
- "\n",
- "Vout=-(Iin*Rf) #Output voltage at 1KHz (Vpp) \n",
- "\n",
- "print 'Output ac voltage at 1KHz Vout = ',Vout,'Vpp'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output ac voltage at 1KHz Vout = -5 Vpp\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-6, Page 717"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rout=75.0 #open loop output resistance(Ohm)\n",
- "AVOL=100000 #open loop voltage gain\n",
- "Rf=5.0*10**3 #feedback path resistance(Ohm)\n",
- "\n",
- "Zin_CL=Rf/(1+AVOL) #closed loop input impedance(Ohm)\n",
- "Zout_CL=Rout/(1+AVOL) #closed loop input impedance(Ohm)\n",
- "\n",
- "print 'closed loop input impedance Zin(CL) = ',round(Zin_CL,2),'Ohm'\n",
- "print 'closed loop output impedance Zout(CL) = ',round(Zout_CL,5),'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop input impedance Zin(CL) = 0.05 Ohm\n",
- "closed loop output impedance Zout(CL) = 0.00075 Ohm\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-7, Page 718"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=2 #input voltage(Vrms)\n",
- "RL1=2 #load resistance (KOhm)\n",
- "R1=1 #inverting input resistance R1(KOhm)\n",
- "RL2=4 #load resistance(KOhm)\n",
- "\n",
- "iout=Vin/R1 #output current (mA)\n",
- "PL1=(iout**2)*RL1 #load power for 2 Ohm (W) \n",
- "PL2=(iout**2)*RL2 #load power for 4 Ohm (W) \n",
- "\n",
- "print 'load power for 2 Ohm = ',PL1,'W'\n",
- "print 'load power for 4 Ohm = ',PL2,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "load power for 2 Ohm = 8 W\n",
- "load power for 4 Ohm = 16 W\n"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-8, Page 720"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "Iin=1.5*10**-3 #input current(mA)\n",
- "RL1=1 #load resistance (KOhm)\n",
- "R1=1 #inverting input resistance R1(KOhm)\n",
- "RL2=2 #load resistance (KOhm)\n",
- "Rf=1*10**3 #feedback path resistance(Ohm)\n",
- "\n",
- "Ai=math.ceil(1+(Rf/R1)) #current gain\n",
- "iout=Iin*Ai #output current (mA)\n",
- "PL1=(iout**2)*RL1 #load power for 1 Ohm (W) \n",
- "PL2=(iout**2)*RL2 #load power for 2 Ohm (W) \n",
- "\n",
- "print 'load power for 2 Ohm = ',round(PL1,2),'W'\n",
- "print 'load power for 4 Ohm = ',round(PL2,2),'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "load power for 2 Ohm = 2.25 W\n",
- "load power for 4 Ohm = 4.51 W\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-9, Page 723"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "AB=1000 #(1+AvolB) term \n",
- "f2_OL=160 #open loop bandwidth(Hz)\n",
- "\n",
- "f2_CL=f2_OL*AB/1000 #closed loop bandwidth(KHz)\n",
- "\n",
- "print 'closed loop bandwidth f2(CL)= ',f2_CL,'KHZ'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop bandwidth f2(CL)= 160 KHZ\n"
- ]
- }
- ],
- "prompt_number": 29
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-10, Page 723"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "AVOL=250000 #open loop voltage gain\n",
- "f2_OL=1.2 #open loop bandwidth(Hz)\n",
- "Av_CL=50 #closed loop voltage gain\n",
- "\n",
- "f2_CL=f2_OL*AVOL/Av_CL/1000 #closed loop bandwidth(KHz)\n",
- "\n",
- "print 'closed loop bandwidth for Av(CL) = 50, f2(CL)= ',f2_CL,'KHZ'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop bandwidth for Av(CL) = 50, f2(CL)= 6.0 KHZ\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-11, Page 724"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "AVOL=50000 #open loop voltage gain\n",
- "f2_OL=14 #open loop bandwidth(Hz)\n",
- "\n",
- "f2_CL=f2_OL*(1+AVOL)/1000 #closed loop bandwidth(KHz)\n",
- "\n",
- "print 'closed loop bandwidth f2(CL)= ',f2_CL,'KHZ'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop bandwidth f2(CL)= 700 KHZ\n"
- ]
- }
- ],
- "prompt_number": 35
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-12, Page 724"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "AB=2500 #(1+AvolB) term \n",
- "f2_OL=20 #open loop bandwidth(Hz)\n",
- "\n",
- "f2_CL=f2_OL*AB/1000 #closed loop bandwidth(KHz)\n",
- "\n",
- "print 'closed loop bandwidth f2(CL)= ',f2_CL,'KHZ'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop bandwidth f2(CL)= 50 KHZ\n"
- ]
- }
- ],
- "prompt_number": 38
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 19-13, Page 724"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "Av_CL=10.0 #voltage gain\n",
- "Funity=1*10**6 #unity frequency (Hz) \n",
- "Sr=0.5 #slew rate (V/us)\n",
- "\n",
- "f2_CL=Funity/Av_CL/1000 #closed loop bandwidth(KHz)\n",
- "Vp_max=1000*Sr/(2*math.pi*f2_CL) #largest peak output voltage(V)\n",
- "\n",
- "print 'closed loop bandwidth f2(CL)= ',f2_CL,'KHZ'\n",
- "print 'largest peak output voltage Vp(max)= ',round(Vp_max,3),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop bandwidth f2(CL)= 100.0 KHZ\n",
- "largest peak output voltage Vp(max)= 0.796 V\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_1_New.ipynb b/Electronic_Principles_/Chapter_1_New.ipynb
deleted file mode 100644
index 5245d442..00000000
--- a/Electronic_Principles_/Chapter_1_New.ipynb
+++ /dev/null
@@ -1,256 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 1 INTRODUCTION"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 1-1, Page 9"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rs=50 #source resistance(Ohm)\n",
- "\n",
- "RL=100*Rs/1000 #Minimum Load resistance(KOhm)\n",
- "\n",
- "print 'Minimum Load resistance =',RL,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum Load resistance = 5 KOhm\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 1-2, Page 12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Is=0.002 #Current source(A)\n",
- "Rs=10000000 #internal resistance(Ohm)\n",
- "\n",
- "Rl_Max=0.01*Rs/1000 #Maximum load resistance(KOhm)\n",
- "\n",
- "print 'With 100:1 Rule, Maximum Load resistance =',Rl_Max,'KOhm'\n",
- "print 'Stiff range for current source is load resistance from 0 KOhm to',Rl_Max,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "With 100:1 Rule, Maximum Load resistance = 100.0 KOhm\n",
- "Stiff range for current source is load resistance from 0 KOhm to 100.0 KOhm\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 1-3, Page 13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Il=0.002 #current source(A)\n",
- "Rl=10000 #load resistance(Ohm)\n",
- "\n",
- "Vl=Il*Rl #load voltage(V)\n",
- "\n",
- "print 'Load Voltage =',Vl,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Load Voltage = 20.0 V\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 1-4, Page 14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print 'As per figure 1-9a, Calculate Thevenin resistor by opening load resistor'\n",
- "\n",
- "Vs=72 #source voltage\n",
- "R1=6 #Resistance (KOhm)\n",
- "R2=3 #Resistance (KOhm)\n",
- "R3=4 #Resistance (KOhm)\n",
- "\n",
- "Ro=R1+R2 #Resistance (KOhm)\n",
- "I=Vs/Ro\n",
- "Vab=R2*Vs/(R1+R2) #Thevenin voltage(V)\n",
- "Rth=((R1*R2)/(R1+R2))+R3 #Thevenin Resistance(KOhm)\n",
- "\n",
- "print 'After removing Rl current flowing through 6KOhm is',I,'mA'\n",
- "print 'Thevenin Voltage Vth =',Vab,'V'\n",
- "print 'Calculating Thevenin Resistance with considering R1 & R2 in parallel'\n",
- "print 'Thevenin Resistance =',Rth,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "As per figure 1-9a, Calculate Thevenin resistor by opening load resistor\n",
- "After removing Rl current flowing through 6KOhm is 8 mA\n",
- "Thevenin Voltage Vth = 24 V\n",
- "Calculating Thevenin Resistance with considering R1 & R2 in parallel\n",
- "Thevenin Resistance = 6 KOhm\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 1-5, Page 15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vs=72 #source voltage\n",
- "R1=2 #resistance1 (KOhm)\n",
- "R2=2 #resistance1 (KOhm)\n",
- "R3=1 #resistance1 (KOhm)\n",
- "R4=2 #resistance1 (KOhm)\n",
- "R5=1 #resistance1 (KOhm)\n",
- "R6=2 #resistance1 (KOhm)\n",
- "R7=0.5 #resistance1 (KOhm)\n",
- "RL=1 #load resistance (KOhm)\n",
- "\n",
- "Vth=9 #Thevenin voltage(V)\n",
- "Rth=1.5 #Thevenin resistance(KOhm)\n",
- "\n",
- "print 'Thevenin Voltage Vth =',Vth,'V'\n",
- "print 'Thevenin Resistance =',Rth,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Thevenin Voltage Vth = 9 V\n",
- "Thevenin Resistance = 1.5 KOhm\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 1-6, Page 19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vs=10 #source voltage\n",
- "Rs=2 #series source resistance (KOhm)\n",
- "\n",
- "IN=Vs/Rs #Norton current(mA)\n",
- "Rp=Rs #parallel source resistance(KOhm)\n",
- "\n",
- "print 'Norton current IN =',IN,'mA'\n",
- "print 'Norton Resistance =',Rp,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Norton current IN = 5 mA\n",
- "Norton Resistance = 2 KOhm\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_20_New.ipynb b/Electronic_Principles_/Chapter_20_New.ipynb
deleted file mode 100644
index 1bf81dd2..00000000
--- a/Electronic_Principles_/Chapter_20_New.ipynb
+++ /dev/null
@@ -1,424 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 20 LINEAR OP-AMP CIRCUITS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 20-1, Page 741"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rf=100.0 #feedback path resistance Rf (KOhm)\n",
- "R1=100.0 #inverting input resistance R1(KOhm)\n",
- "R2=1.0 #inverting input & drain resistance R2(KOhm)\n",
- "\n",
- "Av1=(Rf/(R1**-1+R2**-1)**-1)+1 #maximum voltage gain\n",
- "Av2=(Rf/R1)+1 #minimum voltage gain\n",
- "\n",
- "print 'maximum voltage gain = ',Av1\n",
- "print 'minimum voltage gain = ',Av2"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum voltage gain = 102.0\n",
- "minimum voltage gain = 2.0\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 20-2, Page 747"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R1=1.2 #inverting input resistance R1(KOhm)\n",
- "R2=91.0 #feedback resistance R2(KOhm)\n",
- "\n",
- "Av1=-R2/R1 #maximum voltage gain\n",
- "Av2=0 #minimum voltage gain\n",
- "\n",
- "print 'maximum voltage gain = ',round(Av1,2)\n",
- "print 'minimum voltage gain = ',Av2"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum voltage gain = -75.83\n",
- "minimum voltage gain = 0\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 20-3, Page 747"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R=1.5 #inverting input resistance R1(KOhm)\n",
- "nR=7.5 #feedback resistance(KOhm)\n",
- "\n",
- "n=nR/R #max. limit of voltage gain \n",
- "rf=nR/(n-1) #fixed resistor (KOhm)\n",
- "\n",
- "print 'maximum positive voltage gain = ',n\n",
- "print 'other fixed resistor = ',rf,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum positive voltage gain = 5.0\n",
- "other fixed resistor = 1.875 KOhm\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 20-4, Page 757"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R1=1.0 #inverting input resistance R1(KOhm)\n",
- "R2=100.0 #feedback resistance R2(KOhm)\n",
- "R=10.0 #resistor of opamp in seconnd stage(KOhm)\n",
- "Vin=10*10**-3 #input voltage(V)\n",
- "Vin_CM=10 #common mode input voltage(V)\n",
- "T=0.0001 #tolerance of resistor \n",
- "\n",
- "Av=(R2/R1)+1 #preamp voltage gain\n",
- "Av_CM=2*T #common mode voltage gain of 2nd stage\n",
- "Vout=-Av*Vin #output siganl voltage(V)\n",
- "Vout_CM=Av_CM*Vin_CM #output siganl voltage for common mode signal(V)\n",
- "\n",
- "print 'output siganl voltage for common mode signal Vout(CM) = ',Vout_CM,'V'\n",
- "print 'output siganl voltage Vout = ',Vout,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output siganl voltage for common mode signal Vout(CM) = 0.002 V\n",
- "output siganl voltage Vout = -1.01 V\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 20-5, Page 759"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rf=6.0 #feedback path resistance Rf (KOhm)\n",
- "R1=1.0 #inverting input resistance R1(KOhm)\n",
- "R2=2.0 #inverting input resistance R2(KOhm)\n",
- "R3=3.0 #non-inverting input resistance R3(KOhm)\n",
- "R4=4.0 #non-inverting input resistance R4(KOhm)\n",
- "R5=5.0 #non-inverting input resistance R5(KOhm)\n",
- "\n",
- "Av1=(-Rf/R1) #voltage gain1\n",
- "Av2=(-Rf/R2) #voltage gain2\n",
- "Av3=(1+(Rf/((R1**-1+R2**-1)**-1)))*(((R4**-1+R5**-1)**-1)/(R3+((R4**-1+R5**-1)**-1))) #voltage gain3\n",
- "Av4=(1+(Rf/((R1**-1+R2**-1)**-1)))*(((R3**-1+R5**-1)**-1)/(R4+((R3**-1+R5**-1)**-1))) #voltage gain4\n",
- "\n",
- "print 'Voltage gain channel-1 Av1 = ',Av1\n",
- "print 'Voltage gain channel-2 Av2 = ',Av2\n",
- "print 'Voltage gain channel-3 Av3 = ',round(Av3,2)\n",
- "print 'Voltage gain channel-4 Av4 = ',round(Av4,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Voltage gain channel-1 Av1 = -6.0\n",
- "Voltage gain channel-2 Av2 = -3.0\n",
- "Voltage gain channel-3 Av3 = 4.26\n",
- "Voltage gain channel-4 Av4 = 3.19\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 20-6, Page 762"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "D0=1 #digital input0 (binary)\n",
- "D1=0 #digital input1 (binary)\n",
- "D2=0 #digital input2 (binary)\n",
- "D3=1 #digital input3 (binary)\n",
- "Vref=5 #reference voltage(V)\n",
- "N=4 #no. of inputs\n",
- "\n",
- "BIN=(D0*2**0)+(D1*2**1)+(D2*2**2)+(D3*2**3) #decimal equivalent BIN\n",
- "Vout=-((2*Vref*BIN)/2.0**N) #output voltage of converter(V)\n",
- "\n",
- "print 'decimal equivalent BIN = ',BIN\n",
- "print 'output voltage of converter Vout = ',Vout,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "decimal equivalent BIN = 9\n",
- "output voltage of converter Vout = -5.625 V\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 20-7, Page 764"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R2=51 #feedback path resistance (KOhm)\n",
- "R1=1 #inverting input resistance R1(KOhm)\n",
- "Bdc=125 #current gain\n",
- "Zout=75 #open loop output impedance(Ohm)\n",
- "AVOL=100000 #741C voltage gain\n",
- "\n",
- "Av=-R2/R1 #closed loop voltage gain\n",
- "B=R1/(R1+R2) #feedback fraction\n",
- "Zout_CL=Zout/(1+(AVOL*B)) #closed loop output impedance(Ohm)\n",
- "Isc=25.0/1000 #shorted current for 741C op-amp(A)\n",
- "Imax=Bdc*Isc #maximum load current(A)\n",
- "\n",
- "print 'closed loop output impedance Zout(CL) = ',Zout_CL,'Ohm'\n",
- "print 'maximum load current Imax = ',Imax,'A'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "closed loop output impedance Zout(CL) = 75 Ohm\n",
- "maximum load current Imax = 3.125 A\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 20-8, Page 768"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=1.0 #input voltage(V)\n",
- "VCC=15 #supply voltage(V)\n",
- "R=10 #inverting input resistance(KOhm)\n",
- "Vin2=10.0 #larger input(V)\n",
- "\n",
- "iout=Vin/R #output current(mA)\n",
- "RL_max=R*(VCC/Vin2-1) #Maximum load resistance(KOhm) \n",
- "\n",
- "print 'Output current iout = ',iout,'mA'\n",
- "print 'Maximum load resistance RL(max) = ',RL_max,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output current iout = 0.1 mA\n",
- "Maximum load resistance RL(max) = 5.0 KOhm\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 20-9, Page 768"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vin=3.0 #input voltage(V)\n",
- "VCC=15 #supply voltage(V)\n",
- "R=15 #inverting input resistance(KOhm)\n",
- "Vin2=12.0 #larger input(V)\n",
- "\n",
- "iout=-Vin/R #output current(mA)\n",
- "RL_max=(R/2.0)*(VCC/Vin2-1) #Maximum load resistance(KOhm) \n",
- "\n",
- "print 'Output current iout = ',iout,'mA'\n",
- "print 'Maximum load resistance RL(max) = ',RL_max,'KOhm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output current iout = -0.2 mA\n",
- "Maximum load resistance RL(max) = 1.875 KOhm\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 20-10, Page 771"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R2=47 #feedback path resistance (KOhm)\n",
- "R1=1.0 #inverting input resistance R1(KOhm)\n",
- "R3=100 #non-inverting input resistance R3(KOhm)\n",
- "rds1=0.050 #ohmic resistance of JFET (KOhm)\n",
- "rds2=120.0 #ohmic resistance of JFET (KOhm)\n",
- "\n",
- "Av1=((R2/R1)+1)*(rds1/(rds1+R3)) #minimum voltage gain\n",
- "Av2=((R2/R1)+1)*(rds2/(rds2+R3)) #maximum voltage gain\n",
- "\n",
- "print 'Maximum voltage gain Av = ',round(Av2,2)\n",
- "print 'Minimum voltage gain Av = ',round(Av1,3)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum voltage gain Av = 26.18\n",
- "Minimum voltage gain Av = 0.024\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_21_New.ipynb b/Electronic_Principles_/Chapter_21_New.ipynb
deleted file mode 100644
index 93fb24ec..00000000
--- a/Electronic_Principles_/Chapter_21_New.ipynb
+++ /dev/null
@@ -1,620 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 21 ACTIVE FILTERS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-1, Page 806"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "Rf=39.0 #feedback path resistance Rf (KOhm)\n",
- "R1=1.0 #inverting input resistance R1(KOhm)\n",
- "R2=12.0*10**3 #non-inverting input resistance R2(Ohm)\n",
- "C=680*10**-12 #capacitance at non-inverting input(F)\n",
- "\n",
- "Av=(Rf/R1)+1 # voltage gain\n",
- "fc=(2*math.pi*R2*C)**-1 #cutoff frequency(Hz)\n",
- "\n",
- "print 'voltage gain Av = ',Av\n",
- "print 'cutoff frequency fc = ',round((fc/1000),2),'KHz'\n",
- "print 'frequency response:'\n",
- "print 'voltage gain is 32 dB in pass band. response breaks at 19.5 KHz.'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain Av = 40.0\n",
- "cutoff frequency fc = 19.5 KHz\n",
- "frequency response:\n",
- "voltage gain is 32 dB in pass band. response breaks at 19.5 KHz.\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-2, Page 807"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "Rf=43.0 #feedback path resistance Rf (KOhm)\n",
- "R1=0.220 #non-inverting input resistance R1(KOhm)\n",
- "C=100*10**-12 #capacitance (F)\n",
- "\n",
- "Av=(-Rf/R1) # voltage gain\n",
- "fc=((2*math.pi*Rf*C)**-1)/10**6 #cutoff frequency(KHz)\n",
- "\n",
- "print 'voltage gain Av = ',round(Av,2)\n",
- "print 'cutoff frequency fc = ',round(fc,2),'KHz'\n",
- "print 'voltage gain is 45.8 dB in pass band. response breaks at 37 KHz.'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain Av = -195.45\n",
- "cutoff frequency fc = 37.01 KHz\n",
- "voltage gain is 45.8 dB in pass band. response breaks at 37 KHz.\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-3, Page 811"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R1=30 #non-inverting input resistance R1(KOhm)\n",
- "R2=30 #non-inverting input resistance R2(KOhm)\n",
- "C2=1.64*10**-9 #feedback path capacitance (F)\n",
- "C1=820*10**-12 #non-inverting input capacitance (F)\n",
- "\n",
- "Q=0.5*((C2/C1)**0.5) #Q\n",
- "fp=((2*math.pi*R1*(C1*C2)**0.5)**-1)/10**6 #pole frequency(KHz)\n",
- "fc=fp #cutoff frequency(KHz)\n",
- "\n",
- "print ' Q = ',round(Q,3)\n",
- "print 'pole frequency fp = ',round(fp,2),'KHz'\n",
- "print 'cutoff frequency fc = fp, ',round(fc,2),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Q = 0.707\n",
- "pole frequency fp = 4.57 KHz\n",
- "cutoff frequency fc = fp, 4.57 KHz\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-4, Page 811"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R1=51 #non-inverting input resistance R1(KOhm)\n",
- "R2=51 #non-inverting input resistance R2(KOhm)\n",
- "C2=440*10**-12 #feedback path capacitance (F)\n",
- "C1=330*10**-12 #non-inverting input capacitance (F)\n",
- "kc=0.786 #constant for bessel response \n",
- "\n",
- "Q=0.5*((C2/C1)**0.5) #Q\n",
- "fp=((2*math.pi*R1*(C1*C2)**0.5)**-1)/10**6 #pole frequency(KHz)\n",
- "fc=kc*fp #cutoff frequency(KHz) \n",
- "\n",
- "print ' Q = ',round(Q,2)\n",
- "print 'pole frequency fp = ',round(fp,2),'KHz'\n",
- "print 'cutoff frequency fc = ',round(fc,2),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Q = 0.58\n",
- "pole frequency fp = 8.19 KHz\n",
- "cutoff frequency fc = 6.44 KHz\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-5, Page 812"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "R1=22 #non-inverting input resistance R1(KOhm)\n",
- "R2=22 #non-inverting input resistance R2(KOhm)\n",
- "C2=27*10**-9 #feedback path capacitance (F)\n",
- "C1=390*10**-12 #non-inverting input capacitance (F)\n",
- "kc=1.38 #constant for bessel response \n",
- "k0=0.99 #constant for bessel response\n",
- "k3=1.54 #constant for bessel response\n",
- "\n",
- "Q=0.5*((C2/C1)**0.5) #Q\n",
- "fp=((2*math.pi*R1*(C1*C2)**0.5)**-1)/10**6 #pole frequency(KHz)\n",
- "fc=kc*fp #cutoff frequency(KHz) \n",
- "f3=k3*fp #3-dB frequency(KHz)\n",
- "\n",
- "print 'Q = ',round(Q,2)\n",
- "print 'pole frequency fp = ',round(fp,2),'KHz'\n",
- "print 'cutoff frequency fc = ',round(fc,2),'KHz'\n",
- "print '3-dB frequency f(3dB) = ',round(f3,2),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Q = 4.16\n",
- "pole frequency fp = 2.23 KHz\n",
- "cutoff frequency fc = 3.08 KHz\n",
- "3-dB frequency f(3dB) = 3.43 KHz\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-6, Page 817"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R1=47 #non-inverting input resistance R1(KOhm)\n",
- "R2=47 #non-inverting input resistance R2(KOhm)\n",
- "C2=330*10**-12 #feedback path capacitance (F)\n",
- "C1=330*10**-12 #non-inverting input capacitance (F)\n",
- "R3=51 #inverting input resistance R3(KOhm)\n",
- "Rf=30.0 #feedback path resistance Rf (KOhm)\n",
- "\n",
- "Av=(Rf/R3)+1 #voltage gain \n",
- "Q=(3-Av)**-1 #Q\n",
- "fp=((2*math.pi*R1*(C1*C2)**0.5)**-1)/10**6 #pole frequency(KHz)\n",
- "fc=fp #cutoff frequency(KHz) \n",
- "\n",
- "print ' Q = ',round(Q,2)\n",
- "print 'pole frequency fp = ',round(fp,2),'KHz'\n",
- "print 'cutoff frequency fc = ',round(fc,2),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Q = 0.71\n",
- "pole frequency fp = 10.26 KHz\n",
- "cutoff frequency fc = 10.26 KHz\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-7, Page 817"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R1=82 #non-inverting input resistance R1(KOhm)\n",
- "R2=82 #non-inverting input resistance R2(KOhm)\n",
- "C2=100*10**-12 #feedback path capacitance (F)\n",
- "C1=100*10**-12 #non-inverting input capacitance (F)\n",
- "R3=56 #inverting input resistance R3(KOhm)\n",
- "Rf=15.0 #feedback path resistance Rf (KOhm)\n",
- "kc=0.786 #constant for bessel response \n",
- "\n",
- "Av=(Rf/R3)+1 #voltage gain \n",
- "Q=(3-Av)**-1 #Q\n",
- "fp=((2*math.pi*R1*(C1*C2)**0.5)**-1)/10**6 #pole frequency(KHz)\n",
- "fc=kc*fp #cutoff frequency(KHz) \n",
- "\n",
- "print 'Q = ',round(Q,2)\n",
- "print 'pole frequency fp = ',round(fp,2),'KHz'\n",
- "print 'cutoff frequency fc = ',round(fc,2),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Q = 0.58\n",
- "pole frequency fp = 19.41 KHz\n",
- "cutoff frequency fc = 15.26 KHz\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-8, Page 818"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R1=56 #non-inverting input resistance R1(KOhm)\n",
- "R2=56 #non-inverting input resistance R2(KOhm)\n",
- "C2=220*10**-12 #feedback path capacitance (F)\n",
- "C1=220*10**-12 #non-inverting input capacitance (F)\n",
- "R3=20.0 #inverting input resistance R3(KOhm)\n",
- "Rf=39.0 #feedback path resistance Rf (KOhm)\n",
- "kc=1.414 #constant for bessel response \n",
- "k0=1.0 #constant for bessel response\n",
- "k3=1.55 #constant for bessel response\n",
- "\n",
- "Av=(Rf/R3)+1 #voltage gain \n",
- "Q=(3-Av)**-1 #Q\n",
- "fp=((2*math.pi*R1*(C1*C2)**0.5)**-1)/10**6 #pole frequency(KHz)\n",
- "fc=kc*fp #cutoff frequency(KHz) \n",
- "f0=k0*fp #resosnant frequency(KHz)\n",
- "f3=k3*fp #3-dB frequency (KHz)\n",
- "Av1=((1.01*Rf)/(0.99*R3))+1 #voltage gain considering 1% tolerance \n",
- "Q1=(3-Av1)**-1 #Q\n",
- "\n",
- "print 'Q = ',Q\n",
- "print 'pole frequency fp = ',round(fp,2),'KHz'\n",
- "print 'cutoff frequency fc = ',round(fc,2),'KHz'\n",
- "print 'resonant frequency f0 = ',round(f0,2),'KHz'\n",
- "print '3-dB frequency f(3-dB) = ',round(f3,2),'KHz'\n",
- "print 'circuit produces 26-dB peak in response at 12.9 KHz, rolls off to 0 dB at cutoff and 3 dB down at 20 KHz'\n",
- "print 'after considering tolerance in resistance, Q changed to',Q1,'approximately'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Q = 20.0\n",
- "pole frequency fp = 12.92 KHz\n",
- "cutoff frequency fc = 18.27 KHz\n",
- "resonant frequency f0 = 12.92 KHz\n",
- "3-dB frequency f(3-dB) = 20.02 KHz\n",
- "circuit produces 26-dB peak in response at 12.9 KHz, rolls off to 0 dB at cutoff and 3 dB down at 20 KHz\n",
- "after considering tolerance in resistance, Q changed to 94.2857142857 approximately\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-9, Page 820"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "R1=24 #non-inverting input resistance R1(KOhm)\n",
- "R2=12 #feedback path resistance R2(KOhm)\n",
- "C=4.7*10**-9 #non-inverting input capacitance (F)\n",
- "\n",
- "Q=0.5*((R1/R2)**0.5) #Q\n",
- "fp=((2*math.pi*C*(R1*R2)**0.5)**-1)/10**6 #pole frequency(KHz)\n",
- "fc=fp #cutoff frequency(KHz) \n",
- "\n",
- "print 'Q = ',round(Q,2)\n",
- "print 'pole frequency fp = ',math.ceil(fp),'KHz'\n",
- "print 'cutoff frequency fc = ',math.ceil(fc),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Q = 0.71\n",
- "pole frequency fp = 2.0 KHz\n",
- "cutoff frequency fc = 2.0 KHz\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-10, Page 821"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R1=30 #non-inverting input resistance R1(KOhm)\n",
- "R2=30 #feedback path resistance R2(KOhm)\n",
- "C=1*10**-9 #non-inverting input capacitance (F)\n",
- "R3=10.0 #inverting input resistance R3(KOhm)\n",
- "Rf=15.0 #feedback path resistance Rf (KOhm)\n",
- "kc=1.32 #constant for bessel response \n",
- "k0=0.94 #constant for bessel response\n",
- "k3=1.48 #constant for bessel response\n",
- "\n",
- "Av=(Rf/R3)+1 #voltage gain \n",
- "Q=(3-Av)**-1 #Q\n",
- "fp=((2*math.pi*R1*C)**-1)/10**6 #pole frequency(KHz)\n",
- "fc=fp/kc #cutoff frequency(KHz) \n",
- "f0=fp/k0 #resosnant frequency(KHz)\n",
- "f3=fp/k3 #3-dB frequency (KHz)\n",
- "\n",
- "print 'Q = ',Q\n",
- "print 'pole frequency fp = ',round(fp,2),'KHz'\n",
- "print 'cutoff frequency fc = ',round(fc,2),'KHz'\n",
- "print 'resonant frequency f0 = ',round(f0,2),'KHz'\n",
- "print '3-dB frequency f(3-dB) = ',round(f3,2),'KHz'\n",
- "print 'circuit produces 6.3-dB peak in response at 5.65 KHz, rolls off to 0 dB at cutoff at 4.02 KHz and 3 dB down at 3.59 KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Q = 2.0\n",
- "pole frequency fp = 5.31 KHz\n",
- "cutoff frequency fc = 4.02 KHz\n",
- "resonant frequency f0 = 5.64 KHz\n",
- "3-dB frequency f(3-dB) = 3.58 KHz\n",
- "circuit produces 6.3-dB peak in response at 5.65 KHz, rolls off to 0 dB at cutoff at 4.02 KHz and 3 dB down at 3.59 KHz\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-11, Page 825"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R1=18 #non-inverting input resistance R1(KOhm)\n",
- "R2=30 #feedback path resistance R2(KOhm)\n",
- "C=8.2*10**-9 #non-inverting input capacitance (F)\n",
- "R31=0.080 #inverting max input resistance R3(KOhm)\n",
- "R32=0.015 #inverting min input resistance R3(KOhm)\n",
- "\n",
- "BW=((2*math.pi*R1*C)**-1)/10**6 #bandwidth(KHz)\n",
- "f0=((2*math.pi*C*((2*R1*((R1**-1+R31**-1)**-1))**0.5))**-1)/10**6 #minimum center frequency(KHz)\n",
- "f01=((2*math.pi*C*((2*R1*((R1**-1+R32**-1)**-1))**0.5))**-1)/10**6 #minimum center frequency(KHz)\n",
- "\n",
- "print 'bandwidth BW = ',round(BW,2),'KHz'\n",
- "print 'minimum center frequency f0 = ',round(f0,2),'KHz'\n",
- "print 'maximum center frequency f0 = ',round(f01,2),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "bandwidth BW = 1.08 KHz\n",
- "minimum center frequency f0 = 11.46 KHz\n",
- "maximum center frequency f0 = 26.42 KHz\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-12, Page 827"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R=22.0 #non-inverting input resistance(KOhm)\n",
- "C=120*10**-9 #non-inverting input capacitance (F)\n",
- "R1=13.0 #inverting input resistance(KOhm)\n",
- "R2=10.0 #feedback path resistance(KOhm)\n",
- "\n",
- "Av=(R2/R1)+1 #voltage gain \n",
- "Q=0.5/(2-Av) #Q\n",
- "f0=((2*math.pi*R*C)**-1)/10**3 #center frequency(KHz)\n",
- "\n",
- "print 'voltage gain Av = ',round(Av,2)\n",
- "print 'Q = ',round(Q,2)\n",
- "print 'center frequency f0 = ',round(f0,2),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "voltage gain Av = 1.77\n",
- "Q = 2.17\n",
- "center frequency f0 = 60.29 KHz\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 21-13, Page 833"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "R=1.0 #non-inverting input resistance(KOhm)\n",
- "C=100*10**-9 #non-inverting input capacitance (F)\n",
- "f=1.0 #frequency given(KHz)\n",
- "\n",
- "f0=((2*math.pi*R*C)**-1)/10**6 #center frequency(KHz)\n",
- "phi=(2*math.atan(f0/f))*180/math.pi #phase shift(deg)\n",
- "\n",
- "print 'center frequency f0 = ',round(f0,2),'KHz'\n",
- "print 'phase shift = ',math.ceil(phi),'degrees'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "center frequency f0 = 1.59 KHz\n",
- "phase shift = 116.0 degrees\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_22_New.ipynb b/Electronic_Principles_/Chapter_22_New.ipynb
deleted file mode 100644
index ebbb0124..00000000
--- a/Electronic_Principles_/Chapter_22_New.ipynb
+++ /dev/null
@@ -1,369 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 22 NONLINEAR OP-AMP CIRCUITS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 22-4, Page 854"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "Vin=10 #ac input(V)\n",
- "Vs=15 #non-inverting input voltage(V)\n",
- "R1=200.0*10**3 #non-inverting input resistance R1(Ohm)\n",
- "R2=100.0*10**3 #non-inverting input resistance R2(Ohm)\n",
- "C=10*10**-6 #capacitance at non-inverting input(F)\n",
- "\n",
- "Vref=Vs/3 #reference voltage at trip point(V)\n",
- "fc=(2*math.pi*((R1**-1+R2**-1)**-1)*C)**-1 #cutoff frequency(Hz)\n",
- "\n",
- "print 'trip point voltage Vref = ',Vref,'V'\n",
- "print 'cutoff frequency of bypass circuit fc = ',round(fc,2),'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "trip point voltage Vref = 5 V\n",
- "cutoff frequency of bypass circuit fc = 0.24 Hz\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 22-5, Page 855"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "Vp=10.0 #sine peak(V)\n",
- "Vin=5.0 #input voltage(V) \n",
- "\n",
- "theta=math.ceil((math.asin(Vin/Vp))*180/math.pi) #angle theta (deg)\n",
- "D=(150-theta)/360.0 #duty cycle\n",
- "\n",
- "print 'theta = ',theta,'degrees'\n",
- "print 'duty cycle D = ',round((D*100),2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "theta = 31.0 degrees\n",
- "duty cycle D = 33.06 %\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 22-6, Page 860"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R1=1.0 #non-inverting input resistance R1(KOhm)\n",
- "R2=47.0 #feedback path resistance R2(KOhm)\n",
- "Vsat=13.5 #saturation voltage(V)\n",
- "\n",
- "B=R1/(R1+R2) #feedback fraction\n",
- "UTP=B*Vsat #upper trip point\n",
- "LTP=-B*Vsat #lower trip point\n",
- "H=UTP-LTP #hysteresis\n",
- "\n",
- "print 'lower trip point LTP = ',round(LTP,2),'V'\n",
- "print 'upper trip point LTP = ',round(UTP,2),'V'\n",
- "print 'hysteresis is ',round(H,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "lower trip point LTP = -0.28 V\n",
- "upper trip point LTP = 0.28 V\n",
- "hysteresis is 0.56 V\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 22-7, Page 865"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R=2 #inverting input resistance R1(KOhm)\n",
- "C=1*10**-6 #feedback path capacitance (F)\n",
- "T=1*10**-3 #time period(s)\n",
- "Vin=8 #input pulse voltage(V)\n",
- "AVOL=100000 #open loop voltage gain\n",
- "\n",
- "V=Vin*T/(R*C)/1000 #output voltage(V)\n",
- "t=R*C*(AVOL+1)*1000 #time constant(s)\n",
- "\n",
- "print 'Magnitude of negative output voltage at end of the pulse = ',V,'V'\n",
- "print 'closed loop time constant = ',t,'s'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Magnitude of negative output voltage at end of the pulse = 4.0 V\n",
- "closed loop time constant = 200.002 s\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 22-8, Page 868"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R1=1*10**3 #inverting input resistance R1(Ohm)\n",
- "R2=10*10**3 #feedback path resistance R2(Ohm)\n",
- "C=10*10**-6 #feedback path capacitance (F)\n",
- "Vin=5 #input pulse voltage(V)\n",
- "f=1*10**3 #input frequency(Hz)\n",
- "\n",
- "Vout=Vin/(2*f*R1*C) #output voltage(V)\n",
- "\n",
- "print 'peak to peak output voltage = ',Vout,'Vpp'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "peak to peak output voltage = 0.25 Vpp\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 22-9, Page 868"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vs=15.0 #non-inverting input voltage(V)\n",
- "Rw=5.0*10**3 #inverting input wiper resistance(Ohm)\n",
- "R1=10.0*10**3 #inverting input resistance R1(Ohm)\n",
- "f=1.0 #input frequency(KHz) \n",
- "\n",
- "Vref=Vs*(Rw/(Rw+R1)) #reference voltage(V)\n",
- "T=1/f #period of signal(s)\n",
- "W=2*(T/2)*((Vs/2)-Vref)/Vs #output pulse width\n",
- "D=W/T #duty cycle\n",
- "\n",
- "print 'duty cycle D = ',round((D*100),2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "duty cycle D = 16.67 %\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 22-10, Page 871"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "R1=18.0 #non-inverting input resistance R1(KOhm)\n",
- "R2=2.0 #feedback path resistance R2(KOhm)\n",
- "R=1.0 #feedback path resistance R(KOhm)\n",
- "C=0.1*10**-6 #feedback path capacitance (F)\n",
- "\n",
- "B=R1/(R1+R2) #feedback fraction\n",
- "T=10**9*2*R*C*math.log((1+B)/(1-B)) #period of output(us)\n",
- "f=1000*1/T #frequency(KHz)\n",
- "\n",
- "print 'period T = ',round(T,2),'us'\n",
- "print 'frequency f = ',round(f,2),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "period T = 588.89 us\n",
- "frequency f = 1.7 KHz\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 22-11, Page 871"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vsat=13.5 #saturation voltage given(V)\n",
- "R4=10*10**3 #given resistance R4(Ohm)\n",
- "C2=10*10**-6 #given capacitance C2(F)\n",
- "T=589*10**-6 #period from preceding example(s)\n",
- "\n",
- "Vout=Vsat*T/(2*R4*C2) #output voltage (V) \n",
- "\n",
- "print 'Output voltage = ',round((Vout*1000),2),'mVpp'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage = 39.76 mVpp\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 22-12, Page 873"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R1=1*10**3 #resistance R1(Ohm)\n",
- "R2=100*10**3 #resistance R2(Ohm)\n",
- "R3=10*10**3 #resistance R3(Ohm)\n",
- "C=10*10**-6 #capacitance (F)\n",
- "\n",
- "UTP=Vsat*R1/R2 #UTP value (V)\n",
- "Vout=2*UTP #output voltage/hysteresis (V)\n",
- "f=R2/(4*R1*R3*C) #frequency(Hz)\n",
- "\n",
- "print 'Vout = H = ',Vout,'V'\n",
- "print 'frequency f = ',f,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Vout = H = 0.27 V\n",
- "frequency f = 250.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 37
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_23_New.ipynb b/Electronic_Principles_/Chapter_23_New.ipynb
deleted file mode 100644
index a842cb81..00000000
--- a/Electronic_Principles_/Chapter_23_New.ipynb
+++ /dev/null
@@ -1,618 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 23 OSCILLATORS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-1, Page 897 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "R1=100.0*10**3 #non-inverting input resistance wiper R1(Ohm)\n",
- "R2=1.0*10**3 #non-inverting input resistance R2(Ohm)\n",
- "C=0.01*10**-6 #capacitance at non-inverting input(F)\n",
- "\n",
- "R=R1+R2 #max. total resistance(Ohm)\n",
- "fr1=(2*math.pi*R*C)**-1 #minimum frequency(Hz)\n",
- "R=R2 #min. total resistance(Ohm)\n",
- "fr2=(2*math.pi*R*C)**-1 #maximum frequency(Hz)\n",
- "\n",
- "print 'minimum frequency fr = ',round(fr1,2),'Hz'\n",
- "print 'maximum frequency fr = ',round((fr2/1000),2),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "minimum frequency fr = 157.58 Hz\n",
- "maximum frequency fr = 15.92 KHz\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-2, Page 897"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rf=2 #feedback resistance(KOhm)\n",
- "Rl=1 #lamp resistance(KOhm)\n",
- "Vl=2 #lamp voltage(V)\n",
- "\n",
- "Il=Vl/Rl #lamp current(mA)\n",
- "Vout=Il*(Rf+Rl) #output voltage of oscillator(V)\n",
- "\n",
- "print 'Lamp current = ',Il,'mA'\n",
- "print 'output voltage of oscillator = ',Vout,'Vrms'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Lamp current = 2 mA\n",
- "output voltage of oscillator = 6 Vrms\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-3, Page 904"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "C1=0.001*10**-6 #capacitance in oscillator(F)\n",
- "C2=0.01*10**-6 #capacitance in oscillator(F)\n",
- "L=15*10**-6 #inductance(H)\n",
- "\n",
- "C=C1*C2/(C1+C2) #equivalent capacitance(F)\n",
- "fr=(2*math.pi*((L*C)**0.5))**-1 #oscillation frequency(Hz)\n",
- "B=C1/C2 #feedback fraction\n",
- "Av_min=C2/C1 #minimum voltage gain\n",
- "\n",
- "print 'feedback fraction B = ',B\n",
- "print 'oscillation frequency fr = ',round((fr*10**-6),2),'MHz'\n",
- "print 'minimum voltage gain Av(min) = ',Av_min"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "feedback fraction B = 0.1\n",
- "oscillation frequency fr = 1.36 MHz\n",
- "minimum voltage gain Av(min) = 10.0\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-4, Page 908"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "C1=0.001*10**-6 #capacitance in oscillator(F)\n",
- "C2=0.01*10**-6 #capacitance in oscillator(F)\n",
- "C3=50.0*10**-12 #capacitance in oscillator(F)\n",
- "L=15*10**-6 #inductance(H)\n",
- "\n",
- "C=(C1**-1+C2**-1+C3**-1)**-1 #equivalent capacitance(F)\n",
- "fr=(2*math.pi*((L*C)**0.5))**-1 #oscillation frequency(Hz)\n",
- "\n",
- "print 'oscillation frequency fr = ',round((fr*10**-6),2),'MHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "oscillation frequency fr = 5.97 MHz\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-5, Page 912"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "Cs=0.05*10**-12 #series capacitance in oscillator(F)\n",
- "Cm=10.0*10**-12 #capacitance in oscillator(F)\n",
- "R=2.0*10**3 #resistance in oscillator(Ohm)\n",
- "L=3 #inductance(H)\n",
- "\n",
- "fs=(2*math.pi*((L*Cs)**0.5))**-1 #series resonant frequency(Hz)\n",
- "Cp=Cs*Cm/(Cs+Cm) #equvalent parallel capacitance(F)\n",
- "fp=(2*math.pi*((L*Cp)**0.5))**-1 #parallel resonant frequency(Hz)\n",
- "\n",
- "print 'series resonant frequency fs = ',math.ceil(fs*10**-3),'KHz'\n",
- "print 'parallel resonant frequency fp = ',math.ceil(fp*10**-3),'KHz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "series resonant frequency fs = 411.0 KHz\n",
- "parallel resonant frequency fp = 412.0 KHz\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-6, Page 918"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=12.0 #given supply voltage(V)\n",
- "R=33*10**3 #given resistance(Ohm)\n",
- "C=0.47*10**-6 #given capacitance(F)\n",
- "\n",
- "LTP=VCC/3 #trip point LTP (V)\n",
- "UTP=2*LTP #trip point UTP (V)\n",
- "W=1.1*R*C #pulse width of output(s)\n",
- "\n",
- "print 'trigger voltage LTP = ',LTP,'V'\n",
- "print 'trigger voltage UTP = ',UTP,'V'\n",
- "print 'pulse width W = ',W*10**3,'ms'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "trigger voltage LTP = 4.0 V\n",
- "trigger voltage UTP = 8.0 V\n",
- "pulse width W = 17.061 ms\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-7, Page 919"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R=10*10**6 #given resistance(Ohm)\n",
- "C=470*10**-6 #given capacitance(F)\n",
- "\n",
- "W=1.1*R*C #pulse width of output(s)\n",
- "\n",
- "print 'pulse width W = ',W,'s = ',round((W/3600),2),'hours'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "pulse width W = 5170.0 s = 1.44 hours\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-8, Page 922"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R1=75.0*10**3 #given resistance1(Ohm)\n",
- "R2=30.0*10**3 #given resistance2(Ohm)\n",
- "C=47.0*10**-9 #given capacitance(F)\n",
- "\n",
- "f=1.44/((R1+(2*R2))*C) #frequency (Hz)\n",
- "D=(R1+R2)/(R1+(2*R2)) #duty cycle \n",
- "\n",
- "print 'frequency f = ',round(f,2),'Hz' \n",
- "print 'duty cycle D = ',round((D*100),2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "frequency f = 226.95 Hz\n",
- "duty cycle D = 77.78 %\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-9, Page 923"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "VCC=12.0 #given supply voltage(V)\n",
- "R1=75.0*10**3 #given resistance1(Ohm)\n",
- "R2=30.0*10**3 #given resistance2(Ohm)\n",
- "C=47.0*10**-9 #given capacitance(F)\n",
- "Vcon1=11 #given Vcon(V) \n",
- "Vcon2=1 #given Vcon(V) \n",
- "\n",
- "W1=-(R1+R2)*C*(math.log((VCC-Vcon1)/(VCC-(0.5*Vcon1)))) #pulse width(s)\n",
- "T1=W1+(0.693*R2*C) #period(s)\n",
- "D1=W1/T1 #duty cycle\n",
- "f1=1/T1 #frequency(Hz)\n",
- "W2=-(R1+R2)*C*(math.log((VCC-Vcon2)/(VCC-(0.5*Vcon2)))) #pulse width(s)\n",
- "T2=W2+(0.693*R2*C) #period(s)\n",
- "D2=W2/T2 #duty cycle\n",
- "f2=1/T2 #frequency(Hz)\n",
- "\n",
- "print 'For Vcon = 11V,'\n",
- "print 'frequency f = ',round(f1,2),'Hz'\n",
- "print 'duty cycle D = ',round((D1*100),2),'%'\n",
- "print 'For Vcon = 1V,'\n",
- "print 'frequency f = ',round(f2,2),'Hz'\n",
- "print 'duty cycle D = ',round((D2*100),2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For Vcon = 11V,\n",
- "frequency f = 97.9 Hz\n",
- "duty cycle D = 90.43 %\n",
- "For Vcon = 1V,\n",
- "frequency f = 835.77 Hz\n",
- "duty cycle D = 18.33 %\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-10, Page 927"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=12.0 #given supply voltage(V)\n",
- "R=9.1*10**3 #given resistance(Ohm)\n",
- "C=0.01*10**-6 #given capacitance(F)\n",
- "f=2.5*10**3 #given frequency(Hz)\n",
- "Vmod=2 #peak value of modulating signal(V) \n",
- "\n",
- "T=1/f #period of output pulse(s)\n",
- "W=1.1*R*C #pulse width(s)\n",
- "UTP_max=(2*VCC/3)+Vmod #maximum UTP(V)\n",
- "UTP_min=(2*VCC/3)-Vmod #minimum UTP(V)\n",
- "Wmin=-R*C*(math.log(1-(UTP_min/VCC))) #minimum pulse width(s)\n",
- "Wmax=-R*C*(math.log(1-(UTP_max/VCC))) #maximum pulse width(s)\n",
- "Dmin=Wmin/T #minimum duty cycle\n",
- "Dmax=Wmax/T #maximum duty cycle\n",
- "\n",
- "print 'period of output pulse T = ',T*10**6,'us'\n",
- "print 'Quiscent pulse width W = ',W*10**6,'us'\n",
- "print 'minimum UTP = ',UTP_min,'V'\n",
- "print 'maximum UTP = ',UTP_max,'V'\n",
- "print 'minimum pulse width W(min) = ',round((Wmin*10**6),2),'us'\n",
- "print 'maximum pulse width W(max) = ',round((Wmax*10**6),2),'us'\n",
- "print 'minimum duty cycle D(min) = ',round((Dmin*100),2),'%'\n",
- "print 'maximum duty cycle D(max) = ',round((Dmax*100),2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "period of output pulse T = 400.0 us\n",
- "Quiscent pulse width W = 100.1 us\n",
- "minimum UTP = 6.0 V\n",
- "maximum UTP = 10.0 V\n",
- "minimum pulse width W(min) = 63.08 us\n",
- "maximum pulse width W(max) = 163.05 us\n",
- "minimum duty cycle D(min) = 15.77 %\n",
- "maximum duty cycle D(max) = 40.76 %\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 23-11, Page 928"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=12.0 #given supply voltage(V)\n",
- "R1=3.9*10**3 #given resistance(Ohm)\n",
- "R2=3*10**3 #given resistance(Ohm)\n",
- "C=0.01*10**-6 #given capacitance(F)\n",
- "Vmod=1.5 #peak value of modulating signal(V) \n",
- "\n",
- "W=0.693*(R1+R2)*C #pulse width(s)\n",
- "T=0.693*(R1+(2*R2))*C #period of output pulse(s)\n",
- "UTP_max=(2*VCC/3)+Vmod #maximum UTP(V)\n",
- "UTP_min=(2*VCC/3)-Vmod #minimum UTP(V)\n",
- "Wmin=-(R1+R2)*C*(math.log((VCC-UTP_min)/(VCC-(0.5*UTP_min)))) #minimum pulse width(s)\n",
- "Wmax=-(R1+R2)*C*(math.log((VCC-UTP_max)/(VCC-(0.5*UTP_max)))) #minimum pulse width(s)\n",
- "Tmin=Wmin+(0.693*R2*C) #minimum period(s)\n",
- "Tmax=Wmax+(0.693*R2*C) #maximum period(s)\n",
- "s=0.693*R2*C #space(s)\n",
- "\n",
- "print 'period of output pulse T = ',T*10**6,'us'\n",
- "print 'Quiscent pulse width W = ',W*10**6,'us'\n",
- "print 'minimum UTP = ',UTP_min,'V'\n",
- "print 'maximum UTP = ',UTP_max,'V'\n",
- "print 'minimum pulse width W(min) = ',round((Wmin*10**6),2),'us'\n",
- "print 'maximum pulse width W(max) = ',round((Wmax*10**6),2),'us'\n",
- "print 'minimum period T(min) = ',round((Tmin*10**6),2),'us'\n",
- "print 'maximum period T(max) = ',round((Tmax*10**6),2),'us'\n",
- "print 'space = ',round((s*10**6),2),'us'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "period of output pulse T = 68.607 us\n",
- "Quiscent pulse width W = 47.817 us\n",
- "minimum UTP = 6.5 V\n",
- "maximum UTP = 9.5 V\n",
- "minimum pulse width W(min) = 32.04 us\n",
- "maximum pulse width W(max) = 73.47 us\n",
- "minimum period T(min) = 52.83 us\n",
- "maximum period T(max) = 94.26 us\n",
- "space = 20.79 us\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-12, Page 929"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15.0 #given supply voltage(V)\n",
- "C=100*10**-9 #given capacitance(F)\n",
- "Ic=1*10**-3 #collector current (A)\n",
- "\n",
- "S=Ic/C #slope(V/s) \n",
- "V=2*VCC/3 #peak value(V)\n",
- "T=V/S #duration of ramp(s) \n",
- "\n",
- "print 'slope is ',S/1000,'V/ms'\n",
- "print 'Peak value V = ',V,'V'\n",
- "print 'duration of ramp = ',T*10**3,'ms'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "slope is 10.0 V/ms\n",
- "Peak value V = 10.0 V\n",
- "duration of ramp = 1.0 ms\n"
- ]
- }
- ],
- "prompt_number": 35
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-13, Page 938"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R=10*10**3 #given resistance(Ohm)\n",
- "C=0.01*10**-6 #given capacitance(F)\n",
- "\n",
- "f0=(R*C)**-1 #output frequency(Hz)\n",
- "\n",
- "print 'output frequency f0 = ',f0/1000,'KHz' "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output frequency f0 = 10.0 KHz\n"
- ]
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 23-14, Page 938"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R1=1.0*10**3 #given resistance(Ohm)\n",
- "R2=2.0*10**3 #given resistance(Ohm)\n",
- "C=0.1*10**-6 #given capacitance(F)\n",
- "\n",
- "f=(2/C)*((R1+R2)**-1) #output frequency(Hz)\n",
- "D=R1/(R1+R2) #duty cycle\n",
- "\n",
- "print 'output frequency f = ',round((f/1000),2),'KHz' \n",
- "print 'duty cycle = ',round((D*100),2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "output frequency f = 6.67 KHz\n",
- "duty cycle = 33.33 %\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_24_New.ipynb b/Electronic_Principles_/Chapter_24_New.ipynb
deleted file mode 100644
index ab177723..00000000
--- a/Electronic_Principles_/Chapter_24_New.ipynb
+++ /dev/null
@@ -1,706 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 24 REGULATED POWER SUPPLIES"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-1, Page 954 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rs=10 #given source resistance Rs(Ohm)\n",
- "RL=40 #given load resistance RL(Ohm)\n",
- "Vin=15 #input voltage(V)\n",
- "VBE=0.8 #base-emitter voltage drop(V) \n",
- "Vz=9.1 #voltage across diode(V)\n",
- "\n",
- "Vout=Vz+VBE #output voltage(V) \n",
- "Is=1000*(Vin-Vout)/Rs #input current(mA) \n",
- "IL=1000*Vout/RL #load current(mA)\n",
- "IC=Is-IL #collector current(mA)\n",
- "\n",
- "print 'Output voltage Vout = ',Vout,'V'\n",
- "print 'input current Is = ',Is,'mA'\n",
- "print 'load current IL = ',IL,'mA'\n",
- "print 'collector current IC = ',IC,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage Vout = 9.9 V\n",
- "input current Is = 510.0 mA\n",
- "load current IL = 247.5 mA\n",
- "collector current IC = 262.5 mA\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-2, Page 954"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rs=10 #given source resistance Rs(Ohm)\n",
- "RL=40 #given load resistance RL(Ohm)\n",
- "Vin=15 #input voltage(V)\n",
- "VBE=0.81 #base-emitter voltage drop(V) \n",
- "Vz=6.2 #voltage across diode(V)\n",
- "R1=750 #base input resistance(Ohm)\n",
- "R2=250 #base input resistance(Ohm)\n",
- "\n",
- "Vout=(Vz+VBE)*(R1+R2)/R1 #output voltage(V) \n",
- "Is=1000*(Vin-Vout)/Rs #input current(mA) \n",
- "IL=1000*Vout/RL #load current(mA)\n",
- "IC=Is-IL #collector current(mA)\n",
- "\n",
- "print 'Output voltage Vout = ',round(Vout,2),'V'\n",
- "print 'input current Is = ',round(Is,2),'mA'\n",
- "print 'load current IL = ',round(IL,2),'mA'\n",
- "print 'collector current IC = ',round(IC,2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage Vout = 9.35 V\n",
- "input current Is = 565.33 mA\n",
- "load current IL = 233.67 mA\n",
- "collector current IC = 331.67 mA\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-3, Page 954"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vout=9.35 #output voltage(V)\n",
- "IL=234 #load current(mA)\n",
- "Is=565 #input current(mA)\n",
- "Vin=15.0 #input voltage(V)\n",
- "\n",
- "Pout=Vout*IL/1000 #output power(W)\n",
- "Pin=Vin*Is/1000 #input power(W)\n",
- "eff=Pout/Pin #efficiency\n",
- "preg=Pin-Pout #power dissipated by regulator(W)\n",
- "\n",
- "print 'input power Pin = ',Pin,'W'\n",
- "print 'Output power Pout = ',round(Pout,2),'W'\n",
- "print 'Effifciency = ',round((eff*100),2),'%'\n",
- "print'power dissipated by regulator = ',round(preg,2),'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input power Pin = 8.475 W\n",
- "Output power Pout = 2.19 W\n",
- "Effifciency = 25.82 %\n",
- "power dissipated by regulator = 6.29 W\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-4, Page 955"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rs=10 #given source resistance Rs(Ohm)\n",
- "RL=40 #given load resistance RL(Ohm)\n",
- "Vin=15 #input voltage(V)\n",
- "Vz=6.8 #voltage across diode(V)\n",
- "R1=7.5*10**3 #base input resistance(Ohm)\n",
- "R2=2.5*10**3 #base input resistance(Ohm)\n",
- "\n",
- "Vout=Vz*(R1+R2)/R1 #output voltage(V) \n",
- "Is=1000*(Vin-Vout)/Rs #input current(mA) \n",
- "IL=1000*Vout/RL #load current(mA)\n",
- "IC=Is-IL #collector current(mA)\n",
- "\n",
- "print 'Output voltage Vout = ',round(Vout,2),'V'\n",
- "print 'input current Is = ',round(Is,2),'mA'\n",
- "print 'load current IL = ',round(IL,2),'mA'\n",
- "print 'collector current IC = ',round(IC,2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage Vout = 9.07 V\n",
- "input current Is = 593.33 mA\n",
- "load current IL = 226.67 mA\n",
- "collector current IC = 366.67 mA\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-5, Page 956"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Is1=510 #input current in ex. 24-1 (mA)\n",
- "Is2=565 #input current in ex. 24-2 (mA)\n",
- "Is4=593 #input current in ex. 24-4 (mA)\n",
- "\n",
- "Imax1=Is1 #maximum load current (mA) \n",
- "Imax2=Is2 #maximum load current (mA) \n",
- "Imax4=Is4 #maximum load current (mA) \n",
- "\n",
- "print 'maximum load current Imax1 = ',Imax1,'mA'\n",
- "print 'maximum load current Imax2 = ',Imax2,'mA'\n",
- "print 'maximum load current Imax4 = ',Imax4,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum load current Imax1 = 510 mA\n",
- "maximum load current Imax2 = 565 mA\n",
- "maximum load current Imax4 = 593 mA\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-6, Page 956"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VNL=9.91 #given VNL(V)\n",
- "VFL=9.81 #given VFL(V)\n",
- "VHL=9.94 #given VHL(V) \n",
- "VLL=9.79 #given VLL(V)\n",
- "\n",
- "LoR=(VNL-VFL)*100/VFL #Load regulation(%)\n",
- "LiR=(VHL-VLL)*100/VLL #Line regulation(%)\n",
- "\n",
- "print 'Load regulation = ',round(LoR,2),'%'\n",
- "print 'Line regulation = ',round(LiR,2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Load regulation = 1.02 %\n",
- "Line regulation = 1.53 %\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-7, Page 962"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RL=40.0 #given load resistance RL(Ohm)\n",
- "VBE=0.7 #base-emitter voltage drop(V) \n",
- "Vz=6.2 #voltage across diode(V)\n",
- "R1=3.0 #base input resistance(KOhm)\n",
- "R2=1.0 #base input resistance(KOhm)\n",
- "Vin=15 #input voltage(V)\n",
- "\n",
- "Vout=(Vz+VBE)*(R1+R2)/R1 #output voltage(V)\n",
- "IC=Vout/RL #transistor current(A)\n",
- "PD=(Vin-Vout)*IC #power dissipation(W)\n",
- "\n",
- "print 'Output voltage Vout = ',Vout,'V'\n",
- "print 'transistor current = load current = IC = ',IC*1000,'mA'\n",
- "print 'Power dissipation PD = ',PD,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage Vout = 9.2 V\n",
- "transistor current = load current = IC = "
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "230.0 mA\n",
- "Power dissipation PD = 1.334 W\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-8, Page 963"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vout=9.2 #output voltage(V)\n",
- "IL=230 #load current(mA)\n",
- "Vin=15.0 #input voltage(V)\n",
- "\n",
- "Pout=Vout*IL/1000 #output power(W)\n",
- "Pin=Vin*IL/1000 #input power(W)\n",
- "eff1=Pout/Pin #efficiency\n",
- "eff2=Vout/Vin #efficiency\n",
- "\n",
- "print 'input power Pin = ',Pin,'W'\n",
- "print 'Output power Pout = ',Pout,'W'\n",
- "print 'Effifciency 1= ',round((eff1*100),2),'%'\n",
- "print 'Effifciency 2= ',round((eff2*100),2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "input power Pin = 3.45 W\n",
- "Output power Pout = 2.116 W\n",
- "Effifciency 1= 61.33 %\n",
- "Effifciency 2= 61.33 %\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-9, Page 963"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RL=4.0 #given load resistance RL(Ohm)\n",
- "Vz=5.6 #voltage across diode(V)\n",
- "R1=2.7 #base input resistance(KOhm)\n",
- "R2=2.2 #base input resistance(KOhm)\n",
- "Vin=15 #input voltage(V)\n",
- "B=100 #current gain\n",
- "\n",
- "Vout=Vz*(R1+R2)/R1 #output voltage(V)\n",
- "IL=Vout/RL #load current(A)\n",
- "IB=IL/B #base current(A)\n",
- "\n",
- "print 'Output voltage Vout = ',round(Vout,2),'V'\n",
- "print 'Load current IL = ',round(IL,2),'A'\n",
- "print 'base current IB = ',round((IB*1000),2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage Vout = 10.16 V\n",
- "Load current IL = 2.54 A\n",
- "base current IB = 25.41 mA\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-10, Page 964"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VNL=10.16 #given VNL(V)\n",
- "VFL=10.15 #given VFL(V)\n",
- "VHL=10.16 #given VHL(V) \n",
- "VLL=10.07 #given VLL(V)\n",
- "\n",
- "LoR=(VNL-VFL)*100/VFL #Load regulation(%)\n",
- "LiR=(VHL-VLL)*100/VLL #Line regulation(%)\n",
- "\n",
- "print 'Load regulation = ',round(LoR,3),'%'\n",
- "print 'Line regulation = ',round(LiR,2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Load regulation = 0.099 %\n",
- "Line regulation = 0.89 %\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-11, Page 965"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "RL=3.0 #given load resistance RL(Ohm)\n",
- "Vz=4.7 #voltage across diode(V)\n",
- "R11=1750 #base input resistance with max. potentiometer(Ohm)\n",
- "R12=750 #base input resistance with min. potentiometer(Ohm)\n",
- "R2=750 #base input resistance(Ohm)\n",
- "Vin=22.5 #max. input voltage(V)\n",
- "B=100 #current gain\n",
- "Rs=820 #input side resistance(Ohm)\n",
- "Vcl=0.6 #voltage across current limiting resistor(V)\n",
- "Vcs=0.7 #voltage across current sensing resistor(V)\n",
- "Vo=12.5 #regulated voltage given(V)\n",
- "\n",
- "Iz=(Vin-Vz)/Rs #max. zener current(A)\n",
- "Vout1=Vz*(R11+R2)/R11 #min. regulated output voltage(V)\n",
- "Vout2=Vz*(R12+R2)/R12 #max. regulated output voltage(V)\n",
- "IL=Vcl/RL #load current(A)\n",
- "RL1=Vo/IL #load resistance(Ohm)\n",
- "ISL=Vcs/RL #shorted-load current(A)\n",
- "\n",
- "print 'maximum zener current Iz = ',round((Iz*1000),2),'mA'\n",
- "print 'Load current IL = ',IL*1000,'mA'\n",
- "print 'load resistance RL = ',RL1,'Ohm'\n",
- "print 'shorted-load current ISL = ',round((ISL*1000),2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum zener current Iz = 21.71 mA\n",
- "Load current IL = 200.0 mA\n",
- "load resistance RL = 62.5 Ohm\n",
- "shorted-load current ISL = 233.33 mA\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-12, Page 971"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vout=12.0 #regulated output voltage(V)\n",
- "RL=100.0 #given load resistance RL(Ohm)\n",
- "\n",
- "C=1000*10**-6 #given capacitance(F)\n",
- "f=120 #frequency(Hz)\n",
- "RR_dB=72.0 #ripple rejection(dB)\n",
- "\n",
- "IL=Vout/RL #load current(A)\n",
- "VRi=IL/(f*C) #peak to peak input ripple (V)\n",
- "RR=10**(RR_dB/20) #ripple rejection\n",
- "VRo=VRi/RR #peak to peak output ripple (V)\n",
- "\n",
- "print 'Load current IL = ',IL*1000,'mA'\n",
- "print 'peak to peak input ripple = ',VRi,'V'\n",
- "print 'peak to peak output ripple = ',round((VRo*1000),2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Load current IL = 120.0 mA\n",
- "peak to peak input ripple = 1.0 V\n",
- "peak to peak output ripple = 0.25 mV\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-13, Page 972"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R1=2.0 #given resistance(KOhm)\n",
- "R2=22.0 #given resistance(KOhm)\n",
- "R21=46.0 #given resistance increased(KOhm)\n",
- "\n",
- "Vout1=1.25*(R1+R2)/R1 #output voltage(V)\n",
- "Vout2=1.25*(R1+R21)/R1 #output voltage with increased R2(V)\n",
- "\n",
- "print 'Output voltage Vout1 = ',Vout1,'V'\n",
- "print 'output voltage with increased R2, Vout2 = ',Vout2,'V' "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage Vout1 = 15.0 V\n",
- "output voltage with increased R2, Vout2 = 30.0 V\n"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-14, Page 972"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vout=5.0 #output voltage(V)\n",
- "Vin_min=7.5 #min. input voltage(V)\n",
- "Vin_max=20.0 #max. input voltage(V)\n",
- "\n",
- "eff_max=Vout/Vin_min #maximum efficiency\n",
- "eff_min=Vout/Vin_max #minimum efficiency\n",
- "\n",
- "print 'Minimum Effifciency = ',eff_min*100,'%'\n",
- "print 'Maximum Effifciency = ',round((eff_max*100),2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum Effifciency = 25.0 %\n",
- "Maximum Effifciency = 66.67 %\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-15, Page 984"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R1=2.21 #given resistance(KOhm)\n",
- "R2=2.8 #given resistance(KOhm)\n",
- "R21=46.0 #given resistance increased(KOhm)\n",
- "VREF=2.21 #Reference voltage(V)\n",
- "\n",
- "Vout=VREF*(R1+R2)/R1 #output voltage(V)\n",
- "\n",
- "print 'Output voltage Vout = ',Vout,'V'\n",
- "print 'Input voltage should be 2V greater than output voltage So, Vin = 7 V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage Vout = 5.01 V\n",
- "Input voltage should be 2V greater than output voltage So, Vin = 7 V\n"
- ]
- }
- ],
- "prompt_number": 31
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 24-16, Page 984"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "R1=1 #given resistance(KOhm)\n",
- "R2=5.79 #given resistance(KOhm)\n",
- "VREF=2.21 #Reference voltage(V)\n",
- "\n",
- "Vout=VREF*(R1+R2)/R1 #output voltage(V)\n",
- "\n",
- "print 'Output voltage Vout = ',round(Vout,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output voltage Vout = 15.01 V\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_2_New.ipynb b/Electronic_Principles_/Chapter_2_New.ipynb
deleted file mode 100644
index 4404a233..00000000
--- a/Electronic_Principles_/Chapter_2_New.ipynb
+++ /dev/null
@@ -1,160 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 2 SEMICONDUCTORS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 2-5, Page 49"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Tj=100 #junction temperature 1(C)\n",
- "Vb=0.7 #Barrier potential(V)\n",
- "Tamb=25 #Ambient temperature(C)\n",
- "T1=0 #junction temperature 2(C)\n",
- "\n",
- "Vd=-0.002*(Tj-Tamb) #Change in barrier potential(V)\n",
- "Vbn=Vb+Vd #Barrier potential(V)\n",
- "Vd1=-0.002*(T1-Tamb) #Change in barrier potential(V)\n",
- "Vb1n=Vb+Vd1 #Barrier potential(V)\n",
- "\n",
- "print 'Change in barrier potential = Vd =',Vd,'V'\n",
- "print 'Brrier potential = Vbn =',Vbn,'V'\n",
- "print 'For junction temperature 0 C'\n",
- "print 'Change in barrier potential = Vd1 =',Vd1,'V'\n",
- "print 'New barrier potential = Vb1n =',Vb1n,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Change in barrier potential = Vd = -0.15 V\n",
- "Brrier potential = Vbn = 0.55 V\n",
- "For junction temperature 0 C\n",
- "Change in barrier potential = Vd1 = 0.05 V\n",
- "New barrier potential = Vb1n = 0.75 V\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 2-6, Page 51"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "T2=100 #Temperature(C)\n",
- "T1=25 #Temperature(C)\n",
- "Isat1=5 #Current(nA)\n",
- "\n",
- "Td=T2-T1 #Temperature change(C)\n",
- "Is1=(2**7)*Isat1 #Current(nA)\n",
- "Is2=(1.07**5)*Is1 #Current(nA)\n",
- "\n",
- "print 'Change in temperature = Td = T2-T1 =',Td,'C'\n",
- "print 'For first 70 C change seven doublings are there.'\n",
- "print 'Is1 = (2^7)*Isat1 =',Is1,'nA'\n",
- "print 'For additional 5 C, 7% per C'\n",
- "print 'Is2 = ',round(Is2,2),'nA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Change in temperature = Td = T2-T1 = 75 C\n",
- "For first 70 C change seven doublings are there.\n",
- "Is1 = (2^7)*Isat1 = 640 nA\n",
- "For additional 5 C, 7% per C\n",
- "Is2 = 897.63 nA\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 2-7, Page 52"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Isl=2*(10**-9) #surface leakage current(nA)\n",
- "Vr=25 #Reverse voltage(V)\n",
- "Vr1=35 #Reverse voltage(V)\n",
- "\n",
- "Rsl=Vr/Isl #surface leakage reistance(Ohm)\n",
- "Isl1=(Vr1/Rsl)*(10**9) #surface leakage current(nA)\n",
- "\n",
- "print 'surface-leakage reistance Rsl = Vr/Isl =',Rsl*10**-6,'MOhm'\n",
- "print 'for Vr1 = 35 V,'\n",
- "print 'surface-leakage reistance Isl1 = Vr1/Rsl =',Isl1,'nA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "surface-leakage reistance Rsl = Vr/Isl = 12500.0 MOhm\n",
- "for Vr1 = 35 V,\n",
- "surface-leakage reistance Isl1 = Vr1/Rsl = 2.8 nA\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_3_New.ipynb b/Electronic_Principles_/Chapter_3_New.ipynb
deleted file mode 100644
index e4397d8b..00000000
--- a/Electronic_Principles_/Chapter_3_New.ipynb
+++ /dev/null
@@ -1,334 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 3 DIODE THEORY"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 3-2, Page 63"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Pr=5 #Power rating(W)\n",
- "Vd=1.2 #diode voltage(V)\n",
- "Id=1.75 #diode current(A)\n",
- "\n",
- "PD=Vd*Id #Power dissipaion(W)\n",
- "\n",
- "print 'Power Dissipation =',PD,'W'\n",
- "print 'PD(',PD,'W) < ''Pr(',Pr,'W), So diode will not be destroyed.'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power Dissipation = 2.1 W\n",
- "PD( 2.1 W) < Pr( 5 W), So diode will not be destroyed.\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 3-3, Page 65"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "Vs=10 #Source voltage(V)\n",
- "RL=1 #Load resistance(KOhm)\n",
- "VL=Vs #LOad voltage(V)\n",
- "\n",
- "IL=VL/RL #Load current(mA)\n",
- "\n",
- "print 'Vs will be appearing across RL'\n",
- "print 'Load voltage VL =',Vs,'V'\n",
- "print 'Load current IL =',IL,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Vs will be appearing across RL\n",
- "Load voltage VL = 10 V\n",
- "Load current IL = 10 mA\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 3-4, Page 65"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print 'As per figure 3-6b, Thevenize the circuit to the left of the diode'\n",
- "R1=6 #Resistance(KOhm)\n",
- "R2=3 #Resistance(KOhm)\n",
- "RL=1 #Load Resistance(KOhm)\n",
- "Vs=36 #Supply voltage(V)\n",
- "\n",
- "Vth=R2*Vs/(R1+R2) #ThCevenin voltage(V)\n",
- "Rth=(R1*R2)/(R1+R2) #Thevenin resistance(KOhm)\n",
- "Rt=Rth+RL #total resistance(KOhm)\n",
- "IL=Vth/Rt #Load current(mA)\n",
- "VL=IL*RL #Load voltage(V)\n",
- "\n",
- "print 'Vth =',Vth,'V & Rth =',Rth,'KOhm'\n",
- "print 'Visualize diode as closed switch,'\n",
- "print 'IL =',IL,'mA'\n",
- "print 'VL =',VL,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "As per figure 3-6b, Thevenize the circuit to the left of the diode\n",
- "Vth = 12 V & Rth = 2 KOhm\n",
- "Visualize diode as closed switch,\n",
- "IL = 4 mA\n",
- "VL = 4 V\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 3-5, Page 67"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print 'As per Second approximation in Fig.3-8,'\n",
- "Vd=0.7 #diode voltgage(V)\n",
- "Vs=10 #supply voltage(V)\n",
- "RL=1 #Load resistance(KOhm)\n",
- "\n",
- "VL=Vs-Vd #Load voltage(v)\n",
- "IL=VL/RL #Load current(mA)\n",
- "PD=Vd*IL #diode power(mW)\n",
- "\n",
- "print 'IL =',IL,'mA & VL =',VL,'V'\n",
- "print 'Diode power PD =',PD,'mW'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "As per Second approximation in Fig.3-8,\n",
- "IL = 9.3 mA & VL = 9.3 V\n",
- "Diode power PD = 6.51 mW\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 3-6, Page 67"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print 'As per Second approximation in Fig.3-9a,'\n",
- "Vd=0.7 #diode voltgage(V)\n",
- "Vs=36 #supply voltage(V)\n",
- "R1=6 #Resistance(KOhm)\n",
- "R2=3 #Resistance(KOhm)\n",
- "RL=1 #Load resistance(KOhm)\n",
- "\n",
- "Vth=R2*Vs/(R1+R2)#Thevenin Voltage(V)\n",
- "Rth=(R1*R2)/(R1+R2)#Thevenin resistance(KOhm)\n",
- "IL=(Vth-Vd)/R2#Load current(mA)\n",
- "VL=IL*RL#Load voltage(V)\n",
- "PD=Vd*IL#diode power(mW)\n",
- "\n",
- "print 'Thevenize the circuit to the left of the diode'\n",
- "print 'Vth =',Vth,'V & Rth =',Rth,'KOhm'\n",
- "print 'VL =',round(VL,2),'V & IL =',round(IL,2),'mA'\n",
- "print 'Diode power PD =',round(PD,2),'mW'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "As per Second approximation in Fig.3-9a,\n",
- "Thevenize the circuit to the left of the diode\n",
- "Vth = 12 V & Rth = 2 KOhm\n",
- "VL = 3.77 V & IL = 3.77 mA\n",
- "Diode power PD = 2.64 mW\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 3-7, Page 68"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print 'In Fig.3-11a,'\n",
- "Vd=0.7 #diode voltgage(V)\n",
- "Vs=10 #supply voltage(V)\n",
- "RL=1000L #Load resistance(Ohm)\n",
- "Rb=0.23 #bulk resistance\n",
- "\n",
- "print 'As per third approximation, we get fig.3-11b'\n",
- "if Rb<(RL/100):\n",
- " print'If Rb < 0.01RL than ignore Rb & use second approximation.'\n",
- " VL=Vs-Vd #Load voltage(V)\n",
- " IL=(VL/RL)*1000 #Load current(mA)\n",
- " PD=Vd*IL #diode power(mW)\n",
- "\n",
- " print 'IL =',IL,'mA & VL =',VL,'V'\n",
- " print 'Diode power PD =',PD,'mW'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "In Fig.3-11a,\n",
- "As per third approximation, we get fig.3-11b\n",
- "If Rb < 0.01RL than ignore Rb & use second approximation.\n",
- "IL = 9.3 mA & VL = 9.3 V\n",
- "Diode power PD = 6.51 mW\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 3-8, Page 69"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print 'In Fig.3-11a, take RL = 10 Ohm'\n",
- "Vd=0.7 #diode voltgage(V)\n",
- "Vs=10 #supply voltage(V)\n",
- "RL=10 #Load resistance(Ohm)\n",
- "Rb=0.23 #bulk resistance\n",
- "RT=Rb+RL #Total reistance(Ohm)\n",
- "VT=Vs-Vd #total voltage(V)\n",
- "\n",
- "print 'RT =',RT,'Ohm & VT =',VT,'V'\n",
- "IL=VT/RT #Load current(mA)\n",
- "VL=IL*RL #Load voltage(V)\n",
- "VD=Vd+(IL*Rb) \n",
- "PD=VD*IL #diode power(W)\n",
- "\n",
- "print 'IL =',round(IL,2),'mA & VL =',round(VL,2),'V'\n",
- "print 'VD =',round(VD,2),'V'\n",
- "print 'Diode power PD =',round(PD,2),'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "In Fig.3-11a, take RL = 10 Ohm\n",
- "RT = 10.23 Ohm & VT = 9.3 V\n",
- "IL = 0.91 mA & VL = 9.09 V\n",
- "VD = 0.91 V\n",
- "Diode power PD = 0.83 W\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_4_New.ipynb b/Electronic_Principles_/Chapter_4_New.ipynb
deleted file mode 100644
index b02a4e3e..00000000
--- a/Electronic_Principles_/Chapter_4_New.ipynb
+++ /dev/null
@@ -1,515 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 4 DIODE CIRCUITS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 4-1, Page 92"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "Vrms=10 #RMS Value of sine wave(V)\n",
- "f=60 #frequency(Hz)\n",
- "\n",
- "Vp=Vrms/0.707 #peak source voltage(V)\n",
- "Vpout=Vp #peak load voltage(V)\n",
- "Vdc=Vp/math.pi #dc load voltage(V)\n",
- "Vpouts=Vp-0.7 #peak load voltage in 2nd approx.\n",
- "Vdc=Vpouts/math.pi #dc load voltage(V)\n",
- "\n",
- "print 'Vp=',round(Vp,2),'V'\n",
- "print 'With an ideal diode, Vpout =',round(Vpout,2),'V'\n",
- "print 'DC load voltage, Vdc =',round(Vdc,2),'V'\n",
- "print 'With second approximation, Vpout =',round(Vpouts,2),'V'\n",
- "print 'DC load voltage, Vdc =',round(Vdc,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Vp= 14.14 V\n",
- "With an ideal diode, Vpout = 14.14 V\n",
- "DC load voltage, Vdc = 4.28 V\n",
- "With second approximation, Vpout = 13.44 V\n",
- "DC load voltage, Vdc = 4.28 V\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 4-2, Page 94"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "Vs=120 #supply voltage(V)\n",
- "\n",
- "V2=Vs/5 #Secondary voltage(V)\n",
- "Vp=V2/0.707 #peak secondary voltage\n",
- "Vpout=Vp #peak load voltage(V)\n",
- "Vdc1=Vp/math.pi #dc load voltage(V)\n",
- "Vpouts=Vp-0.7 #peak load voltage in 2nd approx.(V)\n",
- "Vdc2=Vpouts/math.pi #dc load voltage(V)\n",
- "\n",
- "print 'As per fig.4-5, Transformer turns ratio is 5:1'\n",
- "print 'V2=',round(V2,2),'V'\n",
- "print 'Vp=',round(Vp,2),'V'\n",
- "print 'With an ideal diode, Vpout =',round(Vpout,2),'V'\n",
- "print 'DC load voltage, Vdc =',round(Vdc1,2),'V'\n",
- "print 'With second approximation, Vpout =',round(Vpouts,2),'V'\n",
- "print 'DC load voltage, Vdc =',round(Vdc2,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "As per fig.4-5, Transformer turns ratio is 5:1\n",
- "V2= 24.0 V\n",
- "Vp= 33.95 V\n",
- "With an ideal diode, Vpout = 33.95 V\n",
- "DC load voltage, Vdc = 10.81 V\n",
- "With second approximation, Vpout = 33.25 V\n",
- "DC load voltage, Vdc = 10.58 V\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 4-3, Page 97"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vrms=120 #RMS value of supply(V)\n",
- "N12=10 #turn ratio\n",
- "\n",
- "Vp1=Vrms/0.707 #peak primary voltage(V)\n",
- "Vp2=Vp1/N12 #peak secondary voltage(V)\n",
- "Vpin=0.5*Vp2 #input voltage(V)\n",
- "Vpout=Vpin #Output voltage (V)\n",
- "Vpouts=Vpin-0.7 #Output voltage in 2nd approx.(V)\n",
- "\n",
- "print 'Peak primary voltage Vp1=',round(Vp1,2),'V'\n",
- "print 'Peak secondary voltage Vp2=',round(Vp2,2),'V'\n",
- "print 'Due to center-tap,' \n",
- "print 'input voltage to each half-wave rectifier is only half the secondary voltage:'\n",
- "print 'With an ideal diode, Vpout =',round(Vpout,2),'V'\n",
- "print 'With second approximation, Vpout =',round(Vpouts,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Peak primary voltage Vp1= 169.73 V\n",
- "Peak secondary voltage Vp2= 16.97 V\n",
- "Due to center-tap,\n",
- "input voltage to each half-wave rectifier is only half the secondary voltage:\n",
- "With an ideal diode, Vpout = 8.49 V\n",
- "With second approximation, Vpout = 7.79 V\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 4-4, Page 99"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vrms=120 #RMS value of supply(V)\n",
- "N12=10 #turn ratio\n",
- "\n",
- "Vp1=Vrms/0.707 #peak primary voltage(V)\n",
- "Vp2=Vp1/N12 #peak secondary voltage(V)\n",
- "Vpin=0.5*Vp2 #input voltage(V)\n",
- "Vpout=Vpin #Output voltage(V)\n",
- "Vpouts=Vpin-0.7 #Output voltage in 2nd approx.(V)\n",
- "\n",
- "print 'Peak primary voltage Vp1=',round(Vp1,2),'V'\n",
- "print 'Peak secondary voltage Vp2=',round(Vp2,2),'V'\n",
- "print 'Due to one of the diodes were open, load voltage will be the half wave signal'\n",
- "print 'But still peak of half wave signal is same as prior case'\n",
- "print 'With an ideal diode, Vpout =',round(Vpout,2),'V'\n",
- "print 'With second approximation, Vpout =',round(Vpouts,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Peak primary voltage Vp1= 169.73 V\n",
- "Peak secondary voltage Vp2= 16.97 V\n",
- "Due to one of the diodes were open, load voltage will be the half wave signal\n",
- "But still peak of half wave signal is same as prior case\n",
- "With an ideal diode, Vpout = 8.49 V\n",
- "With second approximation, Vpout = 7.79 V\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 4-5, Page 102"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vrms=120 #RMS value of supply(V)\n",
- "N12=10 #turn ratio\n",
- "\n",
- "Vp1=Vrms/0.707 #peak primary voltage(V)\n",
- "Vp2=Vp1/N12 #peak secondary voltage(V)\n",
- "Vpout=Vp2 #Output voltage(V)\n",
- "\n",
- "print 'Peak primary voltage Vp1=',round(Vp1,2),'V'\n",
- "print 'Peak secondary voltage Vp2=',round(Vp2,2),'V'\n",
- "print 'secondary voltage is input of rectifier'\n",
- "print 'With an ideal diode, Vpout =',round(Vpout,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Peak primary voltage Vp1= 169.73 V\n",
- "Peak secondary voltage Vp2= 16.97 V\n",
- "secondary voltage is input of rectifier\n",
- "With an ideal diode, Vpout = 16.97 V\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 4-6, Page 108"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vrms=120 #RMS value of supply(V)\n",
- "N12=5 #turn ratio\n",
- "RL=5 #Load resistance(KOhm)\n",
- "C=100 #Capacitance(uF)\n",
- "f=60 #Frequency(Hz)\n",
- "\n",
- "V2=Vrms/N12 #RMS secondary voltage(V)\n",
- "Vp=V2/0.707 #peak secondary voltage(V)\n",
- "VL=Vp #dc load voltage(V)\n",
- "IL=VL/RL #Load current(mA)\n",
- "VR=(IL/(f*C))*(10**3) #ripple voltage(V)\n",
- "\n",
- "print 'RMS secondary voltage V2=',V2,'V'\n",
- "print 'Peak secondary voltage Vp=',round(Vp,2),'V'\n",
- "print 'with ideal diode and small ripple, dc load voltage, VL =',round(VL,2),'V'\n",
- "print 'To calculate ripple get, dc load current,'\n",
- "print 'DC Load current IL=',round(IL,2),'mA'\n",
- "print 'As per ripple formula,'\n",
- "print 'Ripple voltage VR=',round(VR,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "RMS secondary voltage V2= 24 V\n",
- "Peak secondary voltage Vp= 33.95 V\n",
- "with ideal diode and small ripple, dc load voltage, VL = 33.95 V\n",
- "To calculate ripple get, dc load current,\n",
- "DC Load current IL= 6.79 mA\n",
- "As per ripple formula,\n",
- "Ripple voltage VR= 1.13 V\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 4-7, Page 109"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vrms=120 #RMS value of supply(V)\n",
- "N12=5 #turn ratio\n",
- "RL=5 #Load resistance(KOhm)\n",
- "C=100 #Capacitance(uF)\n",
- "f=60 #Frequency(Hz)\n",
- "\n",
- "V2=Vrms/N12 #RMS secondary voltage(V)\n",
- "Vp=V2/0.707 #peak secondary voltage(V)\n",
- "VL=Vp/2 #dc load voltage(V)\n",
- "IL=VL/RL #Load current(mA)\n",
- "VR=(IL/(2*f*C))*(10**3) #ripple voltage(V)\n",
- "\n",
- "print 'RMS secondary voltage V2=',V2,'V'\n",
- "print 'Peak secondary voltage Vp=',round(Vp,2),'V'\n",
- "print 'Half this voltage is input to each half-wave section, with ideal diode and small ripple, dc load voltage, VL =',round(VL,2),'V'\n",
- "print 'But, due to 0.7V across conducting diode actual dc voltage is, VL =',round((VL-0.7),2),'V'\n",
- "print 'To calculate ripple get, dc load current,'\n",
- "print 'DC Load current IL=',round(IL,2),'mA'\n",
- "print 'As per ripple formula,'\n",
- "print 'Ripple voltage VR=',round(VR,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "RMS secondary voltage V2= 24 V\n",
- "Peak secondary voltage Vp= 33.95 V\n",
- "Half this voltage is input to each half-wave section, with ideal diode and small ripple, dc load voltage, VL = 16.97 V\n",
- "But, due to 0.7V across conducting diode actual dc voltage is, VL = 16.27 V\n",
- "To calculate ripple get, dc load current,\n",
- "DC Load current IL= 3.39 mA\n",
- "As per ripple formula,\n",
- "Ripple voltage VR= 0.28 V\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 4-8, Page 110"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vrms=120 #RMS value of supply(V)\n",
- "N12=5 #turn ratio\n",
- "RL=5 #Load resistance(KOhm)\n",
- "C=100 #Capacitance(uF)\n",
- "f=60 #Frequency(Hz)\n",
- "\n",
- "V2=Vrms/N12 #RMS secondary voltage(V)\n",
- "Vp=V2/0.707 #peak secondary voltage(V)\n",
- "VL=Vp #dc load voltage(V)\n",
- "IL=VL/RL #Load current(mA)\n",
- "VR=(IL/(2*f*C))*(10**3) #ripple voltage(V)\n",
- "\n",
- "print 'RMS secondary voltage V2=',V2,'V'\n",
- "print 'Peak secondary voltage Vp=',round(Vp,2),'V'\n",
- "print 'with ideal diode and small ripple, dc load voltage, VL =',round(VL,2),'V'\n",
- "print 'But, due to 1.4V across two conducting diodes actual dc voltage is, VL =',round((VL-1.4),2),'V'\n",
- "print 'To calculate ripple get, dc load current,'\n",
- "print 'DC Load current IL=',round(IL,2),'mA'\n",
- "print 'As per ripple formula,'\n",
- "print 'Ripple voltage VR=',round(VR,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "RMS secondary voltage V2= 24 V\n",
- "Peak secondary voltage Vp= 33.95 V\n",
- "with ideal diode and small ripple, dc load voltage, VL = 33.95 V\n",
- "But, due to 1.4V across two conducting diodes actual dc voltage is, VL = 32.55 V\n",
- "To calculate ripple get, dc load current,\n",
- "DC Load current IL= 6.79 mA\n",
- "As per ripple formula,\n",
- "Ripple voltage VR= 0.57 V\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 4-9, Page 111"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vrms=120 #RMS value of supply(V)\n",
- "N12=15 #turn ratio\n",
- "RL=0.5 #Load resistance(KOhm)\n",
- "C=4700 #Capacitance(uF)\n",
- "f=60 #Frequency(Hz)\n",
- "\n",
- "V2=Vrms/N12 #RMS secondary voltage(V)\n",
- "Vp=V2/0.707 #peak secondary voltage(V)\n",
- "VL=Vp-1.4 #dc load voltage(V)\n",
- "IL=VL/RL #Load current(mA)\n",
- "VR=(IL/(2*f*C))*(10**3) #ripple voltage(V)\n",
- "\n",
- "print 'RMS secondary voltage V2=',V2,'V'\n",
- "print 'Peak secondary voltage Vp=',round(Vp,2),'V'\n",
- "print 'with ideal diode and small ripple & due to 1.4V across two conducting diodes actual dc voltage is, VL =',round(VL,2),'V'\n",
- "print 'To calculate ripple get, dc load current,'\n",
- "print 'DC Load current IL=',round(IL,2),'mA'\n",
- "print 'As per ripple formula,'\n",
- "print 'Ripple voltage VR=',round((VR*1000),2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "RMS secondary voltage V2= 8 V\n",
- "Peak secondary voltage Vp= 11.32 V\n",
- "with ideal diode and small ripple & due to 1.4V across two conducting diodes actual dc voltage is, VL = 9.92 V\n",
- "To calculate ripple get, dc load current,\n",
- "DC Load current IL= 19.83 mA\n",
- "As per ripple formula,\n",
- "Ripple voltage VR= 35.16 mV\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 4-10, Page 114"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vrms=120 #RMS value of supply(V)\n",
- "N12=8 #turn ratio\n",
- "f=60 #Frequency(Hz)\n",
- "\n",
- "V2=Vrms/N12 #RMS secondary voltage(V)\n",
- "Vp=V2/0.707 #peak secondary voltage(V)\n",
- "PIV = Vp #Peak Inverse Voltage(V)\n",
- "\n",
- "print 'RMS secondary voltage V2=',V2,'V'\n",
- "print 'Peak inverse voltage PIV =',round(PIV,2),'V'\n",
- "print 'PIV << breakdown voltage(50V), So, it is safe to use IN4001'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "RMS secondary voltage V2= 15 V\n",
- "Peak inverse voltage PIV = 21.22 V\n",
- "PIV << breakdown voltage(50V), So, it is safe to use IN4001\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_5_New.ipynb b/Electronic_Principles_/Chapter_5_New.ipynb
deleted file mode 100644
index cfea03f3..00000000
--- a/Electronic_Principles_/Chapter_5_New.ipynb
+++ /dev/null
@@ -1,446 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 5 SPECIAL-PURPOSE DIODES"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-1, Page 146"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vsmin=20 #Source voltage minimum(V)\n",
- "Vsmax=40 #Source voltage maximum(V)\n",
- "Vbd=10 #Breakdown voltage(V)\n",
- "R=0.82 #Resistance(KOhm)\n",
- "\n",
- "Vr1=Vsmin-Vbd #voltage across resistor(V)\n",
- "Is1=Vr1/R #Minimum current(mA)\n",
- "Vr2=Vsmax-Vbd #voltage across resistor(V)\n",
- "Is2=Vr2/R #Maximum current(mA)\n",
- "\n",
- "print 'Ideally, zener diode acts as a battery(of breakdown voltage = 10V) shown in figure 5-4b'\n",
- "print 'Minimum current Is1=',round(Is1,2),'mA'\n",
- "print 'Maximum current Is1=',round(Is2,2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Ideally, zener diode acts as a battery(of breakdown voltage = 10V) shown in figure 5-4b\n",
- "Minimum current Is1= 12.2 mA\n",
- "Maximum current Is1= 36.59 mA\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-2, Page 149"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vs=18 #supply voltage(V)\n",
- "Rs=0.27 #source resistance(KOhm)\n",
- "RL=1 #Load resistance(KOhm)\n",
- "Vz=10 #Zener voltage(V)\n",
- "\n",
- "VTH=(RL/(Rs+RL))*Vs #Thevenin voltage(V)\n",
- "\n",
- "print 'Thevenin voltage VTH = ',round(VTH,2),'V'\n",
- "print 'Thevenin voltage is greater than zener voltage, zener diode is operating in breakdown region.'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Thevenin voltage VTH = 14.17 V\n",
- "Thevenin voltage is greater than zener voltage, zener diode is operating in breakdown region.\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-3, Page 149"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vs=18 #supply voltage(V)\n",
- "Rs=0.27 #source resistance(KOhm)\n",
- "RL=1 #Load resistance(KOhm)\n",
- "Vbd=10 #Zener voltage(V)\n",
- "\n",
- "Vr=Vs-Vbd #voltage across resistor(V)\n",
- "Is=Vr/Rs #Current(mA)\n",
- "IL=Vbd/RL #Current(mA)\n",
- "Iz=Is-IL #Zener current(mA)\n",
- "\n",
- "print 'Load current IL = ',IL,'mA'\n",
- "print 'Zener current Iz = ',round(Iz,2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Load current IL = 10 mA\n",
- "Zener current Iz = 19.63 mA\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-7, Page 153"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Iz=20 #zener current(mA)\n",
- "Rz=8.5 #zener resistance(Ohm)\n",
- "Vbd=10 #Zener voltage(V)\n",
- "\n",
- "DVL=Iz*Rz/1000 #change in load voltage(V)\n",
- "VL=Vbd+DVL #Load voltage(V)\n",
- "\n",
- "print 'Change in load voltage DVL =',DVL,'V'\n",
- "print 'Load voltage with second approx., VL =',VL,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Change in load voltage DVL = 0.17 V\n",
- "Load voltage with second approx., VL = 10.17 V\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-8, Page 154"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Rs=270 #Source resistance (Ohm)\n",
- "Rz=8.5 #zener resistance(Ohm)\n",
- "VRin=2 #Zener voltage(V)\n",
- "\n",
- "VRout=(Rz/Rs)*VRin*1000 #Load ripple voltage(V)\n",
- "\n",
- "print 'Load ripple voltage VRout=',round(VRout,2),'mV'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Load ripple voltage VRout= 62.96 mV\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-10, Page 157"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vil=22 #input voltage range low(V)\n",
- "Vih=30 #input voltage range high(V)\n",
- "Vz=12 #regulated output voltage(V)\n",
- "Rl=140 #Load resistance low(KOhm)\n",
- "Rh=10 #Load resistance high(KOhm)\n",
- "\n",
- "RSmax=Rl*(float(Vil)/float(Vz)-1) #Maximum series resistance\n",
- "\n",
- "print 'Maximum series resistance RSmax =',round(RSmax,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum series resistance RSmax = 116.67 V\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-11, Page 157"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "Vil=15 #input voltage range low(V)\n",
- "Vih=20 #input voltage range high(V)\n",
- "Vz=6.8 #regulated output voltage(V)\n",
- "Il=5 #Load current low(mA)\n",
- "Ih=20 #Load current high(mA)\n",
- "\n",
- "RSmax=(Vil-float(Vz))/Ih*1000 #Maximum series resistance\n",
- "\n",
- "print 'Maximum series resistance RSmax =',RSmax,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum series resistance RSmax = 410.0 V\n"
- ]
- }
- ],
- "prompt_number": 69
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-12, Page 168"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vi=50 #voatage supply(V)\n",
- "Rs=2.2 #series resistance(KOhm)\n",
- "Vf=2 #forward approx. voltage\n",
- " \n",
- "Is=(Vi-Vf)/Rs\n",
- "\n",
- "print 'LED current Is =',round(Is,2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "LED current Is = 21.82 mA\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-13, Page 168"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vs=9 #voatage supply(V)\n",
- "Rs=470.0 #series resistance(Ohm)\n",
- "Vf=2 #forward approx. voltage\n",
- " \n",
- "Is=(Vs-Vf)/Rs\n",
- "\n",
- "print 'LED current Is =',round((Is*1000),2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "LED current Is = 14.89 mA\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-14, Page 169"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "Vac=20 #AC voatage supply(V)\n",
- "Rs=680.0 #series resistance(KOhm)\n",
- " \n",
- "Vacp=1.414*Vac #peak source voltage(V)\n",
- "Is1=(Vacp/Rs)*1000 #approx. peak current(mA)\n",
- "Is2=Is1/math.pi #average of half-wave current through LED(mA)\n",
- "P=(Vac)**2/Rs #Power dissipation(W)\n",
- "\n",
- "print 'approx. peak LED current Is1 =',round(Is1,2),'mA'\n",
- "print 'average of half-wave current through LED Is2 =',round(Is2,2),'mA'\n",
- "print 'Power dissipation P =',round(P,2),'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "approx. peak LED current Is1 = 41.59 mA\n",
- "average of half-wave current through LED Is2 = 13.24 mA\n",
- "Power dissipation P = 0.59 W\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 5-15, Page 170"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "Vs=120 #AC voatage supply(V)\n",
- "f=60 #frequency(Hz)\n",
- "C=0.68 #series resistance(KOhm)\n",
- " \n",
- "Xc=1/(2*math.pi*f*C)*1000 #capacitive reactance(KOhm)\n",
- "Vacp=Vs*1.414\n",
- "Is1=(Vacp/Xc) #approx. peak current(mA)\n",
- "Is2=Is1/math.pi #average current through LED(mA)\n",
- "\n",
- "print 'Capacitance reactance Xc = ',round(Xc,2),'KOhm'\n",
- "print 'approx. peak LED current Is1 =',round(Is1,2),'mA'\n",
- "print 'average current through LED Is2 =',round(Is2,2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Capacitance reactance Xc = 3.9 KOhm\n",
- "approx. peak LED current Is1 = 43.5 mA\n",
- "average current through LED Is2 = 13.85 mA\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_6_New.ipynb b/Electronic_Principles_/Chapter_6_New.ipynb
deleted file mode 100644
index 990f6ef8..00000000
--- a/Electronic_Principles_/Chapter_6_New.ipynb
+++ /dev/null
@@ -1,534 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 6 BIPOLAR JUNCTION TRANSISTOR"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-1, Page 194"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Ic=10 #collector current(mA)\n",
- "Ib=40.0/1000.0 #base current (mA)\n",
- "\n",
- "Bdc=Ic/Ib #Current gain\n",
- "\n",
- "print 'Current gain Bdc =',Bdc"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Current gain Bdc = 250.0\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-2, Page 194"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Bdc=175 #current gain\n",
- "Ib=0.1 #base current (mA)\n",
- "\n",
- "Ic=Bdc*Ib #Current gain\n",
- "\n",
- "print 'Collector current Ic =',Ic,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Collector current Ic = 17.5 mA\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-3, Page 195"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Bdc=135.0 #current gain\n",
- "Ic=2.0 #collector current (mA)\n",
- "\n",
- "Ib=(Ic/Bdc)*1000 #Current gain\n",
- "\n",
- "print 'Base current Ib =',round(Ib,2),'uA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Base current Ib = 14.81 uA\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-4, Page 197"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Vbb=2 #base source voltage(V)\n",
- "Rb=100 #base resistor (KOhm)\n",
- "Bdc=200 #current gain\n",
- "Vbe=0.7 #base-emitter voltage drop(V)\n",
- "\n",
- "Ib=((Vbb-Vbe)/Rb)*1000 #base current(uA)\n",
- "Ic=Bdc*Ib/1000 #Collector current(mA)\n",
- "\n",
- "print 'Base current Ib =',Ib,'uA'\n",
- "print 'Collector current Ic =',Ic,'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Base current Ib = 13.0 uA\n",
- "Collector current Ic = 2.6 mA\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-5, Page 201"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VBB=10 #Base voltage (V)\n",
- "RC=2 #Collector resistance(KOhm)\n",
- "VCC=10 #collector voltage(V)\n",
- "Bdc=300 #current gain\n",
- "RB=1 #base resistance (MOhm)\n",
- "VBE=0.7 #base-emitter voltage drop(V) \n",
- "\n",
- "IB=((VBB-VBE)/RB) #base current(uA)\n",
- "IC=Bdc*IB/1000 #Collector current(mA)\n",
- "VCE=VCC-(IC*RC) #Collector-emitter voltage(V)\n",
- "PD=VCE*IC #Collector power dissipation(W)\n",
- "\n",
- "print 'Base current IB =',IB,'uA'\n",
- "print 'Collector current IC =',IC,'mA'\n",
- "print 'Collector-emitter voltage VCE =',VCE,'V'\n",
- "print 'Power dissipation PD = ',round(PD,2),'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Base current IB = 9.3 uA\n",
- "Collector current IC = 2.79 mA\n",
- "Collector-emitter voltage VCE = 4.42 V\n",
- "Power dissipation PD = 12.33 W\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-6, Page 202"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VBB=10 #Base voltage (V)\n",
- "RC=470 #Collector resistance(Ohm)\n",
- "VCC=10 #collector voltage(V)\n",
- "Bdc=300 #current gain\n",
- "VCE=5.4535 #collector-emitter voltage shown on multisim screen \n",
- "RB=330 #base resistance (KOhm)\n",
- "VBE=0.7 #base-emitter voltage drop \n",
- "\n",
- "IB=((VBB-VBE)/RB)*1000 #base current(uA)\n",
- "V=VCC-VCE #voltage across Rc\n",
- "IC=(V/RC)*1000 #Collector current(mA)\n",
- "Bdc=int((IC/IB)*1000) #Collector-emitter voltage\n",
- "\n",
- "print 'Base current IB =',round(IB,2),'uA'\n",
- "print 'voltage across Rc VRc = ',round(V,2),'V'\n",
- "print 'Collector current IC =',round(IC,2),'mA'\n",
- "print 'Current gain Bdc = ',Bdc"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Base current IB = 28.18 uA\n",
- "voltage across Rc VRc = 4.55 V\n",
- "Collector current IC = 9.67 mA\n",
- "Current gain Bdc = 343\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-7, Page 204"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VBB=15 #Base voltage (V)\n",
- "RC=3.6 #Collector resistance(KOhm)\n",
- "VCC=15 #collector voltage(V)\n",
- "Bdc=100 #current gain\n",
- "RB=470 #base resistance (KOhm)\n",
- "VBE=0 #base-emitter voltage drop(V) \n",
- "\n",
- "IB=((VBB-VBE)/float(RB))*1000 #base current(uA)\n",
- "IC=Bdc*IB/1000 #Collector current(mA)\n",
- "VCE=VCC-(IC*RC) #Collector-emitter voltage(V)\n",
- "IE=IC+(IB/1000) #emitter current(mA)\n",
- "\n",
- "print 'Base current IB =',round(IB,2),'uA'\n",
- "print 'Collector current IC =',round(IC,2),'mA'\n",
- "print 'Collector-emitter voltage VCE = ',round(VCE,2),'V'\n",
- "print 'Emitter current IE =',round(IE,2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Base current IB = 31.91 uA\n",
- "Collector current IC = 3.19 mA\n",
- "Collector-emitter voltage VCE = 3.51 V\n",
- "Emitter current IE = 3.22 mA\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-8, Page 205"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VBB=15 #Base voltage (V)\n",
- "RC=3.6 #Collector resistance(KOhm)\n",
- "VCC=15 #collector voltage(V)\n",
- "Bdc=100 #current gain\n",
- "RB=470 #base resistance (KOhm)\n",
- "VBE=0.7 #base-emitter voltage drop(V) \n",
- "\n",
- "IB=((VBB-VBE)/float(RB))*1000 #base current(uA)\n",
- "IC=Bdc*IB/1000 #Collector current(mA)\n",
- "VCE=VCC-(IC*RC) #Collector-emitter voltage(V)\n",
- "\n",
- "print 'Base current IB =',round(IB,2),'uA'\n",
- "print 'Collector current IC =',round(IC,2),'mA'\n",
- "print 'Collector-emitter voltage VCE = ',round(VCE,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Base current IB = 30.43 uA\n",
- "Collector current IC = 3.04 mA\n",
- "Collector-emitter voltage VCE = 4.05 V\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-9, Page 206"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VBB=15 #Base voltage (V)\n",
- "RC=3.6 #Collector resistance(KOhm)\n",
- "VCC=15 #collector voltage(V)\n",
- "Bdc=100 #current gain\n",
- "RB=470 #base resistance (KOhm)\n",
- "VBE=1 #base-emitter voltage drop(V) \n",
- "\n",
- "IB=((VBB-VBE)/float(RB))*1000 #base current(uA)\n",
- "IC=Bdc*IB/1000 #Collector current(mA)\n",
- "VCE=VCC-(IC*RC) #Collector-emitter voltage(V)\n",
- "\n",
- "print 'Base current IB =',round(IB,2),'uA'\n",
- "print 'Collector current IC =',round(IC,2),'mA'\n",
- "print 'Collector-emitter voltage VCE = ',round(VCE,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Base current IB = 29.79 uA\n",
- "Collector current IC = 2.98 mA\n",
- "Collector-emitter voltage VCE = 4.28 V\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-10, Page 206"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VBB=5 #Base voltage (V)\n",
- "RC=3.6 #Collector resistance(KOhm)\n",
- "VCC=15 #collector voltage(V)\n",
- "Bdc=100 #current gain\n",
- "RB=470 #base resistance (KOhm)\n",
- "VBE1=0 #base-emitter voltage drop1(V) \n",
- "VBE2=0.7 #base-emitter voltage drop2(V)\n",
- "VBE3=1 #base-emitter voltage drop3(V)\n",
- "\n",
- "IB1=((VBB-VBE1)/float(RB))*1000 #base current1(uA)\n",
- "IC1=Bdc*IB1/1000 #Collector current1(mA)\n",
- "VCE1=VCC-(IC1*RC) #Collector-emitter voltage1(V)\n",
- "\n",
- "IB2=((VBB-VBE2)/float(RB))*1000 #base current2(uA)\n",
- "IC2=Bdc*IB2/1000 #Collector current2(mA)\n",
- "VCE2=VCC-(IC2*RC) #Collector-emitter voltage2(V)\n",
- "\n",
- "IB3=((VBB-VBE3)/float(RB))*1000 #base current3(uA)\n",
- "IC3=Bdc*IB3/1000 #Collector current3(mA)\n",
- "VCE3=VCC-(IC3*RC) #Collector-emitter voltage3(V)\n",
- "\n",
- "print 'Base current IB1 =',round(IB1,2),'uA'\n",
- "print 'Collector current IC1 =',round(IC1,2),'mA'\n",
- "print 'Collector-emitter voltage VCE1 = ',round(VCE1,2),'V'\n",
- "\n",
- "print 'Base current IB2 =',round(IB2,2),'uA'\n",
- "print 'Collector current IC2 =',round(IC2,2),'mA'\n",
- "print 'Collector-emitter voltage VCE2 = ',round(VCE2,2),'V'\n",
- "\n",
- "print 'Base current IB3 =',round(IB3,2),'uA'\n",
- "print 'Collector current IC3 =',round(IC3,2),'mA'\n",
- "print 'Collector-emitter voltage VCE3 = ',round(VCE3,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Base current IB1 = 10.64 uA\n",
- "Collector current IC1 = 1.06 mA\n",
- "Collector-emitter voltage VCE1 = 11.17 V\n",
- "Base current IB2 = 9.15 uA\n",
- "Collector current IC2 = 0.91 mA\n",
- "Collector-emitter voltage VCE2 = 11.71 V\n",
- "Base current IB3 = 8.51 uA\n",
- "Collector current IC3 = 0.85 mA\n",
- "Collector-emitter voltage VCE3 = 11.94 V\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-11, Page 211"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCE=10 #Collector-emitter voltage(V)\n",
- "IC=20 #Collector current(mA)\n",
- "T=25 #Ambient temperature(deg C)\n",
- " \n",
- "PD = VCE*IC #Power dissipation(mW)\n",
- "\n",
- "print 'Power dissipation PD = ',PD,'mW'\n",
- "print 'for 25 deg C, power rating is 625 mW So, transistor is well within power rating.'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power dissipation PD = 200 mW\n",
- "for 25 deg C, power rating is 625 mW So, transistor is well within power rating.\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 6-12, Page 212"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "T1=100 #Ambient temperature(deg C)\n",
- "T2=25 #Reference temperature(deg C)\n",
- "mf=5 #Multiply factor(mW/deg C) \n",
- "Pr=625 #power rating(mW)\n",
- "\n",
- "Td=T1-T2 #Temperature difference(deg C)\n",
- "Pd=mf*Td #Difference in power(mW)\n",
- "PDmax=Pr-Pd #Maximum power dissipation(mW)\n",
- "\n",
- "print 'Maximum Power dissipation PDmax = ',PDmax,'mW'\n",
- "print 'for 25 deg C, power rating is 625 mW So, transistor is yet within power rating.'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum Power dissipation PDmax = 250 mW\n",
- "for 25 deg C, power rating is 625 mW So, transistor is yet within power rating.\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_7_New.ipynb b/Electronic_Principles_/Chapter_7_New.ipynb
deleted file mode 100644
index bf956ac7..00000000
--- a/Electronic_Principles_/Chapter_7_New.ipynb
+++ /dev/null
@@ -1,427 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 7 TRANSISTOR FUNDAMENTALS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7-1, Page 228"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=30 #collector voltage(V)\n",
- "RC=3 #Collector resistance (KOhm)\n",
- "\n",
- "ICsat=VCC/RC #Saturation current(mA)\n",
- "VCEc=VCC #VCE cutoff voltage(V)\n",
- "\n",
- "print 'Saturation current IC(saturation) = ',ICsat,'mA'\n",
- "print 'Collector emitter cutoff VCE(cutoff) = ',VCEc,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Saturation current IC(saturation) = 10 mA\n",
- "Collector emitter cutoff VCE(cutoff) = 30 V\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7-2, Page 228"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=9 #collector voltage(V)\n",
- "RC=3 #Collector resistance(KOhm)\n",
- "\n",
- "ICsat=VCC/RC #Saturation current(mA)\n",
- "VCEc=VCC #VCE cutoff voltage(V)\n",
- "\n",
- "print 'Saturation current IC(saturation) = ',ICsat,'mA'\n",
- "print 'Collector emitter cutoff VCE(cutoff) = ',VCEc,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Saturation current IC(saturation) = 3 mA\n",
- "Collector emitter cutoff VCE(cutoff) = 9 V\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7-3, Page 229"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15 #collector voltage(V)\n",
- "RC=1 #Collector resistance(KOhm)\n",
- "\n",
- "ICsat=VCC/RC #Saturation current(mA)\n",
- "VCEc=VCC #VCE cutoff voltage(V)\n",
- "\n",
- "print 'Saturation current IC(saturation) = ',ICsat,'mA'\n",
- "print 'Collector emitter cutoff VCE(cutoff) = ',VCEc,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Saturation current IC(saturation) = 15 mA\n",
- "Collector emitter cutoff VCE(cutoff) = 15 V\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7-4, Page 229"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15 #collector voltage(V)\n",
- "RC=3 #Collector resistance(KOhm)\n",
- "\n",
- "ICsat=VCC/RC #Saturation current(mA)\n",
- "VCEc=VCC #VCE cutoff voltage(V)\n",
- "\n",
- "print 'Saturation current IC(saturation) = ',ICsat,'mA'\n",
- "print 'Collector emitter cutoff VCE(cutoff) = ',VCEc,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Saturation current IC(saturation) = 5 mA\n",
- "Collector emitter cutoff VCE(cutoff) = 15 V\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7-5, Page 232"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15.0 #collector voltage(V)\n",
- "RC=3 #collector resistance (KOhm)\n",
- "VBB=15.0 #base voltage(V)\n",
- "RB=1 #base resistance (MOhm)\n",
- "Bdc=100 #current gain\n",
- "\n",
- "IB1=(VBB/RB) #base current(uA)\n",
- "IC1=Bdc*IB1/1000 #Collector current(mA)\n",
- "VCE1=VCC-(IC1*RC) #Collector-emitter voltage(V)\n",
- "\n",
- "IB2=((VBB-0.7)/RB) #base current(uA)\n",
- "IC2=Bdc*IB2/1000 #Collector current(mA)\n",
- "VCE2=VCC-(IC2*RC) #Collector-emitter voltage(V)\n",
- "\n",
- "print 'Collector emitter voltage VCE1 = ',VCE1,'V'\n",
- "print 'For second approx., collector emitter voltage VCE2 = ',VCE2,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Collector emitter voltage VCE1 = 10.5 V\n",
- "For second approx., collector emitter voltage VCE2 = 10.71 V\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7-6, Page 235"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=20.0 #collector voltage(V)\n",
- "RC=10 #collector resistance (KOhm)\n",
- "VBB=10.0 #base voltage(V)\n",
- "RB=1 #base resistance (MOhm)\n",
- "Bdc=50 #current gain\n",
- "\n",
- "IB=(VBB/RB) #base current(uA)\n",
- "IC=Bdc*IB/1000 #Collector current(mA)\n",
- "VCE=VCC-(IC*RC) #Collector-emitter voltage(V)\n",
- "\n",
- "print 'Collector emitter voltage VCE = ',VCE,'V'\n",
- "print 'So, transistor is in active region.'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Collector emitter voltage VCE = 15.0 V\n",
- "So, transistor is in active region\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7-7, Page 235"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=20.0 #collector voltage(V)\n",
- "RC=5 #collector resistance (KOhm)\n",
- "VBB=10.0 #base voltage(V)\n",
- "RB=100 #base resistance(KOhm)\n",
- "Bdco=50 #old current gain\n",
- "\n",
- "ICsat=VCC/RC #Saturation current(mA)\n",
- "IB=VBB/RB #base current(mA)\n",
- "IC=Bdc*IB/1000 #Collector current(mA)\n",
- "VCE=VCC-(IC*RC) #Collector-emitter voltage(V)\n",
- "Bdcn=ICsat/IB #New current gain\n",
- " \n",
- "\n",
- "print 'ICsat = ',ICsat,'mA'\n",
- "print 'Bdc = ',int(Bdcn)\n",
- "print 'Current can not be more than ICsat So, current gain will decrease.'\n",
- "print 'So, transistor has two current gain: active region & saturation region.'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "ICsat = 4.0 mA\n",
- "Bdc = 40\n",
- "Current can not be more than ICsat So, current gain will decrease.\n",
- "So, transistor has two current gain: active region & saturation region.\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7-8, Page 236"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=5.0 #collector voltage(V)\n",
- "ICEO=50 #Collector leakage current(nA)\n",
- "RC=1 #collector resistance (KOhm)\n",
- "VBB=10.0 #base voltage(V)\n",
- "RB=10 #base resistance(KOhm)\n",
- "VCEs=0.15 #VCE saturation(V)\n",
- "\n",
- "VCE=VCC-((ICEO*RC)*10**-6) #Collector-emitter voltage(V)\n",
- "\n",
- "print 'Two values of output voltage are 0 and 5 V'\n",
- "print 'first voltage is voltage across saturated transistor = ',VCEs,'V' \n",
- "print 'Second voltage is: VCE = ',round(VCE,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Two values of output voltage are 0 and 5 V\n",
- "first voltage is voltage across saturated transistor = 0.15 V\n",
- "Second voltage is: VCE = 5.0 V\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7-9, Page 239"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15 #collector voltage(V)\n",
- "VBB=5 #Base voltage(V)\n",
- "RC=2 #collector resistance (KOhm)\n",
- "VBE=0.7 #base voltage(V)\n",
- "RB=100 #base resistance(KOhm)\n",
- "RE=1 #emitter resistance(KOhm)\n",
- "\n",
- "\n",
- "VE=VBB-VBE #Emitter voltage(V)\n",
- "IE=(VE/RE) #emitter current(mA)\n",
- "IC=IE #Collector current(mA)\n",
- "VC=VCC-(IC*RC) #Collector-emitter voltage(V)\n",
- "VCE=VC-VE #Collector-emitter voltage(V)\n",
- " \n",
- "\n",
- "print 'Emitter current IE = ',IE,'mA'\n",
- "print 'Emitter voltage VE = ',VE,'V'\n",
- "print 'Collector emitter voltage VCE = ',VCE,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Emitter current IE = 4.3 mA\n",
- "Emitter voltage VE = 4.3 V\n",
- "Collector emitter voltage VCE = 2.1 V\n"
- ]
- }
- ],
- "prompt_number": 42
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 7-10, Page 242"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=20 #collector voltage(V)\n",
- "VBB=15 #Base voltage(V)\n",
- "VBE=0.7 #base voltage(V)\n",
- "RE=1.5 #emitter resistance(KOhm)\n",
- "IE=25.0 #emitter current(mA)\n",
- "\n",
- "VE=IE*RE #emitter current(mA)\n",
- "RE=(VBB/IE)*1000 #emitter resistance(KOhm)\n",
- "RE2=((VBB-VBE)/IE)*1000 #emitter resistance(KOhm)\n",
- " \n",
- "print 'Emitter voltage VE = ',VE,'V'\n",
- "print 'Emitter resistance RE = ',RE,'Ohm'\n",
- "print 'Emitter resistance RE2 = ',RE2,'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Emitter voltage VE = 37.5 V\n",
- "Emitter resistance RE = 600.0 Ohm\n",
- "Emitter resistance RE2 = 572.0 Ohm\n"
- ]
- }
- ],
- "prompt_number": 48
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_8_New.ipynb b/Electronic_Principles_/Chapter_8_New.ipynb
deleted file mode 100644
index 5db68b59..00000000
--- a/Electronic_Principles_/Chapter_8_New.ipynb
+++ /dev/null
@@ -1,300 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 8 TRANSISTOR BIASING"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 8-1, Page 263"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "RE=1 #Emitter resistance (KOhm)\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "\n",
- "VBB=(R2/(R1+R2))*VCC #Base voltage(V)\n",
- "VE=VBB-VBE #Emitter voltage(V)\n",
- "IE=VE/RE #Emitter current(mA)\n",
- "IC=IE #Collector current(mA)\n",
- "VC=VCC-(IC*RC) #collector to ground voltage(V)\n",
- "VCE=VC-VE #Collector-emitter voltage(V)\n",
- "\n",
- "print 'Collector current IC = ',round(IC,2),'mA'\n",
- "print 'Collector-emitter voltage VCE = ',round(VCE,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Collector current IC = 1.1 mA\n",
- "Collector-emitter voltage VCE = 4.92 V\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 8-3, Page 267"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "RE=1 #Emitter resistance (KOhm)\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "Bdc=200 #current gain\n",
- "\n",
- "R=(R1*R2)/(R1+R2) #Thevenin resistance(KOhm)\n",
- "Ri=Bdc*RE #Base input resistance(KOhm)\n",
- "R100=0.01*Ri #100th of Ri(KOhm)\n",
- "VBB=(R2/(R1+R2))*VCC #Base voltage(V)\n",
- "VE=VBB-VBE #Emitter voltage(V)\n",
- "IE=VE/(RE+(R/Ri)) #Emitter current(mA)\n",
- "\n",
- "print 'As per stiff voltage divider rule, R1||R2 < 0.01 Bdc*RE, So, Voltage divider is stiff.'\n",
- "print 'Emitter current IE = ',round(IE,2),'mA'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "As per stiff voltage divider rule, R1||R2 < 0.01 Bdc*RE, So, Voltage divider is stiff.\n",
- "Emitter current IE = 1.09 mA\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 8-4, Page 269"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "IC=10 #Collector current(mA)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "Bdc=100 #current gain\n",
- "\n",
- "IE=IC #Emitter current(mA)\n",
- "VE=0.1*VCC #Emitter voltage(V)\n",
- "RE=(VE/IE)*1000 #Emitter resistance (Ohm)\n",
- "RC=4*RE #Collector resistance(Ohm)\n",
- "R2=0.01*Bdc*RE #Base input resistance2(Ohm)\n",
- "V2=VE+VBE #voltage across R1(V)\n",
- "V1=VCC-V2 #voltage across R2(V)\n",
- "R1=(V1/V2)*R2 #Base input resistance1(Ohm)\n",
- "\n",
- "print 'Emitter resistance RE = ',RE,'Ohm'\n",
- "print 'Collector resistance RC = ',RC,'Ohm'\n",
- "print 'Base resistance R1 = ',round(R1,2),'Ohm'\n",
- "print 'Base resistance R2 = ',R2,'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Emitter resistance RE = 100.0 Ohm\n",
- "Collector resistance RC = 400.0 Ohm\n",
- "Base resistance R1 = 488.24 Ohm\n",
- "Base resistance R2 = 100.0 Ohm\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 8-5, Page 271"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "RE=1.8 #Emitter resistance (KOhm)\n",
- "RB=2.7 #Base resistance (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "VEE=2 #emitter voltage(V)\n",
- "\n",
- "VBB=0 #Base voltage(V)\n",
- "VE=VEE-VBE #Emitter to ground voltage(V)\n",
- "IE=VE/RE #Emitter current(mA)\n",
- "IC=IE #Collector current(mA)\n",
- "VC=VCC-(IC*RC) #collector to ground voltage(V)\n",
- "\n",
- "print 'Emitter current IE = ',round(IE,2),'mA'\n",
- "print 'Collector voltage VC = ',VC,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Emitter current IE = 0.72 mA\n",
- "Collector voltage VC = 7.4 V\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 8-6, Page 271"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=15 #collector voltage(V)\n",
- "RC=10 #Collector resistance (KOhm)\n",
- "RE=20 #Emitter resistance (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "VEE=15 #emitter voltage(V)\n",
- "\n",
- "VBB=0 #Base voltage(V)\n",
- "VE=VEE-VBE #Emitter to ground voltage(V)\n",
- "IE=VE/RE #Emitter current(mA)\n",
- "IC=IE #Collector current(mA)\n",
- "VC=VCC-(IC*RC) #collector to ground voltage(V)\n",
- "\n",
- "print 'Emitter current IE = ',IE,'mA'\n",
- "print 'Collector voltage VC = ',VC,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Emitter current IE = 0.715 mA\n",
- "Collector voltage VC = 7.85 V\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 8-7, Page 278"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=-10 #collector supply voltage(V)\n",
- "VEE=-VCC #Emitter supply voltage(V)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "RE=1 #Emitter resistance (KOhm)\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "\n",
- "V2=(R2/(R1+R2))*VEE #Base voltage(V)\n",
- "IE=(V2-VBE)/RE #Emitter current(mA)\n",
- "VC=IE*RC #collector to ground voltage(V)\n",
- "VB=VEE-V2 #Base to ground voltage(V)\n",
- "VE=VEE-(V2-VBE) #Emitter to ground voltage(V)\n",
- "\n",
- "print 'Emitter current IE = ',round(IE,2),'mA'\n",
- "print 'Collector to ground voltage VC = ',round(VC,2),'V'\n",
- "print 'Base to ground voltage VB = ',round(VB,2),'V'\n",
- "print 'Emitter to ground voltage VE = ',round(VE,2),'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Emitter current IE = 1.1 mA\n",
- "Collector to ground voltage VC = 3.97 V\n",
- "Base to ground voltage VB = 8.2 V\n",
- "Emitter to ground voltage VE = 8.9 V\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/Chapter_9_New.ipynb b/Electronic_Principles_/Chapter_9_New.ipynb
deleted file mode 100644
index 3fb67bca..00000000
--- a/Electronic_Principles_/Chapter_9_New.ipynb
+++ /dev/null
@@ -1,266 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "CHAPTER 9 AC MODELS"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 9-1, Page 289"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "f=20 #frequency(Hz)\n",
- "R=2 #Resistance(KOhm)\n",
- "\n",
- "XC=0.1*R #Capacitive reactance(Ohm)\n",
- "C=(1/(2*math.pi*f*XC))*1000 #Capacitance(uF)\n",
- "\n",
- "print 'Capacitance C = ',round(C,2),'uF'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Capacitance C = 39.79 uF\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 9-2, Page 293"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "f=1 #frequency(KHz)\n",
- "R1=600 #Resistance1(Ohm)\n",
- "R2=1000 #Resistance2(Ohm)\n",
- "\n",
- "\n",
- "RTH=R1*R2/(R1+R2) #Thevenin resistance(Ohm)\n",
- "XC=0.1*RTH #Capacitive reactance(Ohm)\n",
- "C=(1/(2*math.pi*f*XC))*1000 #Capacitance(uF)\n",
- "\n",
- "print 'Capacitance C = ',round(C,2),'uF'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Capacitance C = 4.24 uF\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 9-3, Page 297"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RE=1 #Emitter resistance(KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "VEE=2 #Emitter supply voltage(V)\n",
- "\n",
- "IEQ=(VEE-VBE)/RE #Q point emitter current(mA)\n",
- "iepp=0.1*IEQ*1000 #small signal emitter current(uA) \n",
- "\n",
- "print 'Q point emitter current IEQ = ',IEQ,'mA'\n",
- "print 'Small signal emitter current iepp = ',iepp,'uApp'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Q point emitter current IEQ = 1.3 mA\n",
- "Small signal emitter current iepp = 130.0 uApp\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 9-4, Page 301"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=30 #Supply voltage(V)\n",
- "RC=5 #Collector resistance (KOhm)\n",
- "RL=100 #Emitter resistance (KOhm)\n",
- "RB=1 #Base resistance (MOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "Bdc=100 #current gain\n",
- "\n",
- "IB=(VCC-VBE)/RB #Base current(mA)\n",
- "IE=Bdc*IB/1000 #Emitter current(mA)\n",
- "re=25/IE #AC resistance(Ohm)\n",
- "\n",
- "print 'Emitter current IE = ',IE,'mA'\n",
- "print 'AC resistance re\\' = ',round(re,2),'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Emitter current IE = 2.93 mA\n",
- "AC resistance re' = 8.53 Ohm\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 9-5, Page 302"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "RE=1 #Emitter resistance (KOhm)\n",
- "R1=10 #Base resistance1 (KOhm)\n",
- "R2=2.2 #Base resistance2 (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "\n",
- "VBB=(R2/(R1+R2))*VCC #Base voltage(V)\n",
- "VE=VBB-VBE #Emitter voltage(V)\n",
- "IE=VE/RE #Emitter current(mA)\n",
- "re=25/IE #AC resistance(Ohm)\n",
- "\n",
- "print 'Emitter current IE = ',round(IE,2),'mA'\n",
- "print 'AC resistance re\\' = ',round(re,2),'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Emitter current IE = 1.1 mA\n",
- "AC resistance re' = 22.66 Ohm\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 9-6, Page 302"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "VCC=10 #collector voltage(V)\n",
- "RC=3.6 #Collector resistance (KOhm)\n",
- "RE=1 #Emitter resistance (KOhm)\n",
- "RB=2.7 #Base resistance (KOhm)\n",
- "VBE=0.7 #Base-emitter voltage drop(V)\n",
- "VEE=2 #emitter voltage(V)\n",
- "\n",
- "VE=VEE-VBE #Emitter to ground voltage(V)\n",
- "IE=VE/RE #Emitter current(mA)\n",
- "re=25/IE #AC resistance(Ohm)\n",
- "\n",
- "print 'Emitter current IE = ',IE,'mA'\n",
- "print 'AC resistance re\\' = ',round(re,2),'Ohm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Emitter current IE = 1.3 mA\n",
- "AC resistance re' = 19.23 Ohm\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Electronic_Principles_/README.txt b/Electronic_Principles_/README.txt
deleted file mode 100644
index 14f66cee..00000000
--- a/Electronic_Principles_/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Nitya Kothari
-Course: be
-College/Institute/Organization: DDU
-Department/Designation: Electronics and Communication En
-Book Title: Electronic Principles
-Author: Albert Malvino & David J. Bates
-Publisher: Tata Mcgraw Hill Education Private Limited
-Year of publication: 2006
-Isbn: 9780070634244
-Edition: 7th \ No newline at end of file
diff --git a/Electronic_Principles_/screenshots/nitya-1.png b/Electronic_Principles_/screenshots/nitya-1.png
deleted file mode 100644
index 9c466186..00000000
--- a/Electronic_Principles_/screenshots/nitya-1.png
+++ /dev/null
Binary files differ
diff --git a/Electronic_Principles_/screenshots/nitya-2.png b/Electronic_Principles_/screenshots/nitya-2.png
deleted file mode 100644
index b335594e..00000000
--- a/Electronic_Principles_/screenshots/nitya-2.png
+++ /dev/null
Binary files differ
diff --git a/Electronic_Principles_/screenshots/nitya-3.png b/Electronic_Principles_/screenshots/nitya-3.png
deleted file mode 100644
index e2215017..00000000
--- a/Electronic_Principles_/screenshots/nitya-3.png
+++ /dev/null
Binary files differ
diff --git a/Elements_Of_Mass_Transfer_Part_1/README.txt b/Elements_Of_Mass_Transfer_Part_1/README.txt
deleted file mode 100644
index 0640b5db..00000000
--- a/Elements_Of_Mass_Transfer_Part_1/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Ashutosh Kumar
-Course: btech
-College/Institute/Organization: Indian Institute of Technology - Bombay, CHAR Lab 2
-Department/Designation: Electrical Department
-Book Title: Elements Of Mass Transfer (Part 1)
-Author: N. Anantharaman & K. M. M. S. Begum
-Publisher: Prentice - Hall Of India, New Delhi
-Year of publication: 2005
-Isbn: 8120327284
-Edition: 1st \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch2.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch2.ipynb
deleted file mode 100644
index db1c8564..00000000
--- a/Elements_Of_Mass_Transfer_Part_1/ch2.ipynb
+++ /dev/null
@@ -1,1596 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:63ec039d8e0cb7cbcf7792965630fc54de76590123e48dd89f9e70d5575deae0"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 2 : Diffusion"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.1.a "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# variable declaration \n",
- "rA=.3798;\n",
- "rB=.3941;\n",
- "\n",
- "# Calculation\n",
- "rAB=(rA+rB)/2; #molecular seperation at collision \n",
- "ebyk_A=71.4;\n",
- "ebyk_B=195.2;\n",
- "ebyk_AB=(ebyk_A/ebyk_B)**.5; #energy of molecular attraction\n",
- "pt=1.013*10**5; #absolute total pressure in pascal\n",
- "T=298; #absolute temperature in kelvin\n",
- "s=T/ebyk_AB; #collision function\n",
- " #from chart f(T/ebyk_AB) = 0.5 let it be = x\n",
- "x=.5; #collision function\n",
- "MA=28; #molecular weight of nitrogen\n",
- "MB=44; #molecular weight of carbondioxide\n",
- "Mnew=((1./MA)+(1./MB))**.5;\n",
- "Dab= 10**-4*(1.084-.249*(Mnew))*T**1.5*((Mnew))/(pt*x*rAB**2);\n",
- "\n",
- "# Result\n",
- "print \" the diffisivity of nitrogen-carbondioxide is :%f *10**-5 m**2/s\"%(Dab/10**-5)\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " the diffisivity of nitrogen-carbondioxide is :1.678856 *10**-5 m**2/s\n"
- ]
- }
- ],
- "prompt_number": 30
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.1.b "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#\"part(ii)\"\n",
- "rA=.3339;\n",
- "rB=.3711;\n",
- "\n",
- "# Calculation \n",
- "\n",
- "rAB=(rA+rB)/2; #molecular seperation at collision \n",
- "ebyk_A=344.7;\n",
- "ebyk_B=78.6;\n",
- "ebyk_AB=(ebyk_A/ebyk_B)**.5; #energy of molecular attraction\n",
- "pt=200.*10**3; #absolute total pressure in pascal\n",
- "T=298.; #absolute temperature in kelvin\n",
- "s=T/ebyk_AB; #collision function\n",
- " #from chart f(T/ebyk_AB) = 0.62 let it be = x\n",
- "x=0.62; #collision function\n",
- "MA=36.5; #molecular weight of hydrogen chloride\n",
- "MB=29; #molecular weight of air\n",
- "Mnew=((1./MA)+(1./MB))**.5;\n",
- "Dab=10.**-4*(1.084-.249*(Mnew))*T**1.5*((Mnew))/(pt*x*rAB**2);\n",
- "\n",
- " # Result\n",
- "print \"\\n the diffisivity of hydrogen chloride-air is :%f *10**-6 m**2/s\"%(Dab/10**-6)\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the diffisivity of hydrogen chloride-air is :8.488596 *10**-6 m**2/s\n"
- ]
- }
- ],
- "prompt_number": 31
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.2 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "# variable declaration \n",
- "\n",
- "u=1.145*10**-3; #viscosity of water1.145cp\n",
- "v_a=5*.0148+12*.0037+1*.0074; #by kopp's law\n",
- "t=288; #temperature of water in kelvin\n",
- "MB=18; #molecular weight of water\n",
- "phi=2.26; #association parameter for solvent-water\n",
- "\n",
- "# Calculation\n",
- "D_ab=(117.3*10**-18)*((phi*MB)**.5)*(t)/(u*(v_a)**.6);\n",
- "\n",
- " # Result\n",
- "print \"\\n the diffusivity of isoamyl alcohol is :%f *10**-9 m**2/s\"%(D_ab/10**-9)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the diffusivity of isoamyl alcohol is :0.652780 *10**-9 m**2/s\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.3 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "pa1=(33./760)*1.013*10**5; #vapour pressure of ccl4 at 273 in pascal\n",
- "pa2=0;\n",
- "d=1.59; \n",
- "import math #density of liquid ccl4 in g/cm**3\n",
- "#considering o2 to be non diffusing and with \n",
- "T=273.; #temperature in kelvin\n",
- "pt=(755./780)*1.013*10**5; #total pressure in pascal\n",
- "z=.171; #thickness of film\n",
- "a=.82*10**-4; #cross-sectional area of cell in m**2\n",
- "v=.0208; #volume of ccl4 evaporated \n",
- "t=10.; #time of evaporation\n",
- "MB=154.; \n",
- "\n",
- "# Calculation\n",
- "#molecular wght of ccl4\n",
- "rate=v*d/(MB*t); #.0208cc of ccl4 is evaporating in 10hrs \n",
- "Na=rate*10.**-3/(3600.*a); #flux in kmol/m**2*S\n",
- "\n",
- "D_ab=Na*z*8314*273./(pt*(math.log((pt-pa2)/(pt-pa1)))); #molecular diffusivity in m**2/s\n",
- "\n",
- " # Result\n",
- "print \"the diffusivity of ccl4 through oxygen:%.2f *10**-6 m**2/s\"%(D_ab/10.**-6)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "the diffusivity of ccl4 through oxygen:6.27 *10**-6 m**2/s\n"
- ]
- }
- ],
- "prompt_number": 33
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.4 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "z=.0305*10**-3; #wall thickness sorrounding the crystal\n",
- "x1=0.0229;\n",
- "w1=160.; #molecular weight of copper sulphate\n",
- "w2=18.; #molecular weight of water\n",
- "Dab=7.29*10**-10; #diffusivity of copper sulphatein m**2/s\n",
- " #av=d/m\n",
- " \n",
- "# Calculation \n",
- "Mavg=x1*w1+(1-x1)*w2; #average molecular wght of solution\n",
- "d1=1193; #density of copper sulphate solution\n",
- "av1=d1/Mavg; #value of (d/m) of copper solution\n",
- "\n",
- " #for pure water\n",
- "d2=1000.; #density of water\n",
- "m2=18.; #molecular wght of water\n",
- "av2=d2/m2; #value of (d/m) of water\n",
- "allavg=(av1+av2)/2.; #average value of d/m\n",
- "xa2=0;\n",
- "import math\n",
- "\n",
- "# Result\n",
- "Na=Dab*(allavg)*math.log((1-xa2)/(1-x1))/z; #flux of cuso4 from crystal surface to bulk solution\n",
- "print \" the rate at which crystal dissolves :%f *10**-5 kmol/m**2*s\"%(Na/10**-5)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " the rate at which crystal dissolves :3.092260 *10**-5 kmol/m**2*s\n"
- ]
- }
- ],
- "prompt_number": 34
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.5.a"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "ya1=0.8;\n",
- "ya2=0.1;\n",
- "T=(273+35); #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "z=0.3*10**-3; #gas film thickness in m\n",
- "Dab=.18*10**-4; #diffusion coefficient in m**2/s\n",
- "R=8314; #universal gas constant\n",
- "\n",
- "# Calculation\n",
- "Na=Dab*pt*(ya1-ya2)/(z*R*T) #diffusion flux in kmol/m**2*s\n",
- "rate=Na*100*10**-4*3600*46; #since molecular weight of mixture is 46\n",
- "\n",
- "# Result\n",
- "print \"\\n rate of diffusion of alcohol-water vapour :%f kg/hr \"%rate\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " rate of diffusion of alcohol-water vapour :2.751429 kg/hr \n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.5.b"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "ya1=0.8;\n",
- "ya2=0.1;\n",
- "T=(273+35); #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "z=0.3*10**-3; #gas film thickness in m\n",
- "Dab=.18*10**-4; #diffusion coefficient in m**2/s\n",
- "R=8314; #universal gas constant\n",
- "import math\n",
- "#diffusion through stagnant film \n",
- "\n",
- "# Calculation\n",
- "Na=Dab*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
- "rate=Na*100*10**-4*3600*46; #since molecular weight of mixture is 46\n",
- "\n",
- "# Result\n",
- "print \"\\n rate of diffusion if water layer is stagnant :%f *10**-3 kg/s \"%(rate/(3600*10**-3))\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " rate of diffusion if water layer is stagnant :1.642207 *10**-3 kg/s \n"
- ]
- }
- ],
- "prompt_number": 35
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.6 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "T=298.; #temperature in kelvin\n",
- "pt=1.*1.013*10**5; #total pressure in pascal\n",
- "ID=25.*10**-3; #internal diameter in m of unvulcanised rubber in m\n",
- "OD=50.*10**-3; #internal diameter in m of unvulcanised rubber in m\n",
- "Ca1=2.37*10**-3; #conc. of hydrogen at the inner surface of the pipe in kmol/m**3\n",
- "Ca2=0; #conc. of hydrogen at 2\n",
- "Dab=1.8*10**-10; #diffusion coefficient in cm**2/s\n",
- "l=2; #length of pipe in m\n",
- "import math\n",
- "\n",
- "# Calculation \n",
- "# Va=Da*Sa*(pa1-pa2)/z;\n",
- "z=(50-25)*10**-3/2.; #wall thickness in m\n",
- "Va=Dab*(Ca1-Ca2)/z; #diffusion through a flat slab of thickness z \n",
- "Sa=2*3.14*l*(OD-ID)/(2*math.log(OD/ID)); #average mass transfer area of \n",
- "rate=Va*Sa; #rate of loss of hydrogen by diffusion\n",
- "\n",
- "\n",
- "# Result\n",
- "\n",
- "print \"\\n rate of loss hydrogen by diffusion through a pipe of 2m length :%f*10**-12kmol/s\"%(rate/10.**-12)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " rate of loss hydrogen by diffusion through a pipe of 2m length :7.730099*10**-12kmol/s\n"
- ]
- }
- ],
- "prompt_number": 36
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.7 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "pa1=(1.5)*10**4; #vapour pressure of ammonia at pt.1 \n",
- "pa2=(0.5)*10**4; #vapour pressure of ammonia at pt.2\n",
- "Dab=2.3*10**-5 #molecular diffusivity in m**2/s\n",
- "z=0.15; #diffusion path in m\n",
- "R=8314.; #universal gas constant \n",
- " #ammonia diffuses through nitrogen under equimolar counter diffusion\n",
- "T=298.; #temperature in kelvin\n",
- "pt=1.013*10**5; #total pressure in pascal\n",
- "\n",
- "# Calculation\n",
- "Na=Dab*(pa1-pa2)/(z*R*T); #flux in kmol/m**2*S\n",
- "\n",
- "# Result\n",
- "print \"the ammonia diffusion through nitrogen under equimolar \\\n",
- " counter diffusion:%f *10**-7 kmol/m**2*s\"%(Na/10**-7);\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "the ammonia diffusion through nitrogen under equimolar counter diffusion:6.188855 *10**-7 kmol/m**2*s\n"
- ]
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.8"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- " \n",
- "\n",
- "z=0.4*10**-2; #film thickness sorrounding the crystal\n",
- "xa1=0.0453; #mole fraction of ethanol at pos.2\n",
- "xa2=0.02775; #mole fraction of ethanol at pos.1\n",
- "w1=46; #molecular weight of ethanol\n",
- "w2=18; #molecular weight of water\n",
- "Dab=74*10**-5*10**-4; #diffusivity of ethanol water sol.in m**2/s\n",
- " #av=d/m\n",
- " \n",
- "# Calculation \n",
- "Mavg1=xa2*w1+(1-xa2)*w2; #average molecular wght of solution at pos 1\n",
- "d1=0.9881*10**3; # density of 6.8 wt% solution\n",
- "av1=d1/Mavg1; #value of (d/m) of copper solution\n",
- "\n",
- " #for pure water\n",
- "d2=972.8; # density of 10.8 wt% solution\n",
- "Mavg2=xa1*w1+(1-xa1)*w2; #average molecular wght of solution at pos.2\n",
- "av2=d2/Mavg2; #value of (d/m) of water\n",
- "\n",
- "allavg=(av1+av2)/2; #average value of d/m\n",
- "Na=Dab*(allavg)*math.log((1-xa2)/(1-xa1))/z; #steady state flux in kmol/m**2*s of ethanol water sol.\n",
- "\n",
- " # Result\n",
- "print \"\\n the rate at which crystal dissolves :%f *10**-5 kmol/m**2*s\"%(Na/10**-5)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the rate at which crystal dissolves :1.737360 *10**-5 kmol/m**2*s\n"
- ]
- }
- ],
- "prompt_number": 39
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.9"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "import math\n",
- "# variable declaration \n",
- "\n",
- " #basis : 100kg of mixture\n",
- "z=2*10**-3; #film thickness sorrounding the water\n",
- "xa1=0.0323; #mole fraction of ethanol at pos.2\n",
- "xa2=0.0124; #mole fraction of ethanol at pos.1\n",
- "w1=60.; #molecular weight of acetic acid\n",
- "w2=18.; #molecular weight of water\n",
- "Dab=0.000095; #diffusivity of acetic water sol.in m**2/s\n",
- " #av=d/m\n",
- "# Calculation \n",
- "Mavg1=xa1*w1+(1-xa1)*w2; #average molecular wght of solution at pos 1\n",
- "d1=1013.; # density of 10 % acid\n",
- "av1=d1/Mavg1; #value of (d/m) of copper solution\n",
- "\n",
- " #for pure water\n",
- "d2=1004; #density of 4% acid\n",
- "Mavg2=xa2*w1+(1-xa2)*w2; #average molecular wght of solution at pos.2\n",
- "av2=d2/Mavg2; #value of (d/m) of water\n",
- "\n",
- "allavg=(av1+av2)/2.; #average value of d/m\n",
- " #assuming water to be non diffusing\n",
- "Na=Dab*(allavg)*math.log((1-xa2)/(1-xa1))/z; #diffusion rate of acetic acid aacross film of non diffusing water sol.\n",
- "\n",
- " # Result\n",
- "print \"\\n diffusion rate of acetic acid aacross film of non diffusing water sol. :%f kmol/m**2*s\"%Na\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " diffusion rate of acetic acid aacross film of non diffusing water sol. :0.051508 kmol/m**2*s\n"
- ]
- }
- ],
- "prompt_number": 41
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.10.a"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- " \n",
- "r=(50./2)*10**-3; #radius pf circular tube\n",
- "pa1=190; #vapour pressure of ammonia at pt.1 \n",
- "pa2=95; #vapour pressure of ammonia at pt.2\n",
- "Dab=2.1*10**-5 #molecular diffusivity in m**2/s\n",
- "z=1;\n",
- "R=760*22.414/273; #universal gas constant in mmHg*m**3*K*kmol \n",
- " #carbondioxide and oxygen experiences equimolar counter diffusion \n",
- "T=298.; #temperature in kelvin\n",
- "\n",
- "# Calculation \n",
- "pt=(10.0/780)*1.013*10**5; #total pressure in pascal\n",
- "Na=Dab*(pa1-pa2)/(z*R*T); #flux in kmol/m**2*S\n",
- "rate=Na*(3.14*r**2); #rate of mass transfer..(3.14*r**2)-is the area\n",
- "\n",
- "# Result\n",
- "print \"\\n the rate of mass transfer.:%f *10**-10 kmol/s\"%(rate/10**-10)\n",
- " \n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the rate of mass transfer.:2.105552 *10**-10 kmol/s\n"
- ]
- }
- ],
- "prompt_number": 43
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.10.b"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "r=(50./2)*10**-3; #radius pf circular tube\n",
- "pa1=(190.); #vapour pressure of ammonia at pt.1 \n",
- "pa2=(95.); #vapour pressure of ammonia at pt.2\n",
- "Dab=2.1*10**-5 #molecular diffusivity in m**2/s\n",
- "R=760.*22.414/273; #universal gas constant in mmHg*m**3*K*kmol \n",
- " #carbondioxide and oxygen experiences equimolar counter diffusion \n",
- "T=298.; #temperature in kelvin\n",
- "\n",
- "# Calculation\n",
- "pt=(10./780)*1.013*10**5; #total pressure in pascal\n",
- "\n",
- " #part (ii)\n",
- "#(ya-ya1)/(ya2-ya1)=(z-z1)/(z2-z1);\n",
- "z2=1; #diffusion path in m at pos.2\n",
- "z1=0; #diffusion path in m at pos.1\n",
- "z=.75; #diffusion at general z\n",
- "#pa=poly([0],'pa'); #calc. of conc. in gas phase\n",
- "x= 118.750000 #roots((pa-pa1)/(pa2-pa1)-(z-z1)/(z2-z1));\n",
- "\n",
- "# Result\n",
- "print \"\\n partial pressure of co2 at o.75m from the end where partial pressure is 190mmhg is:%f mmHg\"%x\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " partial pressure of co2 at o.75m from the end where partial pressure is 190mmhg is:118.750000 mmHg\n"
- ]
- }
- ],
- "prompt_number": 44
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.11.a"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "ya1=0.2; #initial mole fraction\n",
- "ya2=0.1; #final mole fraction\n",
- "T=298 #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "z=0.2*10**-2; #gas film thickness in m\n",
- "Dab=.215*10**-4; #diffusion coefficient in m**2/s\n",
- "R=8314.; #universal gas constant\n",
- "#part (i)when N2 is non diffusing \n",
- "import math\n",
- "\n",
- "# Calculation\n",
- "Na=Dab*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
- "\n",
- "\n",
- "# Result\n",
- "print \" diffusion flux if N2 is non diffusing :%f *10**-5 kmol/m**2*s \"%(Na/10**-5);\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " diffusion flux if N2 is non diffusing :5.176955 *10**-5 kmol/m**2*s \n"
- ]
- }
- ],
- "prompt_number": 45
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.11.b"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "ya1=0.2;\n",
- "ya2=0.1;\n",
- "T=(298); #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "z=0.2*10**-2; #gas film thickness in m\n",
- "Dab=.215*10**-4; #diffusion coefficient in m**2/s\n",
- "R=8314; #universal gas constant\n",
- "\n",
- "#part (ii) equimolar counter diffusion\n",
- "# Calculation\n",
- "Na=Dab*pt*(ya1-ya2)/(z*R*T) #diffusion flux in kmol/m**2*s\n",
- "\n",
- " # Result\n",
- "print \" diffusion flux of oxygen during equimolar counter-diffusion :%f *10**-5 kmol/m**2*s \"%(Na/10**-5)\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " diffusion flux of oxygen during equimolar counter-diffusion :4.395331 *10**-5 kmol/m**2*s \n"
- ]
- }
- ],
- "prompt_number": 46
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "ya1=0.1;\n",
- "ya2=0;\n",
- "T=293. #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "z=0.2*10**-2; #gas film thickness in m\n",
- "Dab=.185*10**-4; #diffusion coefficient in m**2/s\n",
- "R=8314.; #universal gas constant\n",
- " #part (i)when air is assumed to be stagnant and non-diffusing \n",
- "import math\n",
- "\n",
- "# Calculation\n",
- "Na=Dab*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
- "mw=17; #molecular weight of ammonia\n",
- "massflux=Na*mw; #mass flux of given NH3\n",
- "print \" diffusion flux when total presssure is 1atm and air \\\n",
- " is non-diffusing :%f *10**-4 kg/m**2*s \"%(massflux/10**-4);\n",
- " #part (ii) when pressure is increased to 10atm\n",
- "\n",
- "#Dab_1/Dab_2=pt_2/pt_1\n",
- "pt_2=10; #final pressure in atm\n",
- "pt_1=1; #initially pressure was 1atm\n",
- "Dab_1=.185; #initially diffusion coefficient was.185\n",
- "Dab_2=Dab_1*pt_1/pt_2; #for gases Dab is proportional to 1/pt\n",
- "Dab=Dab_2*10**-4; #new diffusion coefficient \n",
- "pt=pt_2*1.013*10**5; #new total pressure\n",
- "Na=Dab*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
- "\n",
- "# Result\n",
- "print \"diffusion flux when pressure is increased to 10atm :%f *10**-5 kmol/m**2*s \"%(Na/10**-5);\n",
- "print \"so the rate of diffusion remains same on increasing the pressure\"\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " diffusion flux when total presssure is 1atm and air is non-diffusing :6.889701 *10**-4 kg/m**2*s \n",
- "diffusion flux when pressure is increased to 10atm :4.052765 *10**-5 kmol/m**2*s \n",
- "so the rate of diffusion remains same on increasing the pressure\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# variable declaration \n",
- "T=290.0; #temperature in kelvin\n",
- "z=2*10**-3; #film thickness sorrounding the water\n",
- "xa2=0.0092; #mole fraction of ethanol at pos.2\n",
- "xa1=0.0288; #mole fraction of ethanol at pos.1\n",
- "w1=60.0; #molecular weight of acetic acid\n",
- "w2=18.0; #molecular weight of water\n",
- "Dab=0.95*10**-9; #diffusivity of acetic water sol.in m**2/s\n",
- " #av=d/m\n",
- "# Calculation \n",
- "Mavg1=xa1*w1+(1-xa1)*w2; #average molecular wght of solution at pos 1\n",
- "d1=1012.0; # density of 10 % acid\n",
- "av1=d1/Mavg1; #value of (d/m) of copper solution\n",
- "\n",
- " #for position 2\n",
- "d2=1003.0; #density of 4% acid\n",
- "Mavg2=xa2*w1+(1-xa2)*w2; #average molecular wght of solution at pos.2\n",
- "av2=d2/Mavg2; #value of (d/m) of water\n",
- "\n",
- "allavg=(av1+av2)/2; #average value of d/m\n",
- " \n",
- " #assuming water to be non diffusing\n",
- "import math \n",
- "Na=Dab*(allavg)*math.log((1-xa2)/(1-xa1))/z; #diffusion rate of acetic acid aacross film of non diffusing water sol.\n",
- "\n",
- "# Result\n",
- "print \"diffusion rate of acetic acid aacross film of non diffusing water sol. :%f *10**-7 kmol/m**2*s\"%(Na/10.0**-7)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "diffusion rate of acetic acid aacross film of non diffusing water sol. :5.088553 *10**-7 kmol/m**2*s\n"
- ]
- }
- ],
- "prompt_number": 47
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "ya1=0.2; #molefraction at pos.1\n",
- "ya2=0.1; #molefraction at pos.2\n",
- "T=(293); #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "z=0.2*10**-2; #gas film thickness in m\n",
- "Dab=.206*10**-4; #diffusion coefficient in m**2/s\n",
- "R=8314; #universal gas constant\n",
- " #for ideal gases volume fraction =mole fraction\n",
- "#part (i)when N2 is non diffusing \n",
- "import math\n",
- "\n",
- "# Calculation\n",
- "Na=Dab*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
- "print \"\\n diffusion flux if N2 is non diffusing :%f *10**-5 kmol/m**2*s \"%(Na/10**-5);\n",
- "#part (ii) equimolar counter diffusion\n",
- "\n",
- "Na=Dab*pt*(ya1-ya2)/(z*R*T) #diffusion flux in kmol/m**2*s\n",
- "\n",
- "# Result\n",
- "print \"\\n diffusion flux of nitrogen during equimolar counter-diffusion :%f *10**-5 kmol/m**2*s \"%(Na/10**-5)\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " diffusion flux if N2 is non diffusing :5.044891 *10**-5 kmol/m**2*s \n",
- "\n",
- " diffusion flux of nitrogen during equimolar counter-diffusion :4.283207 *10**-5 kmol/m**2*s \n"
- ]
- }
- ],
- "prompt_number": 48
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "pa1=0.2*10**5; #partial pressure at pos.1\n",
- "pa2=0; #partial pressure at pos.2\n",
- "r=10./2; #radius of tank in which benzene is stored\n",
- "T=298.; #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "z=10*10**-3; #gas film thickness in m\n",
- "Dab=.02/3600; #diffusion coefficient in m**2/s\n",
- "R=8314.; #universal gas constant\n",
- " #benzene is stored in atank of dia 10m\n",
- "#part (i)when air is assumed to be stagnant\n",
- "import math\n",
- "\n",
- "# Calculation\n",
- "Na=Dab*pt*math.log((pt-pa2)/(pt-pa1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
- "rate=Na*(3.14*r**2); #rate of loss of benzene if air is stagnant\n",
- "\n",
- " # Result\n",
- "print \"diffusion rate of loss of benzene :%f *10**-4 kmol/s \"%(rate/10**-4);\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "diffusion rate of loss of benzene :3.921799 *10**-4 kmol/s \n"
- ]
- }
- ],
- "prompt_number": 49
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.16"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "ya2=0.1; #molefraction at pos.2\n",
- "ya1=0.8; #molefraction at pos.1\n",
- "T=(370.); #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "z=0.1*10**-3; #gas film thickness in m\n",
- "Dab=.15*10**-2; #diffusion coefficient in m**2/s\n",
- "R=8314; #universal gas constant\n",
- "Area=10; #area of the film is 10m**2\n",
- "\n",
- " #alcohol is being absorbed infrom amixture of alcohol vapour and water vapour by means of non-volatile solvent in which alcohol is soluble bt water is not \n",
- " #for gase Dab=T**3/2\n",
- " #Dab1/Dab2=(T1/T2)**3/2\n",
- "import math\n",
- "T2=370.; #final temperature in kelvin \n",
- "T1=298.; #initial temperature in kelvin\n",
- "\n",
- "# Calculation\n",
- "Dab1=.15*10**-2; #initial diffusion coefficient \n",
- "Dab2=((T2/T1)**(3./2))*Dab1; #final diffusion coefficient\n",
- "Na=Dab2*pt*math.log((1-ya2)/(1-ya1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
- "rate=Na*3600*46*Area; #rate of diffusion of alcohol-water vapour in kg/hour\n",
- "\n",
- " # Result\n",
- "print \" rate of diffusion of alcohol-water vapour :%f *10**6 kg/hour \"%(rate/10**6)\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " rate of diffusion of alcohol-water vapour :1.702149 *10**6 kg/hour \n"
- ]
- }
- ],
- "prompt_number": 50
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.17"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "ya2=0; #molefraction at pos.2\n",
- "ya1=0.1; #molefraction at pos.1\n",
- "T=(273); #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "z=2*10**-3; #gas film thickness in m\n",
- "Dab=.198*10**-4; #diffusion coefficient in m**2/s\n",
- "R=8314; #universal gas constant\n",
- " #ammonia is diffusing through an inert film 2mm thick \n",
- "\n",
- " #for gase Dab=T**3/2\n",
- " #Dab1/Dab2=(T1/T2)**3/2\n",
- "import math\n",
- "T2=293; #final temperature in kelvin \n",
- "T1=273; #initial temperature in kelvin\n",
- "\n",
- "\n",
- "# Calculation\n",
- "Dab1=0.198*10**-4; #initial diffusion coefficient \n",
- "Dab2=((T2/T1)**(3.0/2))*Dab1; #final diffusion coefficient\n",
- "Na=Dab2*pt*math.log((1-ya2)/(1-ya1))/(z*R*T2); #diffusion flux in kmol/m**2*s\n",
- "print \" flux of diffusion of ammonia through inert film :%f *10**-5 kmol/m**2*s \"%(Na/10**-5)\n",
- "\n",
- "#if pressure is also incresed from 1 to 5 atm\n",
- " #for gases Dab=(T**3/2)/pt;\n",
- " #Dab1/Dab2=(T1/T2)**3/2*(p2/p1)\n",
- "T2=293.; #final temperature in kelvin \n",
- "T1=273.; #initial temperature in kelvin\n",
- "pa2=5.; #final pressure in atm\n",
- "pa1=1; #initial pressure in atm \n",
- "p=pa2*1.013*10**5;\n",
- "Dab1=.198*10**-4; #initial diffusion coefficient\n",
- "Dab2=((T2/T1)**(3.0/2))*Dab1*(pa1/pa2); #final diffusion coefficient\n",
- "Na=Dab2*p*math.log((1-ya2)/(1-ya1))/(z*R*T2); #diffusion flux in kmol/m**2*s\n",
- "\n",
- " # Result\n",
- "print \"flux of diffusion of ammonia if temp. is 20 and pressure is 5 atm :%f*10**-5 kmol/m**2*s \"%(Na/10**-5)\n",
- "print \"so there is no change in flux when pressure is changed\"\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " flux of diffusion of ammonia through inert film :4.337554 *10**-5 kmol/m**2*s \n",
- "flux of diffusion of ammonia if temp. is 20 and pressure is 5 atm :4.822834*10**-5 kmol/m**2*s \n",
- "so there is no change in flux when pressure is changed\n"
- ]
- }
- ],
- "prompt_number": 52
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# variable declaration \n",
- "pa1=0.418*10**5; #partial pressure initially\n",
- "pa2=0; #partial pressure of pure air\n",
- "r=10/2; #radius of tank in which benzene is stored\n",
- "T=(350); #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "z=2*10**-3; #gas film thickness in m\n",
- "Dab=.2*10**-4; #diffusion coefficient in m**2/s\n",
- "R=8314; #universal gas constant\n",
- "r=0.2/2; #radius of open bowl is 0.2\n",
- "#when air layer is assumed to be stagnant of thickness 2mm\n",
- "import math\n",
- "\n",
- "# Calculation\n",
- "\n",
- "Na=Dab*pt*math.log((pt-pa2)/(pt-pa1))/(z*R*T); #diffusion flux in kmol/m**2*s\n",
- "rate=Na*(3.14*r**2)*18; #rate of loss of evaporation\n",
- "\n",
- "# Result\n",
- "print \"\\n diffusion rate loss of evaporation :%f *10**-4 kg/s \"%(rate/10**-4)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " diffusion rate loss of evaporation :1.046972 *10**-4 kg/s \n"
- ]
- }
- ],
- "prompt_number": 54
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# variable declaration \n",
- "\n",
- "#stefan tube experiment\n",
- "import math\n",
- "Ml=92.; #molecular weight of toluene\n",
- "T=(312.4); #temperature in kelvin\n",
- "pt=1*1.013*10**5; #total pressure in pascal\n",
- "R=8314.; #universal gas constant\n",
- "t=275.*3600; #after 275 hours the level dropped to 80mm from the top\n",
- "zo=20.*10**-3; #intially liquid toluene is at 20mm from top\n",
- "zt=80.*10**-3; #finally liquid toluene is at 80mm from top\n",
- "#air is assumed to be satgnant \n",
- "d=850.; #density in kg/m**3\n",
- "pa=7.64*10**3; #vapour pressure of toluene in at 39.4degree celcius \n",
- "\n",
- "# Calculation \n",
- "cal=d/Ml; #conc. at length at disxtance l\n",
- "ca=pt/(R*T); #total conc. \n",
- "xa1=pa/pt; #mole fraction of toluene at pt1 i.e before evaporation \n",
- "xb1=1-xa1; #mole fraction of air before evaporation i.e at pt1 \n",
- "xb2=1.; #mole fraction of air after evaporation i.e at pt.2\n",
- "xa2=0.; #mole fraction of toluene at point 2\n",
- "xbm=(xb2-xb1)/(math.log(xb2/xb1));\n",
- "#t/(zt-zt0) = (xbm*cal*(zt+zo))/(2*c*(xa1-xa2)*t);\n",
- "Dab=(xbm*cal*(zt**2-zo**2))/(2*ca*t*(xa1-xa2));\n",
- "\n",
- "# Result\n",
- "print \"\\n the diffusivity of the mixture in stefan tube of toluene in air is :%f*10**-5 m**2/s\"%(Dab/10**-5)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the diffusivity of the mixture in stefan tube of toluene in air is :0.915437*10**-5 m**2/s\n"
- ]
- }
- ],
- "prompt_number": 55
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.20 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# variable declaration \n",
- "\n",
- "T=(360); #temperature in kelvin\n",
- "pt=372.4/760; #total pressure in atm\n",
- "R=82.06; #universal gas constant\n",
- "Dab=0.0506; #diffusion coefficient in cm**2/s \n",
- "z=0.254; #gas layer thickness in cm\n",
- "vp=368.0/760; #vapour pressure of toluene in atm\n",
- "xtol=.3; #mole fractoin of toluene in atm\n",
- "pb1=xtol*vp; #partial pressure of toluene\n",
- "#since pb1 is .045263 bt in book it is rounded to 0.145\n",
- "\n",
- "# Calculation \n",
- "pb2=xtol*pt; #parial pressure of toluene in vapour phase\n",
- "Na=Dab*(pb1-pb2)/(z*R*T); #diffusion flux \n",
- "\n",
- "# Result\n",
- "print \"\\n the diffusion flux of a mixture of benzene and toluene %f*10**-8 gmol/cm**2*s\\n\"%(Na/10**-8)\n",
- "print \"\\nthe negative sign indicates that the toluene is getting transferred from gas phase \\\n",
- "to liquid phase(hence the transfer of benzene is from liquid to gas phase)\"\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the diffusion flux of a mixture of benzene and toluene -1.171233*10**-8 gmol/cm**2*s\n",
- "\n",
- "\n",
- "the negative sign indicates that the toluene is getting transferred from gas phase to liquid phase(hence the transfer of benzene is from liquid to gas phase)\n"
- ]
- }
- ],
- "prompt_number": 56
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.21"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# variable declaration \n",
- "\n",
- "Ml=92.; #molecular weight of toluene\n",
- "T=(303.); #temperature in kelvin\n",
- "pt=1.*1.013*10**5; #total pressure in pascal\n",
- "R=8314.; #universal gas constant\n",
- "t=275.*3600; #after 275 hours the level dropped to 80mm from the top\n",
- "zo=20.*10**-3; #intially liquid toluene is at 20mm from top\n",
- "zt=77.5*10**-3; #finally liquid toluene is at 80mm from top\n",
- " #air is assumed to be satgnant \n",
- "import math\n",
- "# Calculation \n",
- "d=820.; #density in kg/m**3\n",
- "pa=(57.0/760)*1.0135*10**5; #vapour pressure of toluene in at 39.4degree celcius \n",
- "cal=d/Ml; #conc. at length at disxtance l\n",
- "ca=pt/(R*T); #total conc. \n",
- "xa1=pa/pt; #mole fraction of toluene at pt1 i.e before evaporation \n",
- "xb1=1.-xa1; #mole fraction of air before evaporation i.e at pt1 \n",
- "xb2=1.; #mole fraction of air after evaporation i.e at pt.2\n",
- "xa2=0; #mole fraction of toluene at point 2\n",
- "xbm=(xb2-xb1)/(math.log(xb2/xb1));\n",
- "#t/(zt-zt0) = (xbm*cal*(zt+zo))/(2*c*(xa1-xa2)*t);\n",
- "Dab=(xbm*cal*(zt**2-zo**2))/(2*ca*t*(xa1-xa2));\n",
- "\n",
- "# Result\n",
- "print \"\\n the diffusivity of the mixture in stefan tube of toluene in air is :%f*10**-5 m**2/s\"%(Dab/10**-5)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the diffusivity of the mixture in stefan tube of toluene in air is :0.804587*10**-5 m**2/s\n"
- ]
- }
- ],
- "prompt_number": 57
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.22"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "#variation in liquid level with respect to time is given below\n",
- "%pylab inline\n",
- "t=[26,185,456,1336,1958,2810,3829,4822,6385]\n",
- "# let Zt-Zo= x;\n",
- "x=[.25,1.29,2.32,4.39,5.47,6.70,7.38,9.03,10.48]\n",
- "i=0; \n",
- "y = [0,0,0,0,0,0,0,0,0] #looping starts\n",
- "\n",
- "# Calculation \n",
- "while(i<9):\n",
- " y[i]=t[i]/x[i]; #for calculating the t/Zt-Zo value\n",
- " i=i+1;\n",
- "from matplotlib.pyplot import *\n",
- "plot(x,y,\"o-\");\n",
- "show()\n",
- "#xtitle(\" Fig.2.2 Example 22 \",\"X--(zi-zo),cm --->\",\"Y-- vs (t/(zi-zo))min/cm ---->\");\n",
- "slope=51.4385*60 *10**4; #slope of the curve in 1/sec*m**2\n",
- "#slope = Cal *(xblm)/(2*Dab*C*(xa1-xa2))\n",
- "d=1540.; #density in kg/m**3\n",
- "Ml=154.; #molecular weight of toluene\n",
- "Cal=d/Ml ; #conc. at length at disxtance l in mol/m**3\n",
- "\n",
- "T=(321.); #temperature in kelvin\n",
- "pt=1.; #total pressure in atm\n",
- "R=82.06; #universal gas constant\n",
- "C=pt/(R*T) *10**3; #total conc. in kg mol/m**3\n",
- "\n",
- "pa=(282./760); #vapour pressure of toluene \n",
- "xa1=pa/pt; #mole fraction of toluene at pt1 i.e before evaporation\n",
- "xb1=1.-xa1; #mole fraction of air before evaporation i.e at pt1 \n",
- "xb2=1.; #mole fraction of air after evaporation i.e at pt.2\n",
- "xa2=0.; #mole fraction of toluene at point 2\n",
- "xblm=(xb2-xb1)/(math.log(xb2/xb1)); #log mean temp. difference\n",
- "Dab = Cal *(xblm)/(2*slope*C*(xa1-xa2)); #diffusivity coefficient\n",
- "\n",
- "# Result\n",
- "print \"\\n the diffusivity of the mixture by winklemann method of toluene in air is :%f*10**-6 m**2/s\"%(Dab/10**-6)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Populating the interactive namespace from numpy and matplotlib\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stderr",
- "text": [
- "WARNING: pylab import has clobbered these variables: ['rate', 'draw_if_interactive']\n",
- "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\n",
- "text": [
- "<matplotlib.figure.Figure at 0x20a87d0>"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the diffusivity of the mixture by winklemann method of toluene in air is :9.202857*10**-6 m**2/s\n"
- ]
- }
- ],
- "prompt_number": 58
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "d=0.001;\n",
- "area=3.14*(d/2)**2; #area of the bulb\n",
- "T=298.; #temperature in kelvin \n",
- "p=1.013*10**5; #total pressure of both the bulbs\n",
- "R=8314.; #universal gas constant\n",
- "\n",
- "# Calculation \n",
- "c=p/(R*T); #total concentration\n",
- "Dab=.784*10**-4; #diffusion coefficient in m**2/s\n",
- "xa1=0.8; #molefraction of nitrogen gas at the 1 end\n",
- "xa2=0.25; #molefraction of nitrogen gas at the 2nd end\n",
- "z=.15; #distance between the bulbs\n",
- "\n",
- " #rate=area*Na;\n",
- "rate=area*Dab*c*(xa1-xa2)/z; #rate of transfer of hydrogen and hydrogen\n",
- "\n",
- "# Result\n",
- "print \"\\n the rate of transfer from 1 to 2 of nitrogen and 2 to 1of hydrogen is :%f *10**-11kmol/s\"%(rate/10.0**-11)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the rate of transfer from 1 to 2 of nitrogen and 2 to 1of hydrogen is :0.922657 *10**-11kmol/s\n"
- ]
- }
- ],
- "prompt_number": 59
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.24"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "T=288; #temperature in kelvin\n",
- "Mb=32; #molecular weight of methanol\n",
- "phi=1.9; #association factor for solvent\n",
- "\n",
- "# Calculation \n",
- "va=(14.8+(4*24.6))*10**-3 #solute(CCl4) volume at normal BP in m**3/kmol\n",
- "u=.6*10**-3; #viscosity of solution in kg/m*s\n",
- "Dab=(117.3*10**-18)*(phi*Mb)**0.5*T/(u*va**0.6); #diffusion coefficient in m**2/s\n",
- "\n",
- "# Result\n",
- "print \"\\ndiffusivity of methanol in carbon tetrachloride is :%f*10**-9 m**2/s\"%(Dab/10.0**-9)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "diffusivity of methanol in carbon tetrachloride is :1.622494*10**-9 m**2/s\n"
- ]
- }
- ],
- "prompt_number": 60
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.25"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "T=288.0; #temperature in kelvin\n",
- "Mb=18.0; #molecular weight of methanol\n",
- "phi=2.26; #association factor for solvent\n",
- "\n",
- "# Calculation \n",
- "va=(2*14.8+(6*3.7)+7.4)*10**-3 #solute(water) volume at normal BP in m**3/kmol\n",
- "u=1*10**-3; #viscosity of solution in kg/m*s\n",
- "Dab=(117.3*10**-18)*(phi*Mb)**0.5*T/(u*va**0.6); #diffusion coefficient in m**2/s\n",
- "\n",
- "# Result\n",
- "print \"\\ndiffusivity of methanol in water is :%f*10**-9 m**2/s\"%(Dab/10**-9)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "diffusivity of methanol in water is :1.174865*10**-9 m**2/s\n"
- ]
- }
- ],
- "prompt_number": 28
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.26"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "u=20.*10**-6; #viscosity in Ns/m**2\n",
- "pt=2666.; #total pressure in N/m**2\n",
- "pa1=pt; #pressure at 1\n",
- "pa2=0; #pressure at 2\n",
- "mw=32.; #molecular weight of oxygen\n",
- "R=8314.; #universal law constant\n",
- "T=373.; #temp. in kelvin\n",
- "gc=1.; \n",
- "\n",
- "# Calculation \n",
- "l=(3.2*u/pt)*((R*T)/(2*3.14*gc*mw))**0.5;#mean free path\n",
- "d=.2*10**-6; #pore diameter\n",
- "s=d/l; #value of dia/l\n",
- " #hence knudsen diffusion occurs\n",
- "Na=0.093*20*273/(760*373*22414*10**-1); #diffusion coefficient in kmol/m**2*s\n",
- "Dka=(d/3)*((8*gc*R*T)/(3.14*mw))**0.5;\n",
- "l1=Dka*(pa1-pa2)/(R*T*Na); #length of the plate\n",
- "\n",
- "# Result\n",
- "print \"\\n the length of the plate is :%f m \"%l1\n",
- "\n",
- "\n",
- " #for diffusion with hydrogen\n",
- "u=8.5*10**-6; #viscosity in Ns/m**2\n",
- "pt=1333; #total pressure in N/m**2\n",
- "pa1=pt; #pressure at 1\n",
- "pa2=0; #pressure at 2\n",
- "mw=2; #molecular weight of oxygen\n",
- "R=8314; #universal law constant\n",
- "T=298; #temp. in kelvin\n",
- "gc=1; \n",
- "l=(3.2*u/pt)*((R*T)/(2*3.14*gc*mw))**0.5;#mean free path\n",
- "d=.2*10**-6; #pore diameter\n",
- "s=d/l; #value of dia/l\n",
- " #hence knudsen diffusion occurs\n",
- "Dka=(d/3)*((8*gc*R*T)/(3.14*mw))**0.5;\n",
- "Na=Dka*(pa1-pa2)/(R*T*l1); #diffusion coefficient in kmol/m**2*s\n",
- "print \"\\n the diffusion coefficient is :%f *10**-4 kmol/m**2*s\"%(Na/10.0**-6)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the length of the plate is :0.035635 m \n",
- "\n",
- " the diffusion coefficient is :1.788175 *10**-4 kmol/m**2*s\n"
- ]
- }
- ],
- "prompt_number": 61
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch3.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch3.ipynb
deleted file mode 100644
index 42c74db2..00000000
--- a/Elements_Of_Mass_Transfer_Part_1/ch3.ipynb
+++ /dev/null
@@ -1,609 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:3744cb249ffd9e10c950b9110990dfac9cd54ad63b8fe61f5671a88b4822fb4c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 3 : Mass transfer coefficient and interphase mass transfer"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.1"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Variable Declaration \n",
- "v=6.; #velocity in m/s\n",
- "l=6.; #length in m\n",
- "pa1=10.; #pressure at 1 in atm\n",
- "pa2=0; #pressure at 2 in atm\n",
- "t=373.; # temperature in kelvin\n",
- "p=1.; #pressure of naphthalene in atm at 373kelvin\n",
- "D=5.15*10**-6; #diffusivity of naphthalene in C02 in m**2/s\n",
- "d=0.946; #density of air in kg/m**3\n",
- "u=.021*10**-3; #viscosity of air in Newton*s/m**2\n",
- "ID=0.075; #diameter in m\n",
- "\n",
- "# Calculation\n",
- "nre=(ID*v*d)/(u); #calc. of reynolds no.\n",
- "cf=2*0.023*(nre)**(-0.2); #friction factor\n",
- "nsc=(u)/(d*D); #calc of schmidt no.\n",
- "kc=(cf*v)/(2*(nsc)**(2./3));\n",
- "na=(kc*10**5*(pa1/760-0))/(8314*t); #difussion flux in kmol/m**2*s\n",
- "sub=na*2*3.14*(ID/2)*l; #rate of sublimation\n",
- "\n",
- "# Result\n",
- "print \"\\nrate of sublimation :%f *10**-6 kmol/s\\n\"%(sub/10**-6);\n",
- "#End"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "rate of sublimation :4.298312 *10**-6 kmol/s\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.2"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "v=0.30; #velocity of parallelair in m/s\n",
- "t=300; #temperature of air in kelvin\n",
- "p=10.0**5/760; #pressure of air in pascal\n",
- "Dab=5.9*10**-4; #diffusivity of naphthalene in in air in m**2/s \n",
- "pa1=0.2*10**5/760; #pressure of air at 1 in pascal\n",
- "pa2=0; #pressure of air at 2 in pascal\n",
- "d=1.15; #density of air in kg/m**3\n",
- "u=0.0185*10**-3; #viscosity of air in Newton*s/m**2\n",
- "D=1.; #length in m\n",
- "a=1.; #area of plate in m**2\n",
- "\n",
- "# Calculation \n",
- "Nsc=u/(d*Dab); #schmidt no. calculation\n",
- "Nre=(D*v*d)/u; #reynolds no. calculation\n",
- " #flow is turbulent \n",
- "f=0.072*(Nre)**-.25; #friction factor using \"chilton colburn\" analogy\n",
- "k_c=(f*v)/(2*(Nsc)**.667); #mass transfer coefficient\n",
- "NA=k_c*(pa1-pa2)/(8314*300); #mass flux calc.\n",
- "sub=NA*a; #rate of sublimation in kmol/m**2*s\n",
- "\n",
- "# Result\n",
- "print \"\\nrate of sublimation :%f *10**-7 kmol/s\\n\"%(sub/10**-7)\n",
- "#End"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "rate of sublimation :1.077674 *10**-7 kmol/s\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.3 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "# a is CO2 and b is water\n",
- "p=2.; #total pressure at 1 in atm \n",
- "pa1=0.2*10**5; #pressure of CO2 at pt 1 in atm\n",
- "pa2=0; #pressure of CO2 at pt 2 is 0 since air is pure\n",
- "ya1=0.1; #mole fraction of CO2 at 1 is 0.2/2\n",
- "ya2=0; #mole fraction of CO2 at 2 is 0 since air is pure\n",
- "yb1=0.9; #mole fraction of water at 1 is (1-0.1)\n",
- "yb2=1.0; #mole fraction of water at 2 is 1.0 since total pressure has to be constant.\n",
- "k_y1=6.78*10**-5; #mass transfer coefficient in kmol/m**2*s*molefraction\n",
- "import math\n",
- "\n",
- "# Calculation \n",
- "yb_ln=(yb2-yb1)/(math.log(yb2/yb1)); #log mean is represented by yb_ln\n",
- "\n",
- "k_y=k_y1/yb_ln; \n",
- "\n",
- "# Result\n",
- "print \"\\nvalue of mass transfer coefficient k_y is:%f *10**-5 kmol/m**2*s*(molefractin)\"%(k_y/10.0**-5)\n",
- "k_g=k_y/p; #mass ttransfer coefficient in lmol/m**2*s*atm\n",
- "print \"\\nvalue mass transfer coefficient k_g is:%f *10**-5 kmol/m**2*s*(atm)\"%(k_g/10**-5)\n",
- "\n",
- "NA=k_y*(ya1-ya2); #mass flux in kmol/m**2*s\n",
- "print \"\\nvalue of rate of mass transfer :%f *10**-6 kmol/m**2*s\"%(NA/10.0**-6)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "value of mass transfer coefficient k_y is:7.143443 *10**-5 kmol/m**2*s*(molefractin)\n",
- "\n",
- "value mass transfer coefficient k_g is:3.571721 *10**-5 kmol/m**2*s*(atm)\n",
- "\n",
- "value of rate of mass transfer :7.143443 *10**-6 kmol/m**2*s\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.4"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "NA=7.5*10**-7; #mass flux in gmol/cm**2*s\n",
- "Dab=1.7*10**-5; #diffusivity if SO2 in water in cm**2/s\n",
- "c=1./18.02; #concentration is density/molecular weight in gmol/cm**2*s\n",
- "#SO2 is absorbed from air into water\n",
- "\n",
- "xa1=0.0025; #liquid phase mole fraction at 1\n",
- "xa2=0.0003; #liquid phase mole fraction at 2\n",
- " #NA=kc(Ca1-Ca2)=Dab*(Ca1-Ca2)/d\n",
- "\n",
- "# Calculation \n",
- "k_c=NA/(c*(xa1-xa2)); #k_c=Dab/d=NA/c(xa1-xa2)\n",
- "\n",
- "# Result \n",
- "print \"\\nmass transfer coefficient k_c is:%f cm/s\"%k_c\n",
- "\n",
- "d=Dab/k_c;\n",
- "print \"\\nfilm thickness d is :%f cm\"%d\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "mass transfer coefficient k_c is:0.006143 cm/s\n",
- "\n",
- "film thickness d is :0.002767 cm\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.5 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Kg=2.72*10**-4; #overall gas phase mass transfer coefficient in kmol/m**2*S*atm\n",
- "r_gas=0.85*(1/Kg); #given that gas phase resisitance is 0.85 times overall resistance\n",
- "kg=1.0/r_gas; \n",
- "m=9.35*10**-3; #henry's law constant in atm*m**3/kmol\n",
- "kl=m/(1./Kg-1/kg); #liquid phase mass transfer coefficient in m/s\n",
- "print \"\\nthe value of liquid film coefficient kl : %f*10**-5 m/s\"%(kl/10**-5)\n",
- "print \"\\nthe value of gas film coefficient kg : %f*10**-5 m/s\"%(kg/10**-5);\n",
- "p=1.; #overall pressure in atm\n",
- "\n",
- " #NA=Kg(pag-pa*)=kg(pag-pai)=kl(Cai-Cal)\n",
- "# Calculation \n",
- "Yag=0.1; #molefraction of ammonia\n",
- "Cal=6.42*10**-2; #liquid phase concentration \n",
- "Pag=Yag*p; #pressure of ammonia\n",
- " #Pai and Cai indicates interfacial pressure and conc.\n",
- " #Pal and Cal indicates bulk pressure and conc.\n",
- "\n",
- " #Pai=m*C_ai;\n",
- " #NA=kg(pag-pai)=kl(Cai-Cal)\n",
- " \n",
- "#Cai=poly([0],'Cai'); #calc. of conc. in gas phase\n",
- "x = 1.6588481 #x=roots((Pag-m*Cai)*(kg/kl)-(Cai-Cal));\n",
- "\n",
- "# Result \n",
- "print \"\\nthe value of interphase conc.cai :%f kmol/m**3\"%x\n",
- "Pai=m*x;\n",
- "print \"\\nthe value of interphase pressure pai is:%f atm\"%Pai\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "the value of liquid film coefficient kl : 1.695467*10**-5 m/s\n",
- "\n",
- "the value of gas film coefficient kg : 32.000000*10**-5 m/s\n",
- "\n",
- "the value of interphase conc.cai :1.658848 kmol/m**3\n",
- "\n",
- "the value of interphase pressure pai is:0.015510 atm\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.6 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "m=0.3672;\n",
- "t=.9;\n",
- " #Pai and Cai indicates interfacial pressure and conc.\n",
- " #Pal and Cal indicates bulk pressure and conc.\n",
- "Yag=0.15; #molefraction of ammonia\n",
- "Cal=0.147; #liquid phase concentration in kmol/m**3\n",
- "p=1; #overall pressure\n",
- "\n",
- "# Calculation \n",
- "Pag=Yag*p; #pressure of ammonia\n",
- "\n",
- " #Pai=m*C_ai;\n",
- " #kg/kl=(Cai-Cal)/(Pag-Pai);\n",
- " \n",
- "#Cai=poly([0],'Cai'); #calc. of conc. in gas phase\n",
- "x = 0.211954 #x=roots((Pag-m*Cai)*(t)-(Cai-Cal));\n",
- "\n",
- "# Result\n",
- "print \"\\nthe value of conc. of ammonia cai is :%f kmol/m**3\"%x\n",
- "Pai=m*x;\n",
- "print \"\\nthe value of interphase pressure Pai is :%f atm\"%Pai"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "the value of conc. of ammonia cai is :0.211954 kmol/m**3\n",
- "\n",
- "the value of interphase pressure Pai is :0.077830 atm\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.7"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "D=.1;\n",
- "l=3; # l is length of bubble in cm\n",
- "a=3.14*D*l; # area in cm**2\n",
- "Ca_o=0.0001; #pure conc. of gas in g*mol/cc*atm\n",
- "Ca=0;\n",
- "NA=.482*10**-5; # molar rate of absorption in g*moles/s\n",
- " #Pa_o and Ca_o indicates pure pressure and conc.\n",
- "# Calculation \n",
- "kl=NA/(a*(Ca_o-Ca)); #mass transfer coefficient acc. to higbie's penetration theory\n",
- "Q=4; #volumetric flow rate in cc/s\n",
- "A=3.14*.1*.1/4; #area of flow\n",
- "v=Q/A; #velocity of flow in cm/s\n",
- "\n",
- "#timt t=bubble length/linear velocity;\n",
- "t=l/v;\n",
- "DAB=(kl**2)*3.14*t/4; #diffusivity in cm**2/s\n",
- "D_new=0.09; #revised diameter reduced to.09\n",
- "a_new=3.14*l*D_new; #revised area\n",
- "A_new=3.14*0.09*0.09/4; #revised flow area\n",
- "v_new=Q/A_new; #revised velocity\n",
- "\n",
- "# Result \n",
- "print \"\\nthe value of diffusivity of gas DAB is :%f cm/s\"%(DAB/10**-5)\n",
- "\n",
- "t_new=l/v_new; #revised time\n",
- "kl_new=2*(DAB/(3.14*0.0047))**0.5; #revised mass transfer coefficient \n",
- "NA_new=kl_new*a_new*(Ca_o-Ca); #revised molar rate absorption in g*moles/s\n",
- "print \"\\nthe value of NA_new is :%f*10**-6 kmol/m**3\"%(NA_new/10**-6)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "the value of diffusivity of gas DAB is :1.210021 cm/s\n",
- "\n",
- "the value of NA_new is :4.855188*10**-6 kmol/m**3\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.8"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "Kg=7.36*10**-10;\n",
- "p=1.013*10**5;\n",
- "Ky=Kg*p;\n",
- "#resistance in gas phase is 0.45 of total resistance & .55 in liquid phase\n",
- "#(resistance in gas phase)r_gas=1/ky and (resistance in liq phase)r_liq=m'/kx\n",
- "r_gas=0.45*(1./Ky);\n",
- "ky=1./r_gas;\n",
- "r_liq=0.55*(1./Ky);\n",
- "print \"film based liq phase mass transfer coeff.ky is :%f \"%ky\n",
- "#from equilibrium relantionship indicates linear behaviour thus the slope of equilibrium curve is 86.45\n",
- "# Calculation\n",
- "m1=86.45;\n",
- "kx=m1/r_liq;\n",
- "yag=.1;\n",
- "xal=(.4/64)/((99.6/18)+(.4/64));\n",
- "print \"\\n film based gas phase mass transfer coeff.ky is :%f \"%kx\n",
- "#slope of the line gives -kx/ky=-70.61\n",
- "m2=m1; # since equilibrium line a straigth line m'=m''\n",
- "Kx=1/(1/kx+(1/(m2*ky))); #overall liquid phase mass transfer coefficient\n",
- "print \"\\n overall liq phase mass transfer coefficient Kx is :%f \"%Kx\n",
- "# equillibrium relation is given under\n",
- "p = [0.2,0.3,0.5,0.7];\n",
- "a = [29,46,83,119];\n",
- "i=0;\n",
- "x = [0,0,0,0]\n",
- "y = [0,0,0,0]\n",
- " #looping for calcullating mole fraction\n",
- "while (i<4):\n",
- " x[i]= (p[i]/64.)/(p[i]/64.+100/18);\n",
- " y[i]= a[i]/760.; #mole fraction plotted on y-axis\n",
- " i=i+1; \n",
- " #mole fraction plotted on x-axis\n",
- "%pylab inline\n",
- "from matplotlib.pyplot import *\n",
- "\n",
- "# Result\n",
- "plot(x,y);\n",
- "title(\"Fig.3.17,Example 8\");\n",
- "xlabel(\"X-- Concentration of SO2 in liquid phase, X(10**4)(molefraction)\");\n",
- "ylabel(\"Y-- Concentration of SO2 in gas phase, Y(molefraction)\");\n",
- "show()\n",
- " #from the graph we get these values\n",
- "yao=.083; #corresponding to the value of xao=0.001128\n",
- "xao=.00132; #corresponding to the value of yag=.1\n",
- "yai=.0925; #corresponding to the perpendicular dropped from the pt(.001128,0.1) \n",
- "xai=.00123;\n",
- " \n",
- " # flux based on overall coefficient\n",
- "NAo_gas=Ky*(yag-yao);\n",
- "NAo_liq=Kx*(xao-xal);\n",
- "print \"overall gas phase mass transfer flux -NAo_gas is :%f*10**-6 kmol/m**2*s \"%(NAo_gas/10**-6)\n",
- "print \"overall liq phase mass transfer flux -NAo_liq is :%f*10**-6 kmol/m**2*s \"%(NAo_liq/10**-6);\n",
- "\n",
- " # flux based on film coefficient \n",
- "NAf_gas=ky*(yag-yai);\n",
- "NAf_liq=kx*(xai-xal);\n",
- "print \"film based gas phase mass transfer flux-NAf_gas is :%f *10**-6 kmol/m**2*s\"%(NAf_gas/10**-6);\n",
- "print \"film based liq phase mass transfer flux-NAf_liq is :%f *10**-6 kmol/m**2*s\"%(NAf_liq/10**-6);\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "film based liq phase mass transfer coeff.ky is :0.000166 \n",
- "\n",
- " film based gas phase mass transfer coeff.ky is :0.011719 \n",
- "\n",
- " overall liq phase mass transfer coefficient Kx is :0.006445 \n",
- "Populating the interactive namespace from numpy and matplotlib"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stderr",
- "text": [
- "WARNING: pylab import has clobbered these variables: ['f']\n",
- "`%pylab --no-import-all` prevents importing * from pylab and numpy\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\n6NEAAD8/P2RmZiI9PR1NmjSBh4cHAOF2nKOjIx4+fFje98cYY0zDlHY3PnbsGC5fvgxdXV0AwIcf\nfggPDw8sX75c6cnT0tJgaWkpf2xhYYGYmBil+zx48ACNGzeWb0tJSUF8fLxWzKjMGGNMCVLC1dWV\nnj17Jn/87NkzcnV1VXYYEREdOnSIxo8fL3+8e/dumjJlSrF9+vTpQ1FRUfLHXbp0oUuXLskfS6VS\n8vb2pl9++aXE+QHwF3/xF3/xVwW+1EnpFcvnn38OLy8vdOrUCUSE06dPY8WKFcoOAwCYm5sjNTVV\n/jg1NRUWFhZl7vPgwQOYm5sDAAoKChAQEIARI0ZgwIABJc5P3COMMca0jkpzhT18+BAXLlyARCJB\n69at0aRJE5VOXlhYCHt7e5w8eRLNmjVD69atsW/fvmIrUIaFhWHDhg0ICwtDdHQ0ZsyYgejoaBAR\nRo8ejQYNGmDt2rUVf4eMMcY0SmFhCQ8Ph1QqxZAhQ4ptP3ToEOrWrYtu3bqp9ALHjx/HjBkzIJPJ\nMG7cOHz++efYtGkTAGDixIkAIO85VqdOHezYsQNeXl6IiopChw4d4ObmJp9CZvny5ejRo0eF3yxj\njDENUHSPrE2bNpSenl5i+5MnT8jPz69S7sMdP36c7O3tydbWllasWFHqPlOnTiVbW1tyc3OjuLg4\npcc+f/6cunbtSnZ2dtStWzfKyMiQP3flyhV69913ydnZmVxdXSkvL0/rcubm5lJgYCC5urqSo6Mj\nLV++XKWM6sp54MABcnJyIh0dnWJtX0REy5YtI1tbW7K3t6fff/9da3JevHhRvv2PP/4gb29vcnV1\nJW9vbzp16pTW5Hz750lEdO/ePapTpw598803WptTmz5HinJW9HOkjoyzZ88mBwcHcnNzo4EDB1Jm\nZqb8OW36DCnKWZHPkMLC4uXlpfAgFxcXpSdWprCwkGxsbOju3buUn59P7u7ulJCQUGyfY8eOUc+e\nPYmIKDo6Wl7Qyjp2zpw5tHLlSiIiWrFiBc2dO5eIiAoKCsjNzY2uXr1KREQvXrwgmUymdTl37NhB\ngYGBRESUk5NDVlZWdO/ePdFy3rhxg27evEn+/v7FPrjXr18nd3d3ys/Pp7t375KNjY2oP09FOePj\n4+nRo0dERPT333+Tubm50oxi5HwtICCA/ud//kflwqLpnNr2OVKUsyKfI3Vl/OOPP+Q/o7lz58o/\n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\n",
- "text": [
- "<matplotlib.figure.Figure at 0x2c409d0>"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "overall gas phase mass transfer flux -NAo_gas is :1.267466*10**-6 kmol/m**2*s \n",
- "overall liq phase mass transfer flux -NAo_liq is :1.235953*10**-6 kmol/m**2*s \n",
- "film based gas phase mass transfer flux-NAf_gas is :1.242613 *10**-6 kmol/m**2*s\n",
- "film based liq phase mass transfer flux-NAf_liq is :1.192479 *10**-6 kmol/m**2*s\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.9"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "Cas=1.521*10**-7;\n",
- "v=1525; #velocity in m/s\n",
- "D=0.0516; #diffusivity in cm**2/s\n",
- "d=1.25*10**-3; #density of air in g/cm**3\n",
- "u=1.786*10**-4; #viscosity of air in n*s/m**2\n",
- "Dia=2.54; #diameter in cm\n",
- "\n",
- "# Calculation \n",
- "nre=(Dia*v*d)/(u); #calc. of reynolds no.\n",
- "cf=2*0.036*(nre)**(-0.25); #friction factor\n",
- "nsc=(u)/(d*D); #calc of schmidt no.\n",
- "kc=(cf*v)/(2*(nsc)**(2./3)); #cf/2=kc/uo*(sc)**2/3\n",
- "\n",
- "#consider an elelmental section of dx at a distance of x from the point of entry of air.\n",
- "#let the conc. be c of diffusing component and c+dc at the point of leaving. mass balance across this elelmental gives\n",
- " #rate of mass transfer=(cross sectional area)*(air velocity)*dc\n",
- " # =(3.14*d**2/4)*v*dc -----1 eqn\n",
- " \n",
- "#flux for mass transfer from the surface=kc*(Cas-C)\n",
- "# rate of mass transfer=(flux)*mass transfer\n",
- "# =kc*(Cas-C)*3.14*dx*D------2 eqn\n",
- "# solving ----1 & -----2 we get\n",
- "# \n",
- "# (3.14*d**2/4)*v*dc=kc*(Cas-C)*3.14*dx*d;\n",
- "# dc/(Cas-C)=(kc*3.14*d*v)/(3.14*d**2/4)*dx\n",
- "# solving this we get\n",
- "# ln[(Cas-C)/(Cas-C_in)]=(kc*4*x)/(d*v)\n",
- "import math\n",
- "x=183; #upper limit of x\n",
- "C_in=0; #C=C_in=0;\n",
- "t=(kc*4*x)/(Dia*v); #variable to take out the exponential\n",
- "z=math.e**t;\n",
- "C_final=Cas-(z*(Cas-C_in)); #value of c_final in g*mol/cc;\n",
- "\n",
- "# Result\n",
- "print \"\\t conc. of acid at outlet :%f *10**-8 g*mol/cc\\n\"%(abs(C_final/10**-8))\n",
- "rate=(3.14*Dia**2/4)*v*(C_final-C_in);\n",
- "print \"\\trate of mass transfer :%f *10**-4 g*mol/s\\n\"%(abs(rate/10**-4));\n",
- "#End"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t conc. of acid at outlet :7.709387 *10**-8 g*mol/cc\n",
- "\n",
- "\trate of mass transfer :5.954246 *10**-4 g*mol/s\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch5.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch5.ipynb
deleted file mode 100644
index 5acdca48..00000000
--- a/Elements_Of_Mass_Transfer_Part_1/ch5.ipynb
+++ /dev/null
@@ -1,985 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:2ee4e5f8137c7268975819ca4a31ef66c4a59076a802f56667cecd1c3f67b2a9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 5 : Humidification"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.1 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "# Variable Declaration \n",
- "#dry bulb temperature=50 and wet bulb temperature=35 \n",
- "Tg=50.; #dry bulb temperature=50\n",
- "To=0; #refrence temperature in degree celcius \n",
- "Mb=28.84; #average molecular weight of air\n",
- "Ma=18.; #average molecular weight of water\n",
- "\n",
- "#part(i)\n",
- "ybar=.0483 #0.003 kg of water vapour/kg of dry air\n",
- "print \"\\n the humidity(from chart) is \\t\\t:%f percent\"%ybar\n",
- "\n",
- "#part(ii)\n",
- "humper=35.; #humidity percentage\n",
- "print \"\\n the percentage humidity is(from chart) :%f percent\"%humper\n",
- "\n",
- "# Calculation and Result\n",
- "#part(iii)\n",
- "pt=1.013*10**5; #total pressure in pascal\n",
- "molhum=0.0483; #molal humidity =pa/(pt-pa)\n",
- "pa=molhum*pt/(1+molhum);\n",
- "#the vopour pressure of water(steam tables)at 50degree = .1234*10**5 N/m**2\n",
- "relhum=(pa/(.1234*10**5))*100; #percentage relative humidity =partial pressure/vapour pressure\n",
- "print \"\\n the percentage relative humidity is \\t percent:%f \"%relhum\n",
- "\n",
- "#part(iv)\n",
- "dewpoint=31.5; #dew point temperature in degree celcius\n",
- "print \"\\n the dew point temperature \\t\\t :%f degree celcius\"%dewpoint\n",
- "\n",
- "#part(v)\n",
- "Ca=1.005;\n",
- "Cb=1.884;\n",
- "ybar=.03; #saturation temperature inkg water vapour/kg dry air\n",
- "Cs=Ca+Cb*ybar; #humid heat in kj/kg dry air degree celcius\n",
- "print \"\\n we get humid heat as \\t\\t\\t :%f kj/kg dry air degree celcius \"%Cs\n",
- "\n",
- "#part(vi)\n",
- "d=2502; #latent heat in kj/kg\n",
- "H=Cs*(Tg-0)+ybar*d; #enthalpy for refrence temperature of 0 degree\n",
- "print \"\\n we get H as \\t\\t\\t\\t :%f kj/kg\"%H\n",
- "Hsat=274.; #enthalpy of sturated air\n",
- "Hdry=50.; #enthalpy of dry air in kj/kg\n",
- "Hwet=Hdry+(Hsat-Hdry)*0.35; #enthalpy of wet air in kj/kg\n",
- "print \"\\n we get enthalpy of wet air as \\t:%f kj/kg\"%Hwet\n",
- "\n",
- "#part(vii)\n",
- "VH=8315*((1./Mb)+(ybar/Ma))*((Tg+273.)/pt); #humid volume in m**3mixture/kg of dry air\n",
- "print \"\\n we get VH as (a)\\t\\t\\t :%f m**3/kg of dry air\"%VH\n",
- "spvol=1.055; #specific volume of saturated air in m**3*kg\n",
- "vdry=0.91; #specific volume of dry air in m**3/kg\n",
- "Vh=vdry+(spvol-vdry)*.35 #by interpolation we get Vh in m**3/kg of dry air \n",
- "print \"\\n by interpolation we get specific volume Vh as(b) :%f m**3/kg of dry air\"%Vh\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the humidity(from chart) is \t\t:0.048300 percent\n",
- "\n",
- " the percentage humidity is(from chart) :35.000000 percent\n",
- "\n",
- " the percentage relative humidity is \t percent:37.822988 \n",
- "\n",
- " the dew point temperature \t\t :31.500000 degree celcius\n",
- "\n",
- " we get humid heat as \t\t\t :1.061520 kj/kg dry air degree celcius \n",
- "\n",
- " we get H as \t\t\t\t :128.136000 kj/kg\n",
- "\n",
- " we get enthalpy of wet air as \t:128.400000 kj/kg\n",
- "\n",
- " we get VH as (a)\t\t\t :0.963494 m**3/kg of dry air\n",
- "\n",
- " by interpolation we get specific volume Vh as(b) :0.960750 m**3/kg of dry air\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.2 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "\n",
- "#dry bulb temperature=25 and wet bulb temperature=22\n",
- "Tg=25.; #dry bulb temperature=50\n",
- "To=0; #refrence temperature in degree celcius \n",
- "Mb=28.84; #average molecular weight of air\n",
- "Ma=18.; #average molecular weight of water\n",
- "\n",
- "\n",
- "# Calculation and Result\n",
- "#part(i)\n",
- "hum=.0145 #0.0145 kg of water/kg of dry air\n",
- "print \"\\n the saturation humidity(from chart) is :%f percent\"%hum\n",
- "\n",
- "#part(ii)\n",
- "humper=57.; #humidity percentage\n",
- "print \"\\n the percentage humidity is \\t\\t:%f percent\"%humper\n",
- "\n",
- "#part(iii)\n",
- "pt=1.; #total pressure in atm\n",
- "sathum=0.0255; #molal humidity =pa/(pt-pa)\n",
- "pa1=sathum*pt*(28.84/18)/(1+(sathum*(28.84/18)));\n",
- "#the vopour pressure of water(steam tables)at 25 = .0393*10**5 N/m**2\n",
- "pt=1; #total pressure in atm\n",
- "molhum=0.0145; #molal humidity =pa/(pt-pa)\n",
- "pa2=molhum*pt*(28.84/18)/(1+(molhum*pt*(28.84/18)));\n",
- "#the vopour pressure of water(steam tables)at 25 = .0393*10**5 N/m**2\n",
- "relhum=(pa2/pa1)*100; #percentage relative humidity =partial pressure/vapour pressure\n",
- "print \"\\n the percentage relative humidity is \\t :%f \"%relhum\n",
- "\n",
- "#part(iv)\n",
- "dewpoint=19.5; #dew point temperature in degree celcius\n",
- "print \"\\n the dew point temperature \\t :%f degree celcius\"%dewpoint\n",
- "\n",
- "#part(v)\n",
- "Ca=1005.;\n",
- "Cb=1884.;\n",
- "ybar=.0145; # humidity inkg water /kg dry air\n",
- "Cs=Ca+Cb*ybar; #humid heat in j/kg dry air degree celcius\n",
- "d=2502300.; #latent heat in j/kg\n",
- "H=Cs*(Tg-0)+ybar*d; #enthalpy for refrence temperature of 0 degree\n",
- "print \"\\n we get Humid heat H as \\t :%f j/kg\"%H\n",
- "#the actual answer is 62091.3 bt in book it is given 65188.25(calculation mistake in book)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the saturation humidity(from chart) is :0.014500 percent\n",
- "\n",
- " the percentage humidity is \t\t:57.000000 percent\n",
- "\n",
- " the percentage relative humidity is \t :57.842165 \n",
- "\n",
- " the dew point temperature \t :19.500000 degree celcius\n",
- "\n",
- " we get Humid heat H as \t :62091.300000 j/kg\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.3"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "\n",
- "#part(i)\n",
- "pt=800.; #total pressure in mmHg\n",
- "pa=190.; #vapour pressure of acetone at 25 degree \n",
- "ys_bar=pa*(58./28)/(pt-pa) #\n",
- "#percentage saturation = y_bar/ys_bar *100\n",
- "s=80; #percent saturation\n",
- "\n",
- "# Calculation and Result\n",
- "y_bar=ys_bar*s/100.; #absolute humidity\n",
- "print \"\\n the absolute humidity is \\t :%f kg acetone/kmol N2 \"%y_bar\n",
- "\n",
- "#part(ii)\n",
- "#y_bar=pa*(58/28)/(pt-pa) \n",
- "pa1=pt*y_bar*(28./58)/(1+(y_bar*(28./58)));\n",
- "print \"\\n the partial pressure of acetone is:%f mmHg\"%pa1\n",
- "\n",
- "#part(iii)\n",
- "y=pa1/(pt-pa1); #absolute molal humidity\n",
- "print \"\\n absolute molal humidity \\t:%f kmol acetone/kmol N2\"%y\n",
- "\n",
- "#part(iv)\n",
- "#volume of .249kmol acetone vapour at NTP =.249*22.14\n",
- "#p1v1/T1 =p2v2/T2\n",
- "p2=800.; #final pressure of acetone and nitrogen at 25 degree\n",
- "p1=760.; #initial pressure of acetone and nitrogen at 25 degree\n",
- "T2=298.; #final temperature of acetone and nitrogenat 25 degree\n",
- "T1=273.; #initial temperature of acetone and nitrogen at 25 degree\n",
- "vA1=5.581; #initial volume of acetone at 25 degree\n",
- "vN1=22.414; #initial volume of nitrogen at 25 degree \n",
- "vA2=T2*vA1*p1/(T1*p2); #final volume of acetone at 25 degree\n",
- "vN2=T2*vN1*p1/(T1*p2); #final volume of nitrogen at 25 degree\n",
- "vtotal=vA2+vN2; #total volume of the mixture\n",
- "vper=vA2*100/vtotal; #percentage volume of acetone\n",
- "print \"\\n the percentage volume of acetone is :%f m**3\"%vper\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the absolute humidity is \t :0.516159 kg acetone/kmol N2 \n",
- "\n",
- " the partial pressure of acetone is:159.580052 mmHg\n",
- "\n",
- " absolute molal humidity \t:0.249180 kmol acetone/kmol N2\n",
- "\n",
- " the percentage volume of acetone is :19.935703 m**3\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.4 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "# Variable Declaration \n",
- "\n",
- "#part(i)\n",
- "pa=13.3; #pressure in kpa\n",
- "pa2=20.6; #vapour pressure at 60 degree\n",
- "pt=106.6 #total pressure in kpa\n",
- "y=pa/(pt-pa); #absolute molal humidity\n",
- "\n",
- "# Calculation and Result\n",
- "y_bar=y*(18/28.84); #relative humidity\n",
- "print \"\\n absolute humidity of mixture :%f kg water-vapour/kg dry air\"%y_bar\n",
- "\n",
- "\n",
- "#part(ii)\n",
- "mf=pa/pt; #mole fraction\n",
- "print \"\\n the mole fraction is :%f\"%mf\n",
- "\n",
- "#part(iii)\n",
- "vf=mf; #volume fraction\n",
- "print \"\\n the volume fraction is :%f\"%vf\n",
- "\n",
- "#part(iv)\n",
- "Ma=18.; #molecular weight\n",
- "Mb=28.84; #molecular weight\n",
- "Tg=60.; #temperature of mixture\n",
- "rh=(pa/pa2)*100.; #relative humidity in pecentage \n",
- "print \"\\n we get relative humidity as as :%f percent\"%rh\n",
- "\n",
- "#part(v)\n",
- "VH=8315.*((1./Mb)+(y_bar/Ma))*((Tg+273)/pt)*10**-3; #humid volume in m**3mixture/kg of dry air\n",
- "x=y_bar/VH; #g water/m**3 mixture \n",
- "print \"\\n we get x i.e. gwater/m**3 mixture as :%f \"%(x*1000)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " absolute humidity of mixture :0.088971 kg water-vapour/kg dry air\n",
- "\n",
- " the mole fraction is :0.124765\n",
- "\n",
- " the volume fraction is :0.124765\n",
- "\n",
- " we get relative humidity as as :64.563107 percent\n",
- "\n",
- " we get x i.e. gwater/m**3 mixture as :86.460483 \n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.5 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "# Variable Declaration \n",
- "\n",
- "#part(i)\n",
- "y_bar=.0183; #kg water vapour/kg dry air\n",
- "print \"\\n we get humidity as(from chart) :%f kg of water/kg dry air\"%y_bar\n",
- "print \"\\n we get saturation humidity as(from chart) :%d percent\"%67\n",
- "Ma=18.; #molecular weight\n",
- "Mb=28.84; #molecular weight\n",
- "Tg=30.; \n",
- "pa = 13.3\n",
- "pa2 = 20.6 #temperature of mixture\n",
- "rh=(pa/pa2)*100; #relative humidity in pecentage \n",
- "pt=1.013*10**5; #total pressure in pascal\n",
- "\n",
- "# Calculation and Result\n",
- "VH=8315*((1./Mb)+(y_bar/Ma))*((Tg+273)/pt); #humid volume in m**3mixture/kg of dry air\n",
- "print \"\\n we get humid volume as \\t:%f m**3/kg dry air\"%VH\n",
- "\n",
- "#part(ii)\n",
- "Ca=1005.;\n",
- "Cb=1884.;\n",
- "Cs=Ca+Cb*y_bar; #humid heat in j/kg dry air degree celcius\n",
- "print \"\\n we get humid heat as \\t\\t :%f j/kg dry air degree celcius \"%Cs\n",
- "\n",
- "#part(iii)\n",
- "d=2502300.; #latent heat in j/kg\n",
- "H=Cs*(Tg-0)+y_bar*d; #enthalpy for refrence temperature of 0 degree\n",
- "print \"\\n we get Enthalpy H as \\t\\t:%f j/kg dry air\"%H\n",
- "\n",
- "#part(iv)\n",
- "dewpoint=23.5; #dew point temperature in degree celcius\n",
- "print \"\\n the dew point temperature \\t :%f degree celcius\"%dewpoint\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " we get humidity as(from chart) :0.018300 kg of water/kg dry air\n",
- "\n",
- " we get saturation humidity as(from chart) :67 percent\n",
- "\n",
- " we get humid volume as \t:0.887669 m**3/kg dry air\n",
- "\n",
- " we get humid heat as \t\t :1039.477200 j/kg dry air degree celcius \n",
- "\n",
- " we get Enthalpy H as \t\t:76976.406000 j/kg dry air\n",
- "\n",
- " the dew point temperature \t :23.500000 degree celcius\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.6 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "\n",
- "#part(i)\n",
- "y=.048; #humidity kmol water vapour/kmol dry air\n",
- "y_bar=y*(18/28.84); #(from chart) absolute humidity\n",
- "print \"we get absolute humidity as :%f kg of water/kg dry air\"%(y_bar)\n",
- "print \"we get percentage humidity as(from chart) :%f percent\"%(25.5);\n",
- "\n",
- "# Calculation and Result\n",
- "y_bar=y*(18/28.84); #relative humidity\n",
- "Ma=18.; #molecular weight\n",
- "Mb=28.84; #molecular weight\n",
- "Tg=55.; #temperature of mixture\n",
- "pt=1.013*10**5; #total pressure in pascal\n",
- "VH=8315*((1./Mb)+(y_bar/Ma))*((Tg+273)/pt); #humid volume in m**3mixture/kg of dry air\n",
- "print \"\\n we get VH as \\t :%f m**3/kg dry air\"%VH\n",
- "\n",
- "#part(ii)\n",
- "Ca=1005.;\n",
- "Cb=1884.;\n",
- "Cs=Ca+Cb*y_bar; #humid heat in j/kg dry air degree celcius\n",
- "print \"\\n we get humid heat as \\t :%f j/kg dry air degree celcius \"%Cs\n",
- "\n",
- "#part(iii)\n",
- "d=2502300.; #latent heat in j/kg\n",
- "H=Cs*(Tg-0)+y_bar*d; #enthalpy for refrence temperature of 0 degree\n",
- "print \"\\n we get H as \\t :%f j/kg dry air\"%H\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "we get absolute humidity as :0.029958 kg of water/kg dry air\n",
- "we get percentage humidity as(from chart) :25.500000 percent\n",
- "\n",
- " we get VH as \t :0.978346 m**3/kg dry air\n",
- "\n",
- " we get humid heat as \t :1061.441609 j/kg dry air degree celcius \n",
- "\n",
- " we get H as \t :133344.170596 j/kg dry air\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.7 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "# Variable Declaration \n",
- "\n",
- " \n",
- "ft=46; #final temperature in degree celcius\n",
- "# Calculation and Result\n",
- "print \"\\n final temperature is (from chart):%f degree celcius\"%ft\n",
- "y_bar=.0475; # humidity of air\n",
- "print \"\\n the humidity of air(from chart) :%f kg water vapour /kg dry air\"%y_bar\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " final temperature is (from chart):46.000000 degree celcius\n",
- "\n",
- " the humidity of air(from chart) :0.047500 kg water vapour /kg dry air\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.8"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "\n",
- "pa1=4.24 #data: vapour pressure of water at 30degree = 4.24 kpa\n",
- "pa2=1.70 # vapour pressure of water at 30degree = 1.70 kpa\n",
- "\n",
- "#part(i)\n",
- "pt=100.; #total pressure\n",
- "\n",
- "# Calculation \n",
- "ys_bar=pa1/(pt-pa1); #kg water vapour/kg dry air\n",
- "rh=.8; #relative humidity\n",
- "pa3=rh*pa1; #partial pressure\n",
- "y_bar=pa3*(18/28.84)/(pt-pa3); #molal humidity\n",
- "print \"\\n the molal humidity:%f kg/kg dry air\"%y_bar\n",
- "\n",
- "#part(ii)\n",
- "#under these conditions the air will be saturated at 15 degree as some water is condensed\n",
- "pa=1.7; \n",
- "pt=200.;\n",
- "ys=pa/(pt-pa);\n",
- "ys_bar=ys*(18/28.84);\n",
- "\n",
- "# Result\n",
- "print \"\\n the molal humidity if pressure doubled and temp. is 15 :%f kg/kg dry air\"%ys_bar\n",
- "\n",
- "#part(iii) \n",
- "Ma=18.; #molecular weight\n",
- "Mb=28.84; #molecular weight\n",
- "Tg=30.; #temperature of mixture\n",
- "rh=(pa/pa2)*100; #relative humidity in pecentage \n",
- "pt=10**5; #total pressure in pascal\n",
- "VH=8315*((1./Mb)+(y_bar/Ma))*((Tg+273)/pt); #humid volume in m**3mixture/kg of dry air\n",
- "print \"\\n we get humid volume VH as \\t :%f m**3/kg of dry air\"%VH\n",
- "w=100/VH; #100 m**3 of original air \n",
- "wo= w*y_bar; #water present in original air\n",
- "wf= w*ys_bar; #water present finally\n",
- "wc=wo-wf; #water condensed from 100m**3 of original sample\n",
- "print \"\\n the weight water condensed from 100m**3 of original sample:%f kg\"%wc\n",
- "\n",
- "#part(iv)\n",
- "Tg=15.; #temperature of mixture \n",
- "pt=2*10**5; #total pressure in pascal\n",
- "VH=8315*((1./Mb)+(ys_bar/Ma))*((Tg+273)/pt); #humid volume in m**3mixture/kg of dry air\n",
- "vf=VH*110.6; #final volume of mixture\n",
- "print \"\\n we get VH final volume of mixture as \\t :%f m**3\"%vf\n",
- "\n",
- "#end\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the molal humidity:0.021914 kg/kg dry air\n",
- "\n",
- " the molal humidity if pressure doubled and temp. is 15 :0.005351 kg/kg dry air\n",
- "\n",
- " we get humid volume VH as \t :0.904267 m**3/kg of dry air\n",
- "\n",
- " the weight water condensed from 100m**3 of original sample:1.831684 kg\n",
- "\n",
- " we get VH final volume of mixture as \t :46.311825 m**3\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.9"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "\n",
- "#part(i)\n",
- "y_bar=.03; # humidity inkg water /kg dry air\n",
- "pt=760.; #total pressure in pascal\n",
- "pa2=118.; #final pressure\n",
- "\n",
- "# Calculation and Result\n",
- "y=y_bar/(18/28.84); #humidity kmol water vapour/kmol dry air\n",
- "pa=(y*pt)/(y+1); #partial pressure\n",
- "rh=pa/pa2; #relative humidity\n",
- "sh=pa2/(pt-pa2); #saturated humidity\n",
- "ph=(y/sh)*100; #percentage humidity\n",
- "print \"\\n percentage humidity is :%f\"%ph\n",
- "\n",
- "#/part(ii)\n",
- "Ma=18.; #molecular weight\n",
- "Mb=28.84; #molecular weight\n",
- "Tg=55.; #temperature of mixture\n",
- "pt=1.013*10**5; #total pressure in pascal\n",
- "VH=8315*((1./Mb)+(y_bar/Ma))*((Tg+273)/pt); #humid volume in m**3mixture/kg of dry air\n",
- "print \"\\n we get VH humid volume as :%f m**3/kg dry air\"%VH\n",
- "\n",
- "\n",
- "#part(iii)\n",
- "Ca=1005.;\n",
- "Cb=1884.;\n",
- "Cs=Ca+Cb*y_bar; #humid heat in j/kg dry air degree celcius\n",
- "print \"\\n we get humid heat as \\t :%f j/kg dry air degree celcius \"%Cs\n",
- "d=2502300; #latent heat in j/kg\n",
- "H=Cs*(Tg-0)+y_bar*d; #enthalpy for refrence temperature of 0 degree\n",
- "print \"\\n we get H enthalpy as \\t :%f j/kg\"%H\n",
- "\n",
- "#part(iv)\n",
- "v=100.; #volume of air\n",
- "mass=v/VH; #mass of dry air\n",
- "Tg=110.; #temperature of mixture\n",
- "d=2502300.; #latent heat in j\n",
- "H_final=Cs*(Tg-0)+y_bar*d; #enthalpy for refrence temperature of 0 degree\n",
- "H_added=(H_final-H)*102.25; #HEAT added in kj \n",
- "print \"\\n we get heat added as \\t :%f kj\"%(H_added/1000)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " percentage humidity is :26.151525\n",
- "\n",
- " we get VH humid volume as :0.978409 m**3/kg dry air\n",
- "\n",
- " we get humid heat as \t :1061.520000 j/kg dry air degree celcius \n",
- "\n",
- " we get H enthalpy as \t :133452.600000 j/kg\n",
- "\n",
- " we get heat added as \t :5969.723100 kj\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.10"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "\n",
- "%pylab inline\n",
- "L=2000.; #flow rate of water to be cooled in kg/min\n",
- "T1=50.; #temperature of inlet water\n",
- "T2=30.; #temp. of outlet water\n",
- "H1=.016; #humidity of incoming air\n",
- "cp=4.18; #specific heat of water\n",
- "cpair=1.005; #specific heat capcity of air\n",
- "cpwater=1.884; #specific heat capcity of water\n",
- "tg=20.; #temperature in degree\n",
- "to=0;\n",
- "ybar=0.016; #saturated humidity at 20 degree\n",
- "d=2502.; #latent heat\n",
- "Ky_a=2500.; #value of masstransfer coefficient in kg/hr*m**3*dybar\n",
- "\n",
- "# Calculation \n",
- "E=cpair*(tg-to)+(cpwater*(tg-to)+d)*ybar; #enthalpy\n",
- "#similarly for other temperatures\n",
- "T=[20,30,40,50,55] #differnt temperature for different enthalpy calculation\n",
- "i=0;\n",
- "E= [0,0,0,0,0]\n",
- "while(i<5): #looping for different enthalpy calculation of operating line\n",
- " E[i]=cpair*(T[i]-to)+(cpwater*(T[i]-to)+d)*ybar;\n",
- " print \"\\n the enhalpy at :%f is :%f\"%(T[i],E[i]);\n",
- " i=i+1;\n",
- "\n",
- "ES=[60.735,101.79,166.49,278.72,354.92] #enthalpy of eqll condition\n",
- "from matplotlib.pyplot import *\n",
- "\n",
- "# Result\n",
- "plot(T,E);\n",
- "plot(T,ES);\n",
- "title(\"Fig.5.10(b),Temperature-Enthalpy plot\");\n",
- "xlabel(\"X-- Temperature, degree celcius\");\n",
- "ylabel(\"Y-- Enthalpy ,kj/kg\");\n",
- "legend(\"operating line\",\"Enthalpy at saturated cond\")\n",
- "show()\n",
- "#locate (30,71.09) the operating conditions at the bottom of the tower and draw the tangent to the curve\n",
- "Hg1=71.09; #point on the oper. line(incoming air)\n",
- "Hg2=253.; #point after drawing the tangent\n",
- "slope=(Hg2-Hg1)/(T1-T2); #we gt slope of the tangent\n",
- " #slope = (L*Cl/G)_min\n",
- "Cl=4.18;\n",
- "G_min=L*60*Cl/slope; #tangent gives minimum value of the gas flow rate\n",
- "G_actual=G_min*1.3; #since actual flow rate is 1.3 times the minimum\n",
- "slope2=L*Cl*60/G_actual; #slope of operating line\n",
- "Hg2_actual=slope2*(T1-T2)+Hg1; #actual humidityat pt 2\n",
- "Ggas=10000.; #minimum gas rate in kg/hr*m**2\n",
- "Area1=G_actual/Ggas; #maximum area of the tower(based on gas)\n",
- "Gliq=12000.; #minimum liquid rate in kg/hr*m**2\n",
- "Area2=60*L/Gliq; #maximum area of the tower(based on liquid)\n",
- "print \"\\n \\n the maximum area of the tower(based on gas) is :%f m**2\"%Area1\n",
- "print \"\\n the maximum area of the tower(based on liquid) is :%f m**2\"%Area2\n",
- "dia=(Area1*4/3.14)**0.5; #diameter of the tower in m\n",
- "\n",
- "#let us assume the resistance to mass transfer lies basically in gas phase. hence the,interfacial conditions and the eqlb cond. are same.vertical line drawn between oper. and equl. line we get conditions of gas and equl. values are tabulated below as follows\n",
- " \n",
- " \n",
- "#table\n",
- "T=[20,30,40,50,55] #differnt temperature for different enthalpy calculation\n",
- "#enthaly \n",
- "H_bar=[101.79,133.0,166.49,210.0,278.72] #H_bar i.e. at equl.\n",
- "Hg=[71.09,103.00,140.00,173.00,211.09] #Hg i.e. of operating line\n",
- "i=0;\n",
- "y = [0,0,0,0,0]\n",
- "while(i<5): #looping for different enthalpy calculation of operating line\n",
- " y[i]=1./(H_bar[i]-Hg[i]);\n",
- " print \"\\n the enhalpy at :%f is :%f\"%(T[i],y[i]);\n",
- " i=i+1;\n",
- "\n",
- "plot(Hg,y,\"o-\");\n",
- "\n",
- "#area under this curve gives Ntog =4.26\n",
- "Ntog=4.26; #no. of transfer unit\n",
- "Gs=10000.; #gas flow rate\n",
- "Htog=Gs/Ky_a; # height of transfer unit\n",
- "height=Ntog*Htog; #height of the tower\n",
- "print \"\\n \\nthe tower height is :%f m\"%height\n",
- "\n",
- "\n",
- "#make up water is based onevaporation loss(E),blow down loss(B),windage loss(W) M = E + B + W\n",
- "W=.2/100 *L*60; #windage loss(W)\n",
- "B=0; #blow down loss neglected\n",
- "E=G_actual*(.064-.016); #assuming air leaves fully saturated\n",
- "M = E + B + W; #make up water is based onevaporation loss(E),blow down loss(B),windage loss(W)\n",
- "print \"\\n make up water is based onevaporation loss(E),blow down loss(B),windage loss(W) is :%f kg /hr\"%M\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Populating the interactive namespace from numpy and matplotlib\n",
- "\n",
- " the enhalpy at :20.000000 is :60.734880\n",
- "\n",
- " the enhalpy at :30.000000 is :71.086320\n",
- "\n",
- " the enhalpy at :40.000000 is :81.437760\n",
- "\n",
- " the enhalpy at :50.000000 is :91.789200\n",
- "\n",
- " the enhalpy at :55.000000 is :96.964920\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stderr",
- "text": [
- "/usr/lib/pymodules/python2.7/matplotlib/legend.py:336: UserWarning: Unrecognized location \"Enthalpy at saturated cond\". Falling back on \"best\"; valid locations are\n",
- "\tright\n",
- "\tcenter left\n",
- "\tupper right\n",
- "\tlower right\n",
- "\tbest\n",
- "\tcenter\n",
- "\tlower left\n",
- "\tcenter right\n",
- "\tupper left\n",
- "\tupper center\n",
- "\tlower center\n",
- "\n",
- " % (loc, '\\n\\t'.join(self.codes.iterkeys())))\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nH5Tvu9xFN1PzSj1qaC+eEEIahloeOahZZEII4V1dt50aSsxCCCFETfFWHEQiEXr37g0HBwc4OTkB\nALKzs+Hu7g4rKyt4eHggNzeXr3hKIxaL+Y7wXig/f9Q5O0D51Q1vxUEgEEAsFiMuLg7R0dEAgA0b\nNsDd3R2JiYlwc3PDhg0b+IqnNOr+A6P8/FHn7ADlVze8Niu92/4VERGBwMBAAEBgYCCOHj3KRyxC\nCGn2eD1yGDZsGBwdHbF161YAQFZWFszMzAAAZmZmyMrK4iseIYQ0b4wn6enpjDHGnj9/zuzs7Nif\nf/7JjIyM5N5jbGxcaT4A9Ed/9Ed/9FePv7rg7TqH9u3fDmlhYmKCsWPHIjo6GmZmZsjMzES7du2Q\nkZEBU9PKI6Qy6sZKCCFKx0uzUlFREfLz8wEAhYWFiIqKgq2tLby8vBAWFgYACAsLg7e3Nx/xCCGk\n2ePlIrikpCSMHTsWACCRSDBx4kSsWLEC2dnZ8PX1RUpKCkQiEfbv3w8jI6PGjkcIIaSepwwaRUpK\nCnN1dWXW1tbMxsaGbdq0iTHG2KtXr9iwYcNY9+7dmbu7O8vJyeE5aWWKsq9evZqZm5sze3t7Zm9v\nz06dOsVz0qoVFxczJycnZmdnx3r27MmWL1/OGFOPdc+Y4vzqsv7LSSQSZm9vz0aPHs0YU5/1X+7d\n/Oq0/jt37sxsbW2Zvb0969evH2NMfdZ/Vdnruu5VeviMzMxMZGZmwt7eHgUFBejbty+OHj2K7du3\no23btli6dCm+/fZb5OTkqNw1EYqy79+/H0KhEIsWLeI7Yo2Kioqgq6sLiUSCAQMGYOPGjYiIiFD5\ndV+uqvznz59Xm/UPAD/++CNiY2ORn5+PiIgILF26VG3WP1A5/5o1a9Rm/VtaWiI2NhatW7fmpqnL\n+q8qe13XvUoPn9GuXTvY29sDAPT19dGzZ0+kpaWpxfUQirID6nNSXVdXFwBQWloKqVQKY2NjtVj3\n5arKD6jP+n/27BlOnjyJ6dOnc5nVaf1XlZ8xpjbrH6j8W1Gn9V/Veq7Lulfp4lDR06dPERcXB2dn\nZ7W7HqI8u4uLCwBg8+bNsLOzw7Rp01R6iBCZTAZ7e3uYmZlhyJAhsLGxUat1X1V+QH3W/+eff47v\nv/8eGhr/999UndZ/VfkFAoHarH91vharquxAHX/7Smv0akD5+fmsT58+7MiRI4wxVqvrIVRFfn4+\n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\n",
- "text": [
- "<matplotlib.figure.Figure at 0x266c510>"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " \n",
- " the maximum area of the tower(based on gas) is :7.169260 m**2\n",
- "\n",
- " the maximum area of the tower(based on liquid) is :10.000000 m**2\n",
- "\n",
- " the enhalpy at :20.000000 is :0.032573\n",
- "\n",
- " the enhalpy at :30.000000 is :0.033333\n",
- "\n",
- " the enhalpy at :40.000000 is :0.037750\n",
- "\n",
- " the enhalpy at :50.000000 is :0.027027\n",
- "\n",
- " the enhalpy at :55.000000 is :0.014786\n",
- "\n",
- " \n",
- "the tower height is :17.040000 m\n",
- "\n",
- " make up water is based onevaporation loss(E),blow down loss(B),windage loss(W) is :3681.244571 kg /hr\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\n3TidToYNG9aofVZWFi6XixEjRjBixAiKiopaeRgiIsGvXz9riurixVZyCEY+k4LX62XOnDkUFRWx\ne/du1qxZw549exq1KSwsZN++fZSXl7Ny5UoyMjLsn82aNavJE77D4eD++++nrKyMsrIybr75Zj8d\njohIcLvqKuuKIT3dqmUINj6TQmlpKVFRUURERBASEkJqair5+fmN2hQUFJCWlgZAYmIitbW1HDx4\nEIAbbriBvn37NrlvDSCLSFd1ag3DqlXbSEn5CUlJWaSk/ISNG7cFNDafdQrV1dWEh4fbz10uFzt2\n7Dhnm+rqagYMGODzjZcvX05eXh4JCQk8/fTThIaGtiR+EZEOye2GTZu2kZHxMsePL7a379+/EICJ\nE8cEJC6fScHhcDRrJ6d/6z/X6zIyMnjssccAePTRR5k/fz6rVq1qsm1WVpb9OCkpiaSkpGbFJCIS\n7D74YHOjhACwf/9ili9/tNlJobi4mOLiYr/F5DMphIWF4fF47OcejweXy+WzTVVVFWFhYT7ftH//\n/vbje+65h0k+7np9alIQEelMjh1r+hRcV9e92fs4/cvyokWLWhWTzzGFhIQEysvLqayspL6+nrVr\n1+I+bck/t9tNXl4eACUlJYSGhuJ0On2+6YEDB+zH69evP2N2kohIV9Cz54kmt/fq5W3nSL7mMyn0\n6NGDFStWkJKSQmxsLLfffjuDBw8mJyeHnJwcACZMmMBVV11FVFQUs2fP5tlnn7VfP2PGDEaPHs3e\nvXsJDw9n9erVADz00EMMHz6cuLg4XnvtNZ555pk2PEQRkeCUmTmeyMiFjbZFRj7C3LnJAYpIy1yI\niATUxo3bWL58C3V13enVy8vcucmtGmTW2kciImLT2kciIuI3SgoiImJTUhAREZuSgoiI2JQURETE\npqQgIiI2JQUREbEpKYiIiE1JQUREbEoKIiJiU1IQERGbkoKIiNiUFERExKakICIiNiUFERGxKSmI\niIhNSUFERGxKCiIiYlNSEBERm5KCiIjYlBRERMSmpCAiIjYlBRERsSkpiIiITUlBRERsSgoiImJT\nUhAREds5k0JRURExMTFER0ezZMmSJttkZmYSHR1NXFwcZWVl9va7774bp9PJsGHDGrU/dOgQycnJ\nDBo0iPHjx1NbW9vKwwic4uLiQIfQLIrTvxSnfynO4OEzKXi9XubMmUNRURG7d+9mzZo17Nmzp1Gb\n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\n3JueAAAAAElFTkSuQmCC\n",
- "text": [
- "<matplotlib.figure.Figure at 0x3115a50>"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.11"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- " \n",
- "T1=30.; #temperature at the inlet in degree celcius\n",
- "T2=17.; #temperature at the exit in degree celcius\n",
- "f=100000.; #flow rate of water in kg/hr\n",
- "hi=.004; #humidity of incoming air in kg/kg of dry air\n",
- "hl=.015; #humidity of leaving air in kg/kg of dry air\n",
- "Hi=18.11; #enthalpy of incoming air in kg/kg of dry air\n",
- "Hl=57.16; #enthalpy of leaving air in kg/kg of dry air\n",
- "#w=mdry*(hl-hi) = mdry*0.011; -----equn 1st \n",
- "#mass of water evaporated\n",
- "\n",
- "#making energy balance: total heat in = total heat out\n",
- "#heat in entering water + heat in entering air = heat in leaving water + heat in leaving air\n",
- "#100000*1*(30-0) + mdry*Hi = (100000-w)*1*(17-0) + mdry*Hl ----eqn 2nd\n",
- "\n",
- "#substituting eqn 1st in 2nd we get;\n",
- "a=14.4; #cross sectional area of the tower in m**2\n",
- "\n",
- "# Calculation \n",
- "mdry=(T1*f-T2*f)/(Hl-Hi-T2*.011); #mass of dry air\n",
- "velocity=mdry/a; #air velocity in kg/m**2* hr\n",
- "x=mdry*.011; #make up water needed in kg/hr\n",
- "\n",
- "# Result\n",
- "print \"\\n the make up water needed is :%f kg /hr\"%x\n",
- "print \"\\n the velocity of air is as :%f kg/hr\"%velocity\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the make up water needed is :367.959241 kg /hr\n",
- "\n",
- " the velocity of air is as :2322.975009 kg/hr\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.12 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "import math\n",
- " \n",
- "\n",
- "T1=65; #dry bulb temperature at the inlet in degree celcius\n",
- "f=3.5; #flow rate of air in m**3/s\n",
- "hi=1.017; #humidity of incoming air in kg/kg of dry air\n",
- "hl=.03; #humidity of leaving air in kg/kg of dry air\n",
- "k=1.12; #mass transfer coefficient in kg/m**3*s\n",
- "y1=.017; #molefraction at recieving end\n",
- "y2=.03; #molefraction at leaving end\n",
- "\n",
- "#substituting eqn 1st in 2nd we get;\n",
- "a=2; #cross sectional area of the tower in m**2\n",
- "d=1.113; #density o fair in kg/m**3\n",
- "\n",
- "# Calculation \n",
- "m=(f*d) #mass flow rate of air\n",
- "gs=m/hi; #air velocity in kg/m**2* hr\n",
- "ys_bar=.032;\n",
- "#for recirculation humidifier\n",
- "# Result\n",
- "z=math.log((ys_bar-y1)/(ys_bar-y2))*gs/k; #length of the chamber required\n",
- "print \"\\n the length of the chamber required is :%f m\"%z\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the length of the chamber required is :6.890939 m\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch6.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch6.ipynb
deleted file mode 100644
index d6c3df87..00000000
--- a/Elements_Of_Mass_Transfer_Part_1/ch6.ipynb
+++ /dev/null
@@ -1,1255 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:a29072d0985b8dbf41dbd6153642bf709b504655904069bc08292ea01d2d0ef9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 6 : Drying"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.1 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "H1=.005; #humidity of incoming air per kg of dry air\n",
- "T1=25.; #wet bulb temperature\n",
- "#moisture is removed along constant wet bulb temp. till 60per R.H is reached\n",
- "# from the chart ,humidity of ai rleaving first shelf =.016 kg water /kg dry air.\n",
- "\n",
- "#dry bulb temp. of exit air is at 27 degree aand is at humidity of .016 kg water/kg dry air.the air is again heated to 52 degree dry bulb temp. in 2nd heater .\n",
- "\n",
- "#so air leaves heater at 52 degree and humidity of .016 kg water/kg dry air. when it leaves the 2nd shelf the correspondin dry bulb temp. is 34 degree and humidity is .023 kg water/kg dry air. the air enters the 3rd shelf after preheating to 52 degree . \n",
- " \n",
- "#similarly fro 3rd shelf , exit air has a humidity of .028 kg water/kg dry air and adry bulb temp. is 39 degree. the air is leaving the 4rth shelf has a humidity of .016 kg water/kg dry air and adry bulb temp. of 42 degree(the figure is only indicative and doed not correspond toactual one)\n",
- "\n",
- "print \"\\n the solid temp. correspond to wbt and they are 23, 27,32 and 34 degree respectively\"\n",
- "\n",
- "#part(ii)\n",
- "Ybar=.032; #kg water/kg dry air#final moist air condotions \n",
- "T2=42.; #dry bulb temperature\n",
- "Mair=28.84; #molecular weight of air \n",
- "Mwater=18; #molecular weight of water\n",
- "pt=1.013*10**5; #total pressure in pascal\n",
- "Vh=8315*((1/Mair)+(Ybar/Mwater))*((T2+273)/pt);\n",
- "r=300; #flow rate of moist air leaving the dryer\n",
- "a=r*60/Vh; #amount of dry air leaving /hr\n",
- "w=a*(Ybar-0.005); # water removed /hr\n",
- "\n",
- "# Result\n",
- "print \"\\n the water removed /hr is :%fkg /hr\"%w\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the solid temp. correspond to wbt and they are 23, 27,32 and 34 degree respectively\n",
- "\n",
- " the water removed /hr is :515.648113kg /hr\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.2 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "%pylab inline\n",
- "#table X*100,(kgmoisture/kg dry solid) N*100 (kg moisture evaporated /hr*m**2)\n",
- " \n",
- "# 35 30\n",
- "# 25 30\n",
- "# 20 30\n",
- "# 18 26.6\n",
- "# 16 23.9\n",
- "# 14 20.8\n",
- "# 12 18\n",
- "# 10 15\n",
- "# 9 9.7\n",
- "# 8 7\n",
- "# 7 4.3\n",
- "# 6.4 2.511111\n",
- "\n",
- "\n",
- "Ls=262.5; #mass of bone dry solid ais the drying surface\n",
- "A=262.5/8; #both upper surafce and lower surface are exposed\n",
- "Nc=0.3; #in kg/m**2*hr\n",
- "x2=.06; #moisture content on wet basis finally after drying\n",
- "x1=.25; #moisture content on wet basis finally after drying\n",
- "Xcr=0.20; #crtical moisture content\n",
- "X1=x1/(1-x1); #moisture content on dry basis intially\n",
- "X2=x2/(1-x2); #moisture content on dry basis finally after drying\n",
- "Xbar=0.025; #equillibrium moisture \n",
- "\n",
- "# Calculation \n",
- "t1=Ls/(A*Nc) *(X1-Xcr); #so for constant rate period \n",
- "\n",
- "#for falling rate period we find time graphically\n",
- "p = [.20 ,.18, .16, .14, .12, .10, .09, .08, .07, .064];\n",
- "a = [3.3, 5.56, 6.25, 7.14, 8.32, 10.00, 11.11, 12.5, 14.29, 15.625];\n",
- "from matplotlib.pyplot import *\n",
- "\n",
- "# Result\n",
- "plot(p,a);\n",
- "title(\"Fig.6.18 Example2 1/N vs X for fallling rate period\");\n",
- "xlabel(\"X-- Moisture content, X(kg/kg)\");\n",
- "ylabel(\"Y-- 1/N, hr,m**2/kg\");\n",
- "\n",
- "Area=1.116; #area under the curve\n",
- "t2=Area *Ls/A; #falling rate period we find time graphically\n",
- "ttotal=t1+t2; #total time for drying\n",
- "print \"\\n the total time for drying the wet slab on wet basis is :%f min\"%ttotal\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Populating the interactive namespace from numpy and matplotlib\n",
- "\n",
- " the total time for drying the wet slab on wet basis is :12.483556 min\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\n",
- "text": [
- "<matplotlib.figure.Figure at 0x29ae2d0>"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.3.a "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "#part(i)\n",
- "#table wt of wet slab,kg -- 5.0 4.0 3.6 3.5 3.4 3.06 2.85\n",
- "# drying rate,kg/m**2s-- 5.0 5.0 4.5 4.0 3.5 2.00 1.00\n",
- "# X,Dry basis -- 1.0 0.6 .44 0.4 .36 .224 0.14\n",
- "# equillibrium relation is given under\n",
- "\n",
- "# Variable Declaration \n",
- "p = [1.0,0.6,.44,0.4,.36,.224, 0.14];\n",
- "a = [5.0,5.0, 4.5, 4.0, 3.5, 2.00, 1.00];\n",
- "\n",
- "i=0; #looping for calc. of 1/N \n",
- "t = [0,0,0,0,0,0,0]\n",
- "\n",
- "# Calculation \n",
- "while(i<7): #looping begins\n",
- " t[i]=1./(a[i]);\n",
- " i=i+1;\n",
- "\n",
- "from matplotlib.pyplot import *\n",
- "\n",
- "# Result\n",
- "plot(p,a);\n",
- "title(\"Fig.6.19(a) Example3 Drying Rate curve\");\n",
- "xlabel(\"X-- Moisture content, X(kg/kg) ---->\");\n",
- "ylabel(\"Y-- Drying Rate, N(kg/hr.m**2 ---->\");\n",
- "#xset('window',1);\n",
- "plot(p,t,\"o-\");\n",
- "title(\"Fig.6.19(b) Example3 1/N vs X\");\n",
- "xlabel(\"X-- Moisture content, X(kg/kg) --->\");\n",
- "ylabel(\"Y-- 1/N, hr,m**2/kg --->\");\n",
- "show()\n",
- "#from X=0.6 to 0.44 ,falling rate is non linear and from X=.44 to .14 falling rate is linear\n",
- "\n",
- "print \"\\n from the graph we get critical moisture content as 0.6 kg moisture/kg dry solid\"\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\nAElFTkSuQmCC\n",
- "text": [
- "<matplotlib.figure.Figure at 0x34ed890>"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " from the graph we get critical moisture content as 0.6 kg moisture/kg dry solid\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.3.b"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "#part(ii)\n",
- "w1=5.; #wet of wet solid\n",
- "c1=.5/(1-.5); #moisture content per kg wet solid\n",
- "w2=5.*0.5; #moisture for 5kg wet solid\n",
- "w3=w1-w2; #weight of dry solid\n",
- "xbar=0.05; #equillibrium moisture content\n",
- "Xbar=xbar/(1-xbar); #equillibrium moisture content\n",
- "Ls=2.5; #mass of bone dry solid ais the drying surface\n",
- "A=5.; #both upper surafce and lower surface are exposed\n",
- "Nc=0.6; #in kg/m**2*hr\n",
- "#from X=0.6 to 0.44 ,falling rate is non linear and from X=.44 to .14 falling rate is linear\n",
- "X2=.15/(1-.15);\n",
- "Xcr=.6; #kg moisture per kg dry solid\n",
- "#so we can find time fro drying from 0.6 to .44 graphically and then for X=.44 to .1765\n",
- "X1=1.; #moisture content on dry basis intially\n",
- "\n",
- "# Calculation \n",
- "t1=Ls/(A*Nc) *(X1-Xcr); #time taken for constant drying rate(fromX=1 to .6) \n",
- "X1=.44; #moisture content on dry basis\n",
- "import math\n",
- "t2=(Ls/(A*Nc))*((Xcr-Xbar)*math.log((X1-Xbar)/(X2-Xbar)));\n",
- "t3=0.0336*Ls/Nc; #fro graph we get from X=.6 to .44\n",
- "ttotal=t1+t2+t3; #total time for drying the wet slab\n",
- "\n",
- "# Result\n",
- "print \"\\n the total time for drying the wet slab to 15 percent moisture on wet basis is :%f min\"%(ttotal*60)\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the total time for drying the wet slab to 15 percent moisture on wet basis is :59.610778 min\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.4"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#let Ls/A=p\n",
- "# Variable Declaration \n",
- "p=48.; #mass of bone dry solid ais the drying surface\n",
- "v=1.5*1.5*.5; #volume of material\n",
- "Nc=1.22; #in kg/m**2*hr\n",
- "Xcr=0.2; #crtical moisture content\n",
- "X1=0.25; #moisture content on dry basis intially\n",
- "X2=0.08; #moisture content on dry basis finally after drying\n",
- "Xbar=0.025; #equillibrium moisture \n",
- "\n",
- "#tbar=(Ls/(A*Nc))*((Xcr-Xbar)*log((Xcr-Xbar)/(X2-Xbar)));\n",
- "# Calculation \n",
- "t1=p/(Nc) * (X1-Xcr); #time taken for constant drying rate period \n",
- "#table X-- .18 .15 .14 .11 .07 .05\n",
- "# 1/N-- .8772 1.11 1.25 1.7857 4.545 20\n",
- "\n",
- "# equillibrium relation is given under\n",
- "p = [.18,.15,.14,.11,.07,.05];\n",
- "a = [.8772,1.11,1.25,1.7857,4.545,20];\n",
- "from matplotlib.pyplot import *\n",
- "\n",
- "# Result\n",
- "plot(p,a);\n",
- "title(\"Fig.6.20 Example4 1/N vs X for fallling rate period\");\n",
- "xlabel(\"X-- Moisture content, X(kg/kg) ---->\");\n",
- "ylabel(\"Y-- 1/N, hr,m**2/kg ---->\");\n",
- "\n",
- "a=14*.025*1; #area under the curve\n",
- "t2=a*48; #time taken for varying drying period\n",
- "ttotal=t1+t2; #total time taken \n",
- "print \"\\n total time for drying the material from 25 to 8 percent moisture under same drying conditions is :%f hr\"%(ttotal)\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " total time for drying the material from 25 to 8 percent moisture under same drying conditions is :18.767213 hr\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEXCAYAAABCjVgAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XdYFOfaBvB7KYr0oiAKgqKI9EXsDUVEj2IUjRETezTR\nmERzNBpLUGM3fhr1mGI4amzRBIwdW0QNCWJDY4uJCgKigtIFac/3xx5GFljasjssPL/r8pLdmZ33\nnm3PzjvzzkiIiMAYY4wB0BI7AGOMsbqDiwJjjDEBFwXGGGMCLgqMMcYEXBQYY4wJuCgwxhgTNNii\nYGRkhNjYWLFj1DsRERGwtbUVO4ZGOXDgAGxtbWFkZITr168rvbynT5+id+/eMDY2xpw5cyqdX0tL\nCw8ePAAATJgwAYsWLQJQ9rV0dXXF+fPnlc5XHynz3JR8/uuCel8U7O3toa+vDyMjIxgZGcHY2BhP\nnjxBZmYm7O3ta7TMly9fYvr06WjWrBlMTU3Rp0+fcufLy8vD5MmTYW9vD2NjY0ilUoSHh8vNc+bM\nGTg5OcHAwAD9+vXDo0ePFLbr4+ODJk2aCOtiZGSEN954o0brUNf4+vpCS0sLRUVFCudZtGgR3Nzc\noKuriyVLlpQ7z3vvvYetW7di+/bt0NLSwtq1a+Wm29jYqPSL7fDhw7C2tkZqaqpw38GDB2FjY4PM\nzMxyHzN79mxs2bIFmZmZ8PDwUDrDd999B0tLS2RkZJRZ/8pIJBJIJJJyp928eRO9e/dWOl9tsLe3\nx6+//ip2DEFdem6UVe+LgkQiwZEjR5CZmYnMzExkZGSgefPmSi1z6tSpSEtLw927d5GamooNGzaU\nO19BQQFatWqF8+fPIyMjA8uWLcOoUaMQFxcHAEhJScGIESOwfPlypKamwtvbG2+99VaF6/Kf//xH\nWJfMzEwcPHhQqXWpC3bv3o2CggKFX0bF2rVrh7Vr12Lw4MEK5w0PD8fgwYMBAObm5lizZg2ysrKE\n6ZW1oayAgAD069cPs2bNAgCkpaVh+vTp+Oabb2BkZFRmfiLCo0eP4OzsXKP2yiuicXFx6NChQ42W\nV5xJTIWFhZXOI5FIRM8JyD7j9Q7Vc/b29nTmzJky90skErp//z4REaWkpNCQIUPI2NiYOnXqRAsW\nLKCePXuWu7w7d+6QsbExZWZm1iiPu7s7hYWFERHRt99+Sz169BCmZWdnU5MmTeivv/4q97E+Pj4U\nEhJS7rRVq1ZRly5dqKCggIiItmzZQi4uLvTq1SsiIho5ciQ1b96cTExMqHfv3nTr1i3hsePHj6dp\n06bRoEGDyNDQkHr27ElJSUn00UcfkampKTk5OdG1a9eE+e3s7GjlypXk7OxMZmZmNHHiRMrNzSUi\norNnz5KNjY0wb2JiIgUGBlKzZs2odevWtHHjRrncaWlp5OjoSFFRUSSRSKiwsLDS5/Cdd96hxYsX\nl7n/+vXr5O7uTkRE27Zto549e9LQoUNpyZIlwjw2NjZ07ty5Mo+Nioqi5s2bU1FRkXBfWFiYsLyL\nFy9Sx44dydjYmKysrOiTTz5RmC8lJYUsLS3pxIkTNGHCBBozZky58+Xm5pKBgQFJJBIyMDCgtm3b\nEhHR7du3qU+fPmRqakouLi506NAh4THjx4+n999/nwYNGkQGBgZl3tvjx48nXV1datSoERkaGtKZ\nM2fo4sWL1LVrVzI1NSVra2uaMWMG5eXlCY8p+VmYMGECLVy4kIjKvpZ2dnZCe8HBwfTmm2/SuHHj\nyMjIiFxcXOjy5cvCvFeuXCFPT08yMjKiN998k0aNGiUst7Rt27ZR9+7dadasWWRhYUGLFi2i+/fv\nU9++fcnCwoKaNm1Kb7/9NqWlpRGR7PXX0tKiJk2akKGhIa1du5aIiP744w/q1q0bmZqakoeHB0VE\nRCh8jSp6DxMRHT58mDw8PMjU1JS6d+9ON27ckHvs6tWryc3NjfT09KigoIDs7Ozo9OnTwuv68ccf\nU4sWLahFixY0c+ZM4XNIRLRmzRqytramli1bUkhIiNzzXxc0iKJQ/GKVVPKFeOuttygoKIhycnLo\n9u3bZGtrS7169Sp3eTt27CA3NzeaNWsWNW3alNzc3Cg0NLRKWZ48eUJ6enrCl/5HH31E06dPl5un\nouX5+PjQ999/X+60oqIi6t27Ny1evJju3btHZmZmFBMTI0zftm0bZWVlUV5eHs2cOZM8PT2FaePH\nj6emTZvS1atXKTc3l/r160d2dna0c+dOKioqooULF1Lfvn2F+e3s7MjNzY0SEhLoxYsX1KNHj3K/\nSAoLC8nLy4u++OILys/PpwcPHlCbNm3oxIkTwrKmT59OGzZsoIcPHypdFFauXEnz588X1rdnz54U\nExNDZmZmlJqaSkSKiwIRkYODA506dUq4PXLkSFq9ejUREXXt2pV27dpFRLLiHRUVVWHGvXv3koWF\n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\nAAAAAElFTkSuQmCC\n",
- "text": [
- "<matplotlib.figure.Figure at 0x34fa550>"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.5.a"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "w=[5.314,5.238,5.162,5.124,5.048,4.972,4.895,4.819,4.743,4.667,4.524,4.468,4.426,4.340,4.120]\n",
- "t=[0.0,0.4,0.8,1.0,1.4,1.8,2.2,2.6,3.0,3.4,4.2,4.6,5.0,6.0]\n",
- "#part(i)\n",
- "x=4.120; #weight of the dried material\n",
- "print \"\\n moisture content (dry basis) \"\n",
- "i=0; \n",
- "p = [] #looping starts\n",
- "\n",
- "# Calculation \n",
- "while(i<15): #calculation of moisture content\n",
- " p.append((w[i]-x)/x);\n",
- " print \"\\n :%f\"%p[i]\n",
- " i=i+1;\n",
- "\n",
- "print \"Drying rate kg/hr*m**2\"\n",
- "i=1;\n",
- "a = []\n",
- "for i in range(15):\n",
- " a.append(0)\n",
- " \n",
- "while(i<14):\n",
- " a[i] =((p[i-1]-p[i])*4.12/(t[i]-t[i-1]))\n",
- " print \" %f \"%a[i]\n",
- " i=i+1;\n",
- "from matplotlib.pyplot import *\n",
- "a[0]=.19;\n",
- "a[14]=0;\n",
- "\n",
- "# Result\n",
- "print \"\\n\\n from the above data it is clear that critical moisture content Xcr=0.11\"\n",
- "plot(p,a);\n",
- "title(\"Fig.6.19(a) Example3 Drying Rate curve\");\n",
- "xlabel(\"X-- Moisture content, X(kg/kg) ---->\");\n",
- "ylabel(\"Y-- Drying Rate, N(kg/hr.m**2 ---->\");\n",
- "show()\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " moisture content (dry basis) \n",
- "\n",
- " :0.289806\n",
- "\n",
- " :0.271359\n",
- "\n",
- " :0.252913\n",
- "\n",
- " :0.243689\n",
- "\n",
- " :0.225243\n",
- "\n",
- " :0.206796\n",
- "\n",
- " :0.188107\n",
- "\n",
- " :0.169660\n",
- "\n",
- " :0.151214\n",
- "\n",
- " :0.132767\n",
- "\n",
- " :0.098058\n",
- "\n",
- " :0.084466\n",
- "\n",
- " :0.074272\n",
- "\n",
- " :0.053398\n",
- "\n",
- " :0.000000\n",
- "Drying rate kg/hr*m**2\n",
- "\n",
- "\n",
- " from the above data it is clear that critical moisture content Xcr=0.11\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "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\n",
- "text": [
- "<matplotlib.figure.Figure at 0x34fa790>"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.5.b "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "#part(ii)\n",
- "w1=4.934; #weight after two hours\n",
- "w0=5.314; #initial weight \n",
- "w2=w0-w1; # water evaporated in 2 hrs\n",
- "H1=.01; #humidty of incoming air\n",
- "H2=.03; #humidity of leaving air\n",
- "yout=.03;\n",
- "yin=.01;\n",
- "\n",
- "# Calculation \n",
- "Gs=w2/(yout- yin); #water carried away\n",
- "\n",
- " # Result\n",
- "print \"\\n the amount of air required in 2hours is :%f kg\"%Gs\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the amount of air required in 2hours is :19.000000 kg\n"
- ]
- }
- ],
- "prompt_number": 27
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.5.c "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "#part(iii)\n",
- "#let us choose the consistency of 11 and 13 readings\n",
- "Xbar=0; #equillibrium moisture content\n",
- "Ls=4.12; #mass of bone dry solid ais the drying surface\n",
- "A=1.; #both upper surafce and lower surface are exposed\n",
- "Nc=0.19; #in kg/m**2*hr\n",
- "X1=.098; #moisture content on dry basis intially\n",
- "Xcr=.11; #kg moisture per kg dry solid\n",
- "X2=0.074; #moisture content on dry basis finally\n",
- "# Calculation \n",
- "import math\n",
- "tfall=(Ls/(A*Nc))*((Xcr-Xbar)*math.log((X1-Xbar)/(X2-Xbar)));\n",
- "\n",
- "# Result\n",
- "print \"\\n from this data we get time as :%f hour\"%tfall\n",
- "print \"\\n the actual time is 0.8 hours\"\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " from this data we get time as :0.670026 hour\n",
- "\n",
- " the actual time is 0.8 hours\n"
- ]
- }
- ],
- "prompt_number": 28
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.6"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "Xcr=0.55; #crtical moisture content\n",
- "X1=1; #moisture content on dry basis intially\n",
- "X2=.1; #moisture content on dry basis finally after drying\n",
- "Xbar=.06; #equillibrium moisture \n",
- "#since eqn 1 is tobe divided by eqn 2 so let the value of Ls/A*Nc be = 1 as it will be cancelled \n",
- "p=1; #let Ls/A*Nc be =p\n",
- "#p=poly([0],'p'); #calc. of time 1\n",
- "tbar=1; #since the eqns are independent of tbar\n",
- "\n",
- "# Calculation \n",
- "import math\n",
- "t1=0.5960514 #roots(tbar- p*((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)))); #------eqn1\n",
- "X2bar=.16; \n",
- "#p=poly([0],'p'); #calc. of time 2\n",
- "t2=0.8138516 #roots(tbar- p*((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2bar-Xbar))));#------eqn2\n",
- "\n",
- "#let t1/t2 be = k\n",
- "k=t1/t2;\n",
- "ans=1./k-1; #reduction in time for drying \n",
- "\n",
- "# Result\n",
- "print \"\\n the reduction in time for drying is :%f percent\"%(ans*100)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the reduction in time for drying is :36.540506 percent\n"
- ]
- }
- ],
- "prompt_number": 29
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.7 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "#Ls/ A*Nc is unknown;\n",
- "# Variable Declaration \n",
- "Xcr=0.14; #crtical moisture content\n",
- "X1=.3/(1-.3); #moisture content on dry basis intially\n",
- "X2=0.1/(1-0.1); #moisture content on dry basis finally after drying\n",
- "Xbar=.04; #equillibrium moisture \n",
- "tbar=5; #time needed to dry from 30 to 6 percent on bone dry basis\n",
- "\n",
- "#let Ls / A*Nc be = p\n",
- "#p=poly([0],'p'); #calc. of Ls / A*Nc be = p value\n",
- "# Calculation and Result\n",
- "x= 15.495992 #roots(tbar-p * ((X1-Xcr)+(Xcr-Xbar)*log((Xcr-Xbar)/(X2-Xbar))));\n",
- "print \"\\n the value of Ls/ A*Nc is :%f\"%x\n",
- "import math\n",
- "#new X1 AND X2 are now given as follows\n",
- "X1=0.3/(1-.3); #new moisture content on dry basis intially\n",
- "X2=0.064; #new moisture content on dry basis finally after drying\n",
- "tbar=x * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
- "print \"\\n the time for drying the sheets from 30 to 6 percent moisture under same drying conditions is :%f hr\"%tbar\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the value of Ls/ A*Nc is :15.495992\n",
- "\n",
- " the time for drying the sheets from 30 to 6 percent moisture under same drying conditions is :6.683159 hr\n"
- ]
- }
- ],
- "prompt_number": 30
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.8.a"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "Ls=1000.; #mass of bone dry solid ais the drying surface\n",
- "A=55.; #both upper surafce and lower surface are exposed\n",
- "v=.75; #velocity of air\n",
- "Nc=.3*10**-3; #in kg/m**2*s\n",
- "x2=.2; #moisture content on wet basis finally after drying\n",
- "Xcr=0.125; #crtical moisture content\n",
- "X1=0.15; #moisture content on dry basis intially\n",
- "X2=0.025; #moisture content on dry basis finally after drying\n",
- "Xbar=0.0; #equillibrium moisture \n",
- "import math\n",
- "\n",
- " # Calculation \n",
- "tbar=(Ls/(A*Nc))*((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
- "\n",
- "# Result\n",
- "print \"the time for drying the sheets from .15 to .025 kg water /kg of dyr solid moisture under same drying conditions is :%f hour\"%(tbar/3600);\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "the time for drying the sheets from .15 to .025 kg water /kg of dyr solid moisture under same drying conditions is :3.807740 hour\n"
- ]
- }
- ],
- "prompt_number": 31
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.8.b "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "Ls=1000.; #mass of bone dry solid ais the drying surface\n",
- "A=55.; #both upper surafce and lower surface are exposed\n",
- "v=.75; #velocity of air\n",
- "Nc=.3*10**-3; #in kg/m**2*s\n",
- "x2=.2; #moisture content on wet basis finally after drying\n",
- "Xcr=0.125; #crtical moisture content\n",
- "X1=0.15; #moisture content on dry basis intially\n",
- "X2=0.025; #moisture content on dry basis finally after drying\n",
- "Xbar=0.0; #equillibrium moisture \n",
- "tbar=3.8077; #time to dry material ,calculated from previous part\n",
- "V1=.75; #old velocity\n",
- "V2=4.; #new velocity\n",
- "import math\n",
- "\n",
- "# Calculation \n",
- "Nc2=Nc*(V2/V1)**.71; #in kg/m**2*s\n",
- "t2=(Ls/(A*Nc2))*((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar))); #if air velocity is increased to 4\n",
- "t=tbar-t2/3600; #time saved\n",
- "\n",
- "# Result\n",
- "print \"\\n the time saved , if air velocity is increased to 4 m/s: %f\"%t\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the time saved , if air velocity is increased to 4 m/s: 2.647593\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.9 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "x1=.75; #moisture content on wet basis\n",
- "xbar=0.1; #equilllibrium moisture on dry basis\n",
- "xcr=0.6; #critical moisture content\n",
- "Ls=0.90; #mass of bone dry solid ais the drying surface\n",
- "A=0.3*0.3*2; #both upper surafce and lower surface are exposed\n",
- "#A*Nc=10**-4;\n",
- "x2=.2; #moisture content on wet basis finally after drying\n",
- "\n",
- "# Calculation \n",
- "Xcr=0.6/0.4; #crtical moisture content\n",
- "X1=3; #moisture content on dry basis intially\n",
- "X2=0.25; #moisture content on dry basis finally after drying\n",
- "Xbar=0.1/0.9; #equillibrium moisture \n",
- "import math\n",
- "tbar=Ls/(10**-4) * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
- "\n",
- "# Result \n",
- "print \"\\n the time for drying the sheets from 75 to 25 percent moisture under same drying conditions is :%f hr\"%(tbar/3600);\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the time for drying the sheets from 75 to 25 percent moisture under same drying conditions is :11.745087 hr\n"
- ]
- }
- ],
- "prompt_number": 34
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.10 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "Xcr=0.16; #crtical moisture content\n",
- "X1=.33; #moisture content on dry basis intially\n",
- "X2=0.09; #moisture content on dry basis finally after drying\n",
- "Xbar=.05; #equillibrium moisture \n",
- "tbar=7; #time needed to dry from 33 to 9 percent on bone dry basis\n",
- "import math\n",
- "#let Ls / A*Nc be = p\n",
- "#p=poly([0],'p'); #calc. of Ls / A*Nc be = p value\n",
- "# Calculation \n",
- "x= 24.886579 #roots(tbar-p * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar))));\n",
- "\n",
- "#new X1 AND X2 are now given as follows\n",
- "X1=0.37; #new moisture content on dry basis intially\n",
- "X2=0.07; #new moisture content on dry basis finally after drying\n",
- "tbar=x * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
- "\n",
- "# Result\n",
- "print \"\\n the time for drying the sheets from 33 to 9 percent moisture under same drying conditions is :%f hr\"%tbar\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the time for drying the sheets from 33 to 9 percent moisture under same drying conditions is :9.892970 hr\n"
- ]
- }
- ],
- "prompt_number": 35
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.11 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "d=.22; #density of dry pulp in g/cc;\n",
- "x1=.65; #moisture content on wet basis\n",
- "x2=.3; #moisture content on wet basis\n",
- "Ls=2.5; #mass of bone dry solid ais the drying surface in kg\n",
- "A=1.5*1.5*2; #both upper surafce and lower surface are exposed\n",
- "v=1.5*1.5*.5; #volume of material\n",
- "Nc=1.4; #in kg/m**2*hr\n",
- "Xcr=1.67; #crtical moisture content\n",
- "# Calculation \n",
- "X1=x1/(1-x1); #moisture content on dry basis intially\n",
- "X2=x2/(1-x2); #moisture content on dry basis finally after drying\n",
- "Xbar=0.0; #equillibrium moisture \n",
- "import math\n",
- "#initial moisture is more than Xcr, so there is constant rate drying period and only falling rate peroid is observed\n",
- "tbar=(Ls/(A*Nc))*((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
- "\n",
- "# Result\n",
- "print \"\\n the time for drying the sheets from 65 to 30 percent moisture under same drying conditions is :%f hour\"%tbar\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the time for drying the sheets from 65 to 30 percent moisture under same drying conditions is :0.975613 hour\n"
- ]
- }
- ],
- "prompt_number": 36
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Variable Declaration \n",
- "d=.22; #density of dry pulp in g/cc;\n",
- "\n",
- "Ls=1.125*10**-2*.22*10**3; #mass of bone dry solid ais the drying surface\n",
- "A=1.5*1.5*2; #both upper surafce and lower surface are exposed\n",
- "v=1.5*1.5*.5; #volume of material\n",
- "Nc=1.4; #in kg/m**2*hr\n",
- "x2=.2; #moisture content on wet basis finally after drying\n",
- "Xcr=0.46; #crtical moisture content\n",
- "X1=0.15; #moisture content on dry basis intially\n",
- "X2=0.085; #moisture content on dry basis finally after drying\n",
- "Xbar=0.025; #equillibrium moisture \n",
- "import math\n",
- "#tbar=(Ls/(A*Nc))*((Xcr-Xbar)*log((Xcr-Xbar)/(X2-Xbar)));\n",
- "# but initial moisture is more than Xcr, so there is constant rate drying period and only falling rate peroid is observed\n",
- "\n",
- "# Calculation \n",
- "tbar=(Ls/(A*Nc))*((Xcr-Xbar)*math.log((X1-Xbar)/(X2-Xbar)));\n",
- "\n",
- "# Result\n",
- "print \"\\n the time for drying the sheets from 15 to 8.5 percent moisture under same drying conditions is :%f min\"%(tbar*60)\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the time for drying the sheets from 15 to 8.5 percent moisture under same drying conditions is :7.525805 min\n"
- ]
- }
- ],
- "prompt_number": 37
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "import math\n",
- "Xcr=0.14; #crtical moisture content\n",
- "x1=0.3; #moisture content on wet basis\n",
- "x2=0.1; #moisture content on wet basis\n",
- "X1=x1/(1-x1); #moisture content on dry basis intially\n",
- "X2=x2/(1-x2); #moisture content on dry basis finally after drying\n",
- "Xbar=0.04; #equillibrium moisture \n",
- "tbar=5; #time needed to dry from 30 to 10 percent on bone dry basis\n",
- "\n",
- " #let Ls / A*Nc be = p\n",
- "#p=poly([0],'p'); #calc. of Ls / A*Nc be = p value\n",
- "x= 15.495992 #roots(tbar-p * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar))));\n",
- "\n",
- "#new X1 AND X2 are now given as follows\n",
- "# Calculation \n",
- "x1=.3; #new moisture content on wet basis\n",
- "x2=0.06; #new moisture content on wet basis\n",
- "X1=x1/(1-x1); #new moisture content on dry basis intially\n",
- "X2=x2/(1-x2); #new moisture content on dry basis finally after drying\n",
- "tbar=x * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
- "\n",
- "# Result\n",
- "print \"\\n the time for drying the sheets from 30 to 10 percent moisture under same drying conditions is :%f hr\"%tbar\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the time for drying the sheets from 30 to 10 percent moisture under same drying conditions is :6.694188 hr\n"
- ]
- }
- ],
- "prompt_number": 38
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "d=450.; #density of dry pulp in kg/m**3;\n",
- "thickness=0.05; #thickness in m**2\n",
- "Ls=d*thickness; #mass of bone dry solid ais the drying surface\n",
- "A=1.; #area in m**2\n",
- "v=1*5*10**-2; #volume of material\n",
- "Nc=4.8; #in kg/m**2*hr\n",
- "xcr=.2;\n",
- "xbar=0.02;\n",
- "x1=.45; #new moisture content on wet basis\n",
- "x2=0.05; #new moisture content on wet basis\n",
- "\n",
- "# Calculation \n",
- "X1=x1/(1-x1); #new moisture content on dry basis intially\n",
- "X2=x2/(1-x2); #new moisture content on dry basis finally after drying\n",
- "Xbar=xbar/(1-xbar); #crtical moisture content\n",
- "Xcr=xcr/(1-xcr); #equillibrium moisture \n",
- "import math\n",
- "#tbar=(Ls/(A*Nc))*((Xcr-Xbar)*log((Xcr-Xbar)/(X2-Xbar)));\n",
- "# but initial moisture is more than Xcr, so there is constant rate drying period and only falling rate peroid is observed\n",
- "tbar=Ls/(A*Nc) * ((X1-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(X2-Xbar)));\n",
- "\n",
- "# Result\n",
- "print \"\\n the time for drying the sheets from 45 to 5 percent moisture under same drying conditions is :%f min\"%tbar\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the time for drying the sheets from 45 to 5 percent moisture under same drying conditions is :4.776612 min\n"
- ]
- }
- ],
- "prompt_number": 39
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "# Variable Declaration \n",
- "t1=20.; #ambient air temperature \n",
- "t2=70.; #exhaust air temperature \n",
- "r1=150.; #evaporation of water \n",
- "r2=.25; #outlet solid moisture content\n",
- "t3=15.; #inlet solid temperature\n",
- "t4=65.; #outlet solid temperature\n",
- "p=5.; #power demand in KW\n",
- "h=18.; #heat loss in kj\n",
- "\n",
- "h1=1.; #mean specific heat of dry air in kj/kg*K\n",
- "h2=1.25; #mean specific heat of dry material in kj/kg*K\n",
- "h3=4.18; #mean specific heat of moisture in kj/kg*K\n",
- "e=2626.; #enthalpy of saturated water vapour in kj/kg\n",
- "\n",
- "# Calculation \n",
- " #basis is 1hr\n",
- "a1=r1*h3*(t4-t3); #heat required for heating 150 kg of water from 15 to 65\n",
- "a2=r1*e; #heat required for 150 kg water evaporation\n",
- "a3=2000*h1*(t2-t1); #heat required for heating air from 20 to 70 \n",
- "a4=r2*h3*(t4-t3); #heat required for heating moisture from 15 to 65\n",
- "a5=120*h2*(t4-t3); #heat required for heating dry solid from 15 to 65\n",
- "hlost=h*3600; #heat lost in kj\n",
- "total=(a2+a3+a4+a5+hlost)/3600.; #total heat lost \n",
- "\n",
- "# Result\n",
- "print \"\\n :%f kW of heat required for 2000kg/hr of dry air\"%total\n",
- "ans1=a2+a1; #heat needed for evaporation \n",
- "print \"\\n heat needed fro evaporation is :%f\"%(ans1/3600)\n",
- "ans2=(ans1/3600.)/total; #fraction of this heat needed for evaporation\n",
- "print \"\\n fraction of this heat needed for evaporation:%f\"%(ans2)\n",
- " \n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " :157.292292 kW of heat required for 2000kg/hr of dry air\n",
- "\n",
- " heat needed fro evaporation is :118.125000\n",
- "\n",
- " fraction of this heat needed for evaporation:0.750990\n"
- ]
- }
- ],
- "prompt_number": 40
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.16"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "m1=.12; #initial moisture content\n",
- "dT=85.; #product of 85 degree is used in design purpose\n",
- "U=1700.; #overall heat transfer coefficient\n",
- "m2=.4; #final moisture content\n",
- "r=20.; #production rate\n",
- " #4 kg of moisture is present in 100 kg product\n",
- "# Calculation \n",
- "t=4*20./100; # moisture content in 20 kg moisture\n",
- "w=20-t; #dry solid weight\n",
- "i=w*m1/(1-m1); #initial moisture content \n",
- "j=i-t #water evaporated\n",
- "ds=2296.1; #latent heat for vaporisation at 85 degree in kj/kg\n",
- "h=j*ds; #heat required (assuming th esolid mix. enters at 85)\n",
- "#U*A*dT = j*ds\n",
- "A=h/(U*dT); #surface area of the roller required to produce aproduction rate of 20 kg product per hour\n",
- "\n",
- "# Result \n",
- "print \"\\n surface area of the roller required to produce aproduction rate of 20 kg product per hour:%f m**2\"%(A/3.600);\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " surface area of the roller required to produce aproduction rate of 20 kg product per hour:0.008025 m**2\n"
- ]
- }
- ],
- "prompt_number": 41
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.17"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "# Variable Declaration \n",
- "r=7.5*10**-5; #constant drying rate in kg/s\n",
- "A1=.3*.3**2; # area of the sppecimen\n",
- "Nc=r/A1; #drying rate\n",
- "# Calculation \n",
- "Xcr=.15/0.85; #.15 is the critical moisture content\n",
- "Xo=.25/.75; #.25 is the initial moisture content\n",
- "Xfinal=.02/0.98; #.02 is the final moisture content\n",
- "Xbar=0; #equillibrium moisture content\n",
- "A=1.2*.6*2; #area of the new solid\n",
- "Ls=28.8; #bone dry weight of new solid\n",
- "v1=.3*.3*.006; #volume of the old solid;\n",
- "v2=.6*1.2*.012; #volume of the new solid\n",
- "w2=1.8; #weight of the old solid\n",
- "w3=864*10**-5*1.8*10**-5/54; #weight of the bone dry solid\n",
- "\n",
- " #Nc is prporional to =(t-ts) = (G)**0.71---- whrere G is the mass flow rate\n",
- "v1=3.; #old velocity\n",
- "Tg=52.; #old dry bulb temperature\n",
- "Tw=21.; #wet bulb temperature\n",
- "H=.002; #humidity \n",
- "SH=0.015; #saturated humidity \n",
- "vnew=5. #new velocity\n",
- "Tgnew=66.; #new DBT\n",
- "Twnew=24.; #new WBT\n",
- "Hnew=.004; #new humidity\n",
- "SH=.020; #new satuurated humidity\n",
- "import math \n",
- "#hence drying rate of air under new condition\n",
- "Nc=4.167*10**-4*((vnew/v1)*(273+Tg)/(273+Tgnew))**0.71 * ((.019-H)/(.015-H));#drying rate of air under new condition in kg/m**2*s \n",
- "DT=Ls/(A*Nc) * ((Xo-Xcr)+(Xcr-Xbar)*math.log((Xcr-Xbar)/(Xfinal-Xbar)));\n",
- "\n",
- "# Result\n",
- "print \"\\n the time for drying the sheets from 25 to 2 percent moisture under same drying conditions is :%f hours\"%(DT/3600)\n",
- "\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the time for drying the sheets from 25 to 2 percent moisture under same drying conditions is :3.929236 hours\n"
- ]
- }
- ],
- "prompt_number": 42
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/ch7.ipynb b/Elements_Of_Mass_Transfer_Part_1/ch7.ipynb
deleted file mode 100644
index 9dcbb1df..00000000
--- a/Elements_Of_Mass_Transfer_Part_1/ch7.ipynb
+++ /dev/null
@@ -1,710 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:9c280dff7f4e1d5ae99e0fbadb3fa83466c67b9a415e20bbef76992fab6df294"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 7 : Crystallisation"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.1 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "c=.498; #solute content afetr crystallisation\n",
- "W1=111.; #molecular weight of CaCl2\n",
- "W2=219.; #molecular weight of CaCl2.6H2O\n",
- "\n",
- "# Calculation \n",
- "M1=(108./W2)*100; #water present in 100kg of CaCl2.6H2O\n",
- "M2=(W1/W2)*100; #CaCl2 present in 100kg of CaCl2.6H20\n",
- "#t=M2+c*x; #total weight entering the solubility\n",
- "#x+49.3; total water solubility used\n",
- "#s*(x+49.3)/100 #total Cacl2 after solubility\n",
- "#x=poly([0],'x'); #calc. x the weight of crystal\n",
- "t= 32.112871 #roots((M2+c*x)-(x+49.3)*.819); \n",
- "\n",
- "# Result\n",
- "print \"\\nthe weight of water in the quantity of solution needed :%f kg\"%t\n",
- "\n",
- "h=(c)*t; #weight of CaCl2 corresponding to weight water\n",
- "tw=t+h; # total weight of the solution\n",
- "print \"\\nthe total weight of the solution is :%f kg\"%tw\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "the weight of water in the quantity of solution needed :32.112871 kg\n",
- "\n",
- "the total weight of the solution is :48.105081 kg\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.2 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#part(i)\n",
- "w1=1000.; #weight of solution to be cooled\n",
- "s1=104.1; #solubility at 50 degree per 100 kg of water\n",
- "s2=78.0; #solubility at 10 degree per 100 kg of water\n",
- "a2=45.; #percentage of sodium nitrate in the solution per 100kg of solution \n",
- "\n",
- "# Calculation \n",
- "x1=s1/(100+s1)*100; #percentage of saturated solution at 50 degree\n",
- "tw=(a2/(100-a2))/(x1/(100-x1)); #the percentage saturation\n",
- "print \"\\nthe percentage saturation is :%f percent\"%(tw*100)\n",
- "\n",
- "#part(ii)\n",
- "#let x be the weight of NaNO3 crystal formed after crystallisation\n",
- "#x=poly([0],'x'); #calc. x the weight of crystal\n",
- "t=21.000000 #roots((w1*a2/100)-(x+(w1-x)*s2/(100+s2)));\n",
- "\n",
- "# Result\n",
- "print \"\\n the weight of NaNO3 crystal formed after crystallisation :%f kg\"%t\n",
- "\n",
- "#part(iii)\n",
- "y=t/(a2*w1/100); #yield = weight of NaNO3 crystal formed/weight of NaNO3\n",
- "print \"\\n the percentage yield is:%f percent\"%(y*100)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "the percentage saturation is :78.595756 percent\n",
- "\n",
- " the weight of NaNO3 crystal formed after crystallisation :21.000000 kg\n",
- "\n",
- " the percentage yield is:4.666667 percent\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.3"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "s1=19.75; #solubility at 70 degree per 100 gm of water\n",
- "s2=16.5; #solubility at 50 degree per 100 gm of water\n",
- "s3=12.97; #solubility at 30 degree per 100 gm of water\n",
- "s4=9.22; #solubility at 10 degree per 100 gm of water\n",
- "s5=7.34; #solubility at 0 degree per 100 gm of water\n",
- "\n",
- "# Calculation \n",
- " #basis is 1000kg of saturated solution\n",
- "w1=1000.*(s1/(s1+100)); #weight of K2SO4 in the original solution\n",
- "w2=1000.-w1; #weight of water in kg\n",
- "w3=w1*.5; #weight of K2SO4 in the solution\n",
- "wp=w3/(w3+w2); #weight percent of K2SO4 in the solution after crystallistion\n",
- "\n",
- "# Result\n",
- "print \"\\n for the corresponding temperature to :%f percent of K2SO4 is 15 degree (by linear interpolation between 10 to 30 degree) \"%(wp*100)\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " for the corresponding temperature to :8.987486 percent of K2SO4 is 15 degree (by linear interpolation between 10 to 30 degree) \n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.4 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "#part(i)\n",
- "a1=146.; #solubility at 70 degree\n",
- "a2=121.; #solubility at 10 degree\n",
- "t1=58.; # percentage of solute content\n",
- "t2=40.66;\n",
- "\n",
- "# Calculation and Result\n",
- "x1=a1/(100+a1) *100; #percentage of saturated solution at 50 degree\n",
- "tw=(t1/42.)/(x1/t2); #the percentage saturation\n",
- "print \"\\nthe percentage saturation is :%f percent\"%(tw*100)\n",
- "\n",
- "#part(ii)\n",
- "p1=2000*.58; #weight of solute in 200kg of solution 2000*.58\n",
- "#let x be the weight of crystal formed after crystallisation\n",
- "#x=poly([0],'x'); #calc. x the weight of crystal\n",
- "t=231.743929 #roots((1160)-(x+(1055.02-.547*x))); \n",
- "print \"\\n the weight of NaNO3 crystal formed after crystallisation :%f kg\"%t\n",
- "\n",
- "#part(iii)\n",
- "y=t/p1; #yield = weight of NaNO3 crystal formed/weight of NaNO3\n",
- "print \"\\n the percentage yield is:%f percent\"%(y*100)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "the percentage saturation is :94.608102 percent\n",
- "\n",
- " the weight of NaNO3 crystal formed after crystallisation :231.743929 kg\n",
- "\n",
- " the percentage yield is:19.977925 percent\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.5"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "p1=.3; #percentage of the solute in the solution\n",
- "w1=1000.; #weight of the solution taken\n",
- "w2=142.; #molecular weight of Na2SO4.\n",
- "\n",
- "# Calculation \n",
- "M1=(w2/(180+w2)); #solute (Na2SO4) present in the Na2CO3.10H2O solution\n",
- "s1=40.8; #solubility of Na2SO4 at 30 degree per 100 gm of water\n",
- "s2=9.0; #solubility of Na2SO4 at 10 degree per 100 gm of water\n",
- "#percent weight of solute in Na2SO4.10H2O= 144/322\n",
- "#let x be the weight of crystal formed \n",
- "#x=poly([0],'x'); #calc. x the weight of crystal\n",
- "t= 576.477290 #roots((w1*40.8/140.8)-(.442*x+(w1-x)*(s2/(100+s2)))); \n",
- "\n",
- "# Result\n",
- "print \"\\n the weight of crystal formed after crystallisation :%f kg\"%t\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the weight of crystal formed after crystallisation :576.477290 kg\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.6 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "s1=12.5; #solubility of Na2CO3 at 10 degree per 100 gm of water\n",
- "p1=.3; #percentage of the solute in the solution\n",
- "w1=2000.; #weight of the solution taken\n",
- "w2=106.; #molecular weight of Na2CO3.\n",
- "\n",
- "# Calculation \n",
- "M1=(w2/(180+w2)); #solute (Na2CO3) present in the Na2CO3.10H2O solution\n",
- "#let x be the quantity of Na2CO3.10H2O crystal formed\n",
- "#x=poly([0],'x'); #calc. x the weight of crystal\n",
- "t= 1455.688623 #roots(w1*p1-M1*x-(w1-x)*(s1/(100+s1))); \n",
- "\n",
- "# Result\n",
- "print \"\\n the weight of quantity of Na2CO3.10H2O :%f kg\"%t\n",
- "#in the book the ans is wrong, they have calculated 2000*0.3-2000*12.5/112.5 as =x(miscalculation)\n",
- "\n",
- "p=(286./106)*w1*p1; #weight of Na2CO3.10H2O crystal present in the original solution\n",
- "y=t/p; #percentage yield \n",
- "print \"\\n percentage yield :%f percent\"%(y*100)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the weight of quantity of Na2CO3.10H2O :1455.688623 kg\n",
- "\n",
- " percentage yield :89.920160 percent\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.7 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "s1=139.8; #solubility at 80 degree per 100 gm of water\n",
- "s2=110.5; #solubility at 20 degree per 100 gm of water\n",
- "w2=174.2; #molecular weight of K2CO3.10H2O\n",
- "\n",
- "# Calculation \n",
- "M1=(138/w2)*100; #water present in 100kg of K2CO3.10H2O\n",
- "#let x be the quantity of Na2CO3.10H2O\n",
- "#x=poly([0],'x'); #calc. x the weight of crystal\n",
- "t=108.634036 #roots(500*(139.8/239.8)-.7921*x-(500-x)*110.5/210.5); \n",
- "\n",
- "# Result\n",
- "print \"\\n the weight of quantity of K2CO3.10H2O formed :%f kg\"%t\n",
- "\n",
- "p=(174./138)*500*(139.8/239.8); #weight of crystal present in the original solution\n",
- "y=t/p; #percentage yield \n",
- "print \"\\n percentage yield :%f percent\"%(y*100)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the weight of quantity of K2CO3.10H2O formed :108.634036 kg\n",
- "\n",
- " percentage yield :29.557504 percent\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.8 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "s1=20.51; #solubility at 10 degree per 100 gm of water\n",
- "w2=277.85; #molecular weight of FeSO4.7H2O\n",
- "\n",
- "# Calculation and Result\n",
- "#let x be the quantity of Na2CO3.10H2O\n",
- "#x=poly([0],'x'); #calc. x the weight of crystal\n",
- "t= 549.684973 #roots(900*.4-.5465*x-(900-x)*20.5/120.5); \n",
- "print \"\\n the weight of quantity of FeSO4.7H2O formed :%f kg\"%t\n",
- "\n",
- "p=(277.85/151.85)*900*(0.4); #weight of crystal present in the original solution\n",
- "y=t/p; #percentage yield \n",
- "print \"\\n percentage yield :%f percent\"%(y*100)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the weight of quantity of FeSO4.7H2O formed :549.684973 kg\n",
- "\n",
- " percentage yield :83.447967 percent\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.9"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "#part(i)\n",
- "a1=229.7; #solubility at 60 degree\n",
- "a2=174.7; #solubility at 60 degree\n",
- "t1=68; # percentage of sodium nitrate\n",
- "t2=30.34;\n",
- "\n",
- "# Calculation and Result\n",
- "x1=a1/329.7 *100; #percentage of saturated solution at 50 degree\n",
- "tw=(t1/32.)/(x1/t2); #the percentage saturation\n",
- "print \"\\nthe percentage saturation is :%f percent\"%(tw*100)\n",
- "\n",
- "#part(ii)\n",
- "#let x be the weight of Cesium chloride crystal formed after crystallisation\n",
- "#x=poly([0],'x'); #calc. x the weight of crystal\n",
- "t=120.960000 #roots(1000*.68-(x+(1000-x)*174.7/274.7)); \n",
- "print \"\\n the weight of CaCl2 crystal formed after crystallisation :%f kg\"%t\n",
- "\n",
- "#part(iii)\n",
- "y=t/680.; #yield = weight of CaCl2 crystal formed/weight of CaCl2\n",
- "print \"\\n the percentage yield of Cesium chloride is:%f percent\"%(y*100)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "the percentage saturation is :92.540632 percent\n",
- "\n",
- " the weight of CaCl2 crystal formed after crystallisation :120.960000 kg\n",
- "\n",
- " the percentage yield of Cesium chloride is:17.788235 percent\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.10"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "s1=38.8; #solubility at 30 degree per 100 gm of water\n",
- "s2=12.5; #solubility at 10 degree per 100 gm of water\n",
- "w2=296; #molecular weight of Na2CO3.10H2O\n",
- "per=116./w2 *100; #percentage solute in Na2CO3.10H2O\n",
- "\n",
- "#let x be the quantity of Na2CO3.10H2O\n",
- "w=200.; #original solotion weight\n",
- "\n",
- "# Calculation \n",
- "m1=w*(s2/(s2+100)); #weight of Na2CO3.10H2O needed to dissolve Na2CO3 present in the original solotion \n",
- "w3=w-m1; #weight of water \n",
- "#w4=m1+per/100; weight of Na2CO3 after dissolution\n",
- "x1=s1/(s1+100); #weight fraction of solute after dissolution \n",
- "\n",
- "# Result\n",
- "print \"\\n the weight of quantity of Na2CO3.10H2O formed :%f kg\"%w3\n",
- "\n",
- "#for the total solution after dissolution\n",
- "#x=poly([0],'x'); #calc. x the weight of crystal\n",
- "t= 300.485784 #roots((m1+per*x/100)-((m1+per*x/100)+(w3+.609*x))*x1); \n",
- "print \"\\nweight of Na2CO3.10H2O needed to dissolve Na2CO3 present in the original solution %f kg\"%t\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the weight of quantity of Na2CO3.10H2O formed :177.777778 kg\n",
- "\n",
- "weight of Na2CO3.10H2O needed to dissolve Na2CO3 present in the original solution 300.485784 kg\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.11"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "s1=35.; #percentage of solution\n",
- "x1=6000.; #weight of Na2CO3 solution\n",
- "s2=21.5; #solubility at 20 degree per 100 gm of water\n",
- "w2=296.; #molecular weight of Na2CO3.10H2O\n",
- "\n",
- "# Calculation \n",
- "per=116./w2 *100; #percentage solute in Na2CO3.10H2O\n",
- "w1=s1*x1; #weight of solute\n",
- "w3=x1*0.04; #weight of solution lost by vaporisation\n",
- "#let x be the quantity of Na2CO3.10H2O formed \n",
- "#making material balance \n",
- "#x=poly([0],'x'); #calc. x the weight of crystal\n",
- "t= 5049.122335 #roots(2100-(.391*x)-(6000-240-x)*(21.5/121.5)); \n",
- "\n",
- "# Result\n",
- "print \"\\n the weight of Na2CO3.10H2O crystal formed after crystallisation :%f kg\"%t\n",
- "\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the weight of Na2CO3.10H2O crystal formed after crystallisation :5049.122335 kg\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "C=1000.; #crystal formed in kg\n",
- "hf=26.002; #enthalpy of the feed at 80 degree in cal/g\n",
- "hl=-1.33; #enthalpy of the saturated sol at 30 degree in cal/g\n",
- "hc=-50.56; #enthalpy of crystal\n",
- "xf=40./(100+40);\n",
- "xm=30./(100+30);\n",
- "xc=151.84/277.85; #151.84 is the weight of FeSO4\n",
- " #component balance\n",
- "# F*xf = M*xm + C*xc ------eqn 1st\n",
- "# F = M + 10000 + V ------eqn 2nd\n",
- "# F*Hf = V*Hv + M*Hm +C*Hc-----eqn 3rd\n",
- "Hf=26.002; #enthalpy of the feed at 80 degree in cal/g\n",
- "Hv=612.; #\n",
- "Hm=-1.33; #enthalpy of the saturated sol at 30 degree in cal/g\n",
- "Hc=-50.56; #enthalpy of crystal leaving the crystalliser\n",
- "from numpy import matrix\n",
- "from numpy import linalg\n",
- "#solving these we gt \n",
- "\n",
- "# Calculation \n",
- "a=matrix([[1,-1,-1],[.286,-.231,0],[26.002,1.33,-612]])\n",
- "b=matrix([[10000],[5470],[-505600]])\n",
- "x=linalg.inv(a)*b; #solving out the values using matrices \n",
- "t1=x[0]; #3 solution of the eqn\n",
- "t2=x[1];\n",
- "t3=x[2];\n",
- "\n",
- "# Result\n",
- "print \"\\n the feed rate F= : %f kg/hr \\n value of M= : %f kg/hr\\n value of V=: %f kg/hr\"%(t1,t2,t3)\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " the feed rate F= : 45556.688340 kg/hr \n",
- " value of M= : 32723.865218 kg/hr\n",
- " value of V=: 2832.823122 kg/hr\n"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.13 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "import math\n",
- "C=800.; #crystal formed in kg/hr\n",
- "t2=49.; #temp. of the entering fed\n",
- "t1=27.; #temp. of the product\n",
- "t3=21.; #temp. of the leaving cooling water\n",
- "t4=15.; #temp. of the enetring cooling water\n",
- "U=175.; #overall heat transfer coefficient\n",
- "F=140*151.85/277.85; #feed concentration \n",
- "xf=F/240; #concentration in feed solution\n",
- "P=74*151.85/277.85; #product concentration \n",
- "xm=P/174; #concentration of FeSO4 in product solution\n",
- "xc=151.85/277.85; #\n",
- " #mass balance F = M+C ----eqn 1st\n",
- " #sloute balance F*xf = M*xm + C*xc ----eqn 2nd\n",
- "\n",
- "# Calculation \n",
- "#solving these we get\n",
- "F=800*.3141/0.0866; #feed conc.\n",
- "M=F-C; #product concentration \n",
- " #making energy balance\n",
- " #heat to be removed by cooling water =heat to be removed from solution + heat of crystallization\n",
- "cp=.7; #specific heat capacity\n",
- "dt=(t2-t1); #change in temp.\n",
- "dh=15.8; #heat of crystallization\n",
- "Q=F*cp*dt+dh*C; #heat to be removed by cooling water\n",
- "cp=1; #specific heat capacity of water\n",
- "dt=(t3-t4); #change in temp.\n",
- "mw=Q/(cp*dt); #cooling water needed\n",
- "\n",
- "# Result \n",
- "print \"\\n cooling water requiement is :%f kg/hr\"%mw\n",
- " #Q=U*A*(dtlm)\n",
- "dtlm=((t2-t3)-(t1-t4))/(math.log((t2-t3)/(t1-t4)));#log mean temp. difference\n",
- "A=Q/(U*dtlm); #area of the crystallizer section\n",
- "l=A/1.3;\n",
- "print \"\\n length of crystallliser sections needed is :%f m\"%l\n",
- "\n",
- "#end"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " cooling water requiement is :9554.149346 kg/hr\n",
- "\n",
- " length of crystallliser sections needed is :13.343753 m\n"
- ]
- }
- ],
- "prompt_number": 27
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Elements_Of_Mass_Transfer_Part_1/screenshots/dry-time.png b/Elements_Of_Mass_Transfer_Part_1/screenshots/dry-time.png
deleted file mode 100644
index 3235d6e8..00000000
--- a/Elements_Of_Mass_Transfer_Part_1/screenshots/dry-time.png
+++ /dev/null
Binary files differ
diff --git a/Elements_Of_Mass_Transfer_Part_1/screenshots/enthalpy.png b/Elements_Of_Mass_Transfer_Part_1/screenshots/enthalpy.png
deleted file mode 100644
index 2f5099d0..00000000
--- a/Elements_Of_Mass_Transfer_Part_1/screenshots/enthalpy.png
+++ /dev/null
Binary files differ
diff --git a/Elements_Of_Mass_Transfer_Part_1/screenshots/tower.png b/Elements_Of_Mass_Transfer_Part_1/screenshots/tower.png
deleted file mode 100644
index 630464a7..00000000
--- a/Elements_Of_Mass_Transfer_Part_1/screenshots/tower.png
+++ /dev/null
Binary files differ
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/README.txt b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/README.txt
deleted file mode 100644
index 3d9a2b47..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Ashutosh Kumar
-Course: btech
-College/Institute/Organization: Indian Institute of Technology - Bombay, CHAR Lab 2
-Department/Designation: Electrical Department
-Book Title: Engineering Thermodynamics: A Computer Approach (SI Units Version)
-Author: R. K. Rajput
-Publisher: Laxmi Pulications (P) Ltd., New Delhi
-Year of publication: 2007
-Isbn: 9780763782726
-Edition: 3rd \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch1.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch1.ipynb
deleted file mode 100644
index 6d38324f..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch1.ipynb
+++ /dev/null
@@ -1,381 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:2fa8b19d5030cf6dee0c92c2ee4889d5f3659cfd258460db8d8dc9ca2e443363"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Hello, World!\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Hello, World!\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# prints \"Hello, World!\":\n",
- "print \"Hello, World!\\n\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Hello, World!\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# prints \"Hello, World!\":\n",
- "print \"Hel\" + \"lo, Wo\" + \"rld!\" \n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Hello, World!\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# prints \"Hello, World!\":\n",
- "print \"Hello, W\" + 'o' + \"rld\" + '!' "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Hello, World!\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# prints \"The Millennium ends Dec 31 2000.\":\n",
- "print \"The Millennium ends Dec %d %d \" %(31,2000)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Millennium ends Dec 31 2000 \n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# prints \"m = 44 and n = 77\":\n",
- "\n",
- "m = 44 # assigns the value 44 to the variable m\n",
- "print \"m = %d \" % m,\n",
- "n = m + 33 # assigns the value 77 to the variable n\n",
- "print \"and n = %d \" % n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "m = 44 and n = 77 \n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# prints \"n = 44:\n",
- "n=44\n",
- "print \"n = %d\" % n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 44\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Python does not have semicolons so wont give any errors.\n",
- "n=44\n",
- "print \"n = %d\" % n "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 44\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# prints \"m = ?? and n = 44\":\n",
- "m = 0 #In python we do not have declaration of variables, we just initialize it and use it.\n",
- "n=44\n",
- "print \"m = %d and n = %d\" %(m,n)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "m = 0 and n = 44\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# defines constants; has no output:\n",
- "BEEP = '\\b'\n",
- "MAXINT = 2147483647\n",
- "N = MAXINT/2\n",
- "KM_PER_MI = 1.60934\n",
- "PI = 3.14159265358979323846\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# tests the input of integers, floats, and characters:\n",
- "print \"Enter two integers: \"\n",
- "m = int(raw_input())\n",
- "n = int(raw_input())\n",
- "print \"m = %d , n = %d \" %(m,n)\n",
- "\n",
- "print \"Enter three decimal numbers: \"\n",
- "x = float(raw_input())\n",
- "y = float(raw_input())\n",
- "z = float(raw_input())\n",
- "\n",
- "print \"x = %f , y = %f , z = %f\" %(x,y,z)\n",
- "\n",
- "print \"Enter four characters: \";\n",
- "c1 = raw_input()\n",
- "c2 = raw_input()\n",
- "c3 = raw_input()\n",
- "c4 = raw_input()\n",
- "print \"c1 = \" + c1 + \", c2 = \" + c2 + \", c3 = \" + c3 + \", c4 = \" + c4 "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter two integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "22\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "m = 22 , n = 44 \n",
- "Enter three decimal numbers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2.2\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "4.4\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "6.6\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 2.200000 , y = 4.400000 , z = 6.600000\n",
- "Enter four characters: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "A\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "B\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "C\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "D\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "c1 = A, c2 = B, c3 = C, c4 = D\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch10.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch10.ipynb
deleted file mode 100644
index 11bfc69a..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch10.ipynb
+++ /dev/null
@@ -1,742 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:80ec9afde7f244065f945a9a64c1b3fb1bcbaba0a8461385eab8b48cd3e4fc70"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Ratio:\n",
- " def __init__(self):\n",
- " self.num = 0\n",
- " self.den = 0\n",
- " def assign(self,n,d):\n",
- " self.num = n\n",
- " self.den = d\n",
- " def convert(self):\n",
- " return float(self.num)/self.den\n",
- " def invert(self):\n",
- " self.num,self.den = self.den,self.num\n",
- " def print_(self):\n",
- " print self.num , '/' , self.den ,\n",
- " \n",
- "x = Ratio()\n",
- "x.assign(22,7)\n",
- "print \"x = \",\n",
- "x.print_()\n",
- "print \" = \" , x.convert() \n",
- "x.invert()\n",
- "print \"1/x = \",\n",
- "x.print_()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 22 / 7 = 3.14285714286\n",
- "1/x = 7 / 22\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "class Ratio:\n",
- " def __init__(self):\n",
- " self.num = 0\n",
- " self.den = 0\n",
- " def assign(self,n,d):\n",
- " self.num = n\n",
- " self.den = d\n",
- " def convert(self):\n",
- " return float(self.num)/self.den\n",
- " def invert(self):\n",
- " self.num,self.den = self.den,self.num\n",
- " def print_(self):\n",
- " print self.num , '/' , self.den ,\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Ratio:\n",
- " def __init__(self,n,d):\n",
- " self.num = n\n",
- " self.den = d\n",
- " def print_(self):\n",
- " print self.num , '/' , self.den ,\n",
- "\n",
- "x = Ratio(-1,3)\n",
- "y = Ratio(22,7)\n",
- "print \"x = \",\n",
- "x.print_()\n",
- "print \" and y = \",\n",
- "y.print_()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = -1 / 3 and y = 22 / 7\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=None,d=None):\n",
- " if n==None:\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " elif d==None:\n",
- " self.num = n\n",
- " self.den = 1\n",
- " else:\n",
- " self.num = n\n",
- " self.den = d\n",
- " def print_(self):\n",
- " print self.num , '/' , self.den ,\n",
- "\n",
- "x = Ratio()\n",
- "y = Ratio(4)\n",
- "z = Ratio(22,7)\n",
- "print \"x = \",\n",
- "x.print_()\n",
- "print \"\\ny = \",\n",
- "y.print_()\n",
- "print \"\\nz = \",\n",
- "z.print_()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 0 / 1 \n",
- "y = 4 / 1 \n",
- "z = 22 / 7\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=None,d=None):\n",
- " if n==None:\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " elif d==None:\n",
- " self.num = n\n",
- " self.den = 1\n",
- " else:\n",
- " self.num = n\n",
- " self.den = d\n",
- " def print_(self):\n",
- " print self.num , '/' , self.den ,\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=0,d=1):\n",
- " self.num = n\n",
- " self.den = d\n",
- " def print_(self):\n",
- " print self.num , '/' , self.den ,\n",
- "\n",
- "\n",
- "x = Ratio()\n",
- "y = Ratio(4)\n",
- "z = Ratio(22,7)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=0,d=1):\n",
- " self.num = n\n",
- " self.den = d\n",
- " def numerator(self):\n",
- " return self.num\n",
- " def denominator(self):\n",
- " return self.den\n",
- " def print_(self):\n",
- " print self.num , '/' , self.den ,\n",
- "\n",
- "\n",
- "x = Ratio(22,7)\n",
- "print x.numerator() , '/' , x.denominator() "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "22 / 7\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def gcd(m,n):\n",
- " # returns the greatest common divisor of m and n:\n",
- " if (m<n):\n",
- " m,n = n,m\n",
- " while (n>0):\n",
- " r = m % n\n",
- " m = n\n",
- " n = r\n",
- " return m\n",
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=0,d=1):\n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def numerator(self):\n",
- " return self.num\n",
- " def denominator(self):\n",
- " return self.den\n",
- " def print_(self):\n",
- " print self.num , '/' , self.den ,\n",
- "\n",
- " def reduce(self):\n",
- " # enforce invariant(den > 0):\n",
- " if (self.num == 0 or self.den == 0):\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " return\n",
- " if (self.den < 0):\n",
- " self.den *= -1\n",
- " self.num *= -1\n",
- " # enforce invariant(gcd(num,den) == 1):\n",
- " if (self.den == 1):\n",
- " return\n",
- " # it's already reduced\n",
- " sgn = 0\n",
- " if self.num < 0:\n",
- " sgn = -1\n",
- " else:\n",
- " sgn = 1\n",
- " g = gcd(sgn*self.num,self.den)\n",
- " self.num /= g\n",
- " self.den /= g\n",
- "\n",
- "x = Ratio(100,-360)\n",
- "x.print_()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-5 / 18\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def gcd(m,n):\n",
- " # returns the greatest common divisor of m and n:\n",
- " if (m<n):\n",
- " m,n = n,m\n",
- " while (n>0):\n",
- " r = m % n\n",
- " m = n\n",
- " n = r\n",
- " return m\n",
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=0,d=None):\n",
- " if d == None:\n",
- " self.num = n.num\n",
- " self.den = n.den\n",
- " else: \n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def numerator(self):\n",
- " return self.num\n",
- " def denominator(self):\n",
- " return self.den\n",
- " def print_(self):\n",
- " print self.num , '/' , self.den ,\n",
- "\n",
- " def reduce(self):\n",
- " # enforce invariant(den > 0):\n",
- " if (self.num == 0 or self.den == 0):\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " return\n",
- " if (self.den < 0):\n",
- " self.den *= -1\n",
- " self.num *= -1\n",
- " # enforce invariant(gcd(num,den) == 1):\n",
- " if (self.den == 1):\n",
- " return\n",
- " # it's already reduced\n",
- " sgn = 0\n",
- " if self.num < 0:\n",
- " sgn = -1\n",
- " else:\n",
- " sgn = 1\n",
- " g = gcd(sgn*self.num,self.den)\n",
- " self.num /= g\n",
- " self.den /= g\n",
- "\n",
- "x = Ratio(100,360)\n",
- "y = Ratio(x)\n",
- "print \"x = \",\n",
- "x.print_()\n",
- "print \"y = \",\n",
- "y.print_()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 5 / 18 y = 5 / 18\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def gcd(m,n):\n",
- " # returns the greatest common divisor of m and n:\n",
- " if (m<n):\n",
- " m,n = n,m\n",
- " while (n>0):\n",
- " r = m % n\n",
- " m = n\n",
- " n = r\n",
- " return m\n",
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=0,d=None):\n",
- " if d == None:\n",
- " print \"COPY CONSTRUCTOR CALLED\"\n",
- " self.num = n.num\n",
- " self.den = n.den\n",
- " else: \n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def numerator(self):\n",
- " return self.num\n",
- " def denominator(self):\n",
- " return self.den\n",
- " def print_(self):\n",
- " print self.num , '/' , self.den ,\n",
- "\n",
- " def reduce(self):\n",
- " # enforce invariant(den > 0):\n",
- " if (self.num == 0 or self.den == 0):\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " return\n",
- " if (self.den < 0):\n",
- " self.den *= -1\n",
- " self.num *= -1\n",
- " # enforce invariant(gcd(num,den) == 1):\n",
- " if (self.den == 1):\n",
- " return\n",
- " # it's already reduced\n",
- " sgn = 0\n",
- " if self.num < 0:\n",
- " sgn = -1\n",
- " else:\n",
- " sgn = 1\n",
- " g = gcd(sgn*self.num,self.den)\n",
- " self.num /= g\n",
- " self.den /= g\n",
- "\n",
- "def f(r):\n",
- " s = Ratio(r)\n",
- "\n",
- "x = Ratio(22,7)\n",
- "y = Ratio(x) #calls the copy constructor, copying x to y\n",
- "f(y)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "COPY CONSTRUCTOR CALLED\n",
- "COPY CONSTRUCTOR CALLED\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Ratio:\n",
- " def __init__(self):\n",
- " print \"OBJECT IS BORN.\"\n",
- " def __del__(self):\n",
- " print \"OBJECT DIES.\"\n",
- "\n",
- "x = Ratio()\n",
- "print \"Now x is alive.\"\n",
- "print \"Now between blocks.\"\n",
- "y = Ratio()\n",
- "print \"Now y is alive.\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "OBJECT IS BORN.\n",
- "Now x is alive.\n",
- "Now between blocks.\n",
- "OBJECT IS BORN.\n",
- "Now y is alive.\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class X:\n",
- " def __init(self):\n",
- " data = 0\n",
- "\n",
- "p = X()\n",
- "p.data = 22\n",
- "print \"p.data = \" , p.data , \" = \" , p.data\n",
- "p.data = 44\n",
- "print \" p.data = \" , p.data , \" = \" , p.data "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "p.data = 22 = 22\n",
- " p.data = 44 = 44\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Node:\n",
- " def __init__(self,d,q=None):\n",
- " self.data = d\n",
- " self.next = q\n",
- "\n",
- "n = int(raw_input())\n",
- "q = Node(n)\n",
- "while True:\n",
- " n = int(raw_input())\n",
- " if n<=0:\n",
- " break\n",
- " p = Node(n, q)\n",
- " q = p\n",
- "k = p\n",
- "while k != None:\n",
- " print k.data , '->' , \n",
- " k = k.next\n",
- "print '*'\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "22\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "33\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "66\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "77\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "77 -> 66 -> 55 -> 44 -> 33 -> 22 -> *\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "count = 0\n",
- "class Widget:\n",
- " def __init__(self):\n",
- " global count\n",
- " count += 1\n",
- " \n",
- "w = Widget()\n",
- "x = Widget()\n",
- "print \"Now there are \" , count , 'widgets'\n",
- "if True:\n",
- " w = Widget()\n",
- " x = Widget()\n",
- " y = Widget()\n",
- " z = Widget()\n",
- " print \"Now there are\" , count , 'widgets' \n",
- "print \"Now there are \" , count , 'widgets'\n",
- "y = Widget()\n",
- "print \"Now there are \" , count , 'widgets'\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "OBJECT DIES.\n",
- "Now there are 2 widgets\n",
- "OBJECT DIES.\n",
- "Now there are 6 widgets\n",
- "Now there are 6 widgets\n",
- "Now there are 7 widgets\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "count = 0\n",
- "class Widget:\n",
- " def __init__(self):\n",
- " global count\n",
- " count += 1\n",
- " def numWidgets(self):\n",
- " global count\n",
- " return count\n",
- " \n",
- "w = Widget()\n",
- "x = Widget()\n",
- "print \"Now there are \" , w.numWidgets() , 'widgets'\n",
- "if True:\n",
- " w = Widget()\n",
- " x = Widget()\n",
- " y = Widget()\n",
- " z = Widget()\n",
- " print \"Now there are\" , w.numWidgets() , 'widgets' \n",
- "print \"Now there are \" , w.numWidgets() , 'widgets'\n",
- "y = Widget()\n",
- "print \"Now there are \" , w.numWidgets() , 'widgets'\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Now there are 2 widgets\n",
- "Now there are 6 widgets\n",
- "Now there are 6 widgets\n",
- "Now there are 7 widgets\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "count = 0\n",
- "class Widget:\n",
- " def __init__(self):\n",
- " global count\n",
- " count += 1\n",
- " def numWidgets(self):\n",
- " global count\n",
- " return count\n",
- " \n",
- "w = Widget()\n",
- "x = Widget()\n",
- "print \"Now there are \" , w.numWidgets() , 'widgets'\n",
- "if True:\n",
- " w = Widget()\n",
- " x = Widget()\n",
- " y = Widget()\n",
- " z = Widget()\n",
- " print \"Now there are\" , w.numWidgets() , 'widgets' \n",
- "print \"Now there are \" , w.numWidgets() , 'widgets'\n",
- "y = Widget()\n",
- "print \"Now there are \" , w.numWidgets() , 'widgets'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Now there are 2 widgets\n",
- "Now there are 6 widgets\n",
- "Now there are 6 widgets\n",
- "Now there are 7 widgets\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch11.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch11.ipynb
deleted file mode 100644
index 34fb61dc..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch11.ipynb
+++ /dev/null
@@ -1,686 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:bdd5f9e441ccb7e3a87f4d8c5492d0aa1d228caba299fc1b0c667abb12780a1e"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=None,d=None):\n",
- " if d==None:\n",
- " self.num = n.num\n",
- " self.den = n.den\n",
- " elif n==None:\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " else:\n",
- " self.num = n\n",
- " self.den = d\n",
- " \n",
- " def equals(self):\n",
- " return self # retuns calling object."
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=None,d=None):\n",
- " pass\n",
- " \n",
- " def equals(self):\n",
- " pass\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=None,d=None):\n",
- " if d==None:\n",
- " self.num = n.num\n",
- " self.den = n.den\n",
- " elif n==None:\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " else:\n",
- " self.num = n\n",
- " self.den = d\n",
- " \n",
- "\n",
- "z = Ratio(22,7)\n",
- "y = z\n",
- "x = z\n",
- "\n",
- "x = Ratio(22,7)\n",
- "y = Ratio(x)\n",
- "z = x\n",
- "w = x"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=None,d=None):\n",
- " self.num = n\n",
- " self.den = d\n",
- " def __mul__(self,y):\n",
- " pass\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def gcd(m,n):\n",
- " # returns the greatest common divisor of m and n:\n",
- " if (m<n):\n",
- " m,n = n,m\n",
- " while (n>0):\n",
- " r = m % n\n",
- " m = n\n",
- " n = r\n",
- " return m\n",
- "\n",
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=None,d=None):\n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def __mul__(self,y):\n",
- " z = Ratio(self.num * y.num, self.den * y.den)\n",
- " return z\n",
- " def print_(self):\n",
- " print self.num , '/', self.den\n",
- " \n",
- " def reduce(self):\n",
- " # enforce invariant(den > 0):\n",
- " if (self.num == 0 or self.den == 0):\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " return\n",
- " if (self.den < 0):\n",
- " self.den *= -1\n",
- " self.num *= -1\n",
- " # enforce invariant(gcd(num,den) == 1):\n",
- " if (self.den == 1):\n",
- " return\n",
- " # it's already reduced\n",
- " sgn = 0\n",
- " if self.num < 0:\n",
- " sgn = -1\n",
- " else:\n",
- " sgn = 1\n",
- " g = gcd(sgn*self.num,self.den)\n",
- " self.num /= g\n",
- " self.den /= g\n",
- "x = Ratio(22,7)\n",
- "y = Ratio(-3,8)\n",
- "z = x\n",
- "z.print_()\n",
- "x = y*z\n",
- "x.print_()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "22 / 7\n",
- "-33 / 28\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def gcd(m,n):\n",
- " # returns the greatest common divisor of m and n:\n",
- " if (m<n):\n",
- " m,n = n,m\n",
- " while (n>0):\n",
- " r = m % n\n",
- " m = n\n",
- " n = r\n",
- " return m\n",
- "\n",
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=None,d=None):\n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def __imul__(self,y):\n",
- " self.num = self.num * y.num\n",
- " self.den = self.den * y.den\n",
- " def print_(self):\n",
- " print self.num , '/', self.den"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=None,d=None):\n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def __imul__(self,y):\n",
- " self.num = self.num * y.num\n",
- " self.den = self.den * y.den\n",
- " def __eq__(self,y):\n",
- " return (x.num * y.den == y.num * x.den)\n",
- " def print_(self):\n",
- " print self.num , '/', self.den\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class Ratio:\n",
- " def __init__(self,n=None,d=None):\n",
- " self.num = n\n",
- " self.den = d\n",
- " def __imul__(self,y):\n",
- " self.num = self.num * y.num\n",
- " self.den = self.den * y.den\n",
- " def __eq__(self,y):\n",
- " return (x.num * y.den == y.num * x.den)\n",
- " def print_(self):\n",
- " print self.num , '/', self.den\n",
- "\n",
- "\n",
- "x = Ratio(22,7)\n",
- "y = Ratio(-3,8)\n",
- "x.print_() , y.print_()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "22 / 7\n",
- "-3 / 8\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "pyout",
- "prompt_number": 8,
- "text": [
- "(None, None)"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def gcd(m,n):\n",
- " # returns the greatest common divisor of m and n:\n",
- " if (m<n):\n",
- " m,n = n,m\n",
- " while (n>0):\n",
- " r = m % n\n",
- " m = n\n",
- " n = r\n",
- " return m\n",
- "class Ratio:\n",
- " def __init__(self,n=0,d=1):\n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def __mul__(self,y):\n",
- " z = Ratio(self.num * y.num, self.den * y.den)\n",
- " return z\n",
- " def print_(self):\n",
- " print self.num , '/', self.den\n",
- " \n",
- " def input(self):\n",
- " self.num = int(raw_input('Numerator : '))\n",
- " self.den = int(raw_input('Denominator : '))\n",
- " self.reduce()\n",
- " def reduce(self):\n",
- " # enforce invariant(den > 0):\n",
- " if (self.num == 0 or self.den == 0):\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " return\n",
- " if (self.den < 0):\n",
- " self.den *= -1\n",
- " self.num *= -1\n",
- " # enforce invariant(gcd(num,den) == 1):\n",
- " if (self.den == 1):\n",
- " return\n",
- " # it's already reduced\n",
- " sgn = 0\n",
- " if self.num < 0:\n",
- " sgn = -1\n",
- " else:\n",
- " sgn = 1\n",
- " g = gcd(sgn*self.num,self.den)\n",
- " self.num /= g\n",
- " self.den /= g\n",
- "\n",
- "\n",
- "x = Ratio()\n",
- "y = Ratio()\n",
- "x.input()\n",
- "y.input()\n",
- "x.print_()\n",
- "y.print_()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Numerator : -10\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Denominator : -24\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Numerator : 36\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Denominator : -20\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5 / 12\n",
- "-9 / 5\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def gcd(m,n):\n",
- " # returns the greatest common divisor of m and n:\n",
- " if (m<n):\n",
- " m,n = n,m\n",
- " while (n>0):\n",
- " r = m % n\n",
- " m = n\n",
- " n = r\n",
- " return m\n",
- "class Ratio:\n",
- " def __init__(self,n=0,d=1):\n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def __mul__(self,y):\n",
- " z = Ratio(self.num * y.num, self.den * y.den)\n",
- " return z\n",
- " def print_(self):\n",
- " print self.num , '/', self.den\n",
- " \n",
- " def input(self):\n",
- " self.num = int(raw_input('Numerator : '))\n",
- " self.den = int(raw_input('Denominator : '))\n",
- " self.reduce()\n",
- " def __float__(self):\n",
- " return float(self.num)/self.den\n",
- " def reduce(self):\n",
- " # enforce invariant(den > 0):\n",
- " if (self.num == 0 or self.den == 0):\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " return\n",
- " if (self.den < 0):\n",
- " self.den *= -1\n",
- " self.num *= -1\n",
- " # enforce invariant(gcd(num,den) == 1):\n",
- " if (self.den == 1):\n",
- " return\n",
- " # it's already reduced\n",
- " sgn = 0\n",
- " if self.num < 0:\n",
- " sgn = -1\n",
- " else:\n",
- " sgn = 15.py\n",
- " g = gcd(sgn*self.num,self.den)\n",
- " self.num /= g\n",
- " self.den /= g\n",
- "\n",
- "x = Ratio(-5,8)\n",
- "print \"x = \" , \n",
- "x.print_() \n",
- "print \", float(x) = \" , float(x) \n",
- "P = Ratio(22,7)\n",
- "PI = float(P)\n",
- "print \"P = \" ,\n",
- "P.print_() \n",
- "print \", PI = \" , PI\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = -5 / 8\n",
- ", float(x) = -0.625\n",
- "P = 22 / 7\n",
- ", PI = 3.14285714286\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def gcd(m,n):\n",
- " # returns the greatest common divisor of m and n:\n",
- " if (m<n):\n",
- " m,n = n,m\n",
- " while (n>0):\n",
- " r = m % n\n",
- " m = n\n",
- " n = r\n",
- " return m\n",
- "class Ratio:\n",
- " def __init__(self,n=0,d=1):\n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def __mul__(self,y):\n",
- " z = Ratio(self.num * y.num, self.den * y.den)\n",
- " return z\n",
- " def print_(self):\n",
- " print self.num , '/', self.den\n",
- " \n",
- " def __iadd__(self,n):\n",
- " self.num += self.den\n",
- " return self\n",
- " def reduce(self):\n",
- " # enforce invariant(den > 0):\n",
- " if (self.num == 0 or self.den == 0):\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " return\n",
- " if (self.den < 0):\n",
- " self.den *= -1\n",
- " self.num *= -1\n",
- " # enforce invariant(gcd(num,den) == 1):\n",
- " if (self.den == 1):\n",
- " return\n",
- " # it's already reduced\n",
- " sgn = 0\n",
- " if self.num < 0:\n",
- " sgn = -1\n",
- " else:\n",
- " sgn = 1\n",
- " g = gcd(sgn*self.num,self.den)\n",
- " self.num /= g\n",
- " self.den /= g\n",
- "\n",
- "x = Ratio(22,7)\n",
- "x += 1\n",
- "y = x\n",
- "print \"y = \" ,\n",
- "y.print_()\n",
- "print \", x = \",\n",
- "x.print_()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "y = 29 / 7\n",
- ", x = 29 / 7\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def gcd(m,n):\n",
- " # returns the greatest common divisor of m and n:\n",
- " if (m<n):\n",
- " m,n = n,m\n",
- " while (n>0):\n",
- " r = m % n\n",
- " m = n\n",
- " n = r\n",
- " return m\n",
- "class Ratio:\n",
- " def __init__(self,n=0,d=1):\n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def __mul__(self,y):\n",
- " z = Ratio(self.num * y.num, self.den * y.den)\n",
- " return z\n",
- " def print_(self):\n",
- " print self.num , '/', self.den\n",
- " \n",
- " def __iadd__(self,n):\n",
- " self.num += self.den\n",
- " return self\n",
- " def reduce(self):\n",
- " # enforce invariant(den > 0):\n",
- " if (self.num == 0 or self.den == 0):\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " return\n",
- " if (self.den < 0):\n",
- " self.den *= -1\n",
- " self.num *= -1\n",
- " # enforce invariant(gcd(num,den) == 1):\n",
- " if (self.den == 1):\n",
- " return\n",
- " # it's already reduced\n",
- " sgn = 0\n",
- " if self.num < 0:\n",
- " sgn = -1\n",
- " else:\n",
- " sgn = 1\n",
- " g = gcd(sgn*self.num,self.den)\n",
- " self.num /= g\n",
- " self.den /= g\n",
- "\n",
- "x = Ratio(22,7)\n",
- "y = Ratio(x.num,x.den)\n",
- "x += 1\n",
- "print \"y = \" ,\n",
- "y.print_()\n",
- "print \", x = \",\n",
- "x.print_()\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "y = 22 / 7\n",
- ", x = 29 / 7\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def gcd(m,n):\n",
- " # returns the greatest common divisor of m and n:\n",
- " if (m<n):\n",
- " m,n = n,m\n",
- " while (n>0):\n",
- " r = m % n\n",
- " m = n\n",
- " n = r\n",
- " return m\n",
- "class Ratio:\n",
- " def __init__(self,n=0,d=1):\n",
- " self.num = n\n",
- " self.den = d\n",
- " self.reduce()\n",
- " def __mul__(self,y):\n",
- " z = Ratio(self.num * y.num, self.den * y.den)\n",
- " return z\n",
- " def print_(self):\n",
- " print self.num , '/', self.den\n",
- " \n",
- " def __getitem__(self,k):\n",
- " if k == 1:\n",
- " return self.num\n",
- " else:\n",
- " return self.den\n",
- " def reduce(self):\n",
- " # enforce invariant(den > 0):\n",
- " if (self.num == 0 or self.den == 0):\n",
- " self.num = 0\n",
- " self.den = 1\n",
- " return\n",
- " if (self.den < 0):\n",
- " self.den *= -1\n",
- " self.num *= -1\n",
- " # enforce invariant(gcd(num,den) == 1):\n",
- " if (self.den == 1):\n",
- " return\n",
- " # it's already reduced\n",
- " sgn = 0\n",
- " if self.num < 0:\n",
- " sgn = -1\n",
- " else:\n",
- " sgn = 1\n",
- " g = gcd(sgn*self.num,self.den)\n",
- " self.num /= g\n",
- " self.den /= g\n",
- "\n",
- "x = Ratio(22,7)\n",
- "print \"x = \" ,\n",
- "x.print_()\n",
- "print \"x[1] = \" , x[1] , \", x[2] = \" , x[2]\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 22 / 7\n",
- "x[1] = 22 , x[2] = 7\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch12.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch12.ipynb
deleted file mode 100644
index 2fc62abb..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch12.ipynb
+++ /dev/null
@@ -1,757 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:f377691760a60edd5db7fbe78ee867c7be9afd9802ecd81bd9e073874d13c99c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Person:\n",
- " def __init__(self,n=\"\",nat=\"U.S.A.\",s=1):\n",
- " self.name = n\n",
- " self.nationality = nat\n",
- " self.sex = s\n",
- "\n",
- " def printName(self):\n",
- " print self.name,\n",
- " \n",
- " def printNationality(self):\n",
- " print self.nationality,\n",
- "\n",
- "creator = Person(\"Bjarne Stroustrup\", \"Denmark\")\n",
- "print \"The creator of C++ was \" ,\n",
- "creator.printName() \n",
- "print \", who was born in \" ,\n",
- "creator.printNationality() \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The creator of C++ was Bjarne Stroustrup , who was born in Denmark\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class Date:\n",
- " def __init__(self,m=0,d=0,y=0):\n",
- " self.month = m\n",
- " self.day = d\n",
- " self.year = y\n",
- " \n",
- " def setDate(self,m,d,y):\n",
- " self.month = m\n",
- " self.day = d\n",
- " self.year = y\n",
- " # Python doesn't have >> operator for input so we are just using input function\n",
- " def input(self):\n",
- " self.month = int(raw_input()) \n",
- " self.day = int(raw_input())\n",
- " self.year = int(raw_input()) \n",
- " \n",
- " # Python doesn't have << operator for output so we are just using print function\n",
- " def print_(self):\n",
- " monthName = [\"\", \"January\",\"February\",\"March\", \"April\", \"May\", \"June\",\\\n",
- " \"July\", \"August\",\"September\", \"October\", \"November\",\\\n",
- " \"December\"]\n",
- " print monthName[self.month] , self.day , \",\" , self.year\n",
- "\n",
- "peace = Date(11,11,1918)\n",
- "print \"World War I ended on \" ,\n",
- "peace.print_()\n",
- "peace.setDate(8,14,1945)\n",
- "print \"World War II ended on \" ,\n",
- "peace.print_()\n",
- "print \"Enter month, day, and year: \"\n",
- "date = Date()\n",
- "date.input()\n",
- "print \"The date is \" , \n",
- "date.print_()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "World War I ended on November 11 , 1918\n",
- "World War II ended on August 14 , 1945\n",
- "Enter month, day, and year: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "7\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "4\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1976\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The date is July 4 , 1976\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Date:\n",
- " def __init__(self,m=0,d=0,y=0):\n",
- " self.month = m\n",
- " self.day = d\n",
- " self.year = y\n",
- " \n",
- " def setDate(self,m,d,y):\n",
- " self.month = m\n",
- " self.day = d\n",
- " self.year = y\n",
- " # Python doesn't have >> operator for input so we are just using input function\n",
- " def input(self):\n",
- " self.month = int(raw_input()) \n",
- " self.day = int(raw_input())\n",
- " self.year = int(raw_input()) \n",
- " \n",
- " # Python doesn't have << operator for output so we are just using print function\n",
- " def print_(self):\n",
- " monthName = [\"\", \"January\",\"February\",\"March\", \"April\", \"May\", \"June\",\\\n",
- " \"July\", \"August\",\"September\", \"October\", \"November\",\\\n",
- " \"December\"]\n",
- " print monthName[self.month] , self.day , \",\" , self.year\n",
- "\n",
- "class Person:\n",
- " def __init__(self,n=\"\",s=0,nat=\"U.S.A.\"):\n",
- " self.name = n\n",
- " self.nationality = nat\n",
- " self.sex = s\n",
- " self.dob = Date()\n",
- " self.dod = Date()\n",
- " def setDOB(self,m,d,y):\n",
- " self.dob.setDate(m,d,y)\n",
- " def setDOD(self,m,d,y):\n",
- " self.dod.setDate(m,d,y)\n",
- " def printName(self):\n",
- " print self.name,\n",
- " def printNationality(self):\n",
- " print self.nationality,\n",
- " def printDOB(self):\n",
- " self.dob.print_()\n",
- " def printDOD(self):\n",
- " self.dod.print_()\n",
- "\n",
- "author = Person(\"Thomas Jefferson\", 1)\n",
- "author.setDOB(4,13,1743)\n",
- "author.setDOD(7,4,1826)\n",
- "print \"The author of the Declaration of Independence was \",\n",
- "author.printName()\n",
- "print \".\\nHe was born on \",\n",
- "author.printDOB()\n",
- "print \" and died on \",\n",
- "author.printDOD()\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The author of the Declaration of Independence was Thomas Jefferson .\n",
- "He was born on April 13 , 1743\n",
- " and died on July 4 , 1826\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Date:\n",
- " def __init__(self,m=0,d=0,y=0):\n",
- " self.month = m\n",
- " self.day = d\n",
- " self.year = y\n",
- " \n",
- " def setDate(self,m,d,y):\n",
- " self.month = m\n",
- " self.day = d\n",
- " self.year = y\n",
- " # Python doesn't have >> operator for input so we are just using input function\n",
- " def input(self):\n",
- " self.month = int(raw_input()) \n",
- " self.day = int(raw_input())\n",
- " self.year = int(raw_input()) \n",
- " \n",
- " # Python doesn't have << operator for output so we are just using print function\n",
- " def print_(self):\n",
- " monthName = [\"\", \"January\",\"February\",\"March\", \"April\", \"May\", \"June\",\\\n",
- " \"July\", \"August\",\"September\", \"October\", \"November\",\\\n",
- " \"December\"]\n",
- " print monthName[self.month] , self.day , \",\" , self.year\n",
- "\n",
- "class Person:\n",
- " def __init__(self,n=\"\",s=0,nat=\"U.S.A.\"):\n",
- " self.name = n\n",
- " self.nationality = nat\n",
- " self.sex = s\n",
- " self.dob = Date()\n",
- " self.dod = Date()\n",
- " def setDOB(self,m,d,y):\n",
- " self.dob.setDate(m,d,y)\n",
- " def setDOD(self,m,d,y):\n",
- " self.dod.setDate(m,d,y)\n",
- " def printName(self):\n",
- " print self.name,\n",
- " def printNationality(self):\n",
- " print self.nationality,\n",
- " def printDOB(self):\n",
- " self.dob.print_()\n",
- " def printDOD(self):\n",
- " self.dod.print_()\n",
- "\n",
- "class Student(Person):\n",
- " def __init__(self,n,s=0,i=\"\"):\n",
- " Person.__init__(self,n,s)\n",
- " self.id = i\n",
- " self.credits = 0\n",
- " self.gpa = 0\n",
- " self.dom = Date()\n",
- "\n",
- " def setDOM(self,m,d,y):\n",
- " self.dom.setDate(m, d, y)\n",
- " def printDOM(self):\n",
- " self.dom.print_()\n",
- "\n",
- "x = Student(\"Ann Jones\", 0, \"219360061\")\n",
- "x.setDOB(5, 13, 1977)\n",
- "x.setDOM(8, 29, 1995)\n",
- "x.printName()\n",
- "print \"\\n\\t Born: \" ,\n",
- "x.printDOB()\n",
- "print \"\\n\\tMatriculated: \",\n",
- "x.printDOM()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Ann Jones \n",
- "\t Born: May 13 , 1977\n",
- "\n",
- "\tMatriculated: August 29 , 1995\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Date:\n",
- " def __init__(self,m=0,d=0,y=0):\n",
- " self.month = m\n",
- " self.day = d\n",
- " self.year = y\n",
- " \n",
- " def setDate(self,m,d,y):\n",
- " self.month = m\n",
- " self.day = d\n",
- " self.year = y\n",
- " # Python doesn't have >> operator for input so we are just using input function\n",
- " def input(self):\n",
- " self.month = int(raw_input()) \n",
- " self.day = int(raw_input())\n",
- " self.year = int(raw_input()) \n",
- " \n",
- " # Python doesn't have << operator for output so we are just using print function\n",
- " def print_(self):\n",
- " monthName = [\"\", \"January\",\"February\",\"March\", \"April\", \"May\", \"June\",\\\n",
- " \"July\", \"August\",\"September\", \"October\", \"November\",\\\n",
- " \"December\"]\n",
- " print monthName[self.month] , self.day , \",\" , self.year\n",
- "\n",
- "class Person:\n",
- " def __init__(self,n=\"\",s=0,nat=\"U.S.A.\"):\n",
- " self.name = n\n",
- " self.nationality = nat\n",
- " self.sex = s\n",
- " self.dob = Date()\n",
- " self.dod = Date()\n",
- " def setDOB(self,m,d,y):\n",
- " self.dob.setDate(m,d,y)\n",
- " def setDOD(self,m,d,y):\n",
- " self.dod.setDate(m,d,y)\n",
- " def printName(self):\n",
- " print self.name,\n",
- " def printNationality(self):\n",
- " print self.nationality,\n",
- " def printDOB(self):\n",
- " self.dob.print_()\n",
- " def printDOD(self):\n",
- " self.dod.print_()\n",
- "\n",
- "class Student(Person):\n",
- " def __init__(self,n,s=0,i=\"\"):\n",
- " Person.__init__(self,n,s)\n",
- " self.id = i\n",
- " self.credits = 0\n",
- " self.gpa = 0\n",
- " self.dom = Date()\n",
- "\n",
- " def setDOM(self,m,d,y):\n",
- " self.dom.setDate(m, d, y)\n",
- " def printDOM(self):\n",
- " self.dom.print_()\n",
- " def printSex(self):\n",
- " if self.sex == 1:\n",
- " print \"male\"\n",
- " else:\n",
- " print 'female'\n",
- "\n",
- "x = Student(\"Ann Jones\", 0, \"219360061\")\n",
- "x.setDOB(5, 13, 1977)\n",
- "x.setDOM(8, 29, 1995)\n",
- "x.setDOD(7,4,1826)\n",
- "x.printName()\n",
- "print \"\\n\\t Born: \" , \n",
- "x.printDOB()\n",
- "print \"\\n\\t Sex: \" ,\n",
- "x.printSex()\n",
- "print \"\\n\\tMatriculated: \",\n",
- "x.printDOM()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Ann Jones \n",
- "\t Born: May 13 , 1977\n",
- "\n",
- "\t Sex: female\n",
- "\n",
- "\tMatriculated: August 29 , 1995\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class X:\n",
- " def __init__(self):\n",
- " self.a = 0\n",
- " def f(self):\n",
- " print \"X::f() executing\"\n",
- "class Y(X):\n",
- " def __init__(self):\n",
- " self.a = 0\n",
- " def f(self):\n",
- " print \"Y::f() executing\"\n",
- "x = X()\n",
- "x.a = 22\n",
- "x.f()\n",
- "print \"x.a = \" , x.a\n",
- "y = Y()\n",
- "y.a = 44\n",
- "# assigns 44 to the a defined in Y\n",
- "y._X__a = 66\n",
- "# assigns 66 to the a defined in X\n",
- "y.f()\n",
- "# invokes the f() defined in Y\n",
- "X.f(x)\n",
- "# invokes the f() defined in X\n",
- "print \"y.a = \" , y.a \n",
- "print \"y._X__a = \" , y._X__a \n",
- "z = y\n",
- "print \"z.a = \" , z._X__a \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "X::f() executing\n",
- "x.a = 22\n",
- "Y::f() executing\n",
- "X::f() executing\n",
- "y.a = 44\n",
- "y._X__a = 66\n",
- "z.a = 66\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class X:\n",
- " def __init__(self):\n",
- " print \"X::X() constructor executing \"\n",
- " def __del__(self):\n",
- " print \"X::X() destructor executing \"\n",
- "\n",
- "class Y(X):\n",
- " def __init__(self):\n",
- " X.__init__(self)\n",
- " print \"Y::Y() constructor executing \"\n",
- " def __del__(self):\n",
- " print \"Y::Y() destructor executing \"\n",
- "\n",
- "class Z(Y):\n",
- " def __init__(self,i):\n",
- " Y.__init__(self)\n",
- " print \"Z::Z(\" , i , \") constructor executing \"\n",
- " def __del__(self):\n",
- " print \"Z::Z() destructor executing \"\n",
- " \n",
- "\n",
- "Z = Z(44)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "X::X() constructor executing \n",
- "Y::Y() constructor executing \n",
- "Z::Z( 44 ) constructor executing \n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Person:\n",
- " def __init__(self,s):\n",
- " self.name = s\n",
- " def __del__(self):\n",
- " pass\n",
- "\n",
- "class Student(Person):\n",
- " def __init__(self,s,m):\n",
- " Person.__init__(self,s)\n",
- " self.major = m\n",
- " def __del__(self):\n",
- " pass\n",
- "x = Person(\"Bob\")\n",
- "y = Student(\"Sarah\", \"Biology\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "class Person:\n",
- " def __init__(self,n=\"\",s=0,nat=\"U.S.A.\"):\n",
- " self.name = n\n",
- " self.nationality = nat\n",
- " self.sex = s\n",
- " self.dob = Date()\n",
- " self.dod = Date()\n",
- " def setDOB(self,m,d,y):\n",
- " self.dob.setDate(m,d,y)\n",
- " def setDOD(self,m,d,y):\n",
- " self.dod.setDate(m,d,y)\n",
- " def printName(self):\n",
- " print self.name,\n",
- " def printNationality(self):\n",
- " print self.nationality,\n",
- " def printDOB(self):\n",
- " self.dob.print_()\n",
- " def printDOD(self):\n",
- " self.dod.print_()\n",
- " def setHSgraduate(self,g):\n",
- " self.hs = g\n",
- " def isHSgraduate(self):\n",
- " return hs\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class X:\n",
- " def f(self):\n",
- " print \"X::f() executing\"\n",
- "class Y(X):\n",
- " def f(self):\n",
- " print \"Y::f() executing\"\n",
- "x = X()\n",
- "y = Y()\n",
- "p = x\n",
- "p.f()\n",
- "p = y\n",
- "p.f()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "X::f() executing\n",
- "Y::f() executing\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Person:\n",
- " def __init__(self,n):\n",
- " self.name = n\n",
- " def print_(self):\n",
- " print 'My name is' , self.name\n",
- "\n",
- "class Student(Person):\n",
- " def __init__(self,s,g):\n",
- " Person.__init__(self,s)\n",
- " self.gpa = g\n",
- " def print_(self):\n",
- " print 'My name is ',self.name, ' and my G.P.A. is', self.gpa\n",
- "\n",
- "class Professor(Person):\n",
- " def __init__(self,s,n):\n",
- " Person.__init__(self,s)\n",
- " self.publs = n\n",
- " def print_(self):\n",
- " print 'My name is ', self.name,' and i have ' , self.publs,' publications.'\n",
- "\n",
- "x = Person(\"Bob\")\n",
- "p = x\n",
- "p.print_()\n",
- "y = Student(\"Tom\", 3.47)\n",
- "p = y\n",
- "p.print_()\n",
- "z = Professor(\"Ann\", 7)\n",
- "p = z\n",
- "p.print_()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "My name is Bob\n",
- "My name is Tom and my G.P.A. is 3.47\n",
- "My name is Ann and i have 7 publications.\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class X:\n",
- " def __init__(self):\n",
- " self.p = [0,0]\n",
- " print 'X().',\n",
- " def __del__(self):\n",
- " print '~X().'\n",
- "\n",
- "class Y(X):\n",
- " def __init__(self):\n",
- " X.__init__(self)\n",
- " self.q = []\n",
- " for i in range(1023):\n",
- " self.q.append(0)\n",
- " print 'Y() : Y::q = ', hex(id(self.q)) ,'.',\n",
- " def __del__(self):\n",
- " print '~Y().'\n",
- "\n",
- "for i in range(8):\n",
- " r = Y()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "X(). Y() : Y::q = 0x90d91cc . ~Y().\n",
- "X(). Y() : Y::q = 0x90c944c . ~Y().\n",
- "X(). Y() : Y::q = 0x90d91cc . ~Y().\n",
- "X(). Y() : Y::q = 0x90c944c . ~Y().\n",
- "X(). Y() : Y::q = 0x90d91cc . ~Y().\n",
- "X(). Y() : Y::q = 0x90c944c . ~Y().\n",
- "X(). Y() : Y::q = 0x90d91cc . ~Y().\n",
- "X(). Y() : Y::q = 0x90c944c . ~Y().\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Media:\n",
- " def __init__(self):\n",
- " self.title = ''\n",
- " def print_(self):\n",
- " pass\n",
- " def id(self):\n",
- " pass\n",
- "\n",
- "class Book(Media):\n",
- " def __init__(self,a='',t=\"\",p=\"\",i=\"\"):\n",
- " self.author = a\n",
- " self.publisher = p\n",
- " self.isbn = i\n",
- " self.title = t\n",
- " def print_(self):\n",
- " print self.title , \" by \" , self.author\n",
- " def id(self):\n",
- " return self.isbn\n",
- "\n",
- "class CD(Media):\n",
- " def __init__(self,t=\"\",c=\"\",m=\"\",n=\"\"):\n",
- " self.composer = c\n",
- " self.make = m\n",
- " self.number = n\n",
- " self.title = t\n",
- " def print_(self):\n",
- " print self.title , \", \" , self.composer\n",
- " def id(self):\n",
- " s = str(self.make) + ' ' + str(self.number)\n",
- " return s\n",
- "\n",
- "class Magazine(Media):\n",
- " def __init__(self,t=\"\",i=\"\",v=0, n=0):\n",
- " self.issn = i\n",
- " self.volume = v\n",
- " self.number = n\n",
- " self.title = t\n",
- " def print_(self):\n",
- " print self.title , \" Magazine, Vol. \", self.volume , \", No.\" , self.number\n",
- " def id(self):\n",
- " return self.issn\n",
- "\n",
- "book = Book(\"Bjarne Stroustrup\", \"The C++ Programming Language\",\"Addison-Wesley\", \"0-201-53992-6\")\n",
- "magazine = Magazine(\"TIME\", \"0040-781X\", 145, 23)\n",
- "cd = CD(\"BACH CANTATAS\", \"Johann Sebastian Bach\",\"ARCHIV\", \"D120541\")\n",
- "book.print_()\n",
- "print \"\\tid: \" , book.id() \n",
- "magazine.print_()\n",
- "print \"\\tid: \" , magazine.id() \n",
- "cd.print_()\n",
- "print \"\\tid: \" , cd.id()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The C++ Programming Language by Bjarne Stroustrup\n",
- "\tid: 0-201-53992-6\n",
- "TIME Magazine, Vol. 145 , No. 23\n",
- "\tid: 0040-781X\n",
- "BACH CANTATAS , Johann Sebastian Bach\n",
- "\tid: ARCHIV D120541\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch13.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch13.ipynb
deleted file mode 100644
index 5261a124..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch13.ipynb
+++ /dev/null
@@ -1,361 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:ca23888d127466a3b56ff597f51112b17faee9e92f25f41708b3d49e2ac19a08"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def swap(x,y):\n",
- " x[0],y[0] = y[0],x[0]\n",
- "\n",
- "m = [22]\n",
- "n = [66]\n",
- "swap(m, n)\n",
- "s1 = [\"John Adams\"]\n",
- "s2 = [\"James Madison\"]\n",
- "swap(s1, s2)\n",
- "x = [22/7]\n",
- "y = [-3]\n",
- "swap(x, y)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def sort(v,n):\n",
- " for i in range(1,n):\n",
- " for j in range(n-i):\n",
- " if v[j] > v[j+1]:\n",
- " v[j],v[j+1] = v[j+1],v[j]\n",
- "\n",
- "def print_( v,n):\n",
- " for i in range(n):\n",
- " print v[i],\n",
- " print \"\"\n",
- " \n",
- "a = [55, 33, 88, 11, 44, 99, 77, 22, 66]\n",
- "print_(a,9);\n",
- "sort(a,9)\n",
- "print_(a,9)\n",
- "s = [\"Tom\", \"Hal\", \"Dan\", \"Bob\", \"Sue\", \"Ann\", \"Gus\"]\n",
- "print_(s,7)\n",
- "sort(s,7)\n",
- "print_(s,7)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55 33 88 11 44 99 77 22 66 \n",
- "11 22 33 44 55 66 77 88 99 \n",
- "Tom Hal Dan Bob Sue Ann Gus \n",
- "Ann Bob Dan Gus Hal Sue Tom \n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Stack:\n",
- " def __init__(self,s=100):\n",
- " self.size = s\n",
- " self.top = -1\n",
- " self.data = []\n",
- " def push(self,x):\n",
- " self.data.append( x)\n",
- " self.top += 1\n",
- " def pop(self):\n",
- " d = self.data[self.top]\n",
- " self.data.pop(self.top)\n",
- " self.top -= 1\n",
- " return d \n",
- " def isEmpty(self):\n",
- " return self.top == -1\n",
- " def isFull(self):\n",
- " return self.top==self.size-1\n",
- " \n",
- "intStack1 = Stack(5)\n",
- "intStack2 = Stack(10)\n",
- "charStack = Stack(8)\n",
- "intStack1.push(77)\n",
- "charStack.push('A')\n",
- "intStack2.push(22)\n",
- "charStack.push('E')\n",
- "charStack.push('K')\n",
- "intStack2.push(44)\n",
- "print intStack2.pop() \n",
- "print intStack2.pop() \n",
- "if (intStack2.isEmpty()):\n",
- " print \"intStack2 is empty.\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44\n",
- "22\n",
- "intStack2 is empty.\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Vector:\n",
- " def __init__(self,n=None):\n",
- " if type(n) == int :\n",
- " self.size = n\n",
- " self.data = []\n",
- " else:\n",
- " self.size = 8\n",
- " self.data = []\n",
- " for i in range(self.size):\n",
- " self.data.append(0)\n",
- "v = Vector()\n",
- "v.data[5] = 127\n",
- "w = v\n",
- "x = Vector(3)\n",
- "print w.size\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "8\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class Vector:\n",
- " def __init__(self,n=None):\n",
- " if type(n) == int :\n",
- " self.size = n\n",
- " self.data = []\n",
- " else:\n",
- " self.size = 8\n",
- " self.data = []\n",
- " for i in range(self.size):\n",
- " self.data.append(0)\n",
- "\n",
- "class Array(Vector):\n",
- " def __init__(self,i,j):\n",
- " Vector.__init__(self,j-i+1)\n",
- " self.i0= i\n",
- " def __setitem__(self,k,v):\n",
- " self.data[k-self.i0] = v\n",
- " def __getitem__(self,i):\n",
- " return self.data[self.i0-i]\n",
- " def firstSubscript(self):\n",
- " return self.i0\n",
- " def lastSubscript(self):\n",
- " return self.i0+self.size-1\n",
- "\n",
- "x = Array(1,3)\n",
- "x.data[0] = 3.14159\n",
- "x.data[1] = 0.08516\n",
- "x.data[2] = 5041.92\n",
- "print \"x.size() = \" , x.size \n",
- "print \"x.firstSubscript() = \" , x.firstSubscript() \n",
- "print \"x.lastSubscript() = \" , x.lastSubscript()\n",
- "for i in range(0,3):\n",
- " print \"x[\" , i + 1 , \"] = \" , x.data[i]\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x.size() = 3\n",
- "x.firstSubscript() = 1\n",
- "x.lastSubscript() = 3\n",
- "x[ 1 ] = 3.14159\n",
- "x[ 2 ] = 0.08516\n",
- "x[ 3 ] = 5041.92\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "class Matrix:\n",
- " def __init__(self,r=1,c=1):\n",
- " self.rows = r\n",
- " self.columns = c\n",
- " self.vector = []\n",
- " for i in range(r):\n",
- " a = []\n",
- " for j in range(c):\n",
- " a.append(0)\n",
- " self.vector.append(a)\n",
- "\n",
- "a = Matrix(2,3)\n",
- "a.vector[0][0] = 0.0\n",
- "a.vector[0][1] = 0.1\n",
- "a.vector[0][2] = 0.2\n",
- "a.vector[1][0] = 1.0\n",
- "a.vector[1][1] = 1.1\n",
- "a.vector[1][2] = 1.2\n",
- "\n",
- "print \"The matrix a has \" , a.rows , \" rows and \", a.columns , \" columns:\"\n",
- "for i in range(2):\n",
- " for j in range(3):\n",
- " print a.vector[i][j] ,\n",
- " print \"\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The matrix a has 2 rows and 3 columns:\n",
- "0.0 0.1 0.2 \n",
- "1.0 1.1 1.2 \n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "friends = []\n",
- "\n",
- "\n",
- "friends.insert(0,\"Bowen, Van\")\n",
- "friends.insert(0,\"Dixon, Tom\")\n",
- "friends.insert(0,\"Mason, Joe\")\n",
- "friends.insert(0,\"White, Ann\")\n",
- "\n",
- "for i in range(len(friends)):\n",
- " print friends[i], '->' ,\n",
- "print '*'\n",
- "friends.remove('White, Ann')\n",
- "print \"Removed: \" , 'White, Ann'\n",
- "for i in range(len(friends)):\n",
- " print friends[i], '->' ,\n",
- "print '*'\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "White, Ann -> Mason, Joe -> Dixon, Tom -> Bowen, Van -> *\n",
- "Removed: White, Ann\n",
- "Mason, Joe -> Dixon, Tom -> Bowen, Van -> *\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "friends = []\n",
- "friends.append(\"Bowen, Van\")\n",
- "friends.append(\"Dixon, Tom\")\n",
- "friends.append(\"Mason, Joe\")\n",
- "friends.append(\"White, Ann\")\n",
- "for i in range(len(friends)):\n",
- " print friends[i], '->' ,\n",
- "print '*'\n",
- "\n",
- "friends.remove(\"Mason, Joe\")\n",
- "friends[1] = \"Davis, Jim\"\n",
- "for i in range(len(friends)):\n",
- " print friends[i], '->' ,\n",
- "print '*'\n",
- "\n",
- "friends.insert(2,\"Morse, Sam\")\n",
- "for i in range(len(friends)):\n",
- " print friends[i], '->' ,\n",
- "print '*'\n",
- "\n",
- "for i in range(len(friends)):\n",
- " print \"[\" ,friends[i] , \"]\" , '->' ,\n",
- "print '*'\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Bowen, Van -> Dixon, Tom -> Mason, Joe -> White, Ann -> *\n",
- "Bowen, Van -> Davis, Jim -> White, Ann -> *\n",
- "Bowen, Van -> Davis, Jim -> Morse, Sam -> White, Ann -> *\n",
- "[ Bowen, Van ] -> [ Davis, Jim ] -> [ Morse, Sam ] -> [ White, Ann ] -> *\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch14.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch14.ipynb
deleted file mode 100644
index 6d15626d..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch14.ipynb
+++ /dev/null
@@ -1,538 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:81aae5e06fff42b82bf693bbb18c1546fd839925af34574cc2f25fff08c2a482"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def load(v):\n",
- " v.append(\"Japan\")\n",
- " v.append(\"Italy\")\n",
- " v.append(\"Spain\")\n",
- " v.append(\"Egypt\")\n",
- " v.append(\"Chile\")\n",
- " v.append(\"Zaire\")\n",
- " v.append(\"Nepal\")\n",
- " v.append(\"Kenya\")\n",
- "\n",
- "def print_(v):\n",
- " for i in v:\n",
- " print i\n",
- "\n",
- "v = []\n",
- "load(v)\n",
- "print_(v)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Japan\n",
- "Italy\n",
- "Spain\n",
- "Egypt\n",
- "Chile\n",
- "Zaire\n",
- "Nepal\n",
- "Kenya\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def load(v):\n",
- " v.append(\"Japan\")\n",
- " v.append(\"Italy\")\n",
- " v.append(\"Spain\")\n",
- " v.append(\"Egypt\")\n",
- " v.append(\"Chile\")\n",
- " v.append(\"Zaire\")\n",
- " v.append(\"Nepal\")\n",
- " v.append(\"Kenya\")\n",
- "\n",
- "def print_(v):\n",
- " for i in v:\n",
- " print i\n",
- "\n",
- "v = []\n",
- "load(v)\n",
- "print_(v)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Japan\n",
- "Italy\n",
- "Spain\n",
- "Egypt\n",
- "Chile\n",
- "Zaire\n",
- "Nepal\n",
- "Kenya\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def load(v):\n",
- " v.append(\"Japan\")\n",
- " v.append(\"Italy\")\n",
- " v.append(\"Spain\")\n",
- " v.append(\"Egypt\")\n",
- " v.append(\"Chile\")\n",
- " v.append(\"Zaire\")\n",
- " v.append(\"Nepal\")\n",
- " v.append(\"Kenya\")\n",
- "\n",
- "def print_(v):\n",
- " for i in range(len(v)):\n",
- " print v[i]\n",
- "\n",
- "v = []\n",
- "load(v)\n",
- "print_(v)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Japan\n",
- "Italy\n",
- "Spain\n",
- "Egypt\n",
- "Chile\n",
- "Zaire\n",
- "Nepal\n",
- "Kenya\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def load(v):\n",
- " v.append(\"Japan\")\n",
- " v.append(\"Italy\")\n",
- " v.append(\"Spain\")\n",
- " v.append(\"Egypt\")\n",
- " v.append(\"Chile\")\n",
- " v.append(\"Zaire\")\n",
- " v.append(\"Nepal\")\n",
- " v.append(\"Kenya\")\n",
- "\n",
- "def print_(v):\n",
- " for i in v:\n",
- " print i\n",
- "\n",
- "v = []\n",
- "load(v)\n",
- "v.sort()\n",
- "print_(v)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Chile\n",
- "Egypt\n",
- "Italy\n",
- "Japan\n",
- "Kenya\n",
- "Nepal\n",
- "Spain\n",
- "Zaire\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def load(v):\n",
- " v.append(\"Japan\")\n",
- " v.append(\"Italy\")\n",
- " v.append(\"Spain\")\n",
- " v.append(\"Egypt\")\n",
- " v.append(\"Chile\")\n",
- " v.append(\"Zaire\")\n",
- " v.append(\"Nepal\")\n",
- " v.append(\"Kenya\")\n",
- "\n",
- "def print_(v):\n",
- " for i in v:\n",
- " print i\n",
- "\n",
- "v = []\n",
- "load(v)\n",
- "w = v\n",
- "print_(v)\n",
- "print_(w)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Japan\n",
- "Italy\n",
- "Spain\n",
- "Egypt\n",
- "Chile\n",
- "Zaire\n",
- "Nepal\n",
- "Kenya\n",
- "Japan\n",
- "Italy\n",
- "Spain\n",
- "Egypt\n",
- "Chile\n",
- "Zaire\n",
- "Nepal\n",
- "Kenya\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def load(v):\n",
- " v.append(\"Japan\")\n",
- " v.append(\"Italy\")\n",
- " v.append(\"Spain\")\n",
- " v.append(\"Egypt\")\n",
- " v.append(\"Chile\")\n",
- " v.append(\"Zaire\")\n",
- " v.append(\"Nepal\")\n",
- " v.append(\"Kenya\")\n",
- "\n",
- "def print_(v):\n",
- " for i in v:\n",
- " print i\n",
- "\n",
- "v = []\n",
- "load(v)\n",
- "v.sort()\n",
- "print_(v)\n",
- "print \"v.front() = \" + v[0]\n",
- "print \"v.back() = \" + v.pop(-1) \n",
- "print \"v.back() = \" + v.pop(-1) \n",
- "print \"v.back() = \" + v[-1] \n",
- "print_(v)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Chile\n",
- "Egypt\n",
- "Italy\n",
- "Japan\n",
- "Kenya\n",
- "Nepal\n",
- "Spain\n",
- "Zaire\n",
- "v.front() = Chile\n",
- "v.back() = Zaire\n",
- "v.back() = Spain\n",
- "v.back() = Nepal\n",
- "Chile\n",
- "Egypt\n",
- "Italy\n",
- "Japan\n",
- "Kenya\n",
- "Nepal\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def load(v):\n",
- " v.append(\"Japan\")\n",
- " v.append(\"Italy\")\n",
- " v.append(\"Spain\")\n",
- " v.append(\"Egypt\")\n",
- " v.append(\"Chile\")\n",
- " v.append(\"Zaire\")\n",
- " v.append(\"Nepal\")\n",
- " v.append(\"Kenya\")\n",
- "\n",
- "def print_(v):\n",
- " for i in v:\n",
- " print i\n",
- "\n",
- "v = []\n",
- "load(v)\n",
- "v.sort()\n",
- "print_(v)\n",
- "v.pop(2) # removes Italy\n",
- "v.pop(-2) # removes Spain\n",
- "print_(v)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Chile\n",
- "Egypt\n",
- "Italy\n",
- "Japan\n",
- "Kenya\n",
- "Nepal\n",
- "Spain\n",
- "Zaire\n",
- "Chile\n",
- "Egypt\n",
- "Japan\n",
- "Kenya\n",
- "Nepal\n",
- "Zaire\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def load(v):\n",
- " v.append(\"Japan\")\n",
- " v.append(\"Italy\")\n",
- " v.append(\"Spain\")\n",
- " v.append(\"Egypt\")\n",
- " v.append(\"Chile\")\n",
- " v.append(\"Zaire\")\n",
- " v.append(\"Nepal\")\n",
- " v.append(\"Kenya\")\n",
- "\n",
- "def print_(v):\n",
- " for i in v:\n",
- " print i\n",
- "v = []\n",
- "load(v)\n",
- "v.sort()\n",
- "print_(v)\n",
- "r = []\n",
- "for i in range(2,len(v)-2):\n",
- " r.append(v[i]) #removes the segment Italy..Nepal\n",
- " \n",
- "for i in r:\n",
- " v.remove(i)\n",
- "print_(v)\n",
- "v.insert(2,\"India\")\n",
- "print_(v)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Chile\n",
- "Egypt\n",
- "Italy\n",
- "Japan\n",
- "Kenya\n",
- "Nepal\n",
- "Spain\n",
- "Zaire\n",
- "Chile\n",
- "Egypt\n",
- "Spain\n",
- "Zaire\n",
- "Chile\n",
- "Egypt\n",
- "India\n",
- "Spain\n",
- "Zaire\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def load(v):\n",
- " v.append(\"Japan\")\n",
- " v.append(\"Italy\")\n",
- " v.append(\"Spain\")\n",
- " v.append(\"Egypt\")\n",
- " v.append(\"Chile\")\n",
- " v.append(\"Zaire\")\n",
- " v.append(\"Nepal\")\n",
- " v.append(\"Kenya\")\n",
- " v.append(\"India\")\n",
- " v.append(\"China\")\n",
- " v.append(\"Malta\")\n",
- " v.append(\"Syria\")\n",
- "\n",
- "def print_(v):\n",
- " for i in v:\n",
- " print i\n",
- "\n",
- "v = []\n",
- "load(v)\n",
- "print_(v)\n",
- "egypt = v.index('Egypt')\n",
- "malta = v.index('Malta')\n",
- "w = v[egypt:malta+1]\n",
- "w.sort()\n",
- "print_(w)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Japan\n",
- "Italy\n",
- "Spain\n",
- "Egypt\n",
- "Chile\n",
- "Zaire\n",
- "Nepal\n",
- "Kenya\n",
- "India\n",
- "China\n",
- "Malta\n",
- "Syria\n",
- "Chile\n",
- "China\n",
- "Egypt\n",
- "India\n",
- "Kenya\n",
- "Malta\n",
- "Nepal\n",
- "Zaire\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def copy(v,x,n):\n",
- " for i in x:\n",
- " v.append(i)\n",
- "\n",
- "def projection(v,b):\n",
- " v_size = len(v)\n",
- " w = []\n",
- " for i in range(0,v_size):\n",
- " if b[i]:\n",
- " w.append(v[i])\n",
- " return w\n",
- "\n",
- "def print_(v):\n",
- " for i in v:\n",
- " print i,\n",
- " print ''\n",
- "\n",
- "x = [ 22.2, 33.3, 44.4, 55.5, 66.6, 77.7, 88.8, 99.9 ]\n",
- "v = []\n",
- "copy(v, x, 8)\n",
- "y = [ False, True, False, True, True, True, False, True ]\n",
- "b = []\n",
- "copy(b, y, 8)\n",
- "w = projection(v, b)\n",
- "print_(v)\n",
- "print_(w)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "22.2 33.3 44.4 55.5 66.6 77.7 88.8 99.9 \n",
- "33.3 55.5 66.6 77.7 99.9 \n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch15.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch15.ipynb
deleted file mode 100644
index 869f8b29..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch15.ipynb
+++ /dev/null
@@ -1,1575 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:63b02b86d37296507c195a23c5c84302645481c443c7f5e7bd4fa711e72942f7"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 15 : Heat Transfer"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.1 page no : 792"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "t1 = 60.; \t\t\t#0C\n",
- "t2 = 35.; \t\t\t#0C\n",
- "L = 0.22; \t\t\t#m\n",
- "k = 0.51; \t\t\t#W/m 0C\n",
- "\n",
- "# Calculations\n",
- "q = k*(t1-t2)/L;\n",
- "\n",
- "# Results\n",
- "print (\"Rate of heat transfer per m**2 = %.3f\")% (q), (\"W/m**2\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Rate of heat transfer per m**2 = 57.955 W/m**2\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.2 page no : 792"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "t1 = 1325.; \t\t\t#0C\n",
- "t2 = 1200.; \t\t\t#0C\n",
- "t3 = 25.; \t\t\t #0C\n",
- "L = 0.32; \t\t\t #m\n",
- "k_A = 0.84; \t\t\t#W/m 0C\n",
- "k_B = 0.16; \t\t\t#W/m 0C\n",
- "\n",
- "# Calculations and Results\n",
- "L_A = (t1-t2)*k_A/k_B*L/((t1-t3)-(t1-t2)*k_A/k_A+(t1-t2)*k_A/k_B); \t\t\t#m\n",
- "print (\"(i)L_A = %.3f\")% (L_A*1000), (\"mm\")\n",
- "\n",
- "L_B = 0.32-L_A; \t\t\t#m\n",
- "print (\"L_B %.3f\")% (L_B*1000), (\"mm\")\n",
- "\n",
- "q = (t1-t2)/L_A*k_A;\n",
- "print (\"(ii) Heat loss per unit area = %.3f\")% (q), (\"W/m**2\")\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i)L_A = 114.676 mm\n",
- "L_B 205.324 mm\n",
- "(ii) Heat loss per unit area = 915.625 W/m**2\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.3 page no : 793"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "L_A = 0.1; \t\t\t#m\n",
- "L_B = 0.04; \t\t#m\n",
- "k_A = 0.7; \t\t\t#W/m 0C\n",
- "k_B = 0.48; \t\t#W/m 0C\n",
- "k_C = 0.065; \t\t#W/m 0C\n",
- "\n",
- "# Calculations\n",
- "#Q2 = 0.2*Q1\n",
- "L_C = 0.8*((L_A/k_A) + (L_B/k_B))*k_C/0.2;\n",
- "\n",
- "# Results\n",
- "print (\"thickness of rock wool insulation = %.3f\")% (L_C*1000), (\"mm\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "thickness of rock wool insulation = 58.810 mm\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.4 page no : 794"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Variables\n",
- "L_A = 0.2; \t\t\t#m\n",
- "L_C = 0.006; \t\t#m\n",
- "L_D = 0.1; \t\t\t#m\n",
- "t1 = 1150.; \t\t#0C\n",
- "t2 = 40.; \t\t\t#0C\n",
- "dt = t1-t2;\n",
- "k_A = 1.52; \t\t#W/m 0C\n",
- "k_B = 0.138; \t\t#W/m 0C\n",
- "k_D = 0.138; \t\t#W/m 0C\n",
- "k_C = 45.; \t\t\t#W/m 0C\n",
- "q = 400.; \t\t\t#W/m**2\n",
- "\n",
- "# Calculations and Results\n",
- "print (\"(i) The value of x = (L_C): \")\n",
- "L_B = ((t1-t2)/q - (L_A/k_A+L_C/k_C+L_D/k_D))*k_B*1000;\n",
- "print (\"L_B = %.3f\")% (L_B), (\"mm\")\n",
- "\n",
- "\n",
- "t_so = q*L_D/k_D + t2;\n",
- "print (\"(ii) Temperature of the outer surface of the steel plate t_so = %.3f\")% (t_so), (\"0C\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) The value of x = (L_C): \n",
- "L_B = 264.774 mm\n",
- "(ii) Temperature of the outer surface of the steel plate t_so = 329.855 0C\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.5 page no : 795"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "k_A = 150.; \t\t\t#W/m 0C\n",
- "k_B = 30.; \t\t\t#W/m 0C\n",
- "k_C = 65.; \t\t\t#W/m 0C\n",
- "k_D = 50.; \t\t\t#W/m 0C\n",
- "L_A = 0.03; \t\t\t#m\n",
- "L_B = 0.08; \t\t\t#m\n",
- "L_C = L_B;\n",
- "L_D = 0.05; \t\t\t#m\n",
- "A_A = 0.01; \t\t\t#m**2\n",
- "A_B = 0.003; \t\t\t#m**2\n",
- "A_C = 0.007; \t\t\t#m**2\n",
- "A_D = 0.01; \t\t\t#m**2\n",
- "t1 = 400.; \t\t\t#0C\n",
- "t4 = 60.; \t\t\t#0C\n",
- "\n",
- "# Calculations\n",
- "R_thA = L_A/k_A/A_A;\n",
- "R_thB = L_B/k_B/A_B;\n",
- "R_thC = L_C/k_C/A_C;\n",
- "R_thD = L_D/k_D/A_D;\n",
- "\n",
- "R_th_eq = R_thB*R_thC/(R_thB+R_thC);\n",
- "R_th_total = R_thA+R_th_eq+R_thD;\n",
- "Q = (t1-t4)/R_th_total;\n",
- "\n",
- "# Results\n",
- "print (\"heat flow rate = %.3f\")% (Q), (\"W\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "heat flow rate = 1274.415 W\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.6 page no : 796"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "L = 0.012; \t\t\t#m\n",
- "t_hf = 95.; \t\t\t#0C\n",
- "t_cf = 15.; \t\t\t#0C\n",
- "k = 50.; \t\t\t#W/m 0C\n",
- "h_hf = 2850.; \t\t\t#W/m**2 0C\n",
- "h_cf = 10.; \t\t\t#W/m**2 0C\n",
- "\n",
- "# Calculations and Results\n",
- "print (\"(i) Rate of heat loss per m**2 of the tank surface area\")\n",
- "U = 1./(1./h_hf + L/k + 1./h_cf);\n",
- "A = 1.; \t\t\t #m**2\n",
- "q = U*A*(t_hf-t_cf);\n",
- "print (\"q = %.3f\")% (q), (\"W/m**2\")\n",
- "\n",
- "t2 = q/h_cf+t_cf;\n",
- "print (\"(ii) Temperature of the outside surface of the tank = %.3f\")% (t2), (\"0C\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) Rate of heat loss per m**2 of the tank surface area\n",
- "q = 795.301 W/m**2\n",
- "(ii) Temperature of the outside surface of the tank = 94.530 0C\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.7 page no : 797"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Variables\n",
- "L_A = 0.003; \t\t\t#m\n",
- "L_B = 0.05; \t\t\t#m\n",
- "L_C = L_A;\n",
- "k_A = 46.5; \t\t\t#W/m 0C\n",
- "k_B = 0.046; \t\t\t#W/m 0C\n",
- "k_C = k_A;\n",
- "h0 = 11.6; \t\t\t#W/m**2 0C\n",
- "hi = 14.5; \t\t\t#W/m**2 0C\n",
- "t0 = 25.; \t\t\t#0C\n",
- "ti = 6.; \t\t\t#0C\n",
- "\n",
- "# Calculations and Results\n",
- "A = 0.5*0.5*2+0.5*1*4; \t\t\t#m**2\n",
- "\n",
- "Q = A*(t0-ti)/(1/h0 + L_A/k_A + L_B/k_B + L_C/k_C + 1/hi);\n",
- "print (\"(i) The rate of removal of heat = %.3f\")% (Q), (\"W\")\n",
- "\n",
- "t1 = t0-Q/h0/A;\n",
- "print (\"(ii) The temperature at the outer surface of the metal sheet = %.3f\")% (t1), (\"0C\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) The rate of removal of heat = 38.237 W\n",
- "(ii) The temperature at the outer surface of the metal sheet = 23.681 0C\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.8 page no : 798"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Varaible Declaration\n",
- "L_A = 0.25; \t\t#m\n",
- "import math \n",
- "L_B = 0.1; \t\t\t#m\n",
- "L_C = 0.15; \t\t#m\n",
- "k_A = 1.65; \t\t#W/m \u00b0C\n",
- "k_C = 9.2; \t\t\t#W/m \u00b0C\n",
- "t_hf = 1250.; \t\t#\u00b0C\n",
- "t1 = 1100.; \t\t\t#\u00b0C\n",
- "t_cf = 25.; \t\t\t#\u00b0C\n",
- "h_hf = 25.; \t\t\t#W/m**2 \u00b0C\n",
- "h_cf = 12.; \t\t\t#W/m**2 \u00b0C\n",
- "\n",
- "\n",
- "#Calculations and Results\n",
- "q = h_hf*(t_hf-t1);\n",
- "l = 0.0355\n",
- "k_B = L_B/l #((t_hf-t_cf)/q-1/h_hf-L_A/k_A-L_C/k_C-1/h_cf);\n",
- "print (\" (i)Thermal conductivity,k = %.3f\")% (k_B), (\"W/m**2 \u00b0C\")\n",
- "\n",
- "\n",
- "R_th_total = 1./h_hf+L_A/k_A+L_B/k_B+L_C/k_C+1./h_cf;\n",
- "U = 1/R_th_total\n",
- "print (\"(ii) The overall transfer coefficient = %.2f\")% (U), (\"W/m**2 \u00b0C\")\n",
- "\n",
- "\n",
- "print (\"(iii) All surface temperature \")\n",
- "\n",
- "print (\"t1 = %.3f\")% (t1),(\"\u00b0C\")\n",
- "\n",
- "t2 = t1-q*L_A/k_A;\n",
- "print (\"t2 = %.3f\")% (t2), (\"\u00b0C\")\n",
- "\n",
- "t3 = t2-q*L_B/k_B;\n",
- "print (\"t3 = %.3f\")% (t3), (\"\u00b0C\")\n",
- "\n",
- "t4 = t3-q*L_C/k_C;\n",
- "print (\"t4 = %.3f\")% (t4), (\"\u00b0C\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " (i)Thermal conductivity,k = 2.817 W/m**2 \u00b0C\n",
- "(ii) The overall transfer coefficient = 3.06 W/m**2 \u00b0C\n",
- "(iii) All surface temperature \n",
- "t1 = 1100.000 \u00b0C\n",
- "t2 = 531.818 \u00b0C\n",
- "t3 = 398.693 \u00b0C\n",
- "t4 = 337.552 \u00b0C\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.9 page no : 802"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "# Variables\n",
- "r1 = 0.01; \t\t\t#m\n",
- "r2 = 0.02; \t\t\t#m\n",
- "r3 = 0.05; \t\t\t#m\n",
- "t1 = 600.; \t\t\t#0C\n",
- "t3 = 1000.; \t\t#0C\n",
- "k_B = 0.2; \t\t\t#W/m 0C\n",
- "\n",
- "# Calculations\n",
- "q = 2*math.pi*(t1-t3)/(math.log(r3/r2)/k_B);\n",
- "\n",
- "# Results\n",
- "print (\"Heat transfer per metre of length = %.3f\")% (q), (\"W/m\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Heat transfer per metre of length = -548.576 W/m\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.10 page no : 803"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "# Variables\n",
- "r1 = 0.06; \t\t\t#m\n",
- "r2 = 0.12; \t\t\t#m\n",
- "r3 = 0.16; \t\t\t#m\n",
- "k_A = 0.24; \t\t\t#W/m 0C\n",
- "k_B = 0.4; \t\t\t#W/m 0C\n",
- "h_hf = 60.; \t\t\t#W/m**2 0C\n",
- "h_cf = 12.; \t\t\t#W/m**2 0C\n",
- "t_hf = 65.; \t\t\t#0C\n",
- "t_cf = 20.; \t\t\t#0C\n",
- "L = 60.; \t\t\t#m\n",
- "\n",
- "# Calculations\n",
- "Q = 2*math.pi*L*(t_hf-t_cf)/(1/h_hf/r1 + math.log(r2/r1)/k_A + math.log(r3/r2)/k_B + 1/h_cf/r3);\n",
- "\n",
- "# Results\n",
- "print (\"Rate of heat loss = %.3f\")% (Q), (\"W\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Rate of heat loss = 3850.402 W\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.11 page no : 804"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "r1 = 0.06; \t\t\t#m\n",
- "r2 = 0.08; \t\t\t#m\n",
- "k_A = 42.; \t\t\t#W/m 0C\n",
- "k_B = 0.8; \t\t\t#W/m 0C\n",
- "t_hf = 150.; \t\t\t#0C\n",
- "t_cf = 20.; \t\t\t#0C\n",
- "h_hf = 100.; \t\t\t#W/m**2 0C\n",
- "h_cf = 30.; \t\t\t#W/m**2 0C\n",
- "r3 = 0.105; \t\t\t#m\n",
- "\n",
- "# Calculations\n",
- "thickness = (r3-r2)*1000; \t\t\t#mm\n",
- "\n",
- "# Results\n",
- "print (\"Thickness of insulation = \"), (thickness), (\"mm\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Thickness of insulation = 25.0 mm\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.12 page no : 807"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Variables\n",
- "r2 = 0.7; \t\t\t#m\n",
- "r1 = 0.61; \t\t\t#m\n",
- "dt = 220.; \t\t\t#dt = t1-t2; 0C\n",
- "k = 0.083; \t\t\t#W/m 0C\n",
- "\n",
- "# Calculations\n",
- "Q = dt/((r2-r1)/(4*math.pi*k*r1*r2));\n",
- "\n",
- "# Results\n",
- "print (\"Rate of heat leakage = %.3f\")% (Q), (\"W\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Rate of heat leakage = 1088.669 W\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.13 page no : 811"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "r1 = 0.001; \t\t\t#m\n",
- "r2 = 0.0018; \t\t\t#m\n",
- "k = 0.12; \t\t\t#W/m 0C\n",
- "h0 = 35.; \t\t\t#W/m**2 0C\n",
- "\n",
- "# Calculations\n",
- "rc = k/h0;\n",
- "thickness = (rc-r1)*10**3; \t\t\t#mm\n",
- "increase = (1/(math.log(rc/r1)/k + 1/h0/rc)-1/(math.log(r2/r1)/k + 1/h0/r2))/(1/(math.log(r2/r1)/k + 1/h0/r2))*100;\n",
- "\n",
- "# Results\n",
- "print (\"Critical thickness of insulation = %.3f\")% (thickness), (\"mm\")\n",
- "\n",
- "print (\"Percentage change in heat transfer rate = %.3f\")% (increase), (\"%\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Critical thickness of insulation = 2.429 mm\n",
- "Percentage change in heat transfer rate = 11.666 %\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.14 page no : 813"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Variables\n",
- "A = 1*1.5; \t\t\t#m**2\n",
- "ts = 300.; \t\t\t#0C\n",
- "tf = 20.; \t\t\t#0C\n",
- "h = 20.; \t\t\t#W/m**2 0C\n",
- "\n",
- "# Calculations\n",
- "Q = h*A*(ts-tf)/10**3; \t\t\t#kW\n",
- "\n",
- "# Results\n",
- "print (\"Rate of heat transfer = \"), (Q), (\"kW\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Rate of heat transfer = 8.4 kW\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.15 page no : 813"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "# Variables\n",
- "d = 0.0015; \t\t\t#m\n",
- "l = 0.15; \t\t\t#m\n",
- "A = math.pi*d*l;\n",
- "ts = 120.; \t\t\t#0C\n",
- "tf = 100.; \t\t\t#0C\n",
- "h = 4500.; \t\t\t#W/m**2 0C\n",
- "\n",
- "# Calculations\n",
- "Q = h*A*(ts-tf);\n",
- "\n",
- "# Results\n",
- "print (\"Electric power to be supplied = %.3f\")% (Q), (\"W\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Electric power to be supplied = 63.617 W\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.16 page no : 814"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "D = 0.045; \t\t\t#m\n",
- "l = 3.2; \t\t\t#m\n",
- "u = 0.78; \t\t\t#m/s\n",
- "k = 0.66; \t\t\t#W/m K\n",
- "v = 0.478*10**(-6); \t\t\t#m**2/s\n",
- "Pr = 2.98;\n",
- "tw = 70.; \t\t\t#0C\n",
- "tf = 50.; \t\t\t#0C\n",
- "\n",
- "# Calculations\n",
- "A = math.pi*D*l;\n",
- "Re = D*u/v;\n",
- "h = 0.023*(Re)**0.8*(Pr)**0.4/D*k;\n",
- "Q = h*A*(tw-tf)/10**3;\n",
- "\n",
- "# Results\n",
- "print (\"Heat transfer co-efficient = %.3f\")% (h), (\"W/m**2 K\")\n",
- "\n",
- "print (\"Rate of heat transfer = %.3f\")% (Q), (\"kW\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Heat transfer co-efficient = 4078.018 W/m**2 K\n",
- "Rate of heat transfer = 36.897 kW\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.17 page no : 814"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "rho = 983.2; \t\t\t#kg/m**2\n",
- "cp = 4.187; \t\t\t#kJ/kg K\n",
- "k = 0.659; \t\t\t#W/m 0C\n",
- "v = 0.478*10**(-6); \t\t\t#m**2/s\n",
- "m = 0.5/60; \t\t\t#kg/s\n",
- "D = 0.02; \t\t\t#m\n",
- "ti = 20.; \t\t\t#0C\n",
- "t0 = 50.; \t\t\t#0C\n",
- "ts = 85.; \t\t\t#surface temperature in 0C\n",
- "\n",
- "# Calculations\n",
- "tf = 1./2*(ts+(ti+t0)/2);\n",
- "A = math.pi/4*D**2;\n",
- "u = m/rho/A;\n",
- "Re = D*u/v;\n",
- "\n",
- "#Since Re < 2000, hence the flow is laminar.\n",
- "Nu = 3.65;\n",
- "h = Nu*k/D;\n",
- "tb = (t0+ti)/2;\n",
- "L = m*cp*10**3*(t0-ti)/(ts-tb)/h/D/math.pi;\n",
- "\n",
- "# Results\n",
- "print (\"Length of the tube required for fully developed flow = %.3f\")% (L), (\"m\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Length of the tube required for fully developed flow = 2.770 m\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.18 page no : 825"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "m_h = 0.2; \t\t\t#kg/s\n",
- "m_c = 0.5; \t\t\t#kg/s\n",
- "t_h1 = 75.; \t\t\t#0C\n",
- "t_h2 = 45.; \t\t\t#0C\n",
- "t_c1 = 20.; \t\t\t#0C\n",
- "hi = 650.; \t\t\t#W/m**2 0C\n",
- "h0 = hi;\n",
- "cph = 4.187;\n",
- "cpc = cph\n",
- "\n",
- "# Calculations\n",
- "Q = m_h*cph*(t_h1-t_h2);\n",
- "t_c2 = m_h*cph/cpc*(t_h1-t_h2)/m_c+t_c1;\n",
- "theta = ((t_h1-t_c1)- (t_h2-t_c2))/math.log((t_h1-t_c1)/(t_h2-t_c2)); \t\t\t#Logarithmic mean temperature difference\n",
- "U = hi*h0/(hi+h0);\n",
- "A = Q*10**3/U/theta;\n",
- "\n",
- "# Results\n",
- "print (\"The area of heat exchanger = %.3f\")% (A), (\"m**2\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The area of heat exchanger = 2.655 m**2\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.19 page no : 827"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "t_c1 = 25.; \t\t\t#0C\n",
- "t_c2 = 65.; \t\t\t#0C\n",
- "cph = 1.45; \t\t\t#kJ/kg K\n",
- "m_h = 0.9; \t\t \t#kg/s\n",
- "t_h1 = 230.; \t\t\t#0C\n",
- "t_h2 = 160.; \t\t\t#0C\n",
- "U = 420.; \t \t\t#W/m**2 0C\n",
- "cpc = 4.187; \t\t\t#kJ/kg K\n",
- "\n",
- "# Calculations and Results\n",
- "Q = m_h*cph*(t_h1-t_h2);\n",
- "print (\"(i) The rate of heat transfer = \"), (Q), (\"kJ/s\")\n",
- "\n",
- "m_c = Q/cpc/(t_c2-t_c1);\n",
- "print (\"(ii) The mass flow rate of water = %.3f\")% (m_c), (\"kg/s\")\n",
- "\n",
- "\n",
- "print (\"(iii) The surface area of heat exchanger = \")\n",
- "LMTD = ((t_h1-t_c2)- (t_h2-t_c1))/math.log((t_h1-t_c2)/(t_h2-t_c1)); \t\t\t#math.logarithmic mean temperature difference\n",
- "A = Q*10**3/U/LMTD;\n",
- "print (\"A = %.3f\")% (A), (\"m**2\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) The rate of heat transfer = 91.35 kJ/s\n",
- "(ii) The mass flow rate of water = 0.545 kg/s\n",
- "(iii) The surface area of heat exchanger = \n",
- "A = 1.455 m**2\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.20 page no : 828"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "m_s = 800./60; \t\t\t#kg/s\n",
- "m_c = m_s;\n",
- "m_g = 1350./60; \t\t\t#kg/s\n",
- "m_h = m_g;\n",
- "t_h1 = 650.; \t\t\t#0C\n",
- "t_c1 = 180.; \t\t\t#0C\n",
- "t_c2 = 350.; \t\t\t#0C\n",
- "d = 0.03; \t\t\t#m\n",
- "L = 3.; \t\t\t#m\n",
- "cph = 1.; \t\t\t#kJ/kg K\n",
- "cpc = 2.71; \t\t\t#kJ/kg K\n",
- "h_g = 250.;\n",
- "h_s = 600.;\n",
- "\n",
- "# Calculations\n",
- "t_h2 = round(t_h1-(m_c*cpc*(t_c2-t_c1)/cph/m_h));\n",
- "U = round(h_g*h_s/(h_g+h_s),1);\n",
- "Q = round(m_h*(cph*10**3)*(t_h1-t_h2),1);\n",
- "theta = ((t_h1-t_c2)- (t_h2-t_c1))/math.log((t_h1-t_c2)/(t_h2-t_c1));# logarithmic mean temperature differenceN = Q/U/theta/(math.pi*d*L);\n",
- "\n",
- "\n",
- "# Results\n",
- "print (\"%.1f\")% (theta), (\"C\")\n",
- "\n",
- "N = (6142.5 * 10**3)/(U * 0.2827* theta)\n",
- "print \"number of tubes required = %.0f\" % N\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "244.9 C\n",
- "number of tubes required = 503\n"
- ]
- }
- ],
- "prompt_number": 31
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.21 page no : 829"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "# Variables\n",
- "di = 0.0296; \t\t\t#m\n",
- "d0 = 0.0384; \t\t\t#m\n",
- "U = 4000.; \t\t\t#W/m**2 0C\n",
- "V = 3.; \t\t\t#m/s\n",
- "t_c1 = 24.; \t\t\t#0C\n",
- "x = 0.9;\n",
- "ps = (760-660.)/760*1.0133; \t\t\t#bar\n",
- "t_h1 = 51.; \t\t\t#0C\n",
- "t_h2 = 51.; \t\t\t#0C\n",
- "h_fg = 2592.; \t\t\t#kJ/kg\n",
- "t_c2 = 47.; \t\t\t#0C\n",
- "P = 15.; \t\t\t#MW\n",
- "ssc = 5.; \t\t\t#specific steam consumption in kg/kWh\n",
- "cpc = 4.187; \t\t\t#kJ?kg K\n",
- "rho = 1000.;\n",
- "\n",
- "# Calculations and Results\n",
- "m_s = P*10.**3*ssc/60; \t\t\t#kg/min\n",
- "m_w = m_s*x*h_fg/cpc/(t_c2-t_c1);\n",
- "print (\"(i) Mass of cooling water circulated per minute = %.3f\")% (m_w), (\"kg/min\")\n",
- "\n",
- "\n",
- "Q = m_s*x*h_fg*10**3/60.;\n",
- "\n",
- "theta = ((t_h1-t_c1)- (t_h2-t_c2))/math.log((t_h1-t_c1)/(t_h2-t_c2)); \t\t\t#Logarithmic mean temperature difference\n",
- "A = Q/U/theta;\n",
- "print (\"(ii) Condenser surface area %.3f\")% (A), (\"m**2\")\n",
- "\n",
- "Np = m_w/60*4/math.pi/di**2/V/rho;\n",
- "print (\"(iii) Number of tubes required per pass = %.3f\")% (Np)\n",
- "\n",
- "L = A/math.pi/d0/(2*Np);\n",
- "print (\"(iv) Tube length = %.3f\")% (L), (\"m\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) Mass of cooling water circulated per minute = 30280.059 kg/min\n",
- "(ii) Condenser surface area 1008.737 m**2\n",
- "(iii) Number of tubes required per pass = 244.462\n",
- "(iv) Tube length = 17.102 m\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.22 page no : 831"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "cp = 4.187; \t\t\t#kJ/kg \u00b0C\n",
- "u = 0.596*10**(-3); \t#Ns/m**2\n",
- "k = 0.635; \t\t\t #W/m \u00b0C\n",
- "Pr = 3.93; \n",
- "d = 0.020; \t\t\t#m\n",
- "l = 2.; \t\t\t#m\n",
- "m_c = 10.; \t\t\t#kg/s\n",
- "t_c1 = 17.; \t\t#/\u00b0C\n",
- "t_h1 = 100.; \t\t#\u00b0C\n",
- "t_h2 = 100.; \t\t#\u00b0C\n",
- "rho = 1000.;\n",
- "N = 200.;\n",
- "Np = N/l;\n",
- "h0 = 10.*10**3;\n",
- "\n",
- "# Calculations\n",
- "V = m_c*4/math.pi/d**2/rho/Np;\n",
- "Re = rho*V*d/u;\n",
- "hi = k/d*0.023*(Re)**0.8*(Pr)**0.33;\n",
- "U = hi*h0/(hi+h0);\n",
- "t_c2 = (U*math.pi*d*l*N*91.5 + m_c*cp*10**3*t_c1)/(m_c*cp*10**3 + U*math.pi*d*l*N*0.5);\n",
- "\n",
- "# Results\n",
- "print (\"water exit temperature = %.3f\")% (t_c2), (\"\u00b0C\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "water exit temperature = 71.043 \u00b0C\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.23 page no : 842"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "A = 0.12; \t\t\t#m**2\n",
- "T = 800.; \t\t\t#K\n",
- "a = 5.67*10**(-8);\n",
- "\n",
- "# Calculations and Results\n",
- "Eb = a*A*T**4;\n",
- "print (\"(i) The total rate of energy emission = %.3f\")% (Eb),(\"W\")\n",
- "\n",
- "Ibn = a*T**4/math.pi;\n",
- "print (\"(ii) The intensity of normal radiation = %.3f\")% (Ibn), (\"W/m**2.sr\")\n",
- "\n",
- "wavelength = 2898/T;\n",
- "print (\"(iii) The wavelength of maximum monochromatic emissive power = %.3f\")%(wavelength), (\"\u03bcm\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) The total rate of energy emission = 2786.918 W\n",
- "(ii) The intensity of normal radiation = 7392.531 W/m**2.sr\n",
- "(iii) The wavelength of maximum monochromatic emissive power = 3.623 \u03bcm\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.24 page no : 842"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "wavelength = 0.49; \t\t\t#\u03bcm\n",
- "a = 5.67*10**(-8);\n",
- "\n",
- "# Calculations and Results\n",
- "T = 2898/wavelength;\n",
- "print (\"(i) The surface temperature of the sun %.3f\")% (T), (\"K\")\n",
- "\n",
- "E_sun = a*T**4;\n",
- "print (\"(ii) The heat flux at the surface of the sun = %.3f\")% (E_sun/1E+7), (\"*10^7 W/m**2\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) The surface temperature of the sun 5914.286 K\n",
- "(ii) The heat flux at the surface of the sun = 6.937 *10^7 W/m**2\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.25 page no : 843"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "# Variables\n",
- "T = 2773. \t\t\t#K\n",
- "lambda_ = 1.2 * 10**-6\n",
- "e = 0.9;\n",
- "a = 5.67*10**(-8);\n",
- "\n",
- "# Calculations and Results\n",
- "print (\"(i) Monochromatic emissive power at 1.2 \u03bcm length\")\n",
- "C1 = 0.3742*10**(-15); \t\t\t#W.m**4/m**2\n",
- "C2 = 1.4388*10**(-4); \t\t\t#mK\n",
- "E_lambda_b = C1*lambda_**(-5)/((math.exp(C2/lambda_/T)-1));\n",
- "\n",
- "print (\"E_lambda_b = %.2e\")% (E_lambda_b)\n",
- "\n",
- "lambda_max = 2898/T;\n",
- "print (\"(ii) Wavelength at which the emission is maximum = %.3f\")% (lambda_max), (\"\u03bcm\")\n",
- "\n",
- "E_lambda_b_max = 1.285*10.**(-5)*T**5;\n",
- "print (\"(iii) Maximum emissive power = %.3f\")% (E_lambda_b_max/1E+12), (\"*10^12 W/m**2 per metre length\")\n",
- "\n",
- "Eb = a*T**4;\n",
- "print (\"(iv) Total emissive power = %.3f\")% (Eb/1E+6), (\"*10^6 W/m**2\")\n",
- "\n",
- "E = e*a*T**4;\n",
- "print (\"(v) Total emissive power = %.3f\")% (E/1E+6), (\"*10^6 W/m**2\")\n",
- "\n",
- "# Book answers are wrong. Please calculate them manually."
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) Monochromatic emissive power at 1.2 \u03bcm length\n",
- "E_lambda_b = 3.40e+15\n",
- "(ii) Wavelength at which the emission is maximum = 1.045 \u03bcm\n",
- "(iii) Maximum emissive power = 2.107 *10^12 W/m**2 per metre length\n",
- "(iv) Total emissive power = 3.353 *10^6 W/m**2\n",
- "(v) Total emissive power = 3.017 *10^6 W/m**2\n"
- ]
- }
- ],
- "prompt_number": 40
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.26 page no : 845"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "T1 = 1273.; \t\t\t#K\n",
- "T2 = 773.; \t\t\t#K\n",
- "e1 = 0.42;\n",
- "e2 = 0.72;\n",
- "a = 5.67*10**(-8);\n",
- "\n",
- "# Calculations and Results\n",
- "print (\"(i) When the body is grey with \u03b51 = 0.42\")\n",
- "q = e1*a*(T1**4-T2**4)/10**3; \t\t\t#kW\n",
- "print (\"Heat loss per m2 by radiation = %.3f\")% (q), (\"kW\")\n",
- "print (\"(ii) When the body is not grey\")\n",
- "E_emitted = e1*a*T1**4;\n",
- "E_absorbed = e2*a*(T2)**4;\n",
- "q = (E_emitted-E_absorbed)/10**3;\n",
- "print (\"Heat loss per m2 by radiation = %.3f\")% (q), (\"kW\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) When the body is grey with \u03b51 = 0.42\n",
- "Heat loss per m2 by radiation = 54.036 kW\n",
- "(ii) When the body is not grey\n",
- "Heat loss per m2 by radiation = 47.962 kW\n"
- ]
- }
- ],
- "prompt_number": 28
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.27 page no : 846"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "d = 0.022; \t\t\t#m\n",
- "di = 0.18; \t\t\t#m\n",
- "e1 = 0.62;\n",
- "e2 = 0.82;\n",
- "rho = 7845.; \t\t\t#kg/m**3\n",
- "T1a = 693.; \t\t\t#K; For caseI\n",
- "T1b = 813.; \t\t\t#K; For caseII\n",
- "T2 = 1373.; \t\t\t#K\n",
- "l = 1.; \t\t\t#m\n",
- "a = 5.67*10**(-8); \n",
- "cp = 0.67; \t\t\t#kJ/kg K\n",
- "\n",
- "# Calculations\n",
- "A1 = math.pi*d*l;\n",
- "A2 = math.pi*di*l;\n",
- "Qi = A1*a*(T1a**4-T2**4)/(1/e1+A1/A2*(1/e2 - 1));\n",
- "Qe = A1*a*(T1b**4-T2**4)/(1/e1+A1/A2*(1/e2 - 1));\n",
- "Qav = -(Qi+Qe)/2;\n",
- "t_h = math.pi/4*d**2*rho*cp*(T1b-T1a)*10**3/Qav;\n",
- "\n",
- "# Results\n",
- "print (\"Time required for the heating operation %.3f\")% (t_h),(\"s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Time required for the heating operation 31.157 s\n"
- ]
- }
- ],
- "prompt_number": 29
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.28 page no : 847"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "r1 = 0.05; \t\t\t#m\n",
- "r2 = 0.1; \t\t\t#m\n",
- "T1 = 400.; \t\t\t#K\n",
- "T2 = 300.; \t\t\t#K\n",
- "e1 = 0.5;\n",
- "e2 = 0.5;\n",
- "F_12 = 1.;\n",
- "\n",
- "# Calculations\n",
- "a = 5.67*10**(-8);\n",
- "#A1/A2 = r1/r2\n",
- "Q = a*(T1**4-T2**4)/((1-e1)/e1+1/F_12+(1-e2)/e2*r1/r2);\n",
- "\n",
- "# Results\n",
- "print (\"heat transfer rate per m2 area by radiation\"), (Q), (\"W/m**2\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "heat transfer rate per m2 area by radiation 396.9 W/m**2\n"
- ]
- }
- ],
- "prompt_number": 30
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.29 page no : 847"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "r1 = 0.05; \t\t\t#m\n",
- "r2 = 0.1; \t\t\t#m\n",
- "r3 = 0.15; \t\t\t#m\n",
- "T1 = 1000.; \t\t\t#K\n",
- "T3 = 500.; \t\t\t#K\n",
- "e1 = 0.05;\n",
- "e2 = e1;\n",
- "e3 = e1;\n",
- "a = 5.67*10**(-8);\n",
- "F_12 = 1.;\n",
- "F_23 = 1.;\n",
- "T2 = 770.; \t\t\t#K\n",
- "\n",
- "# Calculations\n",
- "Q1 = a*(T1**4-T2**4)/(((1-e1)/e1) + 1/F_12 + ((1-e2)/e2)*r1/r2);\n",
- "\n",
- "# Results\n",
- "print (\"Heat flow per m2 area of cylinder 1 = %.3f\")% (Q1), (\"W\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Heat flow per m2 area of cylinder 1 = 1246.381 W\n"
- ]
- }
- ],
- "prompt_number": 31
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.30 page no : 848"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Variables\n",
- "r1 = 0.105; \t\t\t#m\n",
- "r2 = 0.15; \t\t\t#m\n",
- "T1 = 120.; \t\t\t#K\n",
- "T2 = 300.; \t\t\t#K\n",
- "e1 = 0.03;\n",
- "e2 = 0.03;\n",
- "h_fg = 209.35; \t\t\t#kJ/kg\n",
- "a = 5.67*10**(-8);\n",
- "F_12 = 1.;\n",
- "\n",
- "# Calculations\n",
- "Q = 4*math.pi*r1**2*a*(T1**4-T2**4)/( ((1-e1)/e1) + 1./F_12 + ((1-e2)/e2)*r1**2/r2**2);\n",
- "rate = -Q*3600./h_fg/1000;\n",
- "\n",
- "# Results\n",
- "print (\"Rate of evaporation = %.3f\")% (rate), (\"kg/h\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Rate of evaporation = 0.022 kg/h\n"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.31 page no : 849"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "T1 = 91.; \t\t\t#K\n",
- "T2 = 303.; \t\t\t#K\n",
- "e1 = 0.03;\n",
- "e2 = 0.03;\n",
- "d1 = 0.3; \t\t\t#m\n",
- "d2 = 0.45; \t\t\t#m\n",
- "a = 5.67*10**(-8);\n",
- "F_12 = 1.;\n",
- "\n",
- "# Calculations\n",
- "Q = 4*math.pi*(d1/2)**2*a*(T1**4-T2**4)/( ((1-e1)/e1) + 1/F_12 + ((1-e2)/e2)*d1**2/d2**2);\n",
- "\n",
- "# Results\n",
- "print (\"Rate of heat flow = %.3f\")% (Q), (\"W\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Rate of heat flow = -2.810 W\n"
- ]
- }
- ],
- "prompt_number": 33
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 15.32 page no : 850"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Variables\n",
- "e1 = 0.3;\n",
- "e2 = 0.8;\n",
- "e3 = 0.04;\n",
- "A1 = 1.; \t\t\t#m**2\n",
- "A2 = A1;\n",
- "A3 = A1;\n",
- "\n",
- "# Calculations\n",
- "reduction = 1-0.131*0.52;\n",
- "\n",
- "# Results\n",
- "print (\"Percentage reduction in heat flow due to shield = %.3f\")% (reduction), (\"%\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Percentage reduction in heat flow due to shield = 0.932 %\n"
- ]
- }
- ],
- "prompt_number": 34
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch16.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch16.ipynb
deleted file mode 100644
index 8e3b0a97..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch16.ipynb
+++ /dev/null
@@ -1,991 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:9c7b64e157d08f3c7a366b1cf2d1f4de4a886f7dc2475d29ec96bb2b10e8dc31"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 16 : Compressible Flow"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.1 page no : 859"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "V1 = 300.; \t\t\t#m/s\n",
- "p1 = 78.; \t\t\t#kN/m**2\n",
- "T1 = 313.; \t\t\t#K\n",
- "p2 = 117.; \t\t\t#kN/m**2\n",
- "R = 287.; \t\t\t#J/kg K\n",
- "y = 1.4;\n",
- "\n",
- "# Calculations\n",
- "#Let r1 = p1/rho1\n",
- "r1 = R*T1;\n",
- "V2 = math.sqrt(2*(y/(y-1)*r1*(1-(p2/p1)**((y-1)/y)) + V1**2/2));\n",
- "\n",
- "# Results\n",
- "print (\"Velocity of gas at section 2 = %.3f\")% (V2), (\"m/s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity of gas at section 2 = 112.987 m/s\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.2 page no : 861"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "p1 = 35.; \t\t\t#kN/m**2\n",
- "V1 = 30.; \t\t\t#m/s\n",
- "T1 = 423.; \t\t\t#K\n",
- "V2 = 150.; \t\t\t#m/s\n",
- "R = 290.; \t\t\t#J/kg K\n",
- "y = 1.4;\n",
- "\n",
- "# Calculations\n",
- "#Let r1 = p2/p1\n",
- "r1 = R*T1; \n",
- "p2 = p1*(1-((V2**2/2-V1**2/2)*(y-1)/y/r1))**(y/(y-1));\n",
- "print (\"pressure = %.3f\")% (p2), (\"kN/m**2\")\n",
- "\n",
- "T2 = T1*(p2/p1)**((y-1)/y);\n",
- "t2 = T2-273;\n",
- "print (\"temperature = %.3f\")% (t2), (\"\u00b0C\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "pressure = 32.014 kN/m**2\n",
- "temperature = 139.360 \u00b0C\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.3 page no : 866"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "SG = 0.8;\n",
- "rho_oil = 800.; \t\t\t#kg/m**3\n",
- "K_oil = 1.5*10**9; \t\t\t#N/m**2; crude oil\n",
- "K_Hg = 27*10.**9; \t\t\t#N/m**2; Mercury\n",
- "rho_Hg = 13600.; \t\t\t#kg/m**3\n",
- "\n",
- "# Calculations and Results\n",
- "C_oil = math.sqrt(K_oil/rho_oil);\n",
- "print (\"Sonic velocity of crude oil = %.3f\")% (C_oil), (\"m/s\")\n",
- "\n",
- "C_Hg = math.sqrt(K_Hg/rho_Hg)\n",
- "print (\"Sonic velocity of Mercury = %.3f\")% (C_Hg), (\"m/s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Sonic velocity of crude oil = 1369.306 m/s\n",
- "Sonic velocity of Mercury = 1409.005 m/s\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.4 page no : 866"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "T = 228.; \t\t\t#K\n",
- "M = 2.;\n",
- "R = 287.; \t\t\t#Jkg K\n",
- "y = 1.4;\n",
- "\n",
- "# Calculations\n",
- "C = math.sqrt(y*R*T);\n",
- "V = M*C*3600./1000;\n",
- "\n",
- "# Results\n",
- "print (\"Velocity of the plane = %.3f\")% (V), (\"km/h\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity of the plane = 2179.239 km/h\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.5 page no : 868"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "# Variables\n",
- "a = 40*math.pi/180; \t\t\t#Mach angle in radians\n",
- "y = 1.4;\n",
- "R = 287.; \t\t\t#J/kg K\n",
- "T = 288.; \t\t\t#K\n",
- "\n",
- "# Calculations\n",
- "C = math.sqrt(y*R*T);\n",
- "V = C/math.sin(a);\n",
- "\n",
- "# Results\n",
- "print (\"Velocity of bullet = %.3f\")% (V), (\"m/s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity of bullet = 529.217 m/s\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.6 page no : 868"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "p = 88.3; \t\t\t#kN/m**2\n",
- "T = 271.; \t\t\t#K\n",
- "M = 40.*math.pi/180;\n",
- "y = 1.4;\n",
- "R = 287.; \t\t\t#J/kg K\n",
- "\n",
- "# Calculations\n",
- "C = math.sqrt(y*R*T);\n",
- "V = C/math.sin(M);\n",
- "\n",
- "# Results\n",
- "print (\"Velocity of the projectile = %.3f\")% (V), (\"m/s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity of the projectile = 513.360 m/s\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.7 page no : 868"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "h = 1800.; \t\t\t#m\n",
- "T = 277.; \t\t\t#K\n",
- "t = 4.; \t\t\t#s\n",
- "y = 1.4;\n",
- "R = 287.; \t\t\t#J/kg K\n",
- "\n",
- "# Calculations\n",
- "C = math.sqrt(y*R*T);\n",
- "a = (math.cos(C/h*t));\n",
- "V = C/math.sin(a)*3600/1000;\n",
- "\n",
- "# Results\n",
- "print (\"Speed of the aircraft = %.3f\")% (V), (\"km/h\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Speed of the aircraft = 1785.959 km/h\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.8 page no : 873"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "R = 287.; \t\t\t#J/kg K\n",
- "y = 1.4;\n",
- "V0 = 1000.*1000/3600; \t\t\t#m/s\n",
- "p0 = 78.5; \t\t\t#kN/m**2\n",
- "T0 = 265.; \t\t\t#K\n",
- "\n",
- "# Calculations and Results\n",
- "C0 = math.sqrt(y*R*T0);\n",
- "M0 = V0/C0;\n",
- "\n",
- "ps = p0*(1+((y-1)/2*M0**2))**(y/(y-1));\n",
- "print (\"(i) Stagnation pressure = %.3f\")%(ps), (\"kN/m**2\")\n",
- "\n",
- "Ts = T0*(1+((y-1)/2*M0**2));\n",
- "print (\"(ii) Stagnation temperature = %.3f\")% (Ts), (\"K\")\n",
- "\n",
- "rho_s = ps*10**3/R/Ts;\n",
- "print (\"(iii) Stagnation density = %.3f\")%(rho_s), (\"kg/m**3\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) Stagnation pressure = 126.067 kN/m**2\n",
- "(ii) Stagnation temperature = 303.407 K\n",
- "(iii) Stagnation density = 1.448 kg/m**3\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.9 page no : 874"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "V0 = 1000.*1000./3600; \t\t\t#m/s\n",
- "T0 = 320.; \t\t\t#K\n",
- "p_atm = 98.1; \t\t\t#kN/m**2\n",
- "p = 9.81; \t\t\t#kN/m**2\n",
- "p0 = 98.1-p;\n",
- "R = 287.; \t\t\t#J/kg K\n",
- "y = 1.4;\n",
- "\n",
- "# Calculations and Results\n",
- "C0 = math.sqrt(y*R*T0);\n",
- "M0 = V0/C0;\n",
- "\n",
- "ps = p0*(1+((y-1)/2*M0**2))**(y/(y-1));\n",
- "print (\"Stagnation pressure = %.3f\")% (ps), (\"kN/m**2\")\n",
- "\n",
- "Ts = T0*(1+((y-1)/2*M0**2));\n",
- "print (\"Stagnation temperature = %.1f\")% (Ts), (\"K\")\n",
- "\n",
- "rho_s = ps*10**3/R/Ts;\n",
- "print (\"Stagnation density = %.3f\")% (rho_s), (\"kg/m**3\")\n",
- "\n",
- "M = 0.8;\n",
- "\n",
- "CF = 1+(M0**2./4)+((2-y)/24.*M0**4);\n",
- "print (\"Compressibility factor %.2f\")% (CF)\n",
- "\n",
- "#Note : Answers are slightly different because of rounding error."
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Stagnation pressure = 131.282 kN/m**2\n",
- "Stagnation temperature = 358.4 K\n",
- "Stagnation density = 1.276 kg/m**3\n",
- "Compressibility factor 1.16\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.10 page no : 875"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "R = 287.; \t\t\t#J/kg K\n",
- "y = 1.4;\n",
- "p0 = 220.*10**3; \t#N/m**2\n",
- "T0 = 300.; \t\t\t#K\n",
- "V0 = 200.; \t\t\t#m/s\n",
- "\n",
- "# Calculations and Results\n",
- "C0 = math.sqrt(y*R*T0);\n",
- "rho_0 = p0/R/T0;\n",
- "print (\"Stagnation pressure = \")\n",
- "\n",
- "print (\"(i) Compressibility is neglected\")\n",
- "ps = (p0+rho_0*V0**2/2)/10**3;\n",
- "print (\"ps = %.3f\")% (ps), (\"kN/m**2\")\n",
- "\n",
- "print (\"(ii) Compressibility is accounted for\")\n",
- "M0 = V0/C0;\n",
- "\n",
- "ps = (p0+rho_0*V0**2/2*(1+M0**2./4+(2-y)/24*M0**4))/10**3;\n",
- "print (\"ps = %.3f\")% (ps), (\"kN/m**2\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Stagnation pressure = \n",
- "(i) Compressibility is neglected\n",
- "ps = 271.103 kN/m**2\n",
- "(ii) Compressibility is accounted for\n",
- "ps = 275.484 kN/m**2\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.11 page no : 875"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "p0 = 35.*10**3; \t\t\t#Pa\n",
- "T0 = 235.; \t\t\t#K\n",
- "ps = 65.4*10**3; \t\t\t#N/m**2\n",
- "R0 = 8314.; \t\t\t#Nm/mole K\n",
- "M = 28.;\n",
- "\n",
- "# Calculations\n",
- "R = R0/M;\n",
- "rho_0 = p0/R/T0;\n",
- "Va = math.sqrt(2*(ps-p0)/rho_0);\n",
- "\n",
- "# Results\n",
- "print (\"Speed of the aircraft = %.3f\")% (Va), (\"m/s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Speed of the aircraft = 348.159 m/s\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.12 page no : 885"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "p0 = 30.*10**3; \t\t\t#N/m**2\n",
- "V0 = 152.; \t\t\t#m/s\n",
- "y = 1.4;\n",
- "rho_0 = 1.224; \t\t\t#kg/m**3\n",
- "ps = p0+rho_0*V0**2/2;\n",
- "\n",
- "# Calculations\n",
- "rho_0 = 0.454; \t\t\t#kg/m**3\n",
- "V0 = math.sqrt(2*(ps-p0)/rho_0);\n",
- "C0 = math.sqrt(y*p0/rho_0);\n",
- "M = V0/C0;\n",
- "ccf = (1+M**2/4); \t\t\t#Compressibility correction factor\n",
- "V = V0/math.sqrt(ccf); \t\t\t#True speed of aircraft\n",
- "\n",
- "# Results\n",
- "print (\"True speed of aircraft = %.3f\")% (V), (\"m/s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "True speed of aircraft = 230.900 m/s\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.13 page no : 886"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "M = 3.; \t\t\t#Mach number\n",
- "d = 0.2; \t\t\t#m\n",
- "p_nozzle = 7.85; \t\t\t#kN/m**2\n",
- "T_nozzle = 200.; \t\t\t#K\n",
- "y = 1.4;\n",
- "\n",
- "# Calculations and Results\n",
- "A = math.pi/4*d**2;\n",
- "p_res = p_nozzle*(1+((y-1)/2*M**2))**(y/(y-1));\n",
- "print (\"Reservoir pressure = %.3f\")% (p_res), (\"kN/m**2\")\n",
- "\n",
- "T_res = T_nozzle*(1+((y-1)/2*M**2));\n",
- "print (\"Reservoir temperature = %.3f\")% (T_res), (\"K\")\n",
- "\n",
- "Ac = A*M/((2+(y-1)*M**2)/(y+1))**((y+1)/2/(y-1));\n",
- "print (\"Throat area (critical) = %.5f\")% (Ac), (\"m**2\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Reservoir pressure = 288.352 kN/m**2\n",
- "Reservoir temperature = 560.000 K\n",
- "Throat area (critical) = 0.00742 m**2\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.14 page no : 887"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "R = 287.; \t\t\t#J/kg K\n",
- "y = 1.4;\n",
- "p_atm = 100.; \t\t\t#kN/m**2\n",
- "p1 = 284. + p_atm; \t\t\t#kN/m**2\n",
- "T1 = 297.; \t \t\t#K\n",
- "D = 0.02; \t\t \t#m\n",
- "\n",
- "# Calculations\n",
- "A2 = math.pi/4*D**2;\n",
- "rho_1 = p1*10**3/R/T1;\n",
- "m_max = 0.685*A2*math.sqrt(p1*10**3*rho_1);\n",
- "\n",
- "# Results\n",
- "print (\"Maximum flow rate = %.3f\")% (m_max), (\"kg/s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum flow rate = 0.283 kg/s\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.15 page no : 888"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# Variables\n",
- "R = 287.; \t\t\t#J/kg K\n",
- "y = 1.4;\n",
- "p1 = 2500.*10**3; \t#N/m**2\n",
- "T1 = 293.; \t\t\t#K\n",
- "p2 = 1750.*10**3; \t#N/m**2\n",
- "\n",
- "# Calculations\n",
- "rho_1 = p1/R/T1;\n",
- "V2 = math.sqrt(2*y/(y-1)*p1/rho_1*(1-(p2/p1)**((y-1)/y)));\n",
- "\n",
- "# Results\n",
- "print (\"Velocity of air = %.3f\")% (V2),(\"m/s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity of air = 238.812 m/s\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.16 page no : 889"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "R = 287.; \t \t\t#J/kg K\n",
- "y = 1.4;\n",
- "p_atm = 10.**5; \t\t#N/m**2\n",
- "T1 = 293. \t\t\t#K\n",
- "D2 = 0.025; \t\t\t#m\n",
- "p1 = 140.*10**3; \t\t#N/m**2\n",
- "\n",
- "# Calculations and Results\n",
- "A2 = math.pi/4*D2**2;\n",
- "\n",
- "print (\"(i) Mass rate of flow of air when pressure in the math.tank is 140 kN/m2 (abs.)\")\n",
- "rho_1 = p1/R/T1;\n",
- "p2 = 10**5; \t\t\t#N/m**2\n",
- "\n",
- "m = A2*math.sqrt(2*y/(y-1)*p1*rho_1*((p2/p1)**(2/y) - (p2/p1)**((y+1)/y)));\n",
- "print (\"m = %.3f\")% (m), (\"kg/s\")\n",
- "\n",
- "print (\"(ii) Mass rate of flow of air when pressure in the math.tank is 300 kN/m2 (abs.)\")\n",
- "p1 = 300.*10**3; \t\t\t#N/m**2\n",
- "p2 = 10.**5; \t\t\t#N/m**2\n",
- "rho_1 = p1/R/T1;\n",
- "\n",
- "print (\"The pressure ratio p2/p1 being less than the critical ratio 0.528, the flow in the nozzle will be sonic\");\n",
- "\n",
- "m_max = 0.685*A2*math.sqrt(p1*rho_1);\n",
- "print (\"m_max = %.3f\")% (m_max), (\"kg/s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) Mass rate of flow of air when pressure in the math.tank is 140 kN/m2 (abs.)\n",
- "m = 0.149 kg/s\n",
- "(ii) Mass rate of flow of air when pressure in the math.tank is 300 kN/m2 (abs.)\n",
- "The pressure ratio p2/p1 being less than the critical ratio 0.528, the flow in the nozzle will be sonic\n",
- "m_max = 0.348 kg/s\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.17 page no : 890"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "p1 = 200.; \t\t\t#kN/m**2\n",
- "V1 = 170.; \t\t\t#m/s\n",
- "T1 = 473.; \t\t\t#K\n",
- "A1 = 0.001; \t\t#m**2\n",
- "R = 287.; \t\t\t#J/kg K\n",
- "cp = 1000.; \t\t#J/kg K\n",
- "y = 1.4;\n",
- "\n",
- "# Calculations and Results\n",
- "print (\"(i) Stagnation temperature (Ts) and stagnation pressure (ps)\")\n",
- "\n",
- "Ts = T1+V1**2/2/cp;\n",
- "print (\"Ts = %.3f\")% (Ts), (\"K\")\n",
- "\n",
- "ps = p1*(Ts/T1)**(y/(y-1));\n",
- "print (\"ps = %.3f\")% (ps), (\"kN/m**2\")\n",
- "\n",
- "print (\"(ii) Sonic velocity and Mach number at this section\")\n",
- "\n",
- "C1 = math.sqrt(y*R*T1);\n",
- "print (\"Sonic velocity = %.3f\")% (C1), (\"m/s\")\n",
- "\n",
- "M1 = V1/C1;\n",
- "print (\"Mach number = %.3f\")% (M1)\n",
- "\n",
- "print (\"(iii) Velocity, Mach number and flow area at outlet section where pressure is 110 kN/m2\")\n",
- "p2 = 110.; \t\t\t#kN/m**2\n",
- "M2 = math.sqrt(2/(y-1)*((ps/p2)**((y-1)/y) - 1));\n",
- "print (\"M2 = %.3f\")% (M2)\n",
- "\n",
- "T2 = Ts*(p2/ps)**((y-1)/y);\n",
- "C2 = math.sqrt(y*R*T2);\n",
- "V2 = M2*C2;\n",
- "print (\"V2 = %.3f\")% (V2), (\"m/s\")\n",
- "\n",
- "A2 = (p1*A1*V1*T2/T1/p2/V2)*10**6;\n",
- "print (\"A2 = %.3f\")% (A2), (\"mm**2\")\n",
- "\n",
- "\n",
- "print (\"(iv) Pressure (pt), temperature (Tt), velocity (Vt), and flow area (At) at throat of the nozzle\")\n",
- "Mt = 1.;\n",
- "Tt = Ts/(1+(y-1)/2*Mt**2);\n",
- "print (\"Tt = %.3f\")% (Tt), (\"K\")\n",
- "\n",
- "pt = ps*(Tt/Ts)**(y/(y-1));\n",
- "print (\"pt = %.3f\")% (pt), (\"kN/m**2\")\n",
- "\n",
- "Ct = math.sqrt(y*R*Tt);\n",
- "Vt = Mt*Ct;\n",
- "\n",
- "At = (p1*A1*V1*Tt/T1/pt/Vt)*10**6;\n",
- "print (\"At = %.3f\")% (At), (\"mm**2\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) Stagnation temperature (Ts) and stagnation pressure (ps)\n",
- "Ts = 487.450 K\n",
- "ps = 222.214 kN/m**2\n",
- "(ii) Sonic velocity and Mach number at this section\n",
- "Sonic velocity = 435.949 m/s\n",
- "Mach number = 0.390\n",
- "(iii) Velocity, Mach number and flow area at outlet section where pressure is 110 kN/m2\n",
- "M2 = 1.055\n",
- "V2 = 422.183 m/s\n",
- "A2 = 617.168 mm**2\n",
- "(iv) Pressure (pt), temperature (Tt), velocity (Vt), and flow area (At) at throat of the nozzle\n",
- "Tt = 406.208 K\n",
- "pt = 117.392 kN/m**2\n",
- "At = 615.673 mm**2\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.18 page no : 893"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "y = 1.4;\n",
- "p1 = 26.5; \t\t\t#kN/m**2\n",
- "rho_1 = 0.413; \t\t\t#kg/m**3\n",
- "M1 = 2.;\n",
- "R = 287.;\n",
- "\n",
- "# Calculations and Results\n",
- "M2 = math.sqrt(((y-1)*M1**2 + 2)/(2*y*M1**2 - (y-1)));\n",
- "print (\"Mach number M2 = %.3f\")% (M2)\n",
- "\n",
- "p2 = p1*(2*y*M1**2 - (y-1))/(y+1);\n",
- "print (\"p2 = %.3f\")% (p2), (\"kN/m**2\")\n",
- "\n",
- "rho_2 = rho_1*((y+1)*M1**2)/((y-1)*M1**2 + 2);\n",
- "print (\"density, rho_2 = %.3f\")% (rho_2), (\"kg/m**3\")\n",
- "\n",
- "T1 = p1*10**3/rho_1/R;\n",
- "print (\"T1 = %.3f\")% (T1), (\"K\")\n",
- "\n",
- "T2 = T1*((y-1)*M1**2 + 2)*(2*y*M1**2 - (y-1))/((y+1)**2*M1**2);\n",
- "print (\"T2 = %.3f\")% (T2), (\"K\")\n",
- "\n",
- "C1 = math.sqrt(y*R*T1);\n",
- "V1 = M1*C1;\n",
- "print (\"V1 = %.3f\")% (V1), (\"m/s\")\n",
- "\n",
- "C2 = math.sqrt(y*R*T2);\n",
- "V2 = M2*C2;\n",
- "print (\"V2 = %.3f\")% (V2), (\"m/s\")\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Mach number M2 = 0.577\n",
- "p2 = 119.250 kN/m**2\n",
- "density, rho_2 = 1.101 kg/m**3\n",
- "T1 = 223.570 K\n",
- "T2 = 377.275 K\n",
- "V1 = 599.435 m/s\n",
- "V2 = 224.788 m/s\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 16.19 page no : 895"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math \n",
- "\n",
- "# Variables\n",
- "M1 = 1.5;\n",
- "p1 = 170.; \t\t\t#kN/m**2\n",
- "T1 = 296.; \t\t\t#K\n",
- "y = 1.4;\n",
- "\n",
- "# Calculations and Results\n",
- "print (\"(i) Pressure, temperature and Mach number downstream of the shock\")\n",
- "p2 = p1*(2*y*M1**2 - (y-1))/(y+1);\n",
- "print (\"p2 = %.3f\")% (p2), (\"kN/m**2\")\n",
- "\n",
- "T2 = T1*((y-1)*M1**2 + 2)*(2*y*M1**2 - (y-1))/(y+1)**2/M1**2;\n",
- "print (\"T2 = %.3f\")% (T2), (\"K\")\n",
- "\n",
- "M2 = math.sqrt(((y-1)*M1**2 + 2)/(2*y*M1**2 - (y-1)));\n",
- "print (\"M2 = %.3f\")% (M2)\n",
- "\n",
- "strength = p2/p1 - 1;\n",
- "print (\"Strength of stock = %.3f\")% (strength)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(i) Pressure, temperature and Mach number downstream of the shock\n",
- "p2 = 417.917 kN/m**2\n",
- "T2 = 390.784 K\n",
- "M2 = 0.701\n",
- "Strength of stock = 1.458\n"
- ]
- }
- ],
- "prompt_number": 21
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch2.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch2.ipynb
deleted file mode 100644
index 7167565e..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch2.ipynb
+++ /dev/null
@@ -1,623 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:6dd70c1f71cf7fe5898008fd909312cd4643245d1663bc204223830088a91083"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# prints the value of a boolean variable:\n",
- "flag=False\n",
- "print \"flag = %r\" % flag\n",
- "flag = True\n",
- "print \"flag = %r\" % flag"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "flag = False\n",
- "flag = True\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# prints the character and its internally stored\n",
- "c='A'\n",
- "print \"c = \" + c + \", int(c) = %d\" % ord(c)\n",
- "c='t'\n",
- "print \"c = \" + c + \", int(c) = %d\" % ord(c)\n",
- "c='\\t' # the tab character\n",
- "print \"c = \" + c + \", int(c) = %d\" % ord(c)\n",
- "c='!'\n",
- "print \"c = \" + c + \", int(c) = %d\" % ord(c)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "c = A, int(c) = 65\n",
- "c = t, int(c) = 116\n",
- "c = \t, int(c) = 9\n",
- "c = !, int(c) = 33\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import sys\n",
- "# defines the constants SHRT_MIN, etc.\n",
- "print 'maximum limit int : ',\n",
- "print sys.maxint\n",
- "print 'float info'\n",
- "print sys.float_info"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "maximum limit int : 2147483647\n",
- "float info\n",
- "sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# tests operators +, -, *, /, and %:\n",
- "m=54\n",
- "n=20\n",
- "print \"m = %d and n = %d\" %(m,n)\n",
- "print \"m+n = %d\" % (m+n) # 54+20 = 74\n",
- "print \"m-n = %d\" % (m-n) # 54-20 = 34\n",
- "print \"m*n = %d\" % (m*n)# 54*20 = 1080\n",
- "print \"m/n = %d\" % (m/n) # 54/20 = 2\n",
- "print \"m modulo by n = %d\" % (m%n) # 54%20 = 14"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "m = 54 and n = 20\n",
- "m+n = 74\n",
- "m-n = 34\n",
- "m*n = 1080\n",
- "m/n = 2\n",
- "m modulo by n = 14\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# shows the difference between m++ and ++m:\n",
- "m = 44\n",
- "m += 1\n",
- "n = m\n",
- "print \"m = %d , n = %d\" %(m,n)\n",
- "m = 44\n",
- "n = m # the post-increment operator is applied to m\n",
- "m += 1\n",
- "print \"m = %d , n = %d\" %(m,n)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "m = 45 , n = 45\n",
- "m = 45 , n = 44\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# tests arithmetic assignment operators:\n",
- "n=22\n",
- "print \"n = %d\" % n\n",
- "n += 9 # adds 9 to n\n",
- "print \"After n += 9, n = %d\" % n\n",
- "n -= 5 # subtracts 5 from n\n",
- "print \"After n -= 5, n = %d\" % n\n",
- "n *= 2 # multiplies n by 3\n",
- "print \"After n *= 2, n = %d\" % n \n",
- "n /= 3 # divides n by 9\n",
- "print \"After n /= 3, n = %d\" % n \n",
- "n %= 7 # reduces n to the remainder from dividing by 4\n",
- "print 'After n modulo by 7 n = %d' %n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 22\n",
- "After n += 9, n = 31\n",
- "After n -= 5, n = 26\n",
- "After n *= 2, n = 52\n",
- "After n /= 3, n = 17\n",
- "After n modulo by 7 n = 3\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# tests the floating-point operators +, -, *, and /:\n",
- "x=54.0\n",
- "y=20.0\n",
- "print \"x = %f and y = %f\" %(x,y)\n",
- "print \"x+y = %f\" %(x+y) # 54.0+20.0 = 74.0\n",
- "print \"x-y = %f\" % (x-y) # 54.0-20.0 = 34.0\n",
- "print \"x*y = %f\" %( x*y) # 54.0*20.0 = 1080.0\n",
- "print \"x/y = %f\" % (x/y) # 54.0/20.0 = 2.7\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 54.000000 and y = 20.000000\n",
- "x+y = 74.000000\n",
- "x-y = 34.000000\n",
- "x*y = 1080.000000\n",
- "x/y = 2.700000\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import sys\n",
- "# prints the storage sizes of the fundamental types:\n",
- "print \"Number of bytes used:\\n\"\n",
- "\n",
- "print \" char: %d \" % sys.getsizeof('a')\n",
- "print \" int : %d \" % sys.getsizeof(int(1))\n",
- "print \" string : %d \" % sys.getsizeof(str('hellololdei'))\n",
- "print \"float : %d\" % sys.getsizeof(float(1.1))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Number of bytes used:\n",
- "\n",
- " char: 22 \n",
- " int : 12 \n",
- " string : 32 \n",
- "float : 16\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import sys\n",
- "# prints the storage sizes of the fundamental types:\n",
- "fbits = 8*sys.getsizeof(float(123))\n",
- "\n",
- "# each byte contains 8 bits\n",
- "print \"float uses : %d bits:\\n\\t\" % fbits \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "float uses : 128 bits:\n",
- "\t\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# casts a double value as an int:\n",
- "v = 1234.56789\n",
- "n = int(v);\n",
- "print \"v = %f, n = %d\" %(v,n)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "v = 1234.567890, n = 1234\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# prints promoted vales of 65 from char to double:\n",
- "c='A'\n",
- "print \"char c = \" + c\n",
- "k=c;\n",
- "print \"k = \" + k \n",
- "m=k;\n",
- "print \"m = \" + m \n",
- "n=m\n",
- "print \"n = \" + n\n",
- "x=m\n",
- "print \"x = \" + x \n",
- "y=x\n",
- "print \"y = \" + y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "char c = A\n",
- "k = A\n",
- "m = A\n",
- "n = A\n",
- "x = A\n",
- "y = A\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# prints n until it overflows:\n",
- "n=1000\n",
- "print \"n = %d\" % n\n",
- "n *= 1000 # multiplies n by 1000\n",
- "print \"n = %d\" % n\n",
- "n *= 1000 # multiplies n by 1000\n",
- "print \"n = %d\" % n\n",
- "n *= 1000 # multiplies n by 1000\n",
- "print \"n = %d\" % n\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 1000\n",
- "n = 1000000\n",
- "n = 1000000000\n",
- "n = 1000000000000\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# prints x until it overflows:\n",
- "x=1000.0\n",
- "print \"x = %f\" % x\n",
- "x *= x # multiplies n by itself; i.e., it squares x\n",
- "print \"x = %f\" % x\n",
- "x *= x # multiplies n by itself; i.e., it squares x\n",
- "print \"x = %f\" % x\n",
- "x *= x # multiplies n by itself; i.e., it squares x\n",
- "print \"x = %f\" % x\n",
- "x *= x # multiplies n by itself; i.e., it squares x\n",
- "print \"x = %f\" % x\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 1000.000000\n",
- "x = 1000000.000000\n",
- "x = 1000000000000.000000\n",
- "x = 999999999999999983222784.000000\n",
- "x = 1000000000000000043845843045076197354634047651840.000000\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# illustrates round-off error::\n",
- "x = 1000/3.0\n",
- "print \"x = %f\" %x # x = 1000/3\n",
- "y = x - 333.0\n",
- "print \"y = %f\" % y # y = 1/3\n",
- "z = 3*y - 1.0\n",
- "print \"z = %f\" %z # z = 3(1/3) - 1\n",
- "if (z == 0):\n",
- " print \"z == 0.\\n\"\n",
- "else:\n",
- " print \"z does not equal 0.\\n\" # z != 0\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 333.333333\n",
- "y = 0.333333\n",
- "z = -0.000000\n",
- "z does not equal 0.\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "# implements the quadratic formula\n",
- "a = float(raw_input(\"Enter the coefficients of a quadratic equation:\\n a : \"))\n",
- "b = float(raw_input('b : '))\n",
- "c = float(raw_input('c : '))\n",
- "\n",
- "print \"The equation is: \",\n",
- "print a,\n",
- "print \"*x*x + \",\n",
- "print b,\n",
- "print \"*x + \" ,\n",
- "print c,\n",
- "print \" = 0\" \n",
- "\n",
- "d = b*b - 4*a*c # discriminant\n",
- "sqrtd = math.sqrt(d)\n",
- "x1 = (-b + sqrtd)/(2*a)\n",
- "x2 = (-b - sqrtd)/(2*a)\n",
- "print \"The solutions are:\"\n",
- "print \"\\tx1 = %f\" % x1\n",
- "print \"\\tx2 = %f\" % x2\n",
- "print \"Check:\" \n",
- "print \"\\ta*x1*x1 + b*x1 + c = %f\" %( a*x1*x1 + b*x1 + c)\n",
- "print \"\\ta*x2*x2 + b*x2 + c = %f\" %( a*x2*x2 + b*x2 + c)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter the coefficients of a quadratic equation:\n",
- " a : 2\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "b : 1\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "c : -3\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The equation is: 2.0 *x*x + 1.0 *x + -3.0 = 0\n",
- "The solutions are:\n",
- "\tx1 = 1.000000\n",
- "\tx2 = -1.500000\n",
- "Check:\n",
- "\ta*x1*x1 + b*x1 + c = 0.000000\n",
- "\ta*x2*x2 + b*x2 + c = 0.000000\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# prints double values in scientific e-format:\n",
- "x = float(raw_input(\"Enter float: \"))\n",
- "print \"Its reciprocal is: \",\n",
- "print 1/x "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter float: 234.567e89\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Its reciprocal is: 4.2631742743e-92\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# illustrates the scope of variables:\n",
- "x = 11\n",
- "# ERROR: this is not in the scope of x\n",
- "if True:\n",
- " x = 22 # OK: this is in the scope of x\n",
- " y = 33 # ERROR: this is not in the scope of y\n",
- " x = 44 # OK: this is in the scope of x\n",
- " y = 55 # OK: this is in the scope of y\n",
- "x = 66 # OK: this is in the scope of x\n",
- "y = 77 # ERROR: this is not in the scope of y\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 17
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# this x is global\n",
- "x = 11\n",
- "\n",
- "if True:\n",
- " # illustrates the nested and parallel scopes:\n",
- " x = 22\n",
- " # begin scope of internal block\n",
- " if True:\n",
- " x = 33\n",
- " print \"In block inside main(): x = %d \" % x\n",
- " # end scope of internal block\n",
- "print \"In main(): x = %d\" %x \n",
- "print \"In main(): x = %d \"% x"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "In block inside main(): x = 33 \n",
- "In main(): x = 33\n",
- "In main(): x = 33 \n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch3.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch3.ipynb
deleted file mode 100644
index 577b8d76..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch3.ipynb
+++ /dev/null
@@ -1,1021 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:0e3c85fb42769559f9f8805f3e4d4314b9161e1f9e7c2177b9fdd0a81efd83fb"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "print \"Enter two positive integers: \";\n",
- "n = int(raw_input())\n",
- "d = int(raw_input())\n",
- "if (n%d):\n",
- " print \"%d is not divisible by %d\" %(n,d)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter two positive integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "66\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "7\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "66 is not divisible by 7\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter two positive integers: \";\n",
- "n = int(raw_input())\n",
- "d = int(raw_input())\n",
- "if (n%d):\n",
- " print \"%d is not divisible by %d\" %(n,d)\n",
- "else:\n",
- " print \"%d is divisible by %d\" %(n,d)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter two positive integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "56\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "7\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "56 is divisible by 7\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter two integers: \"\n",
- "m = int(raw_input())\n",
- "n = int(raw_input())\n",
- "\n",
- "if (m < n):\n",
- " print \"%d is the minimum.\" %m\n",
- "else:\n",
- " print \"%d is the minimum.\" %n\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter two integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "77\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55 is the minimum.\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter an integer: \"\n",
- "n = int(raw_input())\n",
- "if (n = 22):\n",
- " print \"%d = 22\" %n\n",
- "else: \n",
- " print \"%d != 22\" %n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "SyntaxError",
- "evalue": "invalid syntax (<ipython-input-4-d2cee3e182b1>, line 7)",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[1;36m File \u001b[1;32m\"<ipython-input-4-d2cee3e182b1>\"\u001b[1;36m, line \u001b[1;32m7\u001b[0m\n\u001b[1;33m if (n = 22):\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter three integers: \"\n",
- "n1 = int(raw_input())\n",
- "n2 = int(raw_input())\n",
- "n3 = int(raw_input())\n",
- "\n",
- "m=n1\n",
- "# now min <= n1\n",
- "if (n2 < m):\n",
- " m = n2 # now min <= n1 and min <= n2\n",
- "if (n3 < m):\n",
- " m = n3 # now min <= n1, min <= n2, and min <= n3\n",
- "print \"Their minimum is %d\" % m"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter three integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "77\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "33\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Their minimum is 33\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "print \"Enter two integers: \"\n",
- "x = int(raw_input())\n",
- "y = int(raw_input())\n",
- "\n",
- "if (x > y):\n",
- " temp=x\n",
- " x = y\n",
- " y = temp\n",
- " \n",
- "\n",
- "print \"%d <= %d\" %(x,y)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter two integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "66\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44 <= 66\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "n=44\n",
- "print \"n = %d\" % n \n",
- "if True:\n",
- " # scope extends over 4 lines\n",
- " print \"Enter an integer: \"\n",
- " n = int(raw_input())\n",
- " print \"n = %d\" % n \n",
- "\n",
- "if True:\n",
- " print \"n = %d\" % n \n",
- " # the n that was declared first\n",
- "if True:\n",
- " print \"n = %d\" % n \n",
- "\n",
- "print \"n = %d\" % n "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 44\n",
- "Enter an integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "77\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 77\n",
- "n = 77\n",
- "n = 77\n",
- "n = 77\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter three integers: \"\n",
- "n1 = int(raw_input())\n",
- "n2 = int(raw_input())\n",
- "n3 = int(raw_input())\n",
- "if (n1 <= n2 and n1 <= n3):\n",
- " print \"Their minimum is %d\" % n1\n",
- " \n",
- "if (n2 <= n1 and n2 <= n3):\n",
- " print \"Their minimum is %d \" % n2 \n",
- "if (n3 <= n1 and n3 <= n2):\n",
- " print \"Their minimum is %d\" % n3 \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter three integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "77\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "33\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Their minimum is 33 \n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Are you enrolled (y/n): \"\n",
- "ans = raw_input()\n",
- "if (ans == 'Y' or ans == 'y'):\n",
- " print \"You are enrolled.\\n\"\n",
- "else: \n",
- " print \"You are not enrolled.\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Are you enrolled (y/n): \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "y\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "You are enrolled.\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "print \"Enter two positive integers: \";\n",
- "n = int(raw_input())\n",
- "d = int(raw_input())\n",
- "\n",
- "if (d != 0 and n%d == 0): \n",
- " print \"%d divides %d\" %(d,n)\n",
- "else:\n",
- " print \"%d does not divide %d\"% (d,n)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter two positive integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "33\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "6\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "6 does not divide 33\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter three integers: \"\n",
- "n1 = int(raw_input())\n",
- "n2 = int(raw_input())\n",
- "n3 = int(raw_input())\n",
- "\n",
- "if (n1 >= n2 >= n3):\n",
- " print \"max = x\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter three integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter two positive integers: \"\n",
- "n = int(raw_input())\n",
- "d = int(raw_input())\n",
- "\n",
- "if (d != 0):\n",
- " if (n%d == 0):\n",
- " print d,\n",
- " print \" divides %d\" % n \n",
- " else:\n",
- " print \"%d does not divide %d\" %(d,n)\n",
- "else:\n",
- " print '%d does not divide %d '%(d,n)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter two positive integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44 does not divide 55\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter three integers: \"\n",
- "n1 = int(raw_input())\n",
- "n2 = int(raw_input())\n",
- "n3 = int(raw_input())\n",
- "if (n1 < n2):\n",
- " if (n1 < n3):\n",
- " print \"Their minimum is : %d\" % n1\n",
- " else:\n",
- " print \"Their minimum is : %d\" % n3\n",
- "else: # n1 >= n2\n",
- " if (n2 < n3):\n",
- " print \"Their minimum is : %d\" % n2\n",
- " else:\n",
- " print \"Their minimum is %d\" % n3"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter three integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "77\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "33\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Their minimum is : 33\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Pick a number from 1 to 8.\" \n",
- "answer = int(raw_input())\n",
- "print \"Is it less than 5? (y|n): \"\n",
- "answer = raw_input()\n",
- "if (answer == 'y'): # 1 <= n <= 4\n",
- " print \"Is it less than 3? (y|n): \"\n",
- " answer = raw_input() \n",
- " if (answer == 'y'): # 1 <= n <= 2\n",
- " print \"Is it less than 2? (y|n): \"\n",
- " answer = raw_input()\n",
- " if (answer == 'y'):\n",
- " print \"Your number is 1.\"\n",
- " else:\n",
- " print \"Your number is 2.\"\n",
- " else: # 3 <= n <= 4\n",
- " print \"Is it less than 4? (y|n): \"\n",
- " answer = raw_input()\n",
- " if (answer == 'y'):\n",
- " print \"Your number is 3.\"\n",
- " else:\n",
- " print \"Your number is 4.\"\n",
- "else: # 5 <= n <= 8\n",
- " print \"Is it less than 7? (y|n): \"\n",
- " answer = raw_input()\n",
- " if (answer == 'y'): # 5 <= n <= 6\n",
- " print \"Is it less than 6? (y|n): \"\n",
- " answer = raw_input()\n",
- " if (answer == 'y'):\n",
- " print \"Your number is 5.\"\n",
- " else:\n",
- " print \"Your number is 6.\" \n",
- " else: # 7 <= n <= 8\n",
- " print \"Is it less than 8? (y|n): \"\n",
- " answer = raw_input()\n",
- " if (answer == 'y'):\n",
- " print \"Your number is 7.\" \n",
- " else:\n",
- " print \"Your number is 8.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Pick a number from 1 to 8.\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "6\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Is it less than 5? (y|n): \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Is it less than 7? (y|n): \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "y\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Is it less than 6? (y|n): \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Your number is 6.\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "language = raw_input(\"Engl., Fren., Ger., Ital., or Rus.? (e|f|g|i|r): \")\n",
- "\n",
- "if (language == 'e'): \n",
- " print \"Welcome to ProjectEuclid.\"\n",
- "elif (language == 'f'):\n",
- " print \"Bon jour, ProjectEuclid.\"\n",
- "elif (language == 'g'):\n",
- " print \"Guten tag, ProjectEuclid.\"\n",
- "elif (language == 'i'):\n",
- " print \"Bon giorno, ProjectEuclid.\"\n",
- "elif (language == 'r'):\n",
- " print \"Dobre utre, ProjectEuclid.\"\n",
- "else:\n",
- " print \"Sorry; we don't speak your language.\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Engl., Fren., Ger., Ital., or Rus.? (e|f|g|i|r): i\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Bon giorno, ProjectEuclid.\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "score = int(raw_input(\"Enter your test score: \"))\n",
- "a = int(score/10)\n",
- "if a == 10 or a == 9:\n",
- " print \"Your grade is an A.\"\n",
- "elif a == 8:\n",
- " print \"Your grade is a B.\" \n",
- "elif a == 7:\n",
- " print \"Your grade is a C.\" \n",
- "elif a == 6:\n",
- " print \"Your grade is a D.\"\n",
- "elif a==5 or a==4 or a==3 or a==2 or a==1 or a==0:\n",
- " print \"Your grade is an F.\" \n",
- "else:\n",
- " print \"Error: score is out of range.\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter your test score: 83\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Your grade is a B.\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "score = int(raw_input(\"Enter your test score: \"))\n",
- "a = int(score/10)\n",
- "if a == 10 or a == 9:\n",
- " print \"Your grade is an A.\"\n",
- "elif a == 8:\n",
- " print \"Your grade is a B.\" \n",
- "elif a == 7:\n",
- " print \"Your grade is a C.\" \n",
- "elif a == 6:\n",
- " print \"Your grade is a D.\"\n",
- "elif a==5 or a==4 or a==3 or a==2 or a==1 or a==0:\n",
- " print \"Your grade is an F.\" \n",
- "else:\n",
- " print \"Error: score is out of range.\\n\"\n",
- "\n",
- "print \"Goodbye.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter your test score: 83\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Your grade is a B.\n",
- "Goodbye.\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "score = int(raw_input(\"Enter your test score: \"))\n",
- "a = int(score/10)\n",
- "if a == 10 or a == 9:\n",
- " print \"Your grade is an A.\"\n",
- "elif a == 8:\n",
- " print \"Your grade is a B.\" \n",
- "elif a == 7:\n",
- " print \"Your grade is a C.\" \n",
- "elif a == 6:\n",
- " print \"Your grade is a D.\"\n",
- "elif a==5 or a==4 or a==3 or a==2 or a==1 or a==0:\n",
- " print \"Your grade is an F.\" \n",
- "else:\n",
- " print \"Error: score is out of range.\\n\"\n",
- "\n",
- "print \"Goodbye.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter your test score: 83\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Your grade is a B.\n",
- "Goodbye.\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter two integers: \"\n",
- "m = int(raw_input())\n",
- "n = int(raw_input())\n",
- "print min(m,n),\n",
- "print 'is the minimum'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter two integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "33\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "33 is the minimum\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch4.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch4.ipynb
deleted file mode 100644
index 80faf7b0..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch4.ipynb
+++ /dev/null
@@ -1,1486 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:151156e7bea70740a97337b774930eddac369834b8935c55926007a1955d4c91"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "i=1\n",
- "print \"Enter a positive integer: \"\n",
- "n = int(raw_input())\n",
- "s=0\n",
- "while (i <= n):\n",
- " s += i\n",
- " i += 1\n",
- "print \"The sum of the first %d integers is %d\" %(i,s)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The sum of the first 6 integers is 15\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter a positive integer: \"\n",
- "bound = int(raw_input())\n",
- "s=0.0\n",
- "i=0\n",
- "while (s < bound):\n",
- " i += 1\n",
- " s += 1.0/i\n",
- "\n",
- "print \"The sum of the first %d reciprocals is %f\" %(i,s)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The sum of the first 83 reciprocals is 5.002068\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "print \"Enter a positive number: \"\n",
- "x = float(raw_input())\n",
- "while (x > 0):\n",
- " print \"sqrt(%d) = %f \"%(x,math.sqrt(x))\n",
- " print \"Enter another positive number (or 0 to quit): \"\n",
- " x = float(raw_input())\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive number: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "sqrt(5) = 2.236068 \n",
- "Enter another positive number (or 0 to quit): \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "3\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "sqrt(3) = 1.732051 \n",
- "Enter another positive number (or 0 to quit): \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "i=1\n",
- "print \"Enter a positive integer: \";\n",
- "n = int(raw_input())\n",
- "s=0\n",
- "while(True):\n",
- " if (i > n):\n",
- " break # terminates the loop immediately\n",
- " s += i\n",
- " i += 1\n",
- "print \"The sum of the first %d integers is %d\" %(n,s)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The sum of the first 5 integers is 15\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "print \"Enter a positive integer: \"\n",
- "bound = int(raw_input())\n",
- "print \"Fibonacci numbers < %d:\\n0, 1\" % bound ,\n",
- "f0=0\n",
- "f1=1\n",
- "while (True):\n",
- " f2 = f0 + f1\n",
- " if (f2 > bound):\n",
- " break\n",
- " print \", %d\" % f2,\n",
- " f0 = f1\n",
- " f1 = f2\n",
- " "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Fibonacci numbers < 10:\n",
- "0, 1 , 1 , 2 , 3 , 5 , 8\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import sys\n",
- "print \"Enter a positive integer: \"\n",
- "bound = int(raw_input())\n",
- "print \"Fibonacci numbers < %d:\\n0, 1\" % bound ,\n",
- "f0=0\n",
- "f1=1\n",
- "while (True):\n",
- " f2 = f0 + f1\n",
- " if (f2 > bound):\n",
- " sys.exit(0)\n",
- " print \", %d\" % f2,\n",
- " f0 = f1\n",
- " f1 = f2\n",
- " "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- },
- {
- "ename": "SystemExit",
- "evalue": "0",
- "output_type": "pyerr",
- "traceback": [
- "An exception has occurred, use %tb to see the full traceback.\n",
- "\u001b[1;31mSystemExit\u001b[0m\u001b[1;31m:\u001b[0m 0\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Fibonacci numbers < 10:\n",
- "0, 1 , 1 , 2 , 3 , 5 , 8"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stderr",
- "text": [
- "To exit: use 'exit', 'quit', or Ctrl-D.\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter a positive integer: \"\n",
- "bound = int(raw_input())\n",
- "print \"Fibonacci numbers < %d:\\n0, 1\" % bound ,\n",
- "f0=0\n",
- "f1=1\n",
- "# Error : infinite loop !\n",
- "while (True):\n",
- " f2 = f0 + f1\n",
- " # By commenting the below if statement, it goes to infinite.\n",
- " if (f2 > bound):\n",
- " break\n",
- " print \", %d\" % f2,\n",
- " f0 = f1\n",
- " f1 = f2"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Fibonacci numbers < 10:\n",
- "0, 1 , 1 , 2 , 3 , 5 , 8\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "print \"Enter a positive integer: \"\n",
- "bound = int(raw_input())\n",
- "print \"Fibonacci numbers < %d:\\n0, 1\" % bound ,\n",
- "f0=0\n",
- "f1=1\n",
- "# Error : infinite loop !\n",
- "while (True):\n",
- " f2 = f0 + f1\n",
- " # By commenting the below if statement, it goes to infinite.\n",
- " if (f2 > bound):\n",
- " break\n",
- " print \", %d\" % f2,\n",
- " f0 = f1\n",
- " f1 = f2"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n",
- "Fibonacci numbers < 10:\n",
- "0, 1 , 1 , 2 , 3 , 5 , 8\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "i=0\n",
- "print \"Enter a positive integer: \"\n",
- "n = int(raw_input())\n",
- "s=0\n",
- "while i<=n:\n",
- " s += i\n",
- " i += 1\n",
- "print \"The sum of the first %d integers is %d\" %(n,s)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The sum of the first 10 integers is 55\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "print \"Enter a positive integer: \"\n",
- "bound = int(raw_input())\n",
- "print \"Factorial numbers < %d:\\n1, 1\" %bound,\n",
- "f=1\n",
- "i=1\n",
- "while f < bound:\n",
- " i += 1\n",
- " f *= i\n",
- " print \", %d\" %f,\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Factorial numbers < 10:\n",
- "1, 1 , 2 , 6 , 24\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "print \"Enter a positive integer: \"\n",
- "n = int(raw_input())\n",
- "s=0;\n",
- "for i in range(0,n+1):\n",
- " s += i\n",
- "print \"The sum of the first %d integers is %d\" %(n,s)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The sum of the first 10 integers is 55\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter a positive integer: \"\n",
- "n = int(raw_input())\n",
- "s=0\n",
- "for i in range(1,n/2): # the scope of this i is this loop\n",
- " s += i\n",
- "\n",
- "for i in range(n/2,n+1): # the scope of this i is this loop\n",
- " s += i\n",
- "print \"The sum of the first %d integers is %d\" % (n,s)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The sum of the first 10 integers is 55\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter a positive integer: \"\n",
- "bound = int(raw_input())\n",
- "\n",
- "print \"Factorial numbers that are <= %d:\\n1, 1\" %bound,\n",
- "f=1\n",
- "for i in range(2,bound+1):\n",
- " f *= i\n",
- " print \", %d\" % f,\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Factorial numbers that are <= 10:\n",
- "1, 1 , 2 , 6 , 24 , 120 , 720 , 5040 , 40320 , 362880 , 3628800\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "for i in range(10,0,-1):\n",
- " print i,\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10 9 8 7 6 5 4 3 2 1\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "prime = True\n",
- "print \"Enter a positive integer: \"\n",
- "n = int(raw_input())\n",
- "if (n < 2):\n",
- " print \"%d is not prime.\" %n\n",
- " prime = False\n",
- "elif (n < 4):\n",
- " print \"%d is prime.\" %n\n",
- " prime = False\n",
- "elif (n%2 == 0):\n",
- " print \"%d = 2* %d\" %(n,n/2)\n",
- " prime = False\n",
- "else:\n",
- " for d in range(3,n/2+1):\n",
- " if (n%d == 0):\n",
- " print \"%d = %d * %d\" %(n,d,n/d)\n",
- " prime = False\n",
- "if prime: \n",
- " print \"%d is prime.\"%n\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "11\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "11 is prime.\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Enter positive integers (0 to quit): \";\n",
- "n = int(raw_input())\n",
- "m = n\n",
- "while n > 0:\n",
- " n = int(raw_input())\n",
- " if n > m :\n",
- " m = n\n",
- "\n",
- "print \"max = %d\" % m"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter positive integers (0 to quit): \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "19\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "42\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "max = 42\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "print \"Enter positive integers (0 to quit): \";\n",
- "n = int(raw_input())\n",
- "m = n\n",
- "while n > 0: \n",
- " if n < m :\n",
- " m = n\n",
- " n = int(raw_input())\n",
- "\n",
- "print \"min = %d\" % m\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter positive integers (0 to quit): \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "19\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "42\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "min = 1\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "m = 95\n",
- "n = 11\n",
- "while m%n > 0:\n",
- " print \"%d modulo %d = %d\" %(m,n,m%n)\n",
- " m -= 3\n",
- " n += 1\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "95 modulo 11 = 7\n",
- "92 modulo 12 = 8\n",
- "89 modulo 13 = 11\n",
- "86 modulo 14 = 2\n",
- "83 modulo 15 = 8\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "for x in range(1,13):\n",
- " for y in range(1,13):\n",
- " print \"%4d\" % (x*y),\n",
- " print \"\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " 1 2 3 4 5 6 7 8 9 10 11 12 \n",
- " 2 4 6 8 10 12 14 16 18 20 22 24 \n",
- " 3 6 9 12 15 18 21 24 27 30 33 36 \n",
- " 4 8 12 16 20 24 28 32 36 40 44 48 \n",
- " 5 10 15 20 25 30 35 40 45 50 55 60 \n",
- " 6 12 18 24 30 36 42 48 54 60 66 72 \n",
- " 7 14 21 28 35 42 49 56 63 70 77 84 \n",
- " 8 16 24 32 40 48 56 64 72 80 88 96 \n",
- " 9 18 27 36 45 54 63 72 81 90 99 108 \n",
- " 10 20 30 40 50 60 70 80 90 100 110 120 \n",
- " 11 22 33 44 55 66 77 88 99 110 121 132 \n",
- " 12 24 36 48 60 72 84 96 108 120 132 144 \n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "# defines pow() and log()\n",
- "\n",
- "print \"Enter a positive integer: \"\n",
- "n = int(raw_input())\n",
- "d=0 # the discrete binary logarithm of n\n",
- "p2d=1 # = 2^d\n",
- "i = n\n",
- "while i > 1:\n",
- " # INVARIANT: 2^d <= n/i < 2*2^d\n",
- " p2d=math.pow(2,d) # = 2^d\n",
- " print \"%2d <= %2d\" %(p2d,2*p2d)\n",
- " i /= 2\n",
- " d += 1\n",
- "\n",
- "p2d=math.pow(2,d) # = 2^d\n",
- "print \"%2d <= %2d < %2d\" %(p2d,n,2*p2d)\n",
- "print \" The discrete binary logarithm of is %d\" % d \n",
- "lgn = math.log(n)/math.log(2) # base 2 logarithm\n",
- "print \"The continuous binary logarithm of is %f\" % lgn"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "17\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " 1 <= 2\n",
- " 2 <= 4\n",
- " 4 <= 8\n",
- " 8 <= 16\n",
- "16 <= 17 < 32\n",
- " The discrete binary logarithm of is 4\n",
- "The continuous binary logarithm of is 4.087463\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "i=1\n",
- "print \"Enter a positive integer: \"\n",
- "n = int(raw_input())\n",
- "s=0\n",
- "while (True):\n",
- " if (i > n):\n",
- " break\n",
- " s += i\n",
- " i += 1\n",
- "\n",
- "print \"The sum of the first %d integers is %d\" %(i,s)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter a positive integer: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "10\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The sum of the first 11 integers is 55\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "count=0\n",
- "s=0\n",
- "print \"Enter positive integers (0 to quit):\" \n",
- "while True: # \"forever\"\n",
- " print \"\\t %d :\" %(count + 1),\n",
- " n = int(raw_input())\n",
- " if (n <= 0):\n",
- " break\n",
- " count += 1\n",
- " s += n\n",
- "\n",
- "print \"The average of those %d positive numbers is \" %count,\n",
- "print float(s)/count\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter positive integers (0 to quit):\n",
- "\t 1 :"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "12\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " \t 2 :"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "32\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " \t 3 :"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "11\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " \t 4 :"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The average of those 3 positive numbers is 18.3333333333\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "for x in range(1,13):\n",
- " for y in range(1,13):\n",
- " if y>x:\n",
- " break\n",
- " else:\n",
- " print '%4d' %(x*y),\n",
- " print ''\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " 1 \n",
- " 2 4 \n",
- " 3 6 9 \n",
- " 4 8 12 16 \n",
- " 5 10 15 20 25 \n",
- " 6 12 18 24 30 36 \n",
- " 7 14 21 28 35 42 49 \n",
- " 8 16 24 32 40 48 56 64 \n",
- " 9 18 27 36 45 54 63 72 81 \n",
- " 10 20 30 40 50 60 70 80 90 100 \n",
- " 11 22 33 44 55 66 77 88 99 110 121 \n",
- " 12 24 36 48 60 72 84 96 108 120 132 144 \n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "while True:\n",
- " n = int(raw_input('Enter int : '))\n",
- " if (n%2 == 0):\n",
- " continue\n",
- " if (n%3 == 0):\n",
- " break\n",
- " print \"\\tBottom of loop.\\n\"\n",
- "print \"\\tOutside of loop.\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter int : 5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tBottom of loop.\n",
- "\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter int : 4\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter int : 6\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter int : 9\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tOutside of loop.\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "N=5\n",
- "done=False\n",
- "for i in range(N):\n",
- " for j in range(N):\n",
- " if done:\n",
- " break\n",
- " for k in range(N):\n",
- " if done:\n",
- " break\n",
- " if (i+j+k>N):\n",
- " done = True\n",
- " else:\n",
- " print i+j+k,\n",
- " print \" \",\n",
- " print \"* \"\n",
- " print \".\" \n",
- " done = False\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0 1 2 3 4 * \n",
- "1 2 3 4 5 * \n",
- "2 3 4 5 * \n",
- ".\n",
- "1 2 3 4 5 * \n",
- "2 3 4 5 * \n",
- ".\n",
- "2 3 4 5 * \n",
- ".\n",
- "3 4 5 * \n",
- ".\n",
- "4 5 * \n",
- ".\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "N=5\n",
- "done=False\n",
- "for i in range(N):\n",
- " for j in range(N):\n",
- " if done:\n",
- " break\n",
- " for k in range(N):\n",
- " if done:\n",
- " break\n",
- " if (i+j+k>N):\n",
- " done = True\n",
- " else:\n",
- " print i+j+k,\n",
- " print \" \",\n",
- " print \"* \"\n",
- " print \".\" \n",
- " done = False\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0 1 2 3 4 * \n",
- "1 2 3 4 5 * \n",
- "2 3 4 5 * \n",
- ".\n",
- "1 2 3 4 5 * \n",
- "2 3 4 5 * \n",
- ".\n",
- "2 3 4 5 * \n",
- ".\n",
- "3 4 5 * \n",
- ".\n",
- "4 5 * \n",
- ".\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import random\n",
- "\n",
- "# prints pseudo-random numbers:\n",
- "\n",
- "for i in range(0,8):\n",
- " print random.random()\n",
- "\n",
- " "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0.702115758628\n",
- "0.969460447904\n",
- "0.409934401112\n",
- "0.700339443791\n",
- "0.093528851602\n",
- "0.132172955687\n",
- "0.0162887279366\n",
- "0.943010713478\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import random\n",
- "# prints pseudo-random numbers:\n",
- "print \"Enter seed: \"\n",
- "seed = int(raw_input())\n",
- "random.seed(seed);\n",
- "for i in range(0,8):\n",
- " print random.random()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter seed: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0.62290169489\n",
- "0.741786989261\n",
- "0.795193565566\n",
- "0.942450283777\n",
- "0.73989857474\n",
- "0.922324996665\n",
- "0.0290052282836\n",
- "0.465622654378\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import random\n",
- "for i in range(0,8):\n",
- " print random.random()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0.943356716998\n",
- "0.648974553137\n",
- "0.900900491751\n",
- "0.113205964653\n",
- "0.469069047782\n",
- "0.24657283262\n",
- "0.543760859236\n",
- "0.573941187928\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import random\n",
- "print \"Enter minimum and maximum: \"\n",
- "m = int(raw_input())\n",
- "n = int(raw_input())\n",
- "# lowest and highest numbers\n",
- "r = n - m + 1\n",
- "# number of numbers in range\n",
- "for i in range(0,20):\n",
- " j = int(random.random()*100 % r + m)\n",
- " print j,\n",
- " print \" \",\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter minimum and maximum: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "15\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "6 15 10 8 15 9 7 7 11 6 5 15 14 15 15 15 11 13 14 6 \n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch5.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch5.ipynb
deleted file mode 100644
index a10c8e6e..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch5.ipynb
+++ /dev/null
@@ -1,1542 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:507ed1502286b7e07eb64a51dd0502249f2763079a23aefef815ad5e65c327ad"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "# tests the sqrt() function:\n",
- "for i in range(0,6):\n",
- " print \"\\t %d \\t %f\" %(i,math.sqrt(i))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t 0 \t 0.000000\n",
- "\t 1 \t 1.000000\n",
- "\t 2 \t 1.414214\n",
- "\t 3 \t 1.732051\n",
- "\t 4 \t 2.000000\n",
- "\t 5 \t 2.236068\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "# tests the identity sin 2x = 2 sin x cos x:\n",
- "x = 0\n",
- "while x < 2:\n",
- " print \"%f \\t\\t %f \\t %f\" %(x,math.sin(2*x),2*math.sin(x)*math.cos(x))\n",
- " x += 0.2\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0.000000 \t\t 0.000000 \t 0.000000\n",
- "0.200000 \t\t 0.389418 \t 0.389418\n",
- "0.400000 \t\t 0.717356 \t 0.717356\n",
- "0.600000 \t\t 0.932039 \t 0.932039\n",
- "0.800000 \t\t 0.999574 \t 0.999574\n",
- "1.000000 \t\t 0.909297 \t 0.909297\n",
- "1.200000 \t\t 0.675463 \t 0.675463\n",
- "1.400000 \t\t 0.334988 \t 0.334988\n",
- "1.600000 \t\t -0.058374 \t -0.058374\n",
- "1.800000 \t\t -0.442520 \t -0.442520\n",
- "2.000000 \t\t -0.756802 \t -0.756802\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def cube(x):\n",
- " # returns cube of x:\n",
- " return x*x*x\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def cube(x):\n",
- " # returns cube of x:\n",
- " return x*x*x\n",
- "\n",
- "# tests the cube() function:\n",
- "n=1\n",
- "while (n != 0):\n",
- " n = int(raw_input())\n",
- " print \"\\tcube( %d ) = %d\" %(n,cube(n))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "4\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tcube( 4 ) = 64\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tcube( 2 ) = 8\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "9\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tcube( 9 ) = 729\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tcube( 0 ) = 0\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def maximum(x,y):\n",
- " # returns larger of the two given integers:\n",
- " if (x < y):\n",
- " return y\n",
- " else:\n",
- " return x\n",
- "\n",
- "# tests the max() function:\n",
- "m = 1\n",
- "n = 1\n",
- "while m != 0: \n",
- " m = int(raw_input())\n",
- " n = int(raw_input())\n",
- " print \"\\tmax( %d , %d ) = %d\" %(m,n,maximum(m,n))\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tmax( 5 , 2 ) = 5\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "3\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tmax( 0 , 3 ) = 3\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def maximum(x,y):\n",
- " # returns larger of the two given integers:\n",
- " if (x < y):\n",
- " return y\n",
- " else:\n",
- " return x\n",
- "\n",
- "# tests the max() function:\n",
- "m = 1\n",
- "n = 1\n",
- "while m != 0: \n",
- " m = int(raw_input())\n",
- " n = int(raw_input())\n",
- " print \"\\tmax( %d , %d ) = %d\" %(m,n,maximum(m,n))\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tmax( 5 , 2 ) = 5\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "3\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tmax( 0 , 3 ) = 3\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# returns larger of the two given integers:\n",
- "\n",
- "m = 1\n",
- "n = 1\n",
- "while m!=0:\n",
- " m = int(raw_input())\n",
- " n = int(raw_input())\n",
- " print \"\\tmax(%d,%d) = %d\" %(m,n, max(m,n))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "4\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tmax(5,4) = 5\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "4\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "3\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tmax(4,3) = 4\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "8\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tmax(8,0) = 8\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\tmax(0,5) = 5\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def fact(n):\n",
- " if (n < 0):\n",
- " return 0\n",
- " f = 1\n",
- " while (n > 1):\n",
- " f *= n\n",
- " n -= 1\n",
- " return f\n",
- "\n",
- "for i in range(-1,6):\n",
- " print fact(i),\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0 1 1 2 6 24 120\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def fact(n):\n",
- " if (n < 0):\n",
- " return 0\n",
- " f = 1\n",
- " while (n > 1):\n",
- " f *= n\n",
- " n -= 1\n",
- " return f\n",
- "\n",
- "\n",
- "def perm(n,k):\n",
- " # returns P(n,k), the number of permutations of k from n:\n",
- " if (n < 0 or k < 0 or k > n):\n",
- " return 0\n",
- " return fact(n)/fact(n-k)\n",
- "\n",
- "for i in range(-1,8):\n",
- " for j in range(-1,i+2):\n",
- " print perm(i,j),\n",
- " print ''\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0 0 \n",
- "0 1 0 \n",
- "0 1 1 0 \n",
- "0 1 2 2 0 \n",
- "0 1 3 6 6 0 \n",
- "0 1 4 12 24 24 0 \n",
- "0 1 5 20 60 120 120 0 \n",
- "0 1 6 30 120 360 720 720 0 \n",
- "0 1 7 42 210 840 2520 5040 5040 0 \n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def printDate(m,d,y):\n",
- " # prints the given date in literal form:\n",
- " if (m < 1 or m > 12 or d < 1 or d > 31 or y < 0):\n",
- " print \"Error: parameter out of range.\\n\"\n",
- " return\n",
- " if m == 1:\n",
- " print \"January \",\n",
- " elif m ==2:\n",
- " print \"February \",\n",
- " elif m==3 :\n",
- " print \"March \",\n",
- " elif m==4:\n",
- " print \"April \",\n",
- " elif m==5:\n",
- " print \"May \",\n",
- " elif m==6:\n",
- " print \"June \",\n",
- " elif m==7:\n",
- " print \"July \",\n",
- " elif m==8:\n",
- " print \"August \",\n",
- " elif m==9:\n",
- " print \"September \",\n",
- " elif m==10:\n",
- " print \"October \",\n",
- " elif m==1:\n",
- " print \"November \",\n",
- " else:\n",
- " print \"December \",\n",
- " print d , \", \", y \n",
- "\n",
- "# tests the printDate() function:\n",
- "month = 1\n",
- "while month > 0:\n",
- " month = int(raw_input())\n",
- " day = int(raw_input())\n",
- " year = int(raw_input())\n",
- " printDate(month,day,year)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "9\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "12\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1989\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "September 12 , 1989\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": [
- "2001\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Error: parameter out of range.\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import string\n",
- "def ispunct(s):\n",
- " return all(c in string.punctuation for c in s)\n",
- "def printCharCategory(c):\n",
- " # prints the category to which the given character belongs:\n",
- " print \"The character [\" + c + \"] is a \",\n",
- " if(c.isdigit()):\n",
- " print \"digit.\\n\"\n",
- " elif (c.islower()):\n",
- " print \"lower-case letter.\\n\"\n",
- " elif (c.isupper()): \n",
- " print \"capital letter.\\n\"\n",
- " elif (c.isspace()):\n",
- " print \"white space character.\\n\"\n",
- " elif (ord(c) >= 10 and ord(c) <= 15 or ord(c) == 0):\n",
- " print \"control character.\\n\"\n",
- " elif (ispunct(c)):\n",
- " print \"punctuation mark.\\n\"\n",
- " else:\n",
- " print \"Error.\\n\"\n",
- "\n",
- "# prints the category to which the given character belongs;\n",
- "# tests the printCharCategory() function:\n",
- "for c in range(128):\n",
- " printCharCategory(chr(c))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The character [\u0000] is a control character.\n",
- "\n",
- "The character [\u0001] is a Error.\n",
- "\n",
- "The character [\u0002] is a Error.\n",
- "\n",
- "The character [\u0003] is a Error.\n",
- "\n",
- "The character [\u0004] is a Error.\n",
- "\n",
- "The character [\u0005] is a Error.\n",
- "\n",
- "The character [\u0006] is a Error.\n",
- "\n",
- "The character [\u0007] is a Error.\n",
- "\n",
- "The character [\b] is a Error.\n",
- "\n",
- "The character [\t] is a white space character.\n",
- "\n",
- "The character [\n",
- "] is a white space character.\n",
- "\n",
- "The character [\u000b",
- "] is a white space character.\n",
- "\n",
- "The character [\f",
- "] is a white space character.\n",
- "\n",
- "The character [\r",
- "] is a white space character.\n",
- "\n",
- "The character [\u000e] is a control character.\n",
- "\n",
- "The character [\u000f] is a control character.\n",
- "\n",
- "The character [\u0010] is a Error.\n",
- "\n",
- "The character [\u0011] is a Error.\n",
- "\n",
- "The character [\u0012] is a Error.\n",
- "\n",
- "The character [\u0013] is a Error.\n",
- "\n",
- "The character [\u0014] is a Error.\n",
- "\n",
- "The character [\u0015] is a Error.\n",
- "\n",
- "The character [\u0016] is a Error.\n",
- "\n",
- "The character [\u0017] is a Error.\n",
- "\n",
- "The character [\u0018] is a Error.\n",
- "\n",
- "The character [\u0019] is a Error.\n",
- "\n",
- "The character [\u001a] is a Error.\n",
- "\n",
- "The character [\u001b] is a Error.\n",
- "\n",
- "The character [\u001c",
- "] is a Error.\n",
- "\n",
- "The character [\u001d",
- "] is a Error.\n",
- "\n",
- "The character [\u001e",
- "] is a Error.\n",
- "\n",
- "The character [\u001f] is a Error.\n",
- "\n",
- "The character [ ] is a white space character.\n",
- "\n",
- "The character [!] is a punctuation mark.\n",
- "\n",
- "The character [\"] is a punctuation mark.\n",
- "\n",
- "The character [#] is a punctuation mark.\n",
- "\n",
- "The character [$] is a punctuation mark.\n",
- "\n",
- "The character [%] is a punctuation mark.\n",
- "\n",
- "The character [&] is a punctuation mark.\n",
- "\n",
- "The character ['] is a punctuation mark.\n",
- "\n",
- "The character [(] is a punctuation mark.\n",
- "\n",
- "The character [)] is a punctuation mark.\n",
- "\n",
- "The character [*] is a punctuation mark.\n",
- "\n",
- "The character [+] is a punctuation mark.\n",
- "\n",
- "The character [,] is a punctuation mark.\n",
- "\n",
- "The character [-] is a punctuation mark.\n",
- "\n",
- "The character [.] is a punctuation mark.\n",
- "\n",
- "The character [/] is a punctuation mark.\n",
- "\n",
- "The character [0] is a digit.\n",
- "\n",
- "The character [1] is a digit.\n",
- "\n",
- "The character [2] is a digit.\n",
- "\n",
- "The character [3] is a digit.\n",
- "\n",
- "The character [4] is a digit.\n",
- "\n",
- "The character [5] is a digit.\n",
- "\n",
- "The character [6] is a digit.\n",
- "\n",
- "The character [7] is a digit.\n",
- "\n",
- "The character [8] is a digit.\n",
- "\n",
- "The character [9] is a digit.\n",
- "\n",
- "The character [:] is a punctuation mark.\n",
- "\n",
- "The character [;] is a punctuation mark.\n",
- "\n",
- "The character [<] is a punctuation mark.\n",
- "\n",
- "The character [=] is a punctuation mark.\n",
- "\n",
- "The character [>] is a punctuation mark.\n",
- "\n",
- "The character [?] is a punctuation mark.\n",
- "\n",
- "The character [@] is a punctuation mark.\n",
- "\n",
- "The character [A] is a capital letter.\n",
- "\n",
- "The character [B] is a capital letter.\n",
- "\n",
- "The character [C] is a capital letter.\n",
- "\n",
- "The character [D] is a capital letter.\n",
- "\n",
- "The character [E] is a capital letter.\n",
- "\n",
- "The character [F] is a capital letter.\n",
- "\n",
- "The character [G] is a capital letter.\n",
- "\n",
- "The character [H] is a capital letter.\n",
- "\n",
- "The character [I] is a capital letter.\n",
- "\n",
- "The character [J] is a capital letter.\n",
- "\n",
- "The character [K] is a capital letter.\n",
- "\n",
- "The character [L] is a capital letter.\n",
- "\n",
- "The character [M] is a capital letter.\n",
- "\n",
- "The character [N] is a capital letter.\n",
- "\n",
- "The character [O] is a capital letter.\n",
- "\n",
- "The character [P] is a capital letter.\n",
- "\n",
- "The character [Q] is a capital letter.\n",
- "\n",
- "The character [R] is a capital letter.\n",
- "\n",
- "The character [S] is a capital letter.\n",
- "\n",
- "The character [T] is a capital letter.\n",
- "\n",
- "The character [U] is a capital letter.\n",
- "\n",
- "The character [V] is a capital letter.\n",
- "\n",
- "The character [W] is a capital letter.\n",
- "\n",
- "The character [X] is a capital letter.\n",
- "\n",
- "The character [Y] is a capital letter.\n",
- "\n",
- "The character [Z] is a capital letter.\n",
- "\n",
- "The character [[] is a punctuation mark.\n",
- "\n",
- "The character [\\] is a punctuation mark.\n",
- "\n",
- "The character []] is a punctuation mark.\n",
- "\n",
- "The character [^] is a punctuation mark.\n",
- "\n",
- "The character [_] is a punctuation mark.\n",
- "\n",
- "The character [`] is a punctuation mark.\n",
- "\n",
- "The character [a] is a lower-case letter.\n",
- "\n",
- "The character [b] is a lower-case letter.\n",
- "\n",
- "The character [c] is a lower-case letter.\n",
- "\n",
- "The character [d] is a lower-case letter.\n",
- "\n",
- "The character [e] is a lower-case letter.\n",
- "\n",
- "The character [f] is a lower-case letter.\n",
- "\n",
- "The character [g] is a lower-case letter.\n",
- "\n",
- "The character [h] is a lower-case letter.\n",
- "\n",
- "The character [i] is a lower-case letter.\n",
- "\n",
- "The character [j] is a lower-case letter.\n",
- "\n",
- "The character [k] is a lower-case letter.\n",
- "\n",
- "The character [l] is a lower-case letter.\n",
- "\n",
- "The character [m] is a lower-case letter.\n",
- "\n",
- "The character [n] is a lower-case letter.\n",
- "\n",
- "The character [o] is a lower-case letter.\n",
- "\n",
- "The character [p] is a lower-case letter.\n",
- "\n",
- "The character [q] is a lower-case letter.\n",
- "\n",
- "The character [r] is a lower-case letter.\n",
- "\n",
- "The character [s] is a lower-case letter.\n",
- "\n",
- "The character [t] is a lower-case letter.\n",
- "\n",
- "The character [u] is a lower-case letter.\n",
- "\n",
- "The character [v] is a lower-case letter.\n",
- "\n",
- "The character [w] is a lower-case letter.\n",
- "\n",
- "The character [x] is a lower-case letter.\n",
- "\n",
- "The character [y] is a lower-case letter.\n",
- "\n",
- "The character [z] is a lower-case letter.\n",
- "\n",
- "The character [{] is a punctuation mark.\n",
- "\n",
- "The character [|] is a punctuation mark.\n",
- "\n",
- "The character [}] is a punctuation mark.\n",
- "\n",
- "The character [~] is a punctuation mark.\n",
- "\n",
- "The character [\u007f] is a Error.\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "def isPrime(n):\n",
- " # returns True if n is prime, False otherwise:\n",
- " sqrtn = math.sqrt(n)\n",
- " if (n < 2):\n",
- " return False\n",
- " # 0 and 1 are not primes\n",
- " if (n < 4):\n",
- " return True\n",
- " # 2 and 3 are the first primes\n",
- " if (n%2 == 0):\n",
- " return False\n",
- " # 2 is the only even prime\n",
- " for d in range(3,int(sqrtn+1),2):\n",
- " if (n%d == 0):\n",
- " return False\n",
- " # n has a nontrivial divisor\n",
- " return True;\n",
- "\n",
- "for n in range(0,80):\n",
- " if (isPrime(n)):\n",
- " print n,\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def isLeapYear(y):\n",
- " # returns true iff y is a leap year:\n",
- " return (y % 4 == 0 and y % 100 != 0 or y % 400 == 0)\n",
- "\n",
- "# tests the isLeapYear() function:\n",
- "n = 2\n",
- "while n > 1:\n",
- " n = int(raw_input())\n",
- " if (isLeapYear(n)):\n",
- " print \"%d is a leap year.\" % n\n",
- " else:\n",
- " print \"%d is not a leap year.\" %n\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2004\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2004 is a leap year.\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2006\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2006 is not a leap year.\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2013\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2013 is not a leap year.\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0 is a leap year.\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def age():\n",
- " # prompts the user to input his/her age, and returns that value:\n",
- " while (True):\n",
- " print \"How old are you: \"\n",
- " n = int(raw_input())\n",
- " if (n < 0):\n",
- " print \"\\a\\tYour age could not be negative.\"\n",
- " elif (n > 120):\n",
- " print \"\\a\\tYou could not be over 120.\"\n",
- " else:\n",
- " return n\n",
- " print \"\\n\\tTry again.\\n\"\n",
- "\n",
- "a = age();\n",
- "print \"\\nYou are %d years old.\" %a\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "How old are you: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-12\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\u0007\tYour age could not be negative.\n",
- "\n",
- "\tTry again.\n",
- "\n",
- "How old are you: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "125\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\u0007\tYou could not be over 120.\n",
- "\n",
- "\tTry again.\n",
- "\n",
- "How old are you: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "24\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "You are 24 years old.\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def swap(x,y):\n",
- " # exchanges the values of x and y:\n",
- " x[0],y[0] = y[0],x[0]\n",
- "\n",
- "a = [22.2]\n",
- "b = [44.4]\n",
- "print \"a = %.2f , b = %.2f \" %(a[0],b[0])\n",
- "swap(a,b)\n",
- "print \"a = %.2f , b = %.2f \" %(a[0],b[0])\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a = 22.20 , b = 44.40 \n",
- "a = 44.40 , b = 22.20 \n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def f(x,y):\n",
- " x[0]= 88\n",
- " y[0] = 99\n",
- "\n",
- "# tests the f() function:\n",
- "a = [22]\n",
- "b = [44]\n",
- "print \"a = %.2f , b = %.2f \" %(a[0],b[0])\n",
- "f(a,b)\n",
- "print \"a = %.2f , b = %.2f \" %(a[0],b[0])\n",
- "f(2*a,b)\n",
- "print \"a = %.2f , b = %.2f \" %(a[0],b[0])\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a = 22.00 , b = 44.00 \n",
- "a = 88.00 , b = 99.00 \n",
- "a = 88.00 , b = 99.00 \n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def computeCircle(r):\n",
- " # returns the area and circumference of a circle with radius r:\n",
- " PI = 3.141592653589793\n",
- " area = PI*r*r\n",
- " circumference = 2*PI*r\n",
- " return area,circumference\n",
- "\n",
- "# tests the computeCircle() function:\n",
- "print \"Enter radius: \"\n",
- "r = int(raw_input())\n",
- "a,c = computeCircle(r)\n",
- "print \"area = %.2f , circumference = %.2f\" %(a,c)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter radius: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "area = 78.54 , circumference = 31.42\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def f(x,y,z):\n",
- " x[0] += z[0]\n",
- " y[0] += z[0]\n",
- " print \"x = %d , y = %d , z = %d\" %(x[0],y[0],z[0])\n",
- "\n",
- "x = [22]\n",
- "y = [33]\n",
- "z = [44]\n",
- "\n",
- "print \"x = %d , y = %d , z = %d\" %(x[0],y[0],z[0])\n",
- "f(x,y,z)\n",
- "print \"x = %d , y = %d , z = %d\" %(x[0],y[0],z[0])\n",
- "x[0] = 2*x[0] - 3\n",
- "f(x,y,z)\n",
- "print \"x = %d , y = %d , z = %d\" %(x[0],y[0],z[0])\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 22 , y = 33 , z = 44\n",
- "x = 66 , y = 77 , z = 44\n",
- "x = 66 , y = 77 , z = 44\n",
- "x = 173 , y = 121 , z = 44\n",
- "x = 173 , y = 121 , z = 44\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def cube(x):\n",
- " # returns cube of x:\n",
- " return x*x*x\n",
- "\n",
- "# tests the cube() function:\n",
- "print cube(4)\n",
- "x = int(raw_input())\n",
- "y = cube(2*x-3)\n",
- "print y\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "64\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "343\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "x = 11\n",
- "\n",
- "def f():\n",
- " x = 44\n",
- " print \"In f(): x = %d\" % x \n",
- "\n",
- "def g():\n",
- " print \"In g(): x = %d\" % x \n",
- "\n",
- "x = 22\n",
- "x = 33\n",
- "print \"In block inside main(): x = %d\" % x\n",
- "\n",
- "\n",
- "print \"In main(): x = %d\" % x \n",
- "print \"In main(): ::x = %d\" % x \n",
- "f()\n",
- "g()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "In block inside main(): x = 33\n",
- "In main(): x = 33\n",
- "In main(): ::x = 33\n",
- "In f(): x = 44\n",
- "In g(): x = 33\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def max_(x, y,z=0):\n",
- " if x > y and x > y:\n",
- " return x\n",
- " elif y > x and y > z:\n",
- " return y\n",
- " else:\n",
- " return z\n",
- " \n",
- " \n",
- "print max(99,77), \" \" , max(55,66,33)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "99 66\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "# prints the quotient of two input integers:\n",
- "print \"Enter two integers: \"\n",
- "n = int(raw_input())\n",
- "d = int(raw_input())\n",
- "if (d == 0):\n",
- " import sys\n",
- " sys.exit(0)\n",
- "print n , \"/\" , d , \" = \" , n/d \n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter two integers: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "8\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "8 / 2 = 4\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def reciprocal(x):\n",
- " #returns the reciprocal of x:\n",
- " if (x == 0):\n",
- " import sys\n",
- " sys.exit(1); # terminate the program\n",
- " return 1.0/x\n",
- "\n",
- "x = float(raw_input())\n",
- "print reciprocal(x)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "25\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0.04\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def p(x,a0,a1=0,a2=0,a3=0):\n",
- " # returns a0 + a1*x + a2*x^2 + a3*x^3:\n",
- " return (a0 + (a1 + (a2 + a3*x)*x)*x)\n",
- "\n",
- "\n",
- "# tests the p() function:\n",
- "x = 2.0003\n",
- "print \"p(x,7) = %f\" % p(x,7)\n",
- "print \"p(x,7,6) = %f\" % p(x,7,6)\n",
- "print \"p(x,7,6,5) = %f\" % p(x,7,6,5)\n",
- "print \"p(x,7,6,5,4) = %f\" % p(x,7,6,5,4)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "p(x,7) = 7.000000\n",
- "p(x,7,6) = 19.001800\n",
- "p(x,7,6,5) = 39.007800\n",
- "p(x,7,6,5,4) = 71.022203\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch6.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch6.ipynb
deleted file mode 100644
index e1a26f6e..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch6.ipynb
+++ /dev/null
@@ -1,1139 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:a7aedcfda01e5e2719af0a5e76da43c6e7b01797bb61e0483e48a2e68eb0941d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "a = [0, 0, 0]\n",
- "a[2] = 55.55\n",
- "a[0] = 11.11\n",
- "a[1] = 33.33\n",
- "print \"a[0] = \" , a[0] \n",
- "print \"a[1] = \" , a[1] \n",
- "print \"a[2] = \" , a[2] \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a[0] = 11.11\n",
- "a[1] = 33.33\n",
- "a[2] = 55.55\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "SIZE=5 # defines the size N for 5 elements\n",
- "a = []\n",
- "# declares the array's elements as type double\n",
- "print \"Enter \" , SIZE , \" numbers:\\t\"\n",
- "for i in range(SIZE):\n",
- " a.append(float(raw_input()))\n",
- " \n",
- "print \"In reverse order: \"\n",
- "for i in range(SIZE-1,-1,-1):\n",
- " print \"\\t\" , a[i]\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter 5 numbers:\t\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.3\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "4.4\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5.5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "In reverse order: \n",
- "\t5.5\n",
- "\t4.4\n",
- "\t3.3\n",
- "\t2.0\n",
- "\t1.0\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "a = [ 22.2, 44.4, 66.6 ]\n",
- "\n",
- "size = len(a)\n",
- "for i in range(size):\n",
- " print \"\\ta[\" , i , \"] = \" , a[i]\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\ta[ 0 ] = 22.2\n",
- "\ta[ 1 ] = 44.4\n",
- "\ta[ 2 ] = 66.6\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "a = [ 22.2, 44.4, 66.6 , 0 ,0,0,0]\n",
- "size = len(a)\n",
- "for i in range(size):\n",
- " print \"\\ta[\" , i , \"] = \" , a[i] \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\ta[ 0 ] = 22.2\n",
- "\ta[ 1 ] = 44.4\n",
- "\ta[ 2 ] = 66.6\n",
- "\ta[ 3 ] = 0\n",
- "\ta[ 4 ] = 0\n",
- "\ta[ 5 ] = 0\n",
- "\ta[ 6 ] = 0\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import numpy\n",
- "SIZE = 4\n",
- "a = numpy.zeros(4)\n",
- "# declares the array's elements as type float\n",
- "for i in range(SIZE):\n",
- " print \"\\ta[\" , i , \"] = \" , a[i]\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\ta[ 0 ] = 0.0\n",
- "\ta[ 1 ] = 0.0\n",
- "\ta[ 2 ] = 0.0\n",
- "\ta[ 3 ] = 0.0\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "SIZE=4\n",
- "a = [ 33.3, 44.4, 55.5, 66.6 ]\n",
- "for i in range(7): # ERROR: index is out of bounds!\n",
- " print \"\\ta[\" , i , \"] = \" , a[i] \n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "IndexError",
- "evalue": "list index out of range",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)",
- "\u001b[1;32m<ipython-input-6-248fbb50a5b0>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m \u001b[1;36m33.3\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m44.4\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m55.5\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m66.6\u001b[0m \u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m7\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;31m# ERROR: index is out of bounds!\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[1;32mprint\u001b[0m \u001b[1;34m\"\\ta[\"\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0mi\u001b[0m \u001b[1;33m,\u001b[0m \u001b[1;34m\"] = \"\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0ma\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 9\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;31mIndexError\u001b[0m: list index out of range"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\ta[ 0 ] = 33.3\n",
- "\ta[ 1 ] = 44.4\n",
- "\ta[ 2 ] = 55.5\n",
- "\ta[ 3 ] = 66.6\n",
- "\ta[ 4 ] = "
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "a = [ 22.2, 44.4, 66.6 ]\n",
- "x=11.1\n",
- "print \"x = \" , x \n",
- "a.append(88.8) # ERROR: index is out of bounds!\n",
- "print \"x = \" , x \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " x = 11.1\n",
- "x = 11.1\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "a = [ 22.2, 44.4, 66.6 ]\n",
- "x=11.1\n",
- "print \"x = \" , x \n",
- "a[3333] = 88.8 # ERROR: index is out of bounds!\n",
- "print \"x = \" , x \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "IndexError",
- "evalue": "list assignment index out of range",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)",
- "\u001b[1;32m<ipython-input-8-63b6c8e60294>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m11.1\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;32mprint\u001b[0m \u001b[1;34m\"x = \"\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[0ma\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m3333\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m88.8\u001b[0m \u001b[1;31m# ERROR: index is out of bounds!\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 9\u001b[0m \u001b[1;32mprint\u001b[0m \u001b[1;34m\"x = \"\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;31mIndexError\u001b[0m: list assignment index out of range"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 11.1\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def sum_(a):\n",
- " s = 0\n",
- " for i in a:\n",
- " s += i\n",
- " return s\n",
- " \n",
- "a = [ 11, 33, 55, 77 ]\n",
- "print \"sum(a) = \" , sum_(a) \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "sum(a) = 176\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def read(a):\n",
- " print \"Enter integers. Terminate with 0:\\n\"\n",
- " n = 1\n",
- " while True:\n",
- " n = int(raw_input(\"a[\" + str(len(a)) + \"]: \"))\n",
- " if n == 0:\n",
- " break\n",
- " a.append(n)\n",
- " \n",
- "\n",
- "def print_(a):\n",
- " for i in a:\n",
- " print i ,\n",
- "\n",
- "\n",
- "a = []\n",
- "read(a)\n",
- "print \"The array has \" , len(a) , \" elements: \"\n",
- "print_(a)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter integers. Terminate with 0:\n",
- "\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a[0]: 11\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a[1]: 22\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a[2]: 33\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a[3]: 44\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a[4]: 0\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The array has 4 elements: \n",
- "11 22 33 44\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import sys\n",
- "a = [ 22, 44, 66, 88 ]\n",
- "print \"a = \" , id(a) # the address of a[0]\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a = 169156908\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def index(x,a,n):\n",
- " for i in range(len(a)):\n",
- " if (a[i] == x):\n",
- " return i\n",
- " return n # x not found\n",
- "\n",
- "a = [ 22, 44, 66, 88, 44, 66, 55 ]\n",
- "print \"index(44,a,7) = \" , index(44,a,7)\n",
- "print \"index(50,a,7) = \" , index(50,a,7) \n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "index(44,a,7) = 1\n",
- "index(50,a,7) = 7\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def sort(a,n):\n",
- " # bubble sort:\n",
- " n = len(a)\n",
- " for i in range(n):\n",
- " # bubble up max{a[0..n-i]}:\n",
- " for j in range(n-i-1):\n",
- " if (a[j] > a[j+1]):\n",
- " a[j],a[j+1] = a[j+1],a[j]\n",
- "\n",
- "def print_(a):\n",
- " for i in range(len(a)):\n",
- " print a[i],\n",
- " print ''\n",
- " \n",
- "a = [55.5, 22.5, 99.9, 66.6, 44.4, 88.8, 33.3, 77.7]\n",
- "\n",
- "print_(a)\n",
- "sort(a,8)\n",
- "print_(a)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55.5 22.5 99.9 66.6 44.4 88.8 33.3 77.7 \n",
- "22.5 33.3 44.4 55.5 66.6 77.7 88.8 99.9 \n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def index(x,a,n):\n",
- " # PRECONDITION: a[0] <= a[1] <= ... <= a[n-1];\n",
- " # binary search:\n",
- " lo=0\n",
- " hi=n-1\n",
- " while (lo <= hi):\n",
- " i = (lo + hi)/2 # the average of lo and hi\n",
- " if (a[i] == x):\n",
- " return i\n",
- " if (a[i] < x):\n",
- " lo = i+1 # continue search in a[i+1..hi]\n",
- " else:\n",
- " hi = i-1 # continue search in a[lo..i-1]\n",
- " return n # x was not found in a[0..n-1]\n",
- "\n",
- "a = [ 22, 33, 44, 55, 66, 77, 88 ]\n",
- "print \"index(44,a,7) = \" , index(44,a,7)\n",
- "print \"index(60,a,7) = \" , index(60,a,7) \n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "index(44,a,7) = 2\n",
- "index(60,a,7) = 7\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def isNondecreasing(a,n):\n",
- " # returns true iff a[0] <= a[1] <= ... <= a[n-1]:\n",
- " for i in range(1,n):\n",
- " if (a[i]<a[i-1]):\n",
- " return False\n",
- " return True\n",
- "\n",
- "a = [ 22, 44, 66, 88, 44, 66, 55 ]\n",
- "print \"isNondecreasing(a,4) = \" , isNondecreasing(a,4)\n",
- "print \"isNondecreasing(a,7) = \" , isNondecreasing(a,7)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "isNondecreasing(a,4) = True\n",
- "isNondecreasing(a,7) = False\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def isNondecreasing(a,n):\n",
- " # returns true iff a[0] <= a[1] <= ... <= a[n-1]:\n",
- " for i in range(1,n):\n",
- " if (a[i]<a[i-1]):\n",
- " return False\n",
- " return True\n",
- "\n",
- "\n",
- "def index(x,a,n):\n",
- " # PRECONDITION: a[0] <= a[1] <= ... <= a[n-1];\n",
- " # binary search:\n",
- " assert(isNondecreasing(a,n)) \n",
- " \n",
- " lo=0\n",
- " hi=n-1\n",
- " while (lo <= hi):\n",
- " i = (lo + hi)/2\n",
- " if (a[i] == x):\n",
- " return i\n",
- " if (a[i] < x):\n",
- " lo = i+1 # continue search in a[i+1..hi]\n",
- " else:\n",
- " hi = i-1 # continue search in a[lo..i-1]\n",
- " return n # x was not found in a[0..n-1]\n",
- "\n",
- "a = [ 22, 33, 44, 55, 66, 77, 88, 60 ]\n",
- "print \"index(44,a,7) = \" , index(44,a,7) \n",
- "print \"index(44,a,8.py) = \" , index(44,a,8) \n",
- "print \"index(60,a,7) = \" , index(60,a,8)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "AssertionError",
- "evalue": "",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mAssertionError\u001b[0m Traceback (most recent call last)",
- "\u001b[1;32m<ipython-input-18-3a784dd6b25e>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 34\u001b[0m \u001b[0ma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m \u001b[1;36m22\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m33\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m44\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m55\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m66\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m77\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m88\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m60\u001b[0m \u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 35\u001b[0m \u001b[1;32mprint\u001b[0m \u001b[1;34m\"index(44,a,7) = \"\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m44\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m7\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 36\u001b[1;33m \u001b[1;32mprint\u001b[0m \u001b[1;34m\"index(44,a,7) = \"\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m44\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m8\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 37\u001b[0m \u001b[1;32mprint\u001b[0m \u001b[1;34m\"index(60,a,7) = \"\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m60\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m8\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;32m<ipython-input-18-3a784dd6b25e>\u001b[0m in \u001b[0;36mindex\u001b[1;34m(x, a, n)\u001b[0m\n\u001b[0;32m 18\u001b[0m \u001b[1;31m# PRECONDITION: a[0] <= a[1] <= ... <= a[n-1];\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[1;31m# binary search:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m \u001b[1;32massert\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0misNondecreasing\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mn\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 21\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[0mlo\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;31mAssertionError\u001b[0m: "
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "index(44,a,7) = 2\n",
- "index(44,a,7) = "
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Day = [ 0, 1, 2, 3, 4, 5, 6 ]\n",
- "high = [ 88.3, 95.0, 91.2, 89.9, 91.4, 92.5, 86.7]\n",
- "\n",
- "for i in Day:\n",
- " print \"The high temperature for day \" , i , \" was \" , high[i] \n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The high temperature for day 0 was 88.3\n",
- "The high temperature for day 1 was 95.0\n",
- "The high temperature for day 2 was 91.2\n",
- "The high temperature for day 3 was 89.9\n",
- "The high temperature for day 4 was 91.4\n",
- "The high temperature for day 5 was 92.5\n",
- "The high temperature for day 6 was 86.7\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def sort(a,n):\n",
- " a.sort()\n",
- "\n",
- "def print_(a,n):\n",
- " for i in a:\n",
- " print i,\n",
- " print ''\n",
- "a = [55.5, 22.5, 99.9, 66.6, 44.4, 88.8, 33.3, 77.7]\n",
- "print_(a,8);\n",
- "sort(a,8)\n",
- "print_(a,8)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55.5 22.5 99.9 66.6 44.4 88.8 33.3 77.7 \n",
- "22.5 33.3 44.4 55.5 66.6 77.7 88.8 99.9 \n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def read(a):\n",
- " print \"Enter 15 integers, 5 per row:\\n\"\n",
- " for i in range(3):\n",
- " ar = []\n",
- " print \"Row \" , i , \": \",\n",
- " for j in range(5):\n",
- " ar.append(int(raw_input()))\n",
- " a.append(ar)\n",
- "\n",
- "def print_(a):\n",
- " for i in range(3):\n",
- " for j in range(5):\n",
- " print a[i][j],\n",
- " print ''\n",
- "a = []\n",
- "read(a)\n",
- "print_(a)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter 15 integers, 5 per row:\n",
- "\n",
- "Row 0 : "
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "77\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "33\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "11\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Row 1 : "
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "60\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "50\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "30\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "90\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "70\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Row 2 : "
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "85\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "25\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "45\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "45\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "55\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " 44 77 33 11 44 \n",
- "60 50 30 90 70 \n",
- "85 25 45 45 55 \n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def read(score):\n",
- " for s in range(3):\n",
- " print \"Student \" , s , \": \",\n",
- " st = []\n",
- " for q in range(5):\n",
- " st.append(int(raw_input()))\n",
- " score.append(st)\n",
- "\n",
- "def printQuizAverages(score):\n",
- " for s in range(3):\n",
- " sm = 0\n",
- " for q in range(5):\n",
- " sm += score[s][q]\n",
- " print \"\\tStudent \" , s , \": \" , sm/5.0\n",
- "\n",
- "def printClassAverages(score):\n",
- " for q in range(5):\n",
- " sm = 0\n",
- " for s in range(3):\n",
- " sm += score[s][q]\n",
- " print \"\\tQuiz \" , q , \": \" , sm/3.0\n",
- "\n",
- "\n",
- "\n",
- "NUM_STUDENTS = 3\n",
- "NUM_QUIZZES = 5\n",
- "\n",
- "\n",
- "score = []\n",
- "print \"Enter \" , NUM_QUIZZES , \" scores for each student: \"\n",
- "read(score)\n",
- "print \"The quiz averages are:\"\n",
- "printQuizAverages(score)\n",
- "print \"The class averages are: \"\n",
- "printClassAverages(score)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter 5 scores for each student: \n",
- "Student 0 : "
- ]
- },
- {
- "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": [
- "9\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": [
- " Student 1 : "
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "9\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "9\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "9\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "9\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "8\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Student 2 : "
- ]
- },
- {
- "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": [
- "7\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": [
- " The quiz averages are:\n",
- "\tStudent 0 : 8.2\n",
- "\tStudent 1 : 8.8\n",
- "\tStudent 2 : 7.0\n",
- "The class averages are: \n",
- "\tQuiz 0 : 7.33333333333\n",
- "\tQuiz 1 : 7.33333333333\n",
- "\tQuiz 2 : 8.33333333333\n",
- "\tQuiz 3 : 8.33333333333\n",
- "\tQuiz 4 : 8.66666666667\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def numZeros(a,n1,n2,n3):\n",
- " count = 0\n",
- " for i in range(n1):\n",
- " for j in range(n2):\n",
- " for k in range(n3):\n",
- " if (a[i][j][k] == 0):\n",
- " count += 1\n",
- " return count\n",
- "\n",
- "\n",
- "a = [ [ [5,0,2], [0,0,9], [4,1,0], [7,7,7] ],[ [3,0,0], [8,5,0], [0,0,0], [2,0,9] ]]\n",
- "print \"This array has \" , numZeros(a,2,4,3) , \" zeros\"\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "This array has 11 zeros\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch7.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch7.ipynb
deleted file mode 100644
index ad8cdac0..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch7.ipynb
+++ /dev/null
@@ -1,629 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:653231542b6fdffa18c8d3af4f8fe1f2545223a4300162071901adcb77895ba7"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "n=44\n",
- "print \"n = \" , n \n",
- "# prints the value of n\n",
- "print \"&n = \" , hex(id(n)) # prints the address of n\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 44\n",
- "&n = 0x8fc0eec\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "n = [44]\n",
- "rn=n # r is a synonym for n\n",
- "print \"n = \" , n , \", rn = \" , rn \n",
- "n[0] -= 1\n",
- "print \"n = \" , n , \", rn = \" , rn \n",
- "rn[0] *= 2\n",
- "print \"n = \" , n , \", rn = \" , rn \n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = [44] , rn = [44]\n",
- "n = [43] , rn = [43]\n",
- "n = [86] , rn = [86]\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "n = [44]\n",
- "rn=n # r is a synonym for n\n",
- "print \"&n = \" , hex(id(n)) , \", rn = \" , hex(id(rn ))\n",
- "rn2 = n\n",
- "rn3 = rn\n",
- "print \"&rn2 = \" , hex(id(rn2)) , \", rn = \" , hex(id(rn ))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "&n = 0x9c6228c , rn = 0x9c6228c\n",
- "&rn2 = 0x9c6228c , rn = 0x9c6228c\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "n = [44]\n",
- "print \"n = \" , n , \", &n = \" , hex(id(n))\n",
- "pn = n\n",
- "print \"pn = \" , hex(id(pn)) , \", &pn = \" , hex(id(hex(id(pn))))\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = [44] , &n = 0x9c624ec\n",
- "pn = 0x9c624ec , &pn = 0x9c6aa60\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "n = [44]\n",
- "print \"n = \" , n , \", &n = \" , hex(id(n))\n",
- "pn = n\n",
- "print \"\\tpn = \" , hex(id(pn)) , \",\\n &pn = \" , hex(id(hex(id(pn))))\n",
- "print \"*pn = \" , pn\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = [44] , &n = 0x9c58d6c\n",
- "\tpn = 0x9c58d6c ,\n",
- " &pn = 0x9c6ab20\n",
- "*pn = [44]\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "n = [44]\n",
- "print \"n = \" , n , \", &n = \" , hex(id(n))\n",
- "pn = n\n",
- "print \"\\tpn = \" , hex(id(pn)) , \",\\n &pn = \" , hex(id(hex(id(pn))))\n",
- "print \"*pn = \" , pn\n",
- "ppn = pn\n",
- "\n",
- "print \" ppn = \" , hex(id(hex(id(ppn)))) \n",
- "print \" &ppn = \" , hex(id(hex(id(hex(id(ppn))))))\n",
- "print \" *ppn = \" , hex(id(ppn)) \n",
- "print \"**ppn = \" , ppn \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = [44] , &n = 0x9bf05ac\n",
- "\tpn = 0x9bf05ac ,\n",
- " &pn = 0x9c58160\n",
- "*pn = [44]\n",
- " ppn = 0x9c58680\n",
- " &ppn = 0x9c58160\n",
- " *ppn = 0x9bf05ac\n",
- "**ppn = [44]\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "n = [44]\n",
- "print \"n = \" , n , \"\\n &n = \" , hex(id(n))\n",
- "pn = n\n",
- "print \"\\tpn = \" , hex(id(pn)) , \",\\n &pn = \" , hex(id(hex(id(pn))))\n",
- "print \"*pn = \" , pn\n",
- "nn = pn\n",
- "print \" ppn = \" , hex(id(nn))\n",
- "print \" &ppn = \" , hex(id(hex(id(nn))))\n",
- "rpn = pn\n",
- "print \" ppn = \" , hex(id(rpn))\n",
- "print \" &ppn = \" , hex(id(hex(id(rpn))))\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = [44] \n",
- " &n = 0x9bf60ec\n",
- "\tpn = 0x9bf60ec ,\n",
- " &pn = 0x9bf0e40\n",
- "*pn = [44]\n",
- " ppn = 0x9bf60ec\n",
- " &ppn = 0x9bf0e40\n",
- " ppn = 0x9bf60ec\n",
- " &ppn = 0x9bf0f20\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def max_(m,n):\n",
- " if m>n:\n",
- " return m\n",
- " else:\n",
- " return n\n",
- "\n",
- "m = 44\n",
- "n = 22\n",
- "print m , \", \" , n , \", \" , max_(m,n)\n",
- "m = max_(m,n) \n",
- "m = 55\n",
- "# changes the value of m from 44 to 55\n",
- "print m , \", \" , n , \", \" , max_(m,n) \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44 , 22 , 44\n",
- "55 , 22 , 55\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "v = []\n",
- "for k in range(1,5):\n",
- " v.append(1.0/k)\n",
- "\n",
- "for i in range(4):\n",
- " print \"v[\" , i , \"] = \" , v[i]\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "v[ 0 ] = 1.0\n",
- "v[ 1 ] = 0.5\n",
- "v[ 2 ] = 0.333333333333\n",
- "v[ 3 ] = 0.25\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import sys\n",
- "a = [22, 33, 44]\n",
- "\n",
- "print \"a = \" , hex(id(a))\n",
- "print \"sizeof(int) = \" , sys.getsizeof(1) \n",
- "s = 0\n",
- "for i in a:\n",
- " s += i\n",
- " print \"\\t i = \" , hex(id(i)),\n",
- " print \"\\t *i = \" , i,\n",
- " print \"\\t sum = \" , s\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a = 0x9bf688c\n",
- "sizeof(int) = 12\n",
- "\t i = 0x8fc0ff4 \t *i = 22 \t sum = 22\n",
- "\t i = 0x8fc0f70 \t *i = 33 \t sum = 55\n",
- "\t i = 0x8fc0eec \t *i = 44 \t sum = 99\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "a = [22, 33, 44, 55, 66]\n",
- "print \"a = \" , hex(id(a)) , \", *a = \" , a[0] \n",
- "for p in a:\n",
- " print \"p = \" , hex(id(p)) , \", *p = \" , p \n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a = 0x9c6526c , *a = 22\n",
- "p = 0x8fc0ff4 , *p = 22\n",
- "p = 0x8fc0f70 , *p = 33\n",
- "p = 0x8fc0eec , *p = 44\n",
- "p = 0x8fc0e68 , *p = 55\n",
- "p = 0x8fc0de4 , *p = 66\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "def loc(a1,a2,n1,n2):\n",
- " p = []\n",
- " for element in a2:\n",
- " if element in a1:\n",
- " p.append(element)\n",
- " return p\n",
- "\n",
- "a1 = [11, 11, 11, 11, 11, 22, 33, 44, 55]\n",
- "a2 = [11, 11, 11, 22, 33]\n",
- "print \"Array a1 begins at location\\t\" , hex(id(a1 ))\n",
- "print \"Array a2 begins at location\\t\" , hex(id(a2)) \n",
- "p = loc(a1, a2, 9, 5)\n",
- "if (p):\n",
- " print \"Array a2 found at location\\t\" , hex(id(p))\n",
- " for i in range(len(p)):\n",
- " print \"\\t\" , hex(id(p[i])) , \": \" , p[i], \"\\t\" , hex(id(a2[i])) , \": \" , a2[i] \n",
- "else:\n",
- " print \"Not found.\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Array a1 begins at location\t0x9bea56c\n",
- "Array a2 begins at location\t0x9bea62c\n",
- "Array a2 found at location\t0x9bea6cc\n",
- "\t0x8fc1078 : 11 \t0x8fc1078 : 11\n",
- "\t0x8fc1078 : 11 \t0x8fc1078 : 11\n",
- "\t0x8fc1078 : 11 \t0x8fc1078 : 11\n",
- "\t0x8fc0ff4 : 22 \t0x8fc0ff4 : 22\n",
- "\t0x8fc0f70 : 33 \t0x8fc0f70 : 33\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "def get(a):\n",
- " print \"Enter number of items: \"\n",
- " n = int(raw_input())\n",
- " print \"Enter \" , n , \" items, one per line:\"\n",
- " for i in range(n):\n",
- " print \"\\t\" , i+1 , \": \",\n",
- " a.append(float(raw_input()))\n",
- "\n",
- "def print_(a):\n",
- " for i in range(len(a)):\n",
- " print a[i] ,\n",
- " print ''\n",
- "\n",
- "a = []\n",
- "get(a)\n",
- "print_(a)\n",
- "a = []\n",
- "get(a)\n",
- "print_(a)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter number of items: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "4\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter 4 items, one per line:\n",
- "\t1 : "
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44.4\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " \t2 : "
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "77.7\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " \t3 : "
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "22.2\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " \t4 : "
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "88.8\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " 44.4 77.7 22.2 88.8 \n",
- "Enter number of items: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter 2 items, one per line:\n",
- "\t1 : "
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "3.33\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " \t2 : "
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "9.99\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " 3.33 9.99 \n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "def sort(p, n):\n",
- " for i in range(1,n):\n",
- " for j in range(n-i):\n",
- " if (p[j] > p[j+1]):\n",
- " p[j],p[j+1] = p[j+1],p[j]\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 14
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "def sum_(k,n):\n",
- " # returns the sum f(0) + f(1) + f(2) + . . . + f(n-1):\n",
- " s = 0\n",
- " for i in range(1,n+1):\n",
- " s += k(i)\n",
- " return s\n",
- "\n",
- "def square(k):\n",
- " return k*k\n",
- "\n",
- "def cube(k):\n",
- " return k*k*k\n",
- "\n",
- "\n",
- "print sum_(square,4) # 1 + 4 + 9 + 16\n",
- "print sum_(cube,4) # 1 + 8 + 27 + 64\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "30\n",
- "100\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch8.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch8.ipynb
deleted file mode 100644
index a4d4d774..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch8.ipynb
+++ /dev/null
@@ -1,947 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:79346296b970ba1771cf99da135ed51f1d98b24ac99e0b8758fa3cab63c95d45"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "n= [44] # n holds the int 44\n",
- "print \"int n=44; // n holds the int 44:\\n\";\n",
- "print \"\\t\\t n = \" , n \n",
- "print \"\\t\\t &n = \" , hex(id(n))\n",
- "pn = n \n",
- "print \"int* pn=&n; // pn holds the address of n:\\n\";\n",
- "print \"\\t\\t n = \" , n \n",
- "print \"\\t\\t &n = \" , hex(id(n))\n",
- "print \"\\t\\t pn = \" , hex(id(pn)) \n",
- "print \"\\t\\t &pn = \" , hex(id(hex(id(pn))))\n",
- "print \"\\t\\t *pn = \" , pn\n",
- "\n",
- "pn[0] = 77 # changes the value of n to 77\n",
- "print \"*pn = 77; // changes the value of n to 77:\\n\";\n",
- "print \"\\t\\t n = \" , n \n",
- "print \"\\t\\t &n = \" , hex(id(n))\n",
- "print \"\\t\\t pn = \" , hex(id(pn)) \n",
- "print \"\\t\\t &pn = \" , hex(id(hex(id(pn))))\n",
- "print \"\\t\\t *pn = \" , pn\n",
- "\n",
- "q = n \n",
- "print \"int* q=&n; // q also holds the address of n:\\n\";\n",
- "print \"\\t\\t n = \" , n \n",
- "print \"\\t\\t &n = \" , hex(id(n))\n",
- "print \"\\t\\t pn = \" , hex(id(pn)) \n",
- "print \"\\t\\t &pn = \" , hex(id(hex(id(pn))))\n",
- "print \"\\t\\t *pn = \" , pn\n",
- "print \"\\t\\t q = \" , hex(id(q))\n",
- "print \"\\t\\t &q = \" , hex(id(hex(id(hex(id(pn))))))\n",
- "print \"\\t\\t *q = \" , q \n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "int n=44; // n holds the int 44:\n",
- "\n",
- "\t\t n = [44]\n",
- "\t\t &n = 0x9bfb92c\n",
- "int* pn=&n; // pn holds the address of n:\n",
- "\n",
- "\t\t n = [44]\n",
- "\t\t &n = 0x9bfb92c\n",
- "\t\t pn = 0x9bfb92c\n",
- "\t\t &pn = 0x9bf5aa0\n",
- "\t\t *pn = [44]\n",
- "*pn = 77; // changes the value of n to 77:\n",
- "\n",
- "\t\t n = [77]\n",
- "\t\t &n = 0x9bfb92c\n",
- "\t\t pn = 0x9bfb92c\n",
- "\t\t &pn = 0x9c6a760\n",
- "\t\t *pn = [77]\n",
- "int* q=&n; // q also holds the address of n:\n",
- "\n",
- "\t\t n = [77]\n",
- "\t\t &n = 0x9bfb92c\n",
- "\t\t pn = 0x9bfb92c\n",
- "\t\t &pn = 0x9bf5c80\n",
- "\t\t *pn = [77]\n",
- "\t\t q = 0x9bfb92c\n",
- "\t\t &q = 0x9c6a760\n",
- "\t\t *q = [77]\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "s = \"ABCD\"\n",
- "for i in range(4):\n",
- " print \"s[\" , i , \"] = '\" , s[i] , \"'\\n\";\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "s[ 0 ] = ' A '\n",
- "\n",
- "s[ 1 ] = ' B '\n",
- "\n",
- "s[ 2 ] = ' C '\n",
- "\n",
- "s[ 3 ] = ' D '\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "while True:\n",
- " word = raw_input()\n",
- " if len(word) < 2:\n",
- " break\n",
- " l = word.split(' ')\n",
- " for i in l:\n",
- " print '\\t\"' , i , '\"'\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Today's date is March 12, 2000.\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t\" Today's \"\n",
- "\t\" date \"\n",
- "\t\" is \"\n",
- "\t\" March \"\n",
- "\t\" 12, \"\n",
- "\t\" 2000. \"\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Tomorrow is Monday.\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t\" Tomorrow \"\n",
- "\t\" is \"\n",
- "\t\" Monday. \"\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "while True:\n",
- " line = raw_input()\n",
- " if len(line) < 2:\n",
- " break\n",
- " print \"\\t[\" , line , \"]\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Once upon a midnight dreary, while I pondered, weak and weary,\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t[ Once upon a midnight dreary, while I pondered, weak and weary, ]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Over a many quaint and curious volume of forgotten lore,\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t[ Over a many quaint and curious volume of forgotten lore, ]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "\n",
- "while True:\n",
- " word = raw_input()\n",
- " if len(word) < 2:\n",
- " break\n",
- " l = word.split(',')\n",
- " for i in range(len(l)-1):\n",
- " print '\\t[' , l[i] , ']'\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Once upon a midnight dreary, while I pondered, weak and weary,\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t[ Once upon a midnight dreary ]\n",
- "\t[ while I pondered ]\n",
- "\t[ weak and weary ]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Over a many quaint and curious volume of forgotten lore,\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t[ Over a many quaint and curious volume of forgotten lore ]\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "count = 0\n",
- "while True:\n",
- " a = raw_input()\n",
- " if len(a) < 1:\n",
- " break\n",
- " for ch in a:\n",
- " if (ch == 'e'): count+=1\n",
- " \n",
- "print count , \" e's were counted.\\n\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Once upon a midnight dreary, while I pondered, weak and weary,\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Over many a quaint and curious volume of forgotten lore,\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "11 e's were counted.\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "while True:\n",
- " a = raw_input()\n",
- " if len(a) < 1:\n",
- " break\n",
- " print a.title()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Fourscore and seven years ago our fathers\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Fourscore And Seven Years Ago Our Fathers\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "brought forth upon this continent a new nation,\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Brought Forth Upon This Continent A New Nation,\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "a = raw_input()\n",
- "l = a.split(' ')\n",
- "nos = []\n",
- "for i in l:\n",
- " try:\n",
- " i = int(i)\n",
- " nos.append(i)\n",
- " except:\n",
- " continue\n",
- "m = nos[0]\n",
- "n = nos[1] \n",
- "print m , \" + \" , n , \" = \" , m+n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "what is 305 plus 9416 ?\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "305 + 9416 = 9721\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "name = []\n",
- "count=0\n",
- "\n",
- "print \"Enter at most 4 names with at most 19 characters:\\n\";\n",
- "while (True):\n",
- " n = raw_input()\n",
- " if len(n) < 1:\n",
- " break\n",
- " name.append(n)\n",
- " count += 1\n",
- " \n",
- "print \"The names are:\\n\"\n",
- "for i in range(count):\n",
- " print \"\\t\" , i , \". [\" , name[i] , \"]\" \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter at most 4 names with at most 19 characters:\n",
- "\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "George Washington\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "John Adams\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Thomas Jefferson\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The names are:\n",
- "\n",
- "\t0 . [ George Washington ]\n",
- "\t1 . [ John Adams ]\n",
- "\t2 . [ Thomas Jefferson ]\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "name = []\n",
- "count=0\n",
- "\n",
- "print \"Enter at most 4 names with at most 19 characters:\\n\";\n",
- "while (True):\n",
- " n = raw_input()\n",
- " if len(n) < 1:\n",
- " break\n",
- " name.append(n)\n",
- " count += 1\n",
- " \n",
- "print \"The names are:\\n\"\n",
- "for i in range(count):\n",
- " print \"\\t\" , i , \". [\" , name[i] , \"]\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Enter at most 4 names with at most 19 characters:\n",
- "\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "George Washington\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "John Adams\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Thomas Jefferson\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The names are:\n",
- "\n",
- "\t0 . [ George Washington ]\n",
- "\t1 . [ John Adams ]\n",
- "\t2 . [ Thomas Jefferson ]\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "name = [ \"George Washington\", \"John Adams\", \"Thomas Jefferson\"]\n",
- "print \"The names are:\\n\"\n",
- "for i in range(3):\n",
- " print \"\\t\" , i , \". [\" , name[i] , \"]\"\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The names are:\n",
- "\n",
- "\t0 . [ George Washington ]\n",
- "\t1 . [ John Adams ]\n",
- "\t2 . [ Thomas Jefferson ]\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "s = \"ABCDEFG\"\n",
- "print \"len(\" , s , \") = \" , len(s) \n",
- "print \"len(\\\"\\\") = \" , len(\"\")\n",
- "print \"Enter string: \"\n",
- "b = raw_input()\n",
- "print \"len(\" , b , \") = \" , len(b)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "len( ABCDEFG ) = 7\n",
- "len(\"\") = 0\n",
- "Enter string: \n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "hello how are you !!!\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "len( hello how are you !!! ) = 21\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "s = \"The Mississippi is a long river.\"\n",
- "print 's = \"' , s , '\"'\n",
- "p = s.find(' ')\n",
- "print \"find(s, ' ') points to s[\" , p , \"].\"\n",
- "p = s.find('s')\n",
- "print \"find(s, 's') points to s[\" , p , \"].\"\n",
- "p = s.rfind('s')\n",
- "print \"reverse find(s, 's') points to s[\" , p , \"].\"\n",
- "p = s.find(\"is\")\n",
- "print \"strstr(s, \\\"is\\\") points to s[\" , p , \"].\"\n",
- "p = s.find(\"isi\")\n",
- "if p== -1:\n",
- " print 's.find(\"isi\") returns NULL'\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "s = \" The Mississippi is a long river. \"\n",
- "find(s, ' ') points to s[ 3 ].\n",
- "find(s, 's') points to s[ 6 ].\n",
- "reverse find(s, 's') points to s[ 17 ].\n",
- "strstr(s, \"is\") points to s[ 5 ].\n",
- "s.find(\"isi\") returns NULL\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "s1 = \"ABCDEFG\"\n",
- "s2 = \"XYZ\" \n",
- "print \"Before strcpy(s1,s2):\\n\" \n",
- "print \"\\ts1 = [\" , s1 , \"], length = \" , len(s1) \n",
- "print \"\\ts2 = [\" , s2 , \"], length = \" , len(s2) \n",
- "s1 = s2\n",
- "print \"After strcpy(s1,s2):\\n\" \n",
- "print \"\\ts1 = [\" , s1 , \"], length = \" , len(s1) \n",
- "print \"\\ts2 = [\" , s2 , \"], length = \" , len(s2) \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Before strcpy(s1,s2):\n",
- "\n",
- "\ts1 = [ ABCDEFG ], length = 7\n",
- "\ts2 = [ XYZ ], length = 3\n",
- "After strcpy(s1,s2):\n",
- "\n",
- "\ts1 = [ XYZ ], length = 3\n",
- "\ts2 = [ XYZ ], length = 3\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "s1 = \"ABCDEFG\"\n",
- "s2 = \"XYZ\" \n",
- "print \"Before strcpy(s1,s2,2):\\n\" \n",
- "print \"\\ts1 = [\" , s1 , \"], length = \" , len(s1) \n",
- "print \"\\ts2 = [\" , s2 , \"], length = \" , len(s2) \n",
- "s1 = s2[:2] + s1[2:]\n",
- "print \"After strcpy(s1,s2,2):\\n\" \n",
- "print \"\\ts1 = [\" , s1 , \"], length = \" , len(s1) \n",
- "print \"\\ts2 = [\" , s2 , \"], length = \" , len(s2) \n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Before strcpy(s1,s2,2):\n",
- "\n",
- "\ts1 = [ ABCDEFG ], length = 7\n",
- "\ts2 = [ XYZ ], length = 3\n",
- "After strcpy(s1,s2,2):\n",
- "\n",
- "\ts1 = [ XYCDEFG ], length = 7\n",
- "\ts2 = [ XYZ ], length = 3\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "s1 = \"ABCDEFG\"\n",
- "s2 = \"XYZ\" \n",
- "print \"Before string concatination :\\n\" \n",
- "print \"\\ts1 = [\" , s1 , \"], length = \" , len(s1) \n",
- "print \"\\ts2 = [\" , s2 , \"], length = \" , len(s2) \n",
- "s1 += s2\n",
- "print \"After string concatination :\" \n",
- "print \"\\ts1 = [\" , s1 , \"], length = \" , len(s1) \n",
- "print \"\\ts2 = [\" , s2 , \"], length = \" , len(s2) "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Before string concatination :\n",
- "\n",
- "\ts1 = [ ABCDEFG ], length = 7\n",
- "\ts2 = [ XYZ ], length = 3\n",
- "After string concatination :\n",
- "\ts1 = [ ABCDEFGXYZ ], length = 10\n",
- "\ts2 = [ XYZ ], length = 3\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "s1 = \"ABCDEFG\"\n",
- "s2 = \"XYZ\" \n",
- "print \"Before string concatination :\\n\" \n",
- "print \"\\ts1 = [\" , s1 , \"], length = \" , len(s1) \n",
- "print \"\\ts2 = [\" , s2 , \"], length = \" , len(s2) \n",
- "s1 += s2[:2]\n",
- "print \"After string concatination :\" \n",
- "print \"\\ts1 = [\" , s1 , \"], length = \" , len(s1) \n",
- "print \"\\ts2 = [\" , s2 , \"], length = \" , len(s2) "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Before string concatination :\n",
- "\n",
- "\ts1 = [ ABCDEFG ], length = 7\n",
- "\ts2 = [ XYZ ], length = 3\n",
- "After string concatination :\n",
- "\ts1 = [ ABCDEFGXY ], length = 9\n",
- "\ts2 = [ XYZ ], length = 3\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "s = \"Today's date is March 12, 2000.\"\n",
- "\n",
- "print \"The string is: [\" , s , \"] \\nIts tokens are: \"\n",
- "p = s.split(\" \")\n",
- "\n",
- "for i in p:\n",
- " print \"\\t[\" , i , \"] \"\n",
- "\n",
- "print \"Now the string is: [\" , p[0] , \"] \";\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The string is: [ Today's date is March 12, 2000. ] \n",
- "Its tokens are: \n",
- "\t[ Today's ] \n",
- "\t[ date ] \n",
- "\t[ is ] \n",
- "\t[ March ] \n",
- "\t[ 12, ] \n",
- "\t[ 2000. ] \n",
- "Now the string is: [ Today's ] \n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "def strpbrk(s,s1):\n",
- " found = []\n",
- " for i in range(len(s1)):\n",
- " if s1[i] in s:\n",
- " index = s.find(s1[i])\n",
- " found.append(index)\n",
- " if found:\n",
- " return min(found)\n",
- " return None\n",
- " \n",
- "\n",
- "s = \"The Mississippi is a long river.\"\n",
- "print 's = \"' , s , '\"'\n",
- "p = strpbrk(s, \"nopqr\")\n",
- "print 'strpbrk(s, \"nopqr\") points to s[' , p , \"].\"\n",
- "p = strpbrk(s, \"NOPQR\")\n",
- "if (p == None):\n",
- " print 'strpbrk(s, \"NOPQR\") returns NULL.\\n'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "s = \" The Mississippi is a long river. \"\n",
- "strpbrk(s, \"nopqr\") points to s[ 12 ].\n",
- "strpbrk(s, \"NOPQR\") returns NULL.\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch9.ipynb b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch9.ipynb
deleted file mode 100644
index d38faaa6..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/ch9.ipynb
+++ /dev/null
@@ -1,394 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:636fa14bc9bbc0edbdee2b8486af1239be5ff3d58b955831baa9b4ccd512a82c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "while True:\n",
- " try:\n",
- " n = int(raw_input())\n",
- " print \"n = \" , n \n",
- " except:\n",
- " break"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "46\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 46\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "22\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 22\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "44\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 44\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "66\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 66\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "88\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n = 88\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "33,\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "king = [] # defines king to be an array \n",
- "n=0\n",
- "while True:\n",
- " name = raw_input()\n",
- " if len(name) < 1:\n",
- " break\n",
- " king.append(name)\n",
- " n += 1\n",
- "# now n == the number of names read\n",
- "for i in range(n):\n",
- " print '\\t' , i+1 , \". \" , king[i] "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Kenneth II (971-995)\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Constantine III (995-997)\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Kenneth III (997-1005)\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Malcolm II (1005-1034)\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Duncan I (1034-1040)\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Macbeth (1040-1057)\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Lulach (1057-1058)\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Malcolm III (1058-1093)\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\t1 . Kenneth II (971-995)\n",
- "\t2 . Constantine III (995-997)\n",
- "\t3 . Kenneth III (997-1005)\n",
- "\t4 . Malcolm II (1005-1034)\n",
- "\t5 . Duncan I (1034-1040)\n",
- "\t6 . Macbeth (1040-1057)\n",
- "\t7 . Lulach (1057-1058)\n",
- "\t8 . Malcolm III (1058-1093)\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "infile = open(\"input.txt\",\"r\")\n",
- "outfile = open(\"output.txt\",\"w\")\n",
- "\n",
- "for i in infile:\n",
- " s = i.title()\n",
- " outfile.write(s)\n",
- "\n",
- "infile.close()\n",
- "outfile.close()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "IOError",
- "evalue": "[Errno 2] No such file or directory: 'input.txt'",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mIOError\u001b[0m Traceback (most recent call last)",
- "\u001b[1;32m<ipython-input-3-60ee428ecf4c>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 5\u001b[0m '''\n\u001b[0;32m 6\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 7\u001b[1;33m \u001b[0minfile\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"input.txt\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"r\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 8\u001b[0m \u001b[0moutfile\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"output.txt\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"w\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;31mIOError\u001b[0m: [Errno 2] No such file or directory: 'input.txt'"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "fin1 = open(\"north.dat\",\"r\")\n",
- "fin2 = open(\"south.dat\",\"r\")\n",
- "fout = open(\"combined.dat\",\"w\")\n",
- "\n",
- "file1 = []\n",
- "file2 = []\n",
- "for i in fin1:\n",
- " try:\n",
- " s = i.split(\" \")\n",
- " for j in s:\n",
- " file1.append(int(j))\n",
- " except:\n",
- " continue\n",
- " \n",
- "for i in fin2:\n",
- " try:\n",
- " s = i.split(\" \")\n",
- " for j in s:\n",
- " file2.append(int(j))\n",
- " except:\n",
- " continue\n",
- "\n",
- "\n",
- "for i in sorted(file1 + file2):\n",
- " fout.write(str(i) + \" \")\n",
- "\n",
- "fin1.close()\n",
- "fin2.close()\n",
- "fout.close()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "IOError",
- "evalue": "[Errno 2] No such file or directory: 'north.dat'",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mIOError\u001b[0m Traceback (most recent call last)",
- "\u001b[1;32m<ipython-input-4-e14718f30215>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 3\u001b[0m '''\n\u001b[0;32m 4\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 5\u001b[1;33m \u001b[0mfin1\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"north.dat\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"r\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 6\u001b[0m \u001b[0mfin2\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"south.dat\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"r\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[0mfout\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"combined.dat\"\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m\"w\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
- "\u001b[1;31mIOError\u001b[0m: [Errno 2] No such file or directory: 'north.dat'"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "def print_(oss):\n",
- " print 'oss.str() = \"' , str(oss) , '\"'\n",
- "\n",
- "s=\"ABCDEFG\"\n",
- "n=33\n",
- "x=2.718\n",
- "l = ''\n",
- "print_(l)\n",
- "l += s\n",
- "print_(l)\n",
- "l += ( \" \" + str(n) )\n",
- "print_(l)\n",
- "l += ( \" \" + str(x) )\n",
- "print_(l)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "oss.str() = \" \"\n",
- "oss.str() = \" ABCDEFG \"\n",
- "oss.str() = \" ABCDEFG 33 \"\n",
- "oss.str() = \" ABCDEFG 33 2.718 \"\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "\n",
- "def print_(iss,s='',n=0,x=0.0):\n",
- " print 's = \"' , s , '\", n = ' , n , \", x = \" , x, ', iss.str() = \"' \\\n",
- " , iss , '\"' \n",
- "\n",
- "s=\"\"\n",
- "n=0\n",
- "x=0.0\n",
- "l = ''\n",
- "iss = \"ABCDEFG 44 3.14\"\n",
- "print_(iss)\n",
- "s = \"ABCDEFG\"\n",
- "print_(iss,s)\n",
- "n = 44\n",
- "print_(iss,s,n)\n",
- "x = 3.14\n",
- "print_(iss,s,n,x)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "s = \" \", n = 0 , x = 0.0 , iss.str() = \" ABCDEFG 44 3.14 \"\n",
- "s = \" ABCDEFG \", n = 0 , x = 0.0 , iss.str() = \" ABCDEFG 44 3.14 \"\n",
- "s = \" ABCDEFG \", n = 44 , x = 0.0 , iss.str() = \" ABCDEFG 44 3.14 \"\n",
- "s = \" ABCDEFG \", n = 44 , x = 3.14 , iss.str() = \" ABCDEFG 44 3.14 \"\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu1.png b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu1.png
deleted file mode 100644
index 13e13f29..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu1.png
+++ /dev/null
Binary files differ
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu2.png b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu2.png
deleted file mode 100644
index e1bc353c..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu2.png
+++ /dev/null
Binary files differ
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu3.png b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu3.png
deleted file mode 100644
index 60dd1e4b..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashu3.png
+++ /dev/null
Binary files differ
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-1_1.png b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-1_1.png
deleted file mode 100644
index 13e13f29..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-1_1.png
+++ /dev/null
Binary files differ
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-2_1.png b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-2_1.png
deleted file mode 100644
index e1bc353c..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-2_1.png
+++ /dev/null
Binary files differ
diff --git a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-3_1.png b/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-3_1.png
deleted file mode 100644
index 60dd1e4b..00000000
--- a/Engineering_Thermodynamics:_A_Computer_Approach_(SI_Units_Version)/screenshots/ashutosh-3-3_1.png
+++ /dev/null
Binary files differ
diff --git a/Fluid_Mechanics_/Chapter1.ipynb b/Fluid_Mechanics_/Chapter1.ipynb
deleted file mode 100644
index 2869f384..00000000
--- a/Fluid_Mechanics_/Chapter1.ipynb
+++ /dev/null
@@ -1,562 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:5a200234453d213b93dc5d138f72ecdaaca8b6177244c9440288df8fe014829f"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter 1 : Fluid Properties"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.1 Page no 8"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "Mw = 29.0 # Molecular weight of air\n",
- "\n",
- "R = 8323/Mw # Universal gas constant\n",
- "\n",
- "T = 273 + 20 # temperature in K\n",
- "\n",
- "p = 50*144*47.88 # Pressure in N/m**2\n",
- "\n",
- "\n",
- "rho = p/(R*T) # from the state law\n",
- "\n",
- "print \"Desnity of air at 20 deg C and 50 psia = \",round(rho,2),\"kg/m**3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Desnity of air at 20 deg C and 50 psia = 4.1 kg/m**3"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.2 Page no 12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "dP = 10**6 # Pressure drop in N/m**2\n",
- "\n",
- "V = 1 # Volume in m**3\n",
- "\n",
- "bta = 2.2*10**9 # Bulk modulus of elasticity in N/m**2\n",
- "\n",
- "\n",
- "dV = -dP*V/bta # Change in volume in m**3\n",
- "\n",
- "v = -dV*100\n",
- "\n",
- "print \"Reduction in volume = \",round(v,3),\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Reduction in volume = 0.045 %\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.3 Page no 13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "bta1 = 2.28*10**9 # Bulk modulus of elasticity at 20 deg C and 103.4 N/m**2\n",
- "\n",
- "bta2 = 2.94*10**9 # Bulk modulus of elasticity at 20 deg C and 1034 N/m**2\n",
- "\n",
- "p1 = 103.4 # Pressure in N/m**2\n",
- "\n",
- "p2 = 1034 # Pressure in N/m**2\n",
- "\n",
- "\n",
- "bavg = (bta1+bta2)/2 # bulk modulus average in N/m**2\n",
- "\n",
- "dP = p2-p1 # pressure drop in N/m**2\n",
- "\n",
- "V = 10 # Volume in m**3\n",
- "\n",
- "dV = dP*V/bavg # Change in volume in m**3\n",
- "\n",
- "v = -dV\n",
- "\n",
- "print \"Volume reduction = \",round(v,8),\"m**3\"\n",
- "\n",
- "print \"Negative sign indicates the volume has reduced\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Volume reduction = -3.57e-06 m**3\n",
- "Negative sign indicates the volume has reduced"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.4 Page no 14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "patm = 14.6 # Atmospheric pressure in psia\n",
- "\n",
- "p1 = 100 # gauge pressure at point 1 in psia\n",
- "\n",
- "p2 = 102 # gauge pressure at point 2 in psia\n",
- "\n",
- "V = 1 # volume in m**3\n",
- "\n",
- "p = p1+patm # absolute pressure in psia\n",
- "\n",
- "b = p # for isothermal air\n",
- "\n",
- "p1 = p2+patm # absolute pressure in psia\n",
- "\n",
- "b1 = p1 # for isothermal air\n",
- "\n",
- "dP = p1 - p # change in pressure\n",
- "\n",
- "bavg = (b1+b)/2 # average bulk modulus of elasticity in N/m**2\n",
- "\n",
- "dV = dP*V/bavg\n",
- "\n",
- "v = -dV\n",
- "\n",
- "print \"An increase in pressure by 2 psia will result in a volume reduction of\",round(v,4),\"ft**3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "An increase in pressure by 2 psia will result in a volume reduction of -0.0173 ft**3\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.5 Page no 14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "k = 1.4 # gas constant\n",
- "\n",
- "R = 1716 # Universal gas constant in ft.lb/slug^oR\n",
- "\n",
- "T = 68+460 # temperature in *oR\n",
- "\n",
- "\n",
- "c = sqrt(k*R*T)\n",
- "\n",
- "print \"Sonic velocity in air at 68 deg F = \",round(c,0),\"ft/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Sonic velocity in air at 68 deg F = 1126.0 ft/s\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.6 Page no 19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "d = 0.05 # diameter of cylinder 1 in m\n",
- "\n",
- "l = 0.2 # length of the cylinder in meters\n",
- "\n",
- "d1 = 0.052 # diameter of cylinder in m\n",
- "\n",
- "mu = 0.09 # Viscosity of oil in Ns/m**2\n",
- "\n",
- "U = 1 # velocity in m/s\n",
- "\n",
- "Y = (d1-d)/2 # clearance between the two cylinders in m\n",
- "\n",
- "A = pi*l*d # area in m**2\n",
- "\n",
- "\n",
- "tau = mu*U/Y # Shear stress in N/m**2\n",
- "\n",
- "F = tau*A # Shear foce in N\n",
- "\n",
- "print \"Force required to move the piston by 1 m/s = \",round(F,2),\"N\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Force required to move the piston by 1 m/s = 2.83 N\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.7 Page no 20"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from sympy import *\n",
- "\n",
- "\n",
- "mu = 1.005*10**-3 # Viscosity of water in Ns/m**2\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "Y = 0.01 # Distance between the walls\n",
- "\n",
- "Y1 = Y*100\n",
- "\n",
- "print \" (a) Distance between the walls = \",round(Y1,1),\"cm\"\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "y = Symbol('y')\n",
- "\n",
- "u = 10*(0.01*y-y**2)\n",
- "\n",
- "uprime = u.diff(y)\n",
- "\n",
- "y = 0\n",
- "\n",
- "U = uprime\n",
- "\n",
- "\n",
- "U1 = 0.01 # from U\n",
- "\n",
- "tau = mu*10*U1 # shear stress in N/m**2\n",
- "\n",
- "print \" (b) Shear stress = \",round(tau,9),\"N/m**2\"\n",
- "\n",
- "\n",
- "\n",
- "tau1 = mu*10*(0.01-2*20*10**-6) # using the equation of U and y = 20*10**-6 calc shear stress in N/m**2\n",
- "\n",
- "print \" (c) Shear Stress at 20 um from the plate = \",round(tau1,9),\"N/m**2\"\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "y1 = 0.01/2 # shear stress location\n",
- "\n",
- "print \" (d) Location of maximum velocity = \",round(y1,3),\"m\"\n",
- "\n",
- "print \"Above calculation indicates that the zero shear stress and the maximum velocity occurs at the same location which is half way between the plate\",\"\\n\",\"This also is in conformity with the fact that , in a flowing fluid, the velocity is maximum where shear stress is zero\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " (a) Distance between the walls = 1.0 cm\n",
- " (b) Shear stress = 0.0001005 N/m**2\n",
- " (c) Shear Stress at 20 um from the plate = 0.000100098 N/m**2\n",
- " (d) Location of maximum velocity = 0.005 m\n",
- "Above calculation indicates that the zero shear stress and the maximum velocity occurs at the same location which is half way between the plate \n",
- "This also is in conformity with the fact that , in a flowing fluid, the velocity is maximum where shear stress is zero\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.8 Page 24"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "from math import *\n",
- "\n",
- "d = 0.1 # diameter of shaft in m\n",
- "\n",
- "l = 0.2 # length of the shaft in m\n",
- "\n",
- "t = 0.00002 # thickness in m\n",
- "\n",
- "N = 30 # RPM of shaft\n",
- "\n",
- "U = pi*d*30/60 # velocity in m/s\n",
- "\n",
- "r1 = d/2\n",
- "\n",
- "r2 = r1 + t # radius of bearing in m\n",
- "\n",
- "mu = 0.44 # Viscosity of SAE-30 oil in Ns/m**2\n",
- "\n",
- "\n",
- "\n",
- "F = 2*pi*r1*l*mu*U/t\n",
- "\n",
- "T =F*r1\n",
- "\n",
- "print \" (a) For linear distribution of velocity , shaft torque = \",round(T,2),\"m.N\"\n",
- "\n",
- "\n",
- "F1 = 2*pi*l*mu*U/log(r2/r1)\n",
- "\n",
- "\n",
- "T1 =F1*r1\n",
- "\n",
- "print \" (b) For non-linear distribution of velocity , shaft torque = \",round(T1,2),\"m.N\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " (a) For linear distribution of velocity , shaft torque = 10.86 m.N\n",
- " (b) For non-linear distribution of velocity , shaft torque = 10.86 m.N\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.9 Page 26"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "from math import *\n",
- "\n",
- "mu = 0.44 # viscosity of the oil in Ns/m**2\n",
- "\n",
- "N = 300 # RPM of the shaft\n",
- "\n",
- "t = 0.00025 # thickness of the film oil in m\n",
- "\n",
- "r1 = 0.15 # radius in m\n",
- "\n",
- "r2 = 0.1 # radius in m\n",
- "\n",
- "T = pi**2*mu*N*(r1**4-r2**4)/(60*t)\n",
- "\n",
- "P = T*2*pi*N/60\n",
- "\n",
- "print \"Watts of energy lost in overcoming friction at 300 RPM = \",round(P,0),\"Watts\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Watts of energy lost in overcoming friction at 300 RPM = 1108.0 Watts\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.10 Page no 28"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "d = 0.01 # diameter in m\n",
- "\n",
- "sigma = 0.073 # surface tension in N/m\n",
- "\n",
- "\n",
- "dP = 4*sigma/d # pressure excessive\n",
- "\n",
- "print \"Excessive pressure inside the droplet = \",round(dP,2),\"N\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Excessive pressure inside the droplet = 29.2 N"
- ]
- }
- ],
- "prompt_number": 42
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 1.11 Page no 31"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "sigma = 0.022 # surface tension in N/m\n",
- "\n",
- "gma = 9789 # specific weight\n",
- "\n",
- "S = 0.79 # specific gravity\n",
- "\n",
- "d = 0.002 # diameter in m\n",
- "\n",
- "\n",
- "\n",
- "h =4*sigma*1000/(gma*S*d) # capillary height in m\n",
- "\n",
- "print \"The alcohol will rise to a height of\",round(h,1),\"mm in the glass tube\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The alcohol will rise to a height of 5.7 mm in the glass tube"
- ]
- }
- ],
- "prompt_number": 50
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter10.ipynb b/Fluid_Mechanics_/Chapter10.ipynb
deleted file mode 100644
index 679a7dd2..00000000
--- a/Fluid_Mechanics_/Chapter10.ipynb
+++ /dev/null
@@ -1,426 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:3b6a6304ae5564c5b042191e18c023d5d141ad8d64a979c29e54da09ebc8a32e"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter 10 : Open Channel Flow\n",
- " "
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 10.1 Page no 363"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "b = 3 # base of the channel\n",
- "\n",
- "z = 0.5 # slope of the channel\n",
- "\n",
- "y = 2 # depth of the channel\n",
- "\n",
- "\n",
- "T = b + 2*z*y\n",
- "\n",
- "print \"Top width =\",round(T,0),\"m\"\n",
- "\n",
- "A = (b+z*y)*y\n",
- "\n",
- "print \"Area of flow =\",round(A,0),\"m**2\"\n",
- "\n",
- "P = b + 2*y*sqrt(1+z**2)\n",
- "\n",
- "print \"Wetted perimeter =\",round(P,3),\"m\"\n",
- "\n",
- "R = A/P\n",
- "\n",
- "print \"Hydraulic radius =\",round(R,2),\"m\"\n",
- "\n",
- "D = A/T\n",
- "\n",
- "print \"Hydraulic depth =\",round(D,2),\"m\"\n",
- "\n",
- "Z = A*sqrt(D)\n",
- "\n",
- "print \"Secton Factor =\",round(Z,2),\"m**2\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Top width = 5.0 m\n",
- "Area of flow = 8.0 m**2\n",
- "Wetted perimeter = 7.472 m\n",
- "Hydraulic radius = 1.07 m\n",
- "Hydraulic depth = 1.6 m\n",
- "Secton Factor = 10.12 m**2\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 10.2 Page no 366"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "z = 1.0 # slide slope\n",
- "\n",
- "b = 3.0 # base width\n",
- "\n",
- "y = 1.5 # depth\n",
- "\n",
- "S = 0.0009\n",
- "\n",
- "n = 0.012 # for concrete\n",
- "\n",
- "\n",
- "A = (b+z*y)*y\n",
- "\n",
- "P = P = b + 2*y*sqrt(1+z**2)\n",
- "\n",
- "R = A/P\n",
- "\n",
- "\n",
- "Q = A*(1/n)*(R**(2/3)*S**(1/2))\n",
- "\n",
- "print \"Discharge for the channel =\",round(Q,2),\"m**3/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Discharge for the channel = 16.1 m**3/s\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 10.4 Page no 373"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "z = 1\n",
- "\n",
- "Q = 10000/60 # discharge of water in ft**#/s\n",
- "\n",
- "\n",
- "y = (Q/(1.828*2.25*sqrt(0.5)))**(2/5)\n",
- "\n",
- "print \"depth(y) =\",round(y,2),\"ft\"\n",
- "\n",
- "b = 0.828*y\n",
- "\n",
- "print \"base width(b) =\",round(b,2),\"ft\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "depth(y) = 5.05 ft\n",
- "base width(b) = 4.18 ft\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 10.5 Page no 378"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "y = 2.5 # depth\n",
- "\n",
- "V = 8 # velocity in m/s\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "\n",
- "Yc = (20**2/g)**(1/3)\n",
- "\n",
- "print \"Critical depth =\",round(Yc,2),\"m\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Critical depth = 3.44 m\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 10.6 Page no 380"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "Q = 15 # flow rate in m**3/s\n",
- "\n",
- "w = 4.0 # bottom width\n",
- "\n",
- "S = 0.0008 # bed slope\n",
- "\n",
- "n = 0.025 # manning constant\n",
- "\n",
- "z = 0.5 # slope\n",
- "\n",
- "\n",
- "\n",
- "y = 2.22 # we take the value of y as 2.2 m\n",
- "\n",
- "Q = ((4+0.5*y)*(y/(n))*(((4+0.5*y)*y)/(4+2.236*y))**(0.667)*(S)**(0.5))\n",
- "\n",
- "print \"a )Normal Depth =\",round(y,2),\"m\"\n",
- "\n",
- "A = (4+0.5*y)*y\n",
- "\n",
- "T = (w+2*z*y)\n",
- "\n",
- "D = A/T\n",
- "\n",
- "V = (Q/A)\n",
- "\n",
- "F =V/(sqrt(9.81*D)) \n",
- "\n",
- "print \"b )F = \",round(F,2),\" Since the Froude number is less than 1, the flow is subcritical\"\n",
- "\n",
- "\n",
- "yc = 1.08\n",
- "\n",
- "Q1 = (4+z*yc)*yc*sqrt((9.81*(4+0.5*yc)*yc)/(4+2*z*yc)) \n",
- "\n",
- "print \"c )Critical depth is = \",round(yc,2),\"m\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a )Normal Depth = 2.22 m\n",
- "b )F = 0.31 Since the Froude number is less than 1, the flow is subcritical\n",
- "c )Critical depth is = 1.08 m\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "\n",
- "Example 10.8 Page no 390"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "b = 60 # base width in ft\n",
- "\n",
- "y1 = 2.5 # base depth in ft\n",
- "\n",
- "Q = 2500 # discharge in ft**3/s\n",
- "\n",
- "g = 32.2\n",
- "\n",
- "\n",
- "V1 = Q/(b*y1)\n",
- "\n",
- "F1 = V1/sqrt(g*y1)\n",
- "\n",
- "y2 = y1*0.5*(sqrt(1+8*F1**2)-1)\n",
- "\n",
- "V2 = Q/(b*y2)\n",
- "\n",
- "print \"Since F1 =\",round(F1,2),\" It is a weak jump\"\n",
- "\n",
- "L = y2*4.25\n",
- "\n",
- "print \"Length of the jump =\",round(L,0),\"ft\"\n",
- "\n",
- "E1 = y1+(V1**2/(2*g))\n",
- "\n",
- "E2 = y2+(V2**2/(2*g))\n",
- "\n",
- "El = E1-E2\n",
- "\n",
- "Te = El*62.4*Q/543\n",
- "\n",
- "print \"Total energy loss =\",round(Te,2),\"HP\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Since F1 = 1.86 It is a weak jump\n",
- "Length of the jump = 23.0 ft\n",
- "Total energy loss = 133.7 HP\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 10.12 Page no 409"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "d = 6 # depth of the channel\n",
- "\n",
- "w= 12 # width of the channel\n",
- "\n",
- "h = 1.0 # height of the channel\n",
- "\n",
- "p = 9 # pressure drop in m\n",
- "\n",
- "g = 32.2\n",
- "\n",
- "\n",
- "y2 = y1 - h - 0.75\n",
- "\n",
- "V1 = sqrt(2*g*0.75/((1.41)**2-1))\n",
- "\n",
- "Q = w*b*V1/10\n",
- "\n",
- "print \"Discharge =\",round(Q,0),\"cfs\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Discharge = 503.0 cfs\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter11.ipynb b/Fluid_Mechanics_/Chapter11.ipynb
deleted file mode 100644
index 618f66c5..00000000
--- a/Fluid_Mechanics_/Chapter11.ipynb
+++ /dev/null
@@ -1,312 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:2f6bc3a0f00ca48f89200f1a14edc0c65849595040c83c5100245e53f0cc525b"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter : Compressible Flow"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 11.1 Page no 420"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "T1 = 273 + 15 # temperature in K\n",
- "\n",
- "T2 = 273 + 90 # temperature in K\n",
- "\n",
- "Cp = 0.24 # cp for air in kcal/kgK\n",
- "\n",
- "\n",
- "dh = Cp*(T2-T1) # enthalpy per kg of air\n",
- "\n",
- "H = 10*dh # total enthallpy of 10 kg air\n",
- "\n",
- "print \"Total change in enthalpy for 10 kg air = \",round(H,0),\"kcal\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total change in enthalpy for 10 kg air = 180.0 kcal\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 11.2 Page no 420"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "T1 = 273 + 15 # temperature in K\n",
- "\n",
- "T2 = 273 + 90 # temperature in K\n",
- "\n",
- "P1 = 40 + 101.3 # pressure in abs\n",
- "\n",
- "P2 = 360 + 101.3 # presure in abs\n",
- "\n",
- "Cv = 0.171 # Specific volume Coefficient of air\n",
- "\n",
- "k = 1.4 # gas constant\n",
- "\n",
- "\n",
- "dS = Cv*log((T2/T1)**k*(P2/P1)**(1-k))\n",
- "\n",
- "S = 10*dS\n",
- "\n",
- "print \"Total change in enthalpy of 10 Kg of air =\",round(S,3),\"kcal/K\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total change in enthalpy of 10 Kg of air = -0.255 kcal/K\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 11.3 Page no 421"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "P1 = 10 # pressure in psia\n",
- "\n",
- "P2 = 30 # pressure in psia\n",
- "\n",
- "T1 = 460+110 # temperature in R\n",
- "\n",
- "k =1.4 # gas constant\n",
- "\n",
- "T2 = T1*(P2/P1)**((k-1)/k)\n",
- "\n",
- "t2 = T2-460 # final temperature of air\n",
- "\n",
- "print \"Final temperature if air = \",round(t2,1),\"F\"\n",
- "\n",
- "Cv = 0.157 # coefficient of air \n",
- "\n",
- "W = Cv*(T2-T1) # work done per unit mass of oxygen\n",
- "\n",
- "Tw = 10*W # total work done on 10 slugs\n",
- "\n",
- "print \"Total work done on 10 slugs = \",round(Tw,0),\"Btu\" \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Final temperature if air = 320.2 F\n",
- "Total work done on 10 slugs = 330.0 Btu\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 11.4 Page no 426"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "\n",
- "S =1 # specific gravity\n",
- "\n",
- "rho = S*1000 # density in kg/m**3\n",
- "\n",
- "bta = 2.2*10**9 # Bulk modulus of elasticity\n",
- "\n",
- "\n",
- "S1 =0.79 # specific gravity\n",
- "\n",
- "rho2 = S1*1000 # density in kg/m**3\n",
- "\n",
- "bta2 = 1.21*10**9 # Bulk modulus of elasticity\n",
- "\n",
- "\n",
- "k = 1.4 # gas constant for air\n",
- "\n",
- "R = 287 # universal gas constant\n",
- "\n",
- "T = 273+20 # temperature in K\n",
- "\n",
- "\n",
- "C1 = sqrt(bta/rho)\n",
- "\n",
- "C2 = sqrt(bta2/rho2)\n",
- "\n",
- "print \"Speed of sound in water =\",round(C1,0),\"m/s\"\n",
- "\n",
- "print \"Speed of sound in ethly alcohol =\",round(C2,0),\"m/s\"\n",
- "\n",
- "C3 = sqrt(k*R*T)\n",
- "\n",
- "print \"Speed of sound in Air =\",round(C3,0),\"m/s\"\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Speed of sound in water = 1483.0 m/s\n",
- "Speed of sound in ethly alcohol = 1238.0 m/s\n",
- "Speed of sound in Air = 343.0 m/s\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 11.5 Page no 431"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "P1 = 1.5 # pressure in psia\n",
- "\n",
- "T1 = 40 + 460 # temperature in R\n",
- "\n",
- "k = 1.4 # gas constant\n",
- "\n",
- "R = 1716 # universal gas constant in ft.lb/slug R\n",
- "\n",
- "V1 = 1500 # velocity in ft/s\n",
- "\n",
- "\n",
- "c1 = sqrt(k*R*T1)\n",
- "\n",
- "M1 = V1/c1\n",
- "\n",
- "M2 = sqrt((2+(k-1)*M1**2)/(2*k*M1**2-(k-1)))\n",
- "print M2\n",
- "\n",
- "P2 = P1*((1+k*M1**2)/(1+k*M2**2))\n",
- "\n",
- "print \"Pressure at downstream = \",round(P2,2),\"psia\"\n",
- "\n",
- "T2 = T1*((1+0.5*(k-1)*M1**2)/(1+0.5*(k-1)*M2**2))\n",
- "\n",
- "t2 = T2-460\n",
- "\n",
- "print \"Temperature at downstream = \",round(t2,1),\"F\"\n",
- "V2 = M2*sqrt(k*R*t2)\n",
- "\n",
- "print \"Velocity downstream = \",round(V2,2),\"ft/s\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0.753305702898\n",
- "Pressure at downstream = 3.03 psia\n",
- "Temperature at downstream = 157.3 F\n",
- "Velocity downstream = 463.02 ft/s\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter12.ipynb b/Fluid_Mechanics_/Chapter12.ipynb
deleted file mode 100644
index 29dbb6ff..00000000
--- a/Fluid_Mechanics_/Chapter12.ipynb
+++ /dev/null
@@ -1,342 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:b809e6889d9fdf33446744d4f1caf3aac2e77607182761aeef234f4a6cc34adc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter : Turbomachines"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 12.1 Page no 443"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "Q = 0.25 # discharge from the pump in m**3/s\n",
- "\n",
- "gma= 0.8*9810 # specific weight in kg/m**3\n",
- "\n",
- "H=25 # elevation head in m\n",
- "\n",
- "T = 350 # Torque to drive the shaft in Nm\n",
- "\n",
- "N = 1800 # Speed in RPM\n",
- "\n",
- "w = 2*pi*N/60 # angular velocity\n",
- "\n",
- "\n",
- "Eff = gma*Q*H*100/(T*w) # efficiency\n",
- "\n",
- "print \"Efficiency of th pump =\",round(Eff,0),\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Efficiency of th pump = 74.0 %\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 12.2 Page no 447"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "d = 0.4 # diameter of the pump in m\n",
- "\n",
- "b = 0.03 # width in m\n",
- "\n",
- "theta = pi/3 # blade angle\n",
- "\n",
- "N = 1500 # speed in RPM\n",
- "\n",
- "Q = 0.4 # flow rate in m**3/s\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "\n",
- "w = 2*pi*N/60 # anggular velocity in rad/s\n",
- "\n",
- "u2 = (d/2)*w # blade velocity in m/s\n",
- "\n",
- "V2r = Q/(2*pi*(d/2)*b) # relative velocity in m/s\n",
- "\n",
- "print \"(a)\"\n",
- "\n",
- "print \"Radial velocity at exit =\",round(V2r,1),\"m/s\"\n",
- "\n",
- "V2t = u2 - V2r*(cos(theta)/sin(theta))\n",
- "\n",
- "print \"Whirl velocity = \",round(V2t,1),\"m/s\"\n",
- "\n",
- "v2 = V2r/sin(theta)\n",
- "\n",
- "print \"Relative velocity = \",round(v2,2),\"m/s\"\n",
- "\n",
- "V2 = sqrt(V2t**2+V2r**2)\n",
- "\n",
- "print \"Actual velocity =\",round(V2,2),\"m/s\"\n",
- "\n",
- "print \"(b)\"\n",
- "\n",
- "H = u2*V2t/g\n",
- "\n",
- "print\"Head added for no inlet whirl =\",round(H,0),\"m\"\n",
- "\n",
- "print \"(c)\"\n",
- "\n",
- "P = g*Q*H\n",
- "\n",
- "print \"Power required =\",round(P,1),\"kW\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " (a)\n",
- "Radial velocity at exit = 10.6 m/s\n",
- "Whirl velocity = 25.3 m/s\n",
- "Relative velocity = 12.25 m/s\n",
- "Actual velocity = 27.43 m/s\n",
- "(b)\n",
- "Head added for no inlet whirl = 81.0 m\n",
- "(c)\n",
- "Power required = 317.8 kW\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 12.3 Page no 450"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "d = 0.36 # diameter of the impeller of pump\n",
- "\n",
- "N = 1500 # Speed of impeller in RPM\n",
- "\n",
- "\n",
- "\n",
- "Q1 = 82 # discharge in l/s\n",
- "\n",
- "H1 = 17.5 # Head in m\n",
- "\n",
- "Eta = 0.8 # efficiency \n",
- "\n",
- "Q2 = 100 # discharge in l/s\n",
- "\n",
- "H2 = 20 # head in m\n",
- "\n",
- "\n",
- "D2 = 38.45\n",
- "\n",
- "print \"Impeller size =\",round(D2,2),\"cm\"\n",
- "\n",
- "N2 = 1500 \n",
- "\n",
- "print \"Speed of the pump =\",round(N2,0),\"RPM\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Impeller size = 38.45 cm\n",
- "Speed of the pump = 1500.0 RPM\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 12.4 Page no 454 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "q = 500 # discharge in cgm\n",
- "\n",
- "Q = 500/449 # discharge in ft**3/s\n",
- "\n",
- "D = 0.667 # diameter in ft\n",
- "\n",
- "A = pi*D**2/4\n",
- "\n",
- "V = Q/A # velocity in ft/s\n",
- "\n",
- "g = 32.2 # acceleration due to gravity in ft/s**2\n",
- "\n",
- "N = 1800 # speed in RPM\n",
- "\n",
- "\n",
- "\n",
- "nu = 1.134*10**-5 # viscosity in ft**2/s\n",
- "\n",
- "e = 0.00085 # epssilon in ft\n",
- "\n",
- "r = 0.001275 \n",
- "\n",
- "R = V*D/nu # reynolds no\n",
- "\n",
- "f = 0.022 # from moody's diagram\n",
- "\n",
- "Hl = V**2*(12.1+(f*224.9))/64.4\n",
- "\n",
- "hs = 119.4 + Hl\n",
- "\n",
- "print \"Discharge, Q = \",round(Q,2),\"ft**3/s\"\n",
- "print \"Dynamic head of the pump, H =\",round(hs,1),\"m\"\n",
- "\n",
- "Ns = N*sqrt(q)/(hs)**(3/4)\n",
- "\n",
- "print \"Specific speed of the pump, Ns =\",round(Ns,0),\"RPM\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Discharge, Q = 1.11 ft**3/s\n",
- "Dynamic head of the pump, H = 122.1 m\n",
- "Specific speed of the pump, Ns = 1096.0 RPM\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 12.5 Page no 457"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "H = 60 # height in m\n",
- "\n",
- "Pb = 98*10**3 # barometric pressure in N/m**2\n",
- "\n",
- "Hl = 1 # head in m\n",
- "\n",
- "Pv = 1707 # vapour pressure \n",
- "\n",
- "sigma = 0.08\n",
- "\n",
- "w = 9810 # specific weight\n",
- "\n",
- "\n",
- "Npsh_m = sigma*60 # minimum NPSH\n",
- "\n",
- "Hsm = (Pb/w)-(Pv/w)-Npsh_m-Hl\n",
- "\n",
- "print \"Minimum value of static suction lift = \",round(Hsm,2),\"m\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum value of static suction lift = 4.02 m\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter2.ipynb b/Fluid_Mechanics_/Chapter2.ipynb
deleted file mode 100644
index ffb67770..00000000
--- a/Fluid_Mechanics_/Chapter2.ipynb
+++ /dev/null
@@ -1,920 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:db7a54602402420ebc03881b70578491b776f0322d83cb209fd1e5faed86cdad"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 2 : Fluid Statics"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example 2.1 Page no 44"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "d = 10 # diameter of hydraulic press in meters\n",
- "\n",
- "d1 = 1 # diameter of piston in meters\n",
- "\n",
- "W = 1000 # weight in Newtons\n",
- "\n",
- "Ap = math.pi*d1**2/4 # Area of piston in m**2\n",
- "\n",
- "Ar = math.pi*d**2/4 # Area of rram in m**2\n",
- "\n",
- "\n",
- "p = W/Ar # pressure to be supplied by the oil in N/cm**2\n",
- "\n",
- "F = p*Ap # Force applied on the piston\n",
- "\n",
- "print \"Using the pascal's law a weight of 1000N can be lifted by applying a force only of \",round(F,1),\"N\"\n",
- " "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Using the pascal's law a weight of 1000N can be lifted by applying a force only of 10.0 N\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.2 Page no 53"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "h = 1 # ocean depth below the surface in km\n",
- "\n",
- "gma = 10070 # Specific weight of sea water\n",
- "\n",
- "\n",
- "P =gma*h # Pressure in kN/m**2\n",
- "\n",
- "print \"Pressure = \",round(P),\"kN/m**2\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Pressure = 10070.0 kN/m**2\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.3 Page no 53"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "p1 = 150*10**3 # Pressure at point 1 in kN/m**2\n",
- "\n",
- "Sg = 0.85 # Specific gravity of oil\n",
- "\n",
- "h = 0.8 # height of oil 2 i tank in meters \n",
- "\n",
- "g = 9810 # specific gravity \n",
- "\n",
- "h1 = 2.0 # height of oil 3 in tank\n",
- "\n",
- "\n",
- "p2 = (p1 + Sg*h*g)\n",
- "\n",
- "p3 = (p2 + g*h1)/1000\n",
- "\n",
- "print \"Pressure at the bottom of the tank is\",round(p3,1),\"kN/m**3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Pressure at the bottom of the tank is 176.3 kN/m**3"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.4 Page no 54"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "Po = 570 # mercury barometer reading in mm\n",
- "\n",
- "T = 273 -5 # temperature in K\n",
- "\n",
- "p = 750 # mercury barometer reading in mm\n",
- "\n",
- "n = 1.2345 # for polytropic atmosphere\n",
- "\n",
- "R =287 # univerasl gas constant in J/Kg-K\n",
- "\n",
- "g = 9.81 \n",
- "\n",
- "r = p/Po\n",
- "\n",
- "\n",
- "y = -(R*T/(g*0.19))*(1 - (r)**((n-1)/n))\n",
- "\n",
- "print \"Height of the mountain is\",round(y,0),\"m\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Height of the mountain is 2208.0 m\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.5 Page no 57"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "h1 = 500 # height in mm\n",
- "\n",
- "h2 = 950 # height in mm\n",
- "\n",
- "S1 = 1 # specific gravity fo water\n",
- "\n",
- "S2 = 1.5 # specific gravity of liquid 2\n",
- "\n",
- "w = 9810 # specific weight of water\n",
- "\n",
- "\n",
- "ha = ((h2*S2)-(h1*S1))/1000\n",
- "\n",
- "Pa = w*ha/1000 # Pressure in kPa\n",
- "\n",
- "print \"Pressure in the pipe = \",round(Pa,3),\"kPa\"\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Pressure in the pipe = 9.074 kPa\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.6 Page no 66"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "from math import *\n",
- "\n",
- "d = 1 # diameter of the gate in m\n",
- "\n",
- "w = 9810 # specific weight in N/m**3\n",
- "\n",
- "A = pi*d**2/4 # area of the gate\n",
- "\n",
- "Ig = pi*d**4/64 # mamm moment of inertia\n",
- "\n",
- "theta = pi/2\n",
- "\n",
- "y1= 5+0.5\n",
- "\n",
- "\n",
- "F = w*round(A,3)*(y1) # the answer will come out to be different as they have used the value of Area as 0.78 \n",
- "\n",
- "\n",
- "h1 = y1 + (Ig*math.sin(theta)*math.sin(theta)/(A*y1))\n",
- "\n",
- "\n",
- "F1 = (F*(h1 - 5))/d\n",
- "\n",
- "print \"Magnitude of the force required to open the gate = \",round(F1,0),\"N\" \n",
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Magnitude of the force required to open the gate = 21659.0 N\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.7 Page no 67"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "l =2 # length of the plate in m\n",
- "\n",
- "b =1 # width of the plate\n",
- "\n",
- "theta = pi/3\n",
- "\n",
- "h = 0.75 # depth of the plate\n",
- "\n",
- "w = 9810 # specific weight of water\n",
- "\n",
- "\n",
- "A = 1*2\n",
- "\n",
- "y1 = h + 1*sin(theta)\n",
- "\n",
- "F = w*A*y1/1000\n",
- "\n",
- "print \"(a) Total force = \",round(F,2),\"kN\"\n",
- "\n",
- "Ig = (b*l**3)/12\n",
- "\n",
- "h1 = y1 + (Ig*sin(theta)*sin(theta)/(2*y1))\n",
- "\n",
- "print \"(b) Position of center of pressure = \",round(h1,3),\"m\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) Total force = 31.71 kN\n",
- "(b) Position of center of pressure = 1.616 m\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.8 Page no 68"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "d = 6 # diameter of the gate in ft\n",
- "\n",
- "A =pi*d**2/4 # area of the gate\n",
- "\n",
- "p1 = 600 # pressure on top in psia\n",
- "\n",
- "y1 = 10 +2 + 3*sin(pi/6)\n",
- "\n",
- "F = 62.4*A*y1\n",
- "\n",
- "F1 = p1*A\n",
- "\n",
- "\n",
- "Tf = F+F1\n",
- "\n",
- "print \"Total hydrostatic force =\",round(Tf,0),\"lbs\"\n",
- "\n",
- "Ig = pi*d**4/64\n",
- "\n",
- "h1 = y1 + ((Ig*sin(pi/6)*sin(pi/6))/(A*y1))\n",
- "\n",
- "H = ((F*h1)+(F1*y1))/Tf\n",
- "\n",
- "print \"point of location on the center plate = \",round(H,2),\"ft\"\n",
- "\n",
- "\n",
- "Hf = p1/62.4 # equivalent fluid height\n",
- "\n",
- "y2 = Hf+y1\n",
- "\n",
- "Tf1 = 62.4*A*y2\n",
- "\n",
- "h2 = y2 + ((Ig*sin(pi/6)*sin(pi/6))/(A*y2))\n",
- "\n",
- "H1 = y2-Hf\n",
- "\n",
- "print \" OR point of location on the center plate from method 2 = \",round(H1,2),\"ft\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total hydrostatic force = 40783.0 lbs\n",
- "point of location on the center plate = 13.52 ft\n",
- " OR point of location on the center plate from method 2 = 13.5 ft\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.10 Page no 74"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "\n",
- "R = 4 # radius of the gate in ft\n",
- "\n",
- "w = 1 # width of the gate in ft\n",
- "\n",
- "gma =62.4 # specific weight of water\n",
- "\n",
- "y1 = 4 # distance of center of the gate\n",
- "\n",
- "xv1 = 2 # distance in ft\n",
- "\n",
- "xv2 = 1.7 # distance in ft\n",
- "\n",
- "\n",
- "Fh = R*y1*gma\n",
- "\n",
- "Ig = w*R**3/12\n",
- "\n",
- "yh = y1 + (Ig/(R*y1))\n",
- "\n",
- "Fv1 = R*2*gma\n",
- "\n",
- "Fv2 = pi*R**2*gma/4\n",
- "\n",
- "Fv = Fv1 + Fv2\n",
- "\n",
- "Xv = (Fv1*xv1+Fv2*xv2)/(Fv)\n",
- "\n",
- "print \"Horizontal component acting on the plate = \",round(Fh,2),\"lbs\"\n",
- "\n",
- "print \"Vertical component acting on the plate = \",round(Fv,2),\"lbs\"\n",
- "\n",
- "print \"location of Xv =\",round(Xv,2),\"ft\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Horizontal component acting on the plate = 998.4 lbs\n",
- "Vertical component acting on the plate = 1283.34 lbs\n",
- "location of Xv = 1.82 ft\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.11 Page no 77"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "p = 50 # pressure in psia\n",
- "\n",
- "gma = 62.4 # specific weight in ft\n",
- "\n",
- "h1 = p*144/gma # equivalent height of water surface in ft\n",
- "\n",
- "R = 4 # radius of gate in ft\n",
- "\n",
- "w = 1 # width of the gate in ft\n",
- "\n",
- "A = R*w\n",
- "\n",
- "y1 = h1 + 2.5 + 2 # center of pressure\n",
- "\n",
- "xv1 = 2 # center of pressure1 for x direction force\n",
- "\n",
- "xv2 = 1.7 # center of pressure2 for x direction force\n",
- "\n",
- "\n",
- "Fh = gma*A*y1 # hiorizontal force\n",
- "\n",
- "Ig = 5.33 # moment of inertia\n",
- "\n",
- "yh = y1 + (Ig/(A*y1)) # location of horizontal component\n",
- "\n",
- "y2 = h1+2.5\n",
- "\n",
- "Fv1 = gma*(R*y2) # vertical force component 1\n",
- "\n",
- "Fv2 = gma*(pi*R**2/4) # vrtical force component 2\n",
- "\n",
- "Fv = Fv1 + Fv2 # vertical force component\n",
- "\n",
- "Xv = (Fv1*xv1+Fv2*xv2)/(Fv)\n",
- "\n",
- "print \"(a) Horizontal component acting on the plate = \",round(Fh,0),\"lbs\" # The answer for horizontal force in the book is wrong\n",
- "\n",
- "print \"(b) Vertical component acting on the plate = \",round(Fv,2),\"lbs\"\n",
- "\n",
- "print \"location of vertical component Xv =\",round(Xv,2),\"ft from the left wall\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) Horizontal component acting on the plate = 29923.0 lbs\n",
- "(b) Vertical component acting on the plate = 30208.14 lbs\n",
- "location of vertical component Xv = 1.99 ft from the left wall\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.13 Page no 84"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "l = 3 # length in m\n",
- "\n",
- "b = 4 # breadth in m\n",
- "\n",
- "h = 15 # height in m\n",
- "\n",
- "S = 0.9 # specific gravity of barge\n",
- "\n",
- "Sw = 1.09 # specific gravity of water\n",
- "\n",
- "Wd = 150*10**3 # addditional weight in kN\n",
- "\n",
- "V = l*b*h # volume in m**3\n",
- "\n",
- "Wb = gma*S*V # weight of barge\n",
- "\n",
- "Tw = Wb + Wd # total weight in kN\n",
- "\n",
- "gma = 9810 # specific density \n",
- "\n",
- "\n",
- "Fb = Tw # since barge is floating\n",
- "\n",
- "V1 = Fb/((gma/1000)*Sw) # volume in m**3\n",
- "\n",
- "\n",
- "d = (V1/(h*b))/1000\n",
- "\n",
- "print \"Depth to which water would rise = \",round(d,2),\"m\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Depth to which water would rise = 0.25 m\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.14 Page no 85 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "import numpy as np\n",
- "\n",
- "\n",
- "W = 0.4 * 9.81 # weight of the solid cylinder in N\n",
- "\n",
- "\n",
- "A = np.array([(1,-0.96),(1,1)])\n",
- "\n",
- "b = np.array([0,6.37])\n",
- "\n",
- "x = np.linalg.solve(A,b)\n",
- "\n",
- "X = x[0]\n",
- "\n",
- "Y = x[1]\n",
- "\n",
- "print \"X = \",round(X,2),\"cm\"\n",
- "\n",
- "print \"Y = \",round(Y,2),\"cm\"\n",
- "\n",
- "b = 8 -x[0]\n",
- "\n",
- "print \"The bottom of the solid cylinder will be \",round(b,2),\"cm above the bottom\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "X = 3.12 cm\n",
- "Y = 3.25 cm\n",
- "The bottom of the solid cylinder will be 4.88 cm above the bottom\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.15 Page no 86"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "l =100 # length of the pan in cm\n",
- "\n",
- "w = 20 # width of the pan in cm\n",
- "\n",
- "d = 4 # depth of the pan in cm\n",
- "\n",
- "L = 1.5 # load in N/m\n",
- "\n",
- "gma = 9810 # sepcific weight\n",
- "\n",
- "\n",
- "Fb = gma*(d*w*l/(2*l**3)) # weight on the pan\n",
- "\n",
- "W = Fb-L # weight of the pan\n",
- "\n",
- "X1 = w/3\n",
- "\n",
- "X2 = w/2\n",
- "\n",
- "theta = math.atan(d/w)*180/pi\n",
- "\n",
- "x = ((X2-X1)*cos(theta*pi/180))\n",
- "\n",
- "\n",
- "M = W*x\n",
- "\n",
- "print \"Weight of the pan =\",round(W,1),\"N\"\n",
- "print \"Magnitude of right momentum = \",round(M,1),\"N.cm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Weight of the pan = 37.7 N\n",
- "Magnitude of right momentum = 123.4 N.cm\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example no 2.16 Page no 90"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "\n",
- "Io = 15*4**3/12 # moment of inertia in m**4\n",
- "\n",
- "V = 15*4*2.71 # Volume in m**3\n",
- "\n",
- "Gb = ((3/2)-(2.71/2)) \n",
- "\n",
- "W = 1739.2 # weight of the barge from the previous example in kN\n",
- "\n",
- "Mg = (Io/V)-Gb # metacentric height in m\n",
- "\n",
- "print \"(a) Metacentric height = \", round(Mg,3),\"m\"\n",
- "\n",
- "M = W*Mg*sin(pi*6/180)\n",
- "\n",
- "print \"(b) Righting moment =\",round(M,1),\"kN.m\"\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) Metacentric height = 0.347 m\n",
- "(b) Righting moment = 63.1 kN.m\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example no 2.17 Page no 92"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "l=6 # length of the tank\n",
- "\n",
- "w =2 # width of the tank\n",
- "\n",
- "d = 3 # depth of the tank\n",
- "\n",
- "a = 3 # acceleration in m/s**2\n",
- "\n",
- "theta = pi/6\n",
- "\n",
- "W = 9810 # specific weight\n",
- "\n",
- "X = 0\n",
- "\n",
- "po=0 # pressure at the origin\n",
- "\n",
- "\n",
- "A = np.array([(1,-1),(1,1)])\n",
- "\n",
- "b = np.array([-1.38,3.0])\n",
- "\n",
- "x = np.linalg.solve(A,b)\n",
- "\n",
- "Y1 = x[0]\n",
- "\n",
- "Y2 = x[1]\n",
- "\n",
- "\n",
- "P = po - W*(2.61*X/9.81) - W*(1+(1.5/9.81))*(-Y2)\n",
- "\n",
- "print\"Amximum pressure occurs at the bottom of the tank =\",round(P,3),\"N\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Amximum pressure occurs at the bottom of the tank = 24768.9 N\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 2.18 Page no 98"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "d = 1 # diamter of the jar in ft\n",
- "\n",
- "h =2 # height of the jar in ft\n",
- "\n",
- "H = 1 # height of water in the jar in ft\n",
- "\n",
- "N = 150 # RPM\n",
- "\n",
- "g = 32.2 # acceleration due to gravity in ft/s**2\n",
- "\n",
- "\n",
- "w = 2*pi*N/60\n",
- "\n",
- "ho = H+((w**2*(d/2)**2)/(4*g))\n",
- "print \"(a) Height of paraboliod revolution of base = \", round(ho,2),\"ft\"\n",
- "\n",
- "Pmax = 62.4*ho\n",
- "\n",
- "print \"(b) Maximum pressure corresponding to maximum height = \",round(Pmax,1),\"lbs/ft**2\"\n",
- "\n",
- "z = H - ((w**2*(d/2)**2)/(4*g))\n",
- "\n",
- "r = 0.2 # distance from center\n",
- "\n",
- "y = -(0.52-0.25)\n",
- "\n",
- "P = po + (62.4*w**2*r**2/(2*g))-(62.4*y)\n",
- "\n",
- "print \"(c) Pressure =\",round(P,1),\"lbs/ft**2\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) Height of paraboliod revolution of base = 1.48 ft\n",
- "(b) Maximum pressure corresponding to maximum height = 92.3 lbs/ft**2\n",
- "(c) Pressure = 26.4 lbs/ft**2\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter3.ipynb b/Fluid_Mechanics_/Chapter3.ipynb
deleted file mode 100644
index 845caa9a..00000000
--- a/Fluid_Mechanics_/Chapter3.ipynb
+++ /dev/null
@@ -1,503 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:f598cdc0d1e1209f88ec87b2a9e5b6a08368d8e1e45eff28590bd3252c8de961"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter : Fluid Kinematics"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.1 Page no 117"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "\n",
- "x=1 # x co-ordinate\n",
- "\n",
- "y=2 # y co-ordinate\n",
- "\n",
- "\n",
- "print \"(a) u = 4*X; v = -4*Y \"\n",
- "\n",
- "u = 4*x\n",
- "\n",
- "v=- 4*y\n",
- "\n",
- "print \"(b) u=\",round(u,0),\"m/s and v=\",round(v,0),\"m/s\"\n",
- "\n",
- "R =sqrt(u**2+v**2)\n",
- "\n",
- "ang = atan(v/u)*180/pi\n",
- "\n",
- "print \"(c) Magnitude of velocity =\",round(R,2),\"m/s and angle of resultant velocity = \",round(ang,1),\"deg\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) u = 4*X; v = -4*Y \n",
- "(b) u= 4.0 m/s and v= -8.0 m/s\n",
- "(c) Magnitude of velocity = 8.94 m/s and angle of resultant velocity = -63.4 deg\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.2 Page no 119"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "d = 0.3 # diameter of pipe in m\n",
- "\n",
- "v = 15 # velocity in m/s\n",
- "\n",
- "rho = 997.1 # density in kg/m**3\n",
- "\n",
- "A = pi*d**2/4\n",
- "\n",
- "\n",
- "Q=A*v\n",
- "\n",
- "print \"(a) Discharge =\",round(Q,2),\"m**3/s\"\n",
- "\n",
- "mdot = rho*Q\n",
- "\n",
- "print \"(b) Mass flow rate = \",round(mdot,2),\"kg/s\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) Discharge = 1.06 m**3/s\n",
- "(b) Mass flow rate = 1057.21 kg/s\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.3 Page no 120 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "from scipy import integrate\n",
- "\n",
- "\n",
- "Vo = 10 # velocity in m/s\n",
- "\n",
- "r1 = 0\n",
- "\n",
- "ro = 0.1 # radius in m\n",
- "\n",
- "N = 1\n",
- "\n",
- "\n",
- "R = lambda r: (10*r-1000*r**3)\n",
- "\n",
- "R1,err=integrate.quad(R,r1,ro)\n",
- "\n",
- "Q = R1*2*pi\n",
- "\n",
- "A = pi*(0.1)**2\n",
- "\n",
- "V = Q/A\n",
- "\n",
- "print \"Mean velocity of the flow =\",round(V,0),\"m/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Mean velocity of the flow = 5.0 m/s\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.4 Page no 126"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import matplotlib.pyplot as plt\n",
- "\n",
- "from math import *\n",
- "\n",
- "from scipy import integrate\n",
- "\n",
- "import numpy as np\n",
- "\n",
- "from sympy import *\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "x = Symbol('x')\n",
- "U = integrate(2,x)\n",
- "\n",
- "\n",
- "y = Symbol('y')\n",
- "\n",
- "V = integrate(-4*y,y)\n",
- "\n",
- "\n",
- "Zhi = U + V\n",
- "\n",
- "print Zhi # for x and y =0 we get C = 0\n",
- "\n",
- "X = [5,6,7,8,9,10,11,12,13,14,15,16,17]\n",
- "Y = [0,1.414,2,2.449,2.828,3.16,3.46,3.741,4,4.242,4.472,4.69,4.898]\n",
- "\n",
- "b1=plt.plot(X,Y)\n",
- "\n",
- "\n",
- "X1 = [2.5,3,4,5,6,7,8,9,10,11,12,13,14,15]\n",
- "Y1 = [0,1,1.732,2.23,2.645,3,3.31,3.60,3.87,4.123,4.35889,4.5825,4.795,5]\n",
- "\n",
- "b2=plt.plot(X1,Y1)\n",
- "\n",
- "\n",
- "X2 = [0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,15.5]\n",
- "Y2 = [0,1.414,2,2.449,2.828,3.162,3.462,3.741,4,4.242,4.472,4.69,4.898,5.099,5.29,5.4772]\n",
- "\n",
- "b3=plt.plot(X2,Y2)\n",
- "\n",
- "plt.xlabel(\"x\")\n",
- "\n",
- "plt.ylabel(\"y\")\n",
- "\n",
- "plt.title(\"Streamline plot\")\n",
- "\n",
- "plt.legend([\"zhi=10\",\"zhi=5\",\"zhi=1\"])\n",
- "plt.show()"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2*x - 2*y**2\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.5 PAge no 127"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from sympy import *\n",
- "\n",
- "import numpy as np\n",
- "\n",
- "\n",
- "x = 2 # X co-ordinate\n",
- "\n",
- "Y = 4 # Y co-ordiante\n",
- "\n",
- "y = Symbol('y')\n",
- "\n",
- "zhi = 4*x*y\n",
- "\n",
- "zhiprime = zhi.diff(y)\n",
- "\n",
- "u = zhiprime\n",
- "\n",
- "x = Symbol('x')\n",
- "\n",
- "zhi = 4*x*Y\n",
- "\n",
- "zhiprime = zhi.diff(x)\n",
- "\n",
- "v = zhiprime\n",
- "\n",
- "R=sqrt(u**2+v**2)\n",
- "\n",
- "theta = atan(v/u)*180/pi\n",
- "\n",
- "print \"Resutant velocity magnitude = \",round(R,2),\"m/s\"\n",
- "\n",
- "print \"Angle =\",round(theta,1),\"deg with the X-axis in the 4th quadrant\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resutant velocity magnitude = "
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "17.89 m/s\n",
- "Angle = 63.4 deg with the X-axis in the 4th quadrant\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.6 Page no 130"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "from sympy import *\n",
- "\n",
- "import numpy as np\n",
- "\n",
- "from scipy import integrate\n",
- "\n",
- "\n",
- "d1 = 0.09 # diameter in cm\n",
- "\n",
- "d2 = 0.025 # diameter in cm\n",
- "\n",
- "rho = 1000 # density in kg/m**3\n",
- "\n",
- "mdot = 25 # mass flow rate in kg/s\n",
- "\n",
- "\n",
- "x = Symbol('x')\n",
- "\n",
- "A1 = pi*d1**2/4\n",
- "\n",
- "A2 = pi*d2**2/4\n",
- "\n",
- "AA = A1 - ((A1-A2)/40)*10 # from figure\n",
- "\n",
- "V = mdot/(rho*AA)\n",
- "\n",
- "print \"(a) Velocity =\",round(V,1),\"m/s\"\n",
- "\n",
- "AX = (A1 - ((A1-AA)/40)*x)\n",
- "\n",
- "v = 25*10**4/(rho*AX)\n",
- "\n",
- "vprime = v.diff(x)\n",
- "\n",
- "V1 = vprime\n",
- "\n",
- "\n",
- "VPrime = 0.09\n",
- "\n",
- "Acx = V*VPrime\n",
- "\n",
- "print \"(b) Convective acceleration =\",round(Acx,3),\"m**2/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) Velocity = 5.1 m/s\n",
- "(b) Convective acceleration = 0.46 m**2/s\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.8 Page no 143 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "y = Symbol('y')\n",
- "\n",
- "U = 16*y-12*x\n",
- "\n",
- "zhiprime = U.diff(y)\n",
- "\n",
- "u = zhiprime\n",
- "\n",
- "\n",
- "x = Symbol('x')\n",
- "\n",
- "V = 12*y-9*x\n",
- "\n",
- "zhiprime1 = V.diff(x)\n",
- "\n",
- "v = zhiprime1\n",
- "\n",
- "\n",
- "\n",
- "z = v-u\n",
- "\n",
- "print \"z = \",round(z,0)\n",
- "\n",
- "print \"Hence the flow is rotational\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "z = -25.0\n",
- "Hence the flow is rotational\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 3.10 Page no 148"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "d1 = 0.1 # diameter in m\n",
- "\n",
- "d2 = 0.3 # diameter in m\n",
- "\n",
- "V1 = 30 # velocity in m/s\n",
- "\n",
- "\n",
- "V2 = (d1**2/d2**2)*V1\n",
- "\n",
- "print \"Velocity at the larger cross section = \",round(V2,2),\"m/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity at the larger cross section = 3.33 m/s\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter4.ipynb b/Fluid_Mechanics_/Chapter4.ipynb
deleted file mode 100644
index ea310eb2..00000000
--- a/Fluid_Mechanics_/Chapter4.ipynb
+++ /dev/null
@@ -1,529 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:1587038d9ed42ba6cd2ab38d651a00ef2c4ed8f4723b6c6b72bdf9880d8ef943"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter 4 : Fluid Dynamics"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 4.1 Page no 159"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "d1 = 0.1 # diameter in m\n",
- "\n",
- "d2 = 0.05 # diameter in m\n",
- "\n",
- "Q = 0.1 # discharge in m**3/s\n",
- "\n",
- "A1 = pi*d1**2/4\n",
- "\n",
- "A2 = pi*d2**2/4\n",
- "\n",
- "gma =9810 # specific weight\n",
- "\n",
- "z= 6 # difference in the height\n",
- "\n",
- "g = 9.81\n",
- "\n",
- "\n",
- "V1 = Q/A1 # velocity at section 1\n",
- "\n",
- "V2 = Q/A2 # velocity at section 2\n",
- "\n",
- "dP = gma*((V2**2/(2*g))-(V1**2/(2*g))-z)/1000\n",
- "\n",
- "print \"Difference in pressure in section 1 and 2 = \",round(dP,1),\"kN/m**2\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Difference in pressure in section 1 and 2 = 1157.0 kN/m**2\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 4.2 Page no 160"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "d = 2.5 # diameter in cm\n",
- "\n",
- "h =200 # head in cm\n",
- "\n",
- "Cd = 0.65 # coefficient of discharge\n",
- "\n",
- "A =pi*d**2/4\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2 \n",
- "\n",
- "\n",
- "Q = Cd*A*sqrt(2*g*h)/100\n",
- "\n",
- "print \"Actual discharge =\",round(Q,2),\"l/s\"\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Actual discharge = 2.0 l/s\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 4.3 Page no 162"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "\n",
- "from math import *\n",
- "\n",
- "from scipy import integrate\n",
- "\n",
- "import numpy as np\n",
- "\n",
- "\n",
- "H1 = 3 # height in m\n",
- "\n",
- "H2 = 4 # height in m\n",
- "\n",
- "b = 0.5 # width in m\n",
- "\n",
- "Cd = 0.65 # co-efficient of discharge \n",
- "\n",
- "g = 9.81 # acceleration due to grvity in m/s**2\n",
- "\n",
- "\n",
- "q = lambda h: h**(1/2)\n",
- " \n",
- "Q,err = integrate.quad(q, H1, H2)\n",
- "\n",
- "Qt = Cd*b*sqrt(2*g)*Q\n",
- "\n",
- "print \"Discharge through the orifice =\",round(Qt,2),\"m**3/s\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Discharge through the orifice = 2.69 m**3/s\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 4.4 Page no 163"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- " \n",
- "from math import *\n",
- "\n",
- "from scipy import integrate\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "import numpy as np\n",
- "\n",
- "\n",
- "b = 1 # bredth of the tank\n",
- "\n",
- "d = 0.5 # depth of the tank\n",
- "\n",
- "h1 = 0.2 # height of the orifice in m\n",
- "\n",
- "Cd = 0.6 # coefficient of discharge\n",
- "\n",
- "H1 = 2 # height in m\n",
- "\n",
- "H2 = 2+h1 # height in m\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "A = 1*0.3 # area of submerged section in m**2\n",
- "\n",
- "\n",
- "q = lambda h: h**(1/2)\n",
- " \n",
- "Q,err = integrate.quad(q, H1, H2)\n",
- "\n",
- "Q1 = Cd*b*sqrt(2*g)*(Q) # Flow through area 1\n",
- "\n",
- "Q2 = Cd*sqrt(2*g*H2)*A\n",
- "\n",
- "Td = Q1+Q2\n",
- "\n",
- "print \"Total Discharge =\",round(Td,2),\"m**3/s\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total Discharge = 1.95 m**3/s\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 4.5 Page no 165"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "d1 = 2 # radius of pipe\n",
- "\n",
- "d2 = 1 # radius of throat\n",
- "\n",
- "D1 = 40\n",
- "\n",
- "D2 = 20\n",
- "\n",
- "A1 = pi*D1**2/4\n",
- "\n",
- "A2 = pi*D2**2/4\n",
- "\n",
- "Cd = 0.95\n",
- "\n",
- "\n",
- "V2 = sqrt(21582/0.9375)\n",
- "\n",
- "Q = 1.52*pi*(d1/100)**2/4\n",
- "\n",
- "Qa = Q*Cd\n",
- "\n",
- "print \"Actual discharge =\",round(Qa,6),\"m**3/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Actual discharge = 0.000454 m**3/s\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 4.6 Page no 166"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "dx = 0.5 # in ft\n",
- "\n",
- "K = 1 # constant\n",
- "\n",
- "g = 32.2 # acceleration due to gravity in ft/s**2\n",
- "\n",
- "\n",
- "V = sqrt(2*g*dx)\n",
- "\n",
- "print \"velocity at the dept of 1 ft =\",round(V,2),\"ft/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "velocity at the dept of 1 ft = 5.67 ft/s\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example no 4.7 Page no 172"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "gma= 0.8 # specific weight\n",
- "\n",
- "V2 = 40 # velocity in m/s\n",
- "\n",
- "z1 =25 # height at point 1\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "d = 15 # diameter of the nozzle in cm\n",
- "\n",
- "\n",
- "V2 = sqrt(2*g*z1/4.25)\n",
- "\n",
- "A = pi*(d/100)**2/4\n",
- "\n",
- "Q = A*V2*1000\n",
- "\n",
- "print \"Discharge throught the system =\",round(Q,0),\"l/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Discharge throught the system = 190.0 l/s\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 4.8 Page no 174"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "\n",
- "Eff = 0.8 # pump efficiency\n",
- "\n",
- "Hl = 30 # head loss in m\n",
- "\n",
- "D1 =6 # diameter in cm\n",
- "\n",
- "D2 = 2 # diameter in cm\n",
- "\n",
- "gma = 9810 # specific weight in N/m**3\n",
- "\n",
- "V2 = 40 # velocity in m/s\n",
- "\n",
- "P1 = -50 # pressure at point 1 in N/m**2\n",
- "\n",
- "z2 = 100 # height at point 2\n",
- "\n",
- "g = 9.8 # acceleration due to gravity in m/s**2\n",
- "\n",
- "z1 = 30 # height in m\n",
- "\n",
- "\n",
- "V1=(2/6)**2*V2\n",
- "\n",
- "Q = (pi*6**2/4)*V1*10**-4\n",
- "\n",
- "Hs = z2 + (V2**2/(2*g)) + z1 + (50/gma) -(V1**2/(2*g))\n",
- "\n",
- "P = gma*Q*Hs\n",
- "\n",
- "Pi = (P/Eff)/1000\n",
- "\n",
- "print \"Power input = \",round(Pi,1),\"kW\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power input = 32.5 kW\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 4.9 Page no 176"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "Q = 0.2 # discharge in m**3/s\n",
- "\n",
- "d1 = 0.25 # diameter of the pipe in m\n",
- "\n",
- "A = pi*d1**2/4 # area of the pipe\n",
- "\n",
- "za = 480 # height in m\n",
- "\n",
- "z1 = 500 # height in m\n",
- "\n",
- "z3 = 550 # elevation in m\n",
- "\n",
- "gma =9810 # specific weight in N/m**2\n",
- "\n",
- "g =9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "\n",
- "V=Q/A # Velocity of in m/s\n",
- "\n",
- "Hl1 = (0.02*100*V**2/(0.25*2*9.81))\n",
- "\n",
- "\n",
- "Pa =(z1-za-(V**2/(2*g))-Hl1)\n",
- "\n",
- "El = za+Pa\n",
- "\n",
- "print \"Elevation at height A =\",round(El,2),\"m\"\n",
- "\n",
- "\n",
- "hs = z3 - z1 + (0.02*(500/0.25)*(V**2/(2*g))) \n",
- "\n",
- "El2 = El+hs\n",
- "\n",
- "print \"Elevation at height B =\",round(El2,2),\"m\"\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Elevation at height A = 492.39 m\n",
- "Elevation at height B = 576.23 m\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter5.ipynb b/Fluid_Mechanics_/Chapter5.ipynb
deleted file mode 100644
index 73c391ca..00000000
--- a/Fluid_Mechanics_/Chapter5.ipynb
+++ /dev/null
@@ -1,545 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:cd2be77f3b9478c6cae134ea907a28e897f525fa56fe0f236e6cf640bce7cb59"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter 5 : Fluid Momentum"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.1 Page no 192"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "Q = 0.3 # Water flow rate in m**3/s\n",
- "\n",
- "d1 = 0.3 # diameter at inlet in meters\n",
- "\n",
- "A1 = pi*d1**2/4 # inlet area in m**2\n",
- "\n",
- "d2 = 0.15 # diameter at outlet in m\n",
- "\n",
- "A2 = pi*d2**2/4 # area at outlet in m**2\n",
- "\n",
- "P1 = 175*10**3 # inlet pressure in kN/m**2\n",
- "\n",
- "P2 = 160*10**3 # Pressure at outlet in kN/m**2\n",
- "\n",
- "F1 = P1*A1 # Force at inlet\n",
- "\n",
- "F2 = P2*A2 # Force at outlet\n",
- "\n",
- "rho = 1000 # density of water in kg/m**3\n",
- "\n",
- "V1 = Q/A1 # inlet velocity in m/s\n",
- "\n",
- "V2 = Q/A2 # Velocity at outlet in m/s\n",
- "\n",
- "theta = 45*pi/180 # angle in deg\n",
- "\n",
- "\n",
- "\n",
- "Rx = F1 - F2*cos(theta)-rho*Q*(V2*cos(theta)-V1)\n",
- "\n",
- "\n",
- "Ry = F2*sin(theta)+rho*Q*(V2*sin(theta)-0)\n",
- "\n",
- "R = sqrt(Rx**2+Ry**2)\n",
- "\n",
- "print \"Resultant force on the elbow = \",round(R,2),\"N\"\n",
- "\n",
- "a = atan(Ry/Rx)*180/pi\n",
- "\n",
- "print \"Angle of resultant force = \",round(a,4),\"deg\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resultant force on the elbow = 9800.58 N\n",
- "Angle of resultant force = 34.8516 deg\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.2 Page no 194"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "V1 = 80 # Velocity in ft/s\n",
- "\n",
- "A1 = 0.1 # area in ft**2\n",
- "\n",
- "g = 32.2 # Acceleration due to gravity in ft/s**2\n",
- "\n",
- "rho = 1.94 # density in lb/ft**3\n",
- "\n",
- "a = pi/3 # angle of pipe bend\n",
- "\n",
- "\n",
- "Q = A1*V1 # Total discharge in m**3\n",
- "\n",
- "\n",
- "V2 = sqrt((2*g*V1**2/(2*32.2))-3*2*g)\n",
- "\n",
- "\n",
- "\n",
- "Rx = -(rho*Q*(V2*cos(a)-80))\n",
- "\n",
- "\n",
- "Ry = (rho*Q*(V2*sin(a)-0))\n",
- "\n",
- "R = sqrt(Rx**2+Ry**2)\n",
- "\n",
- "print \"Resultant force = \",round(R,0),\"lbs\"\n",
- "\n",
- "ang = atan(Ry/Rx)*180/pi\n",
- "\n",
- "print \"Angle of resultant force = \",round(ang,4),\"deg\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resultant force = 1232.0 lbs\n",
- "Angle of resultant force = 59.2396 deg\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example no 5.3 Page no 195 "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "from math import *\n",
- "\n",
- "Q1 = 0.5 # discharge from pipe 1 in m**3/s\n",
- "\n",
- "Q2 = 0.3 # discharge from pipe 2 in m**3/s\n",
- "\n",
- "Q3 = 0.2 # discharge from pipe 3 in m**3/s\n",
- "\n",
- "d1 = 0.45 # diameter of pipe 1 in m\n",
- "\n",
- "d2 = 0.3 # diameter of pipe 2 in m\n",
- "\n",
- "d3 = 0.15 # diameter of pipe 3 in m\n",
- "\n",
- "A1 = pi*d1**2/4 # area in m**2\n",
- "\n",
- "A2 = pi*d2**2/4 # area in m**2\n",
- "\n",
- "A3 = pi*d3**2/4 # area in m**2\n",
- "\n",
- "P1 = 60*10**3 # Pressure at point 1 in kPa\n",
- "\n",
- "gma = 9810\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "rho = 1000 # density in kg/m**3\n",
- "\n",
- "\n",
- "V1 = Q1/A1\n",
- "\n",
- "V2 = Q2/A2\n",
- "\n",
- "V3 = Q3/A3\n",
- "\n",
- "P2 = gma*((P1/gma) + V1**2/(2*g) - V2**2/(2*g))\n",
- "\n",
- "P3 = gma*((P1/gma) + V1**2/(2*g) - V3**2/(2*g))\n",
- "\n",
- "F1 = P1*A1\n",
- "\n",
- "F2 = P2*A2\n",
- "\n",
- "F3 = P3*A3\n",
- "\n",
- "Rx = rho*(Q2*V2*cos(pi/6)-Q3*V3*cos(pi/9)-0)+F3*cos(pi/9)-F2*cos(pi/6)\n",
- "\n",
- "Ry = rho*((Q2*V2*sin(pi/6)+Q3*V3*sin(pi/9)-Q1*V1))+F3*sin(pi/9)-F2*sin(pi/6)-F1\n",
- "\n",
- "R = sqrt(Rx**2+Ry**2)\n",
- "\n",
- "a = atan(Ry/Rx)*180/pi\n",
- "\n",
- "print \"Resultant Force = \",round(R,0),\"N\"\n",
- "\n",
- "print \"Angle with horizontal = \",round(a,1),\"deg with horizontal\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Resultant Force = 12489.0 N\n",
- "Angle with horizontal = 69.2 deg with horizontal\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.4 Page no 199"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "d = 2 # diameter in inches\n",
- "\n",
- "A = pi*d**2/(4*144) # Area of jet\n",
- "\n",
- "V = 100 # velocity of jet in ft/s\n",
- "\n",
- "Q = A*V # dischargge in ft**3/s\n",
- "\n",
- "gma = 62.4 # mass\n",
- "\n",
- "g = 32.2 # acceleration due to gravity in ft/s**2\n",
- "\n",
- "\n",
- "Rx = (gma*Q*V)/g # horizontal force required to keep plate in position\n",
- "\n",
- "print \"Normal force on the plate = \",round(Rx,0),\"lbs\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Normal force on the plate = 423.0 lbs\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.5 Page no 202"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import *\n",
- "\n",
- "D = 0.075 # diameter in m\n",
- "\n",
- "A =pi*D**2/4 # area of jet\n",
- "\n",
- "V =15 # velocity of jet in m/s\n",
- "\n",
- "w = 9810 # specific weight\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s^2\n",
- "\n",
- "\n",
- "Q =A*V # Discharge in m**3/s\n",
- "\n",
- "Vp = 10 # velocity of plate in m/s\n",
- "\n",
- "Rx = w*Q*(V-Vp)/g # force in X direction\n",
- "\n",
- "print \"Force on the plate = \",round(Rx,2),\"N\"\n",
- "\n",
- "W = Rx*Vp\n",
- "\n",
- "print \"Work done per second = \",round(W,1),\"N.m/s\"\n",
- "\n",
- "Eff = 2*(V-Vp)*Vp/V**2\n",
- "\n",
- "E = 100*Eff\n",
- "\n",
- "print \"Efficiency = \",round(E,1),\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Force on the plate = 331.34 N\n",
- "Work done per second = 3313.4 N.m/s\n",
- "Efficiency = 44.4 %\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.6 Page no 204"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "d = 3 # diameter in inches\n",
- "\n",
- "A = pi*d**2/(4*144) # Area of jet\n",
- "\n",
- "Q = 2 # discharge in ft**3/s\n",
- "\n",
- "rho = 1.94 # density in lbs/ft**3\n",
- "\n",
- "\n",
- "V = Q/A # velocity in ft/s\n",
- "\n",
- "alpha = pi/6 # inlet vane angle\n",
- "\n",
- "bta = pi/6 # outlet vane angle\n",
- "\n",
- "Rx = rho*Q*(V*cos(bta)+V*cos(alpha)) # force in X direction\n",
- "\n",
- "Ry = rho*Q*(V*sin(bta)-V*sin(alpha)) # force in Y direction\n",
- "\n",
- "print \"Force exerted in X direction = \",round(Rx,1),\"lbs\"\n",
- "\n",
- "print \"Force exerted in Y direction = \",round(Ry,1),\"lbs\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Force exerted in X direction = 273.8 lbs\n",
- "Force exerted in Y direction = 0.0 lbs\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.7 Page no 207"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import *\n",
- "\n",
- "V1 =40 # velocity in m/s\n",
- "\n",
- "Vp = 20 # velocity of the plate in m/s\n",
- "\n",
- "alpha = pi/6 # inlet vane angle\n",
- "\n",
- "bta = pi/9 # outlet vane angle\n",
- "\n",
- "g = 9.81\n",
- "\n",
- "\n",
- "V1x = V1*cos(alpha)\n",
- "\n",
- "Vw1 = V1x;\n",
- "\n",
- "V1y = V1*sin(alpha)\n",
- "\n",
- "dV = V1x - Vp\n",
- "\n",
- "theta = atan(V1y/dV)*180/pi\n",
- "\n",
- "Vr1 = V1y/sin(theta*pi/180)\n",
- "\n",
- "Vr2 = Vr1\n",
- "\n",
- "\n",
- "print \"a ) Angle of blade top at inlet and Outlet, Phi = 4 deg\"\n",
- "\n",
- "phi = 4*pi/180 \n",
- "\n",
- "V2 = Vr2*sin(phi)/sin(bta)\n",
- "\n",
- "V2w = V2*cos(bta)\n",
- "\n",
- "W = (V2w+V1x)*Vp/g\n",
- "\n",
- "print \"b ) Work done per N of fluid per second = \",round(W,2),\"N.m\"\n",
- "\n",
- "Eff = (1 - (V2/V1)**2)*100\n",
- "\n",
- "print \"c ) Efficiency = \",round(Eff,2),\"%\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a ) Angle of blade top at inlet and Outlet, Phi = 4 deg\n",
- "b ) Work done per N of fluid per second = 80.31 N.m\n",
- "c ) Efficiency = 98.4 %\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 5.8 Page no 211"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import *\n",
- "\n",
- "v = 220 # velocity in ft/s\n",
- "\n",
- "d = 6 # diameter of the propeller\n",
- "\n",
- "Q = 12000 # discharge in ft**3/s\n",
- "\n",
- "mf = 0.0022 # mass flow rate in slugs/ft**3\n",
- "\n",
- "\n",
- "V1 = v*5280/3600 # velocity in ft/s\n",
- "\n",
- "V = Q/(pi*d**2/4) # velocity in ft/s\n",
- "\n",
- "V4 = 2*V-V1\n",
- "\n",
- "F = mf*Q*(V4-V1) # thrust on the plane\n",
- "\n",
- "print \"a - Thrust on the plane = \",round(F,1),\"lbs\"\n",
- "\n",
- "Eff = V1/V # efficiency \n",
- "\n",
- "E = Eff*100\n",
- "\n",
- "print \"b - Theoretical efficiency = \",round(E,0),\"%\"\n",
- "\n",
- "Thp = F*V1/(500*Eff)\n",
- "\n",
- "print \"c - Theoretical horsepower required = \",round(Thp,0),\"hp\"\n",
- "\n",
- "dP = mf*(V4**2-V1**2)/2\n",
- "\n",
- "print \"d - Pressure difference across blades = \",round(dP,2),\"lbs/ft**3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a - Thrust on the plane = 5372.2 lbs\n",
- "b - Theoretical efficiency = 76.0 %\n",
- "c - Theoretical horsepower required = 4560.0 hp\n",
- "d - Pressure difference across blades = 190.0 lbs/ft**3\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter6.ipynb b/Fluid_Mechanics_/Chapter6.ipynb
deleted file mode 100644
index 0eb8031a..00000000
--- a/Fluid_Mechanics_/Chapter6.ipynb
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:779dd4cf4a63ec7ae3b3ee56b532415f0e7430caa393646786820e5bcc3483bb"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter 6 : Dimensional Analysis and Dynamic Similitude"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.2 Page no 233"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "L = 10 # length scale lp/l\n",
- "\n",
- "\n",
- "rhop = 0.86*998.2 # density inn kg/m**3\n",
- "\n",
- "mup = 8*10**-3 # viscosity in Ns/m**2\n",
- "\n",
- "Vp = 2.5 # Velocity in m/s\n",
- "\n",
- "\n",
- "rhom = 998.2 # density in kg/m**3\n",
- "\n",
- "mum = 1.005*10**-3 # viscosity in Ns/m**2\n",
- "\n",
- "\n",
- "Vm = Vp*L*(rhop/rhom)*(mum/mup) # velocity in m/s\n",
- "\n",
- "print \"Hence the model should be tested at a velocity of \",round(Vm,2),\"m/s. This velocity in the model is called corresponding velocity\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Hence the model should be tested at a velocity of 2.7 m/s. This velocity in the model is called corresponding velocity\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 6.3 Page no 233"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "from math import *\n",
- "\n",
- "l = 300 # length in ft\n",
- "\n",
- "Q = 100000 # discharge in cfs\n",
- "\n",
- "Cd = 3.8 # coefficient of discharge\n",
- "\n",
- "L = (1/50) # length scale\n",
- "\n",
- "\n",
- "Qm = 100000*(L)**(5/2) # model discharge in cfs\n",
- "\n",
- "print \"Maximum discharge, Qm = \",round(Qm,8),\"cfs\"\n",
- "\n",
- "H = (Q/(Cd*l))**(2/3) # height over spill way\n",
- "\n",
- "h = H*L*12 # head over spill model\n",
- "\n",
- "print \"Maximum head over crest = \",round(h,2),\"ft\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum discharge, Qm = 5.65685425 cfs\n",
- "Maximum head over crest = 4.74 ft\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter7.ipynb b/Fluid_Mechanics_/Chapter7.ipynb
deleted file mode 100644
index baafd643..00000000
--- a/Fluid_Mechanics_/Chapter7.ipynb
+++ /dev/null
@@ -1,367 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:efc6f8f4cd32e5126c4de163e157356596c0806f949ff4295acc9cf31cf6d207"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter 7 : Fluid Resistance"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.1 Page no 245"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "nu1 = 0.804*10**-6 # viscosity in m**2/s\n",
- "\n",
- "V = 0.3 # velocity in m/s\n",
- "\n",
- "D = 0.02 # diameter in m/s\n",
- "\n",
- "\n",
- "rho = 995.7 # density in kg/m**3\n",
- "\n",
- "\n",
- "mu = 8620*10**-4 # viscosity in Ns/m**2\n",
- "\n",
- "S = 1.26 # specific gravity\n",
- "\n",
- "nu2 = mu/(S*rho) # viscosity of glycerine in Ns/m**2\n",
- "\n",
- "\n",
- "R1 = V*D/nu1\n",
- "\n",
- "print \"Reynolds number for water =\",round(R1,0)\n",
- "\n",
- "print \"R > 2000 the flow is turbulent for water\"\n",
- "\n",
- "print \"\\n\"\n",
- "R2 = V*D/nu2\n",
- "\n",
- "print \"Reynolds number for glycerine =\",round(R2,1)\n",
- "\n",
- "print \"R < 2000 the flow is laminar for glycerine\"\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Reynolds number for water = 7463.0\n",
- "R > 2000 the flow is turbulent for water\n",
- "\n",
- "\n",
- "Reynolds number for glycerine = 8.7\n",
- "R < 2000 the flow is laminar for glycerine\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.2 Page no 248"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "from scipy import *\n",
- "\n",
- "import numpy as np\n",
- "\n",
- "from sympy import *\n",
- "\n",
- "y = Symbol('y')\n",
- "\n",
- "d = 0.0175 # diameter in m\n",
- "\n",
- "s = 0.3 # shear stress at a distance in m\n",
- "\n",
- "tau = 103 # shear stress in Pa\n",
- "\n",
- "rho = 1000 # density in kg/m**3\n",
- "\n",
- "\n",
- "\n",
- "Up = diff(8.5+0.7*log(y),y)\n",
- "\n",
- "print Up\n",
- "\n",
- "Up = (0.7/0.3) # for y = 0.3\n",
- "\n",
- "k = sqrt(tau/(rho*s**2*Up**2))\n",
- "\n",
- "print \"Turbulence constant = \",round(k,2)\n",
- "\n",
- "Ml = k*s*100 # mixing length\n",
- "\n",
- "print \"Mixing length = \",round(Ml,1),\"cm\"\n",
- "\n",
- "Eta = rho*(Ml/100)**2*Up\n",
- "\n",
- "print \"Eddy viscosity =\",round(Eta,1),\"Nm/s**2\"\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0.7/y\n",
- "Turbulence constant = 0.46\n",
- "Mixing length = 13.8 cm\n",
- "Eddy viscosity = 44.1 Nm/s**2\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.3 Page no 256"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "from pylab import plt\n",
- "\n",
- "from numpy import *\n",
- "\n",
- "from scipy import *\n",
- "\n",
- "from sympy import *\n",
- "\n",
- "import matplotlib.pyplot as plt\n",
- "\n",
- "\n",
- "\n",
- "S = 1.26 # specific gravity \n",
- "\n",
- "mu = 0.862 # dynamic viscosity in Ns/m**2\n",
- "\n",
- "rho = S *1000 # density in kg/m**3\n",
- "\n",
- "K2 = 0.332\n",
- "\n",
- "V=1 # velocity in m/s\n",
- "\n",
- "\n",
- "\n",
- "x = [0,0.1,0.5,1.0,2.0];\n",
- "\n",
- "d = 0.1307*np.sqrt(x)*100\n",
- "\n",
- "tauo = K2*rho*V**2/(sqrt(1462)*np.sqrt(x))\n",
- "\n",
- "plt.plot(x, d, 'r')\n",
- "plt.xlabel('x(m)')\n",
- "plt.ylabel('delta(cm),tauo(N/m**2)')\n",
- "\n",
- "plt.plot(x, tauo, 'b')\n",
- "plt.xlabel('x')\n",
- "plt.legend('d''t')\n",
- "plt.show()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.4 page no 260"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import numpy as np\n",
- "\n",
- "from math import *\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "import matplotlib.pyplot as plt\n",
- "\n",
- "from numpy import sqrt\n",
- "\n",
- "\n",
- "rho = 1.197 # air density in kg/m**3\n",
- "\n",
- "mu = 18.22*10**-6 # viscosity in Ns/m**2\n",
- "\n",
- "l = 5 # length of the plate\n",
- "\n",
- "V = 8 # velocity in m/s\n",
- "\n",
- "Rec = 5*10**5 # crictical reynolds number\n",
- "\n",
- "l1 = 0.951 # length from 0 to 0.951\n",
- "\n",
- "l2 = 5.0 # length from 0 to 5\n",
- "\n",
- "l3 = 0.951 # length from 0 to 0.951\n",
- "\n",
- "\n",
- "X = Rec/525576\n",
- "\n",
- "x = [0,0.1,0.3,0.6,0.951];\n",
- "\n",
- "d = 0.0069*np.sqrt(x)*100\n",
- "\n",
- "plt.figure()\n",
- "plt.plot(x, d, 'r')\n",
- "plt.xlabel('x(m)')\n",
- "plt.ylabel('delta(cm)')\n",
- "plt.title('delta v/s x')\n",
- "plt.legend('L')\n",
- "plt.show()\n",
- "\n",
- "X1 = [0.951,1.5,2.0,2.5,3.0,4.0,5.0]\n",
- "\n",
- "Dt = 0.0265*np.power(X1,(4/5))*100\n",
- "\n",
- "plt.figure()\n",
- "plt.plot(X1, Dt, 'g')\n",
- "plt.xlabel('x(m)')\n",
- "plt.ylabel('delta(cm)')\n",
- "plt.title('delta v/s x')\n",
- "plt.legend('T')\n",
- "plt.show()\n",
- "\n",
- "Td = 0.664*sqrt(mu*rho*V**3*l1)+0.036*rho*V**2*l2*(mu/(rho*V*l2))**0.2-0.036*rho*V**2*l3*(mu/(rho*V*l3))**0.2\n",
- "\n",
- "print \"Total Drag = \",round(Td,3),\"N\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total Drag = 0.595 N\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 7.5 Page no 270"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "from pylab import plt\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "\n",
- "d = 0.01 # doameter of sphere in m\n",
- "\n",
- "v = 0.05 # velocity in m/s\n",
- "\n",
- "S = 1.26 # specific gravity\n",
- "\n",
- "mu = 0.826 # kinematic viscosity in Ns/m**2\n",
- "\n",
- "rho = S*1000 # density\n",
- "\n",
- "\n",
- "R = rho*v*d/mu\n",
- "\n",
- "\n",
- "Cd = 35\n",
- "\n",
- "Fd = 0.5*Cd*rho*v**2*pi*d**2/4\n",
- "\n",
- "print \"Drag on the sphere = \",round(Fd,4),\"N\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Drag on the sphere = 0.0043 N\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter8.ipynb b/Fluid_Mechanics_/Chapter8.ipynb
deleted file mode 100644
index 6972a7f7..00000000
--- a/Fluid_Mechanics_/Chapter8.ipynb
+++ /dev/null
@@ -1,358 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:74db613da6801f860dadcdbf59265a8239e5864c8922257a769d0c0fa0f7c4e0"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter 8 : Laminar Flow"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 8.1 Page no 286"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import *\n",
- "\n",
- "P1 = 200 # Pressure at inlet in kPa\n",
- "\n",
- "P2 = 260 # Pressure at outlet in kPa\n",
- "\n",
- "d = 0.004 # diameter in m\n",
- "\n",
- "L = 8 # length of pipe in meters\n",
- "\n",
- "z = 6 # height of the pipe from the ground\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "\n",
- "mu = 19.1*10**-4 # viscosity of kerosene at 20 deg C\n",
- "\n",
- "S = 0.81 # specific gravity of kerosene\n",
- "\n",
- "rho = 1000 # density in kg/m**3\n",
- "\n",
- "\n",
- "\n",
- "p1 = (P1+g*z*S)*1000 # point 1\n",
- "\n",
- "p2 = (P2)*1000 # point 2\n",
- "\n",
- "\n",
- "\n",
- "Sp = -((p1-p2)/sqrt(L**2+z**2))\n",
- "\n",
- "r = d/2\n",
- "\n",
- "Tau_max = r*Sp/2\n",
- "\n",
- "print \"(a) Maximum shear stress =\",round(Tau_max,3),\"N/m**2\"\n",
- "\n",
- "\n",
- "Vmax = r**2*Sp/(4*mu)\n",
- "\n",
- "print \"(b) Maximum velocity =\",round(Vmax,3),\"m/s\"\n",
- "\n",
- "\n",
- "Q = pi*r**4*Sp/(8*mu)\n",
- "\n",
- "print \"(c) Discharge = \",round(Q,7),\"m**3/s\"\n",
- "\n",
- "\n",
- "V = Vmax/2\n",
- "\n",
- "R = rho*V*d*S/mu\n",
- "\n",
- "print \"Reynolds number =\",round(R,0),\"is less than 2000, the flow is laminar and the calculations are valid\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(a) Maximum shear stress = 1.232 N/m**2\n",
- "(b) Maximum velocity = 0.645 m/s\n",
- "(c) Discharge = 4.1e-06 m**3/s\n",
- "Reynolds number = 547.0 is less than 2000, the flow is laminar and the calculations are valid\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example no 8.2 Page no 289"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "d = 0.02 # diameter of the pipe in m\n",
- "\n",
- "l = 30 # length of the pipe in m\n",
- "\n",
- "v = 0.1 # velocity in m/s\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "\n",
- "nu = 1.54*10**-6 # kinematic viscosity of water in m**2/s\n",
- "\n",
- "\n",
- "R = v*d/nu\n",
- "\n",
- "print \"R = \",round(R,0),\"is lesss than 2000 , the flow is laminar\"\n",
- "\n",
- "f = 64/R # friction factor\n",
- "\n",
- "Hf = f*l*v**2/(2*g*d) # head loss due to friction\n",
- "\n",
- "H=Hf*100\n",
- "\n",
- "print \"Head loss = \",round(H,2),\"cm of water\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "R = 1299.0 is lesss than 2000 , the flow is laminar\n",
- "Head loss = 3.77 cm of water\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 8.3 Page no 290"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "S = 0.92 # specific gravity\n",
- "\n",
- "gma = S*62.4 # density in lbs/ft**3\n",
- "\n",
- "nu=0.0205 # viscosity in ft**2/s\n",
- "\n",
- "W = 50 # weight of oil\n",
- "\n",
- "d = 9 # diameter of the pipe in inches\n",
- "\n",
- "g = 32.2 # acceleration due to gravity in ft/s**2\n",
- "\n",
- "\n",
- "Q = W*2000/(gma*3600) # discharge in ft**3/s\n",
- "\n",
- "A = pi*d**2/(4*144) # area of pipe\n",
- "\n",
- "V = Q*1000/(A) # velocity in ft/s\n",
- "\n",
- "R = V*0.75/(nu*1000) # Reynolds number\n",
- "\n",
- "print \"R =\",round(R,2),\"is less than 2000 and hence flow is laminar\"\n",
- "\n",
- "f = 64/R # friction factor\n",
- "\n",
- "Hf = (f*5280*(V/1000)**2)/(2*g*0.75)\n",
- "\n",
- "Hp = gma*Q*Hf/(550)\n",
- "\n",
- "print \"Horse power required to pump the oil = \",round(Hp,1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "R = 40.07 is less than 2000 and hence flow is laminar\n",
- "Horse power required to pump the oil = 10.6\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 8.4 Page no 291"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import *\n",
- "\n",
- "V = 50 # Volume in m**3\n",
- "\n",
- "d = 5 # diameter in m\n",
- "\n",
- "d1 = 0.1 # diameter of bore\n",
- "\n",
- "l = 10 # length of the tube\n",
- "\n",
- "t = 20*60 # time in seconds\n",
- "\n",
- "rho = 0.88 # density in g/cm**3\n",
- "\n",
- "H1 = 5 # height from the base in m\n",
- "\n",
- "A = pi*d**2/4\n",
- "\n",
- "a = pi*d1**2/4\n",
- "\n",
- "\n",
- "\n",
- "H2 = H1-(V/A)\n",
- "\n",
- "mu = t*rho*a*(0.1)*98.1/(32*A*10*log(H1/H2))\n",
- "\n",
- "print \"Viscosity of the liquid =\",round(mu,4),\"poise\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Viscosity of the liquid = 0.0182 poise\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 8.5 Page no 297"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "S = 0.81 # specific gravity of oil\n",
- "\n",
- "mu = 4*10**-5 # viscosity of oil in lb.s/ft**2\n",
- "\n",
- "gma = 62.4*S # density in lbs/ft**3\n",
- "\n",
- "p1 = 6.51 # pressure at point 1 in psia\n",
- "\n",
- "p2 = 8 # pressure at point 2 in psia\n",
- "\n",
- "h = 0.006 # distance between the plate in ft\n",
- "\n",
- "l = 4 # length of the plate in ft\n",
- "\n",
- "theta = pi/6 # angle of inclination\n",
- "\n",
- "\n",
- "\n",
- "P1 = p1*144 + gma*l*sin(theta)\n",
- "\n",
- "\n",
- "P2 = p2*144\n",
- "\n",
- "\n",
- "Sp = (P2-P1)/4\n",
- "\n",
- "\n",
- "y = h\n",
- "\n",
- "\n",
- "q = (2154.75*y**2/2) - (359125*y**3/3)\n",
- "\n",
- "print \"Discharge q = \",round(q,3),\"per unit ft of the plate\"\n",
- "\n",
- "\n",
- "dV = 2154.75 - 718250*h\n",
- "\n",
- "\n",
- "T = -mu*dV\n",
- "\n",
- "print \"Shear stress on the plate = \",round(T,3),\"lbs/ft**2 and resisting the motion of the plate\"\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Discharge q = 0.013 per unit ft of the plate\n",
- "Shear stress on the plate = 0.086 lbs/ft**2 and resisting the motion of the plate\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/Chapter9.ipynb b/Fluid_Mechanics_/Chapter9.ipynb
deleted file mode 100644
index 503ee70d..00000000
--- a/Fluid_Mechanics_/Chapter9.ipynb
+++ /dev/null
@@ -1,799 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:81c0a87082bc2a398c522de3be6bcb735589adaa60c31ff7051c7c79b83652d0"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Chapter 9 : Turbulent flow in Pipes"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.1 Page no 308"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "S = 1.26 # specific gravity\n",
- "\n",
- "mu = 0.826 # kinematic viscosity in Ns/m**2\n",
- "\n",
- "\n",
- "rho = 998 # density of water in kg/m**3\n",
- "\n",
- "mu1 = 1.005*10**-3 # viscosity in Ns/m**2\n",
- "\n",
- "\n",
- "rho1 = S*rho # density of glycerine in kg/m**3\n",
- "\n",
- "Q = 0.1 # discharge in m**3/s\n",
- "\n",
- "d1 = 0.2 # diameter in m\n",
- "\n",
- "A = pi*d1**2/4 # area in m**2\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "l =100 # length of the pipe\n",
- "\n",
- "\n",
- "V = Q/A\n",
- "\n",
- "R = rho1*V*d1/mu\n",
- "\n",
- "print \"It is a laminar flow\"\n",
- "\n",
- "f = 64/R # friction factor\n",
- "\n",
- "Hf = f*l*V**2/(2*g*d1) # head loss due to friction\n",
- "\n",
- "print \"(a) Head loss due to flow for glycerine =\",round(Hf,1),\"m \"\n",
- "\n",
- "R1 = rho*V*d1/mu1\n",
- "\n",
- "print \"The flow is turbulent\"\n",
- "\n",
- "e = 0.025\n",
- "\n",
- "r = e/(d1*100)\n",
- "\n",
- "f = 0.021\n",
- "\n",
- "hf = f*l*V**2/(2*g*d1)\n",
- "\n",
- "print \"(a) Head loss due to flow for water =\",round(hf,2),\"m \"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "It is a laminar flow\n",
- "(a) Head loss due to flow for glycerine = 17.1 m \n",
- "The flow is turbulent\n",
- "(a) Head loss due to flow for water = 5.42 m \n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.2 Page no 311"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "\n",
- "nu = 1.007*10**-6 # viscosity in m**2/s\n",
- "\n",
- "e = 0.025 # for cast iron in cm\n",
- "\n",
- "L = 100 # length of the pipe in m\n",
- "\n",
- "D = 0.2 # diameter in m\n",
- "\n",
- "hf = 5.43 # head loss due to friction\n",
- "\n",
- "r = e/(D*100)\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "\n",
- "A = sqrt(2*g*D*hf/L)\n",
- "\n",
- "B = D/nu\n",
- "\n",
- "f = 0.021 # from moodys diagram\n",
- "\n",
- "V = A/sqrt(f)\n",
- "\n",
- "print V\n",
- "\n",
- "R = B*f\n",
- "\n",
- "A = pi*D**2/4\n",
- "\n",
- "Q = A*V\n",
- "\n",
- "print \"Discharge =\",round(Q,2),\"m**3/s\"\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "3.1853324563\n",
- "Discharge = 0.1 m**3/s\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.3 Page no 314"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "Q =0.1 # discharge in m**3/s\n",
- "\n",
- "hf = 5.43 # friction loss head in m\n",
- "\n",
- "L = 100 # length of pipe\n",
- "\n",
- "nu = 1.00*10**-6 # viscosity in m**2/s\n",
- "\n",
- "e = 0.025 # for cast iron in cm\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "\n",
- "A = 8*L*Q**2/(hf*g*pi**2)\n",
- "\n",
- "B = 4*Q/(pi*nu)\n",
- "\n",
- "D = 0.172\n",
- "\n",
- "r = e/D\n",
- "\n",
- "Re = B/D\n",
- "\n",
- "f = 0.022 # for Re and r\n",
- "\n",
- "\n",
- "D1 = 0.199\n",
- "\n",
- "r1 = e/D1\n",
- "\n",
- "R = B/D1\n",
- "\n",
- "f = 0.021 # for R and r\n",
- "\n",
- "print \"Hence the convergence is attained, D=\",round(D1,1),\"m\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Hence the convergence is attained, D= 0.2 m\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.4 Page no 318"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "L = 500 # length of the pipe in ft\n",
- "\n",
- "D= 9*2.54/100 # diameter in cm\n",
- "\n",
- "C = 100 # constant\n",
- "\n",
- "S = 0.004\n",
- "\n",
- "\n",
- "Hf = S*L\n",
- "\n",
- "print \"Head loss =\",round(Hf,0),\"ft\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Head loss = 2.0 ft\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.5 Page no 319"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "Q = 0.1 # water flow rate in m**3/s\n",
- "\n",
- "d = 30 # diameter in m\n",
- "\n",
- "l = 500 # length in m\n",
- "\n",
- "e = 0.025 # for cast iron\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "\n",
- "r = log(d/e,10)\n",
- "\n",
- "K = (pi/4)*sqrt(2*g)*(2*r+1.14)*(0.3)**(2.5)\n",
- " \n",
- "S = (Q/K)**2\n",
- "\n",
- "hf = S*l\n",
- "\n",
- "print \"Head loss of water =\",round(hf,1),\"m\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Head loss of water = 3.2 m\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.6 Page no 319"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "Q = 0.1 # water flow rate in m**3/s\n",
- "\n",
- "d = 20 # diameter in cm\n",
- "\n",
- "l = 500 # length in m\n",
- "\n",
- "e = 0.025 # for cast iron\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "S = 5.43 \n",
- "\n",
- "\n",
- "r = log(d/e,10)\n",
- "\n",
- "K = (pi/4)*sqrt(2*g)*(2*r+1.14)*(0.2)**2.5\n",
- "\n",
- "Q=K*sqrt(S/100)\n",
- "\n",
- "print \"Head loss of water =\",round(Q,2),\"m**3/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Head loss of water = 0.1 m**3/s\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.7 Page no 320"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "eps = 0.025*10**-2 # for cast iron epsilon = 0.0025 cm\n",
- "\n",
- "\n",
- "\n",
- "D = 0.2 # value in m\n",
- "\n",
- "g = 9.81\n",
- "\n",
- "\n",
- "K = (pi/4)*sqrt(2*g)*(2*log10(D/(eps))+1.14)*D**(2.5)\n",
- "\n",
- "print \"K = \",round(K,3),\" from trial and error\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "K = 0.432 from trial and error\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.8 Page no 326"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "d = 0.1 # diameter of the pipe\n",
- "\n",
- "Q= 0.075 # discharge in m**3/s\n",
- "\n",
- "L = 30 # length in m\n",
- "\n",
- "A = pi*d**2/4\n",
- "\n",
- "g = 9.81 # acceleration due to gravity in m/s**2\n",
- "\n",
- "\n",
- "nu = 1.007*10**-6 # viscosity in m**2/s\n",
- "\n",
- "e = 0.025\n",
- "\n",
- "r = e/(10*d)\n",
- "\n",
- "\n",
- "V = Q/A\n",
- "\n",
- "Re = V*d/nu\n",
- "\n",
- "f = 0.025 # firction factor from moodys diagram\n",
- "\n",
- "hf = f*L*V**2/(2*g*d) \n",
- "\n",
- "K= 0.5 # contraction constant\n",
- "\n",
- "hc = K*V**2/(2*g) \n",
- "\n",
- "K1 =10 # loss of the globe valve\n",
- "\n",
- "hg = K1*V**2/(2*g)\n",
- "\n",
- "Th = hf+hc+hg\n",
- "\n",
- "print \"Total head loss =\",round(Th,1),\"m\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total head loss = 83.7 m\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.9 Page no 328"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "\n",
- "nu = 1.007*10**-6 # viscosity in m**2/s\n",
- "\n",
- "d1 = 0.3 # diameter of pipe 1 in m\n",
- "\n",
- "d2 = 0.15 # diameter of pipe 2 in m\n",
- "\n",
- "d3 = 0.08 # diameter of pipe 3 in m\n",
- "\n",
- "g = 9.81 # acclelration due to gravity in m/s**2\n",
- "\n",
- "e = 0.025 # for cast iron\n",
- "\n",
- "f1 = 0.019 # foe e/d1\n",
- "\n",
- "f2 = 0.022 # foe e/d2\n",
- "\n",
- "\n",
- "V3 = sqrt(2*g*100/((8.4*(f1)+268.85*(f2)+4.85)))\n",
- "\n",
- "V1 = (d3/d1)**2*V3\n",
- "\n",
- "V2 = (d3/d2)**2*V3\n",
- "\n",
- "\n",
- "R1 = V1*d1/nu\n",
- "\n",
- "R2 = V2*d2/nu\n",
- "\n",
- "Q = V3*pi*d3**2/4\n",
- "\n",
- "print \"Discharge through the pipe =\",round(Q,3),\"m**3/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Discharge through the pipe = 0.067 m**3/s\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.10 Page no 332"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "D = 0.2 # diameter of pipe 1\n",
- "\n",
- "D1 = 0.15 # diameter of pipe 2\n",
- "\n",
- "Q = 0.1 # discharge in m**3/s\n",
- "\n",
- "nu = 1.007*10**-6 # viscosity in m**2/s\n",
- "\n",
- "e = 0.025 # e for cast iron\n",
- "\n",
- "r = e/(100*D) \n",
- "\n",
- "\n",
- "V = Q/(pi*(0.2)**2/4)\n",
- "\n",
- "R = V*D/nu\n",
- "\n",
- "f = 0.021 # from moodys law\n",
- "\n",
- "r2 = e/D1\n",
- "\n",
- "V1 = Q/(pi*D1**2/4)\n",
- "\n",
- "R1 = V*D1/nu\n",
- "\n",
- "f2 = 0.023 # from moodys law\n",
- "\n",
- "L2 = 28562*D1**5/f2\n",
- "\n",
- "print \"Replacement of the flow system =\",round(L2,2),\"m\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Replacement of the flow system = 94.3 m\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.11 Page no 335"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "e = 0.025 # in cm\n",
- "\n",
- "nu = 1.007*10**-6 # viscosity in m**2/s\n",
- "\n",
- "Q1 = 0.5 # discharge in m**3/s\n",
- "\n",
- "D1 = 50\n",
- "\n",
- "L1 = 500 # length in m\n",
- "\n",
- "g = 9.81\n",
- "\n",
- "\n",
- "r1 = e/D # r1 for pipe 1\n",
- "\n",
- "V1 = Q1/(pi*(0.5)**2/4)\n",
- "\n",
- "R = V*(0.5)/nu\n",
- "\n",
- "f1 = 0.018 # for the reynolds no\n",
- "\n",
- "hf1 = f*L1*V1**2/(2*g*D1)\n",
- "\n",
- "\n",
- "hf2 = hf1\n",
- "\n",
- "L2 =200 # length in m\n",
- "\n",
- "D2 = 0.3 # diameter in m\n",
- "\n",
- "r2 = e/D2\n",
- "\n",
- "f2 = 0.02 \n",
- "\n",
- "V2 = 0.419/sqrt(f2) \n",
- "\n",
- "R2 = V2*D2/nu\n",
- "\n",
- "Q2 = V2*(pi*D2**2/4)\n",
- "\n",
- "\n",
- "hf3=hf1\n",
- "\n",
- "L3 = 300 # length of pipe 3 in m\n",
- "\n",
- "D3 =0.15 # diameter of pipe 3 in m\n",
- "\n",
- "r3 = e/D3 \n",
- "\n",
- "f = 0.022 # from moody's law\n",
- "\n",
- "V3 = 0.242/sqrt(f2)\n",
- "\n",
- "R3 = V3*D3/nu\n",
- "\n",
- "Q3 = V3*(pi*D3**2/4)\n",
- "\n",
- "Td = Q1+Q2+Q3\n",
- "\n",
- "q1 = Q1*(2.0/Td)\n",
- "\n",
- "q2 = Q2*(2.0/Td)\n",
- "\n",
- "q3 = Q3*(2.0/Td)\n",
- "\n",
- "print \"Discharge through branch 1 =\",round(q1,2),\"m**3/s\"\n",
- "\n",
- "print \"Discharge through branch 2 =\",round(q2,3),\"m**3/s\"\n",
- "\n",
- "print \"Discharge through branch 3 =\",round(q3,3),\"m**3/s\"\n",
- "\n",
- "\n",
- "d = 0.5\n",
- "\n",
- "v1 = q1/(pi*(d)**2/4)\n",
- "\n",
- "R4 = v1*d/nu\n",
- "\n",
- "r4 = 0.0005 # ratio of e/D\n",
- "\n",
- "f = 0.018\n",
- "\n",
- "Hf1 = f*L1*v1**2/(2*g*d)\n",
- "\n",
- "print \"It is found that hf1=hf2=hf3 =\",round(Hf1,1),\"The distribution od discharge is correct\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Discharge through branch 1 = 1.35 m**3/s\n",
- "Discharge through branch 2 = 0.566 m**3/s\n",
- "Discharge through branch 3 = 0.082 m**3/s\n",
- "It is found that hf1=hf2=hf3 = 43.5 The distribution od discharge is correct\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "Example 9.14 Page no 349"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import *\n",
- "\n",
- "\n",
- "e = 0.00015 # from moody's chart\n",
- "\n",
- "D = 2 # depth in ft\n",
- "\n",
- "r = e/D\n",
- "\n",
- "z1 = 100 # elevation in ft\n",
- "\n",
- "mu = 1.084*10**-5 # viscosity in Ns/ft**2\n",
- "\n",
- "p1 = 34 # pressure head in ft\n",
- "\n",
- "p2 = 10 # pressure head in ft\n",
- "\n",
- "g = 32.2 # acclelration due to gravity in ft/s**2\n",
- "\n",
- "L = 1000 # length in ft\n",
- "\n",
- "\n",
- "f = 0.011 # assume\n",
- "\n",
- "V = sqrt(100/(10000/(2*2*g)))/sqrt(f)\n",
- "\n",
- "R = V*D/mu\n",
- "\n",
- "V1 = 10.15\n",
- "\n",
- "f1 = 0.0125\n",
- "\n",
- "Q = V1*pi*D**2/4\n",
- "\n",
- "x = p1-p2-(V1**2/(2*g))-(f1*L*V1**2/(2*g*D))\n",
- "\n",
- "Dp = 30 - x\n",
- "\n",
- "print \"Minimum depth =\",round(Dp,2),\"ft\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum depth = 17.6 ft\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Fluid_Mechanics_/README.txt b/Fluid_Mechanics_/README.txt
deleted file mode 100644
index 8c978256..00000000
--- a/Fluid_Mechanics_/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Rahul Joshi
-Course: mtech
-College/Institute/Organization: IIT Bombay
-Department/Designation: Mechanical Engineering
-Book Title: Fluid Mechanics
-Author: Irfan A. Khan
-Publisher: Holt, Rinehart and Winston, The Dryden Press , Saunders College Publishing
-Year of publication: 1987
-Isbn: 0-03-071473-7
-Edition: 1st Edition \ No newline at end of file
diff --git a/Fluid_Mechanics_/screenshots/Screenshot_from_2014-04-24_10_11_42.png b/Fluid_Mechanics_/screenshots/Screenshot_from_2014-04-24_10_11_42.png
deleted file mode 100644
index 03ac1d9d..00000000
--- a/Fluid_Mechanics_/screenshots/Screenshot_from_2014-04-24_10_11_42.png
+++ /dev/null
Binary files differ
diff --git a/Fluid_Mechanics_/screenshots/plot1.png b/Fluid_Mechanics_/screenshots/plot1.png
deleted file mode 100644
index caf0a78f..00000000
--- a/Fluid_Mechanics_/screenshots/plot1.png
+++ /dev/null
Binary files differ
diff --git a/Fluid_Mechanics_/screenshots/plot2.png b/Fluid_Mechanics_/screenshots/plot2.png
deleted file mode 100644
index 35633e7f..00000000
--- a/Fluid_Mechanics_/screenshots/plot2.png
+++ /dev/null
Binary files differ
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_10_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_10_2.ipynb
deleted file mode 100644
index 2dfe33d4..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_10_2.ipynb
+++ /dev/null
@@ -1,286 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 10"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Tc = 273.00 # temperature of cold region in kelvin",
- "Th = 299.00 # temperature of hot region in kelvin",
- "mdot = 0.08 # mass flow rate in kg/s",
- "",
- "h1 = 247.23 # in kj/kg",
- "s1 = 0.9190 # in kj/kg.k",
- "",
- "p2 = 6.853 # in bars",
- "h2s = 264.7 # in kj/kg",
- "h3 = 85.75 # in kj/kg",
- "h4 = h3 # since The expansion through the valve is a throttling process",
- "",
- "Wcdot = mdot*(h2s-h1) # The compressor work input in KW",
- "print '-> The compressor power, in kW, is: '",
- "print round(Wcdot,2)",
- "",
- "Qindot = mdot*(h1-h4)*60/211 # refrigeration capacity in ton",
- "print '-> The refrigeration capacity in tons is: '",
- "print round(Qindot,2)",
- "",
- "beta = (h1-h4)/(h2s-h1)",
- "print '-> The coefficient of performance is: '",
- "print round(beta,2)",
- "",
- "betamax = Tc/(Th-Tc)",
- "print '-> The coefficient of performance of a Carnot refrigeration cycle operating between warm and cold regions at 26 and 0\u0004C, respectively is: '",
- "print betamax"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The compressor power, in kW, is: ",
- "1.4",
- "-> The refrigeration capacity in tons is: ",
- "3.67",
- "-> The coefficient of performance is: ",
- "9.24",
- "-> The coefficient of performance of a Carnot refrigeration cycle operating between warm and cold regions at 26 and 0\u0004C, respectively is: ",
- "10.5"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "mdot = 0.08 # mass flow rate in kg/s",
- "h1 = 241.35 # in kj/kg",
- "s1 = .9253 # in kj/kg.k",
- "h2s = 272.39 # in kj/kg.k",
- "h3 = 99.56 # in kj/kg",
- "h4 = h3 # since The expansion through the valve is a throttling process",
- "",
- "Wcdot = mdot*(h2s-h1) # The compressor power input in KW",
- "print '-> The compressor power in kw is: '",
- "print round(Wcdot,2)",
- "",
- "Qindot = mdot*(h1-h4)*60/211 # refrigeration capacity in tons",
- "print '-> The refrigeration capacity in tons is: '",
- "print round(Qindot,2)",
- "",
- "beta = (h1-h4)/(h2s-h1)",
- "print '-> The coefficient of performance is: '",
- "print round(beta,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The compressor power in kw is: ",
- "2.48",
- "-> The refrigeration capacity in tons is: ",
- "3.23",
- "-> The coefficient of performance is: ",
- "4.57"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Tnot = 299 #in kelvin",
- "etac = .8 #compressor efficiency of 80 percent",
- "mdot = .08 #mass flow rate in kg/s",
- "h1 = 241.35 #in kj/kg",
- "s1 = .9253 #in kj/kg.k",
- "h2s = 272.39 #in kj/kg",
- "h2 =(h2s-h1)/etac + h1 #in kj/kg",
- "s2 = .9497 #in kj/kg.k",
- "",
- "h3 = 91.49 #in kj/kg",
- "s3 = .3396",
- "h4 = h3 #since The expansion through the valve is a throttling process",
- "hf4 = 36.97 #in kj/kg",
- "hg4 = 241.36 #in kj/kg",
- "sf4 = .1486 #in kj/kg.k",
- "sg4 = .9253 #in kj/kg.k",
- "x4 = (h4-hf4)/(hg4-hf4) #quality at state 4",
- "s4 = sf4 + x4*(sg4-sf4) #specific entropy at state 4 in kj/kg.k",
- "",
- "Wcdot = mdot*(h2-h1) #compressor power in kw",
- "print 'The compressor power in kw is: ',round(Wcdot,2),'kW'",
- "",
- "Qindot = mdot*(h1-h4)*60/211 #refrigeration capacity in ton",
- "print 'The refrigeration capacity in ton is: ',round(Qindot,2),'ton'",
- "",
- "beta = (h1-h4)/(h2-h1) #coefficient of performance ",
- "print 'The coefficient of performance is: ',round(beta,2)",
- "",
- "Eddotc = mdot*Tnot*(s2-s1) #in kw",
- "Eddotv = mdot*Tnot*(s4-s3) #in kw",
- "print 'The rate of exergy destruction within the compressor is:',round(Eddotc,2),'kw.'",
- "print 'The rate of exergy destruction within the valve is:',round(Eddotv,2),'kw'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The compressor power in kw is: 3.1 kW",
- "The refrigeration capacity in ton is: 3.41 ton",
- "The coefficient of performance is: 3.86",
- "The rate of exergy destruction within the compressor is: 0.58 kw.",
- "The rate of exergy destruction within the valve is: 0.39 kw"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "p1 = 1.00 # in bar",
- "T1 = 270.00 # in kelvin",
- "AV = 1.4 # in m^3/s",
- "r = 3.00 # compressor pressure ratio",
- "T3 = 300.00 # turbine inlet temperature in kelvin",
- "",
- "h1 = 270.11 # in kj/kg",
- "pr1 = 0.9590",
- "h2s = 370.1 # in kj/kg",
- "h3 = 300.19 # in kj/kg",
- "pr3 = 1.3860",
- "h4s = 219.00 # in kj/kg",
- "pr2 = r*pr1",
- "pr4 = pr3/r",
- "",
- "R = 8.314 # universal gas constant, in SI units",
- "M = 28.97 # molar mass of air in grams",
- "",
- "mdot = (AV*p1)/((R/M)*T1)*10**2 # mass flow rate in kg/s",
- "Wcycledot = mdot*((h2s-h1)-(h3-h4s))",
- "print '-> The net power input in kw is: '",
- "print round(Wcycledot,2)",
- "",
- "Qindot = mdot*(h1-h4s) # refrigeration capacity in kw",
- "print '-> The refregeration capacity in kw is: '",
- "print round(Qindot,2)",
- "",
- "beta = Qindot/Wcycledot # coefficient of performance",
- "print 'The coefficient of performance is: '",
- "print round(beta,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The net power input in kw is: ",
- "33.97",
- "-> The refregeration capacity in kw is: ",
- "92.34",
- "The coefficient of performance is: ",
- "2.72"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "wcdots = 99.99 # work per unit mass for the isentropic compression determined with data from the solution in Example 10.4 in kj/kg",
- "mdot = 1.807 # mass flow rate in kg/s from 10.4",
- "etac = 0.8 # isentropic efficiency of compressor",
- "Wcdot = (mdot*wcdots)/etac # The power input to the compressor in kw",
- "",
- "wtdots =81.19 # in kj/kg",
- "etat = 0.8 # isentropic efficiency of turbine",
- "Wtdot = mdot*etat*wtdots # actual turbine work in kw",
- "Wdotcycle = Wcdot-Wtdot # The net power input to the cycle in kw",
- "print '-> The net power input in kw is: '",
- "print round(Wdotcycle,2)",
- "",
- "h3 = 300.19 # in kj/kg",
- "h1 = 270.11 # in kj/kg",
- "h4 = h3 -Wtdot/mdot",
- "Qindot = mdot*(h1-h4) # refrigeration capacity in kw",
- "print '-> The refrigeration capacity in kw is: '",
- "print round(Qindot,2)",
- "",
- "beta = Qindot/Wdotcycle # coefficient of performance ",
- "print '-> The coefficient of performance is: '",
- "print round(beta,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The net power input in kw is: ",
- "108.48",
- "-> The refrigeration capacity in kw is: ",
- "63.01",
- "-> The coefficient of performance is: ",
- "0.58"
- ]
- }
- ],
- "prompt_number": 5
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11_2.ipynb
deleted file mode 100644
index 7d3e1d3a..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_11_2.ipynb
+++ /dev/null
@@ -1,425 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 11"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "m = 4.00 # mass of carbon monoxide in kg",
- "T = 223.00 # temperature of carbon monoxide in kelvin",
- "D = 0.2 # inner diameter of cylinder in meter",
- "L = 1.00 # length of the cylinder in meter",
- "pi=3.14",
- "M = 28.00 # molar mass in kg/kmol",
- "V = (pi*D**2.00/4.00)*L # volume occupied by the gas in m^3",
- "vbar = M*(V/m) # The molar specific volume in m^3/kmol",
- "",
- "Tc = 133 # in kelvin",
- "Pc = 35 # in bar",
- "Tr = T/Tc # reduced temperature",
- "Rbar = 8314 # universal gas constant in N.m/kmol.K",
- "Z = 0.9",
- "vrdash = (vbar*Pc*10**5)/(Rbar*Tc) # pseudoreduced specific volume",
- "p = (Z*Rbar*T/vbar)*10**-5 # in bar",
- "print '-> part(a)the pressure in bar is: '",
- "print round(p,2)",
- "",
- "p = (Rbar*T/vbar)/10**5 # in bar",
- "print '-> Part(b)the pressure in bar is: '",
- "print round(p,2)",
- "",
- "a = 1.474 # in (m^3/kmol)^2",
- "b = 0.0395 # in m^3/kmol",
- "p = (Rbar*T/(vbar-b))/10**5 - a/vbar**2",
- "print '-> Part(c)the pressure in bars is: '",
- "print round(p,2)",
- "",
- "a = 17.22 # in m^6*K^.5/kmol^2",
- "b = 0.02737 # in m^3/kmol",
- "p = (Rbar*T/(vbar-b))/10**5 - a/(vbar*(vbar+b)*T**.5)",
- "print '-> Part(d)the pressure in bar is: '",
- "print round(p,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> part(a)the pressure in bar is: ",
- "75.92",
- "-> Part(b)the pressure in bar is: ",
- "84.35",
- "-> Part(c)the pressure in bars is: ",
- "72.32",
- "-> Part(d)the pressure in bar is: ",
- "75.12"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "v = 0.4646 # specific volume in in m^3/kg",
- "M = 18.02 # molar mass of water in kg/kmol",
- "vbar = v*M # in m^3/kmol",
- "a = 142.59 # (m^3/kmol)^2 * K^.5",
- "b = 0.0211 # in m^3/kmol",
- "",
- "Rbar = 8314.0 # universal gas constant in N.m/kmol.K",
- "T = 513.0 # in kelvin",
- "delpbydelT = (Rbar/(vbar-b) + a/(2*vbar*(vbar+b)*T**1.5)*10**5)/10**3 # in kj/(m^3*K)",
- "",
- "delsbydelv = delpbydelT",
- "print '-> The value of delpbydelT in kj/(m^3*K) is: ',delpbydelT",
- "",
- "from pylab import *",
- "T = 240.0 # in degree celcius",
- "y = [7.994, 7.805, 7.477, 7.230, 7.064, 6.882] # in kj/kg.k # in kj/kg.k",
- "x = [2.359, 1.570, 0.781, 0.4646, 0.3292, 0.2275] # in m^3/kg # in m^3/kg",
- "plot(x,y)",
- "xlabel(\"Specific volume\")",
- "ylabel(\"Specific entropy\")",
- "show()",
- "delsbydelv = 1 # in kj/m^3.K",
- "print '-> From the data of the table,delsbydelv = ',delsbydelv"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The value of delpbydelT in kj/(m^3*K) is: 1.00430251045"
- ]
- },
- {
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEMCAYAAADAqxFbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlYVnX+//EnBpq7pY5TgEtQKSqLWKbfGilzTSxJTZhp\n0XIr17HJaflNNjWZTVeTWF+lplJbXNrUJrW+pLghrgg1GG64oGaiooAmCuf3x8kbbgFvRA7nhvv1\nuC6uy/u+D+e8Pdfxfvn5fM75fLwMwzAQERH5TS27CxAREfeiYBAREScKBhERcaJgEBERJwoGERFx\nomAQEREnlgbDtGnTaN++PR07diQmJoZz586V2Gb8+PHcfPPNhISEkJycbGU5IiJSDpYFw759+3jv\nvffYtm0bP/zwAwUFBSxYsMBpm2XLlrF792527drFu+++y5gxY6wqR0REysmyYGjUqBE+Pj6cOXOG\nCxcucObMGXx9fZ22Wbp0KY8++igAXbp0ITs7m6NHj1pVkoiIlIO3VTu+/vrrmTx5Mi1btqRu3br0\n7t2be++912mbQ4cO4e/v73jt5+dHZmYmLVq0cLzn5eVlVYkiIjVaRSe2sKzFsGfPHt566y327dvH\n4cOHyc3N5ZNPPimx3aWFlxYEhmHoxzB48cUXba/BXX50LnQuatK5OHrUYPZsgx49DLZurZx9Xg3L\ngmHLli1069aNpk2b4u3tTVRUFImJiU7b+Pr6cvDgQcfrzMzMEt1NIiI10S+/wOzZ0KMH3HILrFoF\nTz4J7drZXZmFwdC2bVuSkpI4e/YshmEQHx9PUFCQ0zYDBgxg3rx5ACQlJdGkSROnbiQRkZrk0jBY\nvRqeegqOHIEFCyAqCurWtbtKC8cYQkJCeOSRR+jcuTO1atWiU6dOjBgxgri4OABGjRpFv379WLZs\nGYGBgdSvX58PP/zQqnJqhIiICLtLcBs6F0V0Loq447k4ehS+/BI++wy2bYO+fWHsWOjTxz1CoDRe\nxtV2RlnMy8vrqvvLRESq0qVh0K8fDB5ctWFwNd+dCgYRkUrw889FYZCcbIbBkCHQu7c9LQMFg4iI\nDS4Ng/vuM1sGdoVBcQoGEZEq8vPP8MUXZhhs326GwcWWwbXX2l1dEQWDiIiFiodBSopzy8CdwqA4\nBYOISCU7cqQoDFJTi1oGvXq5bxgUp2AQEakEl4ZB//5my6C6hEFxCgYRkQo6fLgoDH74wQyDiy2D\nOnXsrq7iFAwiIlfg0jCIjCxqGVTnMChOwSAi4sKhQ0Vh8OOPZhgMGQI9e9acMChOwSAiUoriYfDf\n/xa1DGpqGBSnYBAR+c3FMFi0CNLSiloG995b88OgOAWDiHi0Q4fg88/NlkFaGgwYYLYMPC0MilMw\niIjHycwsahns2GGGwcWWQe3adldnPwWDiHiEzMyilsGOHXD//UUtA4WBMwWDiNRYF8Ng0SJIT3fu\nJlIYlE3BICI1ysGDRS2D9PSilkGPHgqD8lIwiEi1dzEMFi2CnTsVBldLwSAi1dKBA0Utg5074YEH\nzDC45x6FwdVSMIhItXExDBYtgt27nVsGPj52V1dzKBhExK3t31/UMti927lloDCwhoJBRNyOwsBe\nCgYRcQv795tB8NlnsGcPDBxohsHddysMqpqCQURss29fUctg796iloHCwF4KBhGpUvv2FbUMMjLM\nMBgyBCIiFAbuQsEgIpbLyChqGWRkFHUTKQzck4JBRCyRkVHUMti3zwyDiy0Db2+7q5PLUTCISKUp\nHgb79zu3DBQG1YeCQUSuyt69RWFw4EBRy6B7d4VBdXU13521KrkWh/T0dMLCwhw/jRs3JjY21mmb\nrKws+vTpQ2hoKB06dGDOnDlWlSMil9i7F6ZPh86d4Y47zJbC9Olw+DDExZlPIisUPFOVtBgKCwvx\n9fVl06ZN+Pv7O96fOnUq586dY9q0aWRlZXHrrbdy9OhRvItdjWoxiFSePXuKWgaZmUUtgz/8QSFQ\n01zNd2eVXArx8fEEBAQ4hQLADTfcQGpqKgCnT5+madOmTqEgIlevsBDmzYOZM80wiIqCf/5TYSBl\nq5LLYsGCBcTExJR4f8SIEdxzzz3ceOON5OTksGjRolJ/f+rUqY4/R0REEBERYVGlIjVLYiJMmGAG\nwGuvmQ+dKQxqpoSEBBISEiplX5Z3JeXn5+Pr60taWhrNmzd3+uyVV14hKyuLt956iz179tCzZ09S\nUlJo2LBhUYHqShK5YpmZMGUKrF5tjhtER0Mty0YUxR255eDzRcuXLyc8PLxEKAAkJiYyePBgAAIC\nAmjTpg3p6elWlyRSY509Cy+/DCEhcNNN8NNP8Mc/KhTkylh+ucyfP5/o6OhSP2vbti3x8fEAHD16\nlPT0dG666SarSxKpcQzDHFBu1w5SU2HrVjMgGjSwuzKpjiztSsrLy6NVq1ZkZGQ4uofi4uIAGDVq\nFFlZWQwbNowDBw5QWFjIs88+W2IsQl1JIpeXnGyOI5w+DTNmmM8eiOgBNxEP9Msv8MILsHQp/P3v\n8PjjcM01dlcl7sKtxxhEpHLl58Obb0L79mZX0U8/wciRCgWpPLpxTaSaMAxYtgz+/GcIDIR16+DW\nW+2uSmoiBYNINbBjhxkIGRnwr39Bv352VyQ1mbqSRNzYyZMwcaL5lHKvXuYdRwoFsZqCQcQNFRTA\n7NnQti38+iukpcGkSVC7tt2ViSdQV5KIm1m1ymwlXHcdfPsthIbaXZF4GgWDiJvIyICnn4Zt28xJ\n7h58ELy87K5KPJG6kkRslpsLzz9vrovQqZPZbTRokEJB7KNgELFJYSF89JE5jnDggDmw/PzzULeu\n3ZWJp1NXkogNNm40p7EoLDTnOOra1e6KRIqoxSBShQ4fhkceMRfLefJJSEpSKIj7UTCIVIFff4VX\nX4XgYPDzM6exeOQRTYct7kldSSIWMgz48kvzbqNOnWDTJnOdBBF3pmAQsUhqqjmOkJUF778P99xj\nd0Ui5aOGrEglO3YMxoyBnj1hyBBzvQSFglQnCgaRSnL+vLlQTlCQOXXFjh1mQHirXS7VjC5ZkUqw\nYoU5l1HLlrB6tRkOItWVgkHkKuzcaU6HnZ5uTod93316YlmqP3UliVTAqVPmnUbdukFEBPz3v9C/\nv0JBagYFg8gVKCiA994zV047dcoMhKef1nTYUrOoK0mknNasMW8/bdDAXGKzUye7KxKxhoJBxIX9\n++GZZ8zpK15/3bwFVV1GUpOpK0mkDHl58Le/QXi4eZfRjh3w0EMKBan51GIQuYRhwPz5MGUK3HWX\n+YCav7/dVYlUHQWDSDFbtpjjCL/+aobDnXfaXZFI1VNXkghw5AgMGwYDBsDjj8PmzQoF8VwKBvFo\n587B9OnQsSP87nfmdNjDh2s6bPFs6koSj2QYsHQpTJ4M7dvDhg1w8812VyXiHiz7f1F6ejphYWGO\nn8aNGxMbG1tiu4SEBMLCwujQoQMRERFWlSPi8OOP5synzz0Hs2bBkiUKBZHivAzDMC63wfHjx2na\ntOlVHaSwsBBfX182bdqEf7HbO7Kzs/mf//kfvv32W/z8/MjKyqJZs2bOBXp54aJEkXI5fhxefBEW\nLTJvQx09WjOfSs11Nd+dLlsMd9xxB4MHD2bZsmUVPkh8fDwBAQFOoQDw6aef8uCDD+Ln5wdQIhRE\nKsP58zBzJrRrZ77esQPGjlUoiJTF5T+N9PR04uPj+eCDDxg3bhxDhgxh2LBh3HLLLeU+yIIFC4iJ\niSnx/q5duzh//jx33303OTk5TJgwgYcffrjEdlOnTnX8OSIiQl1OUm7/938wcSLccAOsXAkdOthd\nkYg1EhISSEhIqJR9uexKKm7lypX86U9/Ii8vj9DQUKZNm0a3bt0u+zv5+fn4+vqSlpZG8+bNnT4b\nO3Ys27Zt4/vvv+fMmTN07dqVb775hpuLdfiqK0kqYvduc2D5xx/hzTfN21D1xLJ4kqv57nTZYsjK\nyuKTTz5h3rx5tGjRgrfffpvIyEhSUlIYNGgQ+/btu+zvL1++nPDw8BKhAODv70+zZs2oW7cudevW\n5Q9/+AMpKSlOwSByJU6fhn/8w1xj+S9/MccT6tSxuyqR6sXlGEO3bt04deoUS5YsYdmyZURFReHj\n40Pnzp0ZPXq0ywPMnz+f6OjoUj+7//77WbduHQUFBZw5c4aNGzcSpKWvpAIKC+GDD8zpsI8dgx9+\nMKe0UCiIXDmXXUmFhYXUqlWL06dP4+XlRcOGDcu987y8PFq1akVGRobj9+Li4gAYNWoUAG+88QYf\nfvghtWrVYsSIEYwfP965QHUliQvr15vTWNSuba65fNttdlckYr+r+e50GQybN29m+PDhnD59GoAm\nTZrw/vvv07lz5wod8IoLVDBIGQ4eNFsFa9eaTy9HR2scQeQiS29XHT58OP/7v//L/v372b9/P++8\n8w7Dhw+v0MFEKsOZM/DSSxAaCoGB5jQWMTEKBZHK4nLw2dvbm7vuusvx+s4778RbN4CLDQzDHEx+\n5hm44w7Ytg1atbK7KpGax2VX0sSJEzl79qxjAHnhwoVce+21jucNOlm8vqG6kgTMEJgwAXJzzXGE\nP/zB7opE3JulYwwRERF4FWujG4bh9HrVqlUVOnB5KRg829Gj8MIL8PXX8PLL5syn11xjd1Ui7s/S\nYLCbgsEz5edDbCy89ho89hj8v/8HjRvbXZVI9WHp4HN2djaTJk0iPDyc8PBwJk+ezKlTpyp0MBFX\nDAP+8x9z6oqEBPNW1DfeUCiIVKVy3ZXUqFEjPvvsMxYtWkTDhg0ZNmxYVdQmHmbHDujbF55+2hxH\n+M9/zAfWRKRquexKCgkJISUlxeV7VlFXUs138iRMnQqffgrPPw9PPQU+PnZXJVK9WdqVVLduXdau\nXet4vW7dOurVq1ehg4kUd+GCuVBO27bmmEJamjkTqkJBxF4uH0iYPXs2jzzyiGNc4brrrmPu3LmW\nFyY128qVZgg0bQrffQchIXZXJCIXXTYYCgoK+Pjjj0lNTXUEQ2ONAspV2LvXHENITjYHlaOi9MSy\niLu5bFfSNddcw7p16zAMg8aNGysUpMJycsw1lm+7DTp3NgeaH3xQoSDijlx2JYWGhnL//fczePBg\nx9iCl5cXUVFRlhcn1V9hIXz0kRkKPXpAair4+tpdlYhcjstg+PXXX2natCkrV650el/BIK4kJcH4\n8War4IsvzPmNRMT9uQyGJ554gjvvvNPpvXXr1llWkFR/hw7BX/9qDjC/9hr88Y9Qy+X9byLiLlz+\nc7104Zyy3hM5exZeecW8w6hlS0hPh4cfViiIVDdlthg2bNhAYmIiv/zyC2+++abjQYmcnBwKCgqq\nrEBxf4ZhdhX95S8QHg6bN0ObNnZXJSIVVWYw5OfnO0IgJyfH8X6jRo34/PPPq6Q4cX9ZWTB4MBw/\nbq65fPfddlckIlfL5ZQY+/bto3Xr1lVUTkmaEsN95eSYdxp17w7TpoHWbxJxH1fz3enyn/K5c+cY\nMWIE+/bt48KFC44DXnqXkniWc+dg4EBzec3XX9fzCCI1icsWQ3BwMGPGjKFTp05c89sKKV5eXoSH\nh1dNgWoxuJ2CAhgyxAyDhQu1cI6IO7K0xeDj48OYMWMqtHOpeQwDRo+GU6fgm28UCiI1kcsbCSMj\nI3nnnXc4cuQIJ06ccPyIZ3ruOUhJga++gjp17K5GRKzgsiupdevWTms8X5SRkWFZUcWpK8l9vPGG\neefRmjXQrJnd1YjI5WjNZ7Hchx/CSy/BunXg52d3NSLiiqUL9eTl5fHyyy8zYsQIAHbt2sV//vOf\nCh1MqqfFi80upG+/VSiIeAKXwTBs2DBq165NYmIiADfeeCPPP/+85YWJe0hIgJEjtf6yiCdxGQx7\n9uxhypQp1K5dG4D69etbXpS4h61bzdtSFy40p7oQEc/gMhjq1KnD2bNnHa/37NlDnXLcjpKenk5Y\nWJjjp3HjxsTGxpa67ebNm/H29ubLL7+8gtLFSunp0L8/xMVpmgsRT+PyOYapU6fSp08fMjMziYmJ\nYf369cyZM8fljm+99VaSk5MBKCwsxNfXl4EDB5bYrqCggClTptCnTx8NMruJzEzo3Rv+8Q/z6WYR\n8Swug6FXr1506tSJpKQkAGJjY2l2hfcqxsfHExAQgL+/f4nPZs6cyaBBg9i8efMV7VOscfw49OoF\nTz0Fw4fbXY2I2KFc0541a9aM/v37V/ggCxYsICYmpsT7hw4dYsmSJaxcuZLNmzeX+rwEmK2WiyIi\nIoiIiKhwLVK23Fzo1w8iI80ptEWk+khISCAhIaFS9mX5cwz5+fn4+vqSlpZG8+bNnT4bPHgwTz/9\nNF26dOGxxx4jMjKSBx980LlAPcdQJc6dMwOhZUt47z1NiidS3Vk6V9LVWr58OeHh4SVCAWDr1q0M\nHToUgKysLJYvX46Pjw8DBgywuiwppqDAXGmtYUOYPVuhIOLpXAbDhg0baN++PY0aNQLg9OnT7Nix\ngy5dupTrAPPnzyc6OrrUz/bu3ev487Bhw4iMjFQoVDHDMMcTjh83J8XTmgoi4vJ21TFjxtCgQQPH\n6/r16zN69Ohy7TwvL4/4+HiioqIc78XFxREXF1eBUsUKL7xgPq+weDFce63d1YiIO3A5xhAaGsr2\n7dud3gsODiY1NdXSwi7SGIN13nwT3n0X1q6FUnr6RKQas3SupDZt2hAbG8v58+fJz89nxowZ3HTT\nTRU6mLiPuXPhrbfgu+8UCiLizGUwzJ49m/Xr1+Pr64ufnx9JSUm8++67VVGbWGTpUpgyxZwUr2VL\nu6sREXejabc9zOrVMGgQLFsGt91mdzUiYhVLbledPn06U6ZMYdy4caUesKx5j8R9JSfD4MEwf75C\nQUTKVmYwBAUFARAeHu70RLJhGGU+oSzua9cuuO8+mDUL7r3X7mpExJ2VGQyLFi0iMjKS7OxsJk6c\nWJU1SSU7dMic/+jvf4dLHiwXESmhzMHnrVu3cvjwYT744ANOnDhR4keqhxMnzFAYPRqeeMLuakSk\nOiizxTB69Gh69OjB3r17Cb9klRYvLy+np5bFPV2cFK9fP3jmGburEZHqwuVdSaNHj2b27NlVVU8J\nuiupYvLzzUnxfH3h/fc1/5GIp7ma784yg+H06dM0atSI48ePlzrYfP3111fogFdKwXDlCgrgj3+E\nX3+Fzz/X/EcinsiSYLjvvvv45ptvaN26danBkJGRUaEDXikFw5UxDHjySdixA1as0PxHIp7KkmBw\nFwqGK/O3v5mzpK5aBb9NiCsiHsjSuZK++uorsrOzHa+zs7NZvHhxhQ4m1poxAxYsgOXLFQoiUnEu\nWwwhISGkpKQ4vVfajKtWUYuhfD76CJ5/3pwptVUru6sREbtZuoJbaTsuKCio0MHEGl9/ba7RvHKl\nQkFErp7LrqTw8HD+/Oc/s2fPHnbv3s2kSZNKPNcg9lm7FoYPhyVL4LdZTERErorLYJg5cyY+Pj48\n9NBDDB06lGuvvZZ33nmnKmoTF7ZvN6e4+PRTKOdKqyIiLpX7rqS8vDzq169vdT0laIyhdLt3Q/fu\n5mI7gwfbXY2IuBtL70pKTEwkKCiItm3bApCSksKTTz5ZoYNJ5Th82Jz/6G9/UyiISOVzGQwTJ05k\nxYoVNGvWDDDvUlq9erXlhUnpTp6E3r3NCfFGjbK7GhGpiVwGA0DLS9Z/9NYcC7bIy4P+/aFnT3j2\nWburEZGayuU3fMuWLVm/fj0A+fn5xMbG0q5dO8sLE2f5+eaSnIGB8MYbmhRPRKzjcvD52LFjTJgw\ngfj4eAzDoFevXsTGxtK0adOqKVCDzxQWmpPi5eXBF1+Aj4/dFYmIu9NcSTWYYcC4cfDDD+akeHXr\n2l2RiFQHlt6VtGfPHiIjI2nWrBnNmzfn/vvv1yI9Veill2D9eli6VKEgIlXDZTDExMQwZMgQjhw5\nwuHDhxk8eDDR0dFVUZvHmzkTPvnEbCk0bmx3NSLiKVx2JQUHB5Oamur0XmkT61nFU7uSFi82u5DW\nroXWre2uRkSqG0vHGKZMmUKTJk0crYSFCxdy8uRJnvltEWGrV3LzxGDIzYW2bc0ptO+80+5qRKQ6\nsjQYylrB7eKByxpvSE9PZ+jQoY7Xe/fu5eWXX2b8+PGO9z755BNef/11DMOgYcOGzJo1i+Dg4BLH\n8LRgeO45OHjQnEpbRKQi3P6upMLCQnx9fdm0aRP+/v6O9zds2EBQUBCNGzdmxYoVTJ06laSkJOcC\nPSwYdu+GO+6A1FS48Ua7qxGR6sqSu5I2bdrEkSNHHK/nzp3LgAEDGD9+PCdOnLiig8THxxMQEOAU\nCgBdu3al8W+jql26dCEzM/OK9lsTTZpkrq2gUBARu5T55POoUaP4/vvvAVizZg1//etfefvtt0lO\nTmbkyJF8/vnn5T7IggULiImJuew277//Pv369Sv1s6lTpzr+HBERQURERLmPXZ0sWwbp6XAFp1ZE\nBICEhAQSEhIqZV9ldiUVv/Poqaeeonnz5o4v6Cu5Kyk/Px9fX1/S0tJo3rx5qdusWrWKp556ivXr\n13Pdddc5F+ghXUnnzkHHjuY02mXko4hIuVnSlVRQUMD58+cBsyvo7rvvdnx24cKFch9g+fLlhIeH\nlxkKqampjBgxgqVLl5YIBU8yYwbccotCQUTsV2ZXUnR0NN27d6dZs2bUq1ePu+66C4Bdu3bRpEmT\nch9g/vz5ZT4Qd+DAAaKiovj4448JDAy8wtJrjsOH4fXX4ZJxdxERW1z2rqQNGzbw888/06tXL8fq\nbTt37iQ3N5dOnTq53HleXh6tWrUiIyODhg0bAhAXFweYYxhPPPEEX331lWNabx8fHzZt2uRcoAd0\nJT38MPj5wbRpdlciIjWF29+uejVqejCsXw8PPQQ//QQNGthdjYjUFJZOoifWKSgwp714/XWFgoi4\nDwWDjd5/H+rVA81JKCLuRF1JNjl50pwPacUKCAuzuxoRqWk0xlANjRsHFy7ArFl2VyIiNdHVfHe6\nXPNZKt8PP8DChZCWZnclIiIlaYyhihkGjB8PL74IzZrZXY2ISEkKhir22Wdw4gSMGmV3JSIipdMY\nQxXKy4N27cx1Frp3t7saEanJ9BxDNTF9OnTrplAQEfemFkMV2bsXbrsNtm+HS5alEBGpdGoxVAOT\nJ8Of/6xQEBH3p9tVq8B335lLdc6fb3clIiKuqcVgsfx8mDAB/vUvuPZau6sREXFNwWCxt9+GVq0g\nMtLuSkREykeDzxb6+Wfo0AHWrTPnRRIRqSqaK8lNDRtmPt38z3/aXYmIeBrNleSGNm6Eb781F+AR\nEalONMZggcJCc/bUadOgUSO7qxERuTIKBgvMmQPXXGOu5SwiUt1ojKGSZWebA81ff20+6SwiYgcN\nPruRv/4VsrLg3/+2uxIR8WQKBjfx66/mlBdJSRAQYHc1IuLJNFeSm/jiC3P9ZoWCiFRnCoZKFBen\nBXhEpPpTV1IlSUuDHj3gwAHw8bG7GhHxdOpKcgPvvgvDhysURKT6U4uhEpw9aw46b9kCrVvbXY2I\niFoMtvvsM/OZBYWCiNQECoZKoEFnEalJLAuG9PR0wsLCHD+NGzcmNja2xHbjx4/n5ptvJiQkhOTk\nZKvKscyPP8K+fdC/v92ViIhUDstmV7311lsdX/SFhYX4+voycOBAp22WLVvG7t272bVrFxs3bmTM\nmDEkJSVZVZIl4uLg8cfBW/PUikgNUSVfZ/Hx8QQEBODv7+/0/tKlS3n00UcB6NKlC9nZ2Rw9epQW\nLVpURVlX7cwZ+PRTqIYNHRGRMlVJMCxYsICYmJgS7x86dMgpLPz8/MjMzCwRDFOnTnX8OSIigoiI\nCKtKvSILF0LXrtCypd2ViIinS0hIICEhoVL2ZXkw5Ofn8/XXXzN9+vRSP7/0diovL68S2xQPBncS\nFwfPP293FSIiJf/T/NJLL1V4X5bflbR8+XLCw8Np3rx5ic98fX05ePCg43VmZia+vr5Wl1QpUlLg\n0CHo29fuSkREKpflwTB//nyio6NL/WzAgAHMmzcPgKSkJJo0aVJtxhfi4uCJJzToLCI1j6VPPufl\n5dGqVSsyMjJo2LAhAHFxcQCM+u3G/7Fjx7JixQrq16/Phx9+SKdOnZwLdMMnn3NzzXGF1FTw87O7\nGhGRkrQeQxX797/NFdqWLLG7EhGR0mlKjCqmJ51FpCZTMFyhbdvgl1+gd2+7KxERsYaC4QrFxcGI\nEXDNNXZXIiJiDY0xXIGcHHPQ+b//hRtvtLsaEZGyaYyhinz6Kdx9t0JBRGo2BUM5GYYGnUXEMygY\nymnLFsjOhp497a5ERMRaCoZyujjoXEtnTERqOA0+l8OpU+aynTt2wO9/b2spIiLlosFni338Mdx7\nr0JBRDyDgsEFDTqLiKdRMLiQlGSu1HbPPXZXIiJSNRQMLsTFwciRGnQWEc+hwefLOHkS2rSBnTvh\nd7+zpQQRkQrR4LNFPvoI+vRRKIiIZ1EwlEGDziLiqRQMZUhJgQsXoNja2iIiHkFjDJdx6hQ0bmzL\noUVEroqW9hQREScafBYRkUqjYBAREScKBhERcaJgEBERJwoGERFxomAQEREnCgYREXGiYBAREScK\nhmokISHB7hLchs5FEZ2LIjoXlcPSYMjOzmbQoEG0a9eOoKAgkpKSnD7PysqiT58+hIaG0qFDB+bM\nmWNlOdWeLvoiOhdFdC6K6FxUDkuDYcKECfTr148dO3aQmppKu3btnD5/++23CQsLY/v27SQkJDB5\n8mQuXLhgZUkiIuKCZcFw6tQp1q5dy/DhwwHw9vam8SUz0t1www2cPn0agNOnT9O0aVO8vb2tKklE\nRMrBskn0tm/fzqhRowgKCiIlJYXw8HBmzJhBvXr1HNsUFhZyzz33sHPnTnJycli0aBF9+/Z1LtDL\ny4ryRERqPLebXXXLli107dqVxMREbrvtNiZOnEijRo34+9//7tjmlVdeISsri7feeos9e/bQs2dP\nUlJSaNiwoRUliYhIOVjWleTn54efnx+33XYbAIMGDWLbtm1O2yQmJjJ48GAAAgICaNOmDenp6VaV\nJCIi5WCYNa0cAAAI+UlEQVRZMPz+97/H39+fnTt3AhAfH0/79u2dtmnbti3x8fEAHD16lPT0dG66\n6SarShIRkXKwdKGelJQUnnjiCfLz8wkICOCDDz5g4cKFAIwaNYqsrCyGDRvGgQMHKCws5NlnnyUm\nJsaqckREpDwMN7F8+XLj1ltvNQIDA43XXnut1G3GjRtnBAYGGsHBwca2bduquMKq4+pcrFq1ymjU\nqJERGhpqhIaGGi+//LINVVpv2LBhxu9+9zujQ4cOZW7jKdeEq3PhKdeEYRjGgQMHjIiICCMoKMho\n3769MWPGjFK384RrozznoiLXhlsEw4ULF4yAgAAjIyPDyM/PN0JCQoy0tDSnbb755hujb9++hmEY\nRlJSktGlSxc7SrVcec7FqlWrjMjISJsqrDpr1qwxtm3bVuaXoadcE4bh+lx4yjVhGIZx5MgRIzk5\n2TAMw8jJyTFuueUWj/2+KM+5qMi14RZTYmzatInAwEBat26Nj48PQ4cOZcmSJU7bLF26lEcffRSA\nLl26kJ2dzdGjR+0o11LlORdQ8dvQqpO77rqL6667rszPPeWaANfnAjzjmgBz/DI0NBSABg0a0K5d\nOw4fPuy0jadcG+U5F3Dl14ZbBMOhQ4fw9/d3vPbz8+PQoUMut8nMzKyyGqtKec6Fl5cXiYmJhISE\n0K9fP9LS0qq6TLfgKddEeXjqNbFv3z6Sk5Pp0qWL0/ueeG2UdS4qcm24xWPG5X2I7dLUq4kPv5Xn\n79SpUycOHjxIvXr1WL58OQ888IDj7i9P4wnXRHl44jWRm5vLoEGDmDFjBg0aNCjxuSddG5c7FxW5\nNtyixeDr68vBgwcdrw8ePIifn99lt8nMzMTX17fKaqwq5TkXDRs2dDxB3rdvX86fP8+JEyeqtE53\n4CnXRHl42jVx/vx5HnzwQf70pz/xwAMPlPjck64NV+eiIteGWwRD586d2bVrF/v27SM/P5+FCxcy\nYMAAp20GDBjAvHnzAEhKSqJJkya0aNHCjnItVZ5zcfToUcf/hjZt2oRhGFx//fV2lGsrT7kmysOT\nrgnDMHj88ccJCgpi4sSJpW7jKddGec5FRa4Nt+hK8vb25u2336Z3794UFBTw+OOP065dO+Li4gDz\nmYd+/fqxbNkyAgMDqV+/Ph9++KHNVVujPOfi888/Z9asWXh7e1OvXj0WLFhgc9XWiI6OZvXq1WRl\nZeHv789LL73E+fPnAc+6JsD1ufCUawJg/fr1fPzxxwQHBxMWFgbAq6++yoEDBwDPujbKcy4qcm1Y\n+oCbiIhUP27RlSQiIu5DwSAiIk4UDCIi4kTBICIiThQM4vb+8Y9/0KFDB0JCQggLC2PTpk2Vuv/7\n7rvPscRsbGwsQUFBPPzww3z99ddMnz69Uo9VXGkPZYm4A92VJG5tw4YNTJ48mdWrV+Pj48OJEyc4\nd+4cN9xwgyXHa9euHd9//z033nijJfsvrmHDhuTk5Fh+HJErpRaDuLWff/6ZZs2a4ePjA8D111/v\nCIXWrVszZcoUgoOD6dKlC3v27AHg2LFjDBo0iNtvv53bb7+dxMREwJw2YNiwYQQHBxMSEsJXX33l\n2M/x48cZPXo0e/fupU+fPrz11lvMmTOHcePGAeZDQgMHDiQ0NJTQ0FA2bNjgVGdcXBzPPPOM43Xx\n333zzTfp2LEjHTt2ZMaMGSX+jgkJCURGRjpejx07lrlz5zpqe+655wgLC6Nz585s27aNXr16ERgY\n6Hi2BeCf//wnt99+OyEhIUydOrXiJ1wE3Gc9BpHS5ObmGqGhocYtt9xiPPnkk8bq1asdn7Vu3dp4\n9dVXDcMwjHnz5hn9+/c3DMMwoqOjjXXr1hmGYRj79+832rVrZxiGYTzzzDPGpEmTHL9/8uRJx36O\nHz9e4s9z5swxxo4daxiGYQwZMsQx131BQYFx6tQppzqPHTtmBAYGOl737dvXWL9+vbFlyxajY8eO\nxpkzZ4zc3Fyjffv2xvbt2w3DMIwGDRoYhmFOi3yxdsMwjLFjxxpz58511DN79mzDMAxj0qRJRseO\nHY3c3Fzj2LFjRosWLQzDMIxvv/3WGDlypKO2/v37G2vWrLmyEy1SjFs8+SxSlvr167N161bWrl3L\nqlWreOihh3jttdccUypHR0cDMHToUCZNmgSYy8ju2LHDsY+cnBzy8vL4/vvvHSsIAjRp0qTcdaxa\ntYqPP/4YgFq1atGoUSOnz5s1a8ZNN93Exo0bCQwM5KeffqJbt27MmDGDqKgo6tatC0BUVBRr1qwh\nJCSk3Me+OCVKx44dycvLo379+tSvX586depw6tQpvvvuO7777jvHk695eXns3r2bu+66q9zHEClO\nwSBur1atWnTv3p3u3bvTsWNH5s6d6wiG4i7OnmkYBhs3bqR27doltjGuYkjN1e8OHTqURYsW0bZt\nW6Kiohw1Ff89wzBKzPLp7e1NYWGh4/XZs2edPq9Tpw5gnofif6datWpx4cIFAJ599llGjhxZgb+V\nSEkaYxC3tnPnTnbt2uV4nZycTOvWrR2vL7YAFi5cSLdu3QDo1asXsbGxjm1SUlIA6NmzJ++8847j\n/ezs7Mseu/gXeo8ePZg1axYABQUFjruYihs4cCCLFy9m/vz5DB06FDAX2Fm8eDFnz54lLy+PxYsX\nl/iffKtWrUhLSyM/P5/s7GxWrlzpsp6LvLy86N27Nx988AF5eXmAuRbBsWPHLvt3E7kcBYO4tdzc\nXB577DHat29PSEgIP/30k9Pg6smTJwkJCWHmzJn861//AsxbTrds2UJISAjt27d3DNK+8MILnDx5\nko4dOxIaGkpCQkKJ4xX/37yXl5fj9YwZM1i1ahXBwcF07tzZqavqoiZNmhAUFMSBAwfo3LkzAGFh\nYTz22GPcfvvt3HHHHYwYMcLRjXRx3/7+/gwZMoQOHTrw0EMP0alTp1LPRfF6iv9+z549iYmJoWvX\nrgQHBzNkyBByc3PLdX5FSqPbVaXaatOmDVu3bq2x00uL2EUtBqm2avKKXCJ2UotBREScqMUgIiJO\nFAwiIuJEwSAiIk4UDCIi4kTBICIiThQMIiLi5P8Da332C1BJf1gAAAAASUVORK5CYII=\n"
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> From the data of the table,delsbydelv = 1"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "hgf =2257.00 # in kj/kg",
- "ugf = 2087.6 # in kj/kg",
- "sgf = 6.048 # in kj/kg.K",
- "print '-> From table, hg-hf = ',hgf",
- "print '-> From table, ug-uf = ',ugf",
- "print '-> From table, sg-sf = ',sgf",
- "",
- "T = 373.15 # in kelvin",
- "delpbydelT = 3570.00 # in N/(m^2.K)",
- "vg = 1.673 # in m^3/kg",
- "vf = 1.0435e-3 # in m^3/kg",
- "hgf = T*(vg-vf)*delpbydelT*10**-3 # in kj/kg",
- "print '-> Part(a)using Clapeyron equation, hg-hf = ', round(hgf,2)",
- "",
- "psat = 1.014e5 # in N/m^2",
- "hgf = 2256.00 # can be obtained using IT software in kj/kg",
- "ugf = hgf - psat*(vg-vf)/10**3 # in kj/kg",
- "print '-> Part(b)ug-uf = ', round(ugf,2)",
- "sgf =hgf/T # in kj/kg.K ",
- "print '-> Part(c)sg-sf = ', round(sgf,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> From table, hg-hf = 2257.0",
- "-> From table, ug-uf = 2087.6",
- "-> From table, sg-sf = 6.048",
- "-> Part(a)using Clapeyron equation, hg-hf = 2227.29",
- "-> Part(b)ug-uf = 2086.46",
- "-> Part(c)sg-sf = 6.05"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "v = 1.00/998.21 # specific volume of water in m^3/kg",
- "T = 293.00 # given temperature in kelvin",
- "beta = 206.6e-6 # volume expansivity in /K",
- "k = 45.90e-6 # isothermal compressibility in /bar",
- "cp = 4.188 # in kj/kg.k",
- "cpv = (v*T*beta**2.00/k)*10**2 # in kj/kg.k",
- "cv = cp-cpv # in kj/kg.k",
- "errorPercentage = 100*(cp-cv)/cv",
- "print '-> The percentage error is: ',round(errorPercentage,2)",
- "",
- "K = cp/cv # specific heat ratio",
- "c = ((K*v/k)*10**5)**0.5 # velocity of sound in m/s",
- "print '-> The velocity of sound is: ',round(c,2),'m/s'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The percentage error is: 0.66",
- "-> The velocity of sound is: 1482.19 m/s"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1 = 100.00 # in bar",
- "T1 = 300.00 # in kelvin",
- "p2 = 40.00 # in bar",
- "T2 = 245.00 # in kelvin",
- "",
- "",
- "h1starbar = 8723.00 # in kj/kmol",
- "h2starbar = 7121.00 # in kj/kmol",
- "Tc = 126.00 # critical temperature in kelvin",
- "pc = 33.9 # critical pressure in bar",
- "M = 28.00 # molar mass in kg/kmol",
- "Rbar = 8.314 # universal gas constant in kj/(kmol.K)",
- "Term1 = 0.5 ",
- "Term2 = 0.31",
- "",
- "TR1 = T1/Tc # reduced temperature at the inlet",
- "PR1 = p1/pc # reduced pressure at the inlet",
- "TR2 = T2/Tc # reduced temperature at the exit",
- "PR2 = p2/pc # reduced pressure at the exit",
- "wcvdot = (1.00/M)*(h1starbar-h2starbar-Rbar*Tc*(Term1-Term2)) # in kj/kg",
- "",
- "print '-> The work developed, in kJ per kg of nitrogen flowing is : '",
- "print round(wcvdot,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The work developed, in kJ per kg of nitrogen flowing is : ",
- "50.11"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "sT2bar = 185.775 # in kj/(kmol.K)",
- "sT1bar = 191.682 # in kj/(kmol.K)",
- "Rbar = 8.314 # universal gas constant",
- "M = 28.00 # molar mass in kg/kmol ",
- "p2 = 40.00 # in bar",
- "p1 = 100.00 # in bar",
- "Term1 = 0.21",
- "Term2 = 0.14",
- "",
- "import math",
- "S2StarBarMinusS1StarBar = sT2bar-sT1bar-Rbar*math.log(p2/p1) # The change in specific entropy in kj/(kmol.K)",
- "sigmacvdot = (1.00/M)*(S2StarBarMinusS1StarBar-Rbar*(Term2-Term1))",
- "print '-> the rate of entropy production in kj/kg.K is: '",
- "print round(sigmacvdot,2)",
- "",
- "h2starbar = 6654.00 # in kj/kmol",
- "h1starbar = 8723.00 # in kj/kmol",
- "Tc = 126.00 # critical temperature in kelvin",
- "Term2 = 0.36",
- "Term1 = 0.5",
- "wcvdot = 50.1 # from example 11.8",
- "",
- "wcvdots = (1.00/M)*(h1starbar-h2starbar-Rbar*Tc*(Term1-Term2)) # isentropic work in kj/kg",
- "etat = wcvdot/wcvdots # turbine efficiency",
- "",
- "print '-> The isentropic turbine efficiency is: '",
- "print round(etat,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> the rate of entropy production in kj/kg.K is: ",
- "0.08",
- "-> The isentropic turbine efficiency is: ",
- "0.73"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "V = 0.241 # volume of the mixture in m^3",
- "T = 511.00 # temperature of the mixture in kelvin",
- "n1 = 0.18 # number of moles of methane in kmol",
- "n2 = 0.274 # number of moles of butane in kmol",
- "Rbar = 8314 # universal gas constant in (N.m)/(kmol.K)",
- "",
- "n = n1 + n2 # The total number of moles of mixture",
- "y1 = n1/n # mole fraction of methane",
- "y2 = n2/n # mole fraction of butane",
- "vbar = V/(n) # The specific volume of the mixture on a molar basis in m^3/kmol",
- "",
- "p = (Rbar*T/vbar)*10**-5 # in bar",
- "print '-> The pressure in bar obtained using ideal gas equation is: '",
- "print round(p,2)",
- "",
- "Tc1 = 191.00 # critical temperature for methane in kelvin ",
- "Pc1 = 46.4 # critical pressure for methane in bar",
- "Tc2 = 425.00 # critical temperature for butane in kelvin",
- "Pc2 = 38.00 # critical pressure for butane in bar",
- "Z = 0.88",
- "",
- "",
- "Tc = y1*Tc1 + y2*Tc2 # critical temperature in kelvin",
- "Pc = y1*Pc1 + y2*Pc2 # critical pressure in bar",
- "TR = T/Tc # reduced temperature of the mixture",
- "vRdash= vbar*Pc/(Rbar*Tc)",
- "p = ((Z*Rbar*T)/vbar)*10**-5 # mixture pressure in bar",
- "print '-> Pressure obtained using Kay\u2019s rule together with the generalized compressibility chart, is: '",
- "print round(p,2)",
- "",
- "a1 = 2.293 # in (m^3/kmol)^2",
- "b1 = 0.0428 # in m^3/kmol",
- "a2 = 13.86 # in (m^3/kmol)^2",
- "b2 = 0.1162 # in m^3/kmol",
- "",
- "a = (y1*a1**.5 + y2*a2**.5)**2 # in bar*(m^3/kmol)^2",
- "b = y1*b1+y2*b2 # in m^3/kmol",
- "p = ((Rbar*T)/(vbar-b))*10**-5 - a/(vbar**2)",
- "print '-> The pressure in bar from van der Waals equation is: '",
- "print round(p,2)",
- "",
- "TR1 = T/Tc1",
- "vR1dash = (.241/.18)*10**5*Pc1/(Rbar*Tc1)",
- "Z1 = 1.00",
- "TR2 = T/Tc2",
- "vR2dash = (.88*10**5*Pc2)/(Rbar*Tc2)",
- "Z2 = 0.8",
- "Z = y1*Z1 + y2*Z2",
- "p = 70.4",
- "",
- "print '-> The pressure in bar obtained using the rule of additive pressures employing the generalized compressibility chart is: '",
- "print round(p,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The pressure in bar obtained using ideal gas equation is: ",
- "80.03",
- "-> Pressure obtained using Kay\u2019s rule together with the generalized compressibility chart, is: ",
- "70.43",
- "-> The pressure in bar from van der Waals equation is: ",
- "66.97",
- "-> The pressure in bar obtained using the rule of additive pressures employing the generalized compressibility chart is: ",
- "70.4"
- ]
- }
- ],
- "prompt_number": 8
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_12_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_12_2.ipynb
deleted file mode 100644
index 6cbc550b..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_12_2.ipynb
+++ /dev/null
@@ -1,760 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 12"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "n1 = 0.08 # mole fraction of CO2",
- "n2 = 0.11 # mole fraction of H2O",
- "n3 = 0.07 # mole fraction of O2",
- "n4 = 0.74 # mole fraction of N2",
- "",
- "M1 = 44.0 # molar mass of CO2 in kg/kmol",
- "M2 = 18.0 # molar mass of H2O in kg/kmol",
- "M3 = 32.0 # molar mass of O2 in kg/kmol",
- "M4 = 28.0 # molar mass of N2 in kg/kmol",
- "",
- "M = M1*n1 + M2*n2 + M3*n3 + M4*n4 # in kg/kmol",
- "print 'The apparent molecular weight of the mixture in kg/kmol is: ',M",
- "",
- "mf1 = (M1*n1/M)*100.0 # mass fraction of CO2 in percentage ",
- "mf2 = (M2*n2/M)*100.0 # mass fraction of H2O in percentage",
- "mf3 = (M3*n3/M)*100.0 # mass fraction of O2 in percentage",
- "mf4 = (M4*n4/M)*100.0 # mass fraction of N2 in percentage",
- "",
- "print 'The mass fraction of CO2 in percentage is: ',mf1",
- "print 'The mass fraction of H2O in percentage is: ',mf2",
- "print 'The mass fraction of O2 in percentage is: ',mf3",
- "print 'The mass fraction of N2 in percentage is: ',mf4"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The apparent molecular weight of the mixture in kg/kmol is: 28.46",
- "The mass fraction of CO2 in percentage is: 12.3682361209",
- "The mass fraction of H2O in percentage is: 6.95713281799",
- "The mass fraction of O2 in percentage is: 7.87069571328",
- "The mass fraction of N2 in percentage is: 72.8039353479"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "mf1 = 0.1 # mass fractiion of H2",
- "mf2 = 0.6 # mass fraction of N2",
- "mf3 = 0.3 # mass fraction of CO2",
- "",
- "M1 = 2.0 # molar mass of H2 in kg/kmol",
- "M2 = 28.0 # molar mass of N2 in kg/kmol",
- "M3 = 44.0 # molar mass of CO2 in kg/kmol",
- "",
- "n1 = (mf1/M1)/(mf1/M1 + mf2/M2 + mf3/M3) # mole fraction of H2 ",
- "n2 = (mf2/M2)/(mf1/M1 + mf2/M2 + mf3/M3) # mole fraction of N2",
- "n3 = (mf3/M3)/(mf1/M1 + mf2/M2 + mf3/M3) # mole fraction of CO2",
- "",
- "print 'The mole fraction of H2 in percentage is: ',n1*100",
- "print 'The mole fraction of N2 in percentage is: ',n2*100",
- "print 'The mole fraction of CO2 in percentage is: ',n3*100",
- "",
- "M = n1*M1 + n2*M2 + n3*M3 # in kg/kmol",
- "print 'The apparent molecular weight of the mixture in kg/kmol is: ',M"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mole fraction of H2 in percentage is: 63.9004149378",
- "The mole fraction of N2 in percentage is: 27.3858921162",
- "The mole fraction of CO2 in percentage is: 8.71369294606",
- "The apparent molecular weight of the mixture in kg/kmol is: 12.7800829876"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "m1 = 0.3 # mass of CO2 in kg",
- "m2 = 0.2 # mass of N2 in kg",
- "p1 = 1.0 # in bar",
- "T1 = 300.0 # in kelvin",
- "p2 = 3.0 # in bar",
- "n = 1.25",
- "",
- "T2 = T1*(p2/p1)**((n-1)/n) # in kelvin",
- "print 'The final temperature in Kelvin is: ',T2",
- "",
- "Rbar = 8.314 # universal gas constant in SI units",
- "M = (m1+m2)/(m1/44 + m2/28) # molar mass of mixture in kg/kmol",
- "W = ((m1+m2)*(Rbar/M)*(T2-T1))/(1-n) # in kj",
- "print 'The work in kj is: ',W ",
- "",
- "uCO2T1 = 6939.0 # internal energy of CO2 on molar mass basis at temperature T1",
- "uCO2T2 = 9198.0 # internal energy of CO2 on molar mass basis at temperature T2",
- "uN2T1 = 6229.0 # internal energy of N2 on molar mass basis at temperature T1",
- "uN2T2 = 7770.0 # internal energy of N2 on molar mass basis at temperature T2",
- "deltaU = (m1/44)*(uCO2T2-uCO2T1) + (m2/28)*(uN2T2-uN2T1) # internal energy change of the mixture in KJ",
- "",
- "Q = deltaU + W",
- "print 'The heat transfer in kj is: ',Q",
- "",
- "sbarT2CO2 = 222.475",
- "sbarT1CO2 = 213.915 ",
- "sbarT2N2 = 198.105",
- "sbarT1N2 = 191.682",
- "Rbar = 8.314 # universal gas constant",
- "import math",
- "deltaS = (m1/44)*(sbarT2CO2-sbarT1CO2-Rbar*math.log(p2/p1)) + (m2/28)*(sbarT2N2-sbarT1N2-Rbar*math.log(p2/p1))",
- "print 'The change in entropy of the mixture in kj/k is: ',deltaS"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The final temperature in Kelvin is: 373.719281885",
- "The work in kj is: -34.2270009251",
- "The heat transfer in kj is: -7.81758534069",
- "The change in entropy of the mixture in kj/k is: -0.0232760033842"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "y1 = 0.8 # mole fraction of CO2",
- "y2 = 0.2 # mole fraction of O2",
- "T1 = 700.0 # in kelvin",
- "p1 = 5.0 # in bars",
- "V1 = 3.0 # in m/s",
- "p2 = 1.0 # in bars",
- "",
- "",
- "sO2barT1 = 231.358",
- "sCO2barT1 = 250.663",
- "import math",
- "RHS = y2*sO2barT1 + y1*sCO2barT1 + 8.314*math.log(p2/p1)",
- "LHSat510K = y2*221.206 + y1*235.7",
- "LHSat520K = y2*221.812 + y1*236.575",
- "T2 = 510 +((520-510)/(LHSat520K-LHSat510K))*(RHS-LHSat510K)",
- "print 'The temperature at the nozzle exit in K is: ',T2",
- "",
- "sbarO2T2 = 221.667 # in kj/kmol.K",
- "sbarO2T1 = 231.358 # in kj/kmol.K",
- "sbarCO2T2 = 236.365 # in kj/kmol.K",
- "sbarCO2T1 = 250.663 # in kj/kmol.K",
- "deltasbarO2 = sbarO2T2-sbarO2T1-8.314*math.log(p2/p1) # in kj/kmol.K",
- "deltasbarCO2 = sbarCO2T2-sbarCO2T1-8.314*math.log(p2/p1) # in kj/kmol.K",
- "print 'The entropy changes of the CO2 from inlet to exit, in KJ/Kmol.K is: ',deltasbarCO2",
- "print 'The entropy change of the O2 from inlet to the exit in kj/kmol.k is: ',deltasbarO2",
- "",
- "h1barO2 = 21184.0",
- "h2barO2 = 15320.0",
- "h1barCO2 = 27125.0",
- "h2barCO2 = 18468.0",
- "M = y1*44.0 + y2*32.0 # apparent molecular weight of the mixture in kg/kmol",
- "deltah = (1.0/M)*(y2*(h1barO2-h2barO2) + y1*(h1barCO2-h2barCO2))",
- "V2 = math.sqrt(V1**2+ 2*deltah*10**3)",
- "print 'The exit velocity in m/s is: ',V2"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature at the nozzle exit in K is: 517.549113444",
- "The entropy changes of the CO2 from inlet to exit, in KJ/Kmol.K is: -0.917133196023",
- "The entropy change of the O2 from inlet to the exit in kj/kmol.k is: 3.68986680398",
- "The exit velocity in m/s is: 623.983296128"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "nN2 = 0.79 # initial moles of nitrogen in kmol",
- "pN2 = 2.0 # initial pressure of nitrogen in bars",
- "TN2 = 250.0 # initial temperature of nitrogen in kelvin",
- "nO2 = 0.21 # initial moles of oxygen in kmol",
- "pO2 = 1.0 # initial pressure of oxygen in bars",
- "TO2 = 300.0 # initial temperature of oxygen in kelvin",
- "",
- "MN2 = 28.01 # molar mass of nitrogen in kg/kmol",
- "MO2 = 32.0 # molar mass of oxygen in kg/kmol",
- "cvbarN2 = MN2*0.743 # in kj/kmol.K",
- "cvbarO2 = MO2*0.656 # in kj/kmol.K",
- "T2 = (nN2*cvbarN2*TN2+nO2*cvbarO2*TO2)/(nN2*cvbarN2+nO2*cvbarO2)",
- "print 'The final temperature of the mixture in kelvin is: ',T2",
- "",
- "p2 = ((nN2+nO2)*T2)/(nN2*TN2/pN2 + nO2*TO2/pO2)",
- "print 'The final pressure of the mixture in bar is: ',p2",
- "",
- "Rbar = 8.314 # universal gas constant",
- "import math",
- "cpbarN2 = cvbarN2 + Rbar",
- "cpbarO2 = cvbarO2 + Rbar",
- "yN2 = nN2/(nN2+nO2) # mole fraction of N2",
- "yO2 = nO2/(nN2+nO2) # mole fraction of O2",
- "sigma = nN2*(cpbarN2*math.log(T2/TN2)-Rbar*math.log(yN2*p2/pN2)) + nO2*(cpbarO2*math.log(T2/TO2)-Rbar*math.log(yO2*p2/pO2))",
- "print 'The amount of entropy produced in the mixing process, in kJ/K is: ',sigma"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The final temperature of the mixture in kelvin is: 260.571840521",
- "The final pressure of the mixture in bar is: 1.61095419179",
- "The amount of entropy produced in the mixing process, in kJ/K is: 4.94715526048"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 32.0 # temperature of dry air in degree celcius",
- "p1 = 1.0 # pressure of dry air in bar",
- "AV1 = 100.0 # volume rate of dry air in m^3/min",
- "T2 = 127.0 # temperature of oxygen stream in degree celcius",
- "p2 = 1.0 # pressure of oxygen stream in bar",
- "T3 = 47.0 # temperature of mixed stream in degree celcius",
- "p3 = 1.0 # pressure of mixed stream in bar",
- "",
- "Rbar = 8314.0 # universal gas constant",
- "Ma = 28.97 # molar mass of air",
- "Mo = 32.0 # molar mass of oxygen",
- "haT3 = 320.29 # in kj/kg",
- "haT1 = 305.22 # in kj/kg",
- "hnotT2 = 11711.0 # in kj/kmol",
- "hnotT1 = 9325.0 # in kj/kmol",
- "",
- "va1 = (Rbar/Ma)*(T1+273.0)/(p1*10**5) # specific volume of air in m^3/kg",
- "ma1dot = AV1/va1 # mass flow rate of dry air in kg/min",
- "modot = ma1dot*(haT3-haT1)/((1/Mo)*(hnotT2-hnotT1)) # in kg/min",
- "print 'The mass flow rate of dry air in kg/min is: ',ma1dot",
- "print 'The mass flow rate of oxygen in kg/min is: ',modot",
- "",
- "nadot = ma1dot/Ma # molar flow rate of air in kmol/min",
- "nodot = modot/Mo # molar flow rate of oxygen in kmol/min",
- "ya = nadot/(nadot+nodot) # mole fraction of air",
- "yo = nodot/(nadot+nodot) # mole fraction of oxygen",
- "print 'The mole fraction of dry air in the exiting mixture is: ',ya",
- "print 'The mole fraction of dry oxygen in the exiting mixture is: ',yo",
- "",
- "sanotT3 = 1.7669 # in kj/kg.K",
- "sanotT1 = 1.71865 # in kj/kg.K",
- "sbarT3 = 207.112 # in kj/kmol.K",
- "sbarT2 = 213.765 # in kj/kmol.K",
- "import math",
- "sigmadot = ma1dot*(sanotT3-sanotT1-(8.314/Ma)*math.log(ya))+ (modot/Mo)*(sbarT3-sbarT2-8.314*math.log(yo))",
- "print 'The time rate of entropy production, in kJ/K . min is: ',sigmadot"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass flow rate of dry air in kg/min is: 114.245377144",
- "The mass flow rate of oxygen in kg/min is: 23.0903984383",
- "The mole fraction of dry air in the exiting mixture is: 0.845326536426",
- "The mole fraction of dry oxygen in the exiting mixture is: 0.154673463574",
- "The time rate of entropy production, in kJ/K . min is: 17.4180498088"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "m =1.0 # mass of sample in kg",
- "T1 = 21.0 # initial temperature in degree celcius",
- "psi1 = 0.7 # initial relative humidity",
- "T2 = 5.0 # final temperature in degree celcius",
- "",
- "pg = 0.02487 # in bar",
- "pv1 = psi1*pg # partial pressure of water vapor in bar",
- "omega1 = 0.622*(0.2542)/(14.7-0.2542)",
- "print 'the initial humidity ratio is: ',omega1",
- "",
- "T = 15.3 # the dew point temperature in degree celcius",
- "print 'The dew point temperature in degree celcius is: ',T",
- "",
- "mv1 = 1/((1/omega1)+1) # initial amount of water vapor in the sample in kg",
- "ma = m-mv1 # mass of dry air present in kg",
- "pg = 0.00872 # in bar",
- "omega2 = 0.622*(pg)/(1.01325-pg) # humidity ratio after cooling",
- "mv2 = omega2*ma # The mass of the water vapor present at the final state",
- "mw = mv1-mv2",
- "",
- "print 'The amount of water vapor that condenses, in kg. is: ',mw"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "the initial humidity ratio is: 0.0109452159105",
- "The dew point temperature in degree celcius is: 15.3",
- "The amount of water vapor that condenses, in kg. is: 0.00548579192846"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "V = 35.0 # volume of the vessel in m^3",
- "p1 = 1.5 # in bar",
- "T1 = 120.0 # in degree celcius",
- "psi1 = 0.1 ",
- "T2 = 22.0 # in degree celcius",
- "",
- "pg1 = 1.985",
- "T = 60.0 # in degree celcius",
- "pv1 = psi1*pg1 # partial pressure in bar",
- "print 'The dew point temperature corresponding to the initial state, in degee celcius is: ',T",
- "",
- "Rbar = 8314.0 # universal gas constant",
- "Mv = 18.0 # molar mass of vapor in kj/kmol",
- "Tdash = 56.0 # in degrees",
- "vv1 =((Rbar/Mv)*(T1+273))/(pv1*10**5) # the specific volume of the vapor at state 1 in m^3/kg",
- "print 'The temperature at which condensation actually begins in degree celcius is: ',Tdash",
- "",
- "vf2 = 1.0022e-3",
- "vg2 = 51.447",
- "vv2 = vv1 # specific volume at final state",
- "mv1 = V/vv1 # initial amount of water vapor present in kg",
- "x2 = (vv2-vf2)/(vg2-vf2) # quality",
- "mv2 = x2*mv1 # the mass of the water vapor contained in the system at the final state",
- "mw2 = mv1-mv2",
- "print 'The amount of water condense in kg is: ',mw2"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The dew point temperature corresponding to the initial state, in degee celcius is: 60.0",
- "The temperature at which condensation actually begins in degree celcius is: 56.0",
- "The amount of water condense in kg is: 3.14710226995"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "V = 35.0 # volume of vessel in m^3",
- "p1 = 1.5 # initial pressure in bar",
- "T1 = 120.0 # initial temperature in degree celcius",
- "psi = 0.1",
- "T2 = 22.0 # in degree celcius",
- "Rbar = 8314.0 # universal gas constant",
- "Ma = 28.97 # molar mass of air",
- "pv1 = 0.1985 # in bar, from example 12.8",
- "mv2 = 0.681 # in kg, from examples 12.8",
- "mv1 = 3.827 # in kg, from example 12.8",
- "mw2 = 3.146 # in kg, from example 12.8",
- "ua2 = 210.49 # in kj/kg",
- "ua1 = 281.1 # in kj/kg",
- "ug2 = 2405.7 # in kj/kg",
- "uf2 = 92.32 # in kj/kg",
- "ug1 = 2529.3 # in kj/kg",
- "",
- "ma =( ((p1-pv1)*10**5)*V)/((Rbar/Ma)*(T1+273)) # mass of dry air in kg",
- "Q = ma*(ua2-ua1) + mv2*ug2 + mw2*uf2 - mv1*ug1",
- "",
- "print 'The heat transfer during the process, in kJ is: ',Q"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer during the process, in kJ is: -10602.7454057"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "AV1 = 150.0 # entry volumetric flow rate in m^3/min",
- "T1 = 10.0 # entry temperature in degree celcius",
- "psi1 = 0.8 ",
- "T2 = 30.0 # exit temperature in degree celcius",
- "p = 1.0 # in bar",
- "",
- "Rbar = 8314.0 # universal gas constant",
- "Ma = 28.97 # molar mass of air",
- "ha1 = 283.1 # in kj/kg",
- "ha2 = 303.2 # in kj/kg",
- "hv1 = 2519.8 # in kj/kg",
- "hv2 = 2556.3 # in kj/kg",
- "pg1 = 0.01228 # in bar",
- "pv1 = psi1*pg1 # the partial pressure of the water vapor in bar",
- "pa1 = p-pv1",
- "va1 = (Rbar/Ma)*(T1+273)/(pa1*10**5) # specific volume of the dry air in m^3/kg",
- "madot = AV1/va1 # mass flow rate of the dry air in kg/min",
- "omega = 0.622*(pv1/(p-pv1)) # humidity ratio",
- "Qcvdot = madot*((ha2-ha1)+omega*(hv2-hv1)) # in kj/min",
- "print 'Rate of heat transfer, in kJ/min is: ',Qcvdot",
- "",
- "pg2 = 0.04246 # in bar",
- "pv2 = pv1",
- "psi2 = pv2/pg2 # relative humidity at the exit",
- "print 'The relative humidity at the exit is: ',psi2"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Rate of heat transfer, in kJ/min is: 3716.99116097",
- "The relative humidity at the exit is: 0.231370701837"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 30.0 # in degree celcius",
- "AV1 = 280.0 # in m^3/min",
- "psi1 = 0.5 # relative humidity at the inlet",
- "T2 = 10.0 # in degree celcius",
- "p = 1.013 # pressure in bar",
- "",
- "pg1 = 0.04246 # in bar",
- "Rbar = 8314 # universal gas constant",
- "Ma = 28.97 # molar mass of air",
- "pv1 = psi1*pg1 # in bar",
- "pa1 = p-pv1 # partial pressure of the dry air in bar",
- "madot = AV1/((Rbar/Ma)*((T1+273)/(pa1*10**5))) # common mass flow rate of the dry air in kg/min",
- "print 'The mass flow rate of the dry air in kg/min is: ',madot",
- "",
- "pv2 = 0.01228 # in bar",
- "omega1 = 0.622*(pv1/(p-pv1))",
- "omega2 = 0.622*(pv2/(p-pv2))",
- "mwdotbymadot = omega1-omega2 ",
- "print 'The rate at which water is condensed, in kg per kg of dry air flowing through the control volume is: ',mwdotbymadot",
- "",
- "ha2 = 283.1 # in kg/kj",
- "ha1 = 303.2 # in kg/kj",
- "hg1 = 2556.3 # in kg/kj",
- "hg2 = 2519.8 # in kg/kj",
- "hf2 = 42.01 # in kg/kj",
- "Qcvdot = madot*((ha2-ha1)-omega1*hg1+omega2*hg2+(omega1-omega2)*hf2) # in kj/min",
- "print 'The required refrigerating capacity, in tons is: ',Qcvdot/211"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass flow rate of the dry air in kg/min is: 319.348473885",
- "The rate at which water is condensed, in kg per kg of dry air flowing through the control volume is: 0.00568197500137",
- "The required refrigerating capacity, in tons is: -52.4650572692"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 22.0 # entry temperature of moist air in degree celcius",
- "Twb = 9.0 # wet-bulb temperature of entering moist air in degree celcius",
- "madot = 90.0 # mass flow rate of dry air in kg/min",
- "Tst = 110.0 # temperature of injected saturated water vapor in degree celcius",
- "mstdot = 52.0 # mass flow rate of injected saturated water vapor in kg/h",
- "p = 1.0 # pressure in bar",
- "",
- "omega1 = 0.002",
- "omega2 = omega1 + mstdot/(madot*60)",
- "print 'The humidity ratio at the exit is: ',omega2",
- "",
- "T2 = 23.5 # in degree celcius",
- "print 'The temperature at the exit in degree celcius is: ',T2"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The humidity ratio at the exit is: 0.0116296296296",
- "The temperature at the exit in degree celcius is: 23.5"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 38.0 # temperature of entering air in degree celcius",
- "psi1 = 0.1 # relative humidity of entering air ",
- "AV1 = 140.0 # volumetric flow rate of entering air in m^3/min",
- "Tw = 21.0 # temperature of added water in degree celcius",
- "T2 = 21.0 # temperature of exiting moist air in degree celcius",
- "p = 1.0 # pressure in atm",
- "",
- "pg1 = 0.066 # in bar",
- "va1 = .887 # in m^3/kg",
- "cpa = 1.005",
- "hf = 88.14",
- "hg1 = 2570.7",
- "hg2 = 2539.94",
- "pv1 = psi1*pg1 # the partial pressure of the moist air entering the control volume in bar",
- "omega1 = 0.622*(pv1/(p*1.01325-pv1))",
- "omega2 = (cpa*(T1-T2)+omega1*(hg1-hf))/(hg2-hf)",
- "madot = AV1/va1 # mass flow rate of the dry air in kg/min",
- "mwdot = madot*60*(omega2-omega1) # in kg/h",
- "print 'The mass flow rate of the water to the soaked pad in kj/h is: ',mwdot",
- "",
- "pv2 = (omega2*p*1.01325)/(omega2+0.622) # in bars",
- "pg2 = 0.02487",
- "psi2 = pv2/pg2",
- "print 'The relative humidity of the moist air at the exit to the evaporative cooler is: ',psi2"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass flow rate of the water to the soaked pad in kj/h is: 66.4756578168",
- "The relative humidity of the moist air at the exit to the evaporative cooler is: 0.714165693403"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "AV1 = 142.0 # in m^3/min",
- "T1 = 5.0 # in degree celcius",
- "omega1 = 0.002",
- "AV2 = 425.0 # in m^3/min",
- "T2 = 24.0 # in degree celcius",
- "psi2 = 0.5",
- "p = 1.0 # in bar",
- "",
- "",
- "va1 = 0.79 # in m^3/kg",
- "va2 = 0.855 # in m^3/kg",
- "omega2 = 0.0094",
- "ma1dot = AV1/va1 # in kg/min",
- "ma2dot = AV2 /va2 # in kg/min",
- "omega3 = (omega1*ma1dot+omega2*ma2dot)/(ma1dot + ma2dot) ",
- "print 'The humidity ratio is: ',omega3",
- "",
- "LHS = (ma1dot*10+ma2dot*47.8)/(ma1dot + ma2dot)",
- "",
- "T3 = 19.0 # in degree celcius",
- "print 'The temperature of the exiting mixed stream in degree celcius is: ',T3"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The humidity ratio is: 0.0074347493219",
- "The temperature of the exiting mixed stream in degree celcius is: 19.0"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 38.0 # in degree celcius",
- "m1dot = 4.5e7 # in kg/h",
- "T2 = 30.0 # in degree celcius",
- "m2dot = 4.5e7 # in kg/h",
- "T3 = 25.0 # in degree celcius",
- "psi3 = 0.35",
- "T4 = 35.0 # in degree celcius",
- "psi4 = 0.9",
- "T5 = 20.0 # in degree celcius",
- "",
- "omega3 =0.00688",
- "omega4 = 0.0327",
- "hf1 = 159.21",
- "hf2 = 125.79",
- "ha4 = 308.2",
- "ha3 = 298.2",
- "hg4 = 2565.3",
- "hg3 = 2547.2",
- "hf5 = 83.96",
- "madot = (m1dot*(hf1-hf2))/(ha4-ha3+omega4*hg4-omega3*hg3-(omega4-omega3)*hf5) # in kg/h",
- "m5dot = madot*(omega4-omega3) # in kg/h",
- "print 'The mass flow rate of dry air in kg/h is: ',madot",
- "print 'The mass flow rate of makeup water in kg/h is: ',m5dot"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass flow rate of dry air in kg/h is: 20270180.9849",
- "The mass flow rate of makeup water in kg/h is: 523376.07303"
- ]
- }
- ],
- "prompt_number": 15
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_13_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_13_2.ipynb
deleted file mode 100644
index 7baea414..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_13_2.ipynb
+++ /dev/null
@@ -1,737 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 13"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "b = 8.00",
- "c = 18.00/2.00",
- "a = (2.00*b+c)/2.00",
- "d = 3.76*a",
- "",
- "AFbar = a*(1+3.76)/1.00",
- "Ma = 28.97 # molar mass of air",
- "MC8H18 = 114.22 # molar mass of C8H18",
- "AF = AFbar*(Ma/MC8H18)",
- "",
- "print '-> The air\u2013fuel ratio on a molar basis is: '",
- "print AFbar",
- "print '-> The air\u2013fuel ratio expressed on a mass basis is: '",
- "print round(AF,2)",
- "",
- "b = 8.00",
- "c =18.00/2.00",
- "e = (1.5*12.5*2 - c -2*b)/2.00",
- "d = 1.5*12.5*3.76",
- "AFbar = 1.5*12.5*(1+3.76)/1",
- "AF = AFbar*(Ma/MC8H18)",
- "",
- "print '-> The air\u2013fuel ratio on a molar basis is: '",
- "print AFbar",
- "print '-> The air\u2013fuel ratio expressed on a mass basis is: '",
- "print round(AF,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The air\u2013fuel ratio on a molar basis is: ",
- "59.5",
- "-> The air\u2013fuel ratio expressed on a mass basis is: ",
- "15.09",
- "-> The air\u2013fuel ratio on a molar basis is: ",
- "89.25",
- "-> The air\u2013fuel ratio expressed on a mass basis is: ",
- "22.64"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "a = 9.7 + 0.5",
- "c = 2.0*a",
- "b = ((9.7)*(2.0)+(0.5)+((2.0)*(2.95))+c)/2.00",
- "Ma = 28.97 # molar mass of air",
- "MCH4 = 16.04 # molar mass of methane",
- "AFbar = (b*(1+3.76))/a",
- "AF = AFbar*(Ma/MCH4)",
- "",
- "print '-> The air-fuel ratio on a molar basis is: '",
- "print AFbar",
- "print '-> The air-fuel ratio on a mass basis is: '",
- "print round(AF,2)",
- "",
- "AFbartheo = 2.00*(1+3.76)/1.0",
- "Ta = AFbar/AFbartheo",
- "print '-> The percent theoretical air is: '",
- "print round(Ta*100,2)",
- "",
- "yv = 20.4/(100+20.4)",
- "pv = yv*1",
- "T = 57 # in degree celcius",
- "print '-> The dew point temperature of the products, in \u0004C, if the mixture were cooled at 1 atm is: '",
- "print T"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The air-fuel ratio on a molar basis is: ",
- "10.78",
- "-> The air-fuel ratio on a mass basis is: ",
- "19.47",
- "-> The percent theoretical air is: ",
- "113.24",
- "-> The dew point temperature of the products, in \u0004C, if the mixture were cooled at 1 atm is: ",
- "57"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "b = (0.8062 + 2*.0541 + 3*.0187 + 4*.0160)/(.078 + .002)",
- "c = (4*.8062 + 6*.0541 + 8*.0187 + 10*.0160)/2",
- "a = (b*(2*.078+.002+2*.07) + c)/2",
- "AFbar = a*(1+3.76)/1",
- "print '-> The air-fuel ratio on a molar mass basis is: '",
- "print round(AFbar,2)",
- "",
- "p = 1.0 # in bar",
- "V = 100.0 # in m^3",
- "Rbar = 8314.0 # in N.m/kmol.K",
- "T = 300.0 # in kelvin",
- "nF = (p*10**5*V)/(Rbar*T)",
- "n = nF*(b+c)",
- "print '-> The amount of products in kmol that would be formed from 100 m3 of fuel mixture at 300 K and 1 bar is: '",
- "print round(n,2)",
- "",
- "AFbartheo = 2*(1+3.76)/1",
- "Ta = AFbar/AFbartheo",
- "print '-> The percent of theoretical air is: '",
- "print round(Ta*100,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The air-fuel ratio on a molar mass basis is: ",
- "13.76",
- "-> The amount of products in kmol that would be formed from 100 m3 of fuel mixture at 300 K and 1 bar is: ",
- "59.58",
- "-> The percent of theoretical air is: ",
- "144.58"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "hRbar = -249910 # in kj/kmol",
- "mfdot = 1.8e-3 # mass flow rate of liquid octane in kg/s",
- "M = 114.22 # molar mass of octane",
- "Wcvdot = 37 # power output of the engine in kw",
- "",
- "hpbar = 8*(-393520 + (36876 - 9364)) + 9*(-241820 + (31429 - 9904)) + 47*((26568 - 8669))",
- "nFdot = mfdot/M # molar flow rate of the fuel in kmol/s",
- "Qcvdot = Wcvdot + nFdot*(hpbar-hRbar) # in kw",
- "",
- "print '-> The rate of heat transfer from the engine, in kW is: '",
- "print round(Qcvdot,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The rate of heat transfer from the engine, in kW is: ",
- "-23.19"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "cpbar = 38.00 # specific heat in KJ/kmol.K",
- "hfnotbar = -74850.00 # enthalpy of formation for methane",
- "deltahbarO2 = 14770-8682",
- "deltahbarN2 = 14581-8669",
- "",
- "hRbar = hfnotbar + cpbar*(400-298) + 2.265*deltahbarO2 + 8.515*deltahbarN2 # in kj/kmol",
- "hpbar = .951*(-393520 + (88806 - 9364)) + .049*(-110530 + (58191 - 8669)) + .289*(60371 - 8682) + 8.515*(57651 - 8669) + 2*(-241820 + (72513 - 9904))",
- "Qcvdot = hpbar - hRbar # in kj/kmol",
- "",
- "print '-> The rate of heat transfer from the combustion chamber in kJ per kmol of fuel is: '",
- "print round(Qcvdot,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The rate of heat transfer from the combustion chamber in kJ per kmol of fuel is: ",
- "-221235.72"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "nCH4 = 1.00 # moles of methane in kmol",
- "nO2 = 2.00 # moles of oxygen in kmol",
- "T1 = 25.00 # in degree celcius",
- "p1 = 1.00 # in atm",
- "T2 = 900.00 # in kelvin",
- "Rbar = 8.314 # universal gas constant",
- "",
- "hfbarCO2 = -393520",
- "hfbarH2O = -241820",
- "hfbarCH4 = -74850",
- "deltahbarCO2 = 37405-9364",
- "deltahbarH2O = 31828-9904",
- "Q = ((hfbarCO2 + deltahbarCO2)+2*(hfbarH2O + deltahbarH2O) - hfbarCH4) + 3*Rbar*(T1+273-T2)",
- "print '-> The amount of heat transfer in kJ is: '",
- "print round(Q,2)",
- "",
- "p2 = p1*(T2/(T1+273)) # in atm",
- "print '-> The final pressure in atm is: '",
- "print round(p2,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The amount of heat transfer in kJ is: ",
- "-745436.08",
- "-> The final pressure in atm is: ",
- "3.02"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "hfbarCO2 = -393520 # in kj/kmol",
- "hfbarH2O = -285830 # in kj/kmol",
- "hfbarCH4 = -74850 # in kj/kmol",
- "M = 16.04 # molar mass of CH4 in kg/kmol",
- "hRPbar = hfbarCO2 + 2*hfbarH2O - hfbarCH4 # in kj/kmol",
- "hRP = hRPbar/M # in kj/kg",
- "print '-> Part(a)the enthalpy of combustion of gaseous methane, fuel is: ',hRP,'kJ/kg.'",
- "",
- "hfbarCO2 = -393520 # in kj/kmol",
- "hfbarH2O = -241820 # in kj/kmol",
- "hfbarCH4 = -74850 # in kj/kmol",
- "hRPbar = hfbarCO2 + 2*hfbarH2O - hfbarCH4 # in kj/kmol",
- "hRP = hRPbar/M # in kj/kg",
- "print '-> Part(b)the enthalpy of combustion of gaseous methane, fuel is: ',hRP,'kJ/kg'",
- "",
- "deltahbarO2 = 31389-8682 # in kj/kmol",
- "deltahbarH2O = 35882-9904 # in kj/kmol",
- "deltahbarCO2 = 42769-9364 # in kj/kmol",
- "",
- "T=298 # in kelvin",
- "from scipy import integrate",
- "cpbar = lambda T: (3.826 - (3.979e-3)*T + 24.558e-6*T**2 - 22.733e-9*T**3 + 6.963e-12*T**4)*8.314",
- "deltahbarCH4 = integrate.quad(cpbar,298,1000)",
- "var = deltahbarCH4[0]",
- "",
- "hRPbar = hRPbar + (deltahbarCO2 + 2*deltahbarH2O - var -2*deltahbarO2)",
- "hRP = hRPbar/M # in kj/kg",
- "print '-> Part(c)the enthalpy of combustion of gaseous methane, per kg of fuel is ',hRP,'kJ/kg'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Part(a)the enthalpy of combustion of gaseous methane, fuel is: -55506.8578554 kJ/kg.",
- "-> Part(b)the enthalpy of combustion of gaseous methane, fuel is: -50019.3266833 kJ/kg",
- "-> Part(c)the enthalpy of combustion of gaseous methane, per kg of fuel is -49909.7030379 kJ/kg"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "hfbarC8H18 = -249910.0 # in kj/kmol",
- "hfbarCO2 = -393520.0",
- "hfbarH2O = -241820.0",
- "",
- "RHS = hfbarC8H18 -(8*hfbarCO2 + 9*hfbarH2O) # in kj/kmol",
- "LHS1 = 5089337.0 # in kj/kmol",
- "LHS2 = 4955163.0 # in kj/kmol",
- "Tp = 2400.00 + ((2400.0-2350.0)/(LHS1-LHS2))*(RHS-LHS1)",
- "print '-> The temperature in kelvin with theoretical amount of air is: '",
- "print round(Tp,2)",
- "",
- "",
- "Tp = 962 # in kelvin",
- "",
- "print '-> The temperature in kelvin using 400 percent theoretical air is: '",
- "print round(Tp,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The temperature in kelvin with theoretical amount of air is: ",
- "2394.52",
- "-> The temperature in kelvin using 400 percent theoretical air is: ",
- "962.0"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "Tp = 2395 # in kelvin, from example 13.8",
- "",
- "sFbar = 360.79 # absolute entropy of liquid octane in kj/kmol.K",
- "",
- "sbarO2atTref = 205.03 # in kj/kmol.K",
- "sbarN2atTref = 191.5 # in kj/kmol.K",
- "Rbar = 8.314 # universal gas constant in SI units",
- "yO2 = 0.21",
- "yN2 = 0.79",
- "yCO2 = 8.0/64.0",
- "yH2O = 9.0/64.0",
- "yN2p = 47.0/64.0",
- "",
- "sbarO2 = sbarO2atTref - Rbar*math.log(yO2) # in kj/kmol.K",
- "sbarN2 = sbarN2atTref - Rbar*math.log(yN2) # in kj/kmol.K",
- "sbarCO2 = 320.173 - Rbar*math.log(yCO2)",
- "sbarH2O = 273.986 - Rbar*math.log(yH2O)",
- "sbarN2p = 258.503 - Rbar*math.log(yN2p)",
- "sigmadot = (8*sbarCO2 + 9*sbarH2O + 47*sbarN2p) - sFbar - (12.5*sbarO2 + 47*sbarN2)",
- "",
- "print '-> The rate of entropy production, in kJ/K per kmol of fuel with theoretical amount of air is: '",
- "print round(sigmadot,2)",
- "",
- "",
- "yCO2 = 8.0/242.5",
- "yH2O = 9.0/242.5",
- "yO2 = 37.5/242.5",
- "yN2p = 188.0/242.5",
- "sbarCO2 = 267.12 - Rbar*math.log(yCO2)",
- "sbarH2O = 231.01 - Rbar*math.log(yH2O)",
- "sbarO2p = 242.12 - Rbar*math.log(yO2)",
- "sbarN2p = 226.795 - Rbar*math.log(yN2p)",
- "sigmadot = (8.0*sbarCO2 + 9.0*sbarH2O + 37.5*sbarO2p +188.0*sbarN2p) -sFbar - (50.0*sbarO2 + 188.0*sbarN2)",
- "",
- "print '-> The rate of entropy production, in kJ/K per kmol of fuel with 400 percent theoretical air is: '",
- "print round(sigmadot,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The rate of entropy production, in kJ/K per kmol of fuel with theoretical amount of air is: ",
- "5404.17",
- "-> The rate of entropy production, in kJ/K per kmol of fuel with 400 percent theoretical air is: ",
- "9754.75"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "Rbar = 8.314 # universal gas constant in SI units",
- "yCH4 = 1.0/3.0",
- "yO2 = 2.0/3.0",
- "yCO2 = 1.0/3.0",
- "yH2O = 2.0/3.0",
- "sbarCH4atTref = 186.16 # in kj/kmol.K",
- "sbarO2atTref = 205.03 # in kj/kmol.K",
- "p2 = 3.02 # in atm",
- "pref = 1.0 # in atm",
- "",
- "sbarCH4 = sbarCH4atTref - Rbar*math.log(yCH4)",
- "sbarO2 = sbarO2atTref - Rbar*math.log(yO2)",
- "sbarCO2 = 263.559 - Rbar*math.log(yCO2*p2/pref) # in kj/kmol.K",
- "sbarH2O = 228.321 - Rbar*math.log(yH2O*p2/pref) # in kj/kmol.K",
- "deltaS = sbarCO2 + 2*sbarH2O - sbarCH4 -2*sbarO2 # in kj/K",
- "",
- "print '-> The change in entropy of the system is: ',round(deltaS,2),'kJ/K'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The change in entropy of the system is: 96.41 kJ/K"
- ]
- }
- ],
- "prompt_number": 27
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "hCbar = 0",
- "hH2bar = 0",
- "gRbar = 0",
- "hfbarCH4 = -74850",
- "sbarCH4 = 186.16",
- "sbarC = 5.74",
- "sbarH2 = 130.57",
- "Tref = 298.15 # in kelvin",
- "",
- "gfbarCH4 = hfbarCH4 -Tref*(sbarCH4-sbarC-2*sbarH2) # in kj/kmol",
- "",
- "print '-> The gibbs function of formation of methane at the standard state is: ',gfbarCH4,'kJ/mol'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The gibbs function of formation of methane at the standard state is: -50783.332 kJ/mol"
- ]
- }
- ],
- "prompt_number": 28
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "Rbar = 8.314 # universal gas constant in SI units",
- "Tnot = 298.15 # in kelvin",
- "gbarC8H18 = 6610.0",
- "gbarO2 = 0",
- "gbarCO2 = -394380",
- "gbarH2O = -228590",
- "yO2 = 0.2035",
- "yCO2 = 0.0003",
- "yH2O = 0.0312",
- "M = 114.22 # molecular weight of liquid octane",
- "",
- "ech = ((gbarC8H18 + 12.5*gbarO2 -8*gbarCO2 -9*gbarH2O) + Rbar*Tnot*math.log(yO2**12.5/(yCO2**8*yH2O**9 )))/M",
- "print '-> Part(a) the chemical exergy obtained on a unit mass basis is: ',round(ech,2),'kJ/K'",
- "",
- "gbarH2O = -237180.0",
- "ebarCO2 = 19870.0",
- "ebarH2O = 900.0",
- "ebarO2 = 3970.0",
- "",
- "ech = ((gbarC8H18 + 12.5*gbarO2 -8*gbarCO2 - 9*gbarH2O) + 8*ebarCO2 + 9*ebarH2O - 12.5*ebarO2)/M",
- "print '-> Part(b) chemical exergy on a unit mass basis is:',round(ech,3),'kJ/K'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Part(a) the chemical exergy obtained on a unit mass basis is: 47345.85 kJ/K",
- "-> Part(b) chemical exergy on a unit mass basis is: 47397.172 kJ/K"
- ]
- }
- ],
- "prompt_number": 29
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "import math",
- "Rbar = 8.314 # universal gas constant in SI units",
- "Tnot = 298.0 # in kelvin",
- "h = 2939.9 # in kj/kg",
- "hnot = 104.9 # in kj/kg",
- "s = 7.2307 # in kj/kg",
- "snot = 0.3674 # in kj/kg",
- "gbarH2Oliq = -237180.0",
- "gbarH2Ogas = -228590.0",
- "yeH2O = 0.0303",
- "M =18.0 # molar mass of steam",
- "",
- "ech = (1.0/M)*(gbarH2Oliq-gbarH2Ogas + Rbar*Tnot*math.log(1/yeH2O)) # in kj/kg",
- "ef = h-hnot-Tnot*(s-snot) + ech # in kj/kg",
- "",
- "print '-> The flow exergy of the steam, in kJ/k is: '",
- "print round(ef,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The flow exergy of the steam, in kJ/k is: ",
- "793.8"
- ]
- }
- ],
- "prompt_number": 30
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "yCO2p = 1.0/(1.0+2.0+10.53+.8)",
- "yH2Op = 2.0/(1.0+2.0+10.53+.8)",
- "yN2p = 10.53/(1.0+2.0+10.53+.8)",
- "yO2p = 0.8/(1.0+2.0+10.53+.8)",
- "",
- "Rbar = 8.314 # universal gas constant in SI units",
- "Tnot = 298.15 # in kelvin",
- "",
- "yeN2 = 0.7567",
- "yeO2 = 0.2035",
- "yeH2O = 0.0303",
- "yeCO2 = 0.0003",
- "",
- "import math",
- "ebarch = Rbar*Tnot*(math.log(yCO2p/yeCO2) + 2*math.log(yH2Op/yeH2O) + 10.53*math.log(yN2p/yeN2) + .8*math.log(yO2p/yeO2))",
- "",
- "contri480 = 17712.0 # kJ per kmol of fuel",
- "contri1560 = 390853.0 # kJ per kmol of fuel",
- "efbar480 = contri480 + ebarch # kJ per kmol of fuel",
- "efbar1560 = contri1560 + ebarch # kJ per kmol of fuel",
- "",
- "print '-> At T= 480k, the flow exergy of the combustion products, in kJ per kmol of fuel is: '",
- "print round(efbar480,2)",
- "print '-> At T = 1560K, the flow exergy of the combustion products, in kJ per kmol of fuel is: '",
- "print round(efbar1560,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> At T= 480k, the flow exergy of the combustion products, in kJ per kmol of fuel is: ",
- "35461.61",
- "-> At T = 1560K, the flow exergy of the combustion products, in kJ per kmol of fuel is: ",
- "408602.61"
- ]
- }
- ],
- "prompt_number": 31
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "mFdot = 1.8e-3 # fuel mass flow rate in kg/s",
- "ech = 47346.0 # in kj/kg, from example 13.12(a)",
- "Wcvdot = 37.0 # power developed by the engine in kw",
- "",
- "Efdot = mFdot*ech # rate at which exergy enters with the fuel in kw",
- "epsilon = Wcvdot/Efdot # exergetic efficiency",
- "",
- "print '-> The exergetic efficiency is: '",
- "print round(epsilon,3)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The exergetic efficiency is: ",
- "0.434"
- ]
- }
- ],
- "prompt_number": 32
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Tnot = 298 # in kelvin",
- "",
- "sigmadot = 5404.0 # rate of entropy production from example 13.9, in kj/kmol.K",
- "Efdot = 5407843.0 # rate at which exergy enters with the fuel from example 13.12, in kj/kmol",
- "Eddot = Tnot*sigmadot # in kj/kmol",
- "epsilon = 1-Eddot/Efdot",
- "print '-> The exergetic efficiency with theoretical amount of air is: '",
- "print round(epsilon,3)",
- "",
- "sigmadot = 9754.0 # rate of entropy production from example 13.9, in kj/kmol.K",
- "Eddot = Tnot*sigmadot # in kj/kmol",
- "epsilon = 1-Eddot/Efdot",
- "print 'The exergetic efficiency with 400 percent theoretical amount of air is: '",
- "print round(epsilon,3)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The exergetic efficiency with theoretical amount of air is: ",
- "0.702",
- "The exergetic efficiency with 400 percent theoretical amount of air is: ",
- "0.463"
- ]
- }
- ],
- "prompt_number": 33
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14_2.ipynb
deleted file mode 100644
index 6a3dc148..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_14_2.ipynb
+++ /dev/null
@@ -1,391 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 14"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T = 298.0 # in kelvin",
- "Rbar = 8.314 # universal gas constant in SI units",
- "",
- "hfbarCO2 = -393520.0 # in kj/kmol",
- "hfbarCO = -110530.0 # in kj/kmol",
- "hfbarO2 = 0 # in kj/kmol",
- "deltahbarCO2 = 0 # in kj/kmol",
- "deltahbarCO = 0 # in kj/kmol",
- "deltahbarO2 = 0 # in kj/kmol",
- "sbarCO2 = 213.69 # in kj/kmol.K",
- "sbarCO = 197.54 # in kj/kmol.K",
- "sbarO2 = 205.03 # in kj/kmol.K",
- "logKtable = 45.066",
- "import math",
- "deltaG = (hfbarCO2-hfbarCO-.5*hfbarO2) + (deltahbarCO2-deltahbarCO-.5*deltahbarO2) - T*(sbarCO2-sbarCO-.5*sbarO2)",
- "lnK = -deltaG/(Rbar*T)",
- "logK = (1/math.log(10))*lnK",
- "print '-> Part(a) the value of equilibrium constant expressed as log10K is: '",
- "print logK",
- "print '-> The value of equilibrium constant expressed as log10K from table A-27 is: '",
- "print logKtable",
- "",
- "T = 2000.0 # in kelvin",
- "hfbarCO2 = -393520.0 # in kj/kmol",
- "hfbarCO = -110530.0 # in kj/kmol",
- "hfbarO2 = 0 # in kj/kmol",
- "deltahbarCO2 = 100804-9364 # in kj/kmol",
- "deltahbarCO = 65408 - 8669 # in kj/kmol",
- "deltahbarO2 = 67881 - 8682 # in kj/kmol",
- "sbarCO2 = 309.210 # in kj/kmol.K",
- "sbarCO = 258.6 # in kj/kmol.K",
- "sbarO2 = 268.655 # in kj/kmol.K",
- "deltaG = (hfbarCO2-hfbarCO-.5*hfbarO2) + (deltahbarCO2-deltahbarCO-.5*deltahbarO2) - T*(sbarCO2-sbarCO-.5*sbarO2)",
- "lnK = -deltaG/(Rbar*T)",
- "logK = (1/math.log(10))*lnK",
- "logKtable = 2.884",
- "print '-> Part(b) the value of equilibrium constant expressed as log10K is: '",
- "print logK",
- "print '-> The value of equilibrium constant expressed as log10K from table A-27 is: '",
- "print logKtable"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Part(a) the value of equilibrium constant expressed as log10K is: ",
- "45.094010685",
- "-> The value of equilibrium constant expressed as log10K from table A-27 is: ",
- "45.066",
- "-> Part(b) the value of equilibrium constant expressed as log10K is: ",
- "2.88485359375",
- "-> The value of equilibrium constant expressed as log10K from table A-27 is: ",
- "2.884"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "log10K = -1.44",
- "p = 1.0 # in atm",
- "import math",
- "K = (10.0)**(log10K) # equilibrium constant",
- "z = 0.129",
- "yCO = 2.0*z/(2.0 + z)",
- "yO2 = z/(2.0 + z)",
- "yCO2 = 2.0*(1.0 - z)/(2.0 + z)",
- "",
- "print '-> Part(a) mole fraction of CO is: ',round(yCO,3)",
- "print '-> Mole fraction of O2 is: ',round(yO2,3)",
- "print '-> Mole fraction of CO2 is: ',round(yCO2,3)",
- "",
- "p = 10.0 # in atm",
- "z = 0.062",
- "yCO = 2.0*z/(2.0 + z)",
- "yO2 = z/(2.0 + z)",
- "yCO2 = 2.0*(1.0 - z)/(2.0 + z)",
- "",
- "print '-> Part(b) mole fraction of CO is: ',round(yCO,3)",
- "print '-> Mole fraction of O2 is: ',round(yO2,3)",
- "print '-> Mole fraction of CO2 is: ',round(yCO2,3)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Part(a) mole fraction of CO is: 0.121",
- "-> Mole fraction of O2 is: 0.061",
- "-> Mole fraction of CO2 is: 0.818",
- "-> Part(b) mole fraction of CO is: 0.06",
- "-> Mole fraction of O2 is: 0.03",
- "-> Mole fraction of CO2 is: 0.91"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "yCO = 0.298",
- "p = 1 # in atm",
- "pref = 1 # in atm",
- "T = 2881",
- "",
- "z = 2*yCO/(2 - yCO)",
- "K = (z/(1-z))*(z/(2 + z))**.5*(p/pref)**.5",
- "",
- "print '-> The temperature T of the mixture in kelvin is: ',T"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The temperature T of the mixture in kelvin is: 2881"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "K = 0.0363 # equilibrium constant the solution to Example 14.2",
- "p =1.0 # in atm",
- "pref = 1.0 # in atm",
- "",
- "z = 0.175",
- "yCO = 2.0*z/(5.76 + z)",
- "yO2 = z/(5.76 + z)",
- "yCO2 = 2.0*(1.0-z)/(5.76 + z)",
- "yN2 = 3.76/(5.76 + z)",
- "",
- "print '-> The mole fraction of CO is: ',round(yCO,3)",
- "print '-> The mole fraction of O2 is: ',round(yO2,3)",
- "print '-> The mole fraction of CO2 is: ',round(yCO2,3)",
- "print '-> The mole fraction of N2 is: ',round(yN2,3)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The mole fraction of CO is: 0.059",
- "-> The mole fraction of O2 is: 0.029",
- "-> The mole fraction of CO2 is: 0.278",
- "-> The mole fraction of N2 is: 0.634"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "p = 1.0 # in atm",
- "pref = 1.0 # in atm",
- "log10k = -.189",
- "z = 0.422",
- "",
- "k = 10**log10k",
- "hfbarCO2 = -393520.0 # in kj/kmol",
- "deltahbarCO2 = 174695-9364 # in kj/kmol",
- "hfbarCO = -110530.0 # in kj/kmol",
- "deltahbarCO = 109667-8669 # in kj/kmol",
- "hfbarO2 = 0 # in kj/kmol",
- "deltahbarO2 = 114809-8682 # in kj/kmol",
- "hfbarCO2r = -393520.0 # in kj/kmol",
- "deltahbarCO2r = 0 # in kj/kmol",
- "",
- "Qcvdot = 0.422*(hfbarCO2 + deltahbarCO2) + 0.578*(hfbarCO + deltahbarCO) + 0.289*(hfbarO2 + deltahbarO2)- (hfbarCO2r + deltahbarCO2r) ",
- "",
- "print '-> The heat transfer to the reactor, in kJ per kmol of CO2 entering is: '",
- "print Qcvdot"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The heat transfer to the reactor, in kJ per kmol of CO2 entering is: ",
- "322385.449"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "K = 15.63",
- "z = 0.95",
- "pref =1 # in atm",
- "p = pref*K*((1-z**2)/z**2)",
- "",
- "print '-> The pressure if the ionization of CS is 95 percent complete is: ',p,'atm'",
- "",
- "x = []",
- "y = []",
- "from numpy import linspace ",
- "from pylab import plot, show ",
- "x = linspace(0,10,100)",
- "for i in range(0,100):",
- " y.append(i)",
- " y[i]= 100*((1/(1+x[i]/K))**0.5)",
- "",
- "plot(x,y)",
- "xlabel(\"Pressure (atm)\")",
- "ylabel(\"Ionization\")",
- "show()"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The pressure if the ionization of CS is 95 percent complete is: 1.68855955679 atm"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\ngg==\n"
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "log10K1 = -0.485 # equilibrium constant of the reaction CO2 <--> CO + .5O2",
- "log10K2 = -0.913 # equilibrium constant of the reaction .5O2 + .5N2 <-->NO",
- "a = 0.3745",
- "b = 0.0675",
- "",
- "K1 = 10**log10K1",
- "K2 = 10**log10K2",
- "",
- "print '-> The composition of the equilibrium mixture, in kmol per kmol of CO2 present initially, is then 0.3745CO, 0.0675NO, 0.6255CO2, 0.6535O2, 0.4663N2.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The composition of the equilibrium mixture, in kmol per kmol of CO2 present initially, is then 0.3745CO, 0.0675NO, 0.6255CO2, 0.6535O2, 0.4663N2."
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "vf = 1.0018e-3 # in m^3/kg",
- "psat = 0.0239 # in bar",
- "p = 1.0 # in bar",
- "T = 293.15 # in kelvin",
- "Rbar = 8.314 # universal gas constant in SI units",
- "M = 18.02 # molat mass of water in kg/kmol",
- "e=2.715",
- "",
- "pvbypsat = e**(vf*(p-psat)*10**5/((1000*Rbar/M)*T))",
- "percent = (pvbypsat-1)*100",
- "",
- "print '-> The departure, in percent, of the partial pressure of the water vapor from the saturation pressure of water at 20\u0004 is: ',round(percent,3)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The departure, in percent, of the partial pressure of the water vapor from the saturation pressure of water at 20\u0004 is: 0.072"
- ]
- }
- ],
- "prompt_number": 18
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_1_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_1_2.ipynb
deleted file mode 100644
index 637abb12..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_1_2.ipynb
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 1"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": true,
- "input": [
- ],
- "language": "python",
- "outputs": []
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2_2.ipynb
deleted file mode 100644
index c1162732..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_2_2.ipynb
+++ /dev/null
@@ -1,327 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 2"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1 = 3*(10**5) # initial pressure of gas in pascal",
- "v1 = 0.1 # initial volumme of gas in meter^3",
- "v2 = 0.2 # final volume of gas in meter^3",
- "",
- "from scipy import integrate",
- "import math",
- "constant1 = p1*(v1**1.5) ",
- "constant2 = p1*(v1**1) ",
- "constant3 = p1*(v1**0) ",
- "p1 = lambda v: constant1/(v**1.5) # expressing pressure as function of volume ",
- "p2 = lambda v: constant2/(v**1)",
- "p3 = lambda v: constant3/(v**0)",
- "work1 = integrate.quad(p1,v1,v2) # integrating pdv from initial to final volume ",
- "w1 = work1[0]/1000 # divided by 1000 to convert to KJ",
- "print 'The work done for n=1.5 in KJ is',round(w1,2)",
- "",
- "work2 = integrate.quad(p2,v1,v2)",
- "w2 = work2[0]/1000",
- "print 'The work done for n=1 in KJ is',round(w2,2)",
- "",
- "work3 = integrate.quad(p3,v1,v2)",
- "w3 = work3[0]/1000",
- "print 'The work done for n=0 in KJ is',round(w3,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The work done for n=1.5 in KJ is 17.57",
- "The work done for n=1 in KJ is 20.79",
- "The work done for n=0 in KJ is 30.0"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1 = 3*(10**5) # initial pressure in pascal",
- "v1 = 0.1 # initial volume in m3",
- "v2 = 0.2 # initial volume in m3",
- "m = 4.0 # mass of the gas in kg",
- "deltau = -4.6 # change in specific internal energy in KJ/Kg",
- "",
- "from scipy import integrate",
- "import math",
- "constant = p1*(v1**1.5) # p*(v^n) = constant",
- "",
- "p = lambda v: constant/(v**1.5) # expressing pressure as function of volume ",
- "",
- "work = integrate.quad(p,v1,v2) # integrating pdv from initial to final volume ",
- "w=work[0]/1000 # divided by 1000 to convert to KJ",
- "",
- "deltaU = m*deltau # change in internal energy in KJ",
- "Q = deltaU + w # neglecting kinetic and potential energy changes",
- "",
- "print 'net heat transfer for the process in KJ',round(Q,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "net heat transfer for the process in KJ -0.83"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "patm = 10**5 # atmospheric pressure in pascal.",
- "mp = 45.0 # mass of piston in Kg",
- "A = 0.09 # face area of piston in m2",
- "deltaV = 0.045 # increment of the volume of air in m3",
- "m = 0.27 # mass of air in kg",
- "deltau = 42.0 # specific internal energy increase of air in kJ/kg",
- "g = 9.81 # local acceleration of gravity",
- "",
- "",
- "p = (mp*g)/A + patm # constant pressure of air obtained from equilibrium of piston",
- "w = (p*deltaV)/1000 # work done in KJ",
- "deltaU = m*deltau # internal energy change of air in KJ",
- "Q = w + deltaU # applying first with air as system",
- "print 'The answer given in book is incorrect.They have miscalculated deltaU.The correct heat transfer from resistor to air in KJ for air alone as system is: '",
- "print round(Q,2)",
- "",
- "",
- "wd = (patm*deltaV)/1000 # work done in KJ",
- "deltaz = (deltaV)/A # change in elevation of piston",
- "deltaPE = (mp*g*deltaz)/1000 # change in potential energy of piston in KJ",
- "Qt = wd + deltaPE + deltaU # applying first law with air plus piston as system ",
- "print 'The answer given in book is incorrect.They have miscalculated deltaU.The correct heat transfer from resistor to air in KJ for air + piston as system is:'",
- "print round(Qt,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The answer given in book is incorrect.They have miscalculated deltaU.The correct heat transfer from resistor to air in KJ for air alone as system is: ",
- "16.06",
- "The answer given in book is incorrect.They have miscalculated deltaU.The correct heat transfer from resistor to air in KJ for air + piston as system is:",
- "16.06"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "w1dot = -60.0 # input work rate in KW",
- "h = 0.171 # heat transfer coefficient,unit in KW/m2 .K",
- "A = 1.0 # outer surface area of gearbox, unit in m2",
- "Tb = 300.0 # outer surface temperature in kelvin",
- "Tf = 293.0 # temperature of the sorrounding",
- "",
- "Qdot = -h*A*(Tb-Tf); # rate of energy transfer by heat",
- "wdot = Qdot; # steady state energy equation",
- "w2dot = wdot-w1dot;",
- "",
- "print 'The heat transfer rate in KW is:\\n\\tQdot = ',Qdot",
- "print 'The power delivered through output shaft in KW is: = ',w2dot"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate in KW is:",
- "\tQdot = -1.197",
- "The power delivered through output shaft in KW is: = 58.803"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "s=5*(10**-3) # measurement on a side in meter",
- "wdot = -0.225 # power input in watt",
- "Tf = 293.0 # coolant temprature in kelvin",
- "h = 150.0 # heat transfer coefficient in w/m2 k",
- "A = s**2 # surface area",
- "",
- "Tb = ((-wdot/(h*A)) + Tf - 273) # surface temperature in degree",
- "",
- "print 'The surface temperature of the chip in degree celcius is: ',Tb"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The surface temperature of the chip in degree celcius is: 80.0"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "omega = 100.0 #motor rotation speed in rad/s",
- "tau = 18.0 #torque applied by shaft in N.m",
- "Welecdot = -2.0 #electric power input in KW",
- "",
- "Wshaftdot = (tau*omega)/1000 #shaft work rate in KW",
- "Wdot = Welecdot + Wshaftdot #net work rate in KW",
- "",
- "",
- "",
- "",
- "from sympy import *",
- "x = symbols('x') # a = 0.2 b = 0.05",
- "f = (0.2)*(1-2**(0.05*(x))) - Wdot",
- "f2 = integrate(f,x)",
- "print f2 ",
- "",
- "Qd = []",
- "Wd = []",
- "dltaE = []",
- "from numpy import linspace ",
- "from pylab import plot, show ",
- "t = linspace(0,120,100);",
- "for i in range(0,100):",
- " Qd.append(i)",
- " Wd.append(i)",
- " dltaE.append(i)",
- " Qd[i] = (-0.2*(1-2**(-0.05*(120/99)*(i-1)))) ",
- " Wd[i] = Wdot",
- " dltaE[i] = -4.0*2**(0.05* (120/99)*(i-1))/log(2) + 0.4* (120/99)*(i-1)",
- " ",
- "plot(t,Qd)",
- "xlabel(\"Time (s)\")",
- "ylabel(\"Qdot (KW)\")",
- "show()",
- "plot(t,Wd)",
- "xlabel(\"Time (s)\")",
- "ylabel(\"Wdot (KW)\")",
- "show()",
- "plot(t,dltaE)",
- "xlabel(\"Time (s)\")",
- "ylabel(\"deltaE (KJ)\")",
- "show()",
- "",
- "",
- "",
- "",
- " "
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-4.0*2**(0.05*x)/log(2) + 0.4*x"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\nwIHEx8dfck7dunWZO3cu+/fvZ/v27bz55pscOnSowp8XERHPsyVUEhISiIuLAyAuLo6VK1deck6r\nVq0IDw9va+WxAAAI/0lEQVQHoHHjxnTp0oVjx45V+PMiIuJ5tkzUN23alJMnTwJgWRbNmjUrfV2e\njIwMBgwYwP79+2ncuHGFPu/Qk35ERCqlKrFQx4V1lBEdHU1OTs4l78+cObPMa4fDcdkAOH36NCNH\njuS1116jcePGl/zc2ed155eIiOe5LVTWr1/v9Gf+/v7k5OTQqlUrsrOzadmyZbnnnT17lnvuuYfx\n48czfPjwq/68iIh4li1zKrGxsSxatAiARYsWlQmMEpZlMXnyZLp27cqjjz561Z8XERHPs2VOJT8/\nn1GjRnHkyBGCgoJYunQpfn5+ZGVlMWXKFNasWcOWLVvo378/YWFhpcNbs2fP5vbbb3f6eRERsZnl\ngz799FOrU6dOVkhIiBUfH293OVV25MgRKyoqyuratavVrVs367XXXrMsy7Ly8vKsQYMGWaGhoVZ0\ndLR18uRJmyutvKKiIis8PNwaNmyYZVm+1baTJ09a99xzj9W5c2erS5cu1vbt232qfbNmzbK6du1q\nde/e3RozZox15swZr27fpEmTrJYtW1rdu3cvfe9y7Zk1a5YVEhJiderUyfr73/9uR8lXpbz2PfHE\nE1bnzp2tsLAwa8SIEVZBQUHpz662fT4XKkVFRVaHDh2s9PR0q7Cw0OrZs6d14MABu8uqkuzsbCsl\nJcWyLMs6deqU1bFjR+vAgQPWk08+ac2ZM8eyLMuKj4+3nnrqKTvLrJJXXnnFGjt2rBUTE2NZluVT\nbZs4caL17rvvWpZlWWfPnrUKCgp8pn3p6elWcHCwdebMGcuyLGvUqFHWwoULvbp9mzZtsvbs2VPm\nl66z9uzfv9/q2bOnVVhYaKWnp1sdOnSwiouLbam7ospr37p160rrfuqpp6rUPp8Lla1bt1pDhgwp\nfT179mxr9uzZNlbkenfddZe1fv16q1OnTlZOTo5lWSZ4OnXqZHNllZOZmWkNHDjQ2rBhQ2lPxVfa\nVlBQYAUHB1/yvq+0Ly8vz+rYsaOVn59vnT171ho2bJi1bt06r29fenp6mV+6ztoza9asMqMhQ4YM\nsbZt2+bZYivh4vZdaPny5da4ceMsy6pc+3xu769jx47Rtm3b0teBgYGliyZ9QUZGBikpKfTt25fc\n3Fz8/f0Bc0dcbm6uzdVVzmOPPcbLL79MrVrn/3f0lbalp6fTokULJk2aRK9evZgyZQrff/+9z7Sv\nWbNmPP7447Rr1442bdrg5+dHdHS0z7SvhLP2ZGVlERgYWHqeL/y+WbBgAUOHDgUq1z6fCxVfXvR4\n+vRp7rnnHl577TWaNGlS5mdXWu9TXa1evZqWLVsSERHhdG2Rt7YNoKioiD179vDwww+zZ88eGjVq\ndMm2Qt7cvq+//po//vGPZGRkkJWVxenTp3n//ffLnOPN7SvPldrjzW2dOXMm9erVY+zYsU7PuVL7\nfC5UAgICyMzMLH2dmZlZJmm9VcmanQkTJpTeQl2yXgfw2vU6W7duJSEhgeDgYMaMGcOGDRuYMGGC\nT7QNzL/sAgMD6d27NwAjR45kz549tGrVyifat3v3bm666Sauu+466tSpw9133822bdt8pn0lnP3/\nePHvm6NHjxIQEGBLjVW1cOFC1q5dywcffFD6XmXa53OhEhkZSVpaGhkZGRQWFrJkyRJiY2PtLqtK\nLCdrdnxhvc6sWbPIzMwkPT2djz/+mNtuu4333nvPJ9oGZg+7tm3bkpqaCsBnn31Gt27diImJ8Yn2\nde7cme3bt/Pjjz9iWRafffYZXbt29Zn2lXD2/2NsbCwff/wxhYWFpKenk5aWRp8+fewstVISExN5\n+eWXWbVqFQ0aNCh9v1Ltc9G8T7Wydu1aq2PHjlaHDh2sWbNm2V1OlW3evNlyOBxWz549rfDwcCs8\nPNz69NNPrby8PGvgwIFeedtmeZKSkkrv/vKltu3du9eKjIwsc7umL7Vvzpw5pbcUT5w40SosLPTq\n9o0ePdpq3bq1VbduXSswMNBasGDBZdszc+ZMq0OHDlanTp2sxMREGyuvmIvb9+6771ohISFWu3bt\nSn+/PPTQQ6XnX237fPbJjyIi4nk+N/wlIiL2UaiIiIjLKFRERMRlFCoiIuIyChWRCsjLyyMiIoKI\niAhat25NYGAgERERNGnShKlTp7rlmm+88QYLFy50+vOEhAReeuklt1xbpLJ095fIVXrhhRdo0qQJ\n06dPd9s1LMuiV69e7Nq1izp1yn+WnmVZREREsGvXLurWreu2WkSuhnoqIpVQ8m+xpKQkYmJiAJgx\nYwZxcXH079+foKAgli9fzhNPPEFYWBh33HEHRUVFACQnJxMVFUVkZCS33357uY/d/uKLL+jcuXNp\noMybN49u3brRs2dPxowZA5jtMm688UbWrVvniSaLVIhCRcSF0tPT+fzzz0lISGD8+PFER0ezb98+\nGjZsyJo1azh79iy/+tWvWLZsGbt372bSpEn89re/veR7tmzZQmRkZOnrOXPmsHfvXv75z38yf/78\n0vf79OnDpk2bPNI2kYpw2zPqRWoah8PBHXfcQe3atenevTvnzp1jyJAhAPTo0YOMjAxSU1PZv38/\ngwYNAqC4uJg2bdpc8l1Hjhzh5ptvLn0dFhbG2LFjGT58eJktT9q0aUNiYqKbWyZScQoVEReqV68e\nALVq1Sozz1GrVi2KioqwLItu3bqxdevWK37XhdOda9asYdOmTfztb39j5syZfPXVV9SqVYtz5855\n9a644ns0/CXiIhW556VTp06cOHGC7du3A2b36QMHDlxyXvv27UvnWizL4siRI0RFRREfH8+3337L\n6dOnAbNjbvv27V3YCpGqUaiIVEJJ7+DCZ2tc/JyNi3sQDoeDunXr8sknn/DUU08RHh5OREQE27Zt\nu+T7b775Znbv3g2YZ7JMmDCBsLAwevXqxSOPPMK1114LwM6dO+nfv79b2ihSGbqlWKQaKrmleMeO\nHaVDahc7d+4cvXr1Yvfu3U5vOxbxNPVURKohh8PBlClTyjww6WKrV69m5MiRChSpVtRTERERl1FP\nRUREXEahIiIiLqNQERERl1GoiIiIyyhURETEZRQqIiLiMv8fGRx8Be2i9aQAAAAASUVORK5CYII=\n"
- },
- {
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAZwAAAEMCAYAAADwJwB6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH3VJREFUeJzt3X9QVXX+x/HXJaF1En/VelHQNBUQFL2sP/FHFF5/ZCKm\nY2kWmdmUU63tljrTTpmp4Drl6qZN22YytZs/8hdqqbSKP0L8kaQtlFDCivIjFTF1M1Q+3z9a7zeC\nqyKXcwOfj5kzwznnc875vBvnvDrnfM65NmOMEQAAtczH2x0AANwcCBwAgCUIHACAJQgcAIAlCBwA\ngCUIHACAJbwSOCUlJXI6nQoODtagQYNUWlpaZbvHH39cdrtdXbp0qbB879696tmzpxwOh3r06KF9\n+/ZJkvLy8tSwYUM5HA45HA5Nnjy51msBAFwfrwROYmKinE6nsrOzFRMTo8TExCrbTZgwQZs2baq0\nfOrUqXrttdeUkZGhmTNnaurUqa51HTp0UEZGhjIyMrR48eJaqwEAUD1eCZzk5GTFx8dLkuLj47V2\n7doq2/Xv31/NmjWrtLxly5Y6c+aMJKm0tFSBgYG111kAgGcYL2jatKnr7/Ly8grzv5Sbm2s6d+5c\nYVleXp4JCgoyrVu3NoGBgebo0aOutrfddpvp1q2bufvuu83OnTsr7U8SExMTE9MNTDVVa4EzcOBA\n07lz50rTunXrKgVMs2bN3O6nqsCJiYkxq1evNsYYs2LFCjNw4EBjjDE//vijKSkpMcYY8/nnn5vW\nrVub77//vsK2nviP9mv2yiuveLsLtYr66rb6XF99rs0Yz5w7G6iWpKSkuF1nt9tVVFSkgIAAFRYW\nqkWLFtXa9969e/Xpp59KkkaPHq0nnnhCkuTn5yc/Pz9JUmRkpNq3b6+cnBxFRkbeYBUAAE/xyjOc\n2NhYJSUlSZKSkpIUFxdXre07dOig7du3S5K2bt2q4OBgSdLJkyd1+fJlSdKRI0eUk5Oju+66y4M9\nBwDcMA9caVXbqVOnTExMjOnYsaNxOp3m9OnTxhhjjh8/bu677z5Xu4ceesi0bNnS+Pn5maCgILNk\nyRJjjDH79u0zPXv2NF27djW9e/c2Bw4cMMYYs2rVKhMeHm66detmIiMjzYYNGyod20slW2bbtm3e\n7kKtor66rT7XV59rM8Yz507b/3Z007DZbLrJSgaAGvPEuZMvDQAALEHgAAAsQeAAACxB4AAALEHg\nAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAA\nLEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB\n4AAALEHgAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALEHgAAAs4ZXAKSkpkdPpVHBwsAYNGqTS\n0tIq2z3++OOy2+3q0qVLheUHDx5Unz59FBERodjYWJ09e9a1LiEhQR07dlRoaKi2bNlSq3UAAK6f\nVwInMTFRTqdT2dnZiomJUWJiYpXtJkyYoE2bNlVa/sQTT+jPf/6zDh06pJEjR2revHmSpKysLC1f\nvlxZWVnatGmTJk+erPLy8lqtBQBwfbwSOMnJyYqPj5ckxcfHa+3atVW269+/v5o1a1ZpeU5Ojvr3\n7y9JGjhwoFatWiVJWrduncaOHStfX1+1bdtWHTp00N69e2upCgBAdTTwxkGLi4tlt9slSXa7XcXF\nxdXaPjw8XOvWrdOIESO0cuVK5efnS5IKCgrUu3dvV7ugoCAdP3680vYzZsxw/R0dHa3o6OjqFwEA\n9VhqaqpSU1M9us9aCxyn06mioqJKy2fPnl1h3mazyWazVWvfS5Ys0XPPPafXXntNsbGx8vPzc9u2\nqn3/PHAAAJX98n/GX3311Rrvs9YCJyUlxe06u92uoqIiBQQEqLCwUC1atKjWvkNCQrR582ZJUnZ2\ntjZu3ChJCgwMdF3tSNKxY8cUGBh4A70HAHiaV57hxMbGKikpSZKUlJSkuLi4am1/4sQJSVJ5eblm\nzZqlp59+2rXfZcuWqaysTLm5ucrJyVHPnj0923kAwA3xSuBMnz5dKSkpCg4O1tatWzV9+nRJPz2D\nGTZsmKvd2LFjFRUVpezsbLVu3VrvvfeeJOnDDz9USEiIOnXqpKCgID322GOSpLCwMI0ZM0ZhYWEa\nOnSoFi9eXO3bdQCA2mEzxhhvd8JKNptNN1nJAFBjnjh38qUBAIAlCBwAgCUIHACAJQgcAIAlCBwA\ngCUIHACAJQgcAIAlCBwAgCUIHACAJQgcAIAlCBwAgCUIHACAJQgcAIAlCBwAgCUIHACAJQgcAIAl\nCBwAgCUIHACAJQgcAIAlCBwAgCUIHACAJQgcAIAlCBwAgCUIHACAJQgcAIAlCBwAgCUIHACAJQgc\n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\nQH1F4ABA9Xni3HnN93AAAPAEAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBg\nCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkC\nBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcAYAkCBwBgCQIHAGAJAgcA\nYAkCBwBgCQIHAGAJAgcAYAmvBE5JSYmcTqeCg4M1aNAglZaWVmqTn5+ve+65R+Hh4ercubMWLlx4\nze3z8vLUsGFDORwOORwOTZ482bKaAABX55XASUxMlNPpVHZ2tmJiYpSYmFipja+vr+bPn6/MzEyl\np6dr0aJF+vrrr6+5fYcOHZSRkaGMjAwtXrzYspoAAFfnlcBJTk5WfHy8JCk+Pl5r166t1CYgIEDd\nunWTJDVq1EidOnXS8ePHr3t7AMCvSwNvHLS4uFh2u12SZLfbVVxcfNX2eXl5ysjIUK9eva65fW5u\nrhwOh5o0aaJZs2apX79+lfY3Y8YM19/R0dGKjo6uYUUAUL+kpqYqNTXVo/u0GWOMR/f4P06nU0VF\nRZWWz549W/Hx8Tp9+rRrWfPmzVVSUlLlfs6dO6fo6Gj96U9/UlxcnCSpWbNmVW5fVlam8+fPq1mz\nZjpw4IDi4uKUmZkpf39/V1ubzaZaKhkA6i1PnDtr7QonJSXF7Tq73a6ioiIFBASosLBQLVq0qLLd\nxYsXNWrUKI0fP94VNlfb3s/PT35+fpKkyMhItW/fXjk5OYqMjPRgZQCAG+GVZzixsbFKSkqSJCUl\nJVUIkyuMMZo4caLCwsI0ZcqU69r+5MmTunz5siTpyJEjysnJ0V133VWbpQAArlOt3VK7mpKSEo0Z\nM0ZHjx5V27ZttWLFCjVt2lQFBQWaNGmSNm7cqF27dmnAgAGKiIiQzWaTJCUkJGjIkCFut1+9erVe\nfvll+fr6ysfHRzNnztSwYcMqFswtNQCoNk+cO70SON5E4ABA9Xni3MmXBgAAliBwAACWIHAAAJYg\ncAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAA\nAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACW\nIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHAAAJYgcAAAliBwAACWIHDqmdTUVG93oVZR\nX91Wn+urz7V5ilcCp6SkRE6nU8HBwRo0aJBKS0srtcnPz9c999yj8PBwde7cWQsXLnStW7lypcLD\nw3XLLbfowIEDFbZLSEhQx44dFRoaqi1bttR6Lb829f0fPfXVbfW5vvpcm6d4JXASExPldDqVnZ2t\nmJgYJSYmVmrj6+ur+fPnKzMzU+np6Vq0aJG++uorSVKXLl20Zs0aDRgwoMI2WVlZWr58ubKysrRp\n0yZNnjxZ5eXlltQEALg6rwROcnKy4uPjJUnx8fFau3ZtpTYBAQHq1q2bJKlRo0bq1KmTCgoKJEmh\noaEKDg6utM26des0duxY+fr6qm3bturQoYP27t1bi5UAAK6b8YKmTZu6/i4vL68wX5Xc3FzTpk0b\nc/bs2QrLo6Ojzeeff+6af+aZZ8wHH3zgmp84caL56KOPKmwjiYmJiYnpBqaaaqBa4nQ6VVRUVGn5\n7NmzK8zbbDbZbDa3+zl37pxGjx6tBQsWqFGjRtXuxy/3/VPmAACsVmuBk5KS4nad3W5XUVGRAgIC\nVFhYqBYtWlTZ7uLFixo1apTGjx+vuLi4ax4zMDBQ+fn5rvljx44pMDCw+p0HAHicV57hxMbGKikp\nSZKUlJRUZZgYYzRx4kSFhYVpypQpbvf18yuW2NhYLVu2TGVlZcrNzVVOTo569uzp+QIAANXmlcCZ\nPn26UlJSFBwcrK1bt2r69OmSpIKCAg0bNkyS9Nlnn+mDDz7Qtm3b5HA45HA4tGnTJknSmjVr1Lp1\na6Wnp2vYsGEaOnSoJCksLExjxoxRWFiYhg4dqsWLF1/1dh0AwEI1fgpUh3zyyScmJCTEdOjQwSQm\nJnq7OzV29OhREx0dbcLCwkx4eLhZsGCBMcaYU6dOmYEDB5qOHTsap9NpTp8+7eWe1sylS5dMt27d\nzP3332+MqV/1nT592owaNcqEhoaaTp06mfT09HpT35w5c0xYWJjp3LmzGTt2rLlw4UKdrm3ChAmm\nRYsWpnPnzq5lV6tnzpw5pkOHDiYkJMRs3rzZG12ulqrqe+GFF0xoaKiJiIgwI0eONKWlpa51N1Lf\nTRM4ly5dMu3btze5ubmmrKzMdO3a1WRlZXm7WzVSWFhoMjIyjDHGnD171gQHB5usrCzz4osvmrlz\n5xpjjElMTDTTpk3zZjdr7PXXXzfjxo0zw4cPN8aYelXfo48+at59911jjDEXL140paWl9aK+3Nxc\n065dO3PhwgVjjDFjxowxS5curdO17dixwxw4cKDCCdldPZmZmaZr166mrKzM5Obmmvbt25vLly97\npd/Xq6r6tmzZ4ur3tGnTalzfTRM4aWlpZvDgwa75hIQEk5CQ4MUeed6IESNMSkqKCQkJMUVFRcaY\nn0IpJCTEyz27cfn5+SYmJsZs3brVdYVTX+orLS017dq1q7S8PtR36tQpExwcbEpKSszFixfN/fff\nb7Zs2VLna8vNza1wQnZXz5w5cyrcRRk8eLDZvXu3tZ29Ab+s7+dWr15tHn74YWPMjdd303xL7fjx\n42rdurVrPigoSMePH/dijzwrLy9PGRkZ6tWrl4qLi2W32yX9NCKwuLjYy727cc8//7zmzZsnH5//\n/6daX+rLzc3Vb3/7W02YMEGRkZGaNGmSzp8/Xy/qa968uf74xz+qTZs2atWqlZo2bSqn01kvavs5\nd/UUFBQoKCjI1a4+nG+WLFmi++67T9KN13fTBE59Hjxw7tw5jRo1SgsWLJC/v3+Fddd6z+nXbMOG\nDWrRooUcDofb96fqcn2XLl3SgQMHNHnyZB04cEC33XZbpc881dX6vv32W/3lL39RXl6eCgoKdO7c\nOX3wwQcV2tTV2ty5Vj11udbZs2fLz89P48aNc9vmeuq7aQLnl+/o5OfnV0jouurKu0qPPPKIa3j5\nlfecJF31Padfu7S0NCUnJ6tdu3YaO3astm7dqkceeaTe1BcUFKSgoCD16NFDkjR69GgdOHBAAQEB\ndb6+/fv3KyoqSrfffrsaNGigBx54QLt3764Xtf2cu3+L9emdwKVLl+rjjz/WP/7xD9eyG63vpgmc\n7t27KycnR3l5eSorK9Py5csVGxvr7W7ViHHzrtL1vOdUF8yZM0f5+fnKzc3VsmXLdO+99+r999+v\nN/UFBASodevWys7OliR9+umnCg8P1/Dhw+t8faGhoUpPT9cPP/wgY4w+/fRThYWF1Yvafs7dv8X6\n8k7gpk2bNG/ePK1bt06/+c1vXMtvuD4PPGeqMz7++GMTHBxs2rdvb+bMmePt7tTYzp07jc1mM127\ndjXdunUz3bp1M5988ok5deqUiYmJqZNDT91JTU11jVKrT/V98cUXpnv37hWGndaX+ubOnesaFv3o\no4+asrKyOl3bQw89ZFq2bGl8fX1NUFCQWbJkyVXrmT17tmnfvr0JCQkxmzZt8mLPr88v63v33XdN\nhw4dTJs2bVznl6efftrV/kbqsxnDx8UAALXvprmlBgDwLgIHAGAJAgcAYAkCBwBgCQIHqIFTp065\nvmbesmVLBQUFyeFwyN/fX88880ytHPPNN9/U0qVL3a5PTk7Wa6+9VivHBmqCUWqAh7z66qvy9/fX\nH/7wh1o7hjFGkZGR2rdvnxo0qPr3E40xcjgc2rdvn3x9fWutL0B1cYUDeNCV/39LTU3V8OHDJUkz\nZsxQfHy8BgwYoLZt22r16tV64YUXFBERoaFDh+rSpUuSpM8//1zR0dHq3r27hgwZUuVPtH/22WcK\nDQ11hc3ChQsVHh6url27auzYsZJ++sRInz59tGXLFitKBq4bgQNYIDc3V9u2bVNycrLGjx8vp9Op\nQ4cOqWHDhtq4caMuXryoZ599VqtWrdL+/fs1YcIEvfTSS5X2s2vXLnXv3t01P3fuXH3xxRc6ePCg\n3n77bdfynj17aseOHZbUBlyvqq/JAXiMzWbT0KFDdcstt6hz584qLy/X4MGDJUldunRRXl6esrOz\nlZmZqYEDB0qSLl++rFatWlXa19GjR9WvXz/XfEREhMaNG6e4uLgKn4lp1aqV6xdygV8LAgewgJ+f\nnyTJx8enwnMVHx8fXbp0ScYYhYeHKy0t7Zr7+vlj140bN2rHjh1av369Zs+erX//+9/y8fFReXl5\nnf46MeonbqkBtex6xuWEhIToxIkTSk9Pl/TTV8CzsrIqtbvzzjtdz3aMMTp69Kiio6OVmJioM2fO\n6Ny5c5J++nLxnXfe6cEqgJojcAAPunJV8fPfRvnl76T88srDZrPJ19dXH330kaZNm6Zu3brJ4XBo\n9+7dlfbfr18/7d+/X9JPv6fzyCOPKCIiQpGRkfr973+vxo0bS5L27t2rAQMG1EqNwI1iWDRQh1wZ\nFr1nzx7XbbpfKi8vV2RkpPbv3+926DTgDVzhAHWIzWbTpEmTKvwY1i9t2LBBo0ePJmzwq8MVDgDA\nElzhAAAsQeAAACxB4AAALEHgAAAsQeAAACxB4AAALPF/Eo3dird4yKcAAAAASUVORK5CYII=\n"
- },
- {
- "output_type": "display_data",
- "png": "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\nlXZtHT169LyFGt3t6aef5vnnn6d37968++67PP3006xbt46cnBwWLlxITk4OhYWFJCQksHv3bvz8\ntAq+iHim5s3hd78zpwVnZJjLz/uqShPJJAuWs2zWrJlzifrDhw/jcDgASEtLIzk5GbvdTmhoKGFh\nYWRnZ9OjR48aj1FE5FI9/jjMmwcLFoAv335XaSIps2vXLsaOHUtRURE7d+5k+/btrFixgmeffbba\ng5k2bRq9evVi4sSJnDlzhk8//RSAffv2VUgaISEhFBYWXvAc5RNgfHw88fHx1R6niMilCAiA1FQY\nOhQGDIArr7Q6IlNmZiaZmZnVdr6LDrbHxcUxY8YMHn30UbZt24ZhGLRr146dO3dW6YKJiYkXXGJl\nypQpzJo1i8cee4y77rqLxYsXM3v2bDIyMhg3bhw9evTgvvvuA2D06NHccccdDBo0qGJlNEYiIh5o\n5EhwODx3e163jZGU+emnn+jevXuFC9pdWCs5IyOj0teGDx/O2rVrARgyZAijR48GwOFwkJ+f73xf\nQUGBs9tLRMTTTZ8OMTHw4IMQHm51NNXvoqPVjRo14ssvv3Q+/89//kMzN937HxYWxocffgjABx98\nQEREBABJSUksWLCA4uJi8vLyyM3NpVu3bm6JQUSkujVrBs88A088YXUk7nHRFskrr7zCL37xC/73\nv//RvHlzWrduzb/+9S+3BDN79mwee+wxTp06Rd26dZk9ezYA0dHRDB06lOjoaOe04JqeUSYi4orx\n4+Ef//DNO94veavd48ePc+bMGYKDg90dU5VpjEREPFl6OowbB198AXXqWB3NWW69IbH8Rc7ljhsS\nXaVEIiKerl8/c4VgT/oKdfsNibt27WLTpk0kJSVhGAYrV67U+ISISBW9+CLExZkzua691upoqsdF\nu7ZuuukmVq9e7ezSOnr0KHfccQcfffRRjQR4OdQiERFvMG6c+fjyy9bGUcbt+5F89913Fab72u12\nvvvuuypfUESktps0CRYuhP/+1+pIqsdFZ22NHDmSbt26MWjQIAzDYPny5dx///01EZuIiE+65hr4\nzW9g4kRzFpe3u6RZW1u2bOGjjz7CZrMRFxdHbGxsTcR22dS1JSLeorgY2rY1l1BJTLQ2FrfN2vJG\nSiQi4k2WLIE//Qm2bAErFzN3+xiJiIi4x6BBEBQEb79tdSSuUYtERMRCH30EI0bA//5nJhUrqEUi\n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\nYxiGYZSUlBiHDx/2mfrl5eUZrVu3Nk6ePGkYhmEMHTrUmDdvnlfXb/369cbWrVsrfNFWVp+dO3ca\nHTp0MIqLi428vDyjTZs2xunTpy2J+1JdqH5r1qxxxv3MM8+4VD+fSCSffPKJ0bt3b+fzqVOnGlOn\nTrUwoup35513GhkZGUZkZKRRVFRkGIaZbCIjIy2OrGry8/ON2267zfjggw+cLRJfqdvhw4eN1q1b\nn3fcV+p38OBBIyIiwvjhhx+MkpISo3///saaNWu8vn55eXkVvmgrq09KSkqFXo/evXsbn376ac0G\nWwXn1q+8pUuXGvfdd59hGFWrn0+stVVYWEiLFi2cz0NCQigsLLQwouq1Z88etm3bRvfu3fn2229p\n0qQJAE2aNOHbb7+1OLqqeeKJJ5gxYwZ+fmf/CfpK3fLy8mjUqBEPPPAAnTp14uGHH+b48eM+U7+G\nDRvy5JNP0rJlS5o3b87VV19NYmKiz9SvTGX12bdvHyEhIc73+cL3zdy5c7njjjuAqtXPJxKJzWaz\nOgS3OXbsGIMHD+all14iODi4wms2m80r675y5UoaN25MbGxspff+eGvdAEpLS9m6dStjx45l69at\nXHHFFUybNq3Ce7y5fl999RV//etf2bNnD/v27ePYsWP885//rPAeb67fhVysPt5c1ylTphAYGMiw\nYcMqfc/F6ucTicThcJCfn+98np+fXyGjequSkhIGDx7MiBEjGDhwIGD+Miq70XP//v00btzYyhCr\n5JNPPmHFihW0bt2a5ORkPvjgA0aMGOETdQPzF1xISAhdu3YFYMiQIWzdupWmTZv6RP02b97MDTfc\nwDXXXENAQACDBg3i008/9Zn6lans3+O53zfefF/bvHnzWL16Nf/617+cx6pSP59IJF26dCE3N5c9\ne/ZQXFzMwoULSUpKsjoslxiGwUMPPUR0dDS/+tWvnMeTkpJ48803AXjzzTedCcabpKSkkJ+fT15e\nHgsWLODWW29l/vz5PlE3gKZNm9KiRQt2794NwNq1a2nbti0DBgzwifpFRUWxceNGTpw4gWEYrF27\nlujoaJ+pX5nK/j0mJSWxYMECiouLycvLIzc317kOoDdJT09nxowZpKWlERQU5DxepfpV0ziO5Vav\nXm1EREQYbdq0MVJSUqwOx2UfffSRYbPZjA4dOhgdO3Y0OnbsaLz77rvGwYMHjdtuu80rp1heSGZm\npnPWli/V7bPPPjO6dOlSYWqlL9Vv+vTpzum/I0eONIqLi726fvfee6/RrFkzw263GyEhIcbcuXN/\ntj5Tpkwx2rRpY0RGRhrp6ekWRn5pzq3fnDlzjLCwMKNly5bO75cxY8Y433+59bMZhhaoEhGRqvOJ\nri0REbGOEomIiLhEiURERFyiRCIiIi5RIhGpxMGDB4mNjSU2NpZmzZoREhJCbGwswcHBPP744265\n5iuvvMK8efMqfX3FihU8//zzbrm2SFVp1pbIJSjbH2fChAluu4ZhGHTq1IlNmzYREHDhrYIMwyA2\nNpZNmzZht9vdFovI5VCLROQSlf3myszMdG4XPWnSJO6//37i4uIIDQ1l6dKlTJw4kfbt29O3b19K\nS0sB2LJlC/Hx8XTp0oU+ffpccBvqjz/+mKioKGcSmTVrFm3btqVDhw4kJycD5lIVPXv2ZM2aNTVR\nZZFLokQi4qK8vDzWrVvHihUrGD58OImJiWzfvp26deuyatUqSkpKGDduHEuWLGHz5s088MAD/O53\nvzvvPBs2bKBLly7O59OnT+ezzz7j888/5/XXX3ce79atW4XdREWsZvlWuyLezGaz0bdvX/z9/WnX\nrh1nzpyhd+/eAMTExLBnzx52797Nzp07SUhIAOD06dM0b978vHPt3buXXr16OZ+3b9+eYcOGMXDg\nwArLjTRv3pz09HQ310zk0imRiLgoMDAQAD8/vwrjFn5+fpSWlmIYBm3btuWTTz656LnKD1muWrWK\n9evX88477zBlyhS++OIL/Pz8OHPmjFevNiu+R11bIi64lLkqkZGRHDhwgI0bNwLmqs45OTnnva9V\nq1bOsRPDMNi7dy/x8fFMmzaNI0eOcOzYMcBcibZVq1bVWAsR1yiRiFyislZA+b0pzt2n4tyWgs1m\nw26385///IdnnnmGjh07Ehsby6effnre+Xv16sXmzZsBc0+TESNG0L59ezp16sT48eOpX78+ANnZ\n2cTFxbmljiJVoem/Ih6ibPpvVlaWs7vsXGfOnKFTp05s3ry50inCIjVNLRIRD2Gz2Xj44YcrbDJ0\nrpUrVzJkyBAlEfEoapGIiIhL1CIRERGXKJGIiIhLlEhERMQlSiQiIuISJRIREXGJEomIiLjk/wAf\njNfcbjy1VQAAAABJRU5ErkJggg==\n"
- }
- ],
- "prompt_number": 7
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3_2.ipynb
deleted file mode 100644
index b1ded028..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_3_2.ipynb
+++ /dev/null
@@ -1,470 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 3"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "",
- "p1 = 10**5 # initial pressure in pascal ",
- "x1 = 0.5 # initial quality",
- "",
- "T1 = 99.63 # temperature in degree celcius, from table A-3",
- "v = 0.5 # volume of container in m3",
- "vf1 = 1.0432*(10**(-3)) # specific volume of fluid in state 1 in m3/Kg(from table A-3)",
- "vg1 = 1.694 # specific volume of gas in state 1 in m3/kg(from table A-3)",
- "",
- "p2 = 1.5*(10**5) # pressure after heating in pascal",
- "",
- "T2 = 111.4 # temperature in degree celcius in state 2, from A-3",
- "vf2 = 1.0582*(10**(-3)) # specific volume of fluid in state 2 in m3/Kg, from A-3",
- "vg2 = 1.159 # specific volume of gas in state 2 in m3/Kg,from A-3",
- "",
- "",
- "v1 = vf1 + x1*(vg1-vf1) # specific volume in state 1 in m3/Kg",
- "v2 = v1 # specific volume in state 2 in m3/Kg",
- "m = v/v1 # total mass in Kg",
- "mg1 = x1*m # mass of vapour in state 1 in Kg",
- "",
- "x2 = (v1-vf2)/(vg2-vf2) # quality in state 2",
- "mg2 = x2*m # mass of vapor in state 2 in Kg ",
- "",
- "p3 = 2.11 # pressure in state 3 from table A-3",
- "",
- "print '-> The temperature in state 1 is ',round(T1,2),'degree celcius.'",
- "print '-> The temperature in state 2 is ',round(T2,2),'degree celcius.'",
- "print '-> The mass of vapour in state 1 is',round(mg1,2),'kg.' ",
- "print '-> The mass of vapour in state 2 is',round(mg2,2),'kg.'",
- "print '-> The pressure corresponding to state 3 is',round(p3,2),'bar.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The temperature in state 1 is 99.63 degree celcius.",
- "-> The temperature in state 2 is 111.4 degree celcius.",
- "-> The mass of vapour in state 1 is 0.29 kg.",
- "-> The mass of vapour in state 2 is 0.43 kg.",
- "-> The pressure corresponding to state 3 is 2.11 bar."
- ]
- }
- ],
- "prompt_number": 49
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "m = 0.05 # mass of ammonia in kg ",
- "p1 = 1.5*(10**5) # initial pressure of ammonia in pascal",
- "v1 = 0.7787 # specific volume in state 1 in m3/kg from table A-14",
- "v2 = 0.9553 # specific volume in state 2 in m3/kg from table A-15",
- "T2 = 25.0 # final temperature in degree celcius",
- "",
- "",
- "V1 = m*v1 # volume occupied by ammonia in state 1 in m3",
- "V2 = m*v2 # volume occupied by ammonia in state 2 in m3",
- "w = (p1*(V2-V1))/1000 # work in KJ",
- "",
- "print '-> The volume occupied by ammonia in state 1 is ',round(V1,2),'m^3.'",
- "print '-> The volume occupied by ammonia in state 2 is ',round(V2,2),'m^3.'",
- "print '-> The work done for the process is',round(w,2),'KJ.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The volume occupied by ammonia in state 1 is 0.04 m^3.",
- "-> The volume occupied by ammonia in state 2 is 0.05 m^3.",
- "-> The work done for the process is 1.32 KJ."
- ]
- }
- ],
- "prompt_number": 50
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "V = 0.25 # volume of tank in m3",
- "v = 1.673 # specific volume in m3/kg obtained using table A-2",
- "",
- "T1 = 100.0 # initial temperature in degree celcius",
- "u1 = 2506.5 # specific internal energy in state 1 in KJ/Kg obtained from table A-2",
- "",
- "p2 = 1.5 # final pressure in bars",
- "T2 = 273.0 # temperature in state 2 in degree celcius obtained from table A-4",
- "u2 = 2767.8 # specific internal energy in state 2 in KJ/Kg obtained from table A-4",
- "",
- "m = V/v # mass of the system in kg",
- "DeltaU = m*(u2-u1) # change in internal energy in KJ",
- "W = - DeltaU # from energy balance",
- "",
- "print '-> The temperature at the final state in is',round(T2,2),' degree celcius.'",
- "print '-> The work during the process is',W,'KJ.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The temperature at the final state in is 273.0 degree celcius.",
- "-> The work during the process is -39.0466228332 KJ."
- ]
- }
- ],
- "prompt_number": 51
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "P1 = 10*(10**5) # initial pressure in pascal",
- "T1 = 400.0 # initial temperature in degree celcius",
- "v1 = 0.3066 # specific volume in state 1 in m3/kg obtained from table A-4",
- "u1 = 2957.3 # specific internal energy in state 1 in KJ/Kg obtained from table A-4",
- "",
- "",
- "v2 = 0.1944 # specific volume in state 2 in m3/kg obtained from table A-3",
- "w2to3 = 0 # work in process 2-3",
- "",
- "",
- "v3 = v2",
- "vf3 = 1.0905*(10**(-3)) # specific volume of fluid in state 3 from table A-2",
- "vg3 = 0.3928 # specific volume of gas in state 3 from table A-2",
- "uf3 = 631.68 # specific internal energy for fluid in state 3 from table A-2",
- "ug3 = 2559.5 # specific internal energy for gas in state 3 from table A-2",
- "",
- "w1to2 = (P1*(v2-v1))/1000 # work in KJ/Kg in process 1-2",
- "W = w1to2 + w2to3 # net work in KJ/kg",
- "x3 = (v3-vf3)/(vg3-vf3)",
- "u3 = uf3+x3*(ug3-uf3) # specific internal energy in state 3 in Kj/Kg",
- "q = (u3-u1) + W # heat transfer in Kj/Kg",
- "",
- "print '-> The work done in the overall process is',W,'KJ/kg.'",
- "print '-> The heat transfer in the overall process is',q,'KJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The work done in the overall process is -112.2 KJ/kg.",
- "-> The heat transfer in the overall process is -1486.43658885 KJ/kg."
- ]
- }
- ],
- "prompt_number": 52
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1 = 20.0 # initial pressure in MPa",
- "T1 = 520.0 # initial temperature in degree celcius",
- "Z1 = 0.83 # compressibility factor",
- "R = 8.314 # universal gas constant in SI unit",
- "n = 1000.0/18.02 # number of moles in a kg of water",
- "",
- "T2 = 400.0 # final temperature in degree celcius",
- "",
- "Tc = 647.3 # critical temperature in kelvin",
- "pc = 22.09 # critical pressure in MPa",
- "",
- "Tr = (T1+273)/Tc # reduced temperature",
- "Pr = p1/pc # reduced pressure ",
- "v1 = (Z1*n*R*(T1+273))/(p1*(10**6))",
- "vr = v1*(pc*(10**6))/(n*R*Tc)",
- "Tr2 = (T2+273)/Tc",
- "PR = 0.69 # at above vr and Tr2",
- "P2 = pc*PR",
- "",
- "print '-> The specific volume in state1 is',v1,'m3/kg and the corresponding value obtained from table A-4 is .01551 m^3/Kg'",
- "print '-> The pressure in MPa in the final state is',P2,' MPa and the corresponding value from the table is 15.16Mpa'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The specific volume in state1 is 0.0151836616537 m3/kg and the corresponding value obtained from table A-4 is .01551 m^3/Kg",
- "-> The pressure in MPa in the final state is 15.2421 MPa and the corresponding value from the table is 15.16Mpa"
- ]
- }
- ],
- "prompt_number": 53
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 54
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 300.00 #temperature in state 1 in kelvin",
- "P1 = 1.00 #pressure in state 1 in bar",
- "P2 = 2.00 #pressure in state 2 in bar",
- "R = 287.00 #gas constant of air in SI units",
- "",
- "v1 = (R*T1)/(P1*10**5) #specific volume in state 1",
- "v = []",
- "P = []",
- "vv = []",
- "Pa = []",
- "pp = []",
- "pcommon = []",
- "vcommon = []",
- "from numpy import linspace",
- "from pylab import *",
- "P = linspace(1,2,50)",
- "for i in range(0,50):",
- " v.append(i)",
- " v[i] = v1",
- "",
- " ",
- "",
- "T2 = (P2*10**5*v1)/R",
- "v3 = (R*T2)/(P1*10**5)",
- "vv = linspace(v1,v3,50)",
- "for i in range(0,50):",
- " Pa.append(i)",
- " Pa[i] = P1",
- "",
- "",
- "",
- "VV = linspace(v1,v3,50)",
- "for j in range(0,50):",
- " pp.append(j)",
- " pp[j] = (R*T2)/((VV[j])/(10**5))",
- "",
- "vcommon = numpy.concatenate((v, VV))",
- "pcommon = numpy.concatenate((P, pp))",
- "",
- "plot(vcommon,pcommon)",
- "xlabel('v')",
- "ylabel('p(bar)')",
- "show()",
- "plot(vv,Pa)",
- "xlabel('v')",
- "ylabel('p(bar)')",
- "show()",
- "",
- "print 'The temperature in kelvin in state 2 is T2 = ',T2",
- "print 'The specific volume in state 3 in m^3/kg is v = ',v3"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "display_data",
- "png": "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\ng1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AA\nADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgI\nBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIBQCAg1AAADgIhQCS\nlZXldgl+g2txBtfiDK7F5fNqKKxcuVJt2rRRdHS0nnzyyXOeM2nSJEVHRys+Pl55eXneLCfg8Q/+\nDK7FGVyLM7gWl89roVBWVqYHHnhAK1eu1O7du7V48WJ98sknFc7JyMjQ/v37tW/fPr3yyiuaMGGC\nt8oBAFwEr4VCbm6uoqKi1LJlSwUHB2v48OFasWJFhXPS09M1atQoSVJSUpJOnDih4uJib5UEAPAg\nyFtvXFRUpMjISOdxRESEcnJyPJ5TWFioZs2aVTjPsqwqr88Lb+kTaWlpbpfgN7gWZ3AtzuBaXB6v\nhcLFfpDbtn3B/+6nrwMAvMdrzUfh4eEqKChwHhcUFCgiIuKC5xQWFio8PNxbJQEAPPBaKHTq1En7\n9u1Tfn6+Tp06paVLlyo1NbXCOampqVq4cKEkKTs7W2FhYWc1HQEAfMdrzUdBQUGaM2eOUlJSVFZW\nprFjx6pt27aaN2+eJGn8+PEaOHCgMjIyFBUVpXr16mnBggXeKgcAcDFsP/Hee+/ZN954ox0VFWXP\nmjXrrNe//PJLOyUlxY6Pj7fbtWtnL1iwwPdF+sDo0aPtq6++2m7fvv15z/nVr35lR0VF2XFxcfbW\nrVt9WJ1veboWixYtsuPi4uzY2Fj7pptusrdv3+7jCn3nYv5d2LZt5+bm2rVr17aXL1/uo8p872Ku\nRWZmpp2QkGC3a9fO7t27t++K8zFP16Iyn5t+EQrff/+9fcMNN9iHDh2yT506ZcfHx9u7d++ucM7U\nqVPtRx55xLZt8wdt3LixXVpa6ka5XrV27Vp769at5/1Lfvfdd+0BAwbYtm3b2dnZdlJSki/L8ylP\n12Ljxo32iRMnbNs2v1TU5Gth2+b/oz59+tiDBg2yly1b5sPqfMvTtTh+/LgdExNjFxQU2LZtPi+q\nK0/XojKfm36xzMXFzGm45pprdPLkSUnSyZMn1aRJEwUFea31yzU9e/ZUo0aNzvt6TZrb4eladOvW\nTQ0bNpRkrkVhYaGvSvM5T9dCkl588UUNHTpUTZs29VFV7vB0Ld58800NGTLEGdhy1VVX+ao0n/N0\nLSrzuekXoXCu+QpFRUUVzhk3bpx27dqla6+9VvHx8Xr++ed9XaZfON/cjppu/vz5GjhwoNtluKao\nqEgrVqxwVgXwxtyeQLFv3z4dO3ZMffr0UadOnfTGG2+4XZJrKvO56Re/al/MP+CZM2cqISFBWVlZ\nOnDggPr166ft27erfv36PqjQv9ge5nbUNJmZmXrttde0YcMGt0txzYMPPqhZs2bJsizZplnY7ZJc\nU1paqq1bt+qjjz7SN998o27duqlr166Kjo52uzSfq8znpl/cKVzMnIaNGzdq2LBhkqQbbrhBrVq1\n0p49e3xapz9gbkdFO3bs0Lhx45Senu6xeaU627Jli4YPH65WrVpp+fLlmjhxotLT090uyxWRkZHq\n37+/6tatqyZNmqhXr17avn2722W5ojKfm34RChczp6FNmzZatWqVJKm4uFh79uzR9ddf70a5rmJu\nxxmHDx/WnXfeqUWLFikqKsrtclx18OBBHTp0SIcOHdLQoUM1d+7cs/4fqikGDx6s9evXq6ysTN98\n841ycnIUExPjdlmuqMznpl80H13MnIbf/e53Gj16tOLj41VeXq6nnnpKjRs3drnyqjdixAitWbNG\nR48eVWRkpNLS0lRaWiqp5s3t8HQtpk+fruPHjzvt6MHBwcrNzXWzZK/xdC1qEk/Xok2bNrr11lsV\nFxenWrVqady4cdU2FDxdi8p8blp2TW58BABU4BfNRwAA/0AoAAAchAIAwEEoAAAchAJwiR599FG9\n/PLLzuNp06bpmWeecbEioOoQCsAluuuuu/SXv/zFefzWW29p+PDhLlYEVB2/mKcABJKEhAR98cUX\n+vzzz/XFF1+oUaNGNXpWOaoXQgGohGHDhmnZsmU6cuQIdwmoVpi8BlTC7t279Ytf/EL//Oc/tXbt\n2hq71AiqH/oUgEqIiYlRSUmJIiIiCARUK9wpAAAc3CkAAByEAgDAQSgAAByEAgDAQSgAAByEAgDA\n8f8/6+7mAiT6VQAAAABJRU5ErkJggg==\n"
- },
- {
- "output_type": "display_data",
- "png": "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\n13xudCWyv/IAAAAASUVORK5CYII=\n"
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature in kelvin in state 2 is T2 = 600.0",
- "The specific volume in state 3 in m^3/kg is v = 1.722"
- ]
- }
- ],
- "prompt_number": 55
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "m = 0.9 # mass of air in kg",
- "T1 = 300.0 # initial temperature in kelvin",
- "P1 = 1.0 # initial pressure in bar",
- "",
- "T2 = 470.0 # final temperature in kelvin",
- "P2 = 6.0 # final pressure in bar",
- "Q = -20.0 # heat transfer in kj",
- "",
- "u1 = 214.07 # in KJ/kg",
- "u2 = 337.32 # in KJ/Kg",
- "",
- "deltaU = m*(u2-u1) # change in internal energy in kj",
- "W = Q - deltaU # in KJ/kg",
- "",
- "",
- "print '-> The work during the process is ',W,' KJ.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The work during the process is -130.925 KJ."
- ]
- }
- ],
- "prompt_number": 56
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "m1 = 2.0 # initial mass of gas in tank 1 in kg",
- "T1 = 350.0 # initial temperature in kelvin in tank1",
- "p1 = 0.7 # initial pressure in bar in tank 1",
- "",
- "m2 = 8.0 # initial mass of gas in tank 2 in kg",
- "T2 = 300.0 # initial temperature in kelvin in tank 2",
- "p2 = 1.2 # initial pressure in bar in tank 2",
- "Tf = 315.0 # final equilibrium temperature in kelvin",
- "",
- "Cv = 0.745 # in KJ/Kg.k",
- "",
- "pf = ((m1+m2)*Tf)/((m1*T1/p1)+(m2*T2/p2)) ",
- "Ui = (m1*Cv*T1)+(m2*Cv*T2)",
- "Uf = (m1+m2)*Cv*Tf",
- "deltaU = Uf-Ui",
- "Q = deltaU",
- "",
- "print '-> The final equilibrium pressure is',pf,'bar.'",
- "print '-> The heat transfer for the process is',Q,'KJ.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The final equilibrium pressure is 1.05 bar.",
- "-> The heat transfer for the process is 37.25 KJ."
- ]
- }
- ],
- "prompt_number": 57
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1 = 1.0 # initial pressure in bar",
- "T1 = 295.0 # initial temperature in kelvin ",
- "p2 = 5.0 # final pressure in bar",
- "n = 1.3 # polytropic constant",
- "R = 8314/28.97 # gas constant for air in SI units",
- "",
- "u2 = 306.53",
- "u1 = 210.49",
- "",
- "T2 = T1*(p2/p1)**((n-1)/n)",
- "w = R*(T2-T1)/(1-n)",
- "Q = u2-u1+w/1000",
- "",
- "print '-> The work done per unit mass is ',w/1000,'KJ/kg.'",
- "print '-> The heat transfer per unit mass is',Q,'KJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The work done per unit mass is -126.928201465 KJ/kg.",
- "-> The heat transfer per unit mass is -30.888201465 KJ/kg."
- ]
- }
- ],
- "prompt_number": 58
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_4_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_4_2.ipynb
deleted file mode 100644
index 45f5e608..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_4_2.ipynb
+++ /dev/null
@@ -1,497 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 4"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1= 7.0 # pressure in bar",
- "T2= 200.0 # temperature in degree celcius",
- "m1dot= 40.0 # mass flow rate in kg/s",
- "",
- "p2= 7.0 # pressure in bar",
- "T2= 40.0 # temperature in degree celcius",
- "A2= 25.0 # area in cm^2",
- "",
- "p3= 7.0 # pressure in bar",
- "AV3= 0.06 # Volumetric flow rate through wxir in m^3/s",
- "",
- "v3 = (1.108)*(10**(-3)) # specific volume at the exit in m^3/kg",
- "",
- "v2= (1.0078)*(10**(-3)) # specific volume in state 2 in m^3/kg",
- "",
- "m3dot= AV3/v3 # mass flow rate at exit",
- "m2dot = m3dot-m1dot # mass flow rate at inlet 2",
- "V2= (m2dot*v2)/(A2*(10**(-4)))",
- "",
- "print '-> The mass flow rate at the inlet 2 is', round(m2dot,2),' kg/s.'",
- "print '-> The mass flow rate at the exit is', round(m3dot,2),' kg/s.'",
- "print '-> The velocity at the inlet is ', round(V2,2),'m/s.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The mass flow rate at the inlet 2 is 14.15 kg/s.",
- "-> The mass flow rate at the exit is 54.15 kg/s.",
- "-> The velocity at the inlet is 5.7 m/s."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1= 40.0 # pressure in bar",
- "T1= 400.0 # temperature in degree celcius",
- "V1= 10.0 # velocity m/s",
- "",
- "p2= 10.0 # pressure in bar",
- "V2= 665.0 # velocity in m/s",
- "mdot= 2.0 # mass flow rate in kg/s",
- "",
- "h1= 3213.6 # snpecific enthalpy in kJ/kg",
- "v2 = 0.1627 # specific volume at the exit in m^3/kg",
- "",
- "h2 = h1 + ((V1**2-V2**2)/2)/1000 # snpecific enthalpy in kJ/kg",
- "A2=(mdot*v2)/V2 # Exit area",
- "",
- "print '-> The exit Area of the nozzle is', round(A2,4),'m^2.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The exit Area of the nozzle is 0.0005 m^2."
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "m1dot = 4600.0 # mass flow rate in kg/h",
- "Wcvdot= 1000.0 # turbine power output in kv",
- "p1= 60.0 # pressure in bar",
- "T1=400.0 # temperature in degree celc",
- "V1= 10.0 # velocity in m/s",
- "",
- "p2= 0.10 # pressure in bar",
- "q2= 0.90 # quality ",
- "V2= 50.0 # velocity in m/s",
- "",
- "h1= 3177.2 # specific enthalpy at inlet in kJ/kg",
- "hf2= 191.83",
- "hg2= 2584.63",
- "",
- "h2 = hf2+q2*(hg2-hf2) # specific enthalpy at exit in kJ/kg",
- "Qcvdot = Wcvdot + m1dot*((h2-h1)+(V2**2- V1**2)/(2*1000))/3600",
- " ",
- "print '-> The rate of heat transfer between the turbine and surroundings is',round(Qcvdot,2),'kW.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The rate of heat transfer between the turbine and surroundings is -61.39 kW."
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1=1.00 # pressure in bar",
- "t1= 290.00 # temperature in kelvin",
- "A1= 0.1 # area in m^2",
- "V1= 6.00 # velocity in m/s",
- "",
- "",
- "p2=7.00 # pressure in bar",
- "t2= 450.00 # temperature in kelvin",
- "V2= 2.00 # velocity in m/s",
- "Qcvdot= -180.0 # heat transfer rate in kJ/min",
- "R= 8.314 # universal gas constant in SI units",
- "",
- "",
- "h1= 290.16 # specific enthalpy in kJ/kg",
- "h2= 451.8 # specific enthalpy in kJ/kg",
- "",
- "",
- "v1 = (R*1000*t1)/(28.97*p1*10**5) # specific volume",
- "mdot=(A1*V1)/v1 # mass flow rate",
- "Wcvdot = Qcvdot/60 + mdot*((h1-h2)+(V1**2-V2**2)/(2*1000))",
- "",
- " ",
- "print '-> The power input to the compressor is ',round(Wcvdot,2),'kW.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The power input to the compressor is -119.52 kW."
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "t1=20.0 # Temperatue in deg celcius",
- "p1=1.0 # pressure in atm",
- "AV1= 0.1 # volumetric flow rate in litre/s",
- "D1=2.5 # Diameter of th hose in cm",
- "",
- "t2=23.0 # temperatuer in deg celcius",
- "p2=1.0 # pressure in atm",
- "V2=50.0 # Velocity in m/s",
- "Z2=5.0 # elevation in m",
- "g= 9.8 # acceleration due to gravity in m/s^2",
- "",
- "",
- "v= (1.0018)*((10.0)**(-3)) # specific volume in m^3/kg",
- "c= 4.18 ",
- "",
- "mdot = (AV1/1000)/v # mass flow rate in kg/s",
- "V1= (AV1/1000)/(3.14*(D1/(2*100))**2) # Entry velocity in m/s",
- "deltah = c*(t2-t1)+v*(p2-p1)",
- "Wcvdot= ((mdot*10)/9)*(-deltah+(V1**2-V2**2)/(2*1000)+g*(0-Z2)/1000)",
- "",
- "print '-> The power input to the motor is', round(Wcvdot,2),'KW.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The power input to the motor is -1.53 KW."
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1=0.1 # pressure in bar",
- "x1= 0.95 # Quality",
- "p2= 0.1 # pressure in bar",
- "t2= 45.0 # temperature in deg celcius",
- "t3=20.0 # temperature of cooling entry in deg cel",
- "t4=35.0 # temperature of cooling exit",
- "",
- "hf= 191.53 # Enthalpy in KJ/kg",
- "hg= 2584.7 # Enthalpy in KJ/kg",
- "h2=188.45 # Assumption at states 2,3 and 4, h is approx equal to hf(T), in kJ/kg",
- "deltah4_3= 62.7 # Assumption 4, in kJ/kg",
- "",
- "",
- "h1= hf + x1*(hg-hf)",
- "ratio= (h1-h2)/(deltah4_3)",
- "QRate= (h2-h1) # Part B",
- "",
- "print '-> The rate of the mass flow rate of the cooling water to the mass flow rate of the condenstaing stream is (m3dot/m1dot)',round(ratio,2)",
- "print '-> The rate of energy transfer from the condensing steam to the cooling water of the steam passing through the condenser is',round(QRate,2),'kJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The rate of the mass flow rate of the cooling water to the mass flow rate of the condenstaing stream is (m3dot/m1dot) 36.31",
- "-> The rate of energy transfer from the condensing steam to the cooling water of the steam passing through the condenser is -2276.59 kJ/kg."
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 293.0 # In kelvin",
- "P1= 1.01325 * (10**5) # In pascal",
- "V1max= 1.3 # maximum velocity of entering air in m/s",
- "T2max= 305.0 # maximum temperature at the exit in kelvin",
- "pec= -80.0 # power received by electronic components in watt",
- "Pf= -18.0 # Power received by fan in watt",
- "R= 8.314 # Universal gas constant",
- "M= 28.97*(10**(-3)) # Molar mass of air in kg",
- "Qcvdot=0 # Heat transfer from the outer surface of the electronics enclosure to the surroundings is negligible.",
- "Cp= 1.005*(10**3) # in j/kg*k",
- "pi=3.14",
- "",
- "",
- "Wcvdot = pec +Pf # total electric power provided to electronic components and fan in watt",
- "mdotmin= (-Wcvdot)/(Cp*(T2max-T1)) # minimum mass flow rate",
- "v1= ((R/M)*T1)/P1 # specific volume",
- "A1min = (mdotmin*v1)/V1max",
- "D1min = (4*A1min/(pi))**(0.5)",
- "",
- "print '-> The smallest fan inlet diameter is',round(D1min*100,2),'cm.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The smallest fan inlet diameter is 8.13 cm."
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "P1 = 20.0 # pressure in supply line in bars",
- "P2 = 1.0 # exhaust pressure in bar",
- "T2 = 120.0 # exhaust temperature in degree celcius",
- "",
- "hf1 = 908.79 # Enthalpy in kj/kg",
- "hg1 = 2799.5 # Enthalpy in kj/kg",
- "",
- "h2 = 2766.6 # in kj/kg",
- "h1 = h2 # from throttling process assumption",
- "",
- "",
- "x1 = (h1-hf1)/(hg1-hf1)",
- "",
- "print '-> The quality of the steam in the supply line is',round(x1,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The quality of the steam in the supply line is 0.98"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "P1 = 1.0 # pressure of industrial discharge in bar",
- "T1 = 478.0 # temperature of industrial discharge in kelvin",
- "m1dot = 69.78 # mass flow rate of industrial discharge in kg/s",
- "T2 = 400.0 # temperature of exit products from steam generator in kelvin",
- "P2 = 1.0 # pressure of exit products from steam generator in bar",
- "P3 = 0.275 # pressure of water stream entering the generator in Mpa",
- "T3 = 38.9 # temperature of water stream entering the generator in degree celcius",
- "m3dot = 2.079 # mass flow rate of water stream entering in kg/s",
- "P5 = 0.07 # exit pressure of the turbine in bars",
- "x5 = 0.93 # quality of turbine exit",
- "",
- "m2dot = m1dot # since gas and water streams do not mix",
- "m5dot = m3dot # --DO",
- "",
- "h1 = 480.3 # in kj/kg",
- "h2 = 400.98 # in Kj/kg",
- "h3 = 162.9 # assumption: h3 = hf(T3), units in Kj/kg",
- "hf5 = 161.0 # in kj/kg",
- "hg5 = 2571.72 # in kj/kg",
- "",
- "P4 = P3 # from the assumption that there is no pressure drop for water flowing through the steam generator",
- "T4 = 180 # in degree celcius",
- "",
- "h5 = hf5 + x5*(hg5-hf5)",
- "Wcvdot = m1dot*h1 + m3dot*h3 - m2dot*h2 - m5dot*h5",
- "h4 = h3 + (m1dot/m3dot)*(h1 -h2) # from steady state energy rate balance",
- " # interpolating in table A-4, with these P4 and h4",
- "print '-> The power developed by the turbine is ',round(Wcvdot,2),'kJ/s.'",
- "print '-> Turbine inlet temperature is',round(T4,2),'degree celcius.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The power developed by the turbine is 877.84 kJ/s.",
- "-> Turbine inlet temperature is 180.0 degree celcius."
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "V = 0.85 # volume of tank in m^3",
- "T1 = 260.0 # initial temperature of the tank in degree celcius",
- "X1 = 0.7 # initial quality",
- "",
- "uf1 = 1128.4 # in kg/kg",
- "ug1 = 2599.0 # in kg/kg",
- "",
- "vf1 = 1.2755e-3 # in m^3/kg",
- "vg1 = 0.04221 # in m^3/kg",
- "",
- "",
- "",
- "u2 = 2599.0 # units in KJ/kg ",
- "v2 = 42.21e-3 # units in m^3/Kg",
- "he = 2796.6 # units in KJ/kg",
- "",
- "u1 = uf1 + X1*(ug1-uf1) # in kj/kg",
- "v1 = vf1 + X1*(vg1-vf1) # in m^3/kg",
- "m1 = V/v1 # initial mass in kg",
- "m2 = V/v2 # final mass in kg",
- "U2 = m2*u2 # final internal energy in KJ",
- "U1 = m1*u1 # initial internal energy in KJ",
- "Qcv = (U2-U1) - he*(m2-m1) ",
- "",
- "print '-> The amount of heat transfer is',round(Qcv,2),'KJ.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The amount of heat transfer is 14162.16 KJ."
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Pv = 15.0 # pressure in the vessel in bar",
- "Tv = 320.0 # temperature in the vessel in degree celcius",
- "Vt = 0.6 # volume of a tank in m^3",
- "Tt = 400.0 # temperature in the tank in degree celcius when the tank is full",
- "",
- "m1 = 0",
- "u1 = 0",
- "",
- "v2 = 0.203 # Volume in m^3/kg",
- "m2 = Vt/v2 # mass within the tank at the end of the process in kg",
- "hi = 3081.9 # in kj/kg",
- "u2 = 2951.3 # in kj/kg",
- "",
- "deltaUcv = m2*u2-m1*u1",
- "Wcv = hi*(m2-m1)-deltaUcv",
- "",
- "print '-> The amount of work developed by the turbine is ',round(Wcv,2),'kJ.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The amount of work developed by the turbine is 386.01 kJ."
- ]
- }
- ],
- "prompt_number": 11
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_5_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_5_2.ipynb
deleted file mode 100644
index c916acae..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_5_2.ipynb
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 5"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "W = 410.00 # net work output in kj claimed ",
- "Q = 1000.00 # energy input by heat transfer in kj",
- "Tc = 300.00 # temperature of cold reservoir in kelvin",
- "TH = 500.00 # temperature of hot reservoir in kelvin",
- "",
- "eta = W/Q # thermal efficiency",
- "etamax = 1-(Tc/TH)",
- "",
- "print '-> Eta = ',round(eta,4)",
- "print '-> Etamax = ',round(etamax,4)",
- "print '-> Since eta is more than etamax, the claim is not authentic'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Eta = 0.41",
- "-> Etamax = 0.4",
- "-> Since eta is more than etamax, the claim is not authentic"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Qcdot = 8000.00 # in kj/h",
- "Wcycledot = 3200.00 # in kj/h",
- "Tc = 268.00 # temperature of compartment in kelvin",
- "TH = 295.00 # temperature of the surrounding air in kelvin",
- "",
- "beta = Qcdot/Wcycledot # coefficient of performance",
- "betamax = Tc/(TH-Tc) # reversible coefficient of performance",
- "",
- "print '-> Coefficient of performance is ',round(beta,3)",
- "print '-> Coefficient of performance of a reversible cycle is ',round(betamax,3)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Coefficient of performance is 2.5",
- "-> Coefficient of performance of a reversible cycle is 9.926"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Tc = 283.0 # in kelvin",
- "TH = 295.0 # in kelvin",
- "QH = 5*(10**5) # in kj per day",
- "",
- "Wcyclemin = (1-(Tc/TH))*QH",
- "",
- "print '-> Minimum theoretical work input for one day of operation in kJ is: ',round(Wcyclemin,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Minimum theoretical work input for one day of operation in kJ is: 20338.98"
- ]
- }
- ],
- "prompt_number": 3
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_6_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_6_2.ipynb
deleted file mode 100644
index d31bd424..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_6_2.ipynb
+++ /dev/null
@@ -1,626 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 6"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T = 373.15 # temperature in kelvin",
- "",
- "",
- "p = 1.014*(10**5) # pressure in pascal",
- "vg = 1.673",
- "vf = 1.0435e-3",
- "sg = 7.3549",
- "sf = 1.3069",
- "",
- "w = p*(vg-vf)*(10**(-3))",
- "Q = T*(sg-sf)",
- "",
- "print '-> The work per unit mass is',round(w,3),'KJ/kg.'",
- "print '-> The heat transfer per unit mass is ',round(Q,2),'KJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The work per unit mass is 169.536 KJ/kg.",
- "-> The heat transfer per unit mass is 2256.81 KJ/kg."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "\"\"\"",
- "1. The water in the piston\u2013cylinder assembly is a closed system.",
- "",
- "2. There is no heat transfer with the surroundings.",
- "",
- "3. The system is at an equilibrium state initially and finally. There is no",
- "change in kinetic or potential energy between these two states.\"\"\"",
- "",
- "ug = 2506.5 # in kj/kg",
- "uf = 418.94 # in kj/kg",
- "sg = 7.3549",
- "sf = 1.3069",
- "",
- "",
- "W = -(ug-uf)",
- "sigmabym = (sg-sf)",
- "",
- "print '-> The net work per unit mass is ',round(W,2),'KJ/kg.'",
- "print '-> The amount of entropy produced per unit mass is ',round(sigmabym,2),'kJ/kg.k.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The net work per unit mass is -2087.56 KJ/kg.",
- "-> The amount of entropy produced per unit mass is 6.05 kJ/kg.k."
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 273.0 # initial temperature of saturated vapor in kelvin",
- "P2 = 0.7*(10**6) # final pressure in pascal",
- "",
- "u1 = 227.06 # in kj/kg",
- "",
- "u2s = 244.32 # in kj/kg",
- " ",
- "Wmin = u2s-u1",
- "",
- "print '-> The minimum theoretical work input required per unit mass of refrigerant is: ',round(Wmin,2),'kJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The minimum theoretical work input required per unit mass of refrigerant is: 17.26 kJ/kg."
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Qdot = -1.2 # in kilo watt",
- "Tb = 300.0 # in kelvin",
- "Tf = 293.0 # in kelvin",
- "",
- "sigmadot = -Qdot/Tb",
- "",
- "sigmadt = -Qdot/Tf",
- "",
- "print '-> The rate of entropy production with gearbox as system is ',round(sigmadot,5),'kw/k.'",
- "print '-> The rate of entropy production with gearbox + sorrounding as system is',round(sigmadt,5),'kw/k.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The rate of entropy production with gearbox as system is 0.004 kw/k.",
- "-> The rate of entropy production with gearbox + sorrounding as system is 0.0041 kw/k."
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Tmi = 1200.0 # initial temperature of metal in kelvin",
- "cm = 0.42 # specific heat of metal in KJ/kg.k",
- "mm = 0.3 # mass of metal in kg",
- "Twi = 300.0 # initial temperature of water in kelvin",
- "cw = 4.2 # specific heat of water in KJ/Kg.k",
- "mw = 9.0 # mass of water in kg",
- "",
- "import math",
- "Tf = (mw*(cw/cm)*Twi+mm*Tmi)/(mw*(cw/cm)+mm)",
- "",
- "sigma = mw*cw*math.log(Tf/Twi)+mm*cm*math.log(Tf/Tmi)",
- "",
- "print '-> The final equilibrium temperature of the metal bar and the water is',round(Tf,2),' kelvin.'",
- "print '-> The amount of entropy produced is:',round(sigma,2),'kJ/k.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The final equilibrium temperature of the metal bar and the water is 302.99 kelvin.",
- "-> The amount of entropy produced is: 0.2 kJ/k."
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "P1 = 30.0 # pressure of steam entering the turbine in bar",
- "T1 = 400.0 # temperature of steam entering the turbine in degree celcius",
- "V1 = 160.0 # velocity of steam entering the turbine in m/s",
- "T2 = 100.0 # temperature of steam exiting in degree celcius",
- "V2 = 100.0 # velocity of steam exiting in m/s",
- "Wcvdot = 540.0 # work produced by turbine in kJ/kg of steam",
- "Tb = 350.0 # temperature of the boundary in kelvin",
- "",
- "h1 = 3230.9 # specific enthalpy at entry in Kj/kg",
- "h2 = 2676.1 # specific enthalpy at exit in kj/kg",
- "",
- "",
- "Qcvdot = Wcvdot + (h2 - h1)+ (V2**2-V1**2)/(2*(10**3)) # heat transfer rate",
- "",
- "s2 = 7.3549 # in kj/kg.k",
- "s1 = 6.9212 # in kj/kg.k",
- "",
- "sigmadot = -(Qcvdot/Tb) + (s2-s1)",
- "",
- "print '-> The rate at which entropy is produced within the turbine per kg of steam flowing is',round(sigmadot,2),'kJ/kg.k.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The rate at which entropy is produced within the turbine per kg of steam flowing is 0.5 kJ/kg.k."
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 294.0 # entry temperature of air in kelvin",
- "P1 = 5.1 # entry pressure of air in bars",
- "T2 = 352.0 # exit temperature of hot stream in kelvin",
- "P2 = 1.0 # exit pressure of hot stream in bars",
- "T3 = 255.0 # exit temperature of cold stream in kelvin",
- "P3 = 1.0 # exit pressure of cold stream in bars",
- "cp = 1.0 # in kj/kg.k",
- "",
- "import math",
- "R = 8.314/28.97",
- "se = 0.4*(cp*math.log((T2)/(T1))-R*math.log(P2/P1)) + 0.6*(cp*math.log((T3)/(T1))-R*math.log(P3/P1))",
- " # specific entropy in kj/kg.k",
- "",
- "",
- "print '-> Specific entropy in kj/kg.k = ',round(se,3),' KJ/kg.'",
- "print '-> Since se > 0, the claim of the writer is true'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Specific entropy in kj/kg.k = 0.454 KJ/kg.",
- "-> Since se > 0, the claim of the writer is true"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "P1 = 3.5 # pressure of refrigerant entering the compressor in bars",
- "T1 = 268.0 # temperature of refrigerant entering the compressor in kelvin",
- "P2 = 14.0 # pressure of refrigerant entering the condenser in bars",
- "T2 = 348.0 # temperature of refrigerant entering the condenser in kelvin",
- "P3 = 14.0 # pressure of refrigerant exiting the condenser in bars",
- "T3 = 301.0 # temperature of refrigerant exiting the condenser in kelvin",
- "P4 = 3.5 # pressure of refrigerant after passing through expansion valve in bars",
- "P5 = 1.0 # pressure of indoor return air entering the condenser in bars",
- "T5 = 293.0 # temperature of indoor return air entering the condenser in kelvin",
- "AV5 = 0.42 # volumetric flow rate of indoor return air entering the condenser in m^3/s",
- "P6 = 1.0 # pressure of return air exiting the condenser in bar",
- "T6 = 323.0 # temperature of return air exiting the condenser in kelvin",
- "",
- "",
- "s1 = 0.9572 # in kj/kg.k",
- "s2 = 0.98225 # in kj/kg.k",
- "h2 = 294.17 # in kj/kg",
- "s3 = 0.2936 # in kj/kg.k",
- "h3 = 79.05 # in kj/kg",
- "",
- "h4 = h3 # since expansion through valve is throttling process",
- "",
- "hf4 = 33.09 # in kj/kg",
- "hg4 = 246.00 # in kj/kg",
- "sf4 = 0.1328 # in kj/kg.k",
- "sg4 = 0.9431 # in kj/kg.k",
- "cp = 1.005 # in kj/kg.k",
- "",
- "import math",
- "x4 = (h4-hf4)/(hg4-hf4) # quality at state 4",
- "s4 = sf4 + x4*(sg4-sf4) # specific entropy at state 4",
- "",
- "v5 = ((8314/28.97)*T5)/(P5*(10**5)) # specific volume at state 5",
- "mairdot = AV5/v5 ",
- "h6 = cp*T6",
- "h5 = cp*T5",
- "mrefdot = mairdot*(h6-h5)/(h2-h3)",
- "deltaS65 = cp*math.log(T6/T5)-(8.314/28.97)*math.log(P6/P5) # change in specific entropy",
- "sigmacond = (mrefdot*(s3-s2)) + (mairdot*(deltaS65))",
- "",
- "sigmacomp = mrefdot*(s2-s1)",
- "",
- "sigmavalve = mrefdot *(s4-s3)",
- "",
- "print '-> The rates of entropy production for control volume enclosing the condenser is ',sigmacond,'kW/K.'",
- "print '-> The rates of entropy production for control volume enclosing the compressor is ',sigmacomp,'kW/K.'",
- "print '-> The rates of entropy production for control volume enclosing the expansion valve is ',sigmavalve,'kW/K.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The rates of entropy production for control volume enclosing the condenser is 0.000724165354577 kW/K.",
- "-> The rates of entropy production for control volume enclosing the compressor is 0.00175361560919 kW/K.",
- "-> The rates of entropy production for control volume enclosing the expansion valve is 0.000988192525533 kW/K."
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "P1 = 1.00 # initial pressure in bar",
- "T1 = 300.00 # initial temperature in kelvin",
- "T2 = 650.00 # final temperature in kelvin",
- "",
- "pr2 = 21.86 ",
- "pr1 = 1.3860",
- "k = 1.39 # From table A-20",
- "",
- "p2 = P1*(pr2/pr1)",
- "p2a = P1*((T2/T1)**(k/(k-1)))",
- "",
- "print '-> P2 = ',p2,'bar.'",
- "print '-> Part(b) IT software problem'",
- "print '-> P2a = ',p2a,'bar.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> P2 = 15.772005772 bar.",
- "-> Part(b) IT software problem",
- "-> P2a = 15.7324909817 bar."
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "m1 = 5.00 # initial mass in kg",
- "P1 = 5.00 # initial pressure in bar",
- "T1 = 500.00 # initial temperature in kelvin",
- "P2 = 1.00 # final pressure in bar",
- "",
- "pr1 = 8.411",
- "",
- "",
- "",
- "T2 = 317.00 # in kelvin",
- "",
- "pr2 = (P2/P1)*pr1",
- "m2 = (P2/P1)*(T1/T2)*m1",
- "",
- "print '-> The amount of mass remaining in the tank is ',m2,'kg.'",
- "print 'and its temperature is ',T2,'kelvin.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The amount of mass remaining in the tank is 1.57728706625 kg.",
- "and its temperature is 317.0 kelvin."
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "P1 = 1.00 # inlet pressure in bar",
- "T1 = 593.00 # inlet temperature in kelvin",
- "P2 = 1.00 # exit pressure in bar",
- "eta =0.75 # turbine efficiency",
- "",
- "h1 = 3105.6 # in Kj/kg",
- "s1 = 7.5308 # in kj/kg.k",
- "h2s = 2743.00 # in kj/kg",
- "",
- "w = eta*(h1 - h2s)",
- "",
- "print '-> The work developed per unit mass of steam flowing through is ',w,'kJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The work developed per unit mass of steam flowing through is 271.95 kJ/kg."
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "P1 = 3.00 # pressure of air entering in bar",
- "T1 = 390.00 # temperature of air entering in kelvin",
- "P2 = 1.00 # pressure of exit air",
- "Wcvdot = 74.00 # work developed in kj/kg",
- "",
- "h1 = 390.88 # in kj/kg",
- "pr1 = 3.481",
- "",
- "h2s = 285.27 # in kj/kg",
- "",
- "pr2 = (P2/P1)*pr1",
- "Wcvdots = h1 - h2s",
- "eta = Wcvdot/Wcvdots",
- "",
- "print '-> The turbine efficiency is ',round(eta,4),'.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The turbine efficiency is 0.7007 ."
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "P1 = 1.00 # pressure of entering steam in Mpa",
- "T1 = 593.00 # temperature of entering steam in kelvin",
- "V1 = 30.00 # velocity of entering steam in m/s",
- "P2 = 0.3 # pressure of exit steam in Mpa",
- "T2 = 453.00 # temperature of exit steam in kelvin",
- "",
- "h1 = 3093.9 # in kj/kg",
- "s1 = 7.1962 # in kj/kg.k",
- "h2 = 2823.9 # in kj/kg",
- "",
- "",
- "h2s = 2813.3 # in kj/kg",
- "",
- "V2squareby2 = h1 - h2 + (V1**2)/2000",
- "V2squareby2s = h1 - h2s + (V1**2)/2000",
- "eta = V2squareby2/V2squareby2s",
- "",
- "print '-> The nozzle efficiency is ',round(eta,4),'.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The nozzle efficiency is 0.9623 ."
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "h1 = 249.75 # in kj/kg",
- "h2 = 294.17 # in kj/kg",
- "mdot = 0.07 # in kg/s",
- "",
- "s1 = 0.9572 # in Kj/Kg.k",
- "h2s = 285.58 # in kj/kg",
- "",
- "wcvdot = -(mdot*(h2-h1))",
- "eta = (h2s-h1)/(h2-h1) ",
- "",
- "print '-> The power in is',wcvdot,'KW.'",
- "print '-> The isentropic efficiency is ',round(eta,3),'.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The power in is -3.1094 KW.",
- "-> The isentropic efficiency is 0.807 ."
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "P1 = 1.00 # pressure of entering air in bar",
- "T1 = 293.00 # temperature of entering air in kelvin",
- "P2 = 5.00 # pressure of exit air in bar",
- "n = 1.3",
- "R = 8.314/28.97",
- "",
- "h1 = 293.17 # in kj/kg",
- "h2 = 426.35 # in kj/kg",
- "",
- "T2 = T1*((P2/P1)**((n-1)/n)) # in kelvin",
- "wcvdot=((n*R)/(n-1))*(T1-T2) # in kj/kg",
- "Qcvdot= wcvdot + (h2-h1) # in kj/kg",
- "",
- "print '-> The work per unit mass passing through the device is',round(wcvdot,2),'kJ/kg.'",
- "print '-> The heat transfer per unit mass is ',round(Qcvdot,2),'kJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The work per unit mass passing through the device is -163.89 kJ/kg.",
- "-> The heat transfer per unit mass is -30.71 kJ/kg."
- ]
- }
- ],
- "prompt_number": 15
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_7_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_7_2.ipynb
deleted file mode 100644
index 0a0a3ee0..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_7_2.ipynb
+++ /dev/null
@@ -1,573 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 7"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "v = 2450.00 # volume of gaseous products in cm^3",
- "P = 7.00 # pressure of gaseous product in bar",
- "T = 867.00 # temperature of gaseous product in degree celcius",
- "T0 = 300.00 # in kelvin",
- "P0 = 1.013 # in bar",
- "",
- "u = 880.35 # in kj/kg",
- "u0 = 214.07 # in kj/kg",
- "s0T = 3.11883 # in kj/kg.k",
- "s0T0 = 1.70203 # in kj/kg.k",
- "",
- "import math",
- "e = (u-u0) + (P0*(8.314/28.97)*(((T+273)/P)-(T0/P0))) - T0*(s0T-s0T0-(8.314/28.97)*math.log(P/P0)) # kj/kg",
- "",
- "print '-> The specific exergy of the gas is ',round(e,3),'kJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The specific exergy of the gas is 368.912 kJ/kg."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "mR = 1.11 # mass of the refrigerant in kg",
- "T1 = -28.00 # initial temperature of the saturated vapor in degree celcius",
- "P2 = 1.4 # final pressure of the refrigerant in bar",
- "T0 = 293.00 # in kelvin",
- "P0 = 1.00 # in bar",
- "",
- "u1 = 211.29 # in kj/kg",
- "v1 = 0.2052 # in m^3/kg",
- "s1 = 0.9411 # in kj/kg.k",
- "u0 = 246.67 # in kj/kg",
- "v0 = 0.23349 # in m^3/kg",
- "s0 = 1.0829 # in kj/kg.k",
- "",
- "u2 = 300.16 # in kj/kg",
- "s2 = 1.2369 # in kj/kg.k",
- "v2 = v1",
- "",
- "E1 = mR*((u1-u0) + P0*(10**5)*(v1-v0)*(10**(-3))-T0*(s1-s0))",
- "E2 = mR*((u2-u0) + P0*(10**5)*(v2-v0)*(10**(-3))-T0*(s2-s0))",
- "",
- "print '-> Part(a) The initial exergy is ',round(E1,2),'kJ.'",
- "print '-> The final exergy is ',round(E2,2),'kJ.'",
- "print '-> The change in exergy of the refrigerant is ',round(E2-E1,2),'kJ.'",
- "",
- "",
- "deltaU = mR*(u2-u1)",
- "deltaPE = -deltaU",
- "deltaE = deltaPE",
- "",
- "print '-> Part(b)The change in exergy of the suspended mass is ',round(deltaE,3),'kJ.'",
- "",
- "",
- "deltaEiso = (E2-E1) + deltaE",
- "",
- "print '-> Part(c)The change in exergy of an isolated system of the vessel and pulley\u2013mass assembly is ',round(deltaEiso,2),'kJ.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Part(a) The initial exergy is 3.71 kJ.",
- "-> The final exergy is 6.15 kJ.",
- "-> The change in exergy of the refrigerant is 2.44 kJ.",
- "-> Part(b)The change in exergy of the suspended mass is -98.646 kJ.",
- "-> Part(c)The change in exergy of an isolated system of the vessel and pulley\u2013mass assembly is -96.2 kJ."
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T = 373.15 # initial temperature of saturated liquid in kelvin",
- "T0 = 293.15 # in kelvin",
- "P0 = 1.014 # in bar",
- "",
- "ug = 2506.5 # in kj/kg",
- "uf = 418.94 # in kj/kg",
- "vg = 1.673 # in m^3/kg",
- "vf = 1.0435*(10**(-3)) # in m^3/kg",
- "sg = 7.3549 # in kj/kg.k",
- "sf = 1.3069 # in kj/kg.k",
- "",
- "",
- "etaw = 0 # since p = p0",
- "Q = 2257 # in kj/kg,obtained from example 6.1",
- "etah = (1-(T0/T))*Q",
- "",
- "ed = 0 # since the process is accomplished without any irreversibilities",
- "deltae = ug-uf + P0*(10**5)*(vg-vf)/(10**3)-T0*(sg-sf)",
- "",
- "print '-> Part(a)the change in exergy is',round(deltae,2),'kJ/kg.'",
- "print '-> The exergy transfer accompanying work is',round(etaw,2),'kJ/kg.'",
- "print '-> The exergy transfer accompanying heat is',round(etah,2),'kJ/kg.'",
- "print '-> The exergy destruction is',round(ed,2),'kJ/kg.'",
- "",
- "",
- "Deltae = deltae # since the end states are same ",
- "Etah = 0 # since process is adiabatic",
- "W = -2087.56 # in kj/kg from example 6.2",
- "Etaw = W- P0*(10**5)*(vg-vf)/(10**3)",
- "Ed = -(Deltae+Etaw)",
- "",
- "print '-> Part(b)the change in exergy is ',round(Deltae,2),'kJ/kg.'",
- "print '-> The exergy transfer accompanying work is',round(Etaw,2),'kJ/kg.'",
- "print '-> The exergy transfer accompanying heat is',round(Etah,2),'kJ/kg.'",
- "print '-> The exergy destruction is',round(Ed,2),'kJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Part(a)the change in exergy is 484.13 kJ/kg.",
- "-> The exergy transfer accompanying work is 0.0 kJ/kg.",
- "-> The exergy transfer accompanying heat is 483.88 kJ/kg.",
- "-> The exergy destruction is 0.0 kJ/kg.",
- "-> Part(b)the change in exergy is 484.13 kJ/kg.",
- "-> The exergy transfer accompanying work is -2257.1 kJ/kg.",
- "-> The exergy transfer accompanying heat is 0.0 kJ/kg.",
- "-> The exergy destruction is 1772.97 kJ/kg."
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T0 = 293.00 # in kelvin",
- "Qdot = -1.2 # in KW, from example 6.4a",
- "Tb = 300.00 # temperature at the outer surface of the gearbox in kelvin from example 6.4a",
- "sigmadot = 0.004 # rate of entropy production in KW/k from example 6.4a",
- "",
- "R = -(1-T0/Tb)*Qdot # time rate of exergy transfer accompanying heat",
- "Eddot = T0*sigmadot # rate of exergy destruction",
- "",
- "print '-> Balance sheet'",
- "print '* Rate of exergy in high speed shaft 60Kw' ",
- "print '-> Disposition of the exergy: Rate of exergy out low-speed shaft 58.8Kw' ",
- "print '-> Heat transfer is',round(R,3),'kw.'",
- "print '-> Rate of exergy destruction is',round(Eddot,3),'kw.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Balance sheet",
- "* Rate of exergy in high speed shaft 60Kw",
- "-> Disposition of the exergy: Rate of exergy out low-speed shaft 58.8Kw",
- "-> Heat transfer is 0.028 kw.",
- "-> Rate of exergy destruction is 1.172 kw."
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1 = 3.0 # entry pressure in Mpa",
- "p2 = 0.5 # exit pressure in Mpa",
- "T1 = 320.0 # entry temperature in degree celcius",
- "T0 = 25.0 # in degree celcius",
- "p0 = 1.0 # in atm",
- "",
- "h1 = 3043.4 # in kj/kg",
- "s1 = 6.6245 # in kj/kg.k",
- "h2 = h1 # from reduction of the steady-state mass and energy rate balances",
- "s2 = 7.4223 # Interpolating at a pressure of 0.5 MPa with h2 = h1, units in kj/kg.k",
- "",
- "h0 = 104.89 # in kj/kg",
- "s0 = 0.3674 # in kj/kg.k",
- "",
- "ef1 = h1-h0-(T0+273)*(s1-s0) # flow exergy at the inlet",
- "ef2 = h2-h0-(T0+273)*(s2-s0) # flow exergy at the exit",
- "Ed = ef1-ef2 # the exergy destruction per unit of mass flowing is",
- "",
- "print '-> The specific flow exergy at the inlet is ',round(ef1,2),'kJ/kg.'",
- "print '-> The specific flow exergy at the exit is',round(ef2,2),'kJ/kg.'",
- "print '-> The exergy destruction per unit of mass flowing is',round(Ed,2),'kJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The specific flow exergy at the inlet is 1073.89 kJ/kg.",
- "-> The specific flow exergy at the exit is 836.15 kJ/kg.",
- "-> The exergy destruction per unit of mass flowing is 237.74 kJ/kg."
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 610.0 # temperature of the air entering heat exchanger in kelvin",
- "p1 = 10.0 # pressure of the air entering heat exchanger in bar",
- "T2 = 860.0 # temperature of the air exiting the heat exchanger in kelvin",
- "p2 = 9.70 # pressure of the air exiting the heat exchanger in bar",
- "T3 = 1020.0 # temperature of entering hot combustion gas in kelvin",
- "p3 = 1.10 # pressure of entering hot combustion gas in bar",
- "p4 = 1.0 # pressure of exiting hot combustion gas in bar",
- "mdot = 90.0 # mass flow rate in kg/s",
- "T0 = 300.0 # in kelvin",
- "p0 = 1.0 # in bar",
- "",
- "h1 = 617.53 # in kj/kg",
- "h2 = 888.27 # in kj/kg",
- "h3 = 1068.89 # in kj/kg",
- "",
- "\"\"\"From reduction of mass and energy rate balances for the control volume at",
- "steady state \"\"\"",
- "h4 = h3+h1-h2",
- "",
- "T4 = 778 # in kelvin",
- "",
- "print '-> The exit temperature of the combustion gas is',T4,'kelvin.'",
- "",
- "s2 = 2.79783 # in kj/kg.k",
- "s1 = 2.42644 # in kj/kg.k",
- "s4 = 2.68769 # in kj/kg.k",
- "s3 = 2.99034 # in kj/kg.k",
- "",
- "import math",
- "deltaR = (mdot*((h2-h1)-T0*(s2-s1-(8.314/28.97)*math.log(p2/p1))))/1000",
- "deltRc = mdot*((h4-h3)-T0*(s4-s3-(8.314/28.97)*math.log(p4/p3)))/1000",
- "",
- "print '-> The net change in the flow exergy rate from inlet to exit of compressed gas is',round(deltaR,3),'MW.'",
- "print '-> The net change in the flow exergy rate from inlet to exit of hot combustion gas is',round(deltRc,3),'MW.'",
- "",
- "Eddot = -deltaR-deltRc",
- "",
- "print '-> The rate exergy destroyed, is',round(Eddot,3),'MW.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The exit temperature of the combustion gas is 778 kelvin.",
- "-> The net change in the flow exergy rate from inlet to exit of compressed gas is 14.103 MW.",
- "-> The net change in the flow exergy rate from inlet to exit of hot combustion gas is -16.934 MW.",
- "-> The rate exergy destroyed, is 2.831 MW."
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1 = 30.0 # pressure of entering steam in bar",
- "t1 = 400.0 # temperature of entering steam in degree celcius",
- "v1 = 160.0 # velocity of entering steam in m/s",
- "t2 = 100.0 # temperature of exiting saturated vapor in degree celcius",
- "v2 = 100.0 # velocity of exiting saturated vapor in m/s",
- "W = 540.0 # rate of work developed in kj per kg of steam",
- "Tb = 350.0 # the temperature on the boundary where heat transfer occurs in kelvin",
- "T0 = 25.0 # in degree celcius",
- "p0 = 1.0 # in atm",
- "",
- "h1 = 3230.9 # in kj/kg",
- "s1 = 6.9212 # in kj/kg.k",
- "h2 = 2676.1 # in kj/kg",
- "s2 = 7.3549 # in kj/kg.k",
- "Q = -22.6 # in kj/kg",
- " ",
- "DELTAef = (h1-h2)-(T0+273)*(s1-s2)+(v1**2-v2**2)/(2*1000)",
- "Eq = (1-(T0+273)/Tb)*(Q) # exergy transfer accompanying heat in kj/kg",
- "Ed = ((1-(T0+273)/Tb)*(Q))-W+(DELTAef) # The exergy destruction determined by rearranging the steady-state form of the exergy ",
- " # rate balance",
- "",
- "print '-> Balance sheet'",
- "print '-> Net rate of exergy ',DELTAef,'kJ/kg,'",
- "print '-> Disposition of the exergy:'",
- "print '* Rate of exergy out'",
- "print '-> Work',W,'kJ/kg.'",
- "print '-> Heat transfer',-Eq,'.'",
- "print '\u2022 Rate of exergy destruction',Ed,'kJ/kg.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Balance sheet",
- "-> Net rate of exergy 691.8426 kJ/kg,",
- "-> Disposition of the exergy:",
- "* Rate of exergy out",
- "-> Work 540.0 kJ/kg.",
- "-> Heat transfer 3.35771428571 .",
- "\u2022 Rate of exergy destruction 148.484885714 kJ/kg."
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "m1dot = 69.78 # in kg/s",
- "p1 = 1.0 # in bar",
- "T1 = 478.0 # in kelvin",
- "T2 = 400.0 # in kelvin",
- "p2 = 1.0 # in bar",
- "p3 = 0.275 # in Mpa",
- "T3 = 38.9 # in degree celcius",
- "m3dot = 2.08 # in kg/s",
- "T4 = 180.0 # in degree celcius",
- "p4 = 0.275 # in Mpa",
- "p5 = 0.07 # in bar",
- "x5 = 0.93",
- "Wcvdot = 876.8 # in kW",
- "T0 = 298.0 # in kelvin",
- "",
- "",
- "h1 = 480.35 # in kj/kg",
- "h2 = 400.97 # in kj/kg",
- "s1 = 2.173 # in kj/kg",
- "s2 = 1.992 # in kj/kg",
- "",
- "h3 = 162.82 # in kj/kg",
- "s3 = 0.5598 # in kj/kg.k",
- "h5 = 2403.27 # in kj/kg",
- "s5 = 7.739 # in kj/kg.k",
- "",
- "h4 = 2825.0 # in kj/kg",
- "s4 = 7.2196 # in kj/kg.k",
- "import math",
- "netRE = m1dot*(h1-h2-T0*(s1-s2-(8.314/28.97)*math.log(p1/p2))) # the net rate exergy carried into the control volume",
- "netREout = m3dot*(h5-h3-T0*(s5-s3))",
- "Eddot = netRE + m3dot*(h3-h4-T0*(s3-s4)) # the rate exergy is destroyed in the heat-recovery steam generator",
- "",
- "EdDot = -Wcvdot + m3dot*(h4-h5-T0*(s4-s5)) # the rate exergy is destroyed in the tpurbine",
- "",
- "print '-> balance sheet'",
- "print '- Net rate of exergy in:',netRE,'kJ/kg.'",
- "print '-> Disposition of the exergy:'",
- "print '\u2022 Rate of exergy out'",
- "print '-> power developed',1772.8-netREout-Eddot-EdDot,'kJ/kg.'",
- "print '-> water stream ',netREout",
- "print '\u2022 Rate of exergy destruction'",
- "print '-> heat-recovery steam generator',Eddot,'kJ/kg'",
- "print '-> turbine',EdDot"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> balance sheet",
- "- Net rate of exergy in: 1775.34276 kJ/kg.",
- "-> Disposition of the exergy:",
- "\u2022 Rate of exergy out",
- "-> power developed 874.25724 kJ/kg.",
- "-> water stream 210.180672",
- "\u2022 Rate of exergy destruction",
- "-> heat-recovery steam generator 366.018792 kJ/kg",
- "-> turbine 322.343296"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T0 = 273.00 # in kelvin",
- "pricerate = 0.08 # exergy value at $0.08 per kw.h",
- "",
- "sigmadotComp = 17.5e-4 # in kw/k",
- "sigmadotValve = 9.94e-4 # in kw/k",
- "sigmadotcond = 7.95e-4 # in kw/k",
- "",
- "EddotComp = T0*sigmadotComp # in kw",
- "EddotValve = T0*sigmadotValve # in kw",
- "Eddotcond = T0*sigmadotcond # in kw",
- "",
- "mCP = 3.11 # From the solution to Example 6.14, the magnitude of the compressor power in kW",
- "",
- "print '-> Daily cost in dollars of exergy destruction due to compressor irreversibilities = ',round(EddotComp*pricerate*24,3)",
- "print '-> Daily cost in dollars of exergy destruction due to irreversibilities in the throttling valve = ',round(EddotValve*pricerate*24,3)",
- "print '-> Daily cost in dollars of exergy destruction due to irreversibilities in the condenser = ',round(Eddotcond*pricerate*24,3)",
- "print '-> Daily cost in dollars of electricity to operate compressor = ',round(mCP*pricerate*24,3)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Daily cost in dollars of exergy destruction due to compressor irreversibilities = 0.917",
- "-> Daily cost in dollars of exergy destruction due to irreversibilities in the throttling valve = 0.521",
- "-> Daily cost in dollars of exergy destruction due to irreversibilities in the condenser = 0.417",
- "-> Daily cost in dollars of electricity to operate compressor = 5.971"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "EfFdot = 100.00 # exergy rate of fuel entering the boiler in MW",
- "cF = 1.44 # unit cost of fuel in cents per kw.h",
- "Zbdot = 1080.00 # the cost of owning and operating boiler in dollars per hour",
- "Ef1dot = 35.00 # exergy rate of exiting steam from the boiler in MW",
- "p1 = 50.00 # pressure of exiting steam from the boiler in bar",
- "T1 = 466.00 # temperature of exiting steam from the boiler in degree celcius",
- "Ztdot = 92.00 # the cost of owning and operating turbine in dollars per hour",
- "p2 = 5.00 # pressure of exiting steam from the turbine in bars",
- "T2 = 205.00 # temperature of exiting steam from the turbine in degree celcius",
- "m2dot = 26.15 # mass flow rate of exiting steam from the turbine in kg/s",
- "T0 = 298.00 # in kelvin ",
- "",
- "",
- "h1 = 3353.54 # in kj/kg",
- "h2 = 2865.96 # in kj/kg",
- "s1 = 6.8773 # in kj/kg.k",
- "s2 = 7.0806 # in kj/kg.k",
- "",
- "Wedot = m2dot *(h1-h2)/1000 # power in MW",
- "Ef2dot = Ef1dot+m2dot*(h2-h1-T0*(s2-s1))/1000 # the rate exergy exits with the steam in MW",
- "",
- "print '-> For the turbine,the power is',round(Wedot,2),'MW.'",
- "print '-> For the turbine,the rate exergy exits with the steam is',round(Ef2dot,2),' MW.'",
- "",
- "c1 = cF*(EfFdot/Ef1dot) + ((Zbdot/Ef1dot)/10**3)*100 # unit cost of exiting steam from boiler in cents/Kw.h",
- "c2 = c1 # Assigning the same unit cost to the steam entering and exiting the turbine",
- "ce = c1*((Ef1dot-Ef2dot)/Wedot) + ((Ztdot/Wedot)/10**3)*100 # unit cost of power in cents/kw.h",
- "",
- "print '-> The unit costs of the steam exiting the boiler of exergy is:',round(c1,2),' cents per kw.h.'",
- "print '-> The unit costs of the steam exiting the turbine of exergy is:',round(c2,2),' cents per kw.h.'",
- "print '-> Unit cost of power is:',ce,'cents per kw.h.'",
- "",
- "C2dot = (c2*Ef2dot*10**3)/100 # cost rate for low-pressure steam in dollars per hour",
- "Cedot = (ce*Wedot*10**3)/100 # cost rate for power in dollars per hour",
- "",
- "print '-> The cost rate of the steam exiting the turbine is:',round(C2dot,2),' dollars per hour.'",
- "print '-> The cost rate of the power is: ',round(Cedot,2),' dollars per hour.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> For the turbine,the power is 12.75 MW.",
- "-> For the turbine,the rate exergy exits with the steam is 20.67 MW.",
- "-> The unit costs of the steam exiting the boiler of exergy is: 7.2 cents per kw.h.",
- "-> The unit costs of the steam exiting the turbine of exergy is: 7.2 cents per kw.h.",
- "-> Unit cost of power is: 8.81617975223 cents per kw.h.",
- "-> The cost rate of the steam exiting the turbine is: 1487.92 dollars per hour.",
- "-> The cost rate of the power is: 1124.08 dollars per hour."
- ]
- }
- ],
- "prompt_number": 10
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8_2.ipynb
deleted file mode 100644
index 551d434d..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_8_2.ipynb
+++ /dev/null
@@ -1,576 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 8"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "p1 = 8.0 # pressure of saturated vapor entering the turbine in MPa",
- "p3 = 0.008 # pressure of saturated liquid exiting the condenser in MPa",
- "Wcycledot = 100.00 # the net power output of the cycle in MW",
- "",
- "h1 = 2758.0 # in kj/kg",
- "s1 = 5.7432 # in kj/kg.k",
- "s2 = s1",
- "sf = 0.5926 # in kj/kg.k",
- "sg = 8.2287 # in kj/kg.k",
- "hf = 173.88 # in kj/kg",
- "hfg = 2403.1 # in kj/kg",
- "v3 = 1.0084e-3 # in m^3/kg",
- "",
- "h3 = 173.88 # in kj/kg",
- "",
- "x2 = (s2-sf)/(sg-sf) # quality at state 2",
- "h2 = hf + x2*hfg",
- "p4 = p1",
- "h4 = h3 + v3*(p4-p3)*10**6*10**-3 # in kj/kg",
- "",
- "wtdot = h1 - h2",
- "wpdot = h4-h3",
- "",
- "qindot = h1-h4",
- "",
- "eta = (wtdot-wpdot)/qindot # thermal efficiency)",
- "",
- "print '-> The thermal efficiency for the cycle is ',round(eta,2)",
- "",
- "bwr = wpdot/wtdot # back work ratio",
- "",
- "print '-> The back work ratio is ',bwr",
- "",
- "mdot = (Wcycledot*10**3*3600)/((h1-h2)-(h4-h3)) # mass flow rate in kg/h",
- "",
- "print '-> The mass flow rate of the steam is',round(mdot,2),'kg/h .'",
- " ",
- "Qindot = mdot*qindot/(3600*10**3) # in MW",
- "",
- "print '-> The rate of heat transfer,Qindot , into the working fluid as it passes through the boiler, is',round(Qindot,2),'MW.'",
- "",
- "Qoutdot = mdot*(h2-h3)/(3600*10**3) # in MW",
- "",
- "print '-> The rate of heat transfer,Qoutdot from the condensing steam as it passes through the condenser, is',round(Qoutdot,2),'MW.'",
- "",
- "hcwout= 146.68 # in kj/kg",
- "hcwin= 62.99 # in kj/kg",
- "mcwdot= (Qoutdot*10**3*3600)/(hcwout-hcwin) # in kg/h",
- "",
- "print '-> The mass flow rate of the condenser cooling water is',round(mcwdot,2),'kg/ h.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency for the cycle is 0.37",
- "-> The back work ratio is 0.00836692570976",
- "-> The mass flow rate of the steam is 376902.57 kg/h .",
- "-> The rate of heat transfer,Qindot , into the working fluid as it passes through the boiler, is 269.7 MW.",
- "-> The rate of heat transfer,Qoutdot from the condensing steam as it passes through the condenser, is 169.7 MW.",
- "-> The mass flow rate of the condenser cooling water is 7299844.18 kg/ h."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "etat= .85 # given that the turbine and the pump each have an isentropic efficiency of 85%",
- "h1 = 2758.0 # in kj/kg",
- "s1 = 5.7432 # in kj/kg.k",
- "h1 = 2758.0 # in kj/kg",
- "h2s = 1794.8 # in kj/kg",
- "h3 = 173.88 # in kj/kg",
- "",
- "h2 = h1 - etat*(h1-h2s) # in kj/kg",
- "wpdot = 8.06/etat # where the value 8.06 is obtained from example 8.1",
- "",
- "h4 = h3 + wpdot",
- "",
- "eta = ((h1-h2)-(h4-h3))/(h1-h4) # thermal efficiency",
- "",
- "print '-> Thermal efficiency is: ',round(eta,3)",
- "",
- "Wcycledot = 100 # given,a net power output of 100 MW",
- "mdot = (Wcycledot*(10**3)*3600)/((h1-h2)-(h4-h3))",
- "print '-> The mass flow rate of steam, in kg/h, for a net power output of 100 MW is ',round(mdot,3),'kg/h.'",
- "",
- "Qindot = mdot*(h1-h4)/(3600 * 10**3)",
- "print '-> The rate of heat transfer Qindot into the working fluid as it passes through the boiler, is ',round(Qindot,3),'MW.'",
- "",
- "Qoutdot = mdot*(h2-h3)/(3600*10**3)",
- "print '-> The rate of heat transfer Qoutdotfrom the condensing steam as it passes through the condenser, is ',round(Qoutdot,3),'MW.'",
- "",
- "hcwout = 146.68 # in kj/kg",
- "hcwin = 62.99 # in kj/kg",
- "mcwdot = (Qoutdot*10**3*3600)/(hcwout-hcwin)",
- "print '-> The mass flow rate of the condenser cooling water, is: ',round(mcwdot,3),'kg/h.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Thermal efficiency is: 0.314",
- "-> The mass flow rate of steam, in kg/h, for a net power output of 100 MW is 444863.139 kg/h.",
- "-> The rate of heat transfer Qindot into the working fluid as it passes through the boiler, is 318.156 MW.",
- "-> The rate of heat transfer Qoutdotfrom the condensing steam as it passes through the condenser, is 218.156 MW.",
- "-> The mass flow rate of the condenser cooling water, is: 9384172.373 kg/h."
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 480.0 # temperature of steam entering the first stage turbine in degree celcius",
- "p1 = 8.0 # pressure of steam entering the first stage turbine in MPa",
- "p2 = 0.7 # pressure of steam exiting the first stage turbine in MPa",
- "T3 = 440.0 # temperature of steam before entering the second stage turbine ",
- "Pcond = 0.008 # condenser pressure in MPa",
- "Wcycledot = 100.0 # the net power output in MW",
- "",
- "h1 = 3348.4 # in kj/kg",
- "s1 = 6.6586 # in kj/kg.k",
- "s2 = s1 # isentropic expansion through the first-stage turbine",
- "sf = 1.9922 # in kj/kg.k",
- "sg = 6.708 # in kj/kg.k",
- "hf = 697.22 # in kj/kg",
- "hfg = 2066.3 # in kj/kg",
- "",
- "x2 = (s2-sf)/(sg-sf)",
- "h2 = hf + x2*hfg",
- "h3 = 3353.3 # in kj/kg",
- "s3 = 7.7571 # in kj/kg.k",
- "s4 = s3 # isentropic expansion through the second-stage turbine",
- "sf = 0.5926 # in kj/kg.k",
- "sg = 8.2287 # in kj/kg.k",
- "hf = 173.88 # in kj/kg",
- "hfg = 2403.1 # in kj/kg",
- "",
- "x4 = (s4-sf)/(sg-sf)",
- "h4 = hf + x4*hfg",
- "",
- "h5 = 173.88",
- "h6 = 181.94",
- "",
- "eta = ((h1-h2)+(h3-h4)-(h6-h5))/((h1-h6)+(h3-h2))",
- "print '-> The thermal efficiency of the cycle is:',round(eta,2)",
- "",
- "mdot = (Wcycledot*3600*10**3)/((h1-h2)+(h3-h4)-(h6-h5))",
- "print '-> The mass flow rate of steam, is:',round(mdot,2),'kg/h.'",
- "",
- "Qoutdot = (mdot*(h4-h5))/(3600*10**3)",
- "print '-> The rate of heat transfer Qoutdot from the condensing steam as it passes through the condenser, MW is',round(Qoutdot,2),'kg/h.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency of the cycle is: 0.4",
- "-> The mass flow rate of steam, is: 236344.68 kg/h.",
- "-> The rate of heat transfer Qoutdot from the condensing steam as it passes through the condenser, MW is 148.02 kg/h."
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "etat = 0.85 # given efficiency",
- "h1 = 3348.4",
- "h2s = 2741.8",
- "h3 = 3353.3",
- "h4s = 2428.5",
- "h5 = 173.88",
- "h6 = 181.94",
- "",
- "",
- "h2 = h1 - etat*(h1 - h2s) # The specific enthalpy at the exit of the first-stage turbine in kj/kg",
- "h4 = h3 - etat*(h3-h4s) # The specific enthalpy at the exit of the second-stage turbine in kj/kg",
- "eta = ((h1-h2)+(h3-h4)-(h6-h5))/((h1-h6)+(h3-h2)) ",
- "",
- "print '-> The thermal efficiency is: ',eta",
- "",
- "from numpy import linspace",
- "from pylab import *",
- "",
- "h2 = []",
- "h4 = []",
- "y = []",
- "x = linspace(0.85,1,50)",
- "for i in range(0,50):",
- " h2.append(i)",
- " h4.append(i)",
- " y.append(i)",
- " h2[i] = h1 - x[i]*(h1 - h2s) # The specific enthalpy at the exit of the first-stage turbine in kj/kg",
- " h4[i] = h3 - x[i]*(h3-h4s) # The specific enthalpy at the exit of the second-stage turbine in kj/kg",
- " y[i] = ((h1-h2[i])+(h3-h4[i])-(h6-h5))/((h1-h6)+(h3-h2[i])) ",
- "",
- "plot(x,y)",
- "xlabel('isentropic turbine efficiency')",
- "ylabel('cycle thermal efficiency')",
- "show()"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency is: 0.350865344714"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\nuJCXl2d8nJeXh+tNttILDw9Hr9dz5swZAO6++24AWrduzYABA0hNTTVXqEIIIarIbMkjJCSEw4cP\nk5ubS0lJCStXrqRfv35ljsnKyjK2INLT0wFo2bIlhYWFXLp0CYDLly+zceNGOnfubK5QhRBCVJHZ\nuq0cHR2ZP38+kZGRGAwGxo4di7e3N/Hx8QBMmDCBVatWsXjxYnQ6HU5OTqxYsQKAkydP8thjjwGg\n1+sZNmwYffr0MVeoQgghqqpGRk5q2IYNG5Snp6fy8PBQM2fOLPf8qVOnVGRkpPL391edOnVSn3/+\neZnn9Xq9CggIUI8++qjNxnnu3Dn1+OOPKy8vL+Xt7a1+/vlnm4zzvffeUz4+PsrX11cNGTJEFRUV\nWS3Os2fPqujoaOXn56fCwsLU/v37K32uLcR59OhRFRERoXx8fFSnTp3UnDlzbDLOayxxH1UnRlu6\nh24Wp6XuodGjR6s77rhD+fr6VnjMc889pzw8PJSfn59KT083/vxW7h+bSx56vV65u7urnJwcVVJS\novz9/VVGRkaZY9566y01bdo0pZT2wdeiRQtVWlpqfH7WrFlq6NChKioqymbjHDFihPrss8+UUkqV\nlpaq8+fP21ycOTk5ql27dsb/2QcNGqQWLVpktThffvll9fbbbyullDp06JB68MEHK32uLcR54sQJ\ntWvXLqWUUpcuXVIdO3a0yTivMfd9VN0YbekeqihOS95DP/74o0pPT68weaxbt0499NBDSimlduzY\nobp06VLp93cjNleepDLrQ+6++24uXrwIwMWLF2nZsiWOjloP3LFjx1i/fj3jxo0z64ys6sR54cIF\ntm7dypgxYwCti8/Z2dnm4mzWrBk6nY7CwkL0ej2FhYW4uLhYLc6DBw9y//33A+Dp6Ulubi6///57\npc61dpynTp3irrvuIiAgAAAnJye8vb3Jz8+3uTjBMvdRdWK0tXuoojgteQ+Fh4fTvHnzCp//9ttv\nGTlyJABdunTh/PnznDx58pbvH5tLHsePH6dt27bGx66urhw/frzMMU899RQHDhygTZs2+Pv7M2fO\nHONzL774Ih988AH16pn3rVUnzpycHFq3bs3o0aMJCgriqaeeorCw0ObibNGiBVOmTOGee+6hTZs2\n3H777fTq1ctqcfr7+/PNN98A2g393//+l2PHjlXqXFuI83q5ubns2rWLLl262GSclriPqhOjrd1D\n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\nhKiy/wc4PkEsSmSTZgAAAABJRU5ErkJggg==\n"
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 480.0 # temperature of steam entering the turbine in degree celcius",
- "p1 = 8.0 # pressure of steam entering the turbine in MPa",
- "Pcond = 0.008 # condenser pressure in MPa",
- "etat = 0.85 # turbine efficiency",
- "Wcycledot = 100.0 # net power output of the cycle",
- "",
- "",
- "h1 = 3348.4 # in kj/kg",
- "h2 = 2832.8 # in kj/kg",
- "s2 = 6.8606 # in kj/kg.k",
- "h4 = 173.88 # in kj/kg",
- "h3s = 2146.3 # in kj/kg",
- "",
- "h3 = h2 - etat*(h2-h3s)",
- "",
- "h6 = 697.22 # in kj/kg",
- "p5 = 0.7 # in MPa",
- "p4 = 0.008 # in MPa",
- "p7 = 8.0 # in MPa",
- "p6 = 0.7 # in MPa",
- "v4 = 1.0084e-3 # units in m^3/kg,obtained from steam tables",
- "v6 = 1.1080e-3 # units in m^3/kg,obtained from steam tables",
- "",
- "h5 = h4 + v4*(p5-p4)*10**6*10**-3 # in kj/kg",
- "h7 = h6 + v6*(p7-p6)*10**3 # in kj/kg",
- "",
- "y = (h6-h5)/(h2-h5)",
- "",
- "wtdot = (h1-h2) + (1-y)*(h2-h3) # the total turbine work output, units in KJ/Kg",
- "wpdot = (h7-h6) + (1-y)*(h5-h4) # The total pump work per unit of mass passing through the first-stage turbine,in KJ/kg",
- "qindot = h1 - h7 # in kj/kg",
- "eta = (wtdot-wpdot)/qindot",
- "",
- "print '-> The thermal efficiency is:',round(eta,2)",
- "",
- "m1dot = (Wcycledot*3600*10**3)/(wtdot-wpdot)",
- "",
- "print '-> The mass flow rate of steam entering the first turbine stage, is:',round(m1dot,2),'kg/h.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency is: 0.37",
- "-> The mass flow rate of steam entering the first turbine stage, is: 368948.05 kg/h."
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "h1 = 3348.4 # in kj/kg",
- "s1 = 6.6586 # in kj/kg.k",
- "h2 = 2963.5 # in kj/kg",
- "h3 = 2741.8 # in kj/kg",
- "h4 = 3353.3 # in kj/kg",
- "s4 = 7.7571 # in kj/kg.k",
- "h5 = 3101.5 # in kj/kg",
- "x6 = 0.9382",
- "hf = 173.88 # in kj/kg",
- "hfg = 2403.1 # in kj/kg",
- "",
- "h6 = hf + x6*hfg",
- "",
- "h7 = 173.88 # in kj/kg",
- "v7 = 1.0084e-3 # in m^3/kg",
- "p8 = 0.3 # in MPa",
- "p7 = 0.008 # in MPa",
- "",
- "h8 = h7 + v7*(p8-p7)*10**6*10**-3 # The specific enthalpy at the exit of the first pump in kj/kg",
- "h9 = 561.47 # in kj/kg",
- "",
- "v9 = 1.0732e-3 # in m^3/kg",
- "p10 = 8.0 # in MPa",
- "p9 = 0.3 # in MPa",
- "h10 = h9 + v9*(p10-p9)*10**6*10**-3 # The specific enthalpy at the exit of the second pump in kj/kg",
- "h12 = 908.79 # in kj/kg",
- "h13 = h12 # since The fluid passing through the trap undergoes a throttling process",
- "hf = 875.1 # in kj/kg",
- "vf = 1.1646e-3 # in m^3/kg",
- "p11 = 8.0 # in MPa",
- "psat = 1.73 # in MPa",
- "h11 = hf + vf*(p11-psat)*10**6*10**-3 # in kj/kg",
- "",
- "ydash = (h11-h10)/(h2-h12) # the fraction of the total flow diverted to the closed heater",
- "ydashdash = ((1-ydash)*h8+ydash*h13-h9)/(h8-h5) # the fraction of the total flow diverted to the open heater",
- "",
- "wt1dot = (h1-h2) + (1-ydash)*(h2-h3) # The work developed by the first turbine per unit of mass entering in kj/kg",
- "wt2dot = (1-ydash)*(h4-h5) + (1-ydash-ydashdash)*(h5-h6) # The work developed by the second turbine per unit of mass in kj/kg",
- "wp1dot = (1-ydash-ydashdash)*(h8-h7) # The work for the first pump per unit of mass in kj/kg",
- "wp2dot = h10-h9 # The work for the second pump per unit of mass in kj/kg",
- "qindot = (h1-h11) + (1-ydash)*(h4-h3) # The total heat added expressed on the basis of a unit of mass entering the first",
- " # turbine",
- "eta = (wt1dot+wt2dot-wp1dot-wp2dot)/qindot # thermal efficiency",
- "",
- "print '-> The thermal efficiency is: ',round(eta,2)",
- "",
- "Wcycledot = 100.0 # the net power output of the cycle in MW",
- "m1dot = (Wcycledot*3600*10**3)/(wt1dot+wt2dot-wp1dot-wp2dot)",
- "",
- "print '-> The mass flow rate of the steam entering the first turbine, in kg/h is: ',round(m1dot,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency is: 0.43",
- "-> The mass flow rate of the steam entering the first turbine, in kg/h is: 280126.53"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "h1 = 2758 # in kj/kg",
- "h4 = 183.36 # in kj/kg",
- "hi = 1491.44 # in kj/kg",
- "he = 843.98 # in kj/kg",
- "madotbymdot = (h1-h4)/(hi-he)",
- "mdot = 4.449e5 # in kg/h",
- "madot = madotbymdot*mdot # in kg/h",
- "",
- "T0 = 295 # in kelvin",
- "si = 3.34474 # in kj/kg.k",
- "se = 2.74504 # in MW",
- "Rin = madot*(hi-he-T0*(si-se))/(3600*10**3) # The net rate at which exergy is carried into the heat exchanger ",
- " # unit by the gaseous stream ",
- "print '-> The net rate at which exergy is carried into the heat exchanger unit by the gas stream, is:',round(Rin,2),'MW '",
- "",
- "s1 = 5.7432 # in kj/kg.k",
- "s4 = 0.5957 # in kj/kg.k",
- "Rout = mdot*(h1-h4-T0*(s1-s4))/(3600*10**3) # in MW",
- "print '-> The net rate at which exergy is carried from the heat exchanger by the water stream, is:',round(Rout,2),'MW .'",
- "",
- "Eddot = Rin-Rout # in MW",
- "print '-> The rate of exergy destruction, in MW is:',round(Eddot,2)",
- "",
- "epsilon = Rout/Rin",
- "print '-> The exergetic efficiency is: ',round(epsilon,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The net rate at which exergy is carried into the heat exchanger unit by the gas stream, is: 231.24 MW ",
- "-> The net rate at which exergy is carried from the heat exchanger by the water stream, is: 130.52 MW .",
- "-> The rate of exergy destruction, in MW is: 100.72",
- "-> The exergetic efficiency is: 0.56"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T0 = 295.00 # in kelvin",
- "P0 = 1.00 # in atm",
- "",
- "s1 = 5.7432 # in kj/kg.k",
- "s3 =0.5926 # in kj/kg.k",
- "",
- "s2 = 6.2021 # in kj/kg.k",
- "s4 = 0.5957 # in kj/kg.k",
- "mdot = 4.449e5 # in kg/h",
- "",
- "Eddot = mdot*T0*(s2-s1)/(3600*10**3) # the rate of exergy destruction for the turbine in MW",
- "EddotP = mdot*T0*(s4-s3)/(3600*10**3) # the exergy destruction rate for the pump",
- "",
- "print '-> The rate of exergy destruction for the turbine is: ',round(Eddot,2),'MW.'",
- "print '-> The turbine rate of exergy destruction expressed as a percentage is: ',round((Eddot/231.28)*100)",
- "print '-> Percentage of the exergy entering the plant with the fuel destroyed within the turbine is:',round(0.69*(Eddot/231.28)*100,2)",
- "print '-> The exergy destruction rate for the pump in MW is:',round(EddotP,2)",
- "print 'and expressing this as a percentage of the exergy entering the plant as calculated above, we have',round((EddotP/231.28)*69,2) ",
- "print '-> The net power output of the vapor power plant of Example 8.2 is 100 MW. Expressing this as a percentage of the rate at which exergy is '",
- "print 'carried into the plant with the fuel, ',round((100/231.28)*69,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The rate of exergy destruction for the turbine is: 16.73 MW.",
- "-> The turbine rate of exergy destruction expressed as a percentage is: 7.0",
- "-> Percentage of the exergy entering the plant with the fuel destroyed within the turbine is: 4.99",
- "-> The exergy destruction rate for the pump in MW is: 0.11",
- "and expressing this as a percentage of the exergy entering the plant as calculated above, we have 0.03",
- "-> The net power output of the vapor power plant of Example 8.2 is 100 MW. Expressing this as a percentage of the rate at which exergy is ",
- "carried into the plant with the fuel, 29.83"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T0 = 295 # in kelvin",
- "mcwdot = 9.39e6 # mass flow rate of the cooling water in kg/h",
- "",
- "he = 146.68 # in kj/kg",
- "hi = 62.99 # in kj/kg",
- "se = 0.5053 # in kj/kg.k",
- "si = 0.2245 # in kj/kg.k",
- "Rout = mcwdot*(he-hi-T0*(se-si))/(3600*10**3) # The net rate at which exergy is carried out of the condenser in MW",
- "print '-> The net rate at which exergy is carried from the condenser by the cooling water, is:',round(Rout,2),'MW.'",
- "print '-> Expressing this as a percentage of the exergy entering the plant with the fuel, we get ',round((Rout/231.28)*69,2),'percent'",
- "",
- "s3 = 0.5926 # in kj/kg.k",
- "s2 = 6.2021 # in kg/kg.k",
- "mdot = 4.449e5 # in kg/h",
- "Eddot = T0*(mdot*(s3-s2)+mcwdot*(se-si))/(3600*10**3) # the rate of exergy destruction for the condenser in MW",
- "print '-> The rate of exergy destruction for the condenser is: ',round(Eddot,2),'MW.'",
- "print '-> Expressing this as a percentage of the exergy entering the plant with the fuel, we get,',round((Eddot/231.28)*69,2),'percent'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The net rate at which exergy is carried from the condenser by the cooling water, is: 2.23 MW.",
- "-> Expressing this as a percentage of the exergy entering the plant with the fuel, we get 0.66 percent",
- "-> The rate of exergy destruction for the condenser is: 11.56 MW.",
- "-> Expressing this as a percentage of the exergy entering the plant with the fuel, we get, 3.45 percent"
- ]
- }
- ],
- "prompt_number": 10
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9_2.ipynb b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9_2.ipynb
deleted file mode 100644
index 7e190ca7..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/Chapter_9_2.ipynb
+++ /dev/null
@@ -1,936 +0,0 @@
-{
- "metadata": {
- "name": "Chapter 9"
- },
- "nbformat": 2,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 300.00 # The temperature at the beginning of the compression process in kelvin",
- "p1 = 1.00 # the pressure at the beginning of the compression process in bar",
- "r = 8.00 # compression ratio",
- "V1 = 560.00 # the volume at the beginning of the compression process in cm^3",
- "T3 = 2000.00 # maximum temperature during the cycle in kelvin",
- "",
- "u1 = 214.07 # in kj/kg",
- "vr1 = 621.2 ",
- "T2 = 673.00 # in kelvin",
- "u2 = 491.2 # in kj/kg",
- "u3 = 1678.7 # in kj/kg",
- "vr3 = 2.776",
- "T4 = 1043 # in kelvin",
- "u4 = 795.8 # in kj/kg",
- "",
- "vr2 = vr1/r",
- "p2 = p1*(T2/T1)*(r) # in bars",
- "p3 = p2*(T3/T2) # in bars",
- "vr4 = vr3*(r)",
- "p4 = p1*(T4/T1) # in bars",
- "",
- "print '-> At state1, the pressure is:',p1,'bar.'",
- "print '-> At state1, the temperature is ',T1,'kelvin.'",
- "print '-> At state2, the pressure is:',round(p2,3),'bar.'",
- "print '-> At state2, the temperature is',T2,'kelvin.'",
- "print '-> At state3, the pressure is:',round(p3,3),'bar.'",
- "print '-> At state3, the temperature is',T3,'kelvin.'",
- "print '-> At state4, the pressure is:',round(p4,4),'bar.'",
- "print '-> At state4, the temperature is',T4,'kelvin.'",
- "",
- "eta = 1-(u4-u1)/(u3-u2) # thermal efficiency",
- "print '-> The thermal efficiency is:',round(eta,2)",
- "",
- "R = 8.314 # universal gas constant, in SI units",
- "M = 28.97 # molar mass of air in grams",
- "m = ((p1*V1)/((R/M)*T1))*10**-6*10**5*10**-3 # mass of the air in kg",
- "Wcycle = m*((u3-u4)-(u2-u1)) # the net work per cycle in KJ",
- "mep = (Wcycle/(V1*(1-1/r)))*10**6*10**3*10**-5 # in bars",
- "",
- "print '-> The mean effective pressure, is:',round(mep,4),'atm..'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> At state1, the pressure is: 1.0 bar.",
- "-> At state1, the temperature is 300.0 kelvin.",
- "-> At state2, the pressure is: 17.947 bar.",
- "-> At state2, the temperature is 673.0 kelvin.",
- "-> At state3, the pressure is: 53.333 bar.",
- "-> At state3, the temperature is 2000.0 kelvin.",
- "-> At state4, the pressure is: 3.4767 bar.",
- "-> At state4, the temperature is 1043 kelvin.",
- "-> The thermal efficiency is: 0.51",
- "-> The mean effective pressure, is: 8.0411 atm.."
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "r = 18.00 # compression ratio",
- "T1 = 300.00 # temperature at the beginning of the compression process in kelvin",
- "p1 = 0.1 # pressure at the beginning of the compression process in MPa",
- "rc = 2.00 # cutoff ratio",
- "",
- "u1 = 214.07 # in kj/kg",
- "vr1 = 621.2 ",
- "T2 = 898.3 # in kelvin ",
- "h2 = 930.98 # in kj/kg",
- "h3 = 1999.1 # in kj/kg",
- "vr3 = 3.97",
- "",
- "u4 = 664.3 # in kj/kg",
- "T4 = 887.7 # in kelvin",
- "",
- "T3 = rc*T2 # in kelvin",
- "p2 = p1*(T2/T1)*(r) # in MPa",
- "p3 = p2",
- "vr2 = vr1/r",
- "vr4 = (r/rc)*vr3",
- "p4 = p1*(T4/T1) # in MPa",
- "",
- "print '-> At state1, the pressure is:',round(p1,2),'bar.'",
- "print '-> At state1, the temperature is',round(T1,2),'kelvin.'",
- "print '-> At state2, the pressure in bar is:',round(p2,2),'bar.'",
- "print '-> At state2, the temperature is ',round(T2,2),'kelvin.'",
- "print '-> At state3, the pressure in bar is:',round(p3,2),'bar.'",
- "print '-> At state3, the temperature is',round(T3,2),'kelvin.'",
- "print '-> At state4, the pressure is:',round(p4,2),'bar.'",
- "print '-> At state4, the temperature is',round(T4,2),'kelvin.'",
- "",
- "eta = 1- (u4-u1)/(h3-h2)",
- "print '-> The thermal efficiency is:',round(eta,2)",
- "",
- "R = 8.314 # universal gas constant, in SI units",
- "M = 28.97 # molar mass of air in grams",
- "",
- "wcycle = (h3-h2)-(u4-u1) # The net work of the cycle in kj/kg",
- "v1 = ((R/M)*T1/p1)/10**3 # The specific volume at state 1 in m^3/kg",
- "mep = (wcycle/(v1*(1-1/r)))*10**3*10**-6 # in MPa",
- "",
- "print '-> The mean effective pressure, is:',round(mep,2),'MPa.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> At state1, the pressure is: 0.1 bar.",
- "-> At state1, the temperature is 300.0 kelvin.",
- "-> At state2, the pressure in bar is: 5.39 bar.",
- "-> At state2, the temperature is 898.3 kelvin.",
- "-> At state3, the pressure in bar is: 5.39 bar.",
- "-> At state3, the temperature is 1796.6 kelvin.",
- "-> At state4, the pressure is: 0.3 bar.",
- "-> At state4, the temperature is 887.7 kelvin.",
- "-> The thermal efficiency is: 0.58",
- "-> The mean effective pressure, is: 0.76 MPa."
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 300.00 # beginning temperature in kelvin",
- "p1 = 0.1 # beginning pressure in MPa",
- "r = 18.00 # compression ratio",
- "pr = 1.5 # The pressure ratio for the constant volume part of the heating process",
- "vr = 1.2 # The volume ratio for the constant pressure part of the heating process",
- "",
- "u1 = 214.07 # in kj/kg",
- "T2 = 898.3 # in kelvin",
- "u2 = 673.2 # in kj/kg",
- "",
- "h3 = 1452.6 # in kj/kg",
- "u3 = 1065.8 # in kj/kg",
- "",
- "h4 = 1778.3 # in kj/kg",
- "vr4 = 5.609",
- "",
- "u5 = 475.96 # in kj/kg",
- "",
- "T3 = pr*T2 # in kelvin",
- "T4 = vr*T3 # in kelvin",
- "vr5 = vr4*r/vr",
- "",
- "eta = 1-(u5-u1)/((u3-u2)+(h4-h3))",
- "print '-> The thermal efficiency is:',round(eta,2)",
- "",
- "v1 = 0.861 # in m^3/kg",
- "mep = (((u3-u2)+(h4-h3)-(u5-u1))/(v1*(1-1/r)))*10**3*10**-6 # in MPa",
- "",
- "print '-> The mean effective pressure, is:',round(mep,2),'MPa.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency is: 0.64",
- "-> The mean effective pressure, is: 0.56 MPa."
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 300.00 # in kelvin",
- "AV = 5.00 # volumetric flow rate in m^3/s",
- "p1 = 100.00 # in kpa",
- "pr = 10.00 # compressor pressure ratio",
- "T3 = 1400.00 # turbine inlet temperature in kelvin",
- "",
- "h1 = 300.19 # in kj/kg",
- "pr1 = 1.386",
- "",
- "",
- "h2 = 579.9 # in kj/kg",
- "h3 = 1515.4 # in kj/kg",
- "pr3 = 450.5",
- "",
- "h4 = 808.5 # in kj/kg",
- "",
- "pr2 = pr*pr1",
- "pr4 = pr3*1/pr",
- "",
- "",
- "eta = ((h3-h4)-(h2-h1))/(h3-h2) # thermal efficiency",
- "print '-> The thermal efficiency is:',round(eta,4)",
- "",
- "bwr = (h2-h1)/(h3-h4) # back work ratio",
- "print '-> The back work ratio is:',round(bwr,4)",
- "",
- "R = 8.314 # universal gas constant, in SI units",
- "M = 28.97 # molar mass of air in grams",
- "mdot = AV*p1/((R/M)*T1) # mass flow rate in kg/s",
- "Wcycledot = mdot*((h3-h4)-(h2-h1)) # The net power developed",
- "print '-> The net power developed, is:',round(Wcycledot,2),'kW .'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency is: 0.4566",
- "-> The back work ratio is: 0.3957",
- "-> The net power developed, is: 2480.89 kW ."
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "etat = 0.8 # turbine efficiency",
- "etac = 0.8 # compressor efficiency",
- "wtdots = 706.9 # The value of wtdots is determined in the solution to Example 9.4 as 706.9 kJ/kg",
- "wcdots = 279.7 # The value of wcdots is determined in the solution to Example 9.4 as 279.7 kJ/kg",
- "h1 = 300.19 # h1 is from the solution to Example 9.4, in kj/kg",
- "h3 = 1515.4 # h3 is from the solution to Example 9.4, in kj/kg",
- "",
- "wtdot = etat*wtdots # in kj/kg",
- "wcdot = wcdots/etac # in kj/kg",
- "h2 = h1 + wcdot # in kj/kg",
- "qindot = h3-h2 # The heat transfer to the working fluid per unit of mass flow in kj/kg",
- "eta = (wtdot-wcdot)/qindot # thermal efficiency",
- "",
- "print '-> The thermal efficiency is:',round(eta,2)",
- "",
- "bwr = wcdot/wtdot # back work ratio",
- "print '-> The back work ratio is:',round(bwr,2)",
- "",
- "mdot = 5.807 # in kg/s, from example 9.4",
- "Wcycledot = mdot*(wtdot-wcdot) # The net power developed by the cycle in kw",
- "print '-> The net power developed, is: ',round(Wcycledot,2),'kW.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency is: 0.25",
- "-> The back work ratio is: 0.62",
- "-> The net power developed, is: 1253.7 kW."
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "%pylab inline"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "",
- "Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].",
- "For more information, type 'help(pylab)'."
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "etareg = 0.8 # regenerator effectiveness of 80%.",
- "h1 = 300.19 # in kj/kg",
- "h2 = 579.9 # in kj/kg",
- "h3 = 1515.4 # in kj/kg",
- "h4 = 808.5 # in kj/kg",
- "",
- "hx = etareg*(h4-h2)+h2 # in kj/kg",
- "eta = ((h3-h4)- (h2-h1))/(h3-hx) # thermal efficiency",
- "print '-> The thermal efficiency is: '",
- "print round(eta,2)",
- "",
- "etareg = []",
- "x = []",
- "eta = []",
- "from numpy import linspace ",
- "from pylab import plot, show , xlabel, ylabel",
- "etareg = linspace(0,0.8,50)",
- "for i in range (0,50):",
- " x.append(i)",
- " eta.append(i)",
- " x[i] = (etareg[i]*(h4-h2))+h2 ",
- " eta[i] = ((h3-h4)- (h2-h1))/(h3-x[i])",
- "",
- "plot(etareg,eta)",
- "xlabel('Regenerator effectiveness')",
- "ylabel('Thermal efficiency')",
- "show()"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency is: ",
- "0.57"
- ]
- },
- {
- "output_type": "display_data",
- "png": "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\noyNCQ0MVySQ3V+UPl8GDB+O5557D+fPn4eLiolomV1dX3HfffWjevDmaN2+ORx99FNnZ2YoVjNv5\nbyo2Nlbx21FyM6WkpOC1114DAHTq1AkdOnTAoUOHEBAQoFomZ2dnbNiwwfq4Q4cO6Nix460vXOe9\nLXWsvLxcdOzYURw7dkxcvXrVZqf33r17Fe/MlZPpujfeeKNeOr3lZDp+/Ljo1KmT2Lt3r+J55GY6\ncuSIuHbtmhBCiIyMDNGxY0fVM1V245I1auY6deqU9XeVlpYmHnroIdUzHTx4UPTv319UVFSIS5cu\nia5du4oDBw6omkkIIYqKioSLi4u4fPmyYlluJ9OcOXNEVFSUEEL696jT6cS5c+dUzVRUVCSuXr0q\nhBDi/fffFxMmTLB5XbsvGEIIsW3bNtG5c2fRqVMnsXjxYiGEEGvXrhVr1661HvP888+LTp06CR8f\nH5GRkaF6pl9//VXo9XrRqlUrcc899whXV1dRXFysaqbIyEjh4uJiHXIYGBioaB45mZYuXSq8vb2F\nn5+f6Nu3r0hPT1c9U2X1VTDk5IqOjhbe3t7C19dX9O7du14Kv5zf1TvvvCO8vLxE165dxcqVK+0i\n07///W8xZswYxbPIzXTmzBkxbNgw4ePjI7p27Sq2bNmieqaUlBTRuXNn4enpKUaOHGkdQXkris30\nJiKixsXuR0kREZF9YMEgIiJZWDCIiEgWFgwiIpKFBYMU4eDgAKPRCB8fH4wYMQIlJSVqR5ItOzsb\n27dvV+z6q1atgpeXF8aNG4eysjIMGDAARqMR//3vf2/rOsePH0dMTIz1cUZGBmbNmlXXcYmsWDBI\nEU5OTsjKykJOTg5atWplXdbeXlgslhp/lpWVhW3btt3W9SoqKmQfu2bNGiQnJ2PTpk3IzMyERqNB\nVlYWRo0adVuveezYMfznP/+xPu7evbviS05Q08aCQYrr3bs3jh49CgA4evQoBg8ejICAADz66KPW\nZUCOHj2KXr16wcfHB6+//nqVWc3vvPMOevToAV9fX0RFRQEACgoKYDAYMHXqVHTt2hXBwcEoLS29\n5WtMnDgR06dPR69evTB37lzs27cPffr0gb+/Px5++GEcPnwYZWVlmD9/PuLi4qx/9Z8/fx5hYWHw\n9fVF7969sX//fgBAVFQUxo0bh759+1oXv6zsZrmnT5+O/Px8PPHEE/jHP/6BcePGYd++fTAajcjP\n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\n"
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "h1 = 300.19 # in kj/kg",
- "h2 = 579.9 # in kj/kg",
- "h3 = 1515.4 # in kj/kg",
- "hb = h3",
- "",
- "pa = 300.00 # in kpa",
- "p3 = 1000.00 # in kpa",
- "pr3 = 450.5",
- "",
- "ha = 1095.9 # in kj/kg",
- "p4 = 100.00 # in kpa",
- "pb = 300.00 # in kpa",
- "h4 = 1127.6 # in kj/kg",
- "",
- "pra = pr3*(pa/p3)",
- "prb = pra",
- "pr4 = prb*(p4/pb)",
- "hx = h4",
- "eta = ((h3-ha)+(hb-h4)-(h2-h1))/((h3-hx)+(hb-ha)) # thermal efficiency",
- "",
- "print '-> The thermal efficiency is:'",
- "print round(eta,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency is:",
- "0.65"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 300.00 # in kelvin",
- "p1 = 100.00 # in kpa",
- "p2 = 1000.00 # in kpa",
- "p3 = p2",
- "pc = 300.00 # in kpa",
- "pd = 300.00 # in kpa",
- "Td = 300.00 # in kelvin",
- "",
- "",
- "prd = 1.386",
- "T2 = 422 # in kelvin",
- "h2 = 423.8 # in kj/kg",
- "pr2 = prd*(p2/pd)",
- "print '-> The temperature at the exit of the second compressor stage is:',round(T2,2),'kelvin.'",
- "",
- "h1 = 300.19 # in kj/kg",
- "hd = 300.19 # in kj/kg",
- "pr1 = 1.386",
- "hc = 411.3 # in kj/kg",
- "prc = pr1*(pc/p1)",
- "wcdot = (hc-h1)+(h2-hd) # The total compressor work per unit of mass in kj/kg",
- "print '-> The total compressor work input per unit of mass flow is: ',round(wcdot,2),'kJ/kg'",
- "",
- "T3 = 574 # in kelvin",
- "h3 = 579.9 # in kj/kg",
- "pr3 = pr1*(p3/p1)",
- "wcdot = h3-h1 # The work input for a single stage of compression in kj/kg",
- "print '-> For a single stage of compression, the temperature at the exit state is: ',round(T3,2),'kelvin'",
- "print '-> For a single stage of compression, the work input is: ',round(wcdot,2),'kJ.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The temperature at the exit of the second compressor stage is: 422.0 kelvin.",
- "-> The total compressor work input per unit of mass flow is: 234.72 kJ/kg",
- "-> For a single stage of compression, the temperature at the exit state is: 574.0 kelvin",
- "-> For a single stage of compression, the work input is: 279.71 kJ."
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "T1 = 300.00 # in kelvin",
- "p1 = 100.00 # in kpa",
- "mdot = 5.807 # in kg/s",
- "p2 = 300.00 # in kpa",
- "p3 = p2",
- "p4 = 1000.00 # in kpa",
- "p5 = p4",
- "p6 = p4",
- "T6 = 1400.00 # in kelvin",
- "T8 = T6",
- "p7 = 300.00 # in kpa",
- "p8 = p7",
- "etac = 0.8 # isentropic efficiency of compressor",
- "etat = 0.8 # isentropic efficiency of turbine",
- "etareg = 0.8 # regenerator effectiveness",
- "h1 = 300.19 # in kj/kg",
- "h3 = h1 # in kj/kg",
- "h2s = 411.3 # in kj/kg",
- "h4s = 423.8 # in kj/kg",
- "h6 = 1515.4 # in kj/kg",
- "h8 = h6",
- "h7s = 1095.9 # in kj/kg",
- "h9s = 1127.6 # in kj/kg",
- "",
- "h4 = h3 + (h4s-h3)/etac # in kj/kg",
- "h2 = h1 + (h2s-h1)/etac # in kj/kg",
- "h9 = h8-etat*(h8-h9s) # in kj/kg",
- "h7 = h6-etat*(h6-h7s) # in kj/kg",
- "h5 = h4+etareg*(h9-h4) # in kj/kg",
- "",
- "wtdot = (h6-h7)+(h8-h9) # The total turbine work per unit of mass flow in kj/kg",
- "wcdot = (h2-h1)+(h4-h3) # The total compressor work input per unit of mass flow in kj/kg",
- "qindot = (h6-h5)+(h8-h7) # The total heat added per unit of mass flow in kj/kg",
- "eta = (wtdot-wcdot)/qindot # thermal efficiency",
- "print '-> The thermal efficiency is: '",
- "print round(eta,2)",
- "",
- "bwr = wcdot/wtdot # back work ratio",
- "print '-> The back work ratio is:'",
- "print round(bwr,2)",
- "",
- "Wcycledot = mdot*(wtdot-wcdot) # net power developed in kw",
- "print '-> The net power developed, is: ',round(Wcycledot,2),'kW.'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The thermal efficiency is: ",
- "0.44",
- "-> The back work ratio is:",
- "0.45",
- "-> The net power developed, is: 2046.62 kW."
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Ta = 240.00 # in kelvin",
- "pa = 0.8 # in bar",
- "Va = 278.00 # in m/s",
- "PR = 8.00 # pressure ratio across the compressor",
- "T3 = 1200.00 # in kelvin",
- "p5 = 0.8 # in bar",
- "",
- "ha = 240.02 # in kj/kg",
- "h1 = ha + ((Va**2)/2)*10**-3 # in kj/kg",
- "pr1 = 1.070",
- "pra = .6355",
- "",
- "h2 = 505.5 # in kj/kg",
- "h3 = 1277.79 # in kj/kg",
- "",
- "",
- "pr4 = 116.8",
- "pr4 = 116.00",
- "pr3 = 238.00",
- "h5 = 621.3 # in kj/kg",
- "",
- "p5 = .8 # in bars",
- "",
- "p1 = (pr1/pra)*pa # in bars",
- "h4 = h3+h1-h2 # in kj/kg",
- "p2 = PR*p1 # in bars",
- "p3 = p2",
- "p4 = p3*(pr4/pr3) # in bars",
- "pr5 = pr4*(p5/p4)",
- "V5 = ((2*(h4-h5)*10**3))**(0.5) # the velocity at the nozzle exit in m/s",
- "",
- "print '-> The velocity at the nozzle exit in m/s is:'",
- "print round(V5,2)",
- "print '-> pa in bars = '",
- "print round(pa,2)",
- "print '-> p1 in bars = '",
- "print round(p1,2)",
- "print '-> p2 in bars = '",
- "print round(p2,2)",
- "print '-> p3 in bars = '",
- "print round(p3,2)",
- "print '-> p4 in bars = '",
- "print round(p4,2)",
- "print '-> p5 in bars = '",
- "print round(p5,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The velocity at the nozzle exit in m/s is:",
- "926.99",
- "-> pa in bars = ",
- "0.8",
- "-> p1 in bars = ",
- "1.35",
- "-> p2 in bars = ",
- "10.78",
- "-> p3 in bars = ",
- "10.78",
- "-> p4 in bars = ",
- "5.25",
- "-> p5 in bars = ",
- "0.8"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Wnetdot = 45.00 # in MW",
- "T1 = 300.00 # in kelvin",
- "p1 = 100.00 # in kpa",
- "etac = 0.84 # The isentropic efficiency of the compressor",
- "T3 = 1400.00 # in kelvin",
- "p2 = 1200.00 # in kpa",
- "p3 = p2",
- "etat = 0.88 # isentropic efficiency of the turbine",
- "T5 = 400.00 # in kelvin",
- "p4 = 100.00 # in kpa",
- "p5 = p4",
- "T7 = 400.00 # in degree celcius",
- "p7 = 8.00 # in MPa",
- "etatw =0.9 # isentropic efficiency of turbine of the vapor cycle",
- "p8 = 8.00 # in kpa",
- "p9 = p8",
- "etap = 0.8 # isentropic efficiency of pump of the vapor cycle",
- "T0 = 300.00 # in kelvin",
- "p0 = 100.00 # -in kpa",
- "",
- "h1 = 300.19 # in kj/kg",
- "h2 = 669.79 # in kj/kg",
- "h3 = 1515.42 # in kj/kg",
- "h4 = 858.02 # in kj/kg",
- "h5 = 400.98 # in kj/kg",
- "h6 = 183.96 # in kj/kg",
- "h7 = 3138.30 # in kj/kg",
- "h8 = 2104.74 # in kj/kg",
- "h9 = 173.88 # in kj/kg",
- "s1 = 1.7020 # in kj/kg.k",
- "s2 = 2.5088 # in kj/kg.k",
- "s3 = 3.3620 # in kj/kg.k ",
- "s4 = 2.7620 # in kj/kg.k",
- "s5 = 1.9919 # in kj/kg.k",
- "s6 = 0.5975 # in kj/kg.k",
- "s7 = 6.3634 # in kj/kg.k",
- "s8 = 6.7282 # in kj/kg.k",
- "s9 = 0.5926 # in kj/kg.k",
- "",
- "mvdotbymgdot = (h4-h5)/(h7-h6) # ratio of mass flow rates of vapor and air",
- "mgdot = (Wnetdot*10**3)/(((h3-h4)-(h2-h1)) + mvdotbymgdot*((h7-h8)-(h6-h9))) # mass flow rate of air in kg/s",
- "mvdot = mvdotbymgdot*mgdot # mass flow rate of vapor in kg/s",
- "Wgasdot = mgdot*((h3-h4)-(h2-h1))*10**-3 # net power developed by gas turbine in MW",
- "Wvapdot = mvdot*((h7-h8)-(h6-h9))*10**-3 # net power developed by vapor cycle in MW",
- "",
- "print '-> Mass flow rate of air is: ',round(mgdot,2),'kg/s.'",
- "print '-> Mass flow rate of vapor is: ',round(mvdot,2),'kg/s.'",
- "print '-> Net power developed by gas turbine is: ',round(Wgasdot,2),'MW.'",
- "print '-> Net power developed by vapor cycle is: ',round(Wvapdot,2),'MW.'",
- "",
- "",
- "import math",
- "Edotf32 = mgdot*(h3-h2-T0*(s3-s2))*10**-3 # in MW",
- "Edotf51 = mgdot*(h5-h1-T0*(s5-s1))/10**3 # in MW",
- "Edotf89 = mvdot*(h8-h9-T0*(s8-s9))*10**-3 # in MW",
- "R = 8.314 # universal gas constant, in SI units",
- "M = 28.97 # molar mass of air in grams",
- "Eddott = mgdot*T0*(s4-s3-(R/M)*math.log(p4/p3))/10**3 # in MW",
- "Eddotc = mgdot*T0*(s2-s1-(R/M)*math.log(p2/p1))/10**3 # in MW",
- "Eddotst = mvdot*T0*(s8-s7)/10**3 # in MW",
- "Eddotp = mvdot*T0*(s6-s9)/10**3 # in MW",
- "EddotHE = T0*(mgdot*(s5-s4)+mvdot*(s7-s6))/10**3 # in MW",
- "",
- "print '-> Balance sheet'",
- "print 'Net exergy increase of the gas passing'",
- "print '-> Through the combustor: ',round(Edotf32,2),'MW'",
- "print 'Disposition of the exergy:'",
- "print '\u2022 Net power developed'",
- "print 'gas turbine cycle ',round(Wgasdot,2),'MW'",
- "print 'vapor cycle ',round(Wvapdot,2),'MW'",
- "print '\u2022 Net exergy lost'",
- "print 'with exhaust gas at state 5 ',round(Edotf51,2),'MW'",
- "print 'from water passing through condenser ',round(Edotf89,2),'MW'",
- "print '\u2022 Exergy destruction'",
- "print 'air turbine ',round(Eddott,2),'MW'",
- "print 'compressor ',round(Eddotc,2),'MW'",
- "print 'steam turbine ',round(Eddotst,2),'MW'",
- "print 'pump ',round(Eddotp,2),'MW'",
- "print 'heat exchanger ',round(EddotHE,2),'MW'"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Mass flow rate of air is: 100.87 kg/s.",
- "-> Mass flow rate of vapor is: 15.6 kg/s.",
- "-> Net power developed by gas turbine is: 29.03 MW.",
- "-> Net power developed by vapor cycle is: 15.97 MW.",
- "-> Balance sheet",
- "Net exergy increase of the gas passing",
- "-> Through the combustor: 59.48 MW",
- "Disposition of the exergy:",
- "\u2022 Net power developed",
- "gas turbine cycle 29.03 MW",
- "vapor cycle 15.97 MW",
- "\u2022 Net exergy lost",
- "with exhaust gas at state 5 1.39 MW",
- "from water passing through condenser 1.41 MW",
- "\u2022 Exergy destruction",
- "air turbine 3.42 MW",
- "compressor 2.83 MW",
- "steam turbine 1.71 MW",
- "pump 0.02 MW",
- "heat exchanger 3.69 MW"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Tnot = 360.00 # in kelvin",
- "pnot = 1.00 # in MPa",
- "A2 = 0.001 # in m^2",
- "k = 1.4",
- "",
- "pstarbypnot = (1+(k-1)/2)**(k/(1-k))",
- "pstar = pstarbypnot*pnot",
- "",
- "M = 1.00",
- "p2 = pstar # in MPa",
- "T2 = Tnot/(1+((k-1)/2)*(M**2)) # exit temperature in kelvin",
- "R = 8.314 # universal gas constant, in SI units",
- "Mwt = 28.97 # molar mass of air in grams",
- "V2 = ((k*(R/Mwt)*T2*10**3)**0.5) # exit velocity in m/s",
- "mdot = (p2/((R/Mwt)*T2))*A2*V2*10**3 # mass flow rate in kg/s",
- "",
- "print '-> The exit mach number for back pressure of 500kpa is: '",
- "print round(M,2)",
- "print '-> The mass flow rate in kg/s for back pressure of 500kpa is:'",
- "print round(mdot,2)",
- "",
- "p2 = 784.00 # exit pressure in kpa",
- "M2 = (((2.00)/(k-1))*(((pnot*10**3)/p2)**((k-1)/k)-1))**0.5 # exit mach number",
- "T2 = Tnot/(1+((k-1)/2)*(M2**2)) # exit temperature in kelvin",
- "V2 = M2*((k*(R/Mwt)*10**3*T2)**0.5) # exit velocity in m/s",
- "mdot2 = (p2/((R/Mwt)*T2))*A2*V2 # mass flow rate in kg/s",
- "print '-> The mass flow rate at the exit for back pressure of 784kpa is: ',round(mdot2,2),'kg/s.'",
- "print '-> The exit mach number for back pressure of 784 kpa is: '",
- "print round(M2,2)"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> The exit mach number for back pressure of 500kpa is: ",
- "1.0",
- "-> The mass flow rate in kg/s for back pressure of 500kpa is:",
- "2.13",
- "-> The mass flow rate at the exit for back pressure of 784kpa is: 1.79 kg/s.",
- "-> The exit mach number for back pressure of 784 kpa is: ",
- "0.6"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "source": [
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "",
- "Mt = 0.7 # mach mumber at the throat",
- "At = 6.25 # throat area in cm^2",
- "Ae = 15.00 # exit area in cm^2",
- "",
- "M2 = 0.24",
- "T2byTnot = 0.988",
- "p2bypnot = 0.959",
- "k = 1.4",
- "T0 = 280.00 # in kelvin",
- "pnot = 6.8 # in bars",
- "AtbyAstar = 1.09437",
- "A2byAstar = (Ae/At)*AtbyAstar",
- "T2 = T2byTnot*T0 # in kelvin",
- "p2 = p2bypnot*pnot # in bars",
- "V2 = M2*((k*(8.314/28.97)*T2*10**3)**0.5) # velocity at the exit in m/s",
- "mdot = (p2/((8.314/28.97)*T2))*Ae*V2*10**-2 # mass flow rate in kg/s",
- "print '-> Part(a) the mass flow rate in kg/s is: '",
- "print round(mdot,2)",
- "print '-> The exit pressure in bars is: '",
- "print round(p2,2)",
- "print '-> The exit mach number is: '",
- "print round(M2,2)",
- "",
- "Mt = 1.00 # mach number at the throat",
- "M2 = 0.26",
- "T2byTnot = 0.986 ",
- "p2bypnot = 0.953",
- "",
- "T0 = 280.00 # in kelvin",
- "pnot = 6.8 # in bars",
- "T2 = T2byTnot*T0 # in kelvin",
- "p2 = p2bypnot*pnot # in bars",
- "k = 1.4",
- "V2 = M2*((k*(8314/28.97)*T2)**0.5) # exit velocity in m/s",
- "mdot = (p2/((8.314/28.97)*T2))*Ae*V2*10**-2 # mass flow rate in kg/s",
- "print '-> Part(b) the mass flow rate is: ',mdot,'kg/s.'",
- "print '-> The exit pressure is: ',p2,'bars.'",
- "print '-> The exit mach number is: ',M2",
- "",
- "M2 = 2.4",
- "p2bypnot = 0.0684",
- "pnot = 6.8 # in bars",
- "p2 = p2bypnot*pnot # in bars",
- "print '> Part(c) the mass flow rate is: ',mdot,'kg/s.'",
- "print '-> The exit pressure is: ',p2,'bars.'",
- "print '-> The exit mach number is: ',M2",
- "",
- "Mx = 2.4",
- "px = 0.465 # in bars",
- "My = 0.52",
- "pybypx = 6.5533",
- "py = px*pybypx",
- "",
- "print '-> Part(d) the mass flow rate is: ',mdot,'kg/s.'",
- "print '-> The exit pressure is: ',round(py,3),'bars.'",
- "print '-> The exit mach number is: ',My",
- "",
- "Ax = 12.5 # in cm^2",
- "Axstar = 6.25 # in cm^2",
- "At = Axstar",
- "Mx = 2.2",
- "",
- "pnotybypnotx = 0.62812",
- "",
- "M2 = 0.43",
- "p2bypnoty = 0.88",
- "A2byAystar = (Ae/Axstar)*pnotybypnotx",
- "p2 = p2bypnoty*pnotybypnotx*pnot # in bars",
- "",
- "print '-> part(e) the mass flow rate is: ',mdot,'kg/s.'",
- "print '-> the exit pressure is: ',p2,'bars.'",
- "print '-> the exit mach number is: ',M2"
- ],
- "language": "python",
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "-> Part(a) the mass flow rate in kg/s is: ",
- "0.99",
- "-> The exit pressure in bars is: ",
- "6.52",
- "-> The exit mach number is: ",
- "0.24",
- "-> Part(b) the mass flow rate is: 1.06238566635 kg/s.",
- "-> The exit pressure is: 6.4804 bars.",
- "-> The exit mach number is: 0.26",
- "> Part(c) the mass flow rate is: 1.06238566635 kg/s.",
- "-> The exit pressure is: 0.46512 bars.",
- "-> The exit mach number is: 2.4",
- "-> Part(d) the mass flow rate is: 1.06238566635 kg/s.",
- "-> The exit pressure is: 3.047 bars.",
- "-> The exit mach number is: 0.52",
- "-> part(e) the mass flow rate is: 1.06238566635 kg/s.",
- "-> the exit pressure is: 3.75867008 bars.",
- "-> the exit mach number is: 0.43"
- ]
- }
- ],
- "prompt_number": 14
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_1.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_1.png
deleted file mode 100644
index 630ef263..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_1.png
+++ /dev/null
Binary files differ
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_2.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_2.png
deleted file mode 100644
index 763b903c..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_2.png
+++ /dev/null
Binary files differ
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_3.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_3.png
deleted file mode 100644
index 763b903c..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph1_3.png
+++ /dev/null
Binary files differ
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_1.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_1.png
deleted file mode 100644
index 8dbefa98..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_1.png
+++ /dev/null
Binary files differ
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_2.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_2.png
deleted file mode 100644
index 418e67d8..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_2.png
+++ /dev/null
Binary files differ
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_3.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_3.png
deleted file mode 100644
index 418e67d8..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph2_3.png
+++ /dev/null
Binary files differ
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_1.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_1.png
deleted file mode 100644
index 4253b0e3..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_1.png
+++ /dev/null
Binary files differ
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_2.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_2.png
deleted file mode 100644
index e43d18f3..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_2.png
+++ /dev/null
Binary files differ
diff --git a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_3.png b/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_3.png
deleted file mode 100644
index e43d18f3..00000000
--- a/Fundamental_of_Thermodynamics_by_Moran_and_Shapiro/screenshots/graph3_3.png
+++ /dev/null
Binary files differ
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_03.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_03.ipynb
deleted file mode 100644
index dd27a183..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_03.ipynb
+++ /dev/null
@@ -1,457 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:18e19bec17b5f55566a2079756ce3fc602f406d3355e580aba8938f8d7833673"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 3: Process Variables"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 3.2, Page number: 17"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- " \n",
- "#Variable Declaration:\n",
- "Q1 = 8.03 #Years(part 1)\n",
- "D = 365 #Days in a year\n",
- "H = 24 #Hours in a day\n",
- "M = 60 #Minutes in an hour\n",
- "S = 60 #Seconds in a minute\n",
- "Q2 = 150 #Miles per hour(part 2)\n",
- "FM = 5280 #Feet in a mile\n",
- "YF = 1.0/3.0 #Yard in a feet\n",
- "Q3 = 100 #Meter per second square(part 3)\n",
- "Cmm = 100 #Centimeter in a meter\n",
- "FC = 1.0/30.48 #Feet in a centimeter\n",
- "SsMs = 60**2 #Second square in a minute square\n",
- "Q4 = 0.03 #Gram per centimeter cube (part 4)\n",
- "PG = 1.0/454.0 #Pound in a gram\n",
- "CF = (30.48)**3 #Centimeter in a feet\n",
- " \n",
- "#Calculation:\n",
- "A1 = Q1*D*H*M*S #Seconds (s)\n",
- "A2 = Q2*FM*YF #Yards per hour (yd/hr)\n",
- "A3 = Q3*Cmm*FC*SsMs #Feet per min square (ft/min^2)\n",
- "A4 = Q4*PG*CF #Pound per feet cube (lb/ft^3)\n",
- " \n",
- "#Results:\n",
- "print \"1. Seconds in\",Q1,\"year is:\",round(A1/10**8,2),\" x 10**8 s\"\n",
- "print \"2. Yards per hour in\",Q2,\"miles per hour is:\",round(A2/10**5,1),\" x 10**5 yd/h\"\n",
- "print \"3. Feets per minute square in\",Q3,\"meter per square is:\",round(A3/10**6,3),\" x 10**6 ft/min^2\"\n",
- "print \"4. Pounds per feet cube in\",Q4,\"gram per centimeter cube is:\",round(A4),\"lb/ft^3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. Seconds in 8.03 year is: 2.53 x 10**8 s\n",
- "2. Yards per hour in 150 miles per hour is: 2.6 x 10**5 yd/h\n",
- "3. Feets per minute square in 100 meter per square is: 1.181 x 10**6 ft/min^2\n",
- "4. Pounds per feet cube in 0.03 gram per centimeter cube is: 2.0 lb/ft^3\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 3.3, Page number: 21"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- " \n",
- "#Variable Declaration:\n",
- "Q1 = 32.2 #Gravitational acceleration (ft/s^2) (part 1)\n",
- "CF = 32.2 #Conversion factor (lb.ft/lbf.s^2)\n",
- "M = 100 #Mass (lb)\n",
- "SA = 3 #Surface area (in^2)\n",
- "FsIs = (1.0/12.0)**2 #Feet square in a inch square\n",
- "Q2 = 14.7 #Atmospheric pressure (psi) (part 2)\n",
- "GP = 35 #Gauge Pressure (psig)\n",
- " \n",
- "#Caculations:\n",
- "F = M*Q1/CF #Force (lbf)\n",
- "P = F/SA/FsIs #Pressure at the base (lbf/ft^2)\n",
- "Pa = GP+Q2 #Absolute pressure (psia)\n",
- " \n",
- "#Results:\n",
- "print \"1. Pressure at the base is:\",round(P),\"lbf/ft^2\"\n",
- "print \"2. Absolute pressure is:\",round(Pa,1),\"psia\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. Pressure at the base is: 4800.0 lbf/ft^2\n",
- "2. Absolute pressure is: 49.7 psia\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 3.4, Page number: 23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- " \n",
- "#Variable Declaration:\n",
- "Q1 = 20.0 #Mass (lb) (part 1)\n",
- "MH = 1.008 #Molecular weight of H (lb/lbmol)\n",
- "MO = 15.999 #Molecular weight of O (lb/lbmol)\n",
- "Q2 = 454 #Gram in pound (part 2)\n",
- "Q3 = 6.023*10**23 #Avogadro nuber (part 3)\n",
- " \n",
- "#Calculations:\n",
- "Mol = 2*MH+MO #Molecular weight of water (lb/lbmol)\n",
- "A1 = Q1/Mol #Pound.moles of water (lbmol)\n",
- "A2 = Q1*Q2/Mol #Gram.moles of water (gmol)\n",
- "A3 = A2*Q3 #Molecules of water (molecules)\n",
- " \n",
- "#Results:\n",
- "print \"1. Pound.moles of water is:\",round(A1,2),\"lbmol water\"\n",
- "print \"2. Gram.moles of water is:\",round(A2),\"gmol water\"\n",
- "print \"3. Molecules of water is:\",round(A3/10**26,3),\" x 10**26 molecules\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. Pound.moles of water is: 1.11 lbmol water\n",
- "2. Gram.moles of water is: 504.0 gmol water\n",
- "3. Molecules of water is: 3.036 x 10**26 molecules\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 3.5, Page number: 25"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- " \n",
- "#Variable declaration:\n",
- "SG = 0.92 #Specific gavity of liquid, methanol\n",
- "DW = 62.4 #Density of reference substance, water (lb/ft^3)\n",
- " \n",
- "#Calculation:\n",
- "DM = SG*DW #Density of methanol (lb/ft^3)\n",
- " \n",
- "#Result:\n",
- "print \"Density of methanol is:\",round(DM,1),\"lb/ft^3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Density of methanol is: 57.4 lb/ft^3\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 3.6, Page number: 27\n"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- " \n",
- "#Variable declaration:\n",
- "SG = 0.8 #Specific Gravity\n",
- "AV = 0.02 #Absolute Viscosity (cP)\n",
- "cP = 1 #Viscosity of centipoise (cP)\n",
- "VcP = 6.72 * 10**-4 #Pound per feet.sec in a centipoise (lb/ft.s)\n",
- "pR = 62.43 #Reference density (lb/ft^3)\n",
- " \n",
- "#Calculations:\n",
- "u = AV*VcP/cP #Viscosity of gas (lb/ft.s)\n",
- "p = SG*pR #Density of gas (lb/ft^3)\n",
- "v = u/p #Kinematic viscosity of gas (ft^2/s)\n",
- " \n",
- "#Result:\n",
- "print \"Kinematic viscosity of gas is:\",round(v/10**-7,3),\"x 10**-7 ft^2/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Kinematic viscosity of gas is: 2.691 x 10**-7 ft^2/s\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 3.7, Page number: 27"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- " \n",
- "#Variable declaration:\n",
- "X = 7.0 #Coordinate X of H2SO4\n",
- "Y = 24.8 #Coordinate Y of H2SO4\n",
- "S = 45 #Slope\n",
- " \n",
- "#Calculations:\n",
- "#From the figure C.1 we found the intersection of curves mu = 12cP\n",
- "mu = 12\n",
- " \n",
- "#Results:\n",
- "print \"Absolute viscosity of a 98% sulfuric acid solution at 45\u00b0 C is :\",mu*10**-2,\" g/cm.s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Absolute viscosity of a 98% sulfuric acid solution at 45\u00b0 C is : 0.12 g/cm.s\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 3.8, Page number: 28"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- " \n",
- "#Variable declaration:\n",
- "CpM = 0.61 #Heat capacity of methanol (cal/g.\u00b0C)\n",
- "G = 454 #Grams in a pound\n",
- "B = 1.0/252.0 #Btu in a calorie\n",
- "C = 1.0/1.8 #Degree celsius in a degree fahrenheit\n",
- " \n",
- "#Calculation:\n",
- "Cp = CpM*G*B*C #Heat capacity in English units (Btu/lb.\u00b0F)\n",
- " \n",
- "#Result:\n",
- "print \"Heat capacity in English units is: \",round(Cp,2),\" Btu/lb.\u00b0F\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Heat capacity in English units is: 0.61 Btu/lb.\u00b0F\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 3.9, Page number: 29"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- " \n",
- "#Variable declaration:\n",
- "kM = 0.0512 #Thermal conductivity of methanol (cal/m.s\u00b0C)\n",
- "B = 1.0/252.0 #Btu in a calorie\n",
- "M = 0.3048 #Meters in a feet\n",
- "S = 3600 #Seconds in an hour\n",
- "C = 1.0/1.8 #Degree celsius in a degree fahrenheit\n",
- " \n",
- "#Calculation:\n",
- "k = kM*B*M*S*C #Thermal conductivity in English units (Btu/ft.h.\u00b0F)\n",
- " \n",
- "#Result:\n",
- "print \"Thermal coductivity in English units is:\",round(k,3),\"Btu/ft.h.\u00b0F\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Thermal coductivity in English units is: 0.124 Btu/ft.h.\u00b0F\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 3.11, Page number: 31"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- " \n",
- "#Variable declaration:\n",
- "D = 5 #Diameter of pipe (ft)\n",
- "V = 10 #Fluid velocity (ft/s)\n",
- "p = 50 #Fluid density (lb/ft^3)\n",
- "u = 0.65 #Fluid viscosity (lb/ft.s)\n",
- "F = 1.0/12.0 #Feet in an inch\n",
- "VCp = 6.72*10**-4 #Viscosity of centipoise (lb/ft.s)\n",
- " \n",
- "#Calculation:\n",
- "A = D*V*p*F/u/VCp #Reynolds Number\n",
- " \n",
- "#Result:\n",
- "if(A>2100):\n",
- " print \"The Reynolds number is :\",round(A,-2),\"; therefore, the flow is turbulent.\"\n",
- "elif(A<2100):\n",
- " print \"The Reynolds number is :\",round(A,-2),\"; therefore, the flow is not turbulent.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Reynolds number is : 477000.0 ; therefore, the flow is turbulent.\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 3.12, Page number: 32"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "#For the problem at hand, take as a basis 1 kilogram of water and assume the potential energy to be zero at ground level conditions.\n",
- "z1 = 0 #Intial height from ground level (m)\n",
- "z2 = 10 #Final height from ground level (m)\n",
- "PE1 = 0 #Initial potential energy at z1 (J)\n",
- "m = 1 #Mass of water (kg)\n",
- "g = 9.8 #Gravitational acceleration (m/s^2)\n",
- "gc = 1 #Conversion factor\n",
- " \n",
- "#Calculations:\n",
- "PE2 = m*(g/gc)*z2 #Final potential energy at z2 (J)\n",
- " \n",
- "#Result:\n",
- "print \"The potential energy of water is :\",PE2,\"J \""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The potential energy of water is : 98.0 J \n"
- ]
- }
- ],
- "prompt_number": 14
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_04.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_04.ipynb
deleted file mode 100644
index 3fece5a7..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_04.ipynb
+++ /dev/null
@@ -1,555 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:da9a4303c6fc07c594d52c82662dd9ab6e23eae788f020d82b784ed3a6873663"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 4: The Conservation Law for Momentum"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.1, Page number: 39"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Vx_in = 420 #Entry Velocity in X direction (m/s)\n",
- "Vx_out = 0 #Exit Velocity in X direction (m/s)\n",
- "Vy_in = 0 #Entry Velocity in Y direction (m/s)\n",
- "Vy_out = 420 #Exit Velocity in Y direction (m/s)\n",
- "m = 0.15 #Rate of water entrained by the steam (kg/s)\n",
- "lb = 1.0/4.46 #Pound force in a newton force\n",
- "\n",
- "#Calculations:\n",
- "Mx_out = m*Vx_out #Rate of change of momentum at entry in x-direction (kg.m)\n",
- "Mx_in = m*Vx_in #Rate of change of momentum at exit in x-direction (kg.m)\n",
- "My_out = m*Vy_out #Rate of change of momentum at entry in y-direction (kg.m)\n",
- "My_in = m*Vy_in #Rate of change of momentum at exit in y-direction (kg.m)\n",
- "Fxgc = (Mx_out - Mx_in)*lb #Force in X direction (lbf)\n",
- "Fygc = (My_out - My_in)*lb #Force in X direction (lbf)\n",
- "\n",
- "#Results:\n",
- "if Fxgc < 1:\n",
- " print \"The x-direction supporting force acting on the 90\u00b0 elbow is :\",round(-Fxgc,1),\" lbf acting toward the left. \"\n",
- "else:\n",
- " print \"The x-direction supporting force acting on the 90\u00b0 elbow is :\",round(Fxgc,1),\" lbf acting toward the right. \"\n",
- "if Fygc < 1:\n",
- " print \"The y-direction supporting force acting on the 90\u00b0 elbow is :\",round(-Fygc,1),\" lbf acting downwards. \" \n",
- "else:\n",
- " print \"The y-direction supporting force acting on the 90\u00b0 elbow is :\",round(Fygc,1),\" lbf acting upwards. \""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The x-direction supporting force acting on the 90\u00b0 elbow is : 14.1 lbf acting toward the left. \n",
- "The y-direction supporting force acting on the 90\u00b0 elbow is : 14.1 lbf acting upwards. \n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.2 Page number: 40"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import sqrt,degrees,atan2\n",
- "\n",
- "#Variable declaration:\n",
- "Fx = -63 #Force component in X direction (N)\n",
- "Fy = 63 #Force component in Y direction (N)\n",
- "lbf = 0.22481 #Pound-forrce in unit newton (lbf)\n",
- "\n",
- "#Calculations:\n",
- "Fr = sqrt(Fx**2 + Fy**2)*lbf #The resultant supporting force (lbf)\n",
- "u = degrees(atan2(Fy,Fx)) #Angle between the positive x axis and the direction of the force (degrees)\n",
- "\n",
- "#Result: \n",
- "if (0<u<90):\n",
- " print \"The supporting force is :\",round(Fr,1),\" lbf acting at\",u,\"\u00b0 i.e in the \u201cnortheast\u201d direction.\"\n",
- "elif (90<u<180):\n",
- " print \"The supporting force is :\",round(Fr,1),\" lbf acting at\",u,\"\u00b0 i.e in the \u201cnorthwest\u201d direction.\"\n",
- "elif (180<u<270):\n",
- " print \"The supporting force is :\",round(Fr,1),\" lbf acting at\",u,\"\u00b0 i.e in the \u201csouthwest\u201d direction.\"\n",
- "elif (270<u<360):\n",
- " print \"The supporting force is :\",round(Fr,1),\" lbf acting at\",u,\"\u00b0 i.e in the \u201csoutheast\u201d direction.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The supporting force is : 20.0 lbf acting at 135.0 \u00b0 i.e in the \u201cnorthwest\u201d direction.\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.3, Page number: 42"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "R1_in = 10000 #Rate of fuel fed into the boiler (lb/h)\n",
- "R2_1n = 20000 #Rate of air fed into the boiler (lb/h)\n",
- "R3_in = 2000 #Rate of methane fed into the boiler (lb/h)\n",
- "\n",
- "#Calculations:\n",
- "m_in = R1_in + R2_1n + R3_in #Rate of mass in (lb/h)\n",
- "m_out = m_in #Rate of mass out (lb/h)\n",
- "\n",
- "#Result:\n",
- "print \"The rate of the product gases exit from the incinerator is :\",round(m_in),\" lb/h\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate of the product gases exit from the incinerator is : 32000.0 lb/h\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.4, Page number: 42"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "E1 = 65 #Efficiency of spray tower (%)\n",
- "E2 = 98 #Efficiency of packed column (%)\n",
- "m_in = 76 #Mass flow rate of HCl entering the system (lb/h)\n",
- "\n",
- "#Calculations:\n",
- "m1_out = (1 - E1/100.0)*m_in #Mass flow rate of HCl leaving the spray tower (lb/h)\n",
- "m2_out = (1 - E2/100.0)*m1_out #Mass flow rate of HCl entering the packed column (lb/h)\n",
- "E = (m_in - m2_out)/m_in #Overall fractional efficiency (%)\n",
- "\n",
- "#Result:\n",
- "print \"The mass flow rate of HCl leaving the spray tower is :\",round(m1_out,2),\" lb/h HCL\"\n",
- "print \"The mass flow rate of HCl entering the packed column is :\",round(m2_out,3),\" lb/h HCL\"\n",
- "print \"The overall fractional efficiency is :\",round(E*100,1),\" %\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass flow rate of HCl leaving the spray tower is : 26.6 lb/h HCL\n",
- "The mass flow rate of HCl entering the packed column is : 0.532 lb/h HCL\n",
- "The overall fractional efficiency is : 99.3 %\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.5, Page number: 43"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "m1 = 1000 #Flowrate data 1 (lb/min)\n",
- "m2 = 1000 #Flowrate data 2 (lb/min)\n",
- "m4 = 200 #Flowrate data 4 (lb/min)\n",
- "\n",
- "#Calculations:\n",
- "m5 = m1 + m2 - m4 #Flowrate data 5 (lb/min)\n",
- "m6 = m2 #Flowrate data 6 (lb/min)\n",
- "m = m5 - m6 #Flowrate of water lost in operation (lb/min)\n",
- "\n",
- "#Result:\n",
- "print \"The amount of water lost by evaporation in the operation is\", round(m),\" lb/min\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The amount of water lost by evaporation in the operation is 800.0 lb/min\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.6, Page number: 44"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "q1 = 1000.0 #Volumetric flowrate from tank 1 (gal/day)\n",
- "q2 = 1000.0 #Volumetric flowrate from tank 2 (gal/day)\n",
- "q3 = 2000.0 #Volumetric flowrate from tank 3 (gal/day)\n",
- "q4 = 200.0 #Volumetric flowrate from tank 4 (gal/day)\n",
- "q5 = 1800.0 #Volumetric flowrate from tank 5 (gal/day)\n",
- "q6 = 1000.0 #Volumetric flowrate from tank 6 (gal/day)\n",
- "C1 = 4.0 #Phosphate concentration in tank 1 (ppm)\n",
- "C2 = 0.0 #Phosphate concentration in tank 2 (ppm)\n",
- "C3 = 2.0 #Phosphate concentration in tank 3 (ppm)\n",
- "C4 = 20.0 #Phosphate concentration in tank 4 (ppm)\n",
- "C5 = 0.0 #Phosphate concentration in tank 5 (ppm)\n",
- "C6 = 0.0 #Phosphate concentration in tank 6 (ppm)\n",
- "Cf = 120000.0 #conversion factor for water (gal/10**6lb)\n",
- "\n",
- "#Calculations:\n",
- "C1q1 = C1*q1/Cf #Data 1 (lb/day)\n",
- "C2q2 = C2*q2/Cf #Data 2 (lb/day)\n",
- "C3q3 = C3*q3/Cf #Data 3 (lb/day)\n",
- "C4q4 = C4*q4/Cf #Data 4 (lb/day)\n",
- "C5q5 = C5*q5/Cf #Data 5 (lb/day)\n",
- "C6q6 = C6*q6/Cf #Data 6 (lb/day)\n",
- "\n",
- "#Results:\n",
- "if (((C1q1 + C2q2) == C3q3) and C3q3 == (C4q4 + C5q5) and C5q5 == C6q6 and C2q2 == C6q6):\n",
- " print \"The data appear to be consistent .\"\n",
- "else:\n",
- " print \"The data appear to be inconsistent .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The data appear to be consistent .\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.7, Page number: 48"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Dz = 3000 #Height (ft)\n",
- "V0 = 500000 #Flowrate of water (gal/min)\n",
- "n = 30 #Turbine efficiency (%)\n",
- "m = 0.3048 #Meters in a feet\n",
- "m3 = 0.00378 #Meters-cube in a gallon\n",
- "g = 9.8 #Gravitational acceleration (m/s^2)\n",
- "gc = 1 #Conversion factor\n",
- "MW = 10**(-6) #Megawatt in newton-meter-per-second\n",
- "\n",
- "#Calculations:\n",
- "V1 = (V0*m3)*1000.0/60.0 #The mass flow rate of the water in kilograms/second (kg/s)\n",
- "DPE = V1*g*Dz*m/gc*MW #The loss in potential energy (MW)\n",
- "AP = n/100.0*DPE #The actual power output (MW)\n",
- "\n",
- "#Result:\n",
- "print \"The power generated by the lake located is :\",round(AP,1),\" MW\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The power generated by the lake located is : 84.7 MW\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.8, Page number: 50"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "n = 111.4 #Flowrate of air stream (lbmol/min)\n",
- "H1 = 1170 #Average heat capacity at 200\u00b0F (Btu/lbmol)\n",
- "H2 = 4010 #Average heat capacity at 600\u00b0F (Btu/lbmol)\n",
- "\n",
- "#Calculation:\n",
- "Q = n*(H2 - H1) #The heat transfer rate (Btu/min)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer rate required is:\",round(Q/10**5,2),\" x 10**5 Btu/min\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate required is: 3.16 x 10**5 Btu/min\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.9, Page number: 50"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "n = 600 #The mass flow rate of fluid (lbmol/min)\n",
- "Cp_AV = 0.271 #Heat capacity (Btu/lbmol . \u00b0F)\n",
- "T1 = 200 #Initial temperature(\u00b0F)\n",
- "T2 = 600 #Final temperature(\u00b0F)\n",
- "\n",
- "#Calcultaion:\n",
- "Q = n*Cp_AV*(T2 - T1) #The required heat rate (Btu/min)\n",
- "\n",
- "#Result:\n",
- "print \"The required heat rate is :\",round(Q,-2),\" Btu/min\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The required heat rate is : 65000.0 Btu/min\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.10, Page number: 51"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "T_c1 = 20 #Initial cold fluid temperature (\u00b0C)\n",
- "T_h1 = 82 #Initial hot fluid temperature (\u00b0C)\n",
- "T_h2 = 94 #Final hot fluid temperature (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "T_c2 = (T_h2 - T_h1 + T_c1) #Final cold fluid temperature (\u00b0C)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer rate is:\",round(T_c2),\" \u00b0C\"\n",
- "print \"There is a printing mistake in book regarding unit of the final result.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate is: 32.0 \u00b0C\n",
- "There is a printing mistake in book regarding unit of the final result.\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.11, Page number: 51"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Q = -5.5*10**6 #The heat transferred out from the gas (W)\n",
- "Cp = 1090.0 #The average heat capacity of the gas (J/(kg . \u00b0C))\n",
- "m = 9.0 #The gas mass flow rate (kg/s)\n",
- "T1 = 650 #The gas inlet temperature (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "T2 = Q/(m*Cp)+T1 #The gas outlet temperature (\u00b0C)\n",
- "\n",
- "#Result:\n",
- "print \"The gas outlet temperature is :\",round(T2),\" \u00b0C\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The gas outlet temperature is : 89.0 \u00b0C\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 4.12, Page number: 52"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "n = 3500.0 #Inlet flowrate of water (gal/min)\n",
- "Cp_W = 75.4 #Heat capacity of water (J/(gmol . \u00b0C)\n",
- "p = 62.4 #Density of water (lb/ft^3)\n",
- "M = 24*60.0 #Minutes in a day (min/day)\n",
- "G = 7.48 #Gallons in a feet cube (gal/ft^3)\n",
- "gm = 454.0 #Grams in a pound (g/lb)\n",
- "J = 1054.0 #Joules in a Btu (J/Btu)\n",
- "g = 18.0 #Grams in a gmol (g/gmol)\n",
- "F = 1.8 #Degree fahrenheit in a degree celcius (\u00b0F)\n",
- "Ti = 38.0 #Initial temperature (\u00b0F)\n",
- "Tf = 36.2 #Final temperature (\u00b0F)\n",
- "\n",
- "#Calculations:\n",
- "T= Ti-Tf #Temperature loss (\u00b0F)\n",
- "m = n*p*M/G #Mass flow rate of water (lb/day)\n",
- "Cp = Cp_W*gm/J/g/F #Heat capacity in cosistent units (Btu/(lb.\u00b0F))\n",
- "Q = m*Cp*T #Rate of heat flow from water (Btu/day)\n",
- "\n",
- "#Result:\n",
- "print \"The rate of Btu removed from the water per day is :\",round(Q/10**8,2),\" x 10**8 Btu/day .\"\n",
- "print \"There is a calculation mistake in the book regarding the final result.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate of Btu removed from the water per day is : 0.76 x 10**8 Btu/day .\n",
- "There is a calculation mistake in the book regarding the final result.\n"
- ]
- }
- ],
- "prompt_number": 15
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_05.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_05.ipynb
deleted file mode 100644
index d5d367e4..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_05.ipynb
+++ /dev/null
@@ -1,464 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:33ba4a11fa0be53b880079008a0280bb47a9d8531c545010b70c7a3f75197aa0"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 5: Gas Laws"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.1, Page number: 56"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "qi = 3500 #Initial volumetric flow rate of gas (acfm)\n",
- "Ti = 100.0 #Initial temperature (\u00b0F)\n",
- "Tf = 300.0 #Final temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Ti_R = Ti+460 #Initial temperatur in Rankine scale (\u00b0R)\n",
- "Tf_R = Tf+460 #Final temperatur in Rankine scale (\u00b0R)\n",
- "qf = qi*(Tf_R/Ti_R) #Final volumetric flow rate of gas (acfm)\n",
- "\n",
- "#Result:\n",
- "print \"The final volumetric flow rate of gas is :\",round(qf),\" acfm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The final volumetric flow rate of gas is : 4750.0 acfm\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.2, Page number: 57"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "qi = 3500 #Initial volumetric flow rate of gas (acfm)\n",
- "Pi = 1.0 #Iitial pressure (atm)\n",
- "Pf = 3.0 #Final pressure (atm)\n",
- "\n",
- "#Calculation:\n",
- "qf = qi*(Pi/Pf) #Final volumetric flow rate of gas (acfm)\n",
- "\n",
- "#Result:\n",
- "print \"The volumetric flow rate of the gas (100\u00b0F, 1 atm) is:\",round(qf),\" acfm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volumetric flow rate of the gas (100\u00b0F, 1 atm) is: 1167.0 acfm\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.3, Page number: 57"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "qi = 3500 #Initial volumetric flow rate of the gas (acfm)\n",
- "Pi = 1.0 #Initial pressure (atm)\n",
- "Pf = 3.0 #Final pressure (atm)\n",
- "Tf = 300.0+460.0 #Final temperature in Rankine scale (\u00b0R)\n",
- "Ti = 100.0+460.0 #Initial temperature in Rankine scale (\u00b0R)\n",
- "\n",
- "#Calculation:\n",
- "qf = qi*(Pi/Pf)*(Tf/Ti) #Final volumetric flow rate of the gas (acfm)\n",
- "\n",
- "#Result:\n",
- "print \"The volumetric flow rate of the gas at 300\u00b0F temperature is :\",round(qf),\" acfm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volumetric flow rate of the gas at 300\u00b0F temperature is : 1583.0 acfm\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.4, Page number: 59"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "P = 14.7 #Absolute pressure of air (psia)\n",
- "MW = 29 #Molecular weight of air (lb/lbmol)\n",
- "T = 75+460 #Temperature in Rankine scale (\u00b0R)\n",
- "R = 10.73 #Universal gas constant (ft^3.psi/lbmol.\u00b0R)\n",
- "\n",
- "#Calculation:\n",
- "p = P*MW/R/T #Density of air (lb/ft^3)\n",
- "\n",
- "#Result:\n",
- "print \"The density of air at 75\u00b0F and 14.7 psia is :\",round(p,4),\" lb/ft^3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The density of air at 75\u00b0F and 14.7 psia is : 0.0743 lb/ft^3\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.5, Page number: 59"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "n = 1 #Molar flow rate of gas (lbmol/h)\n",
- "R = 10.73 #Universal gas constant (ft^3.psi/lbmol.\u00b0R)\n",
- "T = 60+460 #Temperature in Rankine scale (\u00b0R)\n",
- "P = 14.7 #Absolute pressure of gas (psia)\n",
- "\n",
- "#Calculation:\n",
- "V = n*R*T/P #Volume of gas (ft^3)\n",
- "\n",
- "#Result:\n",
- "print \"The volume of given ideal gas is :\",round(V,1),\" ft^3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volume of given ideal gas is : 379.6 ft^3\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.6, Page number: 59"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "P = 1.2 #Abslute pressure of gas (psia)\n",
- "MW = 29 #Molecular weight of gas (g/gmol)\n",
- "R = 82.06 #Universal gas constant (atm.cm^3/gmol.K)\n",
- "T = 20+273 #Temperature in Kelvin (K)\n",
- "\n",
- "#Calculation:\n",
- "p = P*MW/R/T #Dendity of gas (g/cm^3)\n",
- "\n",
- "#Result:\n",
- "print \"The density of given gas is :\",round(p,5),\" g/cm^3\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The density of given gas is : 0.00145 g/cm^3\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.7, Page number: 60"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "R = 10.73 #Universal gas constant (psia . ft^3/lbmol .\u00b0R)\n",
- "T = 70+460 #Temperature in Rankine scale (\u00b0R)\n",
- "v = 10.58 #Specific volume (ft^3/lb)\n",
- "P = 14.7 #Absolute pressure (psia)\n",
- "\n",
- "#Calculation:\n",
- "MW = R*T/v/P #Molecular weight of gas (lb/lbmol)\n",
- "\n",
- "#Result:\n",
- "print \"The molecular weight of the gas is :\",round(MW,2),\" lb/lbmol.\"\n",
- "print \"It appears that the gas is HCl (i.e., hydrogen chloride).\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The molecular weight of the gas is : 36.57 lb/lbmol.\n",
- "It appears that the gas is HCl (i.e., hydrogen chloride).\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.8, Page number: 61"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "qs = 30000 #Volumetric flow rate at standard conditions (scfm)\n",
- "Ta = 1100+460 #Actual absolute temperature in Rankine scale (\u00b0R)\n",
- "Ts = 60+460 #Standard absolute temperature in Rankine scale (\u00b0R)\n",
- "\n",
- "#Calculation:\n",
- "qa = qs*Ta/Ts #Volumetric flow rate at actual conditions (acfm)\n",
- "\n",
- "#Result:\n",
- "print \"The volumetric flow rate in actual cubic feet per minute is :\",round(qa),\" acfm\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The volumetric flow rate in actual cubic feet per minute is : 90000.0 acfm\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.9, Page number: 62"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "qs = 1000 #Volumetric flow rate at standard conditions (scfm)\n",
- "Ta = 300+460 #Actual absolute temperature in Rankine scale (\u00b0R)\n",
- "Ts = 70+460 #Standard absolute temperature in Rankine scale (\u00b0R)\n",
- "A = 2.0 #Inlet area of stack (ft^2)\n",
- "\n",
- "#Calculations:\n",
- "qa = qs*Ta/Ts #Volumetric flow rate at actual conditions (acfm)\n",
- "v = qa/A/60 #Velocity of gas (ft/s)\n",
- "\n",
- "#Result:\n",
- "print \"The velocity of the gas through the stack inlet is :\",round(v),\" ft/s\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The velocity of the gas through the stack inlet is : 12.0 ft/s\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.10, Page number: 62"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "qs1 = 5000.0 #Volumetric flow rate of C6H5Cl at standard conditions (scfm)\n",
- "qs2 = 3000.0 #Volumetric flow rate of air at standard conditions (scfm)\n",
- "Ta = 70+460.0 #Actual absolute temperature in Rankine scale (\u00b0R)\n",
- "Ts = 60+460.0 #Standard absolute temperature in Rankine scale (\u00b0R)\n",
- "V = 387.0 #Volume occupied by one lbmol of any ideal gas (ft^3)\n",
- "M1 = 112.5 #Molecular weight of C6H5Cl (lb/lbmol)\n",
- "M2 = 29.0 #Molecular weight of air (lb/lbmol)\n",
- "T = 60.0 #Absolute temperature (\u00b0F)\n",
- "\n",
- "#Calculations:\n",
- "qa1 = qs1*(Ta/Ts) #Volumetric flow rate of C6H5Cl at actual conditions (acfm)\n",
- "qa2 = qs2*(Ta/Ts) #Volumetric flow rate of air at actual conditions (acfm)\n",
- "n1 = qa1/V #Molar flow rate of C6H5Cl (lbmol/min)\n",
- "n2 = qa2/V #Molar flow rate of air (lbmol/min)\n",
- "m1 = n1*M1*T #Mass flow rate of C6H5Cl (lb/h)\n",
- "m2 = n2*M2*T #Mass flow rate of air (lb/h)\n",
- "m_in = m1+m2 #Total mass flow rate of both streams entering the oxidizer (lb/h)\n",
- "m_out = m_in #Total mass flow rate of both streams exit the cooler (lb/h)\n",
- "\n",
- "#Result:\n",
- "print \"The rate of the products exit the cooler is :\",round(m_out),\" lb/h\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate of the products exit the cooler is : 102634.0 lb/h\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 5.11, Page number: 64"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "p = 0.15 #Partial pressure of SO3 (mm Hg)\n",
- "P = 760.0 #Atmospheric pressure (mm Hg)\n",
- "m = 10**6 #Particles in a million\n",
- "\n",
- "#Calculation:\n",
- "y = p/P #Mole fraction of SO3\n",
- "ppm = y*m #Parts per million of SO3 (ppm)\n",
- "\n",
- "#Result:\n",
- "print \"The parts per million of SO3 in the exhaust is :\",round(ppm),\" ppm .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The parts per million of SO3 in the exhaust is : 197.0 ppm .\n"
- ]
- }
- ],
- "prompt_number": 12
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_06.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_06.ipynb
deleted file mode 100644
index e4393f65..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_06.ipynb
+++ /dev/null
@@ -1,363 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:54e2e4fc776d95c57fe6ec3f8739ba703b59fc814a535a0e713a806e8b2afe6d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 6: Heat Exchanger Pipes and Tubes"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 6.1, Page number: 73"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "NPS = 2 #Nominal pipe size (inch)\n",
- "SN = 40 #Schedule number\n",
- "\n",
- "#Calculation:\n",
- "#From Table 6.2, we obtain that the inside diameter of steel pipe is ID = 2.067 in.\n",
- "ID = 2.067\n",
- "\n",
- "#Result:\n",
- "print \"The inside diameter of steel pipe is :\",ID,\" in.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The inside diameter of steel pipe is : 2.067 in.\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 6.2, Page number: 73"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "NPS = 3 #Nominal pipe size (inch)\n",
- "SN = 40 #Schedule number\n",
- "\n",
- "#Calculation:\n",
- "#From Table 6.2, we obtain that the inside diameter of steel pipe is ID = 3.068 in, outside diameter OD = 3.5 in, wal thickness WT = 0.216 in, and pipe weight PW = 7.58 lb/ft.\n",
- "ID = 3.068\n",
- "OD = 3.5\n",
- "WT = 0.216\n",
- "PW = 7.58\n",
- "\n",
- "#Result:\n",
- "print \"The inside diameter of steel pipe is :\",ID,\" in\"\n",
- "print \"The outside diameter of steel pipe is :\",OD,\" in\"\n",
- "print \"The wall thickness of steel pipe is :\",WT,\" in\"\n",
- "print \"The weight of steel pipe is :\",PW,\" lb/ft.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The inside diameter of steel pipe is : 3.068 in\n",
- "The outside diameter of steel pipe is : 3.5 in\n",
- "The wall thickness of steel pipe is : 0.216 in\n",
- "The weight of steel pipe is : 7.58 lb/ft.\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 6.3, Page number: 73"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "ID = 0.957 #Inside diameter of pipe (in)\n",
- "OD = 1.315 #Outside diameter of pipe (in)\n",
- "WT = 0.179 #Wall thickness of pipe (in)\n",
- "PW = 2.17 #Weight of pipe (lb/ft)\n",
- "\n",
- "#Calculation:\n",
- "#From Table 6.2, it indicates that the steel pipe is 1 inch schedule 80.\n",
- "NSP = 1\n",
- "SN = 80\n",
- "\n",
- "#Result:\n",
- "print \"The nominal size of the pipe is :\",NSP,\" in.\"\n",
- "print \"The schedule number of the pipe is:\",SN,\".\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The nominal size of the pipe is : 1 in.\n",
- "The schedule number of the pipe is: 80 .\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 6.4, Page number: 75"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "S = 3/4 #Tube size (in)\n",
- "BWG = 16 #Birmingham Wire Gauge number (gauge)\n",
- "\n",
- "#calculation:\n",
- "#From table 6.3, we get:\n",
- "ID = 0.620 #Internal diameter of tube (in)\n",
- "WT = 0.065 #Wall thickness of tube (in)\n",
- "OD = ID+2*WT #Outside diameter of tube (in)\n",
- "EA = 0.1963 #External area per foot (ft)\n",
- "\n",
- "#Result:\n",
- "print \"The inside diameter is :\",ID,\" in\"\n",
- "print \"The wall thickness is :\",WT,\" in\"\n",
- "print \"The outside diamater is :\",OD,\" in\"\n",
- "print \"The external area per foot per foot :\",EA,\" ft.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The inside diameter is : 0.62 in\n",
- "The wall thickness is : 0.065 in\n",
- "The outside diamater is : 0.75 in\n",
- "The external area per foot per foot : 0.1963 ft.\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 6.11, Page number: 81"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "a = 1 #Length of cross-section (m)\n",
- "b = 0.25 #Width of cross-section (m)\n",
- "v = 1*10**-5 #Kinematic viscosity of air (m^2/s)\n",
- "Re = 2300.0 #Reynolds Number\n",
- "cm = 100 #Cenitmeters in a meter\n",
- "\n",
- "#Calculation:\n",
- "Dh = 2*a*b/(a+b) #Hydraulic diameter of duct (m)\n",
- "V = Re*v/Dh*cm #Maximum air velocity (cm/s)\n",
- "\n",
- "#Result:\n",
- "print \"The maximum air velocity before the flow becomes turbulent is :\",round(V,1),\" cm/s.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The maximum air velocity before the flow becomes turbulent is : 5.8 cm/s.\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 6.12, Page number: 82"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "q = 0.486 #Flow rate of fluid (ft^3/s)\n",
- "D = 2.0/12.0 #Diameter of tube in feet (ft)\n",
- "pi = 3.14 #Value of pi\n",
- "p = 70.0 #Density of fluid (lb/ft^3)\n",
- "u = 0.1806 #Viscosity of fluid (lb/ft)\n",
- "\n",
- "#Calculation:\n",
- "V = 4*q/pi/D**2 #Flow velocity (ft/s)\n",
- "Re = D*V*p/u #Reynolds Number\n",
- "\n",
- "#Result:\n",
- "if(Re<2100):\n",
- " print \"The flow is laminar.\"\n",
- "elif(Re>2100):\n",
- " print \"The flow is turbulant.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The flow is laminar.\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 6.13, Page number: 82"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 6.12, we have:\n",
- "D = 2.0/12.0 #Diameter of pipe in feet (ft)\n",
- "Re = 1440.0 #Reynolds number\n",
- "\n",
- "#Calculation:\n",
- "Lc = 0.05*D*Re #Length of pipe (ft)\n",
- "\n",
- "#Result:\n",
- "print \"The pipe length to ensure a fully developed flow is:\",Lc,\" ft.\"\n",
- "print \"This is an abnormally long calming length for a pipe (or tube) in a heat exchanger.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pipe length to ensure a fully developed flow is: 12.0 ft.\n",
- "This is an abnormally long calming length for a pipe (or tube) in a heat exchanger.\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 6.14, Page number: 82"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "u = 6.72*10**-4 #Viscosity of water (lb/ft.s)\n",
- "p = 62.4 #Density of water (lb/ft^3)\n",
- "#For laminar flow:\n",
- "Re = 2100.0 #Reynolds number\n",
- "#From table 6.2, we have:\n",
- "D = 2.067/12.0 #Inside diameter of pipe (ft)\n",
- "\n",
- "#Calculation:\n",
- "V = Re*u/D/p #Average velocity of water flowing (ft/s)\n",
- "\n",
- "#Result:\n",
- "print \"The average velocity of water flowing is:\",round(V,2),\" ft/s.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The average velocity of water flowing is: 0.13 ft/s.\n"
- ]
- }
- ],
- "prompt_number": 14
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_07.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_07.ipynb
deleted file mode 100644
index bfa882d7..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_07.ipynb
+++ /dev/null
@@ -1,412 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:057d6eaa086db820c820c1a5a80f0143b18739ecbe1b8c285287723cf460e4b6"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 7: Steady-State Heat Conduction"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 7.1, Page number: 93"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Q = 3000.0 #The rate of heat flow through the glass window (W)\n",
- "L = 0.01 #Thickness of glass window (m)\n",
- "A = 3.0 #Area of heat transfer (m^2)\n",
- "TC = 10+273 #Temperature at the outside surface (K)\n",
- "k = 1.4 #Thermal onductivity of glass (W/m.K)\n",
- "\n",
- "#Calculation:\n",
- "TH = TC+Q*L/k/A #Temperature at the inner surface (K)\n",
- "\n",
- "#Result:\n",
- "print \"The temperature at the inner surface is :\",round(TH,1),\" K\"\n",
- "print \"The temperature at the inner surface is :\",round(TH-273,1),\" \u00b0C\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature at the inner surface is : 290.1 K\n",
- "The temperature at the inner surface is : 17.1 \u00b0C\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 7.2, Page number: 94"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "k = 0.026 #Thermal conductivity of insulating material (Btu/ft.h.\u00b0F)\n",
- "L = 1.0 #Thickness of insulating material (ft)\n",
- "TC = 70.0 #Temperature on the cold side surface (\u00b0F)\n",
- "TH = 210.0 #Temperature on the hot side surface (\u00b0F)\n",
- "c = 0.252 #Kilocalorie per hour in a Btu per hour\n",
- "m = 0.093 #meter square in a feet square\n",
- "\n",
- "#Calculation:\n",
- "DT = TH-TC #Change in temperature (\u00b0F)\n",
- "Q1 = k*DT/L #Rate of heat flux throughthe wall (Btu/f^t2.h.)\n",
- "Q2 = Q1*c/m #Rate of heat flux throughthe wall in SI units (kcal/m^2.h)\n",
- "\n",
- "#Result:\n",
- "print \"The rate of heat flux in Btu/ft^2.h is :\",round(Q1,3),\" Btu/ft^2.h .\"\n",
- "print \"The rate of heat flux in SI units is :\",round(Q2,3),\" kcal/m^2.h .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate of heat flux in Btu/ft^2.h is : 3.64 Btu/ft^2.h .\n",
- "The rate of heat flux in SI units is : 9.863 kcal/m^2.h .\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 7.3, Page number: 94"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "TH = 1592.0 #Temperature of inside surface (K)\n",
- "TC = 1364.0 #Temperature of outside surface (K)\n",
- "H = 3.0 #Height of furnace wall (m)\n",
- "W = 1.2 #Width of furnace wall (m)\n",
- "L = 0.17 #Thickness furnace wall (m)\n",
- "m = 0.0929 #Meter square per second in a feet square per second\n",
- "Btu = 3.412 #Btu per hour in a Watt\n",
- "Btu2 = 0.3171 #Btu per feet square hour in a watt per meter square\n",
- "\n",
- "#Calculation:\n",
- "Tav = (TH+TC)/2 #Average wall temperature (K)\n",
- "#From Table in Appendix:\n",
- "p = 2645.0 #Density of material (kg/m^3)\n",
- "k = 1.8 #Thermal conductivity (W/m.K)\n",
- "Cp = 960.0 #Heat capacity of material (J/kg.K)\n",
- "a = k/(p*Cp)/m #Thermal diffusivity (ft^2/s)\n",
- "t = (TC-TH)/L #Temperature gradient (\u00b0C/m)\n",
- "A = H*W #Heat transfer area (m^2)\n",
- "Q1 = k*A*(TH-TC)/L*Btu #Heat transfer rate (Btu/h)\n",
- "Q2 = k*(TH-TC)/L*Btu2 #Heat transfer flux (Btu/h.ft^2)\n",
- "R = L/(k*A) #Thermal resistance (\u00b0C/W)\n",
- "\n",
- "#Result:\n",
- "print \"The temperature gradient is :\",round(t),\" \u00b0C/m.\"\n",
- "print \"The heat transfer rate is :\",round(Q1),\" Btu/h.\"\n",
- "print \"The heat transfer flux is :\",round(Q2,1),\" Btu/h.ft^2.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature gradient is : -1341.0 \u00b0C/m.\n",
- "The heat transfer rate is : 29653.0 Btu/h.\n",
- "The heat transfer flux is : 765.5 Btu/h.ft^2.\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 7.4, Page number: 96"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "TH = 25.0 #Temperature at inner suface of wall (\u00b0C)\n",
- "TC = -15.0 #Temperature at outer suface of wall (\u00b0C)\n",
- "L = 0.3 #Thickness of wall (m)\n",
- "k = 1.0 #Thermal conductivity of concrete (W/m)\n",
- "A = 30.0 #Sueface area of wall (m^2)\n",
- "\n",
- "#Calculation:\n",
- "DT = TH-TC #Driving force for heat transfer (\u00b0C) (part 2)\n",
- "R = L/(k*A) #Thermal resistance (\u00b0C/W) (part 3)\n",
- "Q = DT/R/10**3 #Heat loss through the wall (kW)\n",
- "\n",
- "#Result:\n",
- "print \"1. Theoretical part.\"\n",
- "print \"2. The driving force for heat transfer is :\",DT,\" \u00b0C.\"\n",
- "print \"3. The heat loss through the wall is :\",Q,\" kW.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. Theoretical part.\n",
- "2. The driving force for heat transfer is : 40.0 \u00b0C.\n",
- "3. The heat loss through the wall is : 4.0 kW.\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 7.5, Page number: 97"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "TC = 27.0 #Inside temperature of walls (\u00b0C)\n",
- "TH = 68.7 #Outside temperature of walls (\u00b0C)\n",
- "LC = 6*0.0254 #Thickness of concrete (m)\n",
- "LB = 8*0.0254 #Thickness of cork-board (m)\n",
- "LW = 1*0.0254 #Thickness of wood (m)\n",
- "kC = 0.762 #Thermal conductivity of concrete (W/m.K)\n",
- "kB = 0.0433 #Thermal conductivity of cork-board (W/m.K)\n",
- "kW = 0.151 #Thermal conductivity of wood (W/m.K)\n",
- "\n",
- "#Calculation:\n",
- "RC = LC/kC #Thermal resistance of concrete (K/W)\n",
- "RB = LB/kB #Thermal resistance of cork-board (K/W)\n",
- "RW = LW/kW #Thermal resistance of wood (K/W)\n",
- "Q = (TC-TH)/(RC+RB+RW) #Heat transfer rate across the wall (W)\n",
- "T = -(Q*RW-TC) #Interface temperature between wood and cork-board (K)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer rate across the wall is :\",round(Q,3),\" W.\"\n",
- "print \"The interface temperature between wood and cork-board is :\",round(T,1),\" \u00b0C.\"\n",
- "print \"The interface temperature between wood and cork-board is :\",round(T+273,1),\" K.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate across the wall is : -8.239 W.\n",
- "The interface temperature between wood and cork-board is : 28.4 \u00b0C.\n",
- "The interface temperature between wood and cork-board is : 301.4 K.\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 7.6, Page number: 98"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import pi, log\n",
- "from sympy import symbols\n",
- "\n",
- "#Variable declaration:\n",
- "Z = symbols ('z') #Length of pipe\n",
- "D1s = 4.0 #Glass wool inside diameter (in)\n",
- "D2s = 8.0 #Glass wool outside diameter (in)\n",
- "D1a = 3.0 #Asbestos inside diameter (in)\n",
- "D2a = 4.0 #Asbestos outside diameter (in)\n",
- "TH = 500.0 #Outer surface temperature of pipe (\u00b0F)\n",
- "TC = 100.0 #Outer surface temperature of glass wool (\u00b0F)\n",
- "La = 0.5/12.0 #Thickness of asbestos (ft)\n",
- "Lb = 2.0/12.0 #Thickness of glss wool (ft)\n",
- "ka = 0.120 #Thermal conductivity of asbestos (Btu/h.ft.\u00b0F)\n",
- "kb = 0.0317 #Thermal conductivity of asbestos (Btu/h.ft.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Aa = (pi*Z*(D2a-D1a)/12.0)/log(D2a/D1a) #Area of asbestos (ft^2)\n",
- "Ab = (pi*Z*(D2s-D1s)/12.0)/log(D2s/D1s) #Area of glass wool (ft^2)\n",
- "Q1 = (TH-TC)/(La/(ka*Aa)+Lb/(kb*Ab)) #Steady-state heat transfer per foot of pipe (Btu/h.)\n",
- "Q2 = Q1/Z #Factorization of Q/Z (Btu/h.ft)\n",
- "\n",
- "#Result:\n",
- "print \"The steady-state heat transfer per foot of pipe, Z, is :\",round(Q1/Z,1),\" x z Btu/h.\"\n",
- "print \"The steady-state heat transfer factorizating out Z is :\",round(Q2,1),\" Btu/h.ft.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The steady-state heat transfer per foot of pipe, Z, is : 103.6 x z Btu/h.\n",
- "The steady-state heat transfer factorizating out Z is : 103.6 Btu/h.ft.\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 7.7, Page number: 99"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 7.6:\n",
- "TH = 500 #Outer surface temperature of pipe (\u00b0F)\n",
- "Lb = 2.0/12.0 #Thickness of glss wool (ft)\n",
- "kb = 0.0317 #Thermal conductivity of asbestos (Btu/h.ft.\u00b0F)\n",
- "Ab = 1.51 #Area of glass wool (ft^2)\n",
- "Q = 103.5 #Steady-state heat transfer per foot of pipe (Btu/h.)\n",
- "La = 0.5/12.0 #Thickness of asbestos (ft)\n",
- "ka = 0.120 #Thermal conductivity of asbestos (Btu/h.ft.\u00b0F)\n",
- "Aa = 0.91 #Area of asbestos (ft^2)\n",
- "TC = 100 #Outer surface temperature of glass wool (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Ti_b = -((Lb*Q)/(kb*Ab)-TH) #Interfacial temperature of glass wool layer (\u00b0F)\n",
- "Ti_a = (Q*La)/(ka*Aa)+TC #Interfacial temperature of asbestos layer (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The interfacial temperature of glass wool layer is :\",round(Ti_b),\" \u00b0F.\"\n",
- "print \"The interfacial temperature of asbestos layer is :\",round(Ti_a,1),\" \u00b0F.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The interfacial temperature of glass wool layer is : 140.0 \u00b0F.\n",
- "The interfacial temperature of asbestos layer is : 139.5 \u00b0F.\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 7.8, Page number: 100"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from sympy import cos,symbols,diff,pi\n",
- "\n",
- "#Variable declaration:\n",
- "z,h,k = symbols('z, h, k') #Length, height, thermal conductivity\n",
- "T = 100*cos((pi*z)/(2*h)) #Temperature of solid slab\n",
- "\n",
- "#Calculation:\n",
- "DT = diff(T,z) #Temperature at z\n",
- "Q = -k*(DT) #Heat flux in slab (Btu/s.ft^2)\n",
- "Q1 = Q.subs(z,0) #Heat flux in slab at z = 0 (Btu/s.ft^2)\n",
- "Q2 = Q.subs(z,h) #Heat flux in slab at z = h (Btu/s.ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The heat flux in slab is :\",Q,\" Btu/s.ft^2 .\"\n",
- "print \"The heat flux in slab at z = 0 is :\",Q1,\" Btu/s.ft^2 .\"\n",
- "print \"The heat flux in slab at z = h is :5\",Q2,\" Btu/s.ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat flux in slab is : 50*pi*k*sin(pi*z/(2*h))/h Btu/s.ft^2 .\n",
- "The heat flux in slab at z = 0 is : 0 Btu/s.ft^2 .\n",
- "The heat flux in slab at z = h is :5 50*pi*k/h Btu/s.ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 8
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_08.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_08.ipynb
deleted file mode 100644
index 51da1dc2..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_08.ipynb
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:f803274ef7ccff0534bae20ab018bc7691f3977ae1b9f41d5ea33a08004d0ffb"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 8: Unsteady-State Heat Conduction"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 8.4, Page number: 122"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import pi,sin,e\n",
- "\n",
- "#Variable declaration:\n",
- "k = 9.1 #Thermal coductivity of steel rod (Btu/h.ft.\u00b0F)\n",
- "p = 0.29*1728 #Density of steel rod (lb/ft^3)\n",
- "Cp = 0.12 #Heat capacity of steel rod (Btu/lb.\u00b0F)\n",
- "P = 15+14.7 #Absolute pressure (psia)\n",
- "Ta = 71.0 #Initial temperature (\u00b0F)\n",
- "L = 20.0/12.0 #Length of rod (ft)\n",
- "t = 30.0/60.0 #Time taken (h)\n",
- "x = 0.875/12.0 #Length from one of end (ft)\n",
- "#From assumption:\n",
- "n = 1.0 #First term\n",
- "#From tables in Appendix:\n",
- "Ts = 249.7 #Saturated steam temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "a = k/(p*Cp) #Thermal diffusivity (ft^2/s)\n",
- "T = Ts+(Ta-Ts)*(((n+1)*(-1)**2 + 1 )/pi)*e**((-a*((n*pi)/L)**2)*t)*sin((n*pi*x)/L) #Temperature 0.875 inches from one of the ends after 30 minutes (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The temperature 0.875 inches from one of the ends after 30 minutes is :\",round(T),\" \u00b0F.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature 0.875 inches from one of the ends after 30 minutes is : 232.0 \u00b0F.\n"
- ]
- }
- ],
- "prompt_number": 4
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_09.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_09.ipynb
deleted file mode 100644
index cba4bd5f..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_09.ipynb
+++ /dev/null
@@ -1,612 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:717821d247948d7fb9af37b8a67927013610ff26888719ba58ba9ef00c80f713"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 9: Forced Convection"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.1, Page number: 135"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "D = 1.0 #Diamete of vessel (ft)\n",
- "L = 1.5 #Length of vessel (ft)\n",
- "T1 = 390.0 #Surface temperature of vessel (\u00b0F)\n",
- "T2 = 50.0 #Surrounding temperature of vessel (\u00b0F)\n",
- "h = 4.0 #Convective heat transfer coefficient (Btu/h.ft.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "A = pi*D*L+2*pi*(D/2)**2 #Total heat transfer area (ft^2)\n",
- "Q = h*A*(T1-T2) #Rate of heat transfer (Btu/h)\n",
- "R = 1/(h*A) #Thermal resistance (\u00b0F.h/Btu)\n",
- "\n",
- "#Result:\n",
- "print \"The thermal resistance of vessel wal is :\",round(R,4),\" \u00b0F.h/Btu .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The thermal resistance of vessel wal is : 0.0398 \u00b0F.h/Btu .\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.2, Page number: 135"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "'''Referring to the previous example, convert the resistance to K/W and \u00b0C/W.\n",
- "'''\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 9.1:\n",
- "R = 0.0398 #Theral resistance (\u00b0F.h/Btu)\n",
- "Btu = 3.412 #Btu/h in a watt\n",
- "C = 1.8 #Change in degree fahrenheit for a degree change in celsius\n",
- "K = 1 #Change in degree celsius for a unit change in Kelvin\n",
- "\n",
- "#Calculation:\n",
- "Rc = R*Btu/C #Thermal resistance in degree cesius per watt (\u00b0C/W)\n",
- "Rk = Rc/K #Thermal resistance in Kelvin per watt (K/W)\n",
- "\n",
- "#Result:\n",
- "print \"The thermal resistance in \u00b0C/W is :\",round(Rc,3),\" \u00b0C/W.\"\n",
- "print \"The thermal resistance in K/W is :\",round(Rk,3),\" K/W.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The thermal resistance in \u00b0C/W is : 0.075 \u00b0C/W.\n",
- "The thermal resistance in K/W is : 0.075 K/W.\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.3, Page number: 136"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "h = 48.0 #Convective heat transfer coefficient (Btu/h.ft.\u00b0F)\n",
- "A = 2*1.5 #Total heat transfer area (ft^2)\n",
- "Ts = 530.0 #Surface temperature of plate (\u00b0F)\n",
- "Tm = 105.0 #Maintained temperature of opposite side of plate (\u00b0F)\n",
- "kW = 3.4123*10**3 #Units kW in a Btu/h\n",
- "\n",
- "#Calculation:\n",
- "Q = h*A*(Ts-Tm) #Heat transfer rate in Btu/h (Btu/h)\n",
- "Q1 = Q/kW #Heat transfer rate in kW (kW)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer rate in Btu/h is :\",round(Q),\" Btu/h.\"\n",
- "print \"The heat transfer rate in kW is :\",round(Q1,2),\" kW.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate in Btu/h is : 61200.0 Btu/h.\n",
- "The heat transfer rate in kW is : 17.94 kW.\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.4, Page number: 136"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "TS = 10+273 #Outer surface temperature of wall (K)\n",
- "Q = 3000.0 #Heat transfer rate (W)\n",
- "h = 100.0 #Convection coefficient of air (W/m^2)\n",
- "A = 3.0 #Area of glass window (m^2)\n",
- "\n",
- "#Calculation:\n",
- "TM = TS-Q/(h*A) #Bulk temperature of fluid (K)\n",
- "\n",
- "#Result:\n",
- "print \"The bulk temperature of fluid is :\",round(TM),\" K.\"\n",
- "print \"The bulk temperature of fluid is :\",round(TM-273),\" \u00b0C.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The bulk temperature of fluid is : 273.0 K.\n",
- "The bulk temperature of fluid is : 0.0 \u00b0C.\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.5, Page number: 137"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "h = 24.0 #Plant operating hour per day (h/day)\n",
- "d = 350.0 #Plant operating day per year (day/yr)\n",
- "\n",
- "#Calculation:\n",
- "N = h*d #Operating hours per year (h/yr)\n",
- "#From example 9.1:\n",
- "Q = 8545.0 #Rate of energy loss (Btu/h)\n",
- "Qy = Q*N #Steady-state energy loss yearly (Btu/yr)\n",
- "\n",
- "#Result:\n",
- "print \"The yearly steady-state energy loss is :\",round(Qy/10**7,2),\" x 10^7 Btu/yr.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The yearly steady-state energy loss is : 7.18 x 10^7 Btu/yr.\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.7, Page number: 148"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from sympy import symbols, integrate\n",
- "\n",
- "#Variable declaration:\n",
- "x = 0.3 #Length from the leading age of the plate (m)\n",
- "L = 1.2 #Length of plate (m)\n",
- "TS = 58.0 #Surface temperature of plate (\u00b0C)\n",
- "Ta = 21.0 #Temperature of flowing air (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "hx = 25/x**0.4 #Local heat transfer coefficient at 0.3m (W/m^2.K) (Part 1)\n",
- "y = symbols('y') #Length\n",
- "hy = 25/y**0.4 #hx at the end of the plate (W/m^2.K)\n",
- "h = integrate(hy, (y,0,L))/L #Average heat transfer coefficient (W/m^2.K)\n",
- "Q = hx*(TS-Ta) #Heat flux at 0.3m from leading edge of plate (W/m^2)\n",
- "hL = 25/L**0.4 #Local heat transfer coefficient at plate end (W/m^2.K) (Part 2) \n",
- "r = h/hL #Ratio h/hL at the end of the plate\n",
- "\n",
- "#Result:\n",
- "print \"1. The heat flux at 0.3 m from the leading edge of the plate is :\",round(Q),\" W/m^2.\"\n",
- "print \"2. The local heat transfer coefficient at the end of the plate is :\",round(hL,1),\" W/m^2.K.\"\n",
- "print \"3. The ratio h/hL at the end of plate is :\",round(r,3),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The heat flux at 0.3 m from the leading edge of the plate is : 1497.0 W/m^2.\n",
- "2. The local heat transfer coefficient at the end of the plate is : 23.2 W/m^2.K.\n",
- "3. The ratio h/hL at the end of plate is : 1.667 .\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.8, Page number: 150"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 9.7:\n",
- "b = 1.0 #Width of plate (m)\n",
- "L = 1.2 #Length of plate (m)\n",
- "TS = 58.0 #Surface temperture of plate (\u00b0C)\n",
- "Ta = 21.0 #Air flow temperature (\u00b0C)\n",
- "h = 38.7 #Average heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Calculation:\n",
- "A = b*L #Area for heat transfer for the entire plate (m^2)\n",
- "Q = h*A*(TS-Ta) #Rate of heat transfer over the whole length of the plate (W)\n",
- "\n",
- "#Result:\n",
- "print \"The rate of heat transfer over the whole length of the plate is :\",round(Q,-1),\" W.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate of heat transfer over the whole length of the plate is : 1720.0 W.\n"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.9, Page number: 150"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import pi\n",
- "#Variable declaration:\n",
- "m = 0.075 #Mass rate of air flow (kg/s)\n",
- "D = 0.225 #Diameter of tube (m)\n",
- "mu = 208*10**-7 #Dynamic viscosity of fluid (N)\n",
- "Pr = 0.71 #Prandtl number\n",
- "k = 0.030 #Thermal conductivity of air (W/m.K)\n",
- "\n",
- "#Calculation:\n",
- "Re = 4*m/(pi*D*mu) #Reynolds number\n",
- "#From equation 9.26:\n",
- "Nu = 0.023*(Re**0.8)*(Pr**0.3) #Nusselt number\n",
- "h = (k/D)*Nu #Heat transfer coefficient of air (W/m^2.K)\n",
- "\n",
- "#Result:\n",
- "print \"The Heat transfer coefficient of air is :\",round(h,2),\" W/m^2.K.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Heat transfer coefficient of air is : 7.76 W/m^2.K.\n"
- ]
- }
- ],
- "prompt_number": 27
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.10, Page number: 150"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "D = 0.902/12.0 #Inside diameter of tube (ft)\n",
- "T_in = 60.0 #Temperature water entering the tube (\u00b0F)\n",
- "T_out = 70.0 #Temperature water leaving the tube (\u00b0F)\n",
- "V = 7.0 #Average wave velocity water (ft/s)\n",
- "p = 62.3 #Density of water (lb/ft^3)\n",
- "mu = 2.51/3600.0 #Dynamic viscosity of water (lb/ft.s)\n",
- "Cp = 1.0 #Viscosity of centipoise (Btu/lb.\u00b0F)\n",
- "k = 0.34 #Thermal conductivity of water (Btu/h.ft.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Re = D*V*p/mu #Reynolds Number\n",
- "Pr = Cp*mu/k*3600 #Prandtl number\n",
- "#From equation 9.26:\n",
- "Nu = 0.023*(Re**0.8)*(Pr**0.4) #Nusselt number\n",
- "h = (k/D)*Nu #Average film heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The required average film heat transfer coefficient is :\",round(h),\" Btu/h.ft^2.\u00b0F.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The required average film heat transfer coefficient is : 1265.0 Btu/h.ft^2.\u00b0F.\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.11, Page number: 151"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "P = 1.0132 * 10**5 #Air pressure (Pa)\n",
- "T = 300.0+273.0 #Air temperature (K)\n",
- "V = 5.0 #Air flow velocity (m/s)\n",
- "D = 2.54/100.0 #Diameter of tube (m)\n",
- "R = 287.0 #Gas constant (m^2/s^2.K)\n",
- "#From Appendix:\n",
- "Pr = 0.713 #Prandtl number of nitrogen\n",
- "mu = 1.784*10**(-5) #Dynamic viscosity of nitrogen (kg/m.s)\n",
- "k = 0.0262 #Thermal conductivity of nitrogen (W/m.K)\n",
- "Cp = 1.041 #Heat capacity of nitrogen (kJ/kg.K)\n",
- "\n",
- "#Calculation:\n",
- "p = P/(R*T) #Density of air\n",
- "Re = D*V*p/mu #Reynolds number\n",
- "#From table 9.5:\n",
- "Nu = 0.023*(Re**0.8)*(Pr**0.3) #Nusselt number\n",
- "h = (k/D)*Nu #Heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Result:\n",
- "print \"The required Heat transfer coefficient is :\",round(h,2),\" W/m^2.K.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The required Heat transfer coefficient is : 17.57 W/m^2.K.\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.12, Page number: 152"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 15.0 #Water entering temperature (\u00b0C)\n",
- "T2 = 60.0 #Water leaving temperature (\u00b0C)\n",
- "D = 0.022 #Inside diameter of tube (m)\n",
- "V = 0.355 #Average water flow velocity (m/s)\n",
- "TC = 150.0 #Outside wall temperature (\u00b0C)\n",
- "#From Appendix:\n",
- "p = 993.0 #Density of water (kg/m^3)\n",
- "mu = 0.000683 #Dynamic viscosity of water (kg/m.s)\n",
- "Cp = 4.17*10**3 #Heat capacity of water (J/kg.K)\n",
- "k = 0.63 #Thermal conductivity of water (W/m.K)\n",
- "\n",
- "#Calculation:\n",
- "Tav1 = (T1+T2)/2.0 #Average bulk temperature of water (\u00b0C)\n",
- "Re = D*V*p/mu #Reynolds number\n",
- "Pr = Cp*mu/k #Prandtl number\n",
- "Tav2 = (Tav1+TC)/2.0 #Fluid's average wall temperature (\u00b0C)\n",
- "#From Appendix:\n",
- "mu_w = 0.000306 #Dynamic viscosity of fluid at wall (kg/m.s)\n",
- "#From Table 9.5:\n",
- "h = (k/D)*0.027*Re**0.8*Pr**0.33*(mu/mu_w)**0.14 #Heat transfer coefficient for water (W/m^2.K)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer coefficient for water is :\",round(h,1),\" W/m^2.K.\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer coefficient for water is : 2497.3 W/m^2.K.\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.13, Page number: 153"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 9.7:\n",
- "h = 38.7 #Average heat transfer coefficient (W/m^2.K)\n",
- "L = 1.2 #Length of plate (m)\n",
- "k = 0.025 #Thermal conductivity of air (W/m)\n",
- "\n",
- "#Calculation:\n",
- "Bi = h*L/k #Average Biot number\n",
- "\n",
- "#Result:\n",
- "print \"The average Biot number is :\",round(Bi),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The average Biot number is : 1858.0 .\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 9.14, Page number: 154"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import pi\n",
- "#Variable declaration:\n",
- "k = 60.0 #Thermal conductivity of rod (W/m.K)\n",
- "p = 7850.0 #Density of rod (kg/m^3)\n",
- "Cp = 434.0 #Heat capacity of rod (J/kg.K)\n",
- "h = 140.0 #Convection heat transfer coefficient (W/m^2.K)\n",
- "D = 0.01 #Diameter of rod (m)\n",
- "kf = 0.6 #Thermal conductivity of fluid (W/m.K)\n",
- "L = 2.5 #Length of rod (m)\n",
- "Ts = 250.0 #Surface temperature of rod (\u00b0C)\n",
- "Tf = 25.0 #Fluid temperature (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "#Case 1:\n",
- "a = k/(p*Cp) #Thermal diffusivity of bare rod (m^2/s)\n",
- "#Case 2:\n",
- "Nu = h*D/kf #Nusselt number\n",
- "#Case 3:\n",
- "Bi = h*D/k #Biot number of bare rod\n",
- "#Case 4:\n",
- "Q = h*(pi*D*L)*(Ts-Tf) #Heat transferred from rod to fluid (W)\n",
- "\n",
- "#Result:\n",
- "print \"1. The thermal diffusivity of the bare rod is :\",round(a/10**-5,2),\" x 10^-5 m^2/s.\"\n",
- "print \"2. The nusselt number is :\",round(Nu,2),\" .\"\n",
- "print \"3. The Biot number is :\",round(Bi,4),\" .\"\n",
- "print \"4. The heat transferred from the rod to the fluid is :\",round(Q),\" W.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The thermal diffusivity of the bare rod is : 1.76 x 10^-5 m^2/s.\n",
- "2. The nusselt number is : 2.33 .\n",
- "3. The Biot number is : 0.0233 .\n",
- "4. The heat transferred from the rod to the fluid is : 2474.0 W.\n"
- ]
- }
- ],
- "prompt_number": 14
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_10.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_10.ipynb
deleted file mode 100644
index f1c9afa8..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_10.ipynb
+++ /dev/null
@@ -1,514 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:5a160b2a8858072f2a32a8c5f96e1426d911509afe45130ab4e23facf3414ba2"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 10: Free Convection"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.1, Page number: 163"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Gr = 100.0 #Grashof number\n",
- "Re = 50.0 #Reynolds number\n",
- "\n",
- "#Calculation:\n",
- "LT = Gr/Re**2 #Measure of influence of convection effect\n",
- "\n",
- "#Result:\n",
- "if (LT<1.0):\n",
- " print \"The free convection effects can be neglected.\"\n",
- "elif (LT>1.0):\n",
- " print \"The free convection effects can not be neglected.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The free convection effects can be neglected.\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.2, Page number: 166"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Ts = 110.0+273.0 #Surface temperature of plate (K)\n",
- "Too = 30.0+273.0 #Ambient air temperature (K)\n",
- "L = 3.5 #Height of plate (m)\n",
- "g = 9.807 #Gravitational acceleration (m^2/s)\n",
- "\n",
- "#Calculation:\n",
- "Tf = (Ts+Too)/2 #Film temperature (K)\n",
- "DT = Ts - Too #Temperature difference between surface and air (K)\n",
- "#From appendix:\n",
- "v = 2.0*10**-5 #Kinematic viscosity for air (m^2/s)\n",
- "k = 0.029 #Thermal conductivity for air (W/m.K)\n",
- "Pr = 0.7 #Prandtl number\n",
- "B = 1.0/Tf #Coefficient of expansion (K^-1)\n",
- "Gr = g*B*DT*L**3/v**2 #Grashof number\n",
- "Ra = Gr*Pr #Rayleigh number\n",
- "\n",
- "#Result:\n",
- "print \"The Grashof number is :\",round(Gr/10**11,2),\" x 10^11 .\"\n",
- "print \"The Rayleigh number is :\",round(Ra/10**11,2),\" x 10^11 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Grashof number is : 2.45 x 10^11 .\n",
- "The Rayleigh number is : 1.72 x 10^11 .\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.3, Page number: 166"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 10.2:\n",
- "Ra = 1.71*10**11 #Rayleigh number\n",
- "\n",
- "#Result:\n",
- "if (Ra>10**9):\n",
- " print \"The convection flow category is turbulent.\"\n",
- "elif(Ra<10**9):\n",
- " print \"The convection flow category is laminar.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The convection flow category is turbulent.\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.4, Page number: 167"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From Table 10.1:\n",
- "c = 0.1 #Constant c\n",
- "m = 1.0/3.0 #Constant for turbulent free conection\n",
- "#From example 10.2:\n",
- "Ra = 1.71*10**11 #Rayleigh number\n",
- "k = 0.029 #Thermal conductivity (W/m.K)\n",
- "L = 3.5 #Thickness of plate (m)\n",
- "\n",
- "#Calculation:\n",
- "Nu = c*Ra**m #Average Nusselt number\n",
- "h = Nu*k/L #Average heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Result:\n",
- "print \"The average heat transfer coefficient is :\",round(h,1),\" W/m^2.K .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The average heat transfer coefficient is : 4.6 W/m^2.K .\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.6, Page number: 167"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import log,e\n",
- "\n",
- "#Variable declaration:\n",
- "Ts = 200.0+460.0 #Surface temperature of pipe (\u00b0R)\n",
- "Too = 70.0+460.0 #Air temperature (\u00b0R)\n",
- "D = 0.5 #Diameter of pipe (ft)\n",
- "R = 0.73 #Universal gas constant (ft^3.atm.R^\u22121.lb.mol^\u22121)\n",
- "P = 1.0 #Atmospheric pressure (Pa)\n",
- "MW = 29.0 #Molecular weight of fluid (mol)\n",
- "#From Appendix:\n",
- "mu = 1.28*10**-5 #Absolute viscosity (lb/ft.s)\n",
- "k = 0.016/3600.0 #Thermal conductivity (Btu/s.ft.\u00b0F)\n",
- "g = 32.174 #Gravitational acceleration (ft/s^2)\n",
- "\n",
- "#Calculation:\n",
- "Tav = (Ts+Too)/2 #Average temperature (\u00b0R)\n",
- "v = R*Tav/P #kinematic viscosity (ft^3/lbmol)\n",
- "p = MW/v #Air density (lb/ft^3)\n",
- "B = 1.0/Tav #Coefficient of expansion (\u00b0R^-1)\n",
- "DT = Ts-Too #Temperature difference (\u00b0R)\n",
- "Gr = D**3*p**2*g*B*DT/mu**2 #Grashof number\n",
- "#From equation 10.5:\n",
- "Cp = 0.25 #Air heat capacity (Btu/lb.\u00b0F)\n",
- "Pr = Cp*mu/k #Prandtl number\n",
- "GrPr = 10**8.24 #Rayleigh number\n",
- "#From Holman^(3):\n",
- "Nu = 10**(1.5) #Nusselt number\n",
- "h = Nu*(k/D)*3600.0 #Air heat transfer film coefficient (Btu/h.ft.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The required air heat transfer film coefficient is :\",round(h,2),\" Btu/h.ft.\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The required air heat transfer film coefficient is : 1.01 Btu/h.ft.\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.7, Page number: 168"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Ts = 120.0+460 #Surface temperature of plate (\u00b0R)\n",
- "Too = 60.0+460 #Ambient temperature of nitrogen (\u00b0R)\n",
- "L = 6 #Height of plate (ft)\n",
- "#From Appendix:\n",
- "p = 0.0713 #Air density (lb/ft^3)\n",
- "k = 0.01514 #Thermal conductivity (Btu/h.ft.\u00b0F)\n",
- "v = 16.82*10**-5 #Kinematic viscosity (ft^2/s)\n",
- "Pr = 0.713 #Prandtl number\n",
- "g = 32.2 #Gravitational acceleration (ft/s^2)\n",
- "\n",
- "#Calculation:\n",
- "Tf = (Ts+Too)/2 #Mean film temperature (\u00b0R)\n",
- "B = 1.0/Tf #Coefficient of expansion (\u00b0R^-1)\n",
- "Gr = g*B*(Ts-Too)*L**3/v**2 #Grashof number\n",
- "Ra = Gr*Pr #Rayleigh number\n",
- "#From equation 10.13(Table 10.2) and costants from Table 10.1:\n",
- "h = 0.10*(k/L)*Ra**(1.0/3.0) #Free convection heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The free convection heat transfer coefficient is :\",round(h,3),\" Btu/h.ft^2.\u00b0F .\"\n",
- "print \"There is a calculation mistake in the book for calculating 'Gr', so, value of 'h' alters from that given.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The free convection heat transfer coefficient is : 0.675 Btu/h.ft^2.\u00b0F .\n",
- "There is a calculation mistake in the book for calculating 'Gr', so, value of 'h' alters from that given.\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.8, Page number: 169"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example:\n",
- "h = 0.675 #Free convection heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "A = 6.0*8.0 #Area of plate (ft^2)\n",
- "Ts = 120.0 #Surface temperature of plate (\u00b0F)\n",
- "Too = 60.0 #Ambient temperature of nitrogen (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Q = h*A*(Ts-Too) #Heat loss (Btu/h)\n",
- "\n",
- "#Result:\n",
- "print \"The heat loss is :\",round(Q,-1),\" Btu/h .\"\n",
- "print \" The 'h' obtained in the previous example differs, therefore, 'Q' obtained here also fiffers from that given in book.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat loss is : 1940.0 Btu/h .\n",
- " The 'h' obtained in the previous example differs, therefore, 'Q' obtained here also fiffers from that given in book.\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.9, Page number: 169"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Ts = 113.0+273.0 #Surface temperature of bulb (K)\n",
- "Too = 31.0+273.0 #Ambient air temperature (K)\n",
- "D = 0.06 #Diameter of sphere (m)\n",
- "g = 9.8 #Gravitational acceleration (m/s^2)\n",
- "\n",
- "#Calculation:\n",
- "Tf = (Ts+Too)/2 #Mean temperature (K)\n",
- "#From Appendix:\n",
- "v = (22.38*10**-5)*0.0929 #Kinematic viscosity (m^2/s)\n",
- "Pr = 0.70 #Prandtl number\n",
- "k = 0.01735*1.729 #Thermal conductivity (W/m.K)\n",
- "B = 1.0/(Tf) #Coefficient of expansion (K^-1)\n",
- "Gr = g*B*(Ts-Too)*D**3/v**2 #Grashof number\n",
- "Ra = Gr*Pr #Rayleigh number\n",
- "\n",
- "#From equation 10.13:\n",
- "h = (k/D)*0.6*Ra**(1.0/4.0) #Heat transferred from bulb (W/m^2.K)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transferred from bulb to air is :\",round(h,2),\" W/m^2.K .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transferred from bulb to air is : 9.01 W/m^2.K .\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.10, Page number: 170"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 10.9:\n",
- "h = 9.01 #Heat transferred from bulb (W/m^2.K)\n",
- "D = 0.06 #Diameter of sphere (m)\n",
- "Ts = 113.0+273.0 #Surface temperature of bulb (K)\n",
- "Too = 31.0+273.0 #Ambient air temperature (K)\n",
- "\n",
- "#Calculation:\n",
- "A = pi*D**2 #Surface area of bulb (m^2)\n",
- "Q = h*A*(Ts-Too) #Heat transfer lost by free convection from light bulb (W)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer lost by free convection from light bulb is :\",round(Q,2),\" W .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer lost by free convection from light bulb is : 8.36 W .\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.11, Page number: 170"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 10.9-10.10:\n",
- "Q = 8.36 #Heat transfer lost by free convection from light bulb (W)\n",
- "\n",
- "#Calculation:\n",
- "E = Q/100.0*(100.0) #Percent energy lost by free convection (%)\n",
- "\n",
- "#Result:\n",
- "print \"The percentage of the energy lost by free convection is :\",round(E,2),\" % .\"\n",
- "print \"The energy lost fraction is :\",round(E/100.0,4),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The percentage of the energy lost by free convection is : 8.36 % .\n",
- "The energy lost fraction is : 0.0836 .\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 10.13, Page number: 175"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "F = 50.0 #Buoyancy flux of gas (m^4/s^3)\n",
- "u = 4.0 #wind speed (m/s)\n",
- "\n",
- "#Calculation:\n",
- "xc = 14*F**(5.0/8.0) #Downward distance (m)\n",
- "xf = 3.5*xc #distance of transition from first stage of rise to the second stage of rise (m)\n",
- "Dh = 1.6*F**(1.0/3.0)*u**-1*xf**(2.0/3.0) #Plume rise (m)\n",
- "\n",
- "#Result:\n",
- "print \"The plume rise is :\",round(Dh),\" m .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The plume rise is : 101.0 m .\n"
- ]
- }
- ],
- "prompt_number": 13
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_11.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_11.ipynb
deleted file mode 100644
index 70c1dfd8..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_11.ipynb
+++ /dev/null
@@ -1,686 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:063e55263471b05545d8cee123782ea0408a4dbcfbef0baacac009fc80ca4fe1"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 11: Radiation"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.3, Page number: 181"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from sympy import symbols, integrate,oo,exp,pi\n",
- "\n",
- "#Variable declaration:\n",
- "l = symbols('l') #Wavelength (mu.m)\n",
- "I = 40*exp(-l**2) #Intensity of radiation (Btu/h.ft^2.mu.m)\n",
- "\n",
- "#Calculation:\n",
- "E = integrate(I, (l,0,oo)).evalf() #Total emissive power (Btu/h.ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The total emissive power is :\",round(E,1),\" Btu/h.ft^2 .\" "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The total emissive power is : 35.4 Btu/h.ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.4, Page number: 182"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "l = 0.25 #Wavelength (mu.m)\n",
- "#From equation 11.4:\n",
- "lT = 2884 #Product of wavelength and absolute temperature (mu.m.\u00b0R)\n",
- "\n",
- "#Calculation:\n",
- "T = lT/l #Sun's temperature (\u00b0R)\n",
- "\n",
- "#Result:\n",
- "print \"The Sun's temperature is :\",round(T,-2),\" \u00b0R .\"\n",
- "print \"The Sun's temperature in fahrenheit scale is :\",round(T-460,-3),\" \u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Sun's temperature is : 11500.0 \u00b0R .\n",
- "The Sun's temperature in fahrenheit scale is : 11000.0 \u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.5, Page number: 188"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 1500.0+460.0 #Absolute temperature 1 (\u00b0R)\n",
- "T2 = 1000.0+460.0 #Absolute temperature 2 (\u00b0R)\n",
- "\n",
- "#Calculation:\n",
- "X = T1**4/T2**4 #Ratio of quantity of heat transferred\n",
- "x = 100*(T1**4-T2**4)/T2**4 #Percentage increase in heat transfer (%)\n",
- "\n",
- "#Result:\n",
- "print \"The ratio of the quantity/rate of heat transferred is :\",round(X,2),\" .\"\n",
- "print \"The percentage increase in heat transfer is :\",round(x),\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The ratio of the quantity/rate of heat transferred is : 3.25 .\n",
- "The percentage increase in heat transfer is : 225.0 %\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.6, Page number: 189"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 1200.0+460.0 #Absolute temperature of wall 1 (\u00b0R)\n",
- "T2 = 800.0+460.0 #Absolute temperature of wall 2 (\u00b0R)\n",
- "\n",
- "#Calculation:\n",
- "#From equation 11.23:\n",
- "X = 0.173*((T1/100.0)**4-(T2/100.0)**4) #Heat removed from colder wall (Btu/h.ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The heat removed from the colder wall to maintain a steady-state is :\",round(X),\" Btu/h.ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat removed from the colder wall to maintain a steady-state is : 8776.0 Btu/h.ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.7, Page number: 190"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "s = 0.173 #Stefan-Boltzmann constant (Btu/h.ft^2.\u00b0R)\n",
- "EH = 0.5 #Energy transferred from hotter body (Btu/h.ft^2)\n",
- "EC = 0.75 #Energy transferred to colder body (Btu/h.ft^2)\n",
- "TH = 1660.0 #Absolute temperature of hotter body (\u00b0R)\n",
- "TC = 1260.0 #Absolute temperature of colder body (\u00b0R)\n",
- "\n",
- "#Calculation:\n",
- "E = s*((TH/100.0)**4-(TC/100.0)**4)/((1.0/EH)+(1.0/EC)-1.0) #Net energy exchange per unit area (Btu/h.ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The net energy exchange per unit area is :\",round(E,-1),\" Btu/h.ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The net energy exchange per unit area is : 3760.0 Btu/h.ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.8, Page number: 191"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 11.6-11.7:\n",
- "E1 = 8776.0 #Energy exchange between black bodies (Btu/h.ft^2)\n",
- "E2 = 3760.0 #Energy exchange between non-black bodies (Btu/h.ft^2)\n",
- "\n",
- "#Calculation:\n",
- "D = (E1-E2)/E1*100 #Percent difference in energy (%)\n",
- "\n",
- "#Result:\n",
- "print \"The percent difference relative to the black body is:\",round(D,1),\" % .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The percent difference relative to the black body is: 57.2 % .\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.9, Page number: 192"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "s = 0.173*10**-8 #Stefan-Boltzmann constant (Btu/h.ft^2.\u00b0R)\n",
- "TH = 300.0+460.0 #Absolute temperature of external surface (\u00b0R)\n",
- "TC = 75.0+460.0 #Absolute temperature of duct (\u00b0R)\n",
- "#From Table 6.2:\n",
- "AH = 0.622 #External surface area of pipe (ft^2)\n",
- "#From Table 11.2:\n",
- "EH = 0.44 #Emissivity of oxidized steel\n",
- "AC = 4.0*1.0*1.0 #External surface area of duct (ft^2)\n",
- "EC = 0.23 #Emissivity of galvanized zinc\n",
- "\n",
- "#Calculation:\n",
- "FE = 1.0/(1.0/EH+((AH/AC)*(1.0/EC-1.0))) #Emissivity correction factor\n",
- "Q = FE*AH*s*(TH**4-TC**4) #Net radiation heat transfer (Btu/h.ft)\n",
- "\n",
- "#Result:\n",
- "print \"The net radiation heat transfer is :\",round(Q,2),\" Btu/h.ft^2 .\"\n",
- "print \"There is a calculation error in book.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The net radiation heat transfer is : 96.96 Btu/h.ft^2 .\n",
- "There is a calculation error in book.\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.10, Page number: 193"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "TH = 140.0+460.0 #Absolute outside temperature of pipe (ft^2)\n",
- "TC = 60.0+460.0 #Absolute temperature of surrounding atmosphere (ft^2)\n",
- "A = 10.0 #Area of pipe (ft^2)\n",
- "E = 0.9 #Emissivity of pipe\n",
- "\n",
- "#Calculation:\n",
- "Q = E*A*0.173*((TH/100.0)**4-(TC/100.0)**4) #Heat loss due to radiation (Btu/h)\n",
- "\n",
- "#Result:\n",
- "print \"The heat loss due to radiation is :\",round(Q,-1),\" Btu/h .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat loss due to radiation is : 880.0 Btu/h .\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.11, Page number: 193"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#Froma example 11.10:\n",
- "Q = 880.0 #Heat loss due to radiation (Btu/h)\n",
- "A = 10.0 #Area of pipe (ft^2)\n",
- "TH = 140.0 #Absolute outside temperature of pipe (\u00b0F)\n",
- "TC = 60.0 #Absolute temperature of surrounding atmosphere (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "hr = Q/(A*(TH-TC)) #Radiation heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The radiation heat transfer coefficient is :\",round(hr,1),\" Btu/h.ft^2.\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The radiation heat transfer coefficient is : 1.1 Btu/h.ft^2.\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.12, Page number: 194"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "D = 0.0833 #Diameter of tube (ft)\n",
- "L = 2.0 #Length of tube (ft)\n",
- "h = 2.8 #Heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "Ta1 = 1500.0+460.0 #Temperature of hot air in furnace (\u00b0R)\n",
- "Ta2 = 1350.0+460.0 #Temperature of hot air in the furnace brick walls (\u00b0R)\n",
- "Tt = 600.0+460.0 #Surface temperature of tube (\u00b0R)\n",
- "E = 0.6 #Surface emissivity of tube\n",
- "s = 0.1713*10**-8 #Stefan-Boltzmann constant\n",
- "\n",
- "\n",
- "#Calculation:\n",
- "#Case 1:\n",
- "A = pi*D*L #Area of tube (ft^2)\n",
- "Qc = round(h*A*(Ta1-Tt),-1) #Convection heat transfer from air to tube (Btu/h)\n",
- "Qr = round(E*s*A*(Ta2**4-Tt**4),-2) #Radiation feat transfer from wall to tube (Btu/h)\n",
- "Q = Qr+Qc #Total heat transfer (Btu/h)\n",
- "#Case 2:\n",
- "Qp = Qr/Q*100 #Radiation percent \n",
- "#Case 3:\n",
- "hr = Qr/(A*(Ta2-Tt)) #Radiation heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "#Case 4:\n",
- "T = Ta2-Tt #Temperature difference (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"1. The convective heat transferred to the metal tube is :\",Qc,\" Btu/h .\"\n",
- "print \" The radiative heat transferred to the metal tube is :\",Qr,\" Btu/h .\"\n",
- "print \" The total heat transferred to the metal tube is :\",Q,\" Btu/h .\"\n",
- "print \"2. The percent of total heat transferred by radiation is :\",round(Qp,1),\" % .\"\n",
- "print \"3. The radiation heat transfer coefficient is :\",round(hr,1),\" Btu/h.ft^2.\u00b0F .\"\n",
- "if (T > 200):\n",
- " print \"4. The use of the approximation Equation (11.30), hr = 4EsTav^3, is not appropriate.\"\n",
- "elif (T < 200):\n",
- " print \"4. The use of the approximation Equation (11.30), hr = 4EsTav^3, is appropriate.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The convective heat transferred to the metal tube is : 1320.0 Btu/h .\n",
- " The radiative heat transferred to the metal tube is : 5100.0 Btu/h .\n",
- " The total heat transferred to the metal tube is : 6420.0 Btu/h .\n",
- "2. The percent of total heat transferred by radiation is : 79.4 % .\n",
- "3. The radiation heat transfer coefficient is : 13.0 Btu/h.ft^2.\u00b0F .\n",
- "4. The use of the approximation Equation (11.30), hr = 4EsTav^3, is not appropriate.\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.13, Page number: 194"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Q = 5.0 #Radiation heat transfer (W)\n",
- "E = 1.0 #Emissivity of filament\n",
- "s = 5.669*10**-8 #Stefan-Boltzmann constant\n",
- "T1 = 900.0+273.0 #Light bulb temperature (K)\n",
- "T2 = 150.0+273.0 #Glass bulb temperature (K)\n",
- "\n",
- "#Calculation:\n",
- "A = Q/(E*s*(T1**4-T2**4)) #Surface area of the filament (m^2)\n",
- "\n",
- "#Result:\n",
- "print \"The surface area of the filament is :\",round(A*10**4,2), \"cm^2\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The surface area of the filament is : 0.47 cm^2\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.14, Page number: 195"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 127.0+273.0 #Surface temperature (K)\n",
- "T2 = 20.0+273.0 #Wall temperature (K)\n",
- "T3 = 22.0+273.0 #Air temperature (K)\n",
- "s = 5.669*10**-8 #Stefan-Boltzmann constant\n",
- "e = 0.76 #Surface emissivity of anodized aluminium\n",
- "D = 0.06 #Diameter of pipe (m)\n",
- "L = 100.0 #Length of pipe (m)\n",
- "h = 15.0 #Pipe convective heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Calculation:\n",
- "Eb = s*T1**4 #Emissive energy of pipe (W/m^2)\n",
- "E = e*Eb #Emissive power from surface of pipe (W/m^2)\n",
- "A = pi*D*L #Surface area of pipe (m^2)\n",
- "Qc = h*A*(T1-T3) #Convection heat transfer to air (W)\n",
- "Qr = e*s*A*(T1**4-T2**4) #Radiation heat transfer rate (W)\n",
- "Q = Qc+Qr #Total heat transfer rate (Btu/h)\n",
- "Tav = (T1+T2)/2.0 #Average temperature (K)\n",
- "hr = 4*e*s*Tav**3 #Radiation heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Result:\n",
- "print \"The emissive power from surface of pipe is :\",round(E),\" W/m^2 .\"\n",
- "print \"The convection heat transfer to air is :\",round(Qc/10**3,1),\" kW .\"\n",
- "print \"The radiation heat transfer rate is :\",round(Qr/10**3,1),\" kW \"\n",
- "print \"The radiation heat transfer coefficient is :\",round(hr,1),\" W/m^2.K .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The emissive power from surface of pipe is : 1103.0 W/m^2 .\n",
- "The convection heat transfer to air is : 29.7 kW .\n",
- "The radiation heat transfer rate is : 14.8 kW \n",
- "The radiation heat transfer coefficient is : 7.2 W/m^2.K .\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.15, Page number: 196"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 11.14:\n",
- "Qc = 15.0 #Convection heat transfer coefficient (W/m^2.K)\n",
- "hr = 7.2 #Radiation heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Calculation:\n",
- "X = hr/(Qc+hr)*100.0 #Percent heat transfer by radiation (%)\n",
- "\n",
- "#Result:\n",
- "print \"The percent heat transfer by radiation is :\",round(X,1),\" % .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The percent heat transfer by radiation is : 32.4 % .\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.16, Page number: 200"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "FV = 1.0 #Correction factor\n",
- "#From example 11.9:\n",
- "FE = 0.358 #Emissivity correction factor\n",
- "TH = 300.0+460.0 #Absolute temperature of external surface (\u00b0R)\n",
- "TC = 75.0+460.0 #Absolute temperature of duct (\u00b0R)\n",
- "AH = 0.622 #Area of pipe (ft^2)\n",
- "s = 0.173*10**-8 #Stefan-Boltzmann constant\n",
- "\n",
- "#Calculation:\n",
- "Q = FV*FE*AH*s*(TH**4-TC**4) #Heat transfer rate (Btu/h.ft)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer rate is :\",round(Q,2),\" Btu/h.ft\"\n",
- "print \"Since, 'Q' obtained in (11.9) is 96.96 Btu/h.ft, the solution does not match with book.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate is : 96.96 Btu/h.ft\n",
- "Since, 'Q' obtained in (11.9) is 96.96 Btu/h.ft, the solution does not match with book.\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 11.17, Page number: 200"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From figure 11.2:\n",
- "L = 1.0 #Space between plates (m)\n",
- "X = 0.5 #Length of plate (m)\n",
- "Y = 2.0 #Width of plate (m)\n",
- "s = 5.669*10**-8 #Stefan-Boltzmann constant\n",
- "TH = 2000.0+273.0 #Temperature of hotter plate (K)\n",
- "TC = 1000.0+273.0 #Temperature of colder plate (K)\n",
- "Btu = 0.2934*10**-3 #Btu/h in a KW\n",
- "\n",
- "#Calculation:\n",
- "A = X*Y #Area of plate (m^2)\n",
- "Z1 = Y/L #Ratio of width with space\n",
- "Z2 = X/L #Ratio of length with space\n",
- "#From figure 11.2:\n",
- "FV = 0.18 #Correction factor\n",
- "FE = 1.0 #Emissivity correction factor\n",
- "Q1 = FV*FE*s*A*(TH**4-TC**4) #Net radiant heat exchange between plates (kW)\n",
- "Q2 = Q1/Btu #Net radiant heat exchange between plates in Btu/h (Btu/h)\n",
- "\n",
- "#Result:\n",
- "print \"The net radiant heat exchange between plates is :\",round(Q1,-2),\" kW .\"\n",
- "print \"The net radiant heat exchange between plates in Btu/h is :\",round(Q2/10**8,2),\" x 10^8 Btu/h .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The net radiant heat exchange between plates is : 245600.0 kW .\n",
- "The net radiant heat exchange between plates in Btu/h is : 8.37 x 10^8 Btu/h .\n"
- ]
- }
- ],
- "prompt_number": 18
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_12.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_12.ipynb
deleted file mode 100644
index dd2d06ef..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_12.ipynb
+++ /dev/null
@@ -1,483 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:2b2623ff77afaafd7c16fc0720e69537bf598cad89dca70b267d9306235c5968"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 12: Condensation and Boiling"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 12.2, Page number: 206"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "C = 1 #Number of constituents\n",
- "P = 1 #Number of phases\n",
- "\n",
- "#Calculation:\n",
- "F = C-P+2 #Number of degrees of freedom\n",
- "\n",
- "#Result:\n",
- "print \"The number of degrees of freedom is :\",F,\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The number of degrees of freedom is : 2 .\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 12.4, Page number: 209"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "\n",
- "U1 = 1237.1 #Internnal energy of gas (Btu/lb)\n",
- "U2_g = 1112.2 #Internal energy of gas (Btu/lb)\n",
- "U2_l = 343.15 #Internal energy of liquid (Btu/lb)\n",
- "\n",
- "#Calculation:\n",
- "Q = 0.5*(U2_g+U2_l)-1*U1 #Heat removed (Btu/lb)\n",
- "\n",
- "#Result:\n",
- "print \"Heat removed from the system during the process is :\",round(Q,1),\" Btu/lb .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Heat removed from the system during the process is : -509.4 Btu/lb .\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 12.5, Page number: 212"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "from sympy import symbols,solve\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 99.0 #Mean film temperature (\u00b0C)\n",
- "T2 = 98.0 #Plate surface temperature (\u00b0C)\n",
- "g = 9.807 #Gravitational acceleration (m/s^2)\n",
- "#From Appendix:\n",
- "T3 = 100.0 #Saturation temperatre (\u00b0C)\n",
- "h_vap1 = 970.3 #Latent heat of steam in Btu/lb (Btu/lb)\n",
- "h_vap2 = 2.255*10**6 #Latent heat of steam in J/kg (J/kg)\n",
- "p_v = 0.577 #Density of steam (kg/m^3)\n",
- "p_l = 960.0 #Density of liquid water condensate (kg/m^3)\n",
- "mu_l = 2.82*10**-4 #Absolute viscosity of liquid water condensate (kg/m.s)\n",
- "k = 0.68 #Thermal conductivity of water (W/m.K)\n",
- "#From table 12.2\n",
- "Z = 0.4 #Height of rectangular plate (m)\n",
- "Pw = 0.2 #Wetted perimeter of rectangular plate (m)\n",
- "h = symbols('h') #Average heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Calculation:\n",
- "A = Z*Pw #Heat transfer area of plate (m^2)\n",
- "R = A/Pw #Ratio A/Pw (m)\n",
- "v_l = mu_l/p_l #Kinematic viscosity of liquid water condensate (m^2/s)\n",
- "Co1 = (h/k)*(v_l**2/g/(1-p_v/p_l))**(1/3) #Condensation number (in terms of the average heat transfer coefficient)\n",
- "Re = 4*h*Z*(T3-T2)/(mu_l*h_vap2) #Reynolds number in terms of the average heat transfer coefficient\n",
- "#From equation 12.14:\n",
- "CO1 = 0.0077*Re**Z #Co in terms of Reynolds number for flow type 1\n",
- "x1 = solve(Co1-CO1,h) #Solving heat transfer coefficient (W/m^2.K)\n",
- "h1 =x1[1]; #Average heat transfer coefficient for flow type 1 (W/m^2.K)\n",
- "Re1 = Re.subs(h,h1); #Reynolds number for flow type 1\n",
- "CO2 = 1.874*Re**(-1/3) #Co in terms of Reynolds number for flow tupe 2\n",
- "x2 = solve(Co1-CO2,h) #Solving average heat transfer coefficient for flow type 2 (W/m^2.K)\n",
- "h2 = x2[0]; #Average heat transfer coefficient for flow type 2 (W/m^2.K)\n",
- "Re2 = Re.subs(h,h2) #Reynolds number for flow type 2\n",
- "\n",
- "#Result:\n",
- "print \"The type of condensation flow type 2 is laminar.\"\n",
- "print \"And the condensation heat transfer coefficient is :\",round(h2,-1),\" W/m^2.K .\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The type of condensation flow type 2 is laminar.\n",
- "And the condensation heat transfer coefficient is : 14700.0 W/m^2.K .\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 12.6, Page number: 214"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 12.5:\n",
- "Re = 73.9 #Reynolds number\n",
- "mu_l = 2.82*10**-4 #Absolute viscosity of liquid water condensate (kg/m.s)\n",
- "Pw = 0.2 #Wetted perimeter of rectangular plate (m)\n",
- "h = 14700.0 #Heat transfer coefficient (W/m^2.K)\n",
- "T_sat = 100.0 #Saturation temperature (\u00b0C)\n",
- "Ts = 98.0 #Surface temperature (\u00b0C)\n",
- "A = 0.2*0.4 #Heat transfer area of plate (m^2) \n",
- "\n",
- "#Calculation:\n",
- "m1 = Re*mu_l/4.0 #Mass flow rate of condensate (kg/m.s)\n",
- "m = Pw*m1 #Mass flow rate of condensate (kg/s)\n",
- "Co = (3.038*10**-5)*h #Condensation number\n",
- "Q = h*A*(T_sat-Ts) #Heat transfer rate (W)\n",
- "\n",
- "#Result:\n",
- "print \"1. The mass flow rate of condensate is :\",round(m1,4),\" kg/m.s . \"\n",
- "print \"2. The heat transfer rate is :\",round(Q/10**3,2),\" kW . \""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The mass flow rate of condensate is : 0.0052 kg/m.s . \n",
- "2. The heat transfer rate is : 2.35 kW . \n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 12.7, Page number: 215"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "T_sat = 126.0 #Saturation temperature (\u00b0F)\n",
- "T = 64.0 #Surface temperature of tube (\u00b0F)\n",
- "g = 32.2 #Gravitational acceleration (ft^2/s)\n",
- "D = 4.0/12.0 #Outside diameter of tube (ft)\n",
- "\n",
- "#Calculation:\n",
- "Tf = (T_sat+T)/2.0 #Mean film temperature (\u00b0F)\n",
- "#From approximate values of key properties:\n",
- "h_vap = 1022.0 #Latent heat of steam (Btu/lb)\n",
- "p_v = 0.00576 #Density of steam (lb/ft^3)\n",
- "p_l = 62.03 #Density of liquid (lb/ft^3)\n",
- "k_l = 0.364 #Thermal conductivity of liquid (Btu/h.ft.\u00b0F)\n",
- "mu_l = 4.26*10**-4 #Absolute viscosity of liquid water condensate (lb/ft.s)\n",
- "h = 0.725*((p_l*(p_l-p_v)*g*h_vap*k_l**3)/(mu_l*D*(T_sat-T)/3600.0))**(1.0/4.0) #Average heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The average heat transfer coefficient is :\",round(h,1),\" Btu/h.ft^2.\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The average heat transfer coefficient is : 911.4 Btu/h.ft^2.\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 12.9, Page number: 222"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "Qs1 = 9800.0 #Heat flux (W/m^2)\n",
- "Ts1 = 102.0 #Original surface temperature (\u00b0C)\n",
- "Ts2 = 103.0 #New surface temperature (\u00b0C)\n",
- "Tsat = 100.0 #Saturation temperature (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "h1 = Qs1/(Ts1-Tsat) #Original heat transfer coefficient (W/m^2.K)\n",
- "DT1 = (Ts1 - Tsat) #Original excess temperature (\u00b0C)\n",
- "DT2 = (Ts2 - Tsat) #New excess temperature (\u00b0C)\n",
- "n = 0.25 #Value of n for laminar flow\n",
- "h2 = h1*(DT2/DT1)**(n) #New heat transfer coefficient (W/m^2.K)\n",
- "Qs2 = h2*(Ts2-Tsat) #New heat flux (W/m^2)\n",
- "\n",
- "#Result:\n",
- "print \"The new heat flux is :\",round(Qs2),\" W/m^2.K . \""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The new heat flux is : 16268.0 W/m^2.K . \n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 12.10, Page number: 223"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "#From example 12.9:\n",
- "Ts1 = 102.0 #Original surface temperature (\u00b0C)\n",
- "Ts2 = 103.0 #New surface temperature (\u00b0C)\n",
- "Tsat = 100.0 #Saturation temperature (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "DTe1 = (Ts1 - Tsat) #Original excess temperature (\u00b0C)\n",
- "DTe2 = (Ts2 - Tsat) #New excess temperature (\u00b0C)\n",
- "\n",
- "#Result:\n",
- "print \"The original excess temperature is: DTe = \",DTe1,\" \u00b0C .\"\n",
- "print \"The new excess temperature is: DTe = \",DTe2,\" \u00b0C .\"\n",
- "if ((DTe1 < 5) and (DTe2 < 5)):\n",
- " print \"The assumption of the free convection mechanism is valid since DTe < 5\u00b0C.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The original excess temperature is: DTe = 2.0 \u00b0C .\n",
- "The new excess temperature is: DTe = 3.0 \u00b0C .\n",
- "The assumption of the free convection mechanism is valid since DTe < 5\u00b0C.\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 12.11, Page number: 223"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 12.9:\n",
- "Cp = 4127.0 #heat capacity (J/kg . K)\n",
- "DTe = 3.0 #New excess temperature (\u00b0C)\n",
- "h_vap = 2.26*10**6 #latent heat of vaporization (J/kg)\n",
- "\n",
- "#Calculation:\n",
- "Ja_L = Cp*DTe/h_vap #Liquid Jakob number\n",
- "\n",
- "#Result:\n",
- "print \"The liquid Jakob number is :\",round(Ja_L,5),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The liquid Jakob number is : 0.00548 .\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 12.12, Page number: 223"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Ts = 106.0 #Surface temperature (\u00b0C)\n",
- "Tsat = 100.0 #Saturation temperature (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "DTe = Ts-Tsat #Excess temperature (\u00b0C)\n",
- "#From table 12.5:\n",
- "C1 = 5.56 #Constant C1\n",
- "n1 = 3.0 #Constant n1\n",
- "C2 = 1040.0 #Constant C2\n",
- "n2 = 1.0/3.0 #Constant n2\n",
- "P = 1.0 #Absolute pressure (atm)\n",
- "Pa = 1.0 #Ambient absolute pressure (atm)\n",
- "\n",
- "#Calculation:\n",
- "h1 = C1*DTe**n1*(P/Pa)**0.4 #Boiling water heat transfer coefficient (W/m^2)\n",
- "Qs1 = h1*DTe #Surface flux (W/m^2)\n",
- "h2 = C2*DTe**n2*(P/Pa)**0.4 #Second Boiling water heat transfer coefficient (W/m^2)\n",
- "Qs2 = h2*DTe #Second Surface flux (W/m^2) \n",
- "\n",
- "#Result:\n",
- " \n",
- "if (Qs1/10**3 > 15.8 and Qs1/10**3 < 236):\n",
- " print \"The boiling regime is :\",round(Qs1/10**3,1),\" kW/m^2 .\"\n",
- " print \"The heat transfer coefficient is :\",round(h1), \" W/m^2 .\"\n",
- "elif (Qs1/10**3 < 15.8):\n",
- " print \"The boiling regime is :\",round(Qs2/10**3,2),\" kW/m^2 .\"\n",
- " print \"The heat transfer coefficient is :\",round(h2), \" W/m^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The boiling regime is : 11.34 kW/m^2 .\n",
- "The heat transfer coefficient is : 1890.0 W/m^2 .\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 12.13, Page number: 224"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 12.12:\n",
- "Qs1 = 11340.0 #Surface flux (W/m^2)\n",
- "D = 0.3 #Diameter of electric heater (m)\n",
- "\n",
- "#Calculation:\n",
- "A = pi*(D/2.0)**2 #Surface area of heater (m^2)\n",
- "Qs = Qs1*A #Heat transfer rate (W)\n",
- "\n",
- "#Result:\n",
- "print \"The rate of heat transfer is :\",round(Qs),\" W .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate of heat transfer is : 802.0 W .\n"
- ]
- }
- ],
- "prompt_number": 13
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_13.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_13.ipynb
deleted file mode 100644
index b4812ba2..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_13.ipynb
+++ /dev/null
@@ -1,425 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:c1f753b566ef5be1a578722a730958eae554497c733345943c47490976e91069"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 13: Refrigeration and Cryogenics"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 13.1, Page number: 237"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "LR = 7.5/12.0 #Thickness of refractory (ft)\n",
- "LI = 3.0/12.0 #Thickness of insulation (ft)\n",
- "LS = 0.25/12.0 #Thickness of steel (ft)\n",
- "kR = 0.75 #Thermal conductivity of refractory\n",
- "kI = 0.08 #Thermal conductivity of insulation\n",
- "kS = 26.0 #Thermal conductivity of steel\n",
- "TR = 2000.0 #Average surface temperature of the inner face of the refractory (\u00b0F)\n",
- "TS = 220.0 #Average surface temperature of the outer face of the steel (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DT = TR-TS #Temperature difference (\u00b0F)\n",
- "Q = DT/(LR/kR+LI/kI+LS/kS) #Heat loss (Btu/h.ft^2)(here representing Qdot/A)\n",
- "\n",
- "#Result:\n",
- "print \"The heat loss is :\",round(Q),\" Btu/h.ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat loss is : 450.0 Btu/h.ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 13.2, Page number: 239"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "LR = 7.5/12.0 #Thickness of refractory (ft)\n",
- "kR = 0.75 #Thermal conductivity of refractory\n",
- "TR = 2000.0 #Average surface temperature of the inner face of the refractory (\u00b0F)\n",
- "Q = 450.0 #Heat loss (Btu/h.ft^2)\n",
- "\n",
- "#Calculation:\n",
- "TI = TR - Q*(LR/kR) #Temperature of the boundary where the refractory meets the insulation (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The temperature of the boundary where the refractory meets the insulation is :\",round(TI),\" \u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature of the boundary where the refractory meets the insulation is : 1625.0 \u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 13.3, Page number: 239"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "QbyA = 70000.0 #Total heat loss (Btu/h)\n",
- "Q = 450.0 #Heat loss (Btu/h.ft^2)\n",
- "\n",
- "#Calculation:\n",
- "A = QbyA/Q #Area available for heat transfer (ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The area available for heat transfer is :\",round(A,1),\" ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The area available for heat transfer is : 155.6 ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 13.9, Page number: 245"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "h_out = 390.0 #Enthalpy of the fluid that exits from the evaporator (kJ/kg)\n",
- "h_in = 230.0 #Enthalpy of the fluid that enters the unit (kJ/kg)\n",
- "\n",
- "#Calculation:\n",
- "QC = h_out - h_in #Heat absorbed by the evaporator (kJ/kg)\n",
- "\n",
- "#Result:\n",
- "print \"The heat absorbed by the evaporator is :\",round(QC),\" kJ/kg .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat absorbed by the evaporator is : 160.0 kJ/kg .\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 13.10, Page number: 246"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 13.9:\n",
- "TS = -10.0+273.0 #Fluid\u2019s saturation temperature expressed in Kelvin (K)\n",
- "QC = 160.0 #Heat absorbed by the evaporator (kJ/kg)\n",
- "\n",
- "#Calcuation:\n",
- "DS = QC/TS #Fluid\u2019s change in entropy(kJ/kg.K)\n",
- "\n",
- "#Result:\n",
- "print \"The fluid's change in entropy across the evaporator is :\",round(DS,2),\" kJ/kg.K .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The fluid's change in entropy across the evaporator is : 0.61 kJ/kg.K .\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 13.11, Page number: 247"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From figure 13.2:\n",
- "h1 = 390.0 #Fluid enthalpy on entering the compressor (kJ/kg)\n",
- "h2 = 430.0 #Fluid enthalpy on leaving the compressor (kJ/kg)\n",
- "h3 = 230.0 #Fluid enthalpy on leaving the condenser (kJ/kg)\n",
- "\n",
- "#Calculation:\n",
- "QH = h2 - h3 #Heat rejected from the condenser (kJ/kg)\n",
- "W_in = h2 - h1 #Change in enthalpy across the compressor (kJ/kg)\n",
- "QC = QH - W_in #Heat absorbed by the evaporator (kJ/kg)\n",
- "\n",
- "#Result:\n",
- "print \"The heat absorbed by the evaporator of the refrigerator is :\",round(QC),\" kJ/kg .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat absorbed by the evaporator of the refrigerator is : 160.0 kJ/kg .\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 13.12, Page number: 248"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 13.11:\n",
- "W_in = 40.0 #Change in enthalpy across the compressor (kJ/kg)\n",
- "QC = 160.0 #Heat absorbed by the evaporator (kJ/kg)\n",
- "\n",
- "#Calculation:\n",
- "COP = QC/W_in #Refrigerator\u2019s C.O.P.\n",
- "\n",
- "#Result:\n",
- "print \"the refrigerator's C.O.P. is :\",round(COP),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "the refrigerator's C.O.P. is : 4.0 .\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 13.13, Page number: 250"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "h1 = 548.0 #Steam enthalpy at the entry and exit to the boiler (kJ/kg)\n",
- "h2 = 3989.0 #Steam enthalpy at the entry and exit to the turbine (kJ/kg)\n",
- "h3 = 2491.0 #Steam enthalpy at the entry and exit to the pump (kJ/kg)\n",
- "QH = 2043.0 #Heat rejected by the condenser (kJ/kg)\n",
- "\n",
- "#Calculation:\n",
- "h4 = h3 - QH #Steam enthalpy at the entry and exit to the condenser (kJ/kg)\n",
- "Qb = h2 - h1 #Enthalpy change across the boiler (kJ/kg)\n",
- "\n",
- "#Result:\n",
- "print \"The enthalpy change across the boiler is :\",round(Qb),\" kJ/kg .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The enthalpy change across the boiler is : 3441.0 kJ/kg .\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 13.14, Page number: 251"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "#From example 13.4:\n",
- "h1 = 548.0 #Steam enthalpy at the entry and exit to the boiler (kJ/kg)\n",
- "h2 = 3989.0 #Steam enthalpy at the entry and exit to the turbine (kJ/kg)\n",
- "h3 = 2491.0 #Steam enthalpy at the entry and exit to the pump (kJ/kg)\n",
- "h4 = 448.0 #Steam enthalpy at the entry and exit to the condenser (kJ/kg)\n",
- "Qb = 3441.0 #Enthalpy change across the boiler (kJ/kg)\n",
- "\n",
- "#Calculation:\n",
- "Wt = h2 - h3 #Work produced by the turbine (kJ/kg)\n",
- "Wp = h1 - h4 #Work used by the pump (kJ/kg)\n",
- "W_net = Wt - Wp #Net work by subtracting the pump work from the turbine work (kJ/kg)\n",
- "n_th = W_net/Qb #Thermal efficiency\n",
- "\n",
- "#Result:\n",
- "print \"The thermal efficiency is :\",round(n_th*100,1),\" % .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The thermal efficiency is : 40.6 % .\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 13.15, Page number: 252"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From table 13.4:\n",
- "x3 = 0.9575 #Mass fraction vapour at point 3\n",
- "h3 = 2491.0 #Steam enthalpy at the entry and exit to the pump (kJ/kg)\n",
- "s3 = 7.7630 #Entropy at the entry and exit to the pump (kJ/kg.K)\n",
- "s4 = 1.4410 #Entropy at the entry and exit to the condenser (kJ/kg.K)\n",
- "#From example13.14:\n",
- "h4 = 448.0 #Steam enthalpy at the entry and exit to the condenser (kJ/kg)\n",
- "\n",
- "#Calculation:\n",
- "Q_out = h3 - h4 #Heat rejected (kJ/kg)\n",
- "DS = s3 - s4 #Process change in entropy (kJ/kg)\n",
- "T3 = Q_out/DS #Temperature at point 3 (K)\n",
- "\n",
- "#Result:\n",
- "print \"The temperature at point 3 is :\",round(T3),\" K .\"\n",
- "print \"Or, the temperature at point 3 is :\",round(T3-273),\" \u00b0C .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature at point 3 is : 323.0 K .\n",
- "Or, the temperature at point 3 is : 50.0 \u00b0C .\n"
- ]
- }
- ],
- "prompt_number": 16
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_14.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_14.ipynb
deleted file mode 100644
index 7bc0f737..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_14.ipynb
+++ /dev/null
@@ -1,705 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:e3c042bf60cf5ea8673efb2741d5df5f7935daa012691b520a2d1357e838bd6c"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 14: Introduction to Heat Exchangers"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.1, Page number: 259"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "scfm = 20000.0 #Volumetric flow rate of air at standard conditions (scfm)\n",
- "H1 = 1170.0 #Enthalpy at 200\u00b0F (Btu/lbmol)\n",
- "H2 = 14970.0 #Enthalpy at 2000\u00b0F (Btu/lbmol)\n",
- "Cp = 7.53 #Average heat capacity (Btu/lbmol.\u00b0F)\n",
- "T1 = 200.0 #Initial temperature (\u00b0F)\n",
- "T2 = 2000.0 #Final temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "n = scfm/359.0 #Flow rate of air in a molar flow rate (lbmol/min)\n",
- "DH = H2 - H1 #Change in enthalpy (Btu/lbmol)\n",
- "DT = T2 - T1 #Change in temperature (\u00b0F)\n",
- "Q1 = n*DH #Heat transfer rate using enthalpy data (Btu/min)\n",
- "Q2 = n*Cp*DT #Heat transfer rate using the average heat capacity data (Btu/min)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer rate using enthalpy data is :\",round(Q1/10**5,2),\" x 10^5 Btu/min.\"\n",
- "print \"The heat transfer rate using the average heat capacity data is :\",round(Q2/10**5,2),\" x 10^5 Btu/min.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate using enthalpy data is : 7.69 x 10^5 Btu/min.\n",
- "The heat transfer rate using the average heat capacity data is : 7.55 x 10^5 Btu/min.\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.2, Page number: 259"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "n = 1200.0 #Flow rate of air in a molar flow rate (lbmol/min)\n",
- "Cp = 0.26 #Average heat capacity (Btu/lbmol.\u00b0F)\n",
- "T1 = 200.0 #Initial temperature (\u00b0F)\n",
- "T2 = 1200.0 #Final temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DT = T2 - T1 #Change in temperature (\u00b0F)\n",
- "Q = n*Cp*DT #Required heat rate (Btu/min)\n",
- "\n",
- "#Result:\n",
- "print \"The required heat rate is :\",round(Q/10**5,2),\" x 10^5 Btu/min .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The required heat rate is : 3.12 x 10^5 Btu/min .\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.3, Page number: 260"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Tc1 = 25.0 #Initial temperature of cold fluid (\u00b0C)\n",
- "Th1 = 72.0 #Initial temperature of hot fluid (\u00b0C)\n",
- "Th2 = 84.0 #Final temperature of hot fluid (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "#From equation 14.2:\n",
- "Tc2 = (Th2-Th1)+Tc1 #Final temperature of cold fluid (\u00b0C)\n",
- "\n",
- "#Result:\n",
- "print \"The final temperature of the cold liquid is :\",Tc2,\" \u00b0C .\"\n",
- "print \"There is a printing mistake in unit of final temperature in book.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The final temperature of the cold liquid is : 37.0 \u00b0C .\n",
- "There is a printing mistake in unit of final temperature in book.\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.4, Page number: 265"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Ts = 100.0 #Steam temperature at 1 atm (\u00b0C)\n",
- "Tl = 25.0 #Fluid temperature (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "DTlm = Ts - Tl #Log mean temperature difference (\u00b0C)\n",
- "\n",
- "#Result:\n",
- "print \"The LMTD is :\",DTlm,\" \u00b0C .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The LMTD is : 75.0 \u00b0C .\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.5, Page number: 265"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "Ts = 100.0 #Steam temperature at 1 atm (\u00b0C)\n",
- "T1 = 25.0 #Initial fluid temperature (\u00b0C)\n",
- "T2 = 80.0 #Final fluid temperature (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = Ts - T1 #Temperature difference driving force at the fluid entrance (\u00b0C)\n",
- "DT2 = Ts - T2 #Temperature driving force at the fluid exit (\u00b0C)\n",
- "DTlm = (DT1 - DT2)/log(DT1/DT2) #Log mean temperature difference (\u00b0C)\n",
- "\n",
- "#Result:\n",
- "print \"The LMTD is :\",round(DTlm,1),\" \u00b0C .\"\n",
- "print \"There is a calculation mistake regarding final result in book.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The LMTD is : 41.6 \u00b0C .\n",
- "There is a calculation mistake regarding final result in book.\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.6, Page number: 266"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 500.0 #Temperature of hot fluid entering the heat exchanger (\u00b0F)\n",
- "T2 = 400.0 #Temperature of hot fluid exiting the heat exchanger (\u00b0F)\n",
- "t1 = 120.0 #Temperature of cold fluid entering the heat exchanger (\u00b0F)\n",
- "t2 = 310.0 #Temperature of cold fluid exiting the heat exchanger (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = T1 - t2 #Temperature difference driving force at the heat exchanger entrance (\u00b0F)\n",
- "DT2 = T2 - t1 #Temperature difference driving force at the heat exchanger exit (\u00b0F)\n",
- "DTlm = (DT1 - DT2)/(log(DT1/DT2)) #LMTD (driving force) for the heat exchanger (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The LMTD (driving force) for the heat exchanger is :\",round(DTlm),\" \u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The LMTD (driving force) for the heat exchanger is : 232.0 \u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.7, Page number: 267"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "m = 8000.0 #Rate of oil flow inside the tube (lb/h)\n",
- "Cp = 0.55 #Heat capacity of oil (Btu/lb.\u00b0F)\n",
- "T1 = 210.0 #Initial temperature of oil (\u00b0F)\n",
- "T2 = 170.0 #Final temperature of oil (\u00b0F)\n",
- "t = 60.0 #Tube surface temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DT = T2 - T1 #Change in temperature (\u00b0F)\n",
- "Q = m*Cp*DT #Heat transferred from the heavy oil (Btu/h)\n",
- "DT1 = T1 - t #Temperature difference driving force at the pipe entrance (\u00b0F)\n",
- "DT2 = T2 - t #Temperature difference driving force at the pipe exit (\u00b0F)\n",
- "DTlm = (DT1 - DT2)/(log(DT1/DT2)) #LMTD (driving force) for the heat exchanger (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer rate is :\",round(Q),\" Btu/h .\"\n",
- "print \"The LMTD for the heat exchanger is :\",round(DTlm),\" \u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate is : -176000.0 Btu/h .\n",
- "The LMTD for the heat exchanger is : 129.0 \u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.8, Page number: 267"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 138.0 #Temperature of oil entering the cooler (\u00b0F)\n",
- "T2 = 103.0 #Temperature of oil leaving the cooler (\u00b0F)\n",
- "t1 = 88.0 #Temperature of coolant entering the cooler (\u00b0F)\n",
- "t2 = 98.0 #Temperature of coolant leaving the cooler (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "#For counter flow unit:\n",
- "DT1 = T1 - t2 #Temperature difference driving force at the cooler entrance (\u00b0F)\n",
- "DT2 = T2 - t1 #Temperature difference driving force at the cooler exit (\u00b0F)\n",
- "DTlm1 = (DT1 - DT2)/(log(DT1/DT2)) #LMTD (driving force) for the heat exchanger (\u00b0F)\n",
- "#For parallel flow unit:\n",
- "DT3 = T1 - t1 #Temperature difference driving force at the cooler entrance (\u00b0F)\n",
- "DT4 = T2 - t2 #Temperature difference driving force at the cooler exit (\u00b0F)\n",
- "DTlm2 = (DT3 - DT4)/(log(DT3/DT4)) #LMTD (driving force) for the heat exchanger (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The LMTD for counter-current flow unit is :\",round(DTlm1,1),\" \u00b0F .\"\n",
- "print \"The LMTD for parallel flow unit is :\",round(DTlm2,1),\" \u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The LMTD for counter-current flow unit is : 25.5 \u00b0F .\n",
- "The LMTD for parallel flow unit is : 19.5 \u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.10, Page number: 272"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "A = 1.0 #Surface area of glass (m^2)\n",
- "h1 = 11.0 #Heat transfer coefficient inside room (W/m^2.K)\n",
- "L2 = 0.125*0.0254 #Thickness of glass (m)\n",
- "k2 = 1.4 #Thermal conductivity of glass (W/m.K)\n",
- "h3 = 9.0 #Heat transfer coefficient from window to surrounding cold air (W/m^2.K)\n",
- "\n",
- "#Calculation:\n",
- "R1 = 1.0/(h1*A) #Internal convection resistance (K/W)\n",
- "R2 = L2/(k2*A) #Conduction resistance through glass panel (K/W)\n",
- "R3 = 1.0/(h3*A) #Outside convection resistance (K/W)\n",
- "Rt = R1+R2+R3 #Total thermal resistance (K/W)\n",
- "U = 1.0/(A*Rt) #Overall heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Result:\n",
- "print \"The overall heat transfer coefficient is :\",round(U,1),\" W/m^2.K .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The overall heat transfer coefficient is : 4.9 W/m^2.K .\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.11, Page number: 273"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Dx = 0.049/12.0 #Thickness of copper plate (ft)\n",
- "h1 = 208.0 #Film coefficient of surface one (Btu/h.ft^2.\u00b0F)\n",
- "h2 = 10.8 #Film coefficient of surface two (Btu/h.ft^2.\u00b0F)\n",
- "k = 220.0 #Thermal conductivity for copper (W/m.K)\n",
- "\n",
- "#Calculation:\n",
- "U = 1.0/(1.0/h1+Dx/k+1.0/h2) #Overall heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The overall heat transfer coefficient is :\",round(U,2),\" Btu/h.ft^2.\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The overall heat transfer coefficient is : 10.26 Btu/h.ft^2.\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.12, Page number: 274"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Do = 0.06 #Outside diameter of pipe (m)\n",
- "Di = 0.05 #Inside diameter of pipe (m)\n",
- "ho = 8.25 #Outside coefficient (W/m^2.K)\n",
- "hi = 2000.0 #Inside coefficient (W/m^2.K)\n",
- "R = 1.33*10**-4 #Resistance for steel (m^2.K/W)\n",
- "\n",
- "#Calculation:\n",
- "U = 1.0/(Do/(hi*Di)+R+1.0/ho) #Overall heat transfer coefficient (W/m^2.\u00b0K)\n",
- "\n",
- "#Result:\n",
- "print \"The overall heat transfer coefficient is :\",round(U,2),\" W/m^2.\u00b0K .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The overall heat transfer coefficient is : 8.2 W/m^2.\u00b0K .\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.14, Page number: 274"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import pi,log\n",
- "\n",
- "#Variable declaration:\n",
- "Di = 0.825/12.0 #Pipe inside diameter (ft)\n",
- "Do = 1.05/12.0 #Pipe outside diameter (ft)\n",
- "Dl = 4.05/12.0 #Insulation thickness (ft)\n",
- "l = 1.0 #Pipe length (ft)\n",
- "kp = 26.0 #Thermal conductivity of pipe (Btu/h.ft.\u00b0F)\n",
- "kl = 0.037 #Thermal conductivity of insulation (Btu/h.ft.\u00b0F)\n",
- "hi = 800.0 #Steam film coefficient (Btu/h.ft^2.\u00b0F)\n",
- "ho = 2.5 #Air film coefficient (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "ri = Di/2.0 #Pipe inside radius (ft)\n",
- "ro = Do/2.0 #Pipe outside radius (ft)\n",
- "rl = Dl/2.0 #Insulation radius (ft)\n",
- "Ai = pi*Di*l #Inside area of pipe (ft^2)\n",
- "Ao = pi*Do*l #Outside area of pipe (ft^2)\n",
- "Al = pi*Dl*l #Insulation area of pipe (ft^2)\n",
- "A_Plm = (Ao-Ai)/log(Ao/Ai) #Log mean area for steel pipe (ft^2)\n",
- "A_Ilm = (Al-Ao)/log(Al/Ao) #Log mean area for insulation (ft^2)\n",
- "Ri = 1.0/(hi*Ai) #Air resistance (m^2.K/W)\n",
- "Ro = 1.0/(ho*Al) #Steam resistance (m^2.K/W)\n",
- "Rp = (ro-ri)/(kp*A_Plm) #Pipe resistance (m^2.K/W)\n",
- "Rl = (rl-ro)/(kl*A_Ilm) #Insulation resistance (m^2.K/W)\n",
- "U = 1.0/(Ai*(Ri+Rp+Ro+Rl)) #Overall heat coefficient based on the inside area (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The overall heat transfer coefficient based on the inside area of the pipe is :\",round(U,3),\" Btu/h.ft^2.\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The overall heat transfer coefficient based on the inside area of the pipe is : 0.748 Btu/h.ft^2.\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.15, Page number: 275"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 14.14:\n",
- "Di = 0.825/12.0 #Pipe inside diameter (ft)\n",
- "L = 1.0 #Pipe length (ft)\n",
- "Ui = 0.7492 #Overall heat coefficient (Btu/h.ft^2.\u00b0F)\n",
- "Ts = 247.0 #Steam temperature (\u00b0F)\n",
- "ta = 60.0 #Air temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Ai = pi*Di*L #Inside area of pipe (ft^2)\n",
- "Q = Ui*Ai*(Ts-ta) #Heat transfer rate (Btu/h)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer rate is :\",round(Q,1),\" Btu/h .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate is : 30.3 Btu/h .\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.16, Page number: 276"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "hw = 200.0 #Water heat coefficient (Btu/h.ft^2.\u00b0F)\n",
- "ho = 50.0 #Oil heat coefficient (Btu/h.ft^2.\u00b0F)\n",
- "hf = 1000.0 #Fouling heat coefficient (Btu/h.ft^2.\u00b0F)\n",
- "DTlm = 90.0 #Log mean temperature difference (\u00b0F)\n",
- "A = 15.0 #Area of wall (ft^2)\n",
- "\n",
- "#Calculation:\n",
- "X = 1.0/hw+1.0/ho+1.0/hf #Equation 14.34 for constant A\n",
- "U = 1.0/X #Overall heat coeffocient (Btu/h.ft^2.\u00b0F)\n",
- "Q = U*A*DTlm #Heat transfer rate (Btu/h)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer rate is :\",round(Q,-1),\" Btu/h .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate is : 51920.0 Btu/h .\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 14.17, Page number: 277"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from sympy import symbols,log,nsolve\n",
- "\n",
- "\n",
- "#Variable declaration:\n",
- "T = 80.0 #Pipe surface temperature (\u00b0F)\n",
- "t1 = 10.0 #Brine inlet temperature (\u00b0F)\n",
- "DT2 = symbols('DT2') #Discharge temperature of the brine solution (\u00b0F)\n",
- "m = 20*60 #Flowrate of brine solution (lb/h)\n",
- "Cp = 0.99 #Heat capacity of brine solution (Btu/lb.\u00b0F)\n",
- "U1 = 150 #Overall heat transfer coefficient at brine solution entrance (Btu/h.ft^2.\u00b0F)\n",
- "U2 = 140 #Overall heat transfer coefficientat at brine solution exit (Btu/h.ft^2.\u00b0F)\n",
- "A = 2.5 #Pipe surface area for heat transfer (ft^2)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = T-t1 #Temperature approach at the pipe entrance (\u00b0F)\n",
- "Q = m*Cp*(DT1-DT2) #Energy balance to the brine solution across the full length of the pipe (Btu/h)\n",
- "DT1m = (DT1-DT2)/log(DT1/DT2) #Equation for the LMTD\n",
- "QQ = A*(U2*DT1-U1*DT2)/log(U2*DT1/U1/DT2) #Equation for the heat transfer rate (Btu/h)\n",
- "E = QQ-Q #Energy balance equation\n",
- "R = nsolve([E],[DT2],[1.2]) #\n",
- "DT = R[0] #Log mean temperature difference\n",
- "t2 = T-DT #In discharge temperature of the brine solution (\u00b0F)\n",
- "t2c = 5/9*(t2-32) #In discharge temperature of the brine solution in \u00b0C (c/5 = (F-32)/9)\n",
- "_Q_ = Q.subs(DT2,DT) #Heat transfer rate (Btu/h)\n",
- "\n",
- "#Result:\n",
- "print \"The temperature approach at the brine inlet side is :\",round(DT1,1),\" \u00b0F.\"\n",
- "print \"Or, the temperature approach at the brine inlet side is :\",round(DT1/1.8,1),\" \u00b0C.\"\n",
- "print \"The exit temperature of the brine solution is :\",round(t2,1),\" \u00b0F.\"\n",
- "print \"Or, the exit temperature of the brine solution is :\",round((t2-32)/1.8,1),\" \u00b0C.\"\n",
- "print \"The rate of heat transfer is :\",round(_Q_,-1),\" Btu/h.\"\n",
- "print \"Or, the rate of heat transfer is :\",round(_Q_/3.412,-2),\" W.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature approach at the brine inlet side is : 70.0 \u00b0F.\n",
- "Or, the temperature approach at the brine inlet side is : 38.9 \u00b0C.\n",
- "The exit temperature of the brine solution is : 28.4 \u00b0F.\n",
- "Or, the exit temperature of the brine solution is : -2.0 \u00b0C.\n",
- "The rate of heat transfer is : 21830.0 Btu/h.\n",
- "Or, the rate of heat transfer is : 6400.0 W.\n"
- ]
- }
- ],
- "prompt_number": 18
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_15.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_15.ipynb
deleted file mode 100644
index 8331e128..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_15.ipynb
+++ /dev/null
@@ -1,815 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:9c90790dace23fbdfc3e0ce273ce32b43acc5cfa1b423fc8f4e186650e91a101"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 15: Double Pipe Heat Exchangers"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.2, Page number: 290"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Q = 12000.0 #Heat transfer rate (Btu/h)\n",
- "U = 48.0 #Overall heat coefficient (Btu/ft^2.h.\u00b0F)\n",
- "DTlm = 50.0 #Log mean temperature difference (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "A = Q/(U*DTlm) #Area of exchanger (ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The area of the exchanger is :\",round(A),\" ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The area of the exchanger is : 5.0 ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.3, Page number: 291"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from sympy import symbols,solve,log\n",
- "\n",
- "#Variable declaration:\n",
- "Q = 56760 #Heat transfer rate (Btu/h)\n",
- "U = 35.35 #Overall heat coefficient (Btu/ft.h.\u00b0F)\n",
- "A = 32.1 #Area of exachanger (ft^2)\n",
- "t1 = 63.0 #Outlet cold water temperature (\u00b0F)\n",
- "T1 = 164 #Outlet hot water temperature (\u00b0F)\n",
- "T2 = 99 #Inlet hot water temperature (\u00b0F)\n",
- "t2 = symbols('t2') #Inlet cold water temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DTlm = Q/(U*A) #Log mean temperature difference (\u00b0F)\n",
- "dT1 = T1-t1 #Temperature approach at pipe outlet (\u00b0F)\n",
- "dT2 = T2-t2 #Temperature approach at pipe inlet (\u00b0F)\n",
- "Eq = (dT2-dT1)/log(dT2/dT1)-DTlm\n",
- "R = solve(Eq,t2) #Inlet cold water temperature (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The inlet cold water temperature is : \",round(R[0]),\" \u00b0F.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The inlet cold water temperature is : 79.0 \u00b0F.\n"
- ]
- }
- ],
- "prompt_number": 26
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.4, Page number: 292"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "m = 14.6 #Flow rate of water inside the tube (lb/min)\n",
- "Cp = 1 #Heat capacity of water (Btu/lb.\u00b0F)\n",
- "t2 = 79 #Initial temperature of water (\u00b0F)\n",
- "t1 = 63 #Final temperature of water (\u00b0F)\n",
- "#From example 15.3:\n",
- "Q1 = 56760 #Old heat transfer rate (Btu/h)\n",
- "\n",
- "#Calculation:\n",
- "Q2 = m*Cp*(t2-t1) #New heat transfer rate (Btu/min)\n",
- "\n",
- "#Result:\n",
- "print \"The new heat transfer rate is :\",round(Q2),\" Btu/min.\" \n",
- "print \"Or, the new heat transfer rate is :\",round(Q2*60),\" Btu/h.\"\n",
- "if (Q1==Q2) :\n",
- " print \"This result agree with the Q\u02d9 provided in the problem statement. Shakespeare is wrong, nothing is rotten there.\"\n",
- "else :\n",
- " print \"This result does not agree with the Q\u02d9 provided in the problem statement. Shakespeare is right, something is indeed rotten.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The new heat transfer rate is : 234.0 Btu/min.\n",
- "Or, the new heat transfer rate is : 14016.0 Btu/h.\n",
- "This result does not agree with the Q\u02d9 provided in the problem statement. Shakespeare is right, something is indeed rotten.\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.5, Page number: 292"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 210.0 #Initial temperature of oil (\u00b0F)\n",
- "T2 = 170.0 #Final temperature of oil (\u00b0F)\n",
- "T3 = 60.0 #Surface temperature of oil (\u00b0F)\n",
- "m = 8000.0 #Flow rate of oil inside tube (lb/h)\n",
- "cp = 0.55 #Heat capacity of oil (Btu/lb.\u00b0F)\n",
- "U = 63.0 #Overall heat teansfer coefficient (Btu.h.ft^2.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = T1-T3 #Temperature difference 1 (\u00b0F)\n",
- "DT2 = T2-T3 #Temperature difference 2 (\u00b0F)\n",
- "DTlm = (DT1-DT2)/log(DT1/DT2) #Log mean temerature difference (\u00b0F)\n",
- "Q = m*cp*(T1-T2) #Heat transferred (Btu/h)\n",
- "A = Q/(U*DTlm) #Heat transfer area (ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The required heat transfer area is :\",round(A,2),\" ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The required heat transfer area is : 21.66 ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.6, Page number: 293"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 140.0 #Initial temperature of hot water (\u00b0F)\n",
- "T2 = 110.0 #Final temperature of hot water (\u00b0F)\n",
- "T3 = 60.0 #Initial temperature of cold water (\u00b0F)\n",
- "T4 = 90.0 #Initial temperature of cold water (\u00b0F)\n",
- "DTlm2 = 50.0 #Log mean temerature difference for countercurrent flow, a constant (\u00b0F) (part 2)\n",
- "m = 100.0*60 #Water flow rate (lb/h)\n",
- "cp = 1.0 ##Heat capacity of water (Btu/lb.\u00b0F)\n",
- "U = 750.0 #Overall heat teansfer coefficient (Btu.h.ft^2.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = T1-T3 #Temperature difference 1 (\u00b0F) (part 1)\n",
- "DT2 = T2-T4 #Temperature difference 2 (\u00b0F)\n",
- "DTlm1 = (DT1-DT2)/log(DT1/DT2) #Log mean temerature difference (\u00b0F)\n",
- "Q = m*cp*(T1-T2) #Heat transferred (Btu/h)\n",
- "Ap = Q/(U*DTlm1) #Heat transfer area for parallel flow (ft^2)\n",
- "Ac = Q/(U*DTlm2) #Heat transfer area for counter flow (ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"1. The double pipe co-current flow is :\",round(Ap,2),\" ft^2 .\"\n",
- "print \"1. The double pipe countercurrent flow is :\",round(Ac,2),\" ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The double pipe co-current flow is : 5.55 ft^2 .\n",
- "1. The double pipe countercurrent flow is : 4.8 ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.8, Page number: 294"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import pi,log\n",
- "\n",
- "#Variable declaration:\n",
- "uC = 3.7*10**-4 \t #Viscosity of benzene (lb/ft.s)\n",
- "uH = 2.05*10**-4 \t #Viscosity of water @200 \u00b0F (lb/ft.s)\n",
- "u2 = 2.16*10**-4 \t\t\t\t #Viscosity of water @192 \u00b0F (lb/ft.s)\n",
- "pC = 54.8 #Density of benzene (lb/ft^3)\n",
- "pH = 60.13 #Density of water (lb/ft^3)\n",
- "cpC = 0.415 #Specific heat capacity of benzene (Btu/lb.\u00b0F)\n",
- "cpH = 1 #Specific heat capacity of water (Btu/lb.\u00b0F)\n",
- "sgC = 0.879 \n",
- "kC = 0.092 #Thermal conductivity of benzene (Btu/h.ft.\u00b0F)\n",
- "kH = 0.392 #Thermal conductivity of water @200 \u00b0F (Btu/h.ft.\u00b0F)\n",
- "k2 = 0.390\t\t\t\t\t #Thermal conductivity of water @192 \u00b0F (Btu/h.ft.\u00b0F)\n",
- "mC = 2500\t \t\t\t #Flow rate of benzene (lb/s)\n",
- "mH = 4000 #Flow rate of water (lb/s)\n",
- "Re = 13000 #Reynolds number\n",
- "dTc = 120-60\t\t\t\t\t #Difference in temperature heating for benzene\n",
- "Tw = 200\t\t\t\t #Temperatperature of hot water (\u00b0F)\n",
- "#For 2-inch schedule 40 pipe\n",
- "Ai = 0.541 #Inside area of pipe (ft^2/ft)\n",
- "Ao = 0.622 #Outside area of pipe (ft^2/ft)\n",
- "Di = 2.067 #Inside diameter of pipe (inch)\n",
- "Do = 2.375 #Outside diameter of pipe (inch)\n",
- "Si = 0.0233 #Inside surface area of pipe (ft^2)\n",
- "dXw = 0.128 #Width of pipe (ft)\n",
- "\n",
- "#For 4-inch schedule 40 pipe\n",
- "Dio = 4.026 #Inside diameter of pipe (inch)\n",
- "Doi = Do #Outside diameter of pipe (inch)\n",
- "kw = 26 \n",
- "\n",
- "#Calculations:\n",
- "def St(Re,Pr):\t\t\t\t #Dittus Boelter equation\n",
- "\treturn 0.023*Re**-0.2*Pr**-0.667\n",
- "#For inside tubes:\n",
- "Dicalc = 4*mC/(Re*pi*uC)/3600 #Inside diameter (ft)\n",
- "mHcalc = Re*pi*uH*(Doi+Dio)/4*3600/12 #Mass flow rate of water (lb/h)\n",
- "Q = mC*cpC*dTc\t\t\t\t\t #Heat in water (Btu/h)\n",
- "dTH = Q/mH #Temperature difference of water (\u00b0F)\n",
- "THo = Tw - dTH #Outlet temperature of water (\u00b0F)\n",
- "THav = (Tw+THo)/2 #Average temperature of water (\u00b0F) \n",
- "#For benzene:\n",
- "PrC = cpC*uC/kC*3600 #Prandtl number\n",
- "StC = round(St(13000, PrC),5) #Stanton number\n",
- "hi = StC*cpC*mC/Si #Heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "#For water:\n",
- "ReH = 4*mH/3600/(pi*u2*(Doi+Dio)/12) #Reynolds number\n",
- "PrH = round(cpH*(u2)/k2*3600 ,2) #Prandtl number\n",
- "StH = round(St(ReH, PrH),5) #Stanton number\n",
- "Sann = round(pi/4*(Dio**2-Doi**2)/144,4) #Surface area of annulus (ft^2)\n",
- "ho = round(StH*cpH*mH/Sann) #Heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "#For pipe:\n",
- "Dlm = round((Do-Di)/log(Do/Di)*12,3) #Log mean difference in diameter (ft)\n",
- "Uo = 1/(Do/Di/hi + dXw*Do/kw/Dlm + 1/ho) #Overall heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "dTlm = (124.4-80)/log(124.4/80) #Log mean temperature difference (\u00b0F)\n",
- "L = Q/(Uo*0.622*dTlm) #Length of pipe (ft)\n",
- "\n",
- "#Result:\n",
- "print 'The required length of pipe: ',round(L,1), 'ft'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The required length of pipe: 31.4 ft\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.10, Page number: 300"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import e\n",
- "\n",
- "#Variable declaration:\n",
- "MC = 2000.0 \n",
- "mc = 1000.0\n",
- "U = 2000.0\n",
- "A = 10.0\n",
- "T1 = 300.0\n",
- "t1 = 60.0\n",
- "\n",
- "#Calculation:\n",
- "B = 1.0/mc \n",
- "b = 1.0/MC\n",
- "x = B/b\n",
- "y = U*(B-b)\n",
- "T2 = ((x-y)*T1 + x*(e-y)*t1)/(2*e-1)\n",
- "t2 = t1+(T1-T2)/x\n",
- "\n",
- "#Result:\n",
- "print \"T2 = :\",round(T2),\" \u00b0F\"\n",
- "print \"t2 = :\",round(t2),\" \u00b0F\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "T2 = : 114.0 \u00b0F\n",
- "t2 = : 153.0 \u00b0F\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.11, Page number: 301"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from sympy import symbols,solve,log\n",
- "\n",
- "#Variable declaration:\n",
- "h1 = 1200.0 #Hot film coefficient (Btu/h.ft^2.\u00b0F)\n",
- "h2 = 1175.0 #Cold film coefficient (Btu/h.ft^2.\u00b0F)\n",
- "L = 200.0 #Length of pipe (ft)\n",
- "MC = 30000.0\n",
- "mc = 22300.0\n",
- "T1 = 300.0 #Inlet temperature of hot fluid in pipe (\u00b0F)\n",
- "t1 = 60.0 #Inlet temperature of cold fluid in pipe (\u00b0F)\n",
- "T2 = symbols('T2') #Outlet temperature of hot fluid \u00b0F\n",
- "t2 = symbols('t2') #Outlet temperature of cold fluid \u00b0F\n",
- "#From table 6.2:\n",
- "ID = 2.067 #Inside diameter of pipe (in)\n",
- "OD = 2.375 #Outside diameter of pipe (in)\n",
- "Dx = 0.154 #Thickness of pipe (in)\n",
- "Ai = 0.541 #Inside sectional area of pipe (ft^2/ft)\n",
- "k = 25.0 #Thermal conductivity of pipe (Btu/h)\n",
- "\n",
- "#Calculation:\n",
- "Ui = 1.0/((1.0/h1) +(Dx/(k*12.0))+(1.0/(h2*(OD/ID)))) #Overall heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "Ai1 = Ai*L #Inside area of pipe (ft^3/ft)\n",
- "QH = MC*(T1-T2) #Heat transfer rate of hot fluid (Btu/h)\n",
- "QC = mc*(t2-t1) #Heat transfer rate of cold fluid (Btu/h)\n",
- "t2ht = 195 #t2 by hit and trial\n",
- "x = solve(QC-QH,T2)\n",
- "T2 = x[0]\n",
- "DTlm = (T1-t1-T2+t2)/log((T1-t1)/(T2-t2)) #Log mean temperature difference (\u00b0F)\n",
- "Q = Ui*Ai1*DTlm.subs(t2,t2ht) #Total heat transfer rate (Btu/h)\n",
- "\n",
- "#Result:\n",
- "print \"T2 :\", round(T2.subs(t2,t2ht)),\"(\u00b0F)\"\n",
- "print \"t2 :\", t2.subs(t2,t2ht),\"(\u00b0F)\"\n",
- "print \"Qdot :\", round(Q/10**6) ,\"x 10**6 Btu/h\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "T2 : 200.0 (\u00b0F)\n",
- "t2 : 195 (\u00b0F)\n",
- "Qdot : 3.0 x 10**6 Btu/h\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.12, Page number: 302"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import log,e\n",
- "\n",
- "#Variable declaration:\n",
- "B = 3.33*10**-5\n",
- "b = 4.48*10**-5\n",
- "#From example 15.11:\n",
- "A = 108.2 #Inside area of pipe (ft^3/ft)\n",
- "U = 482 #Overall heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "MC = 30000.0\n",
- "mc = 23000.0\n",
- "T1 = 300.0 #Inlet temperature of hot fluid in pipe (\u00b0F)\n",
- "t1 = 60.0 #Inlet temperature of cold fluid in pipe (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "#From equation 15.28:\n",
- "T2 = ((B/b)*(e**(U*A*(B-b))-1)*t1+T1*(B/b-1))/((B/b)*e**(U*A*(B-b))-1) #Outlet temperature of hot fluid (\u00b0F)\n",
- "#From equation 15.32:\n",
- "t2 = ((b/B)*(e**(U*A*(b-B))-1)*T1+t1*(b/B-1))/((b/B)*e**(U*A*(b-B))-1) #Outlet temperature of cold fluid (\u00b0F)\n",
- "DT = ((T2-t1)-(T1-t2))/(log((T2-t1)/(T1-t2))) #Log mean difference temperature (\u00b0F)\n",
- "Q1 = U*A*DT #Heat transfer rate of hot fluid (Btu/h)\n",
- "Q2 = MC*(T1-T2) #Heat transfer rate of cold fluid (Btu/h)\n",
- "\n",
- "#Result:\n",
- "print \"The heat load is :\",round(Q2,-3),\" Btu/h.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat load is : 4078000.0 Btu/h.\n"
- ]
- }
- ],
- "prompt_number": 27
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.14, Page number: 305"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "from math import log,pi\n",
- "\n",
- "#Variable declaration:\n",
- "Ts = 100.0 #Saturation temperature (\u00b0C)\n",
- "t1 = 25.0 #Initial temperature of water (\u00b0C)\n",
- "t2 = 73.0 #Final temperature of water (\u00b0C)\n",
- "m = 228.0/3600.0 #Mass flow rate of water (kg/s)\n",
- "cp = 4174.0 #Heat capacity of water (J/kg.K)\n",
- "m_s = 55.0/3600.0 #Mass flow rate of steam (kg/s)\n",
- "h_vap = 2.26*10**26 #Latent heat of condensation (J/kg)\n",
- "k = 54.0 #Thermal conductivity for 0.5% carbon steel (W/m.K)\n",
- "rii = 0.013 #Inner radius of inner pipe of the double pipe heat exchanger (m)\n",
- "roi = 0.019 #Outer radius of inner pipe of the double pipe heat exchanger (m)\n",
- "Rf = 0.0002 #Fouling factor (m^2.K/W)\n",
- "Uc = 0.00045 #Clean overall heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = Ts-t1 #Temperature driving force at end 1 (K)\n",
- "DT2 = Ts-t2 #Temperature driving force at end 2 (K)\n",
- "DTlm = (DT1-DT2)/(log(DT1/DT2)) #Log mean difference temperature (\u00b0C)\n",
- "Cw =m*cp #Capacitance rate of water (W/K)\n",
- "Q = Cw*(t2-t1) #Heat transfer rate (W)\n",
- "Qmax1 = Cw*(Ts-t1) #Maximum heat term from the water stream (W)\n",
- "Qmax2 = m_s*h_vap #Maximum heat term from the steam (W)\n",
- "E = Q/Qmax1 #Effectiveness\n",
- "Lmin = (Q*(log(roi/rii)))/(2*pi*k*(Ts-t1)) #Minimum required length of heat exchanger (m)\n",
- "Ud = 1.0/(1.0/Uc+Rf) #Dirty overall heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Result:\n",
- "print \"1. The temperature profile of the water and steam along the length of the exchanger is :\",round(DTlm),\" \u00b0C .\"\n",
- "print \"2. Effectiveness of energy from steam to heat the water is :\",round(E,3),\" .\"\n",
- "print \"3. The minimum length of the heat exchanger is :\",round(Lmin,3),\" m .\"\n",
- "print \"4. The dirty overall heat transfer coefficient :\",round(Ud,5),\" W/m^2.K .\"\n",
- "print \"5. U_dirty: \", round(1/Ud,-1),\" W/m^2.K\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The temperature profile of the water and steam along the length of the exchanger is : 47.0 \u00b0C .\n",
- "2. Effectiveness of energy from steam to heat the water is : 0.64 .\n",
- "3. The minimum length of the heat exchanger is : 0.189 m .\n",
- "4. The dirty overall heat transfer coefficient : 0.00045 W/m^2.K .\n",
- "5. U_dirty: 2220.0 W/m^2.K\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.15, Page number: 308"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "Q = 12700.0 #Heat transfer rate (W)\n",
- "Ud = 2220.0 #Dirty overall heat transfer coefficient (W/m^2.K)\n",
- "DTlm = 47.0 #Log mean difference temperature (\u00b0C)\n",
- "rii = 0.013 #Inner radius of inner pipe of the double pipe heat exchanger (m)\n",
- "#Calculation:\n",
- "A = Q/(Ud*DTlm) #Heat transfer area (m^2)\n",
- "L = A/(2*pi*rii) #Tube length (m)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer area is :\",round(A,4),\" m^2 .\"\n",
- "print \"The length of the heat exchanger is :\",round(L,2),\" m .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer area is : 0.1217 m^2 .\n",
- "The length of the heat exchanger is : 1.49 m .\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.16, Page number: 308"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Ud = 2220.0 #Dirty overall heat transfer coefficient (W/m^2.K)\n",
- "A = 0.1217 #Heat transfer area (m^2)\n",
- "Cw = 264.0 #Capacitance rate of water (W/K)\n",
- "\n",
- "#Calculation:\n",
- "NTU = (Ud*A)/Cw #Number of transfer units of the exchanger\n",
- "\n",
- "#Result:\n",
- "print \"The number of transfer units (NTU) of the exchanger is :\",round(NTU,2),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The number of transfer units (NTU) of the exchanger is : 1.02 .\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.18, Page number: 309"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Ao = 1.85 #Area of heat exchanger (ft^2)\n",
- "\n",
- "#Calculation:\n",
- "#From figure 15.6:\n",
- "y = 0.560*10**-3 #Intercept 1/UoAo (\u00b0F.h/Btu)\n",
- "ho = 1.0/(Ao*y) #Thermal conductivity for heat exchanger (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"Thermal conductivity for the heat exchanger is :\",round(ho),\" Btu/h.ft^2.\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Thermal conductivity for the heat exchanger is : 965.0 Btu/h.ft^2.\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.19, Page number: 310"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From figure 15.7:\n",
- "a = 0.00126\n",
- "b = 0.0276\n",
- "\n",
- "#Calculation:\n",
- "ho = 1.0/a #The value of ho (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"Thermal conductivity is :\",round(ho),\" Btu/h.ft^2.\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Thermal conductivity is : 794.0 Btu/h.ft^2.\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.20, Page number: 311"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "Di = 0.902/12.0 #Inside diameter of tube (ft)\n",
- "Do = 1.0/12.0 #Outside diameter of tube (ft)\n",
- "k = 60.0 #Thermal conductivity of tube (Btu/h.ft^2.\u00b0F) \n",
- "\n",
- "#Calculation:\n",
- "#From example 15.19:\n",
- "a = 0.00126\n",
- "Dr = (Do - Di)/2.0 #Radial thickness of tube wall (ft)\n",
- "Rw = Dr/k #Resistance of wall (Btu/h.\u00b0F)\n",
- "ho = 1.0/(a-Rw) #The revised ho (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The revised ho is :\",round(ho),\" Btu/h.ft^2.\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The revised ho is : 839.0 Btu/h.ft^2.\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 15.21, Page number: 312"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "a1 = 0.00044 #Term 'a' for U_clean\n",
- "a2 = 0.00089 #Term 'a' for U_dirty\n",
- "\n",
- "#Calculation:\n",
- "Rs = a2 - a1 #Resistance associated with the scale\n",
- "hs = 1.0/Rs #Scale film coefficient (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The scale film coefficient neglecting the wall resistance is:\",round(hs),\" Btu/h.ft^2.\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The scale film coefficient neglecting the wall resistance is: 2222.0 Btu/h.ft^2.\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 21
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_16.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_16.ipynb
deleted file mode 100644
index af0c69ba..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_16.ipynb
+++ /dev/null
@@ -1,583 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:4d89093b0aef649c7f239bf75c18374320afd98a6f8286cbe2c1fcb242b5a141"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 16: Shell and Tube Heat Exchangers"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 16.5, Page number: 334"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "#From figure 16.13, for ideal countercurrent heat exchanger:\n",
- "T1 = 150.0 #Inlet temperature of hot fluid (\u00b0F)\n",
- "T2 = 100.0 #Outet temperature of hot fluid (\u00b0F)\n",
- "t1 = 50.0 #Inlet temperature of cold fluid (\u00b0F)\n",
- "t2 = 80.0 #Outet temperature of hot fluid (\u00b0F)\n",
- "#From figure 16.14, for shell and tube exchanger:\n",
- "T_1 = 50.0 #Inlet temperature of cold fluid (\u00b0F)\n",
- "T_2 = 80.0 #Outet temperature of hot fluid (\u00b0F)\n",
- "t_1 = 150.0 #Inlet temperature of hot fluid (\u00b0F)\n",
- "t_2 = 100.0 #Outet temperature of hot fluid (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = T1 - t2 #Temperature driving force 1 (\u00b0F)\n",
- "DT2 = T2 - t1 #Temperature driving force 1 (\u00b0F)\n",
- "DTlm1 = ((DT1-DT2)/log(DT1/DT2)) #Log mean temperature driving force for ideal countercurrent heat exchanger (\u00b0F)\n",
- "P = (t2-t1)/(T1 - t1) #Dimensionless ratio P\n",
- "R = (T1-T2)/(t2-t1) #Dimensionless ratio R\n",
- "#From figure 16.7:\n",
- "F = 0.925 #Correction Factor\n",
- "DTlm2 = F*DTlm1 #Log mean temperature driving force for shell and tube exchanger (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The log mean temperature difference for ideal system is :\",round(DTlm1,1),\" \u00b0F .\"\n",
- "print \"The log mean temperature difference for real system is :\",round(DTlm2,2),\" \u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The log mean temperature difference for ideal system is : 59.4 \u00b0F .\n",
- "The log mean temperature difference for real system is : 54.98 \u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 16.6, Page number: 335"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import log\n",
- "5\n",
- "#Variable declaration:\n",
- "T1 = 400.0 #Temperature of fluid entering the shell (\u00b0F)\n",
- "T2 = 250.0 #Temperature of fluid leaving the shell (\u00b0F)\n",
- "t1 = 100.0 #Temperature of fluid entering the tube (\u00b0F)\n",
- "t2 = 175.0 #Temperature of fluid leaving the tube (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = T1 - T2 #Temperature driving force 1 (\u00b0F)\n",
- "DT2 = t2 - t1 #Temperature driving force 1 (\u00b0F)\n",
- "DTlm1 = ((DT1-DT2)/log(DT1/DT2)) #Log mean temperature driving force for ideal countercurrent heat exchanger (\u00b0F)\n",
- "P = (t2-t1)/(T1 - t1) #Dimensionless ratio P\n",
- "R = (T1-T2)/(t2-t1) #Dimensionless ratio R\n",
- "#From figure 16.8:\n",
- "F = 0.985 #Correction factor\n",
- "DTlm2 = F*DTlm1 #Log mean temperature driving force for shell and tube exchanger (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The log mean temperature difference between the hot fluid and the cold fluid is :\",round(DTlm2,1),\" \u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The log mean temperature difference between the hot fluid and the cold fluid is : 106.6 \u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 16.7, Page number: 336"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "#From example 16.5:\n",
- "P1 = 0.30 #Dimensionless ratio P\n",
- "R1 = 1.67 #Dimensionless ratio R\n",
- "#From example 16.6:\n",
- "P2 = 0.30 #Dimensionless ratio P\n",
- "R2 = 1.67 #Dimensionless ratio R\n",
- "\n",
- "#Calculation:\n",
- "#Applying Equation 16.27:\n",
- "F1 = 0.92 #Correction Factor\n",
- "#Applying Equation 16.33:\n",
- "F2 = 0.985 #Correction Factor\n",
- "#From example 16.6:\n",
- "LMTD1 = 59.4 #Log mean temperature driving force 1 for ideal countercurrent heat exchanger (\u00b0F)\n",
- "LMTD2 = 108.0 #Log mean temperature driving force 2 for ideal countercurrent heat exchanger (\u00b0F)\n",
- "DTlm1 = F1*LMTD1 #Log mean temperature driving force 1 for shell and tube exchanger (\u00b0F)\n",
- "DTlm2 = F2*LMTD2 #Log mean temperature driving force 2 for shell and tube exchanger (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The log mean temperature difference for real system (in example 16.5) is :\",round(DTlm1,2),\" \u00b0F .\"\n",
- "print \"The log mean temperature difference for real system (in example 16.6) is :\",round(DTlm2,1),\" \u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The log mean temperature difference for real system (in example 16.5) is : 54.65 \u00b0F .\n",
- "The log mean temperature difference for real system (in example 16.6) is : 106.4 \u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 16.8, Page number: 337"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "t2 = 75.0 #Temperature of water leaving the shell (\u00b0C)\n",
- "t1 = 35.0 #Temperature of water enteringing the shell (\u00b0C)\n",
- "T2 = 75.0 #Temperature of oil leaving the tube (\u00b0C)\n",
- "T1 = 110.0 #Temperature of oil entering the tube (\u00b0C)\n",
- "m = 1.133 #Mass flowrate of water (kg/s)\n",
- "cp = 4180.0 #Heat capacity of water (J/kg.K)\n",
- "F = 0.965 #Correction factor\n",
- "U = 350.0 #Overall heat transfer coefficient (W/m^2.K)\n",
- "\n",
- "#Calculation:\n",
- "Q = m*cp*(t2-t1) #Heat load (W)\n",
- "DT1 = T1-t2 #Temperature driving force 1 (\u00b0C)\n",
- "DT2 = T2-t1 #Temperature driving force 2 (\u00b0C)\n",
- "DTlm1 = (DT1-DT2)/log(DT1/DT2)+273.0 #Countercurrent log-mean temperature difference (K)\n",
- "DTlm2 = F*DTlm1 #Corrected log-mean temperature difference (K)\n",
- "A = Q/(U*DTlm2) #Required heat transfer area (m^2)\n",
- "\n",
- "#Result:\n",
- "print \"The required heat-transfer area is :\",round(A,3),\" m^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The required heat-transfer area is : 1.807 m^2 .\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 16.10, Page number: 338"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "t2 = 84.0 #Temperature of water leaving the tube (\u00b0C)\n",
- "t1 = 16.0 #Temperature of water entering the tube (\u00b0C)\n",
- "m1 = 10000.0/3600.0 #Mass flowrate of water (kg/s)\n",
- "T2 = 94.0 #Temperature of oil leaving the shell (\u00b0C)\n",
- "T1 = 160.0 #Temperature of oil entering the shell (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "Tw = (t1+t2)/2.0 #Average bulk temperature of water (\u00b0C)\n",
- "To = (T1+T2)/2.0 #Average bulk temperature of oil (\u00b0C)\n",
- "#From table 16.1:\n",
- "p1 = 987.0 #Density of water (kg/m^3)\n",
- "cp1 = 4176.0 #Heat capacity of water (J/kg.\u00b0C)\n",
- "p2 = 822.0 #Density of oil (kg/m^3)\n",
- "Q = m1*cp1*(t2-t1) #Heat load (W)\n",
- "cp2 = 4820.0 #Heat capacity of oil (J/kg.\u00b0C)\n",
- "m2 = Q/(cp2*(T1-T2)) #Mass flowrate of oil (kg/s)\n",
- "DT1 = T2-t1 #Temperature driving force 1 (\u00b0C)\n",
- "DT2 = T1-t2 #Temperature driving force 2 (\u00b0C)\n",
- "DTlm1 = ((DT1-DT2)/log(DT1/DT2)) #Log mean temperature driving force for ideal countercurrent heat exchanger (\u00b0C)\n",
- "P = (t2-t1)/(T1 - t1) #Dimensionless ratio P\n",
- "R = (T1-T2)/(t2-t1) #Dimensionless ratio R\n",
- "#From figure 16.7:\n",
- "F = 0.965 #Correction factor\n",
- "DTlm2 = F*DTlm1 #Log mean temperature driving force for 1-4 shell and tube exchanger (\u00b0C)\n",
- "\n",
- "#Result:\n",
- "print \"1. The heat load is :\",round(Q/10**6,3),\" MW .\"\n",
- "print \"2. The countercurrent flow log mean temperature difference is :\",round(DTlm1),\" \u00b0C .\"\n",
- "print \"3. The F correction factor and the corrected log mean temperature difference is :\",round(DTlm2,1),\" \u00b0C .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The heat load is : 0.789 MW .\n",
- "2. The countercurrent flow log mean temperature difference is : 77.0 \u00b0C .\n",
- "3. The F correction factor and the corrected log mean temperature difference is : 74.3 \u00b0C .\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 16.11, Page number: 340"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 16.10:\n",
- "U = 350.0 #Over all heat transfer coefficient (W/m^2.\u00b0C)\n",
- "DTlm = 74.3 #Log mean temperature driving force for 1-4 shell and tube exchanger (\u00b0C)\n",
- "Q = 788800.0 #Heat load (W)\n",
- "Nt = 11.0 #Number of tubes per pass\n",
- "Np = 4.0 #Number of passes\n",
- "Di = 0.0229 #Inside diameter of tube (m)\n",
- "\n",
- "#Calculation:\n",
- "A = Q/(U*DTlm) #Heat transfer area required for heat exchanger (m^2)\n",
- "N = Nt*Np #Total number of tubes\n",
- "L = A/(pi*Di*N) #Tube length (m)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer area required for the heat exchanger is :\",round(A,2),\" m^2 .\"\n",
- "print \"The length of the tubes required for the heat exchanger is :\",round(L*3.28,1),\" ft .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer area required for the heat exchanger is : 30.33 m^2 .\n",
- "The length of the tubes required for the heat exchanger is : 31.4 ft .\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 16.18, Page number: 349"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 16.10:\n",
- "m1 = 2.778 #Mass flowrate of water (kg/s)\n",
- "cp1 = 4176.0 #Heat capacity of water (J/kg.\u00b0C)\n",
- "cp2 = 4820.0 #Heat capacity of oil (J/kg.\u00b0C)\n",
- "m2 = 2.48 #Mass flowrate of oil (kg/s)\n",
- "t2 = 84.0 #Temperature of water leaving the tube (\u00b0C)\n",
- "t1 = 16.0 #Temperature of water entering the tube (\u00b0C)\n",
- "T2 = 94.0 #Temperature of oil leaving the shell (\u00b0C)\n",
- "T1 = 160.0 #Temperature of oil entering the shell (\u00b0C)\n",
- "U = 350.0 #Over all heat transfer coefficient (W/m^2.\u00b0C)\n",
- "A = 30.33 #Heat transfer area required for heat exchanger (m^2)\n",
- "\n",
- "#Calculation:\n",
- "C1 = m1*cp1 #Capacitance rate of water (W/\u00b0C)\n",
- "C2 = m2*cp2 #Capacitance rate of oil (W/\u00b0C)\n",
- "Q = C1*(t2-t1) #Heat load of water (W)\n",
- "Qmax = C1*(T1-t1) #Maximum heat load of water (W)\n",
- "E = Q/Qmax #Effectiveness\n",
- "if (C1<C2):\n",
- " Cmin = C1 #Minimum capacitance rate (W/\u00b0C)\n",
- " Cmax = C2 #Maximum capacitance rate (W/\u00b0C)\n",
- "else:\n",
- " Cmin = C2 #Minimum capacitance rate (W/\u00b0C)\n",
- " Cmax = C1 #Maximum capacitance rate (W/\u00b0C)\n",
- "NTU = U*A/Cmin #Number of transfer units\n",
- "C = Cmin/Cmax #Capacitance rate ratio\n",
- "\n",
- "#Result:\n",
- "print \"The effectiveness is :\",round(E,3),\".\"\n",
- "print \"The number of transfer units is :\",round(NTU,3),\".\"\n",
- "print \"The capacitance rate ratio is :\",round(C,3),\".\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The effectiveness is : 0.472 .\n",
- "The number of transfer units is : 0.915 .\n",
- "The capacitance rate ratio is : 0.97 .\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 16.19, Page number: 351"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "#From table 16.4:\n",
- "Cw = 11680.3 #Capacitance rate of water (W/\u00b0C)\n",
- "t2 = 65.0 #Temperature of water leaving the tube (\u00b0C)\n",
- "t1 = 20.0 #Temperature of water entering the tube (\u00b0C)\n",
- "T2 = 107.3 #Temperature of steam leaving the shell (\u00b0C)\n",
- "T1 = 107.3 #Temperature of steam entering the shell (\u00b0C)\n",
- "hv = 2.238*10**6 #Latenet heat of condensation for steam (J/kg)\n",
- "U = 2000.0 #Overall heat transfer coefficient (W/m^2.\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "Q = Cw*(t2-t1) #Heat load (W)\n",
- "m2 = Q/hv #Steam condensation rate (kg/s)\n",
- "DT1 = T2-t1 #Temperature driving force 1 (\u00b0C)\n",
- "DT2 = T1-t2 #Temperature driving force 2 (\u00b0C)\n",
- "DTlm1 = ((DT1-DT2)/log(DT1/DT2)) #Log mean temperature driving force for ideal countercurrent heat exchanger (\u00b0C)\n",
- "F = 1.0 #Correction factor (since, T2 = T1)\n",
- "DTlm2 = F*DTlm1 #Log mean temperature driving force for shell and tube exchanger (\u00b0C)\n",
- "A1 = Q/(U*DTlm2) #Heat transfer area using LMTD method (m^2)\n",
- "E = (t2-t1)/(T1-t1) #Effectiveness\n",
- "#From figure 16.18:\n",
- "NTU = 0.7 #Number of transfer units\n",
- "A2 = (NTU*Cw)/U #Heat transfer area using E-NTU method (m^2)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfr area for the exchanger (using LMTD method) is :\",round(A1,2),\" m^2 .\"\n",
- "print \"The heat transfr area for the exchanger (using E-NTU method) is :\",round(A2,1),\" m^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfr area for the exchanger (using LMTD method) is : 4.23 m^2 .\n",
- "The heat transfr area for the exchanger (using E-NTU method) is : 4.1 m^2 .\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 16.21, Page number: 353"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import pi,log\n",
- "\n",
- "#Variable declaration:\n",
- "#From table 16.5:\n",
- "t2 = 75.0 #Temperature of water leaving the shell (\u00b0C)\n",
- "t1 = 35.0 #Temperature of water entering the shell (\u00b0C\n",
- "T2 = 75.0 #Temperature of oil leaving the tube (\u00b0C)\n",
- "T1 = 110.0 #Temperature of oil entering the tube (\u00b0C)\n",
- "mw = 1.133 #Mass flowrtae of water (kg/s)\n",
- "cpw = 4180.0 #Heat capacity of water (J/kg.K)\n",
- "cpo = 1900.0 #Heat capacity of oil (J/kg.K)\n",
- "p = 850.0 #Density of oil (kg/m^3)\n",
- "Di = 0.01905 #Inside diameter of tube (m)\n",
- "V = 0.3 #Average velocity of oil flow inside the tube (m/s)\n",
- "Np = 2.0 #Number of passes\n",
- "Uc = 350.0 #Overall heat transfer coefficient for clean heat exchanger (W/m^2)\n",
- "Rf = 0.00027 #Fouling factor (m^2.K/w)\n",
- "\n",
- "#Calculation:\n",
- "Cw = mw*cpw #Water capacitance rate (W/K)\n",
- "Q = Cw*(t2-t1) #Heat load (W)\n",
- "Co = Q/(T1-T2) #Oil capacitance rate (W/K)\n",
- "mo = Co/cpo #Total flowrate of oil (kg/s)\n",
- "if (Cw<Co):\n",
- " Cmin = Cw #Minimum capacitance rate (W/K)\n",
- " Cmax = Co #Maximum capacitance rate (W/K)\n",
- "else:\n",
- " Cmin = Co #Minimum capacitance rate (W/K)\n",
- " Cmax = Cw #Maximum capacitance rate (W/K)\n",
- "m_ot = p*V*(pi/4.0)*Di**2 #Oil flowrate per tube (kg/s)\n",
- "Nt = mo/m_ot #Number of tubes per pass\n",
- "N = Nt*Np #Number of tubes\n",
- "DT1 = T2-t1 #Temperature driving force 1 (\u00b0C)\n",
- "DT2 = T1-t2 #Temperature driving force 2 (\u00b0C)\n",
- "DTlm1 = ((DT1-DT2)/log(DT1/DT2)) #Log mean temperature driving force for ideal countercurrent heat exchanger (\u00b0C)\n",
- "P = (t2-t1)/(T1 - t1) #Dimensionless parameter P\n",
- "R = (T1-T2)/(t2-t1) #Dimensionless parameter R\n",
- "#From figure 16.7:\n",
- "F = 0.81 #Correction factor\n",
- "DTlm2 = F*DTlm1 #Log mean temperature driving force for shell and tube exchanger (\u00b0C)\n",
- "Ud = 1.0/(1.0/Uc+Rf) #Dirty overall heat transfer coefficient (W/m^2.K)\n",
- "A = Q/(Ud*DTlm2) #Required heat transfer area (m^2)\n",
- "L = A/(N*pi*Di) #Tube length (m)\n",
- "\n",
- "#Result:\n",
- "print \"1. The mass flow rate of the oil is :\",round(mo,2),\" kg/s .\"\n",
- "print \"2. The minimum and maximum heat capacity rate is :\",round(Cmin),\" and \",round(Cmax,1),\" W/K .\"\n",
- "print \"3. The heat load, Q is :\",round(Q),\" W .\"\n",
- "print \"4. The total number of tubes is :\",round(N,-1),\".\"\n",
- "print \"5. The tube length is :\",round(L,1),\" m .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The mass flow rate of the oil is : 2.85 kg/s .\n",
- "2. The minimum and maximum heat capacity rate is : 4736.0 and 5412.5 W/K .\n",
- "3. The heat load, Q is : 189438.0 W .\n",
- "4. The total number of tubes is : 80.0 .\n",
- "5. The tube length is : 4.2 m .\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 16.22, Page number: 356"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "#From example 16.22:\n",
- "t2 = 75.0 #Temperature of water leaving the shell (\u00b0F)\n",
- "t1 = 35.0 #Temperature of water entering the shell (\u00b0F)\n",
- "T2 = 75.0 #Temperature of oil leaving the tube (\u00b0F)\n",
- "T1 = 110.0 #Temperature of oil entering the tube (\u00b0F)\n",
- "U = 320.0 #Overall heat transfer coefficient (W/m^2.K)\n",
- "A = 19.5 #Required heat transfer area (m^2)\n",
- "Cmin = 4736.0 #Minimum capacitance rate (W/K)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = t2-t1 #Actual water temperature change (\u00b0F)\n",
- "DT2 = T1 - t1 #Maximum water temperature change (\u00b0F)\n",
- "E = DT1/DT2 #Effectiveness\n",
- "NTU = (U*A)/Cmin #Number of transfer units\n",
- "\n",
- "#Result:\n",
- "print \"The effectiveness is :\",round(E,3),\".\"\n",
- "print \"The NTU is :\",round(NTU,3),\".\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The effectiveness is : 0.533 .\n",
- "The NTU is : 1.318 .\n"
- ]
- }
- ],
- "prompt_number": 22
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_17.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_17.ipynb
deleted file mode 100644
index 4a60ab42..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_17.ipynb
+++ /dev/null
@@ -1,832 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:475ce8fa81a36fce30309ad0a5a8ca165ef95371bfe5c210d4123243261a9f37"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 17: Fins and Extended Surfaces"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.1, Page number: 358"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "w1 = 1.5 #Thicknessof fin (in)\n",
- "L = 12.0 #Length of fin (in)\n",
- "w2 = 0.1 #Thickness of fin(in)\n",
- "\n",
- "#Calculation:\n",
- "Af = 2*w1*L #Face area of fin (in^2)\n",
- "At = Af + L*w2 #Total area of fin (in^2)\n",
- "\n",
- "#Result:\n",
- "print \"The face area of the fin is :\",round(Af),\" in^2 .\"\n",
- "print \"The face area of the fin is :\",round(Af/12**2,2),\" ft^2 .\"\n",
- "print \"The total area of the fin is :\",round(At,1),\" in^2 .\"\n",
- "print \"The total area of the fin is :\",round(At/12**2,3),\" ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The face area of the fin is : 36.0 in^2 .\n",
- "The face area of the fin is : 0.25 ft^2 .\n",
- "The total area of the fin is : 37.2 in^2 .\n",
- "The total area of the fin is : 0.258 ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.3, Page number: 359"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "rf = 6.0/12.0 #Outside radius of fin (ft)\n",
- "ro = 4.0/12.0 #Outside radius of pipe (ft)\n",
- "t = 0.1/12.0 #Thickness of fin (ft)\n",
- "\n",
- "#Calculation:\n",
- "Af = 2*pi*(rf**2-ro**2) #Face area of fin (ft^2)\n",
- "At = Af + 2*pi*rf*t #Total area of fin (ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The total fin area is :\",round(At,3),\" ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The total fin area is : 0.899 ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.4, Page number: 364"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from math import sqrt\n",
- "\n",
- "#Variable declaration:\n",
- "L = 3.0*0.0254 #Height of fin (m)\n",
- "t = 1.0*0.0254 #Thickness of fin (m)\n",
- "h = 15.0 #Heat transfer coefficient (W/m^2.K)\n",
- "k = 300.0 #Thermal conductivity (W/m.K)\n",
- "\n",
- "#Calculation:\n",
- "Lc = L + t/2.0 #Corrected height of fin (m)\n",
- "Ap = Lc*t #Profile area of fin (m^2)\n",
- "x = sqrt((Lc**3*h)/(k*Ap)) #x-coordinate of figure 17.3\n",
- "#From figure 17.3:\n",
- "nf = 98.0 #Fin efficiency\n",
- "\n",
- "#Result:\n",
- "print \"The fin efficiency is :\",nf,\"% .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The fin efficiency is : 98.0 % .\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.5, Page number: 365"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 17.4:\n",
- "X = 0.1246 #X-coordinate of figure 17.3\n",
- "\n",
- "#Calculation:\n",
- "#Applying equation (A) from Table 17.3:\n",
- "Y = 4.5128*X**3 - 10.079*X**2 - 31.413*X + 101.47\n",
- "\n",
- "#Result:\n",
- "print \"The fin efficiency is :\",round(Y,1),\"% .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The fin efficiency is : 97.4 % .\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.6, Page number: 365"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import sqrt,atan\n",
- "\n",
- "#Variable declaration:\n",
- "w = 0.2/100.0 #Width of fin (m)\n",
- "t = 0.2/100.0 #Thickness of fin (m)\n",
- "L = 1.0/100.0 #Length of fin (m)\n",
- "h = 16.0 #Heat transfer coefficient (W/m^2.K)\n",
- "k = 400.0 #Thermal conductivity of fin (W/m.K)\n",
- "Tc = 100.0 #Circuit temperature (\u00b0C)\n",
- "Ta = 25.0 #Air temperature (\u00b0C)\n",
- "\n",
- "#Calculation:\n",
- "P = 4*w #Fin cross-section parameter (m)\n",
- "Ac = w*t #Cross-sectional area of fin (m^2)\n",
- "Lc = L+Ac/P #Corrected height of fin (m)\n",
- "m = sqrt((h*P)/(k*Ac)) #Location of minimum temperature (m^-1)\n",
- "Q = (sqrt(h*P*k*Ac))*(Tc-Ta)*atan(h)*(m*Lc) #Heat transfer from each micro-fin (W)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer from each micro-fin is :\",round(Q,2),\" W .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer from each micro-fin is : 0.15 W .\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.8, Page number: 366"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "from math import sqrt\n",
- "#Variable declaration:\n",
- "h1 = 13.0 #Air-side heat transfer coefficient (W/m^2.K)\n",
- "A = 1.0 #Base wall area (m^2)\n",
- "L = 2.5/100 #Length of steel fins (m)\n",
- "L2 = 1.5/10**3 #Length of steel wall (m)\n",
- "k = 13.0 #Thermal conductivity of fin (W/m.K)\n",
- "k1 = 38.0 #Thermal conductivity of steel wall (W/m.K)\n",
- "h2 = 260.0 #Water side heat transfer coefficient (W/m^2.K)\n",
- "T4 = 19.0 #Air temperature (\u00b0C)\n",
- "T1 = 83.0 #Water temperature (\u00b0C)\n",
- "t = 1.3/10**3 #Thickness of steel fins (m)\n",
- "w = 1.0 #Width of wall (m)\n",
- "S = 1.3/100 #Fin pitch(m)\n",
- "\n",
- "#Calculation:\n",
- "R1 = 1/(h1*A) #Air resistance (\u00b0C/W) (part 1)\n",
- "R2 = L2/(k1*A) #Conduction resistance (\u00b0C/W)\n",
- "R3 = 1/(h2*A) #Water resistance (\u00b0C/W)\n",
- "Rt = (R1+R3) #Total resistance (\u00b0C/W) (part 2)\n",
- "Q = (T1-T4)/Rt #Total heat transfer (W)\n",
- "Nf = 1/S #Number of fins (part 3)\n",
- "Lbe = w - Nf*t #Unfinned exposed base surface\n",
- "Abe = w*Lbe #Exposed base surface area (m^2)\n",
- "Lc = L+t/2 #Corrected length (m)\n",
- "Ap = Lc*t #Profile area (m^2)\n",
- "Af = 2*w*Lc #Fin surface area (m^2)\n",
- "Bi = h1*(t/2)/k1 #Biot number\n",
- "a = sqrt(Lc**3*h1/(k*Ap)) #Abscissa of the fin efficiency\n",
- "#From figure 17.3:\n",
- "nf = 0.88 #Fin efficiency\n",
- "Rb = 1/(h1*Abe) #Air thermal resistance of base wall (\u00b0C/W)\n",
- "Rf = 1/(h1*Nf*Af*nf) #Air thermal resistance of fins (\u00b0C/W)\n",
- "RT1 = 1/(1/Rb+1/Rf) #Total outside resistance of the fin array (\u00b0C/W)\n",
- "Rt3 = RT1+R3 #Total resistance on air side fins (\u00b0C/W)\n",
- "Qt = (T1-T4)/round(Rt3,5) #Heat transfer rate on air side fins (W)\n",
- "I = (Qt/Q - 1)*100 #Percent increase in heat transfer rate to air side fins (W)\n",
- "A = sqrt(Lc**3*h2/(k1*Ap)) #Abscissa of the new fin efficiency (part 4)\n",
- "#From figure 17.3:\n",
- "nf2 = 38.0 #New fin efficiency\n",
- "Rb2 = 1/(h2*Abe) #Thermal resistance of base wall (\u00b0C/W)\n",
- "Rf2 = 1/(h2*Nf*Af*nf2) #Thermal resistance of fins (\u00b0C/W)\n",
- "Rt4 = 1/(1/Rb2+1/Rf2) #Total resistance of the finned surface (\u00b0C/W)\n",
- "Rt5 = R1+Rt4 #Total resistance on water side fins (\u00b0C/W)\n",
- "QT1 = (T1-T4)/Rt5 #Heat transfer rate on water side fins (W)\n",
- "I2 = (QT1/Q - 1)*100 #Percent increase in heat transfer rate to water side fins (W)\n",
- "\n",
- "#Result:\n",
- "if (R2<R1 or R2<R3):\n",
- " print \"1. The conduction resistance may be neglected.\"\n",
- "else:\n",
- " print \"1. The conduction resistance can not be neglected.\"\n",
- "print \"2. The rate of heat transfer from water to air is :\",round(Q,1),\" W .\"\n",
- "print \"3. The percent increase in steady-state heat transfer rate by adding fins to the air side of the plane wall is :\",round(I,1),\" % .\"\n",
- "print \"4. The percent increase in steady-state heat transfer rate by adding fins to the water side of the plane wall is :\",round(I2,1),\" % .\"\n",
- "print \"____There is a calculation mistake in book in calculating Qt(83-19/0.0214 = 2999), hence slight differences in answer______\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The conduction resistance may be neglected.\n",
- "2. The rate of heat transfer from water to air is : 792.4 W .\n",
- "3. The percent increase in steady-state heat transfer rate by adding fins to the air side of the plane wall is : 276.7 % .\n",
- "4. The percent increase in steady-state heat transfer rate by adding fins to the water side of the plane wall is : 5.0 % .\n",
- "____There is a calculation mistake in book in calculating Qt(83-19/0.0214 = 2999), hence slight differences in answer______\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.10, Page number: 369"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import pi,sqrt\n",
- "\n",
- "#Variable declaration:\n",
- "Do = 2.5/100 #Outside diameter of tube (m)\n",
- "t = 1/10**3 #Thickness of fin (m)\n",
- "T = 25 #Fluid temperature (\u00b0C)\n",
- "Tb = 170 #Surface temperature (\u00b0C)\n",
- "h = 130 #Heat transfer coefficient (W/m^2.K)\n",
- "k = 200 #Thermal conductivity of fin (W/m.K)\n",
- "rf = 2.75/100 #Outside radius of fin (m)\n",
- "\n",
- "#Calculation:\n",
- "ro = Do/2 #Radius of tube (m)\n",
- "Ab = 2*pi*ro*t #Area of the base of the fin (m^2)\n",
- "Te = Tb-T #Excess temperature at the base of the fin (K)\n",
- "Q1 = h*Ab*Te #Total heat transfer rate without the fin (W)\n",
- "Bi = h*(t/2)/k #Biot number\n",
- "L = rf-ro #Fin height (m)\n",
- "rc = rf+t/2 #Corrected radius (m)\n",
- "Lc = L+t/2 #Corrected height (m)\n",
- "Ap = Lc*t #Profile area (m^2)\n",
- "Af = 2*pi*(rc**2-ro**2) #Fin surface area (m^2)\n",
- "Qm = h*Af*Te #Maximum fin heat transfer rate (W)\n",
- "A = sqrt(Lc**3*h/(k*Ap)) #Abscissa of fin efficiency\n",
- "C = rf/ro #Curve parameter of fin efficiency\n",
- "#From figure 17.4:\n",
- "nf = 0.86 #Fin efficiency\n",
- "Qf = nf*Qm #Fin heat transfer rate (W)\n",
- "R = Te/Qf #Fin resistance (K/W)\n",
- "\n",
- "#Result:\n",
- "print \"1. The heat transfer rate without the fin is :\",round(Q1,2),\" W .\"\n",
- "print \"Or, the heat transfer rate without the fin is :\",round(Q1*3.412),\" Btu/h .\"\n",
- "print \"2. The corrected length is :\",round(Lc,4),\" m .\"\n",
- "print \"3. The outer radius is :\",round(rc,3),\" m .\"\n",
- "print \"4. The maximum heat transfer rate from the fin is :\",round(Qm,2),\" W .\" \n",
- "print \"5. The fin efficiency is :\",round(nf*100),\" % .\" \n",
- "print \"6. The fin heat transfer rate is :\",round(Qf),\" W .\"\n",
- "print \"Or, the fin heat transfer rate is :\",round(Qf*3.412),\" Btu/h .\"\n",
- "print \"7. The fin thermal resistance is :\",round(R,2),\" K/W .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The heat transfer rate without the fin is : 1.48 W .\n",
- "Or, the heat transfer rate without the fin is : 5.0 Btu/h .\n",
- "2. The corrected length is : 0.0155 m .\n",
- "3. The outer radius is : 0.028 m .\n",
- "4. The maximum heat transfer rate from the fin is : 74.35 W .\n",
- "5. The fin efficiency is : 86.0 % .\n",
- "6. The fin heat transfer rate is : 64.0 W .\n",
- "Or, the fin heat transfer rate is : 218.0 Btu/h .\n",
- "7. The fin thermal resistance is : 2.27 K/W .\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.11, Page number: 370"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 17.10:\n",
- "Qf = 64 #Fin heat transfer rate (W)\n",
- "Q1 = 1.48 #Total heat transfer rate without the fin (W)\n",
- "\n",
- "#Calculation:\n",
- "E = Qf/Q1 #Fin effectiveness\n",
- "\n",
- "#Result:\n",
- "print \"The fin effectiveness is :\",round(E,1),\" .\"\n",
- "if E>2:\n",
- " print \"Hence, the use of the fin is justified.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The fin effectiveness is : 43.2 .\n",
- "Hence, the use of the fin is justified.\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.12, Page number: 370"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "w = 1 #Length of tube (m)\n",
- "S = 10/10**3 #Fin patch (m)\n",
- "#From example 17.10:\n",
- "t = 1/10**3 #Thickness of fin (m)\n",
- "ro = 0.0125 #Radius of tube (m)\n",
- "Af = 3.94*10**-3 #Fin surface area (m^2)\n",
- "Tb = 145 #Excess temperature at the base of the fin (K)\n",
- "h = 130 #Heat transfer coefficient (W/m^2.K)\n",
- "Qf = 64 #Fin heat transfer rate (W)\n",
- "\n",
- "#Calculation:\n",
- "Nf = w/S #Number of fins in tube length\n",
- "wb = w-Nf*t #Unfinned base length (m)\n",
- "Ab = 2*pi*ro*wb #Unfinned base area (m^2)\n",
- "At =Ab+Nf*Af #Total transfer surface area (m^2)\n",
- "Qt = h*(2*pi*ro*w*Tb) #Total heat rate without fins (W)\n",
- "Qb = h*Ab*Tb #Heat flow rate from the exposed tube base (W)\n",
- "Qft = Nf*Qf #Heat flow rate from all the fins (W)\n",
- "Qt2 = Qb+Qft #Total heat flow rate (W)\n",
- "Qm = h*At*Tb #Maximum heat transfer rate (W)\n",
- "no = Qt2/Qm #Overall fin efficiency\n",
- "Eo = Qt2/Qt #Overall effectiveness\n",
- "Rb = 1/(h*Ab) #Thermal resistance of base (K/W)\n",
- "Rf = 1/(h*Nf*Af*no) #Thermal resistance of fins (K/W)\n",
- "\n",
- "#Result:\n",
- "print \"1. The total surface area for heat transfer is :\",round(At,3),\" m^2 .\"\n",
- "print \"2. The exposed tube base total heat transfer rate is :\",round(Qb,1),\" W .\"\n",
- "print \"Or, the exposed tube base total heat transfer rate is :\",round(Qb*3.412),\" Btu/h .\"\n",
- "print \"3. The overall efficiency of the surface is :\",round(no*100,1),\" % .\"\n",
- "print \"4. The overall surface effectiveness is :\",round(Eo,2),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The total surface area for heat transfer is : 0.465 m^2 .\n",
- "2. The exposed tube base total heat transfer rate is : 1332.4 W .\n",
- "Or, the exposed tube base total heat transfer rate is : 4546.0 Btu/h .\n",
- "3. The overall efficiency of the surface is : 88.3 % .\n",
- "4. The overall surface effectiveness is : 5.22 .\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.13, Page number: 374"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import sqrt\n",
- "\n",
- "#Variable declaration:\n",
- "w = 1 #Width of single of fin (m)\n",
- "t = 2/10**3 #Fin base thickness (m)\n",
- "l = 6/10**3 #Fin length thickness (m)\n",
- "T1 = 250 #Surface temperature (\u00b0C)\n",
- "T2 = 20 #Ambient air temperature (\u00b0C)\n",
- "h = 40 #Surface convection coefficient (W/m^2.K)\n",
- "k = 240 #Thermal conductivity of fin (W/m.K)\n",
- "\n",
- "#Calculation:\n",
- "Ab = t*w #Base area of the fin (m^2)\n",
- "Te = T1-T2 #Excess temperature at the base of the fin (K)\n",
- "Qw = h*Ab*Te #Heat transfer rate without a fin (W)\n",
- "Af = 2*w*(sqrt(l**2-(t/2)**2)) #Fin surface area (m^2)\n",
- "Qm = h*Af*Te #Maximum heat transfer rate (m^2)\n",
- "Bi = h*(t/2)/k #Biot number\n",
- "Lc = l #Corrected length (m)\n",
- "Ap = l*t/2 #Profile area (m^2)\n",
- "A = sqrt((Lc**3*h)/k*Ap) #Abscissa for the fin efficiency figure\n",
- "#From figure 17.4:\n",
- "nf = 0.99 #Fin efficiency\n",
- "Qf = nf*Qm #Fin heat transfer rate (W)\n",
- "R = Te/Qf #Fin thermal resistance (K/W)\n",
- "E = Qf/Qw #Fin effectiveness\n",
- "\n",
- "#Result:\n",
- "print \"1. The heat transfer rate without the fin is :\",round(Qw,1),\" W .\"\n",
- "print \"2. The maximum heat transfer rate from the fin is :\",round(Qm,-1),\" W .\"\n",
- "print \"3. The fin efficiency is :\",round(nf*100),\" % .\"\n",
- "print \" The fin thermal resistance is :\",round(R,1),\" \u00b0C/W .\"\n",
- "print \" The fin effectiveness is :\",round(E,1),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The heat transfer rate without the fin is : 18.4 W .\n",
- "2. The maximum heat transfer rate from the fin is : 110.0 W .\n",
- "3. The fin efficiency is : 99.0 % .\n",
- " The fin thermal resistance is : 2.1 \u00b0C/W .\n",
- " The fin effectiveness is : 5.9 .\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.14, Page number: 375"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 17.13:\n",
- "Qf = 108.9 #Fin heat transfer rate (W)\n",
- "Qw = 18.4 #Total heat transfer rate without the fin (W)\n",
- "\n",
- "#Calculation:\n",
- "E = Qf/Qw #Fin effectiveness\n",
- "\n",
- "#Result:\n",
- "print \"The fin effectiveness is :\",round(E,2),\" .\"\n",
- "if E>2:\n",
- " print \"Hence, the use of the fin is justified.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The fin effectiveness is : 5.92 .\n",
- "Hence, the use of the fin is justified.\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.15, Page number: 375"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import pi,sqrt\n",
- "\n",
- "#Variable declaration:\n",
- "Do = 50/10**3 #Outside diameter of tube (m)\n",
- "t = 4/10**3 #Thickness of fin (m)\n",
- "T = 20 #Fluid temperature (\u00b0C)\n",
- "Tb = 200 #Surface temperature (\u00b0C)\n",
- "h = 40 #Heat transfer coefficient (W/m^2.K)\n",
- "k = 240 #Thermal conductivity of fin (W/m.K)\n",
- "l = 15/10**3 #Length of fin (m)\n",
- "\n",
- "#Calculation:\n",
- "ro = Do/2 #Radius of tube (m)\n",
- "rf = ro+l #Outside radius of fin (m)\n",
- "Ab = 2*pi*ro*t #Area of the base of the fin (m^2)\n",
- "Te = Tb-T #Excess temperature at the base of the fin (K)\n",
- "Q1 = h*Ab*Te #Total heat transfer rate without the fin (W)\n",
- "Bi = h*(t/2)/k #Biot number\n",
- "L = rf-ro #Fin height (m)\n",
- "rc = rf+t/2 #Corrected radius (m)\n",
- "Lc = L+t/2 #Corrected height (m)\n",
- "Ap = Lc*t #Profile area (m^2)\n",
- "Af = 2*pi*(rc**2-ro**2) #Fin surface area (m^2)\n",
- "Qm = h*Af*Te #Maximum fin heat transfer rate (W)\n",
- "A = sqrt(Lc**3*h/(k*Ap)) #Abscissa of fin efficiency\n",
- "C = rf/ro #Curve parameter of fin efficiency\n",
- "#From figure 17.4:\n",
- "nf = 0.97 #Fin efficiency\n",
- "Qf = nf*Qm #Fin heat transfer rate (W)\n",
- "R = Te/Qf #Fin resistance (K/W)\n",
- "E = Qf/Q1 #Fin effectiveness\n",
- "\n",
- "#Result:\n",
- "print \"The fin efficiency is :\",round(nf*100),\" % .\"\n",
- "print \"The fin thermal resistance is :\",round(R,1),\" \u00b0C/W .\"\n",
- "print \"The fin effectiveness is :\",round(E,2),\" .\"\n",
- "print \"The maximum heat transfer rate from a single fin is :\",round(Qm,2),\" W .\"\n",
- "if E>2:\n",
- " print \"Since Ef = FCP>2, the use of the fin is justified.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The fin efficiency is : 97.0 % .\n",
- "The fin thermal resistance is : 3.6 \u00b0C/W .\n",
- "The fin effectiveness is : 11.05 .\n",
- "The maximum heat transfer rate from a single fin is : 51.53 W .\n",
- "Since Ef = FCP>2, the use of the fin is justified.\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.16, Page number: 376"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import pi,sqrt\n",
- "\n",
- "#Variable declaration:\n",
- "Nf = 125 #Array of fins per meter\n",
- "w = 1 #Length of fin (m)\n",
- "#From example 17.15:\n",
- "t = 4/10**3 #Thickness of fin (m)\n",
- "Do = 50/10**3 #Outside diameter of tube (m)\n",
- "Af = 7.157*10**-3 #Fin surface area (m^2)\n",
- "h = 40 #Heat transfer coefficient (W/m^2.K)\n",
- "DTb = 180 #Excess temperature at the base of the fin (K)\n",
- "Qf = 50 #Fin heat transfer rate (W)\n",
- "\n",
- "#Calculation:\n",
- "ro = Do/2 #Radius of tube (m)\n",
- "wb = w-Nf*t #Unfinned exposed base length (m)\n",
- "Ab = 2*pi*ro*wb #Area of the base of the fin (m^2)\n",
- "At = Ab+Nf*Af #Total heat transfer surface area (m^2)\n",
- "Qw = h*(2*pi*ro*w)*DTb #Heat rate without fin (W)\n",
- "Qb = h*Ab*DTb #Heat rate from the base (W)\n",
- "Qft = Nf*Qf #Heat rate from the fin (W)\n",
- "Qt = Qb+Qft #Total heat rate (W)\n",
- "Qm = h*At*DTb #Maximum heat transfer rate (W)\n",
- "n = Qt/Qm #Overall fin efficiency\n",
- "E = Qt/Qw #Overall fin effectiveness\n",
- "Rb = 1/(h*Ab) #Thermal resistance of base (\u00b0C/W)\n",
- "Rf = 1/(h*Nf*Af*n) #Thermal resistance of fin (\u00b0C/W)\n",
- "\n",
- "#Result:\n",
- "print \"The rate of heat transfer per unit length of tube is :\",round(Qt,1),\" W .\"\n",
- "print \"Or, the rate of heat transfer per unit length of tube is :\",round(Qt/10**3,2),\" kW .\"\n",
- "print \"The overall fin efficiency is :\",round(n*100,1),\" % .\"\n",
- "print \"The overall fin effectiveness is :\",round(E,2),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate of heat transfer per unit length of tube is : 6815.5 W .\n",
- "Or, the rate of heat transfer per unit length of tube is : 6.82 kW .\n",
- "The overall fin efficiency is : 97.3 % .\n",
- "The overall fin effectiveness is : 6.03 .\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.17, Page number: 377"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "print 'Analytical Solution'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Analytical Solution\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 17.18, Page number: 379"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 17.18:\n",
- "T = 250 #Base temperature of fin (\u00b0F)\n",
- "h = 15 #Convection coefficient of heat transfer (Btu/h.ft.\u00b0F)\n",
- "w = 1 #Base width of fin (ft)\n",
- "t = 1 #Thickness of fin (in)\n",
- "H = 1/8 #Height of fin (in)\n",
- "l = 1 #Length of fin (in)\n",
- "Q = 357.2 #Heat transfer rate (Btu/h.ft)\n",
- "\n",
- "#Calculation:\n",
- "A = (l*w+t*w+H*w)/12 #Heat transfer area of fin (ft^2)\n",
- "Qm = h*A*(T-70) #Maximum heat transfer rate (Btu/h.ft)\n",
- "n = Q/Qm*100 #Fin efficiency\n",
- "\n",
- "#Result:\n",
- "print \"The fin efficiency is :\",round(n,1),\" % .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The fin efficiency is : 74.7 % .\n"
- ]
- }
- ],
- "prompt_number": 20
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_18.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_18.ipynb
deleted file mode 100644
index 61e88510..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_18.ipynb
+++ /dev/null
@@ -1,658 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:4239ad8a8aef7d8398d3c69721341c39df37be6f21def1df2b04a8d6ccbef700"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 18: Other Heat Exchange Equipment"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.2, Page number: 384"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 25 #Temperature of H2SO4 (\u00b0C)\n",
- "m = 50+200 #Mass of H2SO4 (lb)\n",
- "#From figure 18.2:\n",
- "W1 = 50+100 #Weight of H2SO4 (lb)\n",
- "W2 = 100 #Weight of H2O (lb)\n",
- "\n",
- "#Calculation:\n",
- "m = W1/(W1+W2)*100 #Percent weight of H2SO4 (%)\n",
- "m2 = W1+W2 #Mass of mixture (lb)\n",
- "#From fgure 18.2:\n",
- "T2 = 140 #Final temperature between the 50% solution and pure H2SO4 at 25\u00b0C (\u00b0F)\n",
- "h1 = -86 #Specific heat capacity of H2O (Btu/lb)\n",
- "h2 = -121.5 #Specific heat capacity of H2SO4 (Btu/lb)\n",
- "Q = m2*(h2-h1) #Heat transferred (Btu)\n",
- "\n",
- "#Result:\n",
- "print \"The final temperature between the 50% solution and pure H2SO4 at 25\u00b0C is :\",round(T2),\" \u00b0F .\"\n",
- "print \"The heat transferred is :\",round(Q),\" Btu .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The final temperature between the 50% solution and pure H2SO4 at 25\u00b0C is : 140.0 \u00b0F .\n",
- "The heat transferred is : -8875.0 Btu .\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.3, Page number: 386"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "F = 10000 #Mass flow rate of NaOH (lb/h)\n",
- "C1 = 10 #Old concentration of NaOH solution (%)\n",
- "C2 = 75 #New concentration of NaOH solution (%)\n",
- "h1 = 1150 #Enthalpy of saturated steam at 14.7 psia (Btu/lb)\n",
- "U = 500 #Overall heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "T1 = 212 #Absolute temperature of evaporator (\u00b0F)\n",
- "T2 = 340 #Saturated steam temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "L = F*(C1/100)/(C2/100) #Flow rate of steam leaving the evaporator (lb/h)\n",
- "V = F-L #Overall material balance (lb/h)\n",
- "#From figure 18.3:\n",
- "hF = 81 #Enthalpy of solution entering the unit (Btu/lb)\n",
- "hL = 395 #Enthalpy of the 75% NaOH solution (Btu/lb)\n",
- "Q = round(V)*h1+round(L)*hL-F*hF #Evaporator heat required (Btu/h)\n",
- "A = Q/(U*(T2-T1)) #Area of the evaporaor (ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The heat transfer rate required for the evaporator is :\",round(Q,-2),\" Btu/h .\"\n",
- "print \"The area requirement in the evaporator is :\",round(A,1),\" ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat transfer rate required for the evaporator is : 9683600.0 Btu/h .\n",
- "The area requirement in the evaporator is : 151.3 ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.4, Page number: 388"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "U1 = 240 #Overall heat transfer coefficient for first effect (Btu/h.ft^2.\u00b0F)\n",
- "U2 = 200 #Overall heat transfer coefficient for second effect (Btu/h.ft^2.\u00b0F)\n",
- "U3 = 125 #Overall heat transfer coefficient for third effect (Btu/h.ft^2.\u00b0F)\n",
- "A1 = 125 #Heating surface area in first effect (ft^3)\n",
- "A2 = 150 #Heating surface area in second effect (ft^3)\n",
- "A3 = 160 #Heating surface area in third effect (ft^3)\n",
- "T1 = 400 #Condensation stream temperature in the first effect (\u00b0F)\n",
- "T2 = 120 #Vapor leaving temperature in the first effect (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "R1 = 1/(U1*A1) #Resistance across first effect\n",
- "R2 = 1/(U2*A2) #Resistance across second effect\n",
- "R3 = 1/(U3*A3) #Resistance across third effect\n",
- "R = R1+R2+R3 #Total resistance\n",
- "DT1 = (R1/R)*(T1-T2) #Temperature drop across the heating surface in the first effect (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The temperature drop across the heating surface in the first effect is :\",round(DT1),\" \u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature drop across the heating surface in the first effect is : 80.0 \u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.6, Page number: 389"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "F = 5000 #Mass of soltuion fed in the evaporator (lb)\n",
- "xF = 2/100 #Concentration of feed\n",
- "xL = 5/100 #Concentration of liquor\n",
- "U = 280 #Overall heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "#From figure 18.1 & 18.3:\n",
- "TF = 100 #Feed temperature (\u00b0F)\n",
- "TS = 227 #Steam temperature (\u00b0F)\n",
- "TV = 212 #Vapour temperature (\u00b0F)\n",
- "TL = 212 #Liquor temperature (\u00b0F)\n",
- "TC = 227 #Condensate temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "#From steam tables:\n",
- "hF = 68 #Enthalpy of feed (Btu/lb)\n",
- "hL = 180 #Enthalpy of liquor (Btu/lb)\n",
- "hV = 1150 #Enthalpy of vapour (Btu/lb)\n",
- "hS = 1156 #Enthalpy of steam (Btu/lb)\n",
- "hC = 195 #Enthalpy of condensate (Btu/lb)\n",
- "s1 = F*xF #Total solids in feed (lb)\n",
- "w = F-s1 #Total water in feed (lb)\n",
- "s2 = F*xF #Total solids in liquor (lb)\n",
- "L = s2/xL #Total water in liquor (lb)\n",
- "V = F-L #Overall balance (lb)\n",
- "S = (V*hV+L*hL-F*hF)/(hS-hC) #Mass of steam (lb)\n",
- "Q = S*(hS-hC) #Total heat requirement (Btu)\n",
- "A = Q/(U*(TS-TL)) #Required surface aea (ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The mass of vapor produced is :\",round(V),\" lb .\"\n",
- "print \"The total mass of steam required is :\",round(S),\" lb .\"\n",
- "print \"The surface area required is :\",round(A),\" ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of vapor produced is : 3000.0 lb .\n",
- "The total mass of steam required is : 3611.0 lb .\n",
- "The surface area required is : 826.0 ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.7, Page number: 390"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "F = 5000 #Mass flow rate of NaOH (lb/h)\n",
- "xF = 20/100 #Old concentration of NaOH solution\n",
- "TF = 100 #Feed temperature (\u00b0F)\n",
- "xL = 40/100 #New concentration of NaOH solution\n",
- "xv = 0 #Vapour concentration at x\n",
- "yv = 0 #Vapour concentration at y\n",
- "T1 = 198 #Boiling temperature of solution in the evaporator (\u00b0F)\n",
- "T2 = 125 #Saturated steam temperature (\u00b0F)\n",
- "U = 400 #Overall heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "Ts = 228 #Steam temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "#From steam tables at 228\u00b0F and 5 psig:\n",
- "hS = 1156 #Enthalpy of steam (Btu/lb)\n",
- "hC = 196 #Enthalpy of condensate (Btu/lb)\n",
- "hV = hS-hC #Enthalpy of vapour (Btu/lb)\n",
- "Tw = 125.4 #Boiling point of water at 4 in Hg absolute (\u00b0F)\n",
- "hS2 = 1116 #Enthalpy of saturated steam at 125\u00b0F (Btu/lb)\n",
- "hs = 0.46 #Heat capacity of superheated steam (Btu/lb.\u00b0F)\n",
- "#From figure 18.3:\n",
- "hF = 55 #Enthalpy of feed (Btu/lb)\n",
- "hL = 177 #Enthalpy of liquor (Btu/lb)\n",
- "L = F*xF/xL #Mass of liquor (lb)\n",
- "V = L #Mass of vapour (lb)\n",
- "hV = hS2+hs*(T1-T2) #Enthalpy of vapour leaving the solution (Btu/lb)\n",
- "S = (V*hV+L*hL-F*hF)/(hS-hC) #Mass flow rate of steam (lb/h)\n",
- "Q = S*(hS-hC) #Total heat requirement (Btu)\n",
- "A = Q/(U*(Ts-T1)) #Required heat transfer area (ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The steam flow rate is :\",round(S,-1),\" lb/h .\"\n",
- "print \"The required heat transfer area is :\",round(A),\" ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The steam flow rate is : 3170.0 lb/h .\n",
- "The required heat transfer area is : 253.0 ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.10, Page number: 398"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 2000 #Hot gas temperature (\u00b0F)\n",
- "T2 = 550 #Cool gas temperature (\u00b0F)\n",
- "T3 = 330 #Steam temperature (\u00b0F)\n",
- "T4 = 140 #Water temperature (\u00b0F)\n",
- "m = 30000 #Mass flow rate of steam (lb/h)\n",
- "cp = 0.279 #Average heat capacity of gas (Btu/lb.\u00b0F)\n",
- "N = 800 #Number of boiler tubes\n",
- "\n",
- "#Calculation:\n",
- "DT = (T1-T3)/(T2-T3) #Temperature difference ratio\n",
- "Tav = (T1+T2)/2 #Average gas temperature (\u00b0F)\n",
- "#From steam tables (Appendix):\n",
- "hs = 1187.7 #Steam enthalpy (Btu/lb)\n",
- "hw = 107.89 #Water enthalpy (Btu/lb)\n",
- "Q = m*(hs-hw) #Heat duty (Btu/h)\n",
- "mh = Q/cp*(T1-T2) #Mass flow rate of gas (lb/h)\n",
- "x = mh/N #Gas mass flow rate per tube (lb/h)\n",
- "#From figure 18.5:\n",
- "L = 15 #Length of boiler tubes (ft)\n",
- "\n",
- "#Result:\n",
- "print \"The length of boiler tubes is :\",L,\" ft .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The length of boiler tubes is : 15 ft .\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.12, Page number: 399"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "T1 = 1800 #Hot gas temperature (\u00b0F)\n",
- "T2 = 500 #Cool gas temperature (\u00b0F)\n",
- "#From steam tables:\n",
- "Tw = 312 #Boiling point of water at 80 psia (\u00b0F)\n",
- "m1 = 120000 #Mass flow rate of flue gas (lb/h)\n",
- "D = 2/12 #Inside diameter of tube (ft)\n",
- "cp = 0.26 #Average heat capacity of flue gas (Btu/lb.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DT = (T1-Tw)/(T2-Tw) #Temperature difference ratio\n",
- "Tav = (T1+T2)/2 #Average gas temperature (\u00b0F)\n",
- "#From figure 18.4:\n",
- "x = 150 #Gas mass flow rate per tube (m/N) (lb/h)\n",
- "N = m1/x #Number of tubes\n",
- "L = 21.5 #Length of tubes (ft)\n",
- "A = N*L*D #Total heat transfer area (ft^2)\n",
- "Q = m1*cp*(T1-T2) #Heat duty (Btu/h)\n",
- "#From steam tables (Appendix):\n",
- "hs = 1183.1 #Steam enthalpy at 80 psia (Btu/lb)\n",
- "hw = 168.1 #Water enthalpy at 200\u00b0F (Btu/lb)\n",
- "m2 = Q/(hs-hw) #Mass flow rate of water (lb/h)\n",
- "\n",
- "#Result:\n",
- "print \"The required heat transfer area is :\",round(A),\" ft^2 .\"\n",
- "print \"The tube length is :\",L,\" ft .\"\n",
- "print \"The heat duty is :\",round(Q/10**7,2),\" x 10^7 .\"\n",
- "print \"The water mass flow rate is :\",round(m2,-4),\" lb/h .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The required heat transfer area is : 2867.0 ft^2 .\n",
- "The tube length is : 21.5 ft .\n",
- "The heat duty is : 4.06 x 10^7 .\n",
- "The water mass flow rate is : 40000.0 lb/h .\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.18, Page number: 407"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "m1 = 144206 #Mass flow rate of flue gas (lb/h)\n",
- "cp = 0.3 #Average flue gas heat capacity (Btu/lb.\u00b0F)\n",
- "T1 = 2050 #Initial temperature of gas (\u00b0F)\n",
- "T2 = 560 #Final temperature of gas (\u00b0F)\n",
- "T3 = 70 #Ambient air temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Q = m1*cp*(T1-T2) #Duty rate (Btu/h)\n",
- "#From appendix:\n",
- "cpa = 0.243 #Average ambient air heat capacity 70\u00b0F (Btu/lb.\u00b0F)\n",
- "MW = 29 #Molecular weight of air at 70\u00b0F\n",
- "ma = round(Q,-5)/(cpa*(T2-T3)) #Mass of air required (lb/h)\n",
- "m2 = round(ma)/MW #Moles of air required (lb mol/h)\n",
- "m3 = round(ma)*13.32 #Volume of air required (ft^3/h)\n",
- "\n",
- "#Result:\n",
- "print \"The mass of air required is :\",round(ma,-2),\" lb/h .\"\n",
- "print \"The moles of air required is :\",round(m2,-1),\"lb mol/h .\"\n",
- "print \"The volume of air required is :\",round(m3,-3),\" ft^3/h .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of air required is : 541700.0 lb/h .\n",
- "The moles of air required is : 18680.0 lb mol/h .\n",
- "The volume of air required is : 7215000.0 ft^3/h .\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.19, Page number: 407"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "#From example 18.19:\n",
- "m1 = 144200 #Mass flow rate of flue gas (lb/h)\n",
- "m2 = 541700 #Mass flow rate of air (lb/h)\n",
- "R = 0.73 #Universal gas constant (psia.ft^3/lbmol.\u00b0R)\n",
- "P = 1 #Absolute pressure (psia)\n",
- "T = 1020 #Absolute temperature (\u00b0R)\n",
- "MW = 29 #Molecular weight of air\n",
- "t = 1.5 #Residence time (s)\n",
- "\n",
- "#Calculation:\n",
- "m = m1+m2 #Total mass flow rate of the gas (lb/h)\n",
- "q = m*R*T/(P*MW) #Volumetric flow at 560\u00b0F (ft^3/h)\n",
- "V = q*t/3600 #Volume of tank (ft^3)\n",
- "\n",
- "#Result:\n",
- "print \"The total mass flow rate of the gas is :\",round(m,-2),\" lb/h .\"\n",
- "print \"The volumetric flow at 560\u00b0F is :\",round(q/10**7,2),\" x 10^7 ft^3/h .\"\n",
- "print \"The volume of tank is :\",round(V),\" ft^3 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The total mass flow rate of the gas is : 685900.0 lb/h .\n",
- "The volumetric flow at 560\u00b0F is : 1.76 x 10^7 ft^3/h .\n",
- "The volume of tank is : 7338.0 ft^3 .\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.20, Page number: 408"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "#Fro example 18.20:\n",
- "V = 7335 #Volume of tank (ft^3)\n",
- "\n",
- "#Calculation:\n",
- "D = (4*V/pi)**(1/3) #Diameter of tank (ft)\n",
- "H = D #Height of tube (ft)\n",
- "\n",
- "#Result:\n",
- "print \"The diameter of tank is :\",round(H,2),\" ft .\"\n",
- "print \"The height of tube is :\",round(D,2),\" ft .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The diameter of tank is : 21.06 ft .\n",
- "The height of tube is : 21.06 ft .\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.21, Page number: 408"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "m1 = 144206 #Mass flow rate of flue gas (lb/h)\n",
- "cp1 = 0.3 #Average heat capacities of the flue gas (Btu/lb\u00b0F)\n",
- "cp2 = 0.88 #Average heat capacities of the solid (Btu/lb\u00b0F)\n",
- "#From example 18.18:\n",
- "T1 = 550 #Initial temperature of gas (\u00b0F)\n",
- "T2 = 2050 #Final temperature of gas (\u00b0F)\n",
- "T3 = 70 #Initial temperature of solid (\u00b0F)\n",
- "T4 = 550-40 #Final temperature of solid (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Dhf = m1*cp1*(T2-T1) #For the flue gas, the enthalpy change for one hour of operation (Btu)\n",
- "Dhs = round(Dhf,-4) #For the solids, the enthalpy change for one hour of operation (Btu)\n",
- "m2 = Dhs/(cp2*(T4-T3)) #Mass of solid (lb)\n",
- "\n",
- "#Result:\n",
- "print \"The mass of solid is :\",round(m2),\" lb .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass of solid is : 167588.0 lb .\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 18.22, Page number: 409"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import log,sqrt,pi\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 18.21:\n",
- "m = 144206 #Mass flow rate of flue gas (lb/h)\n",
- "cp = 0.3 #Average heat capacities of the flue gas (Btu/lb\u00b0F)\n",
- "T1 = 2050 #Initial temperature of gas (\u00b0F)\n",
- "T2 = 180 #Final temperature of gas (\u00b0F)\n",
- "T3 = 60 #Ambient air temperature (\u00b0F)\n",
- "U = 1.5 #Overall heat transfer coefficient for cooler (Btu/h.ft^2.\u00b0F)\n",
- "MW = 28.27 #Molecular weight of gas\n",
- "R = 379 #Universal gas constant (psia.ft^3/lbmol.\u00b0R)\n",
- "v = 60 #Duct or pipe velcity at inlet (2050\u00b0F) (ft/s)\n",
- "\n",
- "#Calculation:\n",
- "Q = m*cp*(T1-T2) #Heat duty (Btu/h)\n",
- "DTlm = ((T1-T3)-(T2-T3))/log((T1-T3)/(T2-T3)) #Log-mean temperature difference (\u00b0F)\n",
- "A1 = round(Q,-5)/(U*round(DTlm)) #Radiative surface area (ft^2)\n",
- "q = m*R*(T1+460)/(T3+460)/MW #Volumetric flow at inlet (ft^3/h)\n",
- "A2 = q/(v*3600) #Duct area (ft^2)\n",
- "D = sqrt(A2*4/pi) #Duct diameter (ft)\n",
- "L = A1/(pi*D) #Length of required heat exchange ducting (ft)\n",
- "\n",
- "#Result:\n",
- "print \" The radiative surface area required is :\",round(A1,-1),\" ft^2 .\"\n",
- "print \" The length of required heat exchange ducting is :\",round(L),\" ft .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " The radiative surface area required is : 80980.0 ft^2 .\n",
- " The length of required heat exchange ducting is : 3476.0 ft .\n"
- ]
- }
- ],
- "prompt_number": 23
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_19.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_19.ipynb
deleted file mode 100644
index 3617f433..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_19.ipynb
+++ /dev/null
@@ -1,861 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:e60aa082c3bd1f8f9672b5ca74c6357f1b26803a7fb296a1d0a644ab9efb4ea1"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 19: Insulation and Refractory"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.1, Page number: 413"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "H = 2.5 #Height of wall (m)\n",
- "W = 4 #Width of wall (m)\n",
- "h = 11 #Convective heat transfer coefficient (W/m^2.K)\n",
- "T1 = 24 #Outside surface temperature (\u00b0C)\n",
- "T3 = -15 #Outside air temperature (\u00b0C)\n",
- "L = 7.62/10**3 #Insulation thickness (m)\n",
- "k = 0.04 #Thermal conductivity of wool (W/m.K)\n",
- "\n",
- "#Calculation:\n",
- "A = H*W #Heat transfer area (m^2)\n",
- "Q = h*A*(T1-T3) #Heat transfer rate (W)\n",
- "Ri = L/(k*A) #Insuation resistance (K/W)\n",
- "Rc = 1/(h*A) #Convective resitance (K/W)\n",
- "R = Ri+Rc #Total resistance (K/W)\n",
- "Qt = (T1-T3)/R #Revised heat transfer rate (Btu/h)\n",
- " \n",
- "#Result:\n",
- "print \"1. The heat transfer rate without insulation is :\",round(Q),\" W .\"\n",
- "print \"Or, the heat transfer rate without insulation is :\",round(Q*3.412),\" Btu/h .\"\n",
- "print \"2. The revised heat transfer rate with insulation is :\",round(Qt),\" W .\"\n",
- "print \"Or, the revised heat transfer rate with insulation is :\",round(Qt*3.412),\" Btu/h .\"\n",
- "print \"There is a calculation mistake in book.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The heat transfer rate without insulation is : 4290.0 W .\n",
- "Or, the heat transfer rate without insulation is : 14637.0 Btu/h .\n",
- "2. The revised heat transfer rate with insulation is : 1386.0 W .\n",
- "Or, the revised heat transfer rate with insulation is : 4729.0 Btu/h .\n",
- "There is a calculation mistake in book.\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.2, Page number: 414"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 19.1:\n",
- "T1 = 24 #Outside surface temperature (\u00b0C)\n",
- "Ri = 0.0191 #Insulation resistance (K/W)\n",
- "Q = 1383 #Revised heat transfer rate (Btu/h)\n",
- "\n",
- "#Calculation:\n",
- "T2 = T1-Q*Ri #Temperature at outer surface of insulation (\u00b0C)\n",
- "\n",
- "#Result:\n",
- "print \"The temperature at the outer surface of the insulation is :\",round(T2,1),\" \u00b0C .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature at the outer surface of the insulation is : -2.4 \u00b0C .\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.3, Page number: 415"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 19.1:\n",
- "h = 11 #Convective heat transfer coefficient (W/m^2.K)\n",
- "L = 7.62/10**3 #Insulation thickness (m)\n",
- "k = 0.04 #Thermal conductivity of wool (W/m.K)\n",
- "\n",
- "#Calculation:\n",
- "Bi = h*L/k #Biot number\n",
- "\n",
- "#Result:\n",
- "print \"The Biot nmuber is :\",round(Bi,1),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Biot nmuber is : 2.1 .\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.4, Page number: 415"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "k = 0.022 #Thermal conductivity of glass wool (Btu/h.ft.\u00b0F)\n",
- "T1 = 400 #Inside wall temperature (\u00b0F)\n",
- "T2 = 25 #Outside wall temperature (\u00b0C)\n",
- "L = 3/12 #Length of insulation cover (ft)\n",
- "\n",
- "#Calculation:\n",
- "T_2 = T2*(9/5)+32 #Outside wall temperature in fahrenheit scale (\u00b0F)\n",
- "QbyA = k*(T1-T_2)/L #Heat flux across the wall (Btu/h.ft^2)\n",
- "\n",
- "#Result:\n",
- "print \"The heat flux across the wall is :\",round(QbyA,1),\" Btu/h.ft^2 .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat flux across the wall is : 28.4 Btu/h.ft^2 .\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.5, Page number: 415"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "w = 8 #Width of wall (m)\n",
- "H = 3 #Height of wall (m)\n",
- "h = 21 #Convective heat transfer coefficient between the air and the surface (W/m^2.K)\n",
- "T1 = -18 #Outside surace of wall temperature (\u00b0C)\n",
- "T3 = 26 #Surrounding air temperature (\u00b0C)\n",
- "l1 = 80/100 #Reduction in cooling load\n",
- "k = 0.0433 #Thermal conductivity of cork board insulation (W/m.K)\n",
- "T = 12000 #Units Btu/h in 1 ton of refrigeration\n",
- "\n",
- "#Calculation:\n",
- "A = w*H #Heat transfer area (m^2) (part 1)\n",
- "Q1 = h*A*(T1-T3) #Rate of heat flow in the absence of insulation (W)\n",
- "Q2 = Q1*3.4123/T #Rate of heat flow in the absence of insulation (ton of refrigeration)\n",
- "l2 = 1-l1 #Reduced cooling load (part 2)\n",
- "Q3 = l2*Q1 #Heat rate with insulation (W)\n",
- "Rt = (T1-T3)/Q3 #Total thermal resistance (\u00b0C/W)\n",
- "R2 = 1/(h*A) #Convection thermal resistance (\u00b0C/W)\n",
- "R1 = Rt-R2 #Insulation conduction resistance (\u00b0C/W)\n",
- "L = R1*k*A #Required insulation thickness (m)\n",
- "\n",
- "#Result:\n",
- "print \"1. The rate of heat flow through the rectangular wall without insulation is :\",round(Q1/10**3,2),\" kW .\"\n",
- "print \"Or, the rate of heat flow through the rectangular wall without insulation in tons of refrigeration is :\",round(Q2,1),\" ton of refrigeration .\"\n",
- "if (Q1<0):\n",
- " print \" The negative sign indicates heat flow from the surrounding air into the cold room.\"\n",
- "else :\n",
- " print \" The positive sign indicates heat flow from the surrounding air into the cold room.\"\n",
- "print \"2. The required thickness of the insulation board is :\",round(L*10**3,2),\" mm .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The rate of heat flow through the rectangular wall without insulation is : -22.18 kW .\n",
- "Or, the rate of heat flow through the rectangular wall without insulation in tons of refrigeration is : -6.3 ton of refrigeration .\n",
- " The negative sign indicates heat flow from the surrounding air into the cold room.\n",
- "2. The required thickness of the insulation board is : 8.25 mm .\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.6, Page number: 417"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 19.5:\n",
- "Q = -4435.2 #Heat rate with insulation (W)\n",
- "R2 = 0.00198 #Convection thermal resistance (\u00b0C/W)\n",
- "T3 = 26 #Surrounding air temperature (\u00b0C)\n",
- "h = 21 #Convective heat transfer coefficient between the air and the surface (W/m^2.K)\n",
- "k = 0.0433 #Thermal conductivity of cork board insulation (W/m.K)\n",
- "L = 0.00825 #Required insulation thickness (m)\n",
- "\n",
- "#Calculation:\n",
- "T2 = T3+Q*R2 #Interface temperature (\u00b0C) (part 1)\n",
- "Bi = h*L/k #Biot number (part 2)\n",
- "\n",
- "#Result:\n",
- "print \"1. The interface temperature is :\",round(T2,2),\" \u00b0C .\"\n",
- "print \"2. The Biot number is :\",round(Bi),\" .\"\n",
- "print \"3. Theoretical part.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The interface temperature is : 17.22 \u00b0C .\n",
- "2. The Biot number is : 4.0 .\n",
- "3. Theoretical part.\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.7, Page number: 417"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "from math import pi,log\n",
- "\n",
- "#Variable declaration:\n",
- "D2 = 0.5/10**3 #External diameter of needle (m)\n",
- "h3 = 12 #Heat transfer coefficient (W/m^2.K)\n",
- "L = 1 #Insulation thickness (m)\n",
- "T1 = 95 #Reactant temperature (\u00b0C)\n",
- "T3 = 20 #Ambient air temperature (\u00b0C)\n",
- "k1 = 16 #Thermal conductivity of needle (W/m.K)\n",
- "k3 = 0.0242 #Thermal conductivity of air (W/m.K)\n",
- "D3 = 2/10**3 #Diameter of rubber tube (m)\n",
- "\n",
- "#Calculation:\n",
- "r2 = D2/2 #External radius of needle (m)\n",
- "r3 = D3/2 #Radius of rubber tube (m)\n",
- "Rt1 = 1/(h3*(2*pi*r2*L)) #Thermal resistance (\u00b0C/W)\n",
- "Q1 = (T1-T3)/Rt1 #Rate of heat flow in the absence of insulation (W)\n",
- "Bi = h3*D2/k1 #Biot number \n",
- "Nu = h3*D2/k3 #Nusselt number\n",
- "R2 = log(r3/r2) #Thermal resistance of needle (\u00b0C/W)\n",
- "R3 = 1/(h3*(2*pi*r3*L)) #Thermal resistance of rubber tube (\u00b0C/W)\n",
- "Rt2 = R2+R3 #Total thermal resistance (\u00b0C/W)\n",
- "Q2 = (T1-T3)/Rt2 #Rate of heat loss (W)\n",
- "\n",
- "#Result:\n",
- "print \"1. The rate of the heat loss from the hypodermic needle with the rubber insulation is :\",round(Q1,2),\" W .\"\n",
- "print \" The rate of the heat loss from the hypodermic needle without the rubber insulation is :\",round(Q2,2),\" W .\"\n",
- "print \"2. The Biot number is :\",round(Bi,6),\" .\"\n",
- "print \" The nusselt number is :\",round(Nu,3),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The rate of the heat loss from the hypodermic needle with the rubber insulation is : 1.41 W .\n",
- " The rate of the heat loss from the hypodermic needle without the rubber insulation is : 5.12 W .\n",
- "2. The Biot number is : 0.000375 .\n",
- " The nusselt number is : 0.248 .\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.9, Page number: 420"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import log, pi\n",
- "\n",
- "#Variable declaration:\n",
- "h = 140 #Convention heat transfer coefficient (W/m^2.K)\n",
- "D1 = 10/10**3 #Rod diameter (m)\n",
- "L = 2.5 #Rod length (m)\n",
- "T1 = 200 #Surface temperature of rod (\u00b0C)\n",
- "T2 = 25 #Fluid temperature (\u00b0C)\n",
- "k = 1.4 #Thermal conductivity of bakellite (W/m.K)\n",
- "l = 55/10**3 #Insulation thickness (m)\n",
- "\n",
- "#Calculation:\n",
- "Q1 = h*pi*D1*L*(T1-T2) #Rate of heat transfer for the bare rod (W) (part 1)\n",
- "Bi = 2 #Critical Biot number (part 2)\n",
- "D2 = Bi*k/h #Critical diameter associated with the bakelite coating (m)\n",
- "r2 = D2/2 #Critical radius associated with the bakelite coating (m)\n",
- "r1 = D1/2 #Rod radius (m)\n",
- "R1 = log(r2/r1)/(2*pi*k*L) #Insulation conduction resistance (\u00b0C/W)\n",
- "R2 = 1/(h*(2*pi*r2*L)) #Convection thermal resistance (\u00b0C/W)\n",
- "Rt1 = R1+R2 #Total thermal resistance (\u00b0C/W)\n",
- "Qc = (T1-T2)/Rt1 #Heat transfer rate at the critical radius (W)\n",
- "r3 = r1+l #New radius associated with the bakelite coating after insulation (m) (part 3)\n",
- "R3 = log(r3/r1)/(2*pi*k*L) #Insulation conduction bakelite resistance (\u00b0C/W)\n",
- "R4 = 1/(h*(2*pi*r3*L)) #Convection bakelite thermal resistance (\u00b0C/W)\n",
- "Rt2 = R3+R4 #Total bakelite thermal resistance (\u00b0C/W)\n",
- "Q2 = (T1-T2)/Rt2 #Heat transfer rate at the bakelite critical radius (W)\n",
- "Re = ((Q1-Q2)/Q1)*100 #Percent reduction in heat transfer rate relative to the case of a bare rod (%)\n",
- "\n",
- "#Result:\n",
- "print \"1. The rate of heat transfer for the bare rod is :\",round(Q1),\" W .\"\n",
- "print \"2. The critical radius associated with the bakelite coating is :\",round(r2*10**3),\" mm.\"\n",
- "print \" & the heat transfer rate at the critical radius is :\",round(Qc),\" W .\"\n",
- "print \"3. The fractional reduction in heat transfer rate relative to the case of a bare rod is :\",round(Re,1),\" % .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The rate of heat transfer for the bare rod is : 1924.0 W .\n",
- "2. The critical radius associated with the bakelite coating is : 10.0 mm.\n",
- " & the heat transfer rate at the critical radius is : 2273.0 W .\n",
- "3. The fractional reduction in heat transfer rate relative to the case of a bare rod is : 24.6 % .\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.10, Page number: 421"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import pi, log\n",
- "\n",
- "#Variable declaration:\n",
- "r1 = 1.1/100 #Inside radius of pipe (m)\n",
- "r2 = 1.3/100 #Outside radius of pipe (m)\n",
- "r3 = 3.8/100 #Outside radius of asbestos insulation (m)\n",
- "L = 1 #Length of tube (m)\n",
- "h1 = 190 #Heat transfer coefficient from ethylene glycol to the stainless steel pipe (W/m^2.K)\n",
- "k2 = 19 #Thermal conductivity of pipe (W/m.K)\n",
- "h2 = 14 #Outside heat transfer coefficient from the air to the surface of the insulation (W/m^2.K)\n",
- "k3 = 0.2 #Thermal conductivity of asbestos (W/m.K)\n",
- "T1 = 124 #Hot ethylene glycol temperature (\u00b0C)\n",
- "T5 = 2 #Surrounding air temperature (\u00b0C)\n",
- "k4 = 0.0242 #Thermal conductivity of air (W/m.K)\n",
- "\n",
- "#Calculation:\n",
- "A1 = 2*pi*r1*L #Inside surface area of pipe (m^2) (part1)\n",
- "A2 = 2*pi*r2*L #Outside surface area of pipe (m^2)\n",
- "A3 = 2*pi*r3*L #Outside surface area of asbestos insulation (m^2)\n",
- "R1 = 1/(h1*A1) #Inside convection resistance (\u00b0C/W)\n",
- "R2 = log(r2/r1)/(2*pi*k2*L) #Conduction resistance through the tube (\u00b0C/W)\n",
- "R3 = 1/(h2*A2) #Outside convection resistance (\u00b0C/W)\n",
- "Rt1 = R1+R2+R3 #Total resistance without insulation (\u00b0C/W)\n",
- "Q1 = (T1 - T5)/Rt1 #Heat transfer rate without insulation (W)\n",
- "R4 = log(r3/r2)/(2*pi*k3*L) #Conduction resistance associated with the insulation (\u00b0C/W) (part 2)\n",
- "R5 = 1/(h2*A3) #Outside convection resistance (\u00b0C/W)\n",
- "Rt2 = R1+R2+R4+R5 #Total rsistance with the insulation (\u00b0C/W)\n",
- "Q2 = (T1-T5)/Rt2 #Heat transfer rate with the insulation (W)\n",
- "U1 = 1/(Rt2*A1) #Overall heat transfer coefficient based on the inside area (W/m^2.K) (part 3)\n",
- "U3 = 1/(Rt2*A3) #Overall heat transfer coefficient based on the outside area (W/m^2.K) (part 4)\n",
- "T3 = T1-(R1+R2)*Q2 #Temperature at the steel\u2013insulation interface (\u00b0C) (part 5)\n",
- "Bi1 = h2*(2*r3)/k3 #Outside Biot number (part 6)\n",
- "Bi2 = h1*(2*r1)/k2 #Inside Biot number\n",
- "Nu = h1*(2*r1)/k4 #Nusselt number of the air\n",
- "rlm = (r3-r2)/log(r3/r2) #Log mean radius of the insulation (m) (part 7)\n",
- "\n",
- "#Result:\n",
- "print \"1. The rate of heat transfer without insulation is :\",round(Q1,1),\" W.\"\n",
- "print \"2. The rate of heat transfer with insulation is :\",round(Q2,1),\" W.\"\n",
- "print \"3. The overall heat transfer coefficient based on the inside area of the tube is :\",round(U1,2),\" W/m^2.K .\"\n",
- "print \"4. The overall heat transfer coefficient based on the outside area of the insulation is :\",round(U3,1),\" W/m^2.K .\"\n",
- "print \"5. The temperature, T3, at the steel\u2013insulation interface is :\",round(T3,1),\" \u00b0C.\"\n",
- "print \"6. The inside Biot numbers is :\",round(Bi2,2),\" .\"\n",
- "print \" The outside Biot numbers is :\",round(Bi1,2),\" .\"\n",
- "print \" The Nusselt number is :\",round(Nu,1),\" .\"\n",
- "print \"7. The log mean radius of insulation is :\",round(rlm*100,2),\" cm.\"\n",
- "print \"There is a printing mistake in book for unit in part 7.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The rate of heat transfer without insulation is : 128.1 W.\n",
- "2. The rate of heat transfer with insulation is : 99.2 W.\n",
- "3. The overall heat transfer coefficient based on the inside area of the tube is : 11.76 W/m^2.K .\n",
- "4. The overall heat transfer coefficient based on the outside area of the insulation is : 3.4 W/m^2.K .\n",
- "5. The temperature, T3, at the steel\u2013insulation interface is : 116.3 \u00b0C.\n",
- "6. The inside Biot numbers is : 0.22 .\n",
- " The outside Biot numbers is : 5.32 .\n",
- " The Nusselt number is : 172.7 .\n",
- "7. The log mean radius of insulation is : 2.33 cm.\n",
- "There is a printing mistake in book for unit in part 7.\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.11, Page number: 424"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import pi\n",
- "\n",
- "#Variable declaration:\n",
- "h1 = 800 #Heat transfer coefficient for steam condensing inside coil (Btu/h.ft^2.\u00b0F)\n",
- "h2 = 40 #Heat transfer coefficient for oil outside coil (Btu/h.ft^2.\u00b0F)\n",
- "h3 = 40 #Heat transfer coefficient for oil inside tank wal (Btu/h.ft^2.\u00b0F)\n",
- "h4 = 2 #Heat transfer coefficient for outer tank wall to ambient air (Btu/h.ft^2.\u00b0F)\n",
- "k1 = 0.039 #Thermal conductivity of insulation layer (Btu/h.ft.\u00b0F)\n",
- "l1 = 2/12 #Thickness of insulation layer (ft)\n",
- "D = 10 #Diameter of tank (ft)\n",
- "H = 30 #Height of tank (ft)\n",
- "k2 = 224 #Thermal conductivity of copper tube (Btu/h.ft.\u00b0F)\n",
- "l2 = (3/4)/12 #Thickness of insulation layer (ft)\n",
- "T1 = 120 #Temperature of tank (\u00b0F)\n",
- "T2 = 5 #Outdoor temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Uo1 = 1/(1/h3+(l1/k1)+1/h4) #Overall heat transfer coefficient for tank (Btu/h.ft^2.\u00b0F)\n",
- "At = pi*(D+2*l1)*H #Surface area of tank (ft^2)\n",
- "Q = Uo1*At*(T1-T2) #Heat transfer rate lost from the tank (Btu/h)\n",
- "#From table 6.3:\n",
- "l2 = 0.049/12 #Thickness of coil (ft)\n",
- "A = 0.1963 #Area of 18 guage, 3/4-inch copper tube (ft^2/ft)\n",
- "Uo2 = 1/(1/h2+(l2/k2)+1/h1) #Overall heat transfer coefficient for coil (Btu/h.ft^2.\u00b0F)\n",
- "#From steam tables:\n",
- "Tst = 240 #Temperature for 10 psia (24.7 psia) steam (\u00b0F)\n",
- "Ac = Q/(Uo2*(Tst-T1)) #Area of tube (ft^2)\n",
- "L = Ac/A #Lengt of tube (ft)\n",
- "\n",
- "#Result:\n",
- "print \"The length ofcopper tubing required is :\",round(L,1),\" ft .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The length ofcopper tubing required is : 26.0 ft .\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.12, Page number: 426"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "from math import pi, log\n",
- "from numpy import array,log as LOG\n",
- "\n",
- "#Variable declaration:\n",
- "#For 1-inch pipe schedule 40:\n",
- "Di = 1.049/12 #Inside diameter (ft)\n",
- "Do = 1.315/12 #Outside diameter (ft)\n",
- "L = 8000 #Length of pipe (ft)\n",
- "hi = 2000 #Heat transfer coefficient inside of the pipe (Btu/h.ft^2.\u00b0F)\n",
- "ho = 100 #Outside heat transfer coefficient (Btu/h.ft.\u00b0F)\n",
- "kl = 0.01 #Thermal conductivity of insulation (Btu/h.ft.\u00b0F)\n",
- "T1 = 240 #Steam temperature (\u00b0F)\n",
- "T2 = 20 #Air temperature (\u00b0F)\n",
- "k = 24.8 #Thermal conductivity for steel (Btu/h.ft.\u00b0F)\n",
- "Dxl = array([3/8,1/2,3/4,1])/12 #thickness(ft)\n",
- "amt = array([1.51,3.54,5.54,8.36])/6 #Cost per feet($) \n",
- "\n",
- "#Calculation:\n",
- "D_ = (Do-Di)/log(Do/Di) #Log-mean diameter of the pipe (ft)\n",
- "Dl = Do+2*(Dxl) #Insulation thickness (ft)\n",
- "D_l = (Dl-Do)/LOG(Dl/Do) #Log mean diameter of pipe (ft)\n",
- "Dxw = (Do-Di)/2 #Pipe thickness (ft)\n",
- "Rw = Dxw/(k*pi*D_*L) #Wall resistance ((Btu/h.\u00b0F)^-1)\n",
- "Ri = 1/(hi*pi*Di*L) #Inside steam convection resistance ((Btu/h.\u00b0F)^-1)\n",
- "Rl = Dxl/(kl*pi*D_l*L) #Insulation resistance ((Btu/h.\u00b0F)^-1)\n",
- "Ro = 1/(ho*pi*Dl*L) #Outside air convection resistance ((Btu/h.\u00b0F)^-1)\n",
- "R = Ri+Rw+Rl+Ro #Total resistance ((Btu/h.\u00b0F)^-1)\n",
- "Uo = 1/(R*pi*Dl*L) #Overall outside heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "Ui = 1/(R*pi*Di*L) #Overall inside heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "dT = T1-T2\n",
- "Ai = pi*Di*L #Inside area (ft^2)\n",
- "Q = Ui*Ai*dT #Energy loss (Btu/h)\n",
- "def energyPerDollar(Q1,Q2,amt1,amt2):\n",
- " return round((Q1-Q2)/(8000*(amt2-amt1)),1)\n",
- "\n",
- "#Results:\n",
- "print \"Energy saved per dollar ingoing from 3/8 to 1/2 inch is :\",energyPerDollar(Q[0],Q[1],amt[0],amt[1]),' Btu/h.$'\n",
- "print \"Energy saved per dollar ingoing from 1/2 to 3/4 inch is :\",energyPerDollar(Q[1],Q[2],amt[1],amt[2]),' Btu/h.$'\n",
- "print \"Energy saved per dollar ingoing from 3/4 to 1 inch is :\",energyPerDollar(Q[2],Q[3],amt[2],amt[3]),' Btu/h.$'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Energy saved per dollar ingoing from 3/8 to 1/2 inch is : 18.2 Btu/h.$\n",
- "Energy saved per dollar ingoing from 1/2 to 3/4 inch is : 18.8 Btu/h.$\n",
- "Energy saved per dollar ingoing from 3/4 to 1 inch is : 6.8 Btu/h.$\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.16, Page number: 434"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "ki = 0.44 #Thermal conductivity of insulation (Btu/h.ft.\u00b0F)\n",
- "ho = 1.32 #Air flow coefficient (Btu/h.ft^2.\u00b0F)\n",
- "OD = 2 #Outside diameter of pipe (in)\n",
- "\n",
- "#Calculation:\n",
- "rc = (ki/ho)*12 #Outer critical radius of insulation (in)\n",
- "ro = OD/2 #Outside radius of pipe (in)\n",
- "L = rc-ro #Critical insulation thickness (in)\n",
- "\n",
- "#Result:\n",
- "print \"The outer critical radius of insulation is :\",round(rc),\" in .\"\n",
- "if ro<rc:\n",
- " print \"Since, ro<rc, the heat loss will increase as insulation is added.\"\n",
- "else :\n",
- " print \"Sice, ro>rc, the heat loss will decrease as insulation is added.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The outer critical radius of insulation is : 4.0 in .\n",
- "Since, ro<rc, the heat loss will increase as insulation is added.\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.18, Page number: 439"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "Lf = 6/12 #Length of firebrick (ft)\n",
- "kf = 0.61 #Thermal conductivity of firebrick (Btu/h.ft.\u00b0F)\n",
- "A = 480 #Surface area of wall (ft^2)\n",
- "Lw = 8/12 #Length of rock wool (ft)\n",
- "kw = 0.023 #Thermal conductivity of rock wool (Btu/h.ft.\u00b0F)\n",
- "T1 = 1900 #Temperature of insulation of firebrick (\u00b0F)\n",
- "T2 = 140 #Temperature of insulation of rock wool (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Rf = Lf/(kf*A) #Resistance of firebrick (h.\u00b0F/Btu)\n",
- "Rw = Lw/(kw*A) #Resistance of rock wool (h.\u00b0F/Btu)\n",
- "R = Rf+Rw #Total resitance (h.\u00b0F/Btu)\n",
- "Q = (T1-T2)/R #Heat loss through the wall (Btu/h)\n",
- "\n",
- "#Result:\n",
- "print \"The heat loss through the wall is :\",round(Q),\" Btu/h .\"\n",
- " "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat loss through the wall is : 28344.0 Btu/h .\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.19, Page number: 440"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "h1 = 1700 #Steam heat-transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "h2 = 2 #Air heat-transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "A = 1 #Area of base (ft^2) (assumption)\n",
- "k1 = 26 #Thermal conductivity of steel (Btu/h.ft.\u00b0F)\n",
- "k2 = 218 #Thermal conductivity of copper (Btu/h.ft.\u00b0F)\n",
- "t = 0.375 #Thickness of steel sheet (in)\n",
- "h3 = 2500 #Increased steam heat-transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "h4 = 12 #Increased air heat-transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "R1 = 1/(h1*A) #Steam resistance (h.\u00b0F/Btu)\n",
- "R2 = 1/(h2*A) #Air resistance (h.\u00b0F/Btu)\n",
- "R3 = (t/12)/(k1*A) #Steel resistance (h.\u00b0F/Btu)\n",
- "Rt1 = R1+R2+R3 #Total resistance (with steel) (h.\u00b0F/Btu)\n",
- "R4 = (t/12)/(k2*A) #Copper resistance (h.\u00b0F/Btu) (part 1)\n",
- "Rt2 = R1+R2+R4 #Total resistance (with copper) (h.\u00b0F/Btu)\n",
- "R5 = 1/(h1*A) #New steam resistance (h.\u00b0F/Btu)\n",
- "Rt3 = R5+R2+R3 #Total resistance after increasing the steam coefficient (h.\u00b0F/Btu)\n",
- "R6 = 1/(h4*A) #Air resistance (h.\u00b0F/Btu)\n",
- "Rt4 = R1+R6+R3 #Total resistance after increasing the air coefficient (h.\u00b0F/Btu)\n",
- "\n",
- "#Result:\n",
- "if (Rt1==Rt2):\n",
- " print \"1.The rate of heat transfer is essentially unaffected.\"\n",
- "else :\n",
- " print \"1. The rate of heat transfer is essentially affected.\"\n",
- "if (Rt1==Rt3):\n",
- " print \"2. The rate is again unaffected.\"\n",
- "else :\n",
- " print \"2. The rate is again affected.\"\n",
- "if (Rt1==Rt4):\n",
- " print \"3. The rate is unaffected for this case.\"\n",
- "else :\n",
- " print \"3. The rate is affected for this case.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The rate of heat transfer is essentially affected.\n",
- "2. The rate is again unaffected.\n",
- "3. The rate is affected for this case.\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 19.20, Page number: 441"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import pi, log, exp\n",
- "\n",
- "#Variable declaration:\n",
- "rfo = 12/2 #Outside radius of firebrick (ft)\n",
- "rfi = 5.167 #Inside radius of firebrick (ft)\n",
- "rso = 6.479 #Outside radius of sil-o-cel (ft)\n",
- "rsi = 6.063 #Inside radius of fsil-o-cel (ft)\n",
- "L = 30 #Length of incinerator (ft)\n",
- "kf = 0.608 #Thermal conductivity of firebrick (Btu/h.ft.\u00b0F)\n",
- "ks = 0.035 #Thermal conductivity of sil-o-cel (Btu/h.ft.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Rf= log(rfo/rfi)/(2*pi*L*kf) #Resistance of firebrick (h.ft.\u00b0F/Btu)\n",
- "Rs= log(rso/rsi)/(2*pi*L*ks) #Resistance of sil-o-cel (h.ft.\u00b0F/Btu)\n",
- "R = Rf+Rs #Total resistance (h.ft.\u00b0F/Btu)\n",
- "ro = exp(R*(2*pi*L*ks))*rso #New outside radius of sil-o-cel (ft)\n",
- "r= ro-rso #Extra thickness (ft)\n",
- "\n",
- "#Result:\n",
- "print \"The extra thickness is :\",round(r,3),\" ft.\"\n",
- "print \"Or, the extra thickness is :\",round(r*12,2),\" in.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The extra thickness is : 0.504 ft.\n",
- "Or, the extra thickness is : 6.05 in.\n"
- ]
- }
- ],
- "prompt_number": 28
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_21.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_21.ipynb
deleted file mode 100644
index 5f8510ce..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_21.ipynb
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:bd26ff767164e3be8b1fcb13ef6fd471083a3c697418421a2ed4fbad1197f805"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 21: Entropy Considerations and Analysis"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 21.1, Page number: 460"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "m = 1 #Mass flowrate (lb)\n",
- "cP = 1 #Heat capacity (Btu/lb.\u00b0F)\n",
- "#From figure 21.3:\n",
- "T1 = 300 #Temperature of hot fluid leaving exchanger (\u00b0F)\n",
- "T2 = 540 #Temperature of hot fluid entering exchanger (\u00b0F)\n",
- "T3 = 60 #Temperature of cold fluid leaving exchanger (\u00b0F)\n",
- "T4 = 300 #Temperature of cold fluid entering exchanger (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DSh = m*cP*log((T1+460)/(T2+460)) #Entropy for hot fluid (Btu/\u00b0F)\n",
- "DSc = m*cP*log((T4+460)/(T3+460)) #Entropy for cold fluid (Btu/\u00b0F)\n",
- "DSa = DSh+DSc #Entropy for one exchanger (Btu/\u00b0F)\n",
- "DSt = DSa*2 #Total entropy change (Btu/\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The entropy chage is :\",round(DSt,4),\" Btu/\u00b0F .\"\n",
- "if (DSt>0):\n",
- " print \"There is a positive entropy change.\"\n",
- "else :\n",
- " print \"There is a negative entropy change.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The entropy chage is : 0.2101 Btu/\u00b0F .\n",
- "There is a positive entropy change.\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 21.2, Page number: 461"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 21.1:\n",
- "DSh = -0.2744 #Entropy for hot fluid (Btu/\u00b0F)\n",
- "DSc = 0.3795 #Entropy for cold fluid (Btu/\u00b0F)\n",
- "m = 1 #Mass flowrate (lb)\n",
- "cP = 1 #Heat capacity (Btu/lb.\u00b0F)\n",
- "#From figure 21.4:\n",
- "DT = 0 #Temperature difference driving force (\u00b0F)\n",
- "DS_D = 0 #Entropy for D exchanger (Btu/\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DS_C = DSh+DSc #Entropy for C exchanger (Btu/\u00b0F)\n",
- "DSt = DS_C+DS_D #Total entropy change of exchangers (Btu/\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The total entropy change is :\",DSt,\" Btu/\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The total entropy change is : 0.1051 Btu/\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 21.3, Page number: 462"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "#From figure 21.5:\n",
- "m = 2 #Mass flowrate (lb)\n",
- "cP = 1 #Heat capacity (Btu/lb.\u00b0F)\n",
- "DS1 = -0.2744 #Entropy for hot fluid for E exchanger (Btu/\u00b0F)\n",
- "T1 = 180 #Temperature cold fluid entering the E exchabger (\u00b0F)\n",
- "T2 = 60 #Temperature cold fluid leaving the E exchabger (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DS2 = m*cP*log((T1+460)/(T2+460)) #Entropy for cold fluid for E exchanger (Btu/\u00b0F)\n",
- "DS_E = DS1+DS2 #Entropy for E exchanger (Btu/\u00b0F)\n",
- "DS_F = DS_E #Entropy for F exchanger (Btu/\u00b0F)\n",
- "DSt = DS_F+DS_E #Entropy change in exchangers E and F (Btu/\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The entropy change in exchangers E and F is :\",round(DSt,4),\" Btu/\u00b0F .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The entropy change in exchangers E and F is : 0.2818 Btu/\u00b0F .\n"
- ]
- }
- ],
- "prompt_number": 4
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_22.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_22.ipynb
deleted file mode 100644
index 65afae0f..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_22.ipynb
+++ /dev/null
@@ -1,544 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:02a3e83bf8e73eb737ccd32c864c102b912719b43e71a2afa02159b5cd3f3cf2"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 22: Design Principles and Industrial Applications"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 22.6, Page number: 471"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "from sympy import symbols,solve\n",
- "\n",
- "#Variable declaration:\n",
- "#From steam tables:\n",
- "h1 = 1572 #Enthalpy for super heated steam at (P = 40 atm, T = 1000\u00b0F) (Btu/lb)\n",
- "h2 = 1316 #Enthalpy for super heated steam at (P = 20 atm, T = 600\u00b0F) (Btu/lb)\n",
- "h3 = 1151 #Enthalpy for saturated steam (Btu/lb)\n",
- "h4 = 28.1 #Enthalpy for saturated water (Btu/lb)\n",
- "m1 = 1000 #Mass flowrate of steam (lb/h)\n",
- "m = symbols('m') #Mass flow rate of steam (lb/h)\n",
- "\n",
- "#Calculation:\n",
- "Dh1 = m1*(h3-h4) #The change in enthalpy for the vaporization of the water stream (Btu/h)\n",
- "Dh2 = m*(h1-h2) #The change in enthalpy for the cooling of the water stream (Btu/h)\n",
- "x = solve(Dh1-Dh2,m) #Mass flowrate of steam (lb/h)\n",
- "m2 = x[0]; #Mass flowrate of steam (lb/h)\n",
- "\n",
- "#Result:\n",
- "print \"The mass flowrate of the utility steam required is :\",round(m2),\" lb/h.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The mass flowrate of the utility steam required is : 4386.0 lb/h.\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 22.7, Page number: 473"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "#From table 22.1:\n",
- "QH1 = 12*10**6 #Heat duty for process unit 1 (Btu/h)\n",
- "QH2 = 6*10**6 #Heat duty for process unit 2 (Btu/h)\n",
- "QH3 = 23.5*10**6 #Heat duty for process unit 3 (Btu/h)\n",
- "QH4 = 17*10**6 #Heat duty for process unit 4 (Btu/h)\n",
- "QH5 = 31*10**6 #Heat duty for process unit 5 (Btu/h)\n",
- "T1 = 90 #Supply water temperature (\u00b0F)\n",
- "T2 = 115 #Return water temperature (\u00b0F)\n",
- "cP = 1 #Cooling water heat capacity (Btu/(lb.\u00b0F))\n",
- "p = 62*0.1337 #Density of water (lb/gal)\n",
- "BDR = 5/100 #Blow-down rate\n",
- "\n",
- "#Calculation:\n",
- "QHL = (QH1+QH2+QH3+QH4+QH5)/60 #Heat load (Btu/min)\n",
- "DT = T2-T1 #Change in temperature (\u00b0F)\n",
- "qCW = round(QHL,-5)/(DT*cP*p) #Required cooling water flowrate (gpm)\n",
- "qBD = BDR*qCW #Blow-down flow (gpm)\n",
- "\n",
- "#Result:\n",
- "print \"The total flowrate of cooling water required for the services is :\",round(qCW,-1),\" gpm.\"\n",
- "print \"The required blow-down flow is :\",round(qBD),\" gpm.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The total flowrate of cooling water required for the services is : 7240.0 gpm.\n",
- "The required blow-down flow is : 362.0 gpm.\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 22.8, Page number: 474"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "Q1 = 10*10**6 #Unit heat duty for process unit 1 (Btu/h)\n",
- "Q2 = 8*10**6 #Unit heat duty for process unit 2 (Btu/h)\n",
- "Q3 = 12*10**6 #Unit heat duty for process unit 3 (Btu/h)\n",
- "Q4 = 20*10**6 #Unit heat duty for process unit 4 (Btu/h)\n",
- "hv = 751 #Enthalpy of vaporization for pressure 500 psig (Btu/lb)\n",
- "\n",
- "#Calculation:\n",
- "mB1 = Q1/hv #Mass flowrate of 500 psig steam through unit 1 (lb/h)\n",
- "mB2 = Q2/hv #Mass flowrate of 500 psig steam through unit 2 (lb/h)\n",
- "mB3 = Q3/hv #Mass flowrate of 500 psig steam through unit 3 (lb/h)\n",
- "mB4 = Q4/hv #Mass flowrate of 500 psig steam through unit 4 (lb/h)\n",
- "mBT = mB1+mB2+mB3+mB4 #Total steam required (lb/h)\n",
- "\n",
- "#Result:\n",
- "print \"The total steam required is :\", round(mBT,-1),\" lb/h.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The total steam required is : 66580.0 lb/h.\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 22.9, Page number: 474"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from sympy import symbols,solve\n",
- "from math import log,pi\n",
- "\n",
- "#Variable declaration:\n",
- "po = 53*16.0185 #Density of oil (kg/m^3)\n",
- "co = 0.46*4186.7 #Heat capacity of oil (J/kg.\u00b0C)\n",
- "muo = 150/1000 #Dynamic viscosity of oil (kg/m.s)\n",
- "ko = 0.11*1.7303 #Thermal conductivity of oil (W/m.\u00b0C)\n",
- "qo = 28830*4.381*10**-8 #Volumetric flowrate of oil (m^3/s)\n",
- "pw = 964 #Density of water (kg/m^3)\n",
- "cw = 4204 #Heat capacity of water (J/kg.\u00b0C)\n",
- "muw = 0.7/3600*1.4881 #Dynamic viscosity of water (kg/m.s)\n",
- "kw = 0.678 #Thermal conductivity of water (W/m.\u00b0C)\n",
- "qw = 8406*4.381*10**-8 #Volumetric flowrate of water (m^3/s)\n",
- "t1 = 23.5 #Initial temperature of oil (\u00b0C)\n",
- "t2 = 27 #Final temperature of oil (\u00b0C)\n",
- "T1 = 93 #Water heating temperature of water (\u00b0C)\n",
- "T2 = symbols('T2') #Minimum temperature of heating water (\u00b0C)\n",
- "A = symbols('A') #Heat transfer area (m^2)\n",
- "Uc = 35.4 #Clean heat transfer coefficient (W/m^2.K)\n",
- "Rf = 0.0007 #Thermal resistance (m^2.K/W)\n",
- "D = 6*0.0254 #Inside diameter of pipe (m)\n",
- "\n",
- "#Calculation:\n",
- "vo = muo/po #Kinematic viscosity of oil (m^2/s)\n",
- "mo = po*qo #Mass flowrate of oil (kg/s)\n",
- "vw = muw/pw #Kinematic viscosity of (m^2/s)\n",
- "mw = pw*qw #Masss flow rate of water (kg/s)\n",
- "Q1 = mo*co*(t2-t1) #Duty of exchanger of oil (W)\n",
- "T2m = t1 #Lowest possible temperature of the water (\u00b0C) (part 1)\n",
- "Qmw = mw*cw*(T1-T2m) #Maximum duty of exchanger of water (W) (part 2)\n",
- "Q2 = mw*cw*(T1-T2) #Duty of exchanger of water in terms of T2 (W)\n",
- "x = solve(Q1-Q2,T2) #Solving value for T2 (\u00b0C)\n",
- "T3 = x[0]; #Minimum temperature of heating water (\u00b0C)\n",
- "DT1 = T3-t1 #Inlet temperature difference (\u00b0C)\n",
- "DT2 = T1-t2 #Outlet temperature difference (\u00b0C)\n",
- "DTlm = (DT1-DT2)/log(DT1/DT2) #Log mean temperature difference (\u00b0C)\n",
- "Ud1 = 1/Uc+Rf #Dirty heat transfer coefficient (W/m^2.K) (part 3)\n",
- "Ud2 = 34.6 #Dirty heat transfer coefficient (W/m^2.\u00b0C)\n",
- "Q3 = Ud2*A*DTlm #Duty of exchanger (W) (part 4)\n",
- "y = solve(Q1-Q3,A) #Heat transfer area (m^2)\n",
- "A1 = y[0]; #Required heat transfer area (m^2)\n",
- "L = A1/(pi*D) #Required heat transfer length (m)\n",
- "Qmo = mo*co*(T1-t1) #Maximum duty of exchanger of oil (W) (part 5)\n",
- "Qm = Qmw #Maximum duty of exchanger (W)\n",
- "E = Q1/Qm*100 #Effectiveness (%)\n",
- "NTU = Ud2*A1/(mw*cw) #Number of transfer units\n",
- "\n",
- "#Result:\n",
- "print \"1. The lowest possible temperature of the water is :\",T2m,\" \u00b0C .\"\n",
- "print \"2. The log mean temperature difference is :\",round(DTlm,2),\" \u00b0C .\"\n",
- "print \"3. The overall heat transfer coefficient for the new clean exchanger is :\",round(Ud2,1),\" (W/m^2.\u00b0C .\"\n",
- "print \"4. The length of the double pipe heat exchanger is :\",round(L,2),\" m .\"\n",
- "print \"5. The effectiveness of the exchanger is :\",round(E,2),\" % .\"\n",
- "print \" The NTU of the exchanger is :\",round(NTU,4),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The lowest possible temperature of the water is : 23.5 \u00b0C .\n",
- "2. The log mean temperature difference is : 65.33 \u00b0C .\n",
- "3. The overall heat transfer coefficient for the new clean exchanger is : 34.6 (W/m^2.\u00b0C .\n",
- "4. The length of the double pipe heat exchanger is : 6.68 m .\n",
- "5. The effectiveness of the exchanger is : 6.97 % .\n",
- " The NTU of the exchanger is : 0.0741 .\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 22.10, Page number: 477"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import log,pi\n",
- "\n",
- "#Variable declaration:\n",
- "#From example 22.9:\n",
- "t1 = 23.5 #Initial temperature of oil (\u00b0C)\n",
- "t2 = 27 #Final temperature of oil (\u00b0C)\n",
- "T1 = 93 #Water heating temperature of water (\u00b0C)\n",
- "T2 = 88.16 #Minimum temperature of heating water (\u00b0C)\n",
- "U = 34.6 #Overall heat transfer coefficient (W/m^2.\u00b0C)\n",
- "Q = 7227.2 #Duty of exchanger (W)\n",
- "D = 6*0.0254 #Inside diameter of pipe (m)\n",
- "l = 6.68 #Previous heat transfer length (m)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = T1-t1 #Inlet temperature difference (\u00b0C)\n",
- "DT2 = T2-t2 #Outlet temperature difference (\u00b0C)\n",
- "DTlm = (DT1-DT2)/log(DT1/DT2) #Log mean temperature difference (\u00b0C)\n",
- "A = Q/(U*DTlm) #Required heat transfer area (m^2)\n",
- "L = A/(pi*D) #Required heat transfer length (m)\n",
- "\n",
- "#Result:\n",
- "print \"The length of the parallel pipe heat exchanger is :\",round(L,2),\" m .\"\n",
- "if L>l:\n",
- " print \"The tube length would increase slightly.\"\n",
- "elif L<l:\n",
- " print \"The tube length would decrease slightly.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The length of the parallel pipe heat exchanger is : 6.69 m .\n",
- "The tube length would increase slightly.\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 22.12, Page number: 478"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from scipy.optimize import fsolve\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "T = 80 #Pipe surface temperature (\u00b0F)\n",
- "t1 = 10 #Inlet temperature of brine solution (\u00b0F)\n",
- "m = 1200 #mass flowrate of solution (kg/s)\n",
- "c = 0.99 #Heat capacity of brine solution (Btu/lb.\u00b0F)\n",
- "A = 2.5 #Heat transfer area (ft^2)\n",
- "U1 = 150 #Overall heat transfer coefficient at temperature approach (Btu/h.ft^2.\u00b0F)\n",
- "U2 = 140 #Overall heat transfer coefficient at inlet brine temperature (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "DT1 = T-t1 #Temperature approach at the pipe entrance (\u00b0F)\n",
- "\n",
- "def equation(DT2):\n",
- "\tQ1 = m*c*(DT1-DT2) #Energy balance to the brine solution across the full length of the pipe (Btu/h)\n",
- "\tDTlm = (DT1-DT2)*log(DT2/DT1) #Log mean temperature difference (\u00b0F)\n",
- "\tQ2 = A*(U2*DT1-U1*DT2)/log((U2*DT1)/(U1*DT2)) #Heat transfer rate (Btu/h)\n",
- "\treturn Q2-Q1\t\n",
- "t2 = round(T-fsolve(equation,1),1)\t #The temperature of the brine solution (\u00b0F)\n",
- "\n",
- "#Results:\n",
- "print 'The temperature of brine solution is: ',(t2-32)/1.8,'\u00b0C'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temperature of brine solution is: -2.0 \u00b0C\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 22.13, Page number: 479"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "m = 1200 #mass flowrate of solution (kg/s)\n",
- "c = 0.99 #Heat capacity of brine solution (Btu/lb.\u00b0F)\n",
- "DT1 = 70 #Temperature approach at the pipe entrance (\u00b0F)\n",
- "DT2 = 51.6 #Temperature difference at the pipe exit (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Q = m*c*(DT1-DT2) #Heat transfer rate (Btu/h)\n",
- "DTlm = (DT1-DT2)/log(DT1/DT2) #Log mean temperature difference (\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"1. The rate of heat transfer is :\",round(Q,-1),\" Btu/h.\"\n",
- "print \"Or, the rate of heat transfer is :\",round(Q/3.412),\" W.\"\n",
- "print \"2. The log mean temperature difference is :\",round(DTlm,1),\" \u00b0F.\"\n",
- "print \"Or, the log mean temperature difference is :\",round(DTlm/1.8,1),\" \u00b0C.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The rate of heat transfer is : 21860.0 Btu/h.\n",
- "Or, the rate of heat transfer is : 6407.0 W.\n",
- "2. The log mean temperature difference is : 60.3 \u00b0F.\n",
- "Or, the log mean temperature difference is : 33.5 \u00b0C.\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 22.23, Page number: 484"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "Too = 100 #Steam temperature (\u00b0C)\n",
- "Ti = 18 #Initial temperature of liquid TCA (\u00b0C)\n",
- "Tf = 74 #Final temperature of liquid TCA (\u00b0C)\n",
- "t = 180 #Heating time (s)\n",
- "p = 87.4 #Density of TCA (lb/ft^3)\n",
- "V = 18 #Kinematic viscosity of TCA (m^2/s)\n",
- "cp = 0.23 #Heat capacity of TCA (Btu/lb.\u00b0F)\n",
- "U = 200 #Overall heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "ui = Too-Ti #Initial excess temperature (\u00b0C)\n",
- "uf = Too-Tf #Final excess temperature (\u00b0C)\n",
- "R = log(ui/uf) #Ratio t/r\n",
- "r = t/R #Thermal time constant (s)\n",
- "A = p*V*cp/(3600*U*r) #Required heating area (ft^3)\n",
- "Ti_F = Ti*9/5+32 #Initial temperature in fahrenheit scale (\u00b0F)\n",
- "Tf_F = Tf*9/5+32 #Final temperature in fahrenheit scale (\u00b0F)\n",
- "Q = p*V*cp*(Tf_F-Ti_F) #Total amount of heat added (Btu)\n",
- "\n",
- "#Result:\n",
- "print \"1. The required surface area of the heating coil is :\",(A,1),\" ft^3 .\"\n",
- "print \"2. The total heat added to the liquid TCA is :\",round(Q),\" Btu .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The required surface area of the heating coil is : (3.2068907918330814e-06, 1) ft^3 .\n",
- "2. The total heat added to the liquid TCA is : 36473.0 Btu .\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 22.24, Page number: 486"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "m1 = 62000 #Mass flowrate of alcohol (lb/h)\n",
- "h1 = 365 #Enthalpy of vapour (Btu/lb)\n",
- "cp = 1 #Heat capacity of water (Btu/lb.\u00b0F)\n",
- "T1 = 85 #Entering temperature of water (\u00b0F)\n",
- "T2 = 120 #Exit temperature of water (\u00b0F)\n",
- "a1 = 2.11 #Flow area for the shell side (ft^2)\n",
- "N = 700 #Total number of tubes\n",
- "a2 = 0.546 #Flow area per tube (in^2/tube)\n",
- "n = 4 #Number of tube passes\n",
- "p = 62.5 #Density of water (lb/ft^3)\n",
- "L = 16 #Length of condenser (ft)\n",
- "hio = 862.4 #Cooling water inside film coefficient (Btu/h.ft^2.\u00b0F)\n",
- "g = 9.8 #Gravitational accleration (m^2/s)\n",
- "Rf = 0.003 #Fouling factor (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "Q1 = m1*h1 #Heat loss from alcohol (Btu/h)\n",
- "Q2 = Q1 #Heat gained by water (Btu/h)\n",
- "DT = T2-T1 #Temperature difference (\u00b0F)\n",
- "m2 = Q2/(cp*DT) #Water mass flow rate (lb/h)\n",
- "LMTD = ((T2-32)-(T1-32))/log((T2-32)/(T1-32)) #Log mean temperature difference (\u00b0F)\n",
- "at = (N*a2)/(144*n) #Total flow area for tube side (ft^2)\n",
- "G1 = m1/a1 #Mass velocity of flow in shell side (lb/h.ft^2)\n",
- "G2 = m2/at #Mass velocity of flow in tube side (lb/h.ft^2)\n",
- "V = G2/(3600*p) #Velocity of water (ft/s)\n",
- "G3 = m1/(L*N)**(2/3) #Loading G (lb/h.ft)\n",
- "#For alcohol:\n",
- "kf = 0.105 #Thermal conductivity (Btu/h.ft.\u00b0F)\n",
- "muf = 0.55*2.42 #Dynamic viscosity (lb/ft.h)\n",
- "sf = 0.79 #\n",
- "pf = sf*p #Density (lb/ft^3)\n",
- "h = 151*(((kf**3)*(pf**2)*g*muf)/((muf**2)*n*G3))**(1/3) #Heat transfer coefficient for the shell side (Btu/h.ft^2.\u00b0F)\n",
- "ho = h #Outside heat transfer coefficient of the tube bundle (Btu/h.ft^2.\u00b0F)\n",
- "Uc = (hio*ho)/(hio+ho) #Overall heat transfer coefficient for a new (clean) heat exchanger (Btu/h.ft^2.\u00b0F)\n",
- "A = N*L*0.2618 #Area for heat transfer (ft^2)\n",
- "Ud = Q1/(A*DT) #Design (D) overall heat transfer coefficient (Btu/h.ft^2.\u00b0F)\n",
- "Rd = (Uc-Ud)/(Uc*Ud) #Dirt (d) factor (Btu/h.ft^2.\u00b0F)\n",
- "\n",
- "#Result:\n",
- "print \"The dirt (d) factor is :\",round(Rd,4),\" Btu/h.ft^2.\u00b0F .\"\n",
- "if (Rd>Rd):\n",
- " print \"Therefore, the exchanger as specified is unsuitable for these process conditions since the fouling factor is above the recommended value. Cleaning is recommended.\"\n",
- "else:\n",
- " print \"Therefore, the exchanger as specified is suitable for these process conditions since the fouling factor is below the recommended value. Cleaning is not recommended.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The dirt (d) factor is : -0.0157 Btu/h.ft^2.\u00b0F .\n",
- "Therefore, the exchanger as specified is suitable for these process conditions since the fouling factor is below the recommended value. Cleaning is not recommended.\n"
- ]
- }
- ],
- "prompt_number": 27
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_23.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_23.ipynb
deleted file mode 100644
index 02544a8f..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_23.ipynb
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:ea99fc2be6052cbd9b5accb00ac50cd0a25a5282b964ce8d492c2c528e36d584"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 23: Environmental Management"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 23.6, Page number: 498"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "Q = 20000 #Fuel input (Btu)\n",
- "e = 1 #Energy produced (kW.h)\n",
- "Btu = 3412 #Units Btu in 1 kW.h\n",
- "\n",
- "#Calulation:\n",
- "ER = Q/Btu #Energy requirement in 1990 (kW.h)\n",
- "E = e/ER*100 #Efficiency of energy conversion (%)\n",
- "\n",
- "#Result:\n",
- "print \"The efficiency of energy conversion is :\",round(E,1),\" % .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The efficiency of energy conversion is : 17.1 % .\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 23.7, Page number: 499"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "ADL1 = 2 #Average daily load (MW)\n",
- "R = 25/100 #Reduction in electrical load (%)\n",
- "\n",
- "#Calculation:\n",
- "L = 1-R #New load fraction\n",
- "ADL2 = ADL1*L #New average daily load (MW)\n",
- "AR = ADL1-ADL2 #Average reduction in electrical load (MW)\n",
- "\n",
- "#Result:\n",
- "print \"The new Average daily load for the plant is :\",ADL2,\" MW.\"\n",
- "print \"The average reduction in electrical load is :\",AR,\" MW.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The new Average daily load for the plant is : 1.5 MW.\n",
- "The average reduction in electrical load is : 0.5 MW.\n"
- ]
- }
- ],
- "prompt_number": 7
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_24.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_24.ipynb
deleted file mode 100644
index fb821b6b..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_24.ipynb
+++ /dev/null
@@ -1,387 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:20841f2d078ed8f6b672e93204c42bfe5b2cecc320cf09e962fc7cfcf63372c5"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 24: Accident and Emergency Management"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 24.4, Page number: 514"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "fm = 30/100 #Mole fraction of methane\n",
- "fe = 50/100 #Mole fraction of ethane\n",
- "fp = 20/100 #Mole fraction of pentane\n",
- "LFLm = 0.046 #Lower flammability limit for methane\n",
- "LFLe = 0.035 #Lower flammability limit for ethane\n",
- "LFLp = 0.014 #Lower flammability limit for propane\n",
- "UFLm = 0.142 #Upper flammability limit for methane\n",
- "UFLe = 0.151 #Upper flammability limit for ethane\n",
- "UFLp = 0.078 #Upper flammability limit for propane\n",
- "\n",
- "#Calculation:\n",
- "LFLmix = 1/((fm/LFLm)+(fe/LFLe)+(fp/LFLp)) #Lower flammability limit of gas mixture\n",
- "UFLmix = 1/((fm/UFLm)+(fe/UFLe)+(fp/UFLp)) #Upper flammability limit of gas mixture\n",
- "\n",
- "#Result:\n",
- "print \"The upper flammability limit (UFL) of the gas mixture is :\",round(UFLmix*100,2),\" % .\"\n",
- "print \"The lower flammability limit (LFL) of the gas mixture is :\",round(LFLmix*100,2),\" % .\"\n",
- "print \"There is a printing mistake in book.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The upper flammability limit (UFL) of the gas mixture is : 12.52 % .\n",
- "The lower flammability limit (LFL) of the gas mixture is : 2.85 % .\n",
- "There is a printing mistake in book.\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 24.5, Page number: 514"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from sympy import nsimplify as changeToFraction\n",
- "\n",
- "#Variable declaration:\n",
- "P_A = 10/100 #Probability that the first tube is defective if the first is replaced\n",
- "P_B = 10/100 #Probability that the second tube is defective if the first is replaced\n",
- "\n",
- "#Calculation:\n",
- "P_AB = P_A*P_B #Probability that the two tubes are defective if the first is replaced\n",
- "P_B_A = 9/99 #Probability that the second tube is defective if the first tube is not replaced\n",
- "Pd_AB = P_A*P_B_A #Probability that both tubes are defective if the first tube is not replaced\n",
- "\n",
- "#Result:\n",
- "print \"The probability that both tubes are defective if :\"\n",
- "print \"(a) the first is replaced before the second is drawn is :\",changeToFraction(P_AB),\" .\"\n",
- "print \"(b) the first is not replaced before the second is drawn is :\",changeToFraction(Pd_AB),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The probability that both tubes are defective if :\n",
- "(a) the first is replaced before the second is drawn is : 1/100 .\n",
- "(b) the first is not replaced before the second is drawn is : 1/110 .\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 24.6, Page number: 515"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from sympy import symbols, integrate, exp\n",
- "\n",
- "#Variable declaration:\n",
- "X = symbols('X') #Range of X\n",
- "Px = 1.7*(exp(-1.7*X)) #Probability distribution function\n",
- "\n",
- "#Calculation:\n",
- "P = integrate(Px, (X,2,6)) #Probability that X will have a value between 2 and 6\n",
- "\n",
- "#Result:\n",
- "print \"The probability that X will have a value between 2 and 6 is :\",round(P,4),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The probability that X will have a value between 2 and 6 is : 0.0333 .\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 24.7, Page number: 517"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import factorial\n",
- "\n",
- "#Variable Declaration:\n",
- "n = 20 #Total number of components\n",
- "p = 0.1 #Probability of success\n",
- "\n",
- "#Calculations:\n",
- "def binomial(n,p,x):\n",
- " P=0\n",
- " for x in range(0,x,1):\n",
- " P = P + p**x*(1-p)**(n-x)*factorial(n)/(factorial(x)*factorial(n-x))\n",
- " return P\n",
- "\n",
- "#Results:\n",
- "print \"Probability that the sprinkler system fails :\",round((1-binomial(n,p,4))*100,2),\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probability that the sprinkler system fails : 13.3 %\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 24.8, Page number: 518"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from sympy import symbols, integrate, exp\n",
- "\n",
- "#Variable declaration:\n",
- "a = 1.3*10**-3 #Constant a\n",
- "B = 0.77 #Constant B\n",
- "t = symbols('t') #Time (h)\n",
- "Ft = a*B*t**(B-1)*(exp(-a*t**B)) #Pdf for heat exchanger tube\n",
- "Pt = integrate(Ft, (t,0,1000)) #Probability that a heat exchanger will fail within 100 hours\n",
- "\n",
- "#Result:\n",
- "print \"The probability that a tube in a heat exchanger will fail in 1000 hours is :\",round(Pt,2),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The probability that a tube in a heat exchanger will fail in 1000 hours is : 0.23 .\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 24.9, Page number: 519"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from scipy.stats import norm as f\n",
- "\n",
- "#Variable declaration:\n",
- "m = 0.4008 #Mean(inch)\n",
- "s = 0.0004 #Standard Deviation(inch)\n",
- "UL = 0.4000+0.001 #Upper Limit\n",
- "LL = 0.4000-0.001 #Upper Limit\n",
- "\n",
- "#Calculation:\n",
- "Ps = f.cdf(UL,m,s)-f.cdf(LL,m,s)#Probability of meeting specs\n",
- "Pd = 1-Ps #Probability of defect\n",
- "\n",
- "#Results:\n",
- "print 'Probability of meeting specifications:',round(Ps*100,2),'%'\n",
- "print 'Probability of Defect:',round(Pd*100,2),'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probability of meeting specifications: 69.15 %\n",
- "Probability of Defect: 30.85 %\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 24.10, Page number: 522"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from numpy import array,minimum\n",
- "from math import sqrt\n",
- "\n",
- "#variable Declaration:\n",
- "mTa = array([100]*10) #Mean weeks for thermometer failure(A)\n",
- "mTb = array([90]*10) #Mean weeks for thermometer failure(B)\n",
- "mTc = array([80]*10) #Mean weeks for thermometer failure(C)\n",
- "sTa = 30 #Standard deviation (weeks) for thermometer failure(A)\n",
- "sTb = 20 #Standard deviation (weeks) for thermometer failure(B)\n",
- "sTc = 10 #Standard deviation (weeks) for thermometer failure(C)\n",
- "Ra = array([0.52,0.80,0.45,0.68,0.59,0.01,0.50,0.29,0.34,0.46]) #Random No corrosponding to A\n",
- "Rb = array([0.77,0.54,0.96,0.02,0.73,0.67,0.31,0.34,0.00,0.48]) #Random No corrosponding to B\n",
- "Rc = array([0.14,0.39,0.06,0.86,0.87,0.90,0.28,0.51,0.56,0.82]) #Random No corrosponding to B\n",
- "Za = array([0.05,0.84,-0.13,0.47,0.23,-2.33,0.00,-0.55,-0.41,-0.10]) #Normal variable corrosponding to random No for A\n",
- "Zb = array([0.74,0.10,1.75,-2.05,0.61,0.44,-0.50,-0.41,-3.90,-0.05]) #Normal variable corrosponding to random No for B\n",
- "Zc = array([-1.08,-0.28,-1.56,1.08,1.13,1.28,-0.58,0.03,0.15,0.92]) #Normal variable corrosponding to random No for C\n",
- "\n",
- "#Calculations:\n",
- "Ta = mTa+sTa*Za\n",
- "Tb = mTb+sTb*Zb\n",
- "Tc = mTc+sTc*Zc\n",
- "Ts = minimum(Ta,Tb)\n",
- "Ts = minimum(Ts,Tc)\n",
- "m = array([sum(Ts)/len(Ts)]*10)\n",
- "s = sqrt(sum((Ts-m)**2)/(len(Ts)-1))\n",
- "\n",
- "#Results:\n",
- "print 'Standard deviation :',round(s,1),\" Weeks\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Standard deviation : 25.9 Weeks\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 24.15, Page number: 531"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "t = 273 #Standard temperature (K)\n",
- "v = 0.0224 #Volume of air occupied by 1 gmol of ideal gas (m^3)\n",
- "V = 1100 #Volume of heat exchanger (m^3)\n",
- "T = 22+273 #Temperature of heat exchanger (K)\n",
- "x1 = 0.75 #gmols of hydrocarbon leaking from the exchanger (gmol)\n",
- "\n",
- "#Calculation:\n",
- "n = V*(1/v)*(t/T) #Total number of gmols of air in the room (gmol)\n",
- "xHC = (x1/(n+x1))*10**6 #The mole fraction of hydrocarbon in the room (ppm)\n",
- "\n",
- "#Result:\n",
- "print \"1. The mole fraction of hydrocarbon in the room is :\",round(xHC*1000,-1),\" ppb .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The mole fraction of hydrocarbon in the room is : 16500.0 ppb .\n"
- ]
- }
- ],
- "prompt_number": 3
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_26.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_26.ipynb
deleted file mode 100644
index 64b80ece..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_26.ipynb
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:4c0513ab1606f42cc2658f4efc57e03793ddba6911c2c7915b3159fc7138c6b8"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 26: Numerical Methods"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 26.8, Page number: 558"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "from sympy import symbols,solve,log\n",
- "from math import exp\n",
- "\n",
- "#Variable Declaration:\n",
- "A,B,r,C = symbols('A B r C');\n",
- "\n",
- "#Calculation:\n",
- "res = solve([A + B*log(2)-log(3),A + B*log(4)-log(12)],[A,B])\n",
- "A = round(float(res[A]),4)\n",
- "B = round(float(res[B]))\n",
- "kA = round(exp(A),2)\n",
- "a = B\n",
- "\n",
- "#Result:\n",
- "print 'The equation for rate of reaction is: ',-r,'=',kA*C**a "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The equation for rate of reaction is: -r = 0.75*C**2.0\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 26.9, Page number: 559"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import scipy.stats as f\n",
- "\n",
- "#Variable Declaration:\n",
- "T = [-40,-20,0,10,12,30,40,50,60,80,100,150,200,250,300,400,500]\n",
- "u = [1.51,1.61,1.71,1.76,1.81,1.86,1.90,1.95,2.00,2.09,2.17,2.38,2.57,2.75,2.93,3.25,3.55]\n",
- "\n",
- "#Calculations:\n",
- "B,A,r_value, p_value, std_err = f.linregress(T,u)\n",
- "\n",
- "#Results:\n",
- "print 'The value of A in regression model is:',round(A,4)\n",
- "print 'The value of B in regression model is:',round(B,4)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The value of A in regression model is: 1.7484\n",
- "The value of B in regression model is: 0.0038\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 26.11, Page number: 561"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "from scipy.optimize import fmin_cobyla as optimize\n",
- "\n",
- "\n",
- "#Variable Declaration:\n",
- "def f(x):\t\n",
- " return -2.0*x[0] - 1.6*x[1]\n",
- "\n",
- "def c1(x):\n",
- " return 16820 - x[0]\n",
- "\n",
- "def c2(x):\n",
- " return 1152 - x[1]\n",
- "\n",
- "def c3(x):\n",
- " return 1500 - 0.08*x[0] - 0.11*x[1]\n",
- "\n",
- "def c4(x):\n",
- " return 6000 - 0.29*x[0] - 0.54*x[1]\n",
- "\n",
- "def c5(x):\n",
- " return 11000 - 0.63*x[0] - 0.35*x[1]\n",
- "\n",
- "def c6(x):\n",
- " return x[0]\n",
- "\n",
- "def c7(x):\n",
- " return x[1]\n",
- "\n",
- "#Calculation\n",
- "X = optimize(f,[16820,1152],[c1,c2,c3,c4,c5,c6], disp = 0)\n",
- "\n",
- "#Result:\n",
- "print \"Maximum Profit is $\",round(-f(X)), \"/day or $\", -365*f(X), \"/year\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum Profit is $ 35483.0 /day or $ 12951368.0 /year\n"
- ]
- }
- ],
- "prompt_number": 7
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_27.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_27.ipynb
deleted file mode 100644
index c5e5dea1..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_27.ipynb
+++ /dev/null
@@ -1,544 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:9cb92879a3edfd07367a11876840b47bf3060ee079039238aa0305841473df9a"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 27: Economics and Finance"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 27.5, Page number: 575"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#Variable declaration:\n",
- "i = 0.03375 #Rate of interest (%)\n",
- "n = 9 #Years to the end of life (yr)\n",
- "P = 60000 #Cost of exchanger ($)\n",
- "L = 500 #Salvage value ($)\n",
- "x = 5 #Time after 5 years (yr)\n",
- "\n",
- "#Calculation:\n",
- "SFDF = i/((1+i)**n-1) #Sinking fund depreciation factor\n",
- "UAP = (P-L)*SFDF #Uniform annual payment ($)\n",
- "B = P-((P-L)/n)*x #Appraisal value after 5 years ($)\n",
- "\n",
- "#Result:\n",
- "print \"1. The uniform annual payment made into the fund at the of the year is : $\",round(UAP),\" .\"\n",
- "print \"2. The appraisal value of the exchanger at the end of the fifth year is : $\",round(B),\" .\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The uniform annual payment made into the fund at the of the year is : $ 5768.0 .\n",
- "2. The appraisal value of the exchanger at the end of the fifth year is : $ 26945.0 .\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 27.6, Page number: 576"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "C = 150000 #Capital cost ($)\n",
- "i = 7/100 #Interest rate\n",
- "n = 5 #Time (yr)\n",
- "OC = 15000 #Operating cost ($)\n",
- "A = 75000 #Annual cost for the old process ($)\n",
- "\n",
- "#Calculation:\n",
- "CRF = (i*(1+i)**n)/((1+i)**n-1) #Capital recovery factor\n",
- "IC = CRF*C #Initial cost ($)\n",
- "AC = IC+OC #Total annualized cost ($)\n",
- "\n",
- "#Result:\n",
- "print \"The annualized cost for the new heating system is : $\",round(AC),\" .\"\n",
- "if (AC<A):\n",
- " print \"Since this cost is lower than the annual cost of $75,000 for the old process, the proposed plan should be implemented.\"\n",
- "else :\n",
- " print \"Since this cost is higher than the annual cost of $75,000 for the old process, the proposed plan should not be implemented.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The annualized cost for the new heating system is : $ 51584.0 .\n",
- "Since this cost is lower than the annual cost of $75,000 for the old process, the proposed plan should be implemented.\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 27.7, Page number: 577"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "\n",
- "#Variable declaration:\n",
- "i = 12/100 #Intersest rate\n",
- "n = 12 #Lifetime period (yr)\n",
- "CC = 2625000 #Capital cost ($)\n",
- "IC = 1575000 #Installation cost ($)\n",
- "#From table 27.3:\n",
- "Ic1 = 2000000 #Income credit for double pipe ($/yr)\n",
- "Ic2 = 2500000 #Income credit for Shell-and-tube ($/yr)\n",
- "AC1 = 1728000 #Total annual cost for double pipe ($/yr)\n",
- "AC2 = 2080000 #Total annual cost for Shell-and-tube ($/yr)\n",
- "\n",
- "#Calculation:\n",
- "CRF = i/(1-(1+i)**-n) #Capital recovery factor\n",
- "DPc = (CC+IC)*CRF #Annual capital and installation costs for the DP unit ($/yr)\n",
- "STc = (CC+IC)*CRF #Annual capital and installation costs for the ST unit ($/yr)\n",
- "DPp = Ic1-AC1 #Profit for the DP unit ($/yr)\n",
- "STp = Ic2-AC2 #Profit for the ST unit ($/yr)\n",
- "\n",
- "#Result:\n",
- "print \"The profit for the shell-and-tube unit is : $\",round(DPp),\"/yr .\"\n",
- "print \"The profit for the double pipe unit is : $\",round(STp),\"/yr .\"\n",
- "if (STp>DPp):\n",
- " print \"A shell-and-tube heat exchanger should therefore be selected based on the above economic analysis.\"\n",
- "else :\n",
- " print \"A double pipe heat exchanger should therefore be selected based on the above economic analysis.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The profit for the shell-and-tube unit is : $ 272000.0 /yr .\n",
- "The profit for the double pipe unit is : $ 420000.0 /yr .\n",
- "A shell-and-tube heat exchanger should therefore be selected based on the above economic analysis.\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 27.8, Page number: 579"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from math import log\n",
- "\n",
- "#Variable declaration:\n",
- "m = 50000 #Mass flowrate of the organic fluid (lb/h)\n",
- "cP = 0.6 #The heat capacity of the organic liquid (Btu/lb.\u00b0F)\n",
- "T1 = 150 #Initial temperature of organic fluid (\u00b0F)\n",
- "T2 = 330 #Final temperature of organic fluid (\u00b0F)\n",
- "Ts1 = 358 #Saturation temperature for 150 psia (\u00b0F)\n",
- "Ts2 = 417 #Saturation temperature for 300 psia (\u00b0F)\n",
- "L1 = 863.6 #Latent heat for 150 psia (Btu/lb)\n",
- "L2 = 809 #Latent heat for 300 psia (Btu/lb)\n",
- "c1 = 5.20/1000 #Cost for 150 psia ($/lb)\n",
- "c2 = 5.75/1000 #Cost for 300 psia ($/lb)\n",
- "CI1 = 230 #Cost index in 1998 \n",
- "CI2 = 360 #Cost index in 2011\n",
- "IF = 3.29 #Installation factor\n",
- "PF1 = 1.15 #Pressure factors for 100 to 200 psig\n",
- "PF2 = 1.20 #Pressure factors for 200 to 300 psig\n",
- "OP = 90/100 #Plant on-stream operation factor\n",
- "h = 365*24 #Hours in a year (h)\n",
- "\n",
- "#Calculation:\n",
- "Q = m*cP*(T2-T1) #Overall heta duty (Btu/h)\n",
- "DT1 = Ts1-T1 #Temperature driving force 1 for 150 psia (\u00b0F)\n",
- "DT2 = Ts1-T2 #Temperature driving force 2 for 150 psia (\u00b0F)\n",
- "LMTD1 = (DT1-DT2)/log(DT1/DT2) #Log-mean temperature difference for 150 psia (\u00b0F)\n",
- "DT3 = Ts2-T1 #Temperature driving force 1 for 300 psia (\u00b0F)\n",
- "DT4 = Ts2-T2 #Temperature driving force 2 for 300 psia (\u00b0F)\n",
- "LMTD2 = (DT3-DT4)/log(DT3/DT4) #Log-mean temperature difference for 1300 psia (\u00b0F)\n",
- "A1 = Q/(138*LMTD1) #Required heat transfer area for 150 psia (ft^2)\n",
- "A2 = Q/(138*LMTD2) #Required heat transfer area for 300 psia (ft^2)\n",
- "BC1 = 117*A1**0.65 #Base cost for 150 psia ($)\n",
- "BC2 = 117*A2**0.65 #Base cost for 13000 psia ($)\n",
- "C1 = BC1*(CI2/CI1)*IF*PF1 #Capital cost for 150 psia ($)\n",
- "C2 = BC2*(CI2/CI1)*IF*PF2 #Capital cost for 300 psia ($)\n",
- "S1 = Q*(h*OP)/L1 #Steam requirement for 150 psia (lb/yr)\n",
- "S2 = Q*(h*OP)/L2 #Steam requirement for 300 psia (lb/yr)\n",
- "SC1 = S1*c1 #Annual steam cost for 150 psia ($/yr)\n",
- "SC2 = S2*c2 #Annual steam cost for 300 psia ($/yr)\n",
- "\n",
- "#Result:\n",
- "print \"1. The capital cost for 150 psia is : $\",round(C1,-3),\" .\"\n",
- "print \" The capital cost for 300 psia is : $\",round(C2,-3),\" .\"\n",
- "print \"2. The annual steam cost for 150 psia is : $\",round(SC1,-3),\"/yr .\"\n",
- "print \" The annual steam cost for 300 psia is : $\",round(SC2,-3),\"/yr .\"\n",
- "if (C1<C2 and SC1>SC2):\n",
- " print \"The 300-psia exchanger costs less to purchase and install, but it costs more to operate. Choosing the more expensive, 150-psia exchanger is the obvious choice.\"\n",
- "elif (C1>C2 and SC1<SC2):\n",
- " print \"The 150-psia exchanger costs less to purchase and install, but it costs more to operate. Choosing the more expensive, 300-psia exchanger is the obvious choice.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "1. The capital cost for 150 psia is : $ 36000.0 .\n",
- " The capital cost for 300 psia is : $ 26000.0 .\n",
- "2. The annual steam cost for 150 psia is : $ 256000.0 /yr .\n",
- " The annual steam cost for 300 psia is : $ 303000.0 /yr .\n",
- "The 150-psia exchanger costs less to purchase and install, but it costs more to operate. Choosing the more expensive, 300-psia exchanger is the obvious choice.\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 27.9, Page number: 581"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from sympy import symbols,solve\n",
- "from scipy.optimize import fsolve\n",
- "\n",
- "#Variable declaration:\n",
- "TCC_TB = 2500000 #Total capital cost ($)\n",
- "R_TB = 3600000 #R_TBevenue generated from the facility ($)\n",
- "AOC_TB = 1200000 #Annual operating costs ($)\n",
- "TCC_FB = 3500000 #Total capital cost ($)\n",
- "R_FB = 5300000 #R_TBevenue generated from the facility ($)\n",
- "AOC_FB = 1400000 #Annual operating costs ($)\n",
- "n = 10 \t#Time of facility (yr)\n",
- "\n",
- "#Calculation:\n",
- "D = 0.1*TCC_TB #Depriciation ($)\n",
- "WC = 0.1*TCC_TB #Working capital ($)\n",
- "TI = R_TB-AOC_TB-D #Taxable income ($)\n",
- "IT = 0.5*TI #Income tax to be paid ($)\n",
- "A = R_TB-AOC_TB-IT #After-tax cash flow ($)\n",
- "def eqTB(i):\n",
- "\tx = (((1+i)**n-1)/(i*(1+i)**n))*A + (1/(1+i)**n)*WC #Equation for computing rate of return for TB unit\n",
- "\ty = WC + 0.5*TCC_TB + 0.5*TCC_TB*(1+i)**1 #Equation for computing rate of return for TB unit\n",
- "\treturn x-y\n",
- "iTB = round(fsolve(eqTB,0.8)*100,1) #Rate of return for TB unit (%)\n",
- "\n",
- "D = 0.1*TCC_FB #Depriciation ($)\n",
- "WC = 0.1*TCC_FB #Working capital ($)\n",
- "TI = R_FB-AOC_FB-D #Taxable income ($)\n",
- "IT = 0.5*TI #Income tax to be paid ($)\n",
- "A = R_FB-AOC_FB-IT #After-tax cash flow ($)\n",
- "\n",
- "def eqFB(i):\n",
- "\tx = (((1+i)**n-1)/(i*(1+i)**n))*A + (1/(1+i)**n)*WC #Equation for computing rate of return for FB unit\n",
- "\ty = WC + 0.5*TCC_FB + 0.5*TCC_FB*(1+i)**1 #Equation for computing rate of return for FB unit\n",
- "\treturn x-y\n",
- "iFB = round(fsolve(eqFB,0.8)*100,1) #Rate of return for FB unit (%)\n",
- "\n",
- "#Results:\n",
- "print \"The rate of return for TB unit is:\",round(iTB),\" %.\"\n",
- "print \"The rate of return for FB unit is:\",round(iFB,1),\" %.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The rate of return for TB unit is: 40.0 %.\n",
- "The rate of return for FB unit is: 44.8 %.\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 27.10, Page number: 582"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable declaration:\n",
- "f = 100000 #Flow rate of flue gas (acfm)\n",
- "i = 0.1 #Interest rate\n",
- "#From table 27.4:\n",
- "#For finned preheater:\n",
- "ac1 = 3.1 #Equipment cost ($/acfm)\n",
- "ac2 = 0.8 #Installation cost ($/acfm)\n",
- "ac3 = 0.06 #Operating cost ($/acfm-yr)\n",
- "ac4 = 14000 #Maintenance cost ($/yr)\n",
- "an = 20 #Lifetime (yr)\n",
- "#For 4-pass preheater:\n",
- "bc1 = 1.9 #Equipment cost ($/acfm)\n",
- "bc2 = 1.4 #Installation cost ($/acfm)\n",
- "bc3 = 0.06 #Operating cost for ($/acfm-yr)\n",
- "bc4 = 28000 #Maintenance cost ($/yr)\n",
- "bn = 15 #Lifetime of (yr)\n",
- "#For 2-pass preheater:\n",
- "cc1 = 2.5 #Equipment cost ($/acfm)\n",
- "cc2 = 1.0 #Installation cost ($/acfm)\n",
- "cc3 = 0.095 #Operating cost for ($/acfm-yr)\n",
- "cc4 = 9500 #Maintenance cost for ($/yr)\n",
- "cn = 20 #Lifetime of (yr)\n",
- "\n",
- "#Calculation:\n",
- "#For Finned preheater:\n",
- "aEC = f*ac1 #Total equipment cost ($)\n",
- "aIC = f*ac2 #Total installation cost ($)\n",
- "aOC = f*ac3 #Total operating cost ($)\n",
- "aMC = f*ac4 #Total maintenance cost ($)\n",
- "aCRF = (i*(1+i)**an)/((1+i)**an-1) #Capital recovery factor\n",
- "aAEC = aEC*aCRF #Equipment annual cost ($/yr)\n",
- "aAIC = aIC*aCRF #Installation annual cost($/yr)\n",
- "aAOC = ac3*f #Annual operating cost ($)\n",
- "aAMC = ac4 #Annual maintenance cost ($)\n",
- "aTAC = aAEC+aAIC+aAOC+aAMC #Total annual cost ($)\n",
- "\n",
- "#For 4-pass preheater:\n",
- "bEC = f*bc1 #Total equipment cost ($)\n",
- "bIC = f*bc2 #Total installation cost ($)\n",
- "bOC = f*bc3 #Total operating cost ($)\n",
- "bMC = f*bc4 #Total maintenance cost ($)\n",
- "bCRF = (i*(1+i)**bn)/((1+i)**bn-1) #Capital recovery factor\n",
- "bAEC = bEC*bCRF #Equipment annual cost ($/yr)\n",
- "bAIC = bIC*bCRF #Installation annual cost($/yr)\n",
- "bAOC = bc3*f #Annual operating cost ($)\n",
- "bAMC = bc4 #Annual maintenance cost ($)\n",
- "bTAC = bAEC+bAIC+bAOC+bAMC #Total annual cost ($)\n",
- "#For 2-pass preheater:\n",
- "cEC = f*cc1 #Total equipment cost ($)\n",
- "cIC = f*cc2 #Total installation cost ($)\n",
- "cOC = f*cc3 #Total operating cost ($)\n",
- "cMC = f*cc4 #Total maintenance cost ($)\n",
- "cCRF = (i*(1+i)**cn)/((1+i)**cn-1) #Capital recovery factor\n",
- "cAEC = cEC*cCRF #Equipment annual cost ($/yr)\n",
- "cAIC = cIC*cCRF #Installation annual cost($/yr)\n",
- "cAOC = cc3*f #Annual operating cost ($)\n",
- "cAMC = cc4 #Annual maintenance cost ($)\n",
- "cTAC = cAEC+cAIC+cAOC+cAMC #Total annual cost ($)\n",
- "\n",
- "#Result:\n",
- "print \"Total annual cost for finned preheater is : $\",round(aTAC),\" .\"\n",
- "print \"Total annual cost for 4-pass preheater is : $\",round(bTAC),\" .\"\n",
- "print \"Total annual cost for 2-pass preheater is : $\",round(cTAC),\" .\"\n",
- "if (cTAC<aTAC and cTAC<bTAC):\n",
- " print \"According to the analysis, the 2-pass exchanger is the most economically attractive device since the annual cost is the lowest.\"\n",
- "elif (bTAC<aTAC and bTAC<cTAC):\n",
- " print \"According to the analysis, the 4-pass exchanger is the most economically attractive device since the annual cost is the lowest.\"\n",
- "elif (aTAC<cTAC and aTAC<bTAC):\n",
- " print \"According to the analysis, the finned exchanger is the most economically attractive device since the annual cost is the lowest.\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total annual cost for finned preheater is : $ 65809.0 .\n",
- "Total annual cost for 4-pass preheater is : $ 77386.0 .\n",
- "Total annual cost for 2-pass preheater is : $ 60111.0 .\n",
- "According to the analysis, the 2-pass exchanger is the most economically attractive device since the annual cost is the lowest.\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 27.12, Page number: 584"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from __future__ import division\n",
- "from numpy import roots\n",
- "from math import sqrt\n",
- "\n",
- "#Variable declaration:\n",
- "TH = 500 #Hot stream temperature at exchanger 1 (\u00b0F)\n",
- "tc = 100 #Cold stream temperature at exchanger 2 (\u00b0F)\n",
- "A = 10 #Constant A\n",
- "B1 = 100000 #Constant B1\n",
- "B2 = 4000 #Constant B2\n",
- "B3 = 400000 #Constant B3\n",
- "\n",
- "#Calculations:\n",
- "#It forms equation fo form t^2 - t(Th-tc) +tcTH +B/A\n",
- "t1 = roots([1, -(TH+tc),(tc*TH + B1/A) ]); #Roots\n",
- "tmax1 = TH - sqrt(B1/A) #Upon maximising profit\n",
- "t2 = roots([1, -(TH+tc),(tc*TH + B2/A) ]); #Roots\n",
- "tmax2 = TH - sqrt(B2/A) #Upon maximising profit\n",
- "t3 = roots([1, -(TH+tc),(tc*TH + B3/A) ]); #Roots\n",
- "tmax3 = TH - sqrt(B3/A) #Upon maximising profit\n",
- "\n",
- "#Results:\n",
- "print 'tBE for case 1: ',round(t1[0]),'\u00b0F',round(t1[1]),'\u00b0F'\n",
- "print 'tmax1:', round(tmax1),'\u00b0F'\n",
- "print 'tBE for case 2: ',round(t2[0]),'\u00b0F',round(t2[1]),'\u00b0F'\n",
- "print 'tmax1:', round(tmax2),'\u00b0F'\n",
- "print 'tBE for case 1: ',round(t3[0]),'\u00b0F',round(t3[1]),'\u00b0F'\n",
- "print 'tmax1:', round(tmax3),'\u00b0F'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "tBE for case 1: 473.0 \u00b0F 127.0 \u00b0F\n",
- "tmax1: 400.0 \u00b0F\n",
- "tBE for case 2: 499.0 \u00b0F 101.0 \u00b0F\n",
- "tmax1: 480.0 \u00b0F\n",
- "tBE for case 1: 300.0 \u00b0F 300.0 \u00b0F\n",
- "tmax1: 300.0 \u00b0F\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 27.15, Page number: 588"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "from __future__ import division\n",
- "from scipy.optimize import fmin_cobyla as optimize\n",
- "\n",
- "#Key:\n",
- "#f(x) : Objective Function\n",
- "#ci(x)'s : Constraints\n",
- "\n",
- "#Variable Declaration:\n",
- "def f(x):\t\n",
- " return -1.70*x[0] - 2*x[1]\n",
- "\n",
- "def c1(x):\n",
- " return 8000 - x[0]\n",
- "\n",
- "def c2(x):\n",
- " return 6000 - x[1]\n",
- "\n",
- "def c3(x):\n",
- " return 12000 - 0.75*x[0] - 0.40*x[1]\n",
- "\n",
- "def c4(x):\n",
- " return 6000 - 0.60*x[0] - 0.25*x[1]\n",
- "\n",
- "def c5(x):\n",
- " return x[0]\n",
- "\n",
- "def c6(x):\n",
- " return x[1]\n",
- "\n",
- "#Calculation\n",
- "X = optimize(f,[7000,6000],[c1,c2,c3,c4,c5,c6], disp = 0)\n",
- "\n",
- "#Result:\n",
- "print \"Maximum Profit is $\",-f(X), \"/day or $\", -365*f(X), \"/year\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum Profit is $ 24750.0 /day or $ 9033750.0 /year\n"
- ]
- }
- ],
- "prompt_number": 4
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_28.ipynb b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_28.ipynb
deleted file mode 100644
index 9031d510..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/Chapter_28.ipynb
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:14824d48a431915b3dac3068270b7ce0d86b9e98bf4622dc413ebf717903e290"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "Chapter 28: Open-Ended Problems"
- ]
- },
- {
- "cell_type": "heading",
- "level": 3,
- "metadata": {},
- "source": [
- "ILLUSTRATIVE EXAMPLE 28.11, Page number: 600"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "hm1 = 50000 #Mass flowrate (lb/h)\n",
- "hcP1 = 0.65 #Heat capacity (Btu/lb.\u00b0F)\n",
- "hTi1 = 70 #Inlet temperature (\u00b0F)\n",
- "hTo1 = 300 #Outlet temperature (\u00b0F)\n",
- "#For stream 2 to be heated:\n",
- "hm2 = 60000 #Mass flowrate (lb/h)\n",
- "hcP2 = 0.58 #Heat capacity (Btu/lb.\u00b0F)\n",
- "hTi2 = 120 #Inlet temperature (\u00b0F)\n",
- "hTo2 = 310 #Outlet temperature (\u00b0F)\n",
- "#For stream 3 to be heated:\n",
- "hm3 = 80000 #Mass flowrate (lb/h)\n",
- "hcP3 = 0.78 #Heat capacity (Btu/lb.\u00b0F)\n",
- "hTi3 = 90 #Inlet temperature (\u00b0F)\n",
- "hTo3 = 250 #Outlet temperature (\u00b0F)\n",
- "#From table 28.4:\n",
- "#For stream 1 to be cooled:\n",
- "cm1 = 60000 #Mass flowrate (lb/h)\n",
- "ccP1 = 0.70 #Heat capacity (Btu/lb.\u00b0F)\n",
- "cTi1 = 420 #Inlet temperature (\u00b0F)\n",
- "cTo1 = 120 #Outlet temperature (\u00b0F)\n",
- "#For stream 2 to be cooled:\n",
- "cm2 = 40000 #Mass flowrate (lb/h)\n",
- "ccP2 = 0.52 #Heat capacity (Btu/lb.\u00b0F)\n",
- "cTi2 = 300 #Inlet temperature (\u00b0F)\n",
- "cTo2 = 100 #Outlet temperature (\u00b0F)\n",
- "#For stream 3 to be cooled:\n",
- "cm3 = 35000 #Mass flowrate (lb/h)\n",
- "ccP3 = 0.60 #Heat capacity (Btu/lb.\u00b0F)\n",
- "cTi3 = 240 #Inlet temperature (\u00b0F)\n",
- "cTo3 = 90 #Outlet temperature (\u00b0F)\n",
- "\n",
- "#Calculation:\n",
- "H1 = hm1*hcP1*(hTo1-hTi1) #Heating duty for stream 1 (Btu/h)\n",
- "H2 = hm2*hcP2*(hTo2-hTi2) #Heating duty for stream 2 (Btu/h)\n",
- "H3 = hm3*hcP3*(hTo3-hTi3) #Heating duty for stream 1 (Btu/h)\n",
- "H = H1+H2+H3 #Total heating duty (Btu/h)\n",
- "C1 = cm1*ccP1*(cTi1-cTo1) #Cooling duty for stream 1 (Btu/h)\n",
- "C2 = cm2*ccP2*(cTi2-cTo2) #Cooling duty for stream 2 (Btu/h)\n",
- "C3 = cm3*ccP3*(cTi3-cTo3) #Cooling duty for stream 1 (Btu/h)\n",
- "C = C1+C2+C3 #Total Cooling duty (Btu/h)\n",
- "\n",
- "#Result:\n",
- "print \"Table: Duty Requirements.\"\n",
- "print \"Stream Duty, Btu/h\"\n",
- "print \"1 \",round(H1)\n",
- "print \"2 \",round(H2)\n",
- "print \"3 \",round(H3)\n",
- "print \"4 \",round(C1)\n",
- "print \"5 \",round(C2)\n",
- "print \"6 \",round(C3)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Table: Duty Requirements.\n",
- "Stream Duty, Btu/h\n",
- "1 7475000.0\n",
- "2 6612000.0\n",
- "3 9984000.0\n",
- "4 12600000.0\n",
- "5 4160000.0\n",
- "6 3150000.0\n"
- ]
- }
- ],
- "prompt_number": 11
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/README.txt b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/README.txt
deleted file mode 100644
index 7cc312e6..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Amitesh Kumar
-Course: btech
-College/Institute/Organization: Manav Rachna International University
-Department/Designation: Electrical & Electronic Engg.
-Book Title: Heat Transfer Applications for the Practicing Engineer
-Author: Louis Theodore
-Publisher: John Wiley & Sons Inc. Publication
-Year of publication: 2011
-Isbn: 9780470643723
-Edition: 1st \ No newline at end of file
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/economics.png b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/economics.png
deleted file mode 100644
index e58b6698..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/economics.png
+++ /dev/null
Binary files differ
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/forced_convention.png b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/forced_convention.png
deleted file mode 100644
index 44694e5e..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/forced_convention.png
+++ /dev/null
Binary files differ
diff --git a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/shell_heat.png b/Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/shell_heat.png
deleted file mode 100644
index 427304c9..00000000
--- a/Heat_Transfer_Applications_for_the_Practicing_Engineer_/screenshots/shell_heat.png
+++ /dev/null
Binary files differ
diff --git a/README.md b/README.md
deleted file mode 100755
index d275184e..00000000
--- a/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-Repository to store all the Python Textbook Companions created through Python
-TBC project.
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_10.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_10.ipynb
deleted file mode 100644
index 83a710ec..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_10.ipynb
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:3d71fc1cf7c62e68f0f9134ed53e2d1461bd07ccc001344fd0d06803f2676584"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1> Chapter 10 : Valves <h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 10.1 Page No 225 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "Q=30.0 #gpm flow rate\n",
- "dp=300.0 #pressure drop lbf/in^2\n",
- "Sg=0.85 #density\n",
- "Cv=5.41 #Flow coefficient\n",
- "\n",
- "#CALCULATIONS\n",
- "Cv1=Q/(math.sqrt(dp/Sg)) \n",
- "dp1=Sg*Q**2/Cv**2\n",
- "\n",
- "#RESULTS\n",
- "print('\\n Flow coefficient = %.3f gpm ' %Cv1)\n",
- "print('\\n Pressure drop = %.3f psi ' %dp1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " Flow coefficient = 1.597 gpm \n",
- "\n",
- " Pressure drop = 26.138 psi \n"
- ]
- }
- ],
- "prompt_number": 1
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_11.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_11.ipynb
deleted file mode 100644
index 1d8b9368..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_11.ipynb
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:61d4ab1a97743a659c566a2eb33a4c42c8a0663679f30d0a243310539a4ede57"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1> Chapter No 11: Seals and packings <h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 11.1, Page No 269 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable initialization\n",
- "d=4.0 #in diameter\n",
- "p=20.0 #percent\n",
- "d1=0.140 #in cross section\n",
- "\n",
- "#CALCULATIONS\n",
- "Gd=d-2.0*((100.0 -20.0)*d1 /100.0)\n",
- "Gw=d1+2.0*(p*d1/100.0)\n",
- "\n",
- "#RESULTS\n",
- "print(' Groove diameter = %.3f in ' %Gd)\n",
- "print(' \\n Groove width = %.3f in ' %Gw)\n",
- "print('\\n outside diameter = %.3f in ' %d)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Groove diameter = 3.776 in \n",
- " \n",
- " Groove width = 0.196 in \n",
- "\n",
- " outside diameter = 4.000 in "
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 11.2 Page NO 272 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "D=2.0 #in diameter\n",
- "S=10.0 #in stroke\n",
- "s=10000.0 #stroke in\n",
- "V=231.0 #in^3 volume\n",
- "\n",
- "#CALCULATIONS\n",
- "di=(V/(S*s*D* math.pi))\n",
- "\n",
- "#RESULTS\n",
- "print(' Thickness= %.6f in ' %di)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Thickness= 0.000368 in \n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 11.3 Page No 277 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#Variable initialization\n",
- "d=0.275 #in diameter\n",
- "p=15.0 #initial squeeze percent\n",
- "p1=20.0 #increase in squeeze percent\n",
- "p3=8.0 #reduction in squeeze percent\n",
- "\n",
- "#CALCULATIONS\n",
- "Fs=(d*p/100.0)+(d*p1/100.0)-(d*p3 /100.0)\n",
- "Fs1= Fs *100.0/ d\n",
- "\n",
- "#RESULTS\n",
- "print('\\n final available squeeze = %.3f percent' %Fs1 )"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " final available squeeze = 27.000 percent"
- ]
- }
- ],
- "prompt_number": 3
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_12.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_12.ipynb
deleted file mode 100644
index 4ba37f47..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_12.ipynb
+++ /dev/null
@@ -1,281 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:e47b17659a986113237b599864f0f5038d52353b8973503557033e3de92c3ae9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 12 : System components <h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 12.1 Page No 290 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "t=4.0 #hr time\n",
- "Ihp=8.0 #ihp power\n",
- "Ohp=5.0 #hp power\n",
- "\n",
- "#CALCULATIONS\n",
- "Hl=t*2544.0*(Ihp-Ohp)\n",
- "\n",
- "#RESULT\n",
- "print(' Total Btu heat loss over a period of 4 hr = %.3f Btu ' %Hl)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Total Btu heat loss over a period of 4 hr = 30528.000 Btu "
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 12.2 Page No 292 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "t=1.0 #sec time\n",
- "P=1000.0 #lbf/in^2 pressure \n",
- "Q=3.0 #gpm flow rate\n",
- "Sg=0.85 # density\n",
- "s=0.42\n",
- "\n",
- "#CALCULATIONS\n",
- "H=42.4*((P*Q)/1714) #Heat Generation Rate\n",
- "m=8.34*Q*Sg #mass flow Rate\n",
- "Tr=H/(m*s)\n",
- "\n",
- "#RESULTS\n",
- "print(' Rise in temperature of the fluid = %.2f F' %Tr)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Rise in temperature of the fluid = 8.31 F\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 12.3 Page No 296 <h3> "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "P=1500.0 #lbf/in^2 pressure\n",
- "d=12.0 #in diameter\n",
- "V=50.0 #gal volume\n",
- "\n",
- "#CALCULATIONS\n",
- "F=P*(math.pi*d**2/4)\n",
- "S=V*231.0*4.0/(math.pi*d**2)\n",
- "\n",
- "#RESULTS\n",
- "print('Weight = %.3f lbf ' %F)\n",
- "print('\\n Stroke length = %.3f in ' %S)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Weight = 169646.003 lb \n",
- "\n",
- " Stroke length = 102.124 in "
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 12.4 Page No 298 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "P=1500.0 #lbf/in^2 pressure\n",
- "V=5.0 #gal volume\n",
- "P1=3000.0 #lbf/in^2 pressure\n",
- "P2=2000.0 #lbf/in^2 pressure\n",
- "\n",
- "#CALCULATIONS\n",
- "V2=V*231.0*(P2+14.7)/(P1-P2)\n",
- "V1=V2*(P1+14.7)/((P+14.7)*231.0)\n",
- "\n",
- "#RESULT\n",
- "print('\\n Size of accumulator = %.3f gal ' %V1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " Size of accumulator = 20.049 gal "
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 12.5 Page No 300 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "beta=1.4\n",
- "p3=2000.0+14.7 #non guage presure\n",
- "p2=3000.0+14.7 #non guage presure\n",
- "p1=1500.0+14.7 #non guage presure\n",
- "deltav=1155.0\n",
- "\n",
- "#Calculations\n",
- "v2=(p3/p2)**(1/beta)*(deltav)/(1-(p3/p2)**(1/beta))\n",
- "v1=v2*(p2/p1)**(1/beta)\n",
- "perdiff=(v1-4627.25)*100.0/v1\n",
- "\n",
- "#Results\n",
- "print(' Volume 2 = %.3f in^3' %v2)\n",
- "print(' \\n Volume 1 = %.3f in^3' %v1)\n",
- "print(' \\n Percentage difference in volume = %.3f percent' %perdiff )"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Volume 2 = 3462.278 in^3\n",
- " \n",
- " Volume 1 = 5660.756 in^3\n",
- " \n",
- " Percentage difference in volume = 18.257 percent\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 12.6 Page No 305 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "Fr=20.0 #gpm flowrate\n",
- "P=2500.0 #lbf/in^2 pressure\n",
- "sf=4.0 #safety factor\n",
- "Ts=55000.0 #lbf/in^2 pressure\n",
- "V=15.0 #ft/s velocity\n",
- "\n",
- "#CALCULATIONS\n",
- "A=Fr*0.3208/V\n",
- "ID=2.0*math.sqrt(A/math.pi)\n",
- "Wt=P*ID/(2*(Ts-P))\n",
- "Wt1=Wt*sf\n",
- "\n",
- "#RESULT\n",
- "print('Wall thcikness = %.3f in ' %Wt1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Wall thcikness = 0.070 in "
- ]
- }
- ],
- "prompt_number": 6
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_13.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_13.ipynb
deleted file mode 100644
index d8f9b1f3..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_13.ipynb
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "<h3>No examples in this chapter</h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_14.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_14.ipynb
deleted file mode 100644
index 6909d7dd..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_14.ipynb
+++ /dev/null
@@ -1,285 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:251fa751d76e0f33020a23b4f02af4b2cc97d384648ba729ca3ce134685988be"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1> Chapter No 14 :Troubleshooting Hydraulic systems<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 14.1 Page No 386 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "p=1800 #lbf/in^2 pressure\n",
- "Vd=1.5 #in^3/rev displacement\n",
- "\n",
- "#CALCULATIONS\n",
- "T=0.013*p*Vd\n",
- "\n",
- "#RESULTS\n",
- "print('The breakway torque = %.2f lbf-ft' %T)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The breakway torque = 35.10 percent\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 14.2, Page No 386 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "T=80 #lbf-ft torque\n",
- "Vd=3.5 #in^3/rev displacement\n",
- "\n",
- "#CALCULATIONS\n",
- "P=(T/(0.013*Vd))*(1/0.75)\n",
- "\n",
- "#RESULTS\n",
- "print('The min pressure = %.2f lbf/in^2' %P)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The min pressure = 2344.32 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 14.3, Page No 389 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "N=1200 #rev/min theotrical power\n",
- "Vd=0.75 #in^3/rev displacement\n",
- "Vd2=0.57\n",
- "#CALCULATIONS\n",
- "# part a\n",
- "Q=(Vd*N)/231\n",
- "# part b\n",
- "Qa=Q-0.50\n",
- "N2=(231*Qa)/Vd2\n",
- "ev=(Qa/Q)*100\n",
- "#RESULTS\n",
- "print('The flow from the pump = %.2f lbf/in^2' %Qa)\n",
- "print('The actual speed of the motor = %.2f rev/min' %N2)\n",
- "print('The Volumetric efficiency of the system = %.2f percent' %ev)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The flow from the pump = 3.40 lbf/in^2\n",
- "The actual speed of the motor = 1376.32 rev/min\n",
- "The Volumetric efficiency of the system = 87.17 percent\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 14.4, Page No 390 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#initialisation of variables\n",
- "Q=3.9 #gal/min flow rate\n",
- "Sg=0.87 # density\n",
- "Ac=4.9 #in^2 area\n",
- "\n",
- "#CALCULATIONS\n",
- "Qa=0.872*Q\n",
- "Vrod=Qa/(0.26*Ac)\n",
- "\n",
- "#RESULTS\n",
- "print('The Velocity = %.2f in/sec' %Vrod)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Velocity = 2.67 in/sec\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 14.5, Page No 390 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#initialisation of variables\n",
- "Q=10.0 #gal/min flow rate\n",
- "P=1500 #lbf/in^2 pressure\n",
- "\n",
- "#CALCULATIONS\n",
- "Fhp=((P*Q)/1714)*0.25\n",
- "A=Fhp/(0.001*75)\n",
- "\n",
- "#RESULTS\n",
- "print('The area is = %.2f ft^2' %A)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The area is = 29.17 ft^2\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 14.6, Page No 391<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#initialisation of variables\n",
- "A=15.0 #ft^2 area\n",
- "HP=0.25*5 # power\n",
- "\n",
- "#CALCULATIONS\n",
- "T=(HP/(0.001*A))+75\n",
- "\n",
- "#RESULTS\n",
- "print('The temparature is = %.2f F' %T)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The temparature is = 158.33 F\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 14.7, Page No 392 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "A=100 #ft^2 area\n",
- "T=40 #F temperature \n",
- "\n",
- "#CALCULATIONS\n",
- "q=2.545*A*T\n",
- "\n",
- "#RESULTS\n",
- "print('The heat that should be dissipated is = %.2f Btu/hr' %q)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The heat that should be dissipated is = 10180.00 Btu/hr\n"
- ]
- }
- ],
- "prompt_number": 7
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_15.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_15.ipynb
deleted file mode 100644
index 06bfac96..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_15.ipynb
+++ /dev/null
@@ -1,229 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:218eef76eba5bc112a5af1f09e9dfcdb3c88be276a9fda8b85e2aab7235b5119"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 15 : Basics of Pneumatics <h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 15.1 Page No 405 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "V1=20.0 #gal volume\n",
- "P1=20.0 #lbf/in^2 pressure\n",
- "n=2.0\n",
- "\n",
- "#CALCULATIONS\n",
- "V2=V1/n\n",
- "P2=(P1+14.7)*V1*231.0/(V2*231.0)\n",
- "P3=P2-14.7\n",
- "\n",
- "#RESULT\n",
- "print('Guage pressure = %.3f psi ' %P3)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Guage pressure = 54.700 psi \n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 15.2 Page No 406 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "V1=1500.0 #in^3 volume\n",
- "T=80.0 #F temperature\n",
- "T1=200.0 #F temperature\n",
- "\n",
- "#CALCULATIONS\n",
- "V2=V1*(460.0+T1)/(T+460.0)\n",
- "\n",
- "#RESULT\n",
- "print('Volume the heated gas will occupy = %.3f in ^3 ' %V2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Volume the heated gas will occupy = 1833.333 in ^3 "
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 15.3 Page No 406 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "P1=2000.0 #in^3\n",
- "T=80.0 #F temperature\n",
- "T1=250.0 #F temperature\n",
- "\n",
- "#CALCULATIONS\n",
- "P2=(P1+14.7)*(460.0+T1)/(T+460.0)\n",
- "P3=P2-14.7\n",
- "\n",
- "#RESULT\n",
- "print(' Guage pressure = %.3f psi ' %P3)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Guage pressure = 2634.257 psi "
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 15.4 Page No 407 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "P1=2000.0 #lbf/in^2 pressure\n",
- "V1=1500.0 #in^3 volume\n",
- "T2=250.0 #F temperature\n",
- "T1=75.0 #F temperature\n",
- "V2=1000.0 #in^3 volume\n",
- "\n",
- "#CALCULATIONS\n",
- "P2=(P1+14.7)*V1*(T2+460.0)/((T1+460.0)*V2)\n",
- "P3=P2-14.7\n",
- "#RESULT\n",
- "print('\\n Guage pressure = %.3f psi ' %P3)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " Guage pressure = 3995.871 psi \n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 15.5 Page No 409 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "s=10.0 #stroke in\n",
- "d=2.0 #in diameter\n",
- "r=40.0 #cpm cycles per rate\n",
- "P1=80.0 #lbf/in^2 pressure\n",
- "Ps1=552+101 #kN/m^2 pressure\n",
- "Ps2=101 #kN/m^2 pressure\n",
- "#CALCULATIONS\n",
- "V1=math.pi*d**2*s*r/(4*1728.0)\n",
- "V2=(P1+14.7)*V1/14.7\n",
- "# In SI units\n",
- "Vs1=(20.3*25.4*r)/(1000000)\n",
- "Vs2=(Ps1*Vs1)/Ps2\n",
- "#RESULT\n",
- "print(' Air consumption in cfm of free air = %.3f cfm free air ' %V2)\n",
- "print(' In SI units Air consumption in cfm of free air = %.3f m^3/min free air ' %Vs2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Air consumption in cfm of free air = 4.685 cfm free air \n",
- " Air consumption in cfm of free air = 0.133 cfm free air \n"
- ]
- }
- ],
- "prompt_number": 5
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_16.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_16.ipynb
deleted file mode 100644
index 990ae2bf..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_16.ipynb
+++ /dev/null
@@ -1,290 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:1752ce8abd4db43dc9301d3a391f312646e1e708eed7ee0a80cbc87acc9e9b2d"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter No 16 : Sizing Pneumatic systems <h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 16.1, Page No 422<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "L=500 #ft length\n",
- "d=47.2561 #diameter in\n",
- "Q=650 # ft^3/min\n",
- "T=40 #F Temperature \n",
- "\n",
- "#CALCULATIONS\n",
- "CR=(250+14.7)/14.7\n",
- "Pf=(0.1025*L*(Q*1/60)*(Q*1/60))/(CR*d)\n",
- "\n",
- "#RESULTS\n",
- "print('The the pressure drop is = %.2f lbf/in^2' %Pf)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The the pressure drop is = 6.02 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 16.2, Page No 423<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#initialisation of variables\n",
- "L=(8*5.2)+(2*59)+(1*10.3) #ft length\n",
- "C=0.1025 # Experimental coefficient\n",
- "d=47.2561 # internal diameter\n",
- "Q=500.0 # ft^3/min free air \n",
- "CR=4.4 # ratio of compression of pipe\n",
- "\n",
- "\n",
- "#CALCULATIONS\n",
- "\n",
- "Pf=(C*L*((Q*1/60)*(Q*1/60)))/(CR*d)\n",
- "\n",
- "#RESULTS\n",
- "print('The the pressure drop is = %.2f lbf/in^2' %Pf)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The the pressure drop is = 5.82 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 16.3, Page No 433 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "#CALCULATIONS\n",
- "T=60+(0.25*60) #total air consumption ft^3/min\n",
- "\n",
- "#RESULTS\n",
- "print('The total air consumption = %.2f ft^3/min' %T)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The total air consumption = 75.00 ft^3/min\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 16.4, Page No 434 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Qr=10 #ft^3/min consumption rate\n",
- "t=5 #time min\n",
- "p1=125 #lbf/in^2 pressure\n",
- "p2=100 #lbf/in^2 pressure\n",
- "\n",
- "#CALCULATIONS\n",
- "Vr=(14.7*Q*t)/(p1-p2)\n",
- "\n",
- "#RESULTS\n",
- "print('The size of the receiver = %.2f ft^3' %Vr)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The size of the receiver = 29.40 ft^3\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 16.5, Page No 444 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Q=35 #ft^3/min consumption rate\n",
- "t=540 #time min\n",
- "p1=90+14.7 #presure lbf/in^2\n",
- "p2=80+14.7 # pressure lbf/in^2\n",
- "\n",
- "#CALCULATIONS\n",
- "K=(p1+p2)/2\n",
- "Cv=(Q/22.67)*(math.sqrt(t/((p1-p2)*K)))\n",
- "\n",
- "#RESULTS\n",
- "print('The size of the air valve = %.2f ' %Cv)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The size of the air valve = 1.14 \n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 16.7, Page No 448 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Q=35 #ft^3/min consumption rate\n",
- "V1=0.327 #volume ft^3/min\n",
- "p1=104.7 #presure lbf/in^2\n",
- "p2=14.7 #pressure lbf/in^2\n",
- "d=3 #in diameter\n",
- "#CALCULATIONS\n",
- "A=(3.14*(d*d)/4\n",
- "Q=((A*4)/1728)*20\n",
- "V2=p1*V1/p2\n",
- "\n",
- "#RESULTS\n",
- "print('The free air consumption = %.2f ft^3/min' %V2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The free air consumption = 2.33 ft^3/min\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 16.8, Page No 451 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Fa=0.065 # free air ft^3/in\n",
- "d=4 # stroke in\n",
- "c=20 # cycle rate cycles/min\n",
- "#CALCULATIONS\n",
- "Qv=(Fa*d*c)/2\n",
- "\n",
- "#RESULTS\n",
- "print('The free air consumption = %.2f ft^3/min' %Qv)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The free air consumption = 2.60 ft^3/min\n"
- ]
- }
- ],
- "prompt_number": 2
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_2.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_2.ipynb
deleted file mode 100644
index 0861593c..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_2.ipynb
+++ /dev/null
@@ -1,428 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:27338db4766b4c1985ad23f02bae5de155caa330da171300335b58c2d2835845"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1> Chpater No 2: Basics of Hydraulics<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.1, Page No 23 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "W=1000.0 #weight lbf\n",
- "D=1.25 #distance ft\n",
- "\n",
- "#CALCULATIONS\n",
- "Work=W*D\n",
- "#IN SI unit\n",
- "W=4448 #weight N\n",
- "D=0.381 #distance m\n",
- "Work1=W*D\n",
- "\n",
- "#RESULTS\n",
- "print('The work from the system would be = %.2f ft-lbf' %Work)\n",
- "print('The work from the system in SI unit would be = %.2f m-N' %Work1)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The work from the system would be = 1250.00 ft-lbf\n",
- "The work from the system in SI unit would be = 1694.69 m-N\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.2, Page No 24 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "F1=100.0 #Force lbf\n",
- "F2=2000.0 #Force lbf\n",
- "L2=12 #in\n",
- "\n",
- "#CALCULATIONS\n",
- "L11=L2*(F2/F1)\n",
- "#IN SI unit\n",
- "F1=444.8 #Force N\n",
- "F2=8896.0 #Force N\n",
- "L2=0.3048 #Force m\n",
- "L12=L2*(F2/F1)\n",
- "\n",
- "#RESULTS\n",
- "print('The pump piston have to travel = %.2f in' %L11)\n",
- "print('The pump piston have to travel = %.2f m' %L12)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pump piston have to travel = 240.00 in\n",
- "The pump piston have to travel = 6.10 m\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.3, Page No 25 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#initialisation of variables\n",
- "F1=150.0 #lbf Force\n",
- "A1=0.049 #in^2 area\n",
- "A2=0.785 #in^2 area\n",
- "\n",
- "#CALCULATIONS\n",
- "F21=F1*(A2/A1)\n",
- "#IN SI unit\n",
- "F1=667.2 #N(Force)\n",
- "A1=31.7 #mm^2(Area)\n",
- "A2=506.7 #mm^2(Area)\n",
- "F22=F1*(A2/A1)\n",
- "\n",
- "#RESULTS\n",
- "print('The weight lifted by a downward force = %.2f lbf' %F21)\n",
- "print('weight lifted by a downward force in SI unit = %.2f N' %F22)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The weight lifted by a downward force = 2403.06 lbf\n",
- "weight lifted by a downward force in SI unit = 10664.68 N\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.4, Page No 27 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "F =800.0 #lbf Force\n",
- "D=20 #ft distance\n",
- "t=20 #sec time\n",
- "C=550 #ft-lbf/sec\n",
- "\n",
- "#CALCULATIONS\n",
- "HP=(F*D)/(t*C)\n",
- "\n",
- "#RESULTS\n",
- "print('The Horse powe required is = %.2f HP' %HP)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Horse powe required is = 1.45 HP\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.5, Page No 27 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#initialisation of variables\n",
- "V1=2000.0 #watts voltage\n",
- "V2=746.0 #watts voltage\n",
- "\n",
- "#CALCULATIONS\n",
- "HP=V1/V2\n",
- "\n",
- "#RESULTS\n",
- "print('The Horse powe required is = %.2f HP' %HP)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Horse powe required is = 2.68 HP\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.6, Page No 28 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "N=1200 #rev/min speed\n",
- "A=(3.14*((1.125*1.125)*5))/4 #Cross section of the bore in in^2\n",
- "L=1 # cylinder stroke (inch)\n",
- "#CALCULATIONS\n",
- "V=A*L\n",
- "Q=V*N/231\n",
- "\n",
- "#RESULTS\n",
- "print('The displacement would be = %.2f in^3/rev' %V)\n",
- "print('The flow rate would be = %.2f gal/min' %Q)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The displacement would be = 4.97 in^3/rev\n",
- "The flow rate would be = 25.81 gal/min\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.7, Page No 31 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "P1=2000.0 #lbf/in^2 pressure\n",
- "Q1=5 #gal/min flow rate\n",
- "P3=13793.0 #kPa pressure\n",
- "Q3=18.9 #liters/min flow rate\n",
- "\n",
- "#CALCULATIONS\n",
- "Fhp1=P1*Q1/1714 #In English units\n",
- "Fhp2=(P1*4.448*1550*Q1*3.7851*0.001)/44760 #In SI unit\n",
- "Fhp3=P3*Q3/44760 #with technique 3\n",
- "\n",
- "\n",
- "#RESULTS\n",
- "print('Using technique 1 the horsepower transmitted by system would be = %.2f hp' %Fhp1)\n",
- "print('Using technique 1 the horsepower transmitted by system would be = %.2f hp' %Fhp2)\n",
- "print('Using technique 1 the horsepower transmitted by system would be = %.2f hp' %Fhp3)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Using technique 1 the horsepower transmitted by system would be = 5.83 hp\n",
- "Using technique 1 the horsepower transmitted by system would be = 5.83 hp\n",
- "Using technique 1 the horsepower transmitted by system would be = 5.82 hp\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.8, Page No 35 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "THP=5.83 # Horse power \n",
- "pi=3.14 #Pi value\n",
- "N=500 #rev/min speed\n",
- "\n",
- "#CALCULATIONS\n",
- "T=(THP*33000)/(2*pi*N)\n",
- "\n",
- "#RESULTS\n",
- "print('The torque would be = %.2f lbf-ft' %T)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The torque would be = 61.27 lbf-ft\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.9, Page No 35 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "T=2000.0 #lbf-ft torque\n",
- "N=20.0 #rev/min speed\n",
- "P=2000 #lbf/in^2 pressure \n",
- "\n",
- "#CALCULATIONS\n",
- "Q1=(1714*N*T)/(5252*P)\n",
- "Fhp1=(P1*Q1)/1714\n",
- "Q2=(44760*N*2712)/(7122*13793)\n",
- "Fhp2=(13793*Q2)/44760\n",
- "\n",
- "#RESULTS\n",
- "print('In English units the flow rate would be = %.2f gal/min' %Q1)\n",
- "print('In English units the Horsepower would be = %.2f hp' %Fhp1)\n",
- "print('In SI units the flow rate would be = %.2f lit/min' %Q2)\n",
- "print('In SI units the Horsepower would be = %.2f hp' %Fhp2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The flow rate would be = 6.53 gal/min\n",
- "The Horsepower would be = 7.62 hp\n",
- "The flow rate would be = 24.71 gal/min\n",
- "The Horsepower would be = 7.62 hp\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.10, Page No 36 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "N=750.0 #rev/min speed\n",
- "Q=5 #gal/min flow rate\n",
- "P=1000 #lbf/in^2 pressure\n",
- "\n",
- "#CALCULATIONS\n",
- "T=(5252*P*Q)/(1714*N)\n",
- "\n",
- "#RESULTS\n",
- "print('The expected torque would be = %.2f lbf-ft' %T)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The expected torque would be = 20.43 lbf-ft\n"
- ]
- }
- ],
- "prompt_number": 10
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_3.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_3.ipynb
deleted file mode 100644
index 08a4040d..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_3.ipynb
+++ /dev/null
@@ -1,448 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:41e08ad2cbd71b375b8fca4d52dca8e12f0a2ed40aa710b7f9246d1cab354954"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter No 3: Energy in Hydraulic systems<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.1, Page No 44 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "h=50.0 #ft height\n",
- "sg=1.0 #Density \n",
- "\n",
- "#CALCULATIONS\n",
- "p=sg*h*0.433 # pressure\n",
- "\n",
- "#RESULTS\n",
- "print('Pressure is = %.2f lbf/in^2' %p)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Pressure is = 21.65 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.2, Page No 44<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "p=1500.0 #lbf/in^2 pressure\n",
- "Sg=0.78 #Density \n",
- "p2=p*6895 #lbf/in^2 pressure\n",
- "#CALCULATIONS\n",
- "h=(p*2.31)/Sg\n",
- "h2=(p2*1.02)/(10000*Sg) #In metric units\n",
- "\n",
- "#RESULTS\n",
- "print('Head in ft = %.2f ft' %h)\n",
- "print('In metric units Head in ft = %.2f ft' %h2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Head in ft = 4442.31 ft\n",
- "Head in ft = 1352.48 ft\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.3, Page No 45 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "p=13790000 #N/m^2 pressure\n",
- "Sg=0.83 #Density \n",
- "\n",
- "#CALCULATIONS\n",
- "h=(p*1.02)/(Sg*10000)\n",
- "\n",
- "#RESULTS\n",
- "print('Head in ft = %.2f m' %h)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Head in ft = 1694.67 m\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.4, Page No 46 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Q=40 #Gal/min flow rate\n",
- "a1=3.14 #in^2 area\n",
- "a2=12.56 #in^2 area \n",
- "#CALCULATIONS\n",
- "#Part a\n",
- "v1=Q/(a1*3.12) #fluid velocity in 2 in diameter\n",
- "#Part b\n",
- "v2=(a1*v1)/a2 #Fluid Velocity in 4 in diameter\n",
- "#RESULTS\n",
- "print('Fluid Velocity in 2 in diameter pipe is = %.2f ft/sec' %v1)\n",
- "print('Fluid Velocity in 4 in diameter pipe is = %.2f ft/sec' %v2)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Fluid Velocity is = 4.08 ft/sec\n",
- "Fluid Velocity is = 1.02 ft/sec\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.5, Page No 47 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Q=18 #Gal/min flow rate\n",
- "a=3.14 #in^2 area \n",
- "v2=10 #ft/sec velocity\n",
- "#CALCULATIONS\n",
- "v=Q/(a*3.12) \n",
- "D=math.sqrt((4*Q)/(math.pi*v2*3.12))\n",
- "\n",
- "#RESULTS\n",
- "print('Velocity is = %.2f in' %D)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Velocity is = 0.86 in\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.6, Page No 51 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#initialisation of variables\n",
- "p=10.0 #lbf/in^2 pressure\n",
- "Sg=0.87 #Density\n",
- "\n",
- "#CALCULATIONS\n",
- "h=p*2.31/Sg\n",
- "#The value of h is actualy 26.55 but in book they have rounded off to 26.6 \n",
- "EPE=200*Sg*8.34*h #Elevation energy\n",
- "#RESULTS\n",
- "print('The height = %.1f ft' %h)\n",
- "print('The energy of elevation = %.2f ft-lbf' %EPE)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The height = 26.6 ft\n",
- "The energy of elevation = 38530.80 ft-lbf\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.7, Page No 53 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "F=1000 #lbf force\n",
- "A=3.14 #in^2 area\n",
- "pe=10.0 #lbf/in^2 (Pressure of elevation)\n",
- "\n",
- "#CALCULATIONS\n",
- "p=F/A #Total pressure\n",
- "P=p-pe\n",
- "\n",
- "#RESULTS\n",
- "print('The pressure is = %.2f lbf/in^2' %P)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pressure is = 308.47 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.8, Page No 53 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Sg=0.87 #Density\n",
- "a=0.785 #in^2 area \n",
- "g=32.2 #ft/sec^2\n",
- "\n",
- "#CALCULATIONS\n",
- "w=25*Sg*231*62.4*1/1738\n",
- "Q=25*231*1/12*1/60\n",
- "v=Q/a\n",
- "KE=(w*v*v)/(2*g)\n",
- "\n",
- "#RESULTS\n",
- "print('The Kinetic enegry is = %.2f ft-lbf' %KE)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Kinetic enegry is = 290.91 ft\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.9, Page No 55 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "A1=7.065 #area in^2\n",
- "A2=0.785 #area in^2\n",
- "p1=1000 #pressure lbf/in^2\n",
- "Q=500 #flow rate gal/min\n",
- "g=32.2 #ft/sec^2\n",
- "Sg=0.91 #density\n",
- "\n",
- "#CALCULATIONS\n",
- "v1=Q/(A1*3.12) #Velocity\n",
- "v2=Q/(A2*3.12) #Velocity\n",
- "temp1=(p1*2.31)/Sg\n",
- "temp2=(v1*v1)/ (2*g)\n",
- "temp3=(v2*v2)/(2*g)\n",
- "p2=(temp1+temp2-temp3)*Sg/2.31\n",
- "\n",
- "#RESULTS\n",
- "print('The pressure is = %.2f lbf/in^2' %p2)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pressure is = 748.21 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.10, Page No 55 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "p=1000 #pressure lbf/in^2\n",
- "p1=350 #pressure lbf/in^2\n",
- "Sg=0.85 #Specific gravity\n",
- "\n",
- "#CALCULATIONS\n",
- "Ha=p*2.31/Sg\n",
- "H1=p1*2.31/Sg\n",
- "He=Ha-H1-679.41\n",
- "\n",
- "#RESULTS\n",
- "print('The energy extracted from the fluid = %.2f lbf/in^2' %He)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The energy extracted from the fluid = 1087.06 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.11, Page No 55 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "h=40 #height ft\n",
- "g=32.2 #ft/sec^2\n",
- "#CALCULATIONS\n",
- "v=math.sqrt(2*g*h) #velocity\n",
- "#RESULTS\n",
- "print('The energy extracted from the fluid = %.2f lbf/in^2' %v)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The energy extracted from the fluid = 50.75 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 17
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_4.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_4.ipynb
deleted file mode 100644
index fa4223d9..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_4.ipynb
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:ef80559993f5ef663679dee68ecb16be7277adf553aef3de2eb86d71037aadc3"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter no 4: How Fluids flow<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.1, Page No 64 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#initialisation of variables\n",
- "a1=12.56 #Area(in^2)\n",
- "s1=24 #stroke(in^3)\n",
- "a2=3.14 #Area(in^2) displacement of ram\n",
- "s2=24 #stroke in^3\n",
- "Ve=0.785 #Extension volume in^3\n",
- "\n",
- "\n",
- "#CALCULATIONS\n",
- "Ve=a1*s1 #extension volume\n",
- "Vs=a2*s2 \n",
- "Vr=Ve-Vs #Retraction volume\n",
- "Vt=Ve+Vr #Total volume\n",
- "\n",
- "#RESULTS\n",
- "print('Displacement of the cylinder would be = %.2f in^3' %Vt)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Displacement of the cylinder would be = 527.52 in^3\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.4, Page No 75 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "#initialisation of variables\n",
- "A=0.785 #area\n",
- "Q=100 #gal/min flow rate\n",
- "D=1 #in diameter\n",
- "v=0.05 #viscocity Newts\n",
- "\n",
- "#CALCULATIONS\n",
- "V=Q/(A*3.12) #velocity\n",
- "Nr=(12*V*D)/v #reynolds number\n",
- "\n",
- "#RESULTS\n",
- "print('The velocity would be = %.2f lbf-ft' %V)\n",
- "print('The Reynolds number would be = %.2f Hence the flow is turbulent' %Nr)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The velocity would be = 40.83 lbf-ft\n",
- "The Reynolds number would be = 9799.12 Hence the flow is turbulent\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.5, Page No 76 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Nr=4000 #reynolds number\n",
- "Nr2=2000 #reynolds number\n",
- "m=0.27 #P viscocity\n",
- "D=2.54 #cm diameter\n",
- "p=0.85 #pressure gm/cm^3\n",
- "m2=27 #cP viscocity\n",
- "D2=1 #in diameter\n",
- "#CALCULATIONS\n",
- "V=(Nr*m)/(D*p) #velocity\n",
- "\n",
- "# for lower critical velocity\n",
- "V2=(Nr2*m)/(D*p)\n",
- "v=m2/p\n",
- "vn=0.001552*v\n",
- "vh=(Nr*vn)/(12*D2)\n",
- "vl=(Nr2*vn)/(12*D2)\n",
- "\n",
- "#RESULTS\n",
- "print('The velocity would be = %.2f cm/sec' %V)\n",
- "print('The lower velocity would be = %.2f cm/sec' %V2)\n",
- "print('Using reynolds formula the velocity would be = %.2f ft/sec' %vh)\n",
- "print('Using reynolds formula the lower velocity would be = %.2f ft/sec' %vl)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The velocity would be = 500.23 cm/sec\n",
- "The lower velocity would be = 250.12 cm/sec\n",
- "using reynolds formula the velocity would be = 16.43 newts\n",
- "using reynolds formula the lower velocity would be = 8.22 cm/sec\n"
- ]
- }
- ],
- "prompt_number": 7
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_5.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_5.ipynb
deleted file mode 100644
index dfa30c9f..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_5.ipynb
+++ /dev/null
@@ -1,347 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:4f7ceb1a02c4aed051683602c2032c5c01a494cc7ebde0035eb0f03a6d976611"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 5.1, Page No 82 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Q=200 #gal/min flow rate\n",
- "A=3.14 #area in^2\n",
- "f=0.05 #friction factor\n",
- "g=32.2 #ft/sec^2\n",
- "L=800 #ft length\n",
- "Sg=0.91 #density\n",
- "\n",
- "#CALCULATIONS\n",
- "v=Q/(A*3.12) #velocity of fluid\n",
- "D=(2*1.0)/12 #in\n",
- "hf=f*(L/D)*((v*v)/(2*g)) #head loss\n",
- "hps=0.433*Sg*hf\n",
- "\n",
- "#RESULTS\n",
- "print('The pressure drop is = %.2f lbf/in^2' %hps)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pressure drop is = 611.99 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 5.2, Page No 84 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "Q=15 #gal/min\n",
- "A=0.785 #area\n",
- "D=1 #diameter in\n",
- "v1=0.08 #Viscocity Newts\n",
- "L=400 #Length ft\n",
- "g=32.2 #ft/sec^2\n",
- "Sg=0.85 #density\n",
- "\n",
- "#CALCULATIONS\n",
- "v=Q/(A*3.12)\n",
- "Nr=(12*v*D)/v1 #reynolds number\n",
- "hf=(32*v1*L*v)/(D*D*g) #head drop\n",
- "hps=0.433*Sg*hf\n",
- "\n",
- "#RESULTS\n",
- "print('The pressure drop is = %.2f lbf/in^2' %hps)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pressure drop is = 71.68 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 5.3, Page No 87 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Q=600 #gal/min flow rate\n",
- "A=3.14 #area in^2\n",
- "f=0.040 #force in^2\n",
- "D=2 #diameter in\n",
- "v1=0.30 #Viscocity in^2sec\n",
- "L=500 #length ft\n",
- "g=32.2 #ft/sec^2\n",
- "Sg=0.85 #density\n",
- "\n",
- "#CALCULATIONS\n",
- "v=Q/(A*3.12)\n",
- "Nr=(12*v*D)/v1 #reynolds number\n",
- "D=(2*1.0)/12\n",
- "hf=f*(L/D)*((v*v)/(2*g))\n",
- "hps=0.433*Sg*hf #Pressure drop\n",
- "\n",
- "#RESULTS\n",
- "print('The pressure drop is = %.2f lbf/in^2' %hps)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pressure drop is = 2572.39 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 5.4, Page No 90 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "p=120 #pressure drop lbf/in^2\n",
- "Sg=0.85 #density\n",
- "Q=1000 #gal/min flow rate\n",
- "A=3.14 #area \n",
- "\n",
- "#CALCULATIONS\n",
- "Cd=(1/38.06)*(Q/A)*(math.sqrt(Sg/p)) #discharge coefficient\n",
- "\n",
- "#RESULTS\n",
- "print('The discharge coefficient is = %.2f ' %Cd)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The discharge coefficient is = 0.70 \n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 5.5, Page No 94 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#initialisation of variables\n",
- "Q=50 #gal/min flow rate\n",
- "A=0.785 #area\n",
- "D=1 #diameter in\n",
- "f=1 #\n",
- "v1=0.05 #Viscocity Newts\n",
- "L=500 #length ft\n",
- "g=32.2 #ft/sec^2\n",
- "Sg=0.91 #Density\n",
- "\n",
- "#CALCULATIONS\n",
- "v=Q/(A*3.12) #velocity\n",
- "Nr=(12*v*D)/v1 #Reynolds\n",
- "temp=((v*v)/(2*g))\n",
- "hi=0.78*temp #inward projection\n",
- "ho=1.0*temp #Outward projection\n",
- "hg=10.0*temp #Globe Valve\n",
- "he=4*0.90*temp # 4 std 90 degree elbow\n",
- "hn=(3.0/4)*temp #sudden enlargement\n",
- "hc=0.5*3.0/4*temp #Sudden contraction\n",
- "hff=hi+ho+hg++he+hn+hc #Total head loss\n",
- "hps=0.433*Sg*hff\n",
- "\n",
- "#RESULTS\n",
- "print('The pressure drop is = %.2f lbf/in^2' %hps)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pressure drop is = 42.09 lbf/in^2\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 5.6, Page No 96 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Q=150 #gal/min flow rate\n",
- "A=0.785 #area in^2\n",
- "D=1 #diameter in\n",
- "f=0.045 #\n",
- "v1=0.10 #Viscocity newts\n",
- "Sg=0.91 #density\n",
- "K=2.5\n",
- "\n",
- "#CALCULATIONS\n",
- "v=Q/(A*3.12)\n",
- "Nr=(12*v*D)/v1 # Reynolds number\n",
- "Le=(D*K)/(12*f) #length\n",
- "\n",
- "#RESULTS\n",
- "print('The equivalent length is = %.2f ft' %Le)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The equivalent length is = 4.63 ft\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 5.7, Page No 97 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#initialisation of variables\n",
- "Q=100 #gal/min flow rate\n",
- "A1=3.14 #area in^2\n",
- "A2=0.785 #area in^2\n",
- "D=2 #Diameter in \n",
- "k=12.4 #K-factor\n",
- "g=32.2 #ft/sec^2\n",
- "L=134.58 #Length ft\n",
- "p=224.7 #Total pressure drop lbf/in^2\n",
- "Q=100 #gal/min flow rate\n",
- "L2=35.33 #ft length\n",
- "#CALCULATIONS\n",
- "v1=Q/(A1*3.12) #velocity\n",
- "v2=Q/(A2*3.12) #velocity\n",
- "v=0.001552*80 # kinematic viscosity from cSt to newts \n",
- "Nr=(12*v1*D)/v #Reynold number\n",
- "D1=1\n",
- "D2=1\n",
- "k2=20\n",
- "f2=0.05\n",
- "Nr2=(12*v2*D1)/v #Reynold number\n",
- "f1=64/Nr\n",
- "Le=(D*k)/(12*f1) #length\n",
- "hf=f1*((L*(v1*v1))/((2.0/12.0)*(2*g)))\n",
- "hsif=0.433*0.88*hf #pressure loss\n",
- "Le2=(D2*k2)/(12*f2)\n",
- "hf2=f2*((L2*(v2*v2))/((1.0/12.0)*(2*g)))\n",
- "hsif2=0.433*0.88*hf2 #pressure loss\n",
- "pd=hsif+hsif2\n",
- "Fhp=(pd*Q)/1714\n",
- "#RESULTS\n",
- "print('The pressure drop is = %.2f lbf/in' %pd)\n",
- "print('The fluid horsepwer is = %.2f hp' %Fhp)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The pressure drop is = 225.24 lbf/in\n",
- "The fluid horsepwer is = 13.14 hp\n"
- ]
- }
- ],
- "prompt_number": 1
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_6.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_6.ipynb
deleted file mode 100644
index 789b362e..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_6.ipynb
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:2a45c36aaa47c05012e31744a57dc2decac5ab57032d2c7729bcf9fae98dd916"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter No 6 :Hydraulic Fluids <h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.2, Page No 115 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#initialisation of variables\n",
- "V1=1.0 #volume\n",
- "p2=2000 #pressure lbf/in^2\n",
- "p1=1000 #pressure lbf/in^2\n",
- "K=350000 #k factor lbf/in^2\n",
- "\n",
- "#CALCULATIONS\n",
- "dV=V1*(p2-p1)/K\n",
- "\n",
- "#RESULTS\n",
- "print('The fluid be expected compress is = %.4f ' %dV)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The fluid be expected compress is = 0.0029 \n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.3, Page No 127 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "#CALCULATIONS\n",
- "m1=36815.0 #Particles count upstream\n",
- "m2=6347 #Particles count downstream\n",
- "b=m1/m2 #beta ratio\n",
- "\n",
- "#RESULTS\n",
- "print('The beta ratio = %.1f ' %b)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The beta ratio = 5.8 \n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.4, Page No 127 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "#CALCULATIONS\n",
- "m1=36815.0 # Particles count upstream\n",
- "m2=6347 #Particles count downstream\n",
- "b=((m1-m2)/m1)*100 # Beta efficiency\n",
- "\n",
- "#RESULTS\n",
- "print('The beta efficiency = %.2f percent' %b)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The beta efficiency = 82.76 percent\n"
- ]
- }
- ],
- "prompt_number": 2
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_7.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_7.ipynb
deleted file mode 100644
index c35b63d7..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_7.ipynb
+++ /dev/null
@@ -1,226 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:7f3e7af3a7770bd6065b2ca329fec5074b9d86ea22aa36dc09cc71c375000d3b"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1> Chapter No 7 : Pumps <h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 7.1, Page No 135 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "P=2500.0 #pressure lbf/in^3\n",
- "Q=3.0 #gpm flow rate\n",
- "p=5.0 #Bhp power\n",
- "N=1725.0 #rpm speed\n",
- "\n",
- "#CALCULATIONS\n",
- "eo=P*Q*100.0/(1714.0*p) # pump efficiency\n",
- "To=p*5250.0/ N # torque Input\n",
- "\n",
- "#RESULTS\n",
- "print('\\n Input torque = %.3f lb-ft ' %To)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " Input torque = 15.217 lb-ft "
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 7.2 Page No 137 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "Q=52.0 #gpm flow rate\n",
- "v=3.75 #in^3 positive displacement\n",
- "N=3300.0 #rpm speed\n",
- "\n",
- "#CALCULATIONS\n",
- "ev=231.0*Q*100.0/(v*N) #Volumetric efficiency\n",
- "\n",
- "#RESULT\n",
- "print('\\n Volumetric efficiency = %.3f percent ' %ev)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " Volumetric efficiency = 97.067 percent "
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 7.3, Page No 137 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "eo=87.0 #percent overall efficiency\n",
- "ev=94.0 #percent volumetric efficiency\n",
- "p=10.0 #bhpi\n",
- "\n",
- "#CALCULATIONS\n",
- "em=eo/ev # Mechanical efficiency\n",
- "em1=em*100.0\n",
- "Fhp=p*(1.0-em)\n",
- "\n",
- "#RESULTS\n",
- "print(' \\n Frictional horsepower = %.3f hp ' %Fhp)\n",
- "print('\\n Mechanical efficiency = %.2f percent ' %em1 )"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " \n",
- " Frictional horsepower = 0.745 hp \n",
- "\n",
- " Mechanical efficiency = 92.55 percent \n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 7.4 Page No 150 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "n=9.0 #no of cycles\n",
- "N=3000.0 #rpm speed\n",
- "s=0.75 #inch stroke\n",
- "d=0.5 #inch diameter\n",
- "\n",
- "#CALCULATIONS\n",
- "Q=n*N*s*math.pi*d**2/(4.0*231.0)\n",
- "\n",
- "#RESULTS\n",
- "print(' Volume flow rate = %.3f gpm ' %Q)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Volume flow rate = 17.212 gpm "
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 7.5 Page No 162 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "d=6.0 #in diameter\n",
- "S=120.0 #in stroke\n",
- "Q=5.0 #gpm flow rate\n",
- "\n",
- "#CALCULATIONS\n",
- "Vc=math.pi*d**2*S/(4.0*231.0)\n",
- "\n",
- "#RESULTS\n",
- "print('Minimum size of the reservoir = %.3f gpm ' %Vc)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum size of the reservoir = 14.688 gpm \n"
- ]
- }
- ],
- "prompt_number": 2
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_8.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_8.ipynb
deleted file mode 100644
index f2ea6a6f..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_8.ipynb
+++ /dev/null
@@ -1,282 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:17c640dd0a4a95ba945b4c3f11eeafabec4d7eceacb7724326f3938cd4b8f643"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1> Chapter 8 : Hydraulic Cylinders and Cushioning Devices <h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 8.1 Page No 172 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "F=80000.0 #lbs Force\n",
- "F2=355800.0 #N Force\n",
- "P=1600.0 #lbf/in^2 Pressure\n",
- "P2=11.03*(1000000) #N/m^2 Pressure\n",
- "\n",
- "#CALCULATIONS\n",
- "db=math.sqrt(4.0*F/(math.pi*P))\n",
- "#In SI units\n",
- "db2=math.sqrt((4.0*F2)/(math.pi*P2))\n",
- "db2=db2*100 # To convert it into cm\n",
- "#RESULTS\n",
- "print('\\n Size of the cylinder postion = %.3f in ' %db)\n",
- "print('\\n Using SI units size of the cylinder postion = %.1f cm ' %db2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " Size of the cylinder postion = 7.979 in \n",
- "\n",
- " Size of the cylinder postion = 20.266 in \n",
- "\n",
- " Size of the cylinder postion = 11030000.000 in \n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 8.2 Page No 173 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "Q=25.0 #gpm flow rate\n",
- "A=0.533 #in^2 area\n",
- "\n",
- "#Calculations\n",
- "nu=Q*19.25/(A*60.0) #Fluid velocity\n",
- "nucylinder =Q*19.25/12.56 #Cylinder velocity\n",
- "\n",
- "#Results\n",
- "print('\\n Fluid velocity = %.3f ft/sec' %nu)\n",
- "print('\\n Cylinder velocity = %.3f ft/min' %nucylinder )"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " Fluid velocity = 15.048 ft/sec\n",
- "\n",
- " Cylinder velocity = 38.316 ft/min\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 8.3 Page No 178 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "d=3.0 #in diameter\n",
- "P=2000.0 #lbf/in^2 pressure\n",
- "s=20.0 #stroke in\n",
- "\n",
- "#CALCULATIONS\n",
- "Cl=s*d/2.0 #corrected length\n",
- "F=P*math.pi*d**2/4.0 #thrust\n",
- "stl=(Cl-40.0)/10.0 #stop tube length\n",
- " \n",
- "#RESULTS\n",
- "print('\\n Length of the stop tube= %.3f in ' %Cl)\n",
- "F=F+3\n",
- "print('\\n Thrust on the rod= %.3f lb ' %F)\n",
- "print('\\n Stop Tube length= %.3f stl ' %stl)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " Length of the stop tube= 30.000 in \n",
- "\n",
- " Thrust on the rod= 14140.167 lb \n",
- "\n",
- " Stop Tube length= -1.000 stl "
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 8.4 Page No 182 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "v=120.0 #ft/min velocity\n",
- "S=1.5 #in distance\n",
- "w=8000.0 #lb wight\n",
- "\n",
- "#CALCULATIONS\n",
- "ga=v**2*0.0000517/S\n",
- "F=w*ga\n",
- "#RESULTS\n",
- "print(' Total force decessary to decelarate the load= %.3f lb ' %F)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Total force decessary to decelarate the load= 3970.560 lb \n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 8.5 Page No 184 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "P=750.0 #lbf/in^2 pressure\n",
- "d=3.0 #in distance\n",
- "w=1500.0 #lb weight\n",
- "ga=0.172 #Acceleration factor\n",
- "f=0.12 #Coefficient of fraction\n",
- "v=50 #ft/min velocity\n",
- "s=0.75 #in stroke\n",
- "\n",
- "#CALCULATIONS\n",
- "Fa=P*math.pi*d**2/4.0\n",
- "F=w*(ga-f)+Fa\n",
- "#RESULT\n",
- "print('\\n Total force decessary to decelarate the load= %.3f lb ' %F)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " Total force decessary to decelarate the load= 5379.438 lb \n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 8.6 Page No 186 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "d=3.0 #in diameter\n",
- "d1=1.5 #in diameter\n",
- "F=7500.0 #lb force\n",
- "\n",
- "#CALCULATIONS\n",
- "A1=(math.pi/4.0)*(d**2-d1**2)\n",
- "P=F/A1\n",
- "#RESULT\n",
- "print(' Pressure in the cylinder = %.3f psi' %P)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Pressure in the cylinder = 1413.711 psi"
- ]
- }
- ],
- "prompt_number": 6
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_9.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_9.ipynb
deleted file mode 100644
index ddb6d25f..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_No_9.ipynb
+++ /dev/null
@@ -1,271 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:fa3b77fb957b6452bc46163f22ab8db8630dd903dfdd45f948929785db1004f9"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter No 9 : Hydraulic motors<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example9.1 Page No 194 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "P=2000.0 #lbf/in^3 pressure\n",
- "Vm=0.5 #in^3 displacement\n",
- "\n",
- "#CALCULATONS\n",
- "T=P*Vm*0.16\n",
- "\n",
- "#RESULTS\n",
- "print('\\n Theotrical torque = %.3f lb-in ' %T)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Groove diameter = 3.776 in \n",
- " \n",
- " Groove width = 0.196 in \n",
- "\n",
- " outside diameter = 4.000 in "
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 9.2 Page No 194 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "Q=7.5 #gpm flow rate\n",
- "Q2=28.39 #l/min f;ow rate\n",
- "Vm=2 #in^3 displacement\n",
- "Vm2=0.03281 #l/rev displacement\n",
- "\n",
- "#CALCULATIONS\n",
- "N=231.0*Q/Vm # Theotrical speed\n",
- "#SI units\n",
- "N2=(Q2/Vm2) # in SI units Theotrical speed\n",
- "\n",
- "#RESULT\n",
- "print(' Theotrical speed of fluid power = %.3f rpm ' %N)\n",
- "print(' Using SI units Theotrical speed of fluid power = %.3f rev/min ' %N2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Theotrical speed of fluid power = 866.250 rpm \n",
- " Using SI units Theotrical speed of fluid power = 865.285 rev/min \n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 9.3 Page No 195 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "Vm=0.55 #in^3 displacement\n",
- "N=3400.0 #rpm Theotrical speed\n",
- "\n",
- "#CALCULATIONS\n",
- "Q=Vm*N/231.0\n",
- "\n",
- "#RESULT\n",
- "print(' Effective flow rate = %.3f gpm ' %Q)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Effective flow rate = 8.095 gpm \n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 9.4 Page No 195 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "T=32.0 #lb_ft torque\n",
- "N=1200.0 #rpm Theotrical speed\n",
- "P=2000.0 #psi pressure lbf/in^2\n",
- "Q=7.5 #gpm flow rate\n",
- "\n",
- "#CALCULATIONS\n",
- "eo=T*N*100.0/(P*Q*3.06)\n",
- "\n",
- "#RESULT\n",
- "print(' Overall efficiency = %.3f percent ' %eo)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Overall efficiency = 83.660 percent \n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 9.5 Page No 196 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "Vm=0.6 #in^3 displacement\n",
- "N=2400 #rpm theotrical speed\n",
- "Qa=6.5 #gal/min flow rate\n",
- "Vm1=0.00981 #l/rev displacement\n",
- "#CALCULATIONS\n",
- "ev=((Vm*N)/(Qa*231))*100\n",
- "#in SI units\n",
- "ev1=((Vm1*N)/(24.611))*100\n",
- "TFL=0.041*Qa # total fluid loss\n",
- "CDL=0.50*TFL #Case drain loss\n",
- "\n",
- "#RESULT\n",
- "print(' Total fluid loss = %.2f gal/min ' %TFL)\n",
- "print(' Case drain loss = %.2f gal/min ' %CDL)\n",
- "print(' Volumetric efficiency = %.2f percent ' %ev)\n",
- "print(' Volumetric efficiency in SI units = %.2f percent ' %ev1)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Total fluid loss = 0.27 gal/min \n",
- " Case drain loss = 0.13 gal/min \n",
- " Volumetric efficiency = 95.90 percent \n",
- " Volumetric efficiency in SI units = 95.66 percent \n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 9.6 Page No 197 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "#Variable initialization\n",
- "eo=88.0 # Overall efficiency (%)\n",
- "ev=97 # Volumetric efficiency(%)\n",
- "\n",
- "#CALCULATIONS\n",
- "em=(eo/ev)*100\n",
- "\n",
- "#RESULT\n",
- "print(' Mechnical efficiency efficiency = %.3f percent ' %em)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Mechnical efficiency efficiency = 90.722 percent \n"
- ]
- }
- ],
- "prompt_number": 2
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_no_1.ipynb b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_no_1.ipynb
deleted file mode 100644
index 1c23b49f..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/Chapter_no_1.ipynb
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:33757e16bbf0642b0e875c402b38109f03d490b4828afe5b522fd4980c273e77"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter No 1: Introduction<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 1.1, Page No 17 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "#initialisation of variables\n",
- "Pressure=1500.0 #lbf\n",
- "Area=12.57 #in^2\n",
- "\n",
- "#CALCULATIONS\n",
- "Force=Pressure*Area\n",
- "\n",
- "#RESULTS\n",
- "print('Force is = %.2f lbf' %Force)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Force is = 18855.00 lbf\n"
- ]
- }
- ],
- "prompt_number": 1
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/README.txt b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/README.txt
deleted file mode 100644
index b517b76e..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Mayur Sabban
-Course: be
-College/Institute/Organization: Vishwakarma Institute of Technology Pune
-Department/Designation: Computer Engg
-Book Title: Fluid Power Theory & Applications by J. Sullivan, 4th Edition
-Author: J. Sullivan
-Publisher: Reston Publishing Company
-Year of publication: 2007
-Isbn: 0137555881
-Edition: 4 \ No newline at end of file
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/Chapter2.png b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/Chapter2.png
deleted file mode 100644
index 6a07ebad..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/Chapter2.png
+++ /dev/null
Binary files differ
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/Chapter4.png b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/Chapter4.png
deleted file mode 100644
index 738fa40e..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/Chapter4.png
+++ /dev/null
Binary files differ
diff --git a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/chapter3.png b/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/chapter3.png
deleted file mode 100644
index 4b8ccbd2..00000000
--- a/_Fluid_Power_Theory_&_Applications_by_J._Sullivan,_4th_Edition/screenshots/chapter3.png
+++ /dev/null
Binary files differ
diff --git a/_Programming_With_C/README.txt b/_Programming_With_C/README.txt
deleted file mode 100644
index 87b1d603..00000000
--- a/_Programming_With_C/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Contributed By: Adnaan Ahmed
-Course: btech
-College/Institute/Organization: Heritage Institute of Technology
-Department/Designation: Computer Science and Engineering
-Book Title: Programming With C
-Author: Byron S. Gottfried
-Publisher: McGraw Hill Education (India) Private Limited, New Delhi
-Year of publication: 2013
-Isbn: 978-0-07-014590-0
-Edition: 3rd Edition \ No newline at end of file
diff --git a/_Programming_With_C/chapter1.ipynb b/_Programming_With_C/chapter1.ipynb
deleted file mode 100644
index c1eb1997..00000000
--- a/_Programming_With_C/chapter1.ipynb
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:be853ba23904264307d7e754c6f226daff90dc0e3bd2eca38f5b65419e2b80bc"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 1: Introductory Concepts <h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 1.6, Page number: 1.19<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "radius=5\n",
- "area=math.pi*radius*radius\n",
- "print \"Area = \",area\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Area = 78.5398163397\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter10.ipynb b/_Programming_With_C/chapter10.ipynb
deleted file mode 100644
index ea2e1985..00000000
--- a/_Programming_With_C/chapter10.ipynb
+++ /dev/null
@@ -1,556 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:3323f7a9a077b84fffdd30478d4b0d0b7f4032b86670a58b5b333d42bee04f15"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 10: Strings<h1> "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.3, Page Number: 10.3<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "st='Programming'\n",
- "print 'The string is %s' %st"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The string is Programming\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.4, Page Number: 10.4<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "st='Hello World'\n",
- "print 'The line is :'\n",
- "print st"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The line is :\n",
- "Hello World\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.6, Page Number: 10.5<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "strin='Welcome to python'\n",
- "for i in strin:\n",
- " print i,"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "W e l c o m e t o p y t h o n\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.7, Page Number: 10.6<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "str1='Programming'\n",
- "len1=len(str1)\n",
- "print 'The length of the string is ',len1\n",
- "\n",
- "str2=str1\n",
- "print 'First string is %s and copied string is %s' %(str1,str2)\n",
- "\n",
- "str3='Computer'\n",
- "\n",
- "if str1==str3:\n",
- " print 'Both strings are equal'\n",
- "elif str1<str2:\n",
- " print 'First string is lesser than second string'\n",
- "else:\n",
- " print 'First string is greater than second string'\n",
- " \n",
- "tempstr=' with C'\n",
- "str1=str1+tempstr\n",
- "print 'The concated string is ',str1\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The length of the string is 11\n",
- "First string is Programming and copied string is Programming\n",
- "First string is greater than second string\n",
- "The concated string is Programming with C\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.8,Page Number: 10.7<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def strlength(str1):\n",
- " count=0\n",
- " for i in str1:\n",
- " count+=1\n",
- " \n",
- " return count\n",
- "def strcopy(src):\n",
- " dst=[]\n",
- " for i in src:\n",
- " dst.append(i)\n",
- " \n",
- " dst=''.join(dst)\n",
- " \n",
- " return dst\n",
- "\n",
- "\n",
- "str1='New Delhi'\n",
- "len1=strlength(str1)\n",
- "print 'The length of the string is ',len1\n",
- "\n",
- "str2=strcopy(str1)\n",
- "print 'First string is %s and copied string is %s' %(str1,str2)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The length of the string is 9\n",
- "First string is New Delhi and copied string is New Delhi\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.9,Page Number: 10.9<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def strcompare(str1,str2):\n",
- " \n",
- " len1=len(str1)\n",
- " len2=len(str2)\n",
- " \n",
- " if len1<len2:\n",
- " length=len1\n",
- " else:\n",
- " length=len2\n",
- " \n",
- " for i in xrange(0,length):\n",
- " if str1[i]<str2[i]:\n",
- " return -1\n",
- " elif str1[i]>str2[i]:\n",
- " return 1\n",
- " \n",
- " return 0\n",
- "\n",
- "str1='Programming'\n",
- "str2='Computer'\n",
- "status=strcompare(str1,str2)\n",
- "if status==-1:\n",
- " print 'First string is lesser than second string'\n",
- "elif status==1:\n",
- " print 'First string is greater than second string'\n",
- "else:\n",
- " print 'Both strings ae equal'\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "First string is greater than second string\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.10, Page Number: 10.10<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def leftconcat(dst,src):\n",
- " dst=src+dst\n",
- " return dst\n",
- "\n",
- "def rightconcat(dst,src):\n",
- " dst=dst+src\n",
- " return dst\n",
- "\n",
- "str1='Hello'\n",
- "str2='Friends'\n",
- "\n",
- "tempstr=leftconcat(str2,str1)\n",
- "print 'The first string after left concatenation becomes ', tempstr\n",
- "\n",
- "tempstr=rightconcat(str2,str1)\n",
- "print 'The first string after right concatenation becomes', tempstr\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The first string after left concatenation becomes HelloFriends\n",
- "The first string after right concatenation becomes FriendsHello\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.11,Page Numbr: 10.12<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "str1='All good boys have bread'\n",
- "count=0\n",
- "\n",
- "for i in str1:\n",
- " if i=='a' or i=='e'or i=='i' or i=='o' or i=='u' or i=='A' or i=='E' or i=='I' or i=='O' or i=='U' :\n",
- " count+=1\n",
- " \n",
- "print 'Total number of vowels in a given text are ',count"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total number of vowels in a given text are 8\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.12, Page Number: 10.13<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "ch1='A'\n",
- "ch2=ord(ch1)+3\n",
- "print chr(ch2)\n",
- "\n",
- "ch1=chr(ord(ch1)+1)\n",
- "print ch1\n",
- "\n",
- "print ord('a')\n",
- "print ord('l')\n",
- "\n",
- "val=ord(ch1)*ch2\n",
- "print val\n",
- "\n",
- "print chr(100)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "D\n",
- "B\n",
- "97\n",
- "108\n",
- "4488\n",
- "d\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.13, Page Number: 10.13<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "text='I am studying 6 Theory Papers & 4 practicals'\n",
- "\n",
- "len1=len(text)\n",
- "text=list(text)\n",
- "for i in xrange(0,len1):\n",
- " if text[i]>='a' and text[i]<='z':\n",
- " text[i]=chr(ord(text[i])+ord('A')-ord('a'))\n",
- " \n",
- " \n",
- "text=''.join(text)\n",
- "\n",
- "print 'The text after converting lowercase alphabets to uppercase is '\n",
- "print text"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The text after converting lowercase alphabets to uppercase is \n",
- "I AM STUDYING 6 THEORY PAPERS & 4 PRACTICALS\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.14, Page Number: 10.14<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "text='The programming is a systematic process'\n",
- "substr='pro'\n",
- "text_len=len(text)\n",
- "sub_len=len(substr)\n",
- "text=list(text)\n",
- "substr=list(substr)\n",
- "\n",
- "for i in xrange(0,text_len-sub_len+1):\n",
- " \n",
- " for j in xrange(0,sub_len):\n",
- " \n",
- " if text[i+j]==substr[j]:\n",
- " continue\n",
- " else:\n",
- " break\n",
- " \n",
- " if j==sub_len-1:\n",
- " print 'The substring is present from subscript %d onwards' %i\n",
- " \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The substring is present from subscript 4 onwards\n",
- "The substring is present from subscript 32 onwards\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 10.15,Page number: 10.15<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def reorder(x):\n",
- "\n",
- " n=len(x)\n",
- " for item in range(0,n-1):\n",
- " for i in range(item+1,n):\n",
- " if x[item]>x[i]:\n",
- " temp=x[item]\n",
- " x[item]=x[i]\n",
- " x[i]=temp\n",
- "\n",
- "\n",
- " return\n",
- "\n",
- "x=['PACIFIC','ATLANTIC','INDIAN','CARIBBEAN','BERING','BLACK','RED','NORTH','BALTIC','CASPIAN']\n",
- "print 'Original list of strings :\\n\\n'\n",
- "\n",
- "for i in x:\n",
- " print \"String : \",i\n",
- "\n",
- "reorder(x)\n",
- "\n",
- "print \"\\nReodered list of strings : \\n\\n\"\n",
- "\n",
- "for i in x:\n",
- " print \"String : \",i\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Original list of strings :\n",
- "\n",
- "\n",
- "String : PACIFIC\n",
- "String : ATLANTIC\n",
- "String : INDIAN\n",
- "String : CARIBBEAN\n",
- "String : BERING\n",
- "String : BLACK\n",
- "String : RED\n",
- "String : NORTH\n",
- "String : BALTIC\n",
- "String : CASPIAN\n",
- "\n",
- "Reodered list of strings : \n",
- "\n",
- "\n",
- "String : ATLANTIC\n",
- "String : BALTIC\n",
- "String : BERING\n",
- "String : BLACK\n",
- "String : CARIBBEAN\n",
- "String : CASPIAN\n",
- "String : INDIAN\n",
- "String : NORTH\n",
- "String : PACIFIC\n",
- "String : RED\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 15
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter11.ipynb b/_Programming_With_C/chapter11.ipynb
deleted file mode 100644
index d858cd07..00000000
--- a/_Programming_With_C/chapter11.ipynb
+++ /dev/null
@@ -1,977 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:81f953770b0acac35782d6d61b5968cf0c7681b2e047ca75cfe8abd7244d5bab"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 11: Pointers<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.1, Page 11.2<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "u,v=[3],[]\n",
- "pu=u\n",
- "v=pu\n",
- "pv=v\n",
- "\n",
- "print \"u=\",u[0],\n",
- "print \"&u=\",id(u),\n",
- "print \"pu=\",id(u),\n",
- "print \"*pu\",pu[0]\n",
- "\n",
- "print \"v=\",v[0],\n",
- "print \"&v=\",id(v),\n",
- "print \"pv=\",id(v),\n",
- "print \"*pv\",pv[0]\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "u= 3 &u= 56575840 pu= 56575840 *pu 3\n",
- "v= 3 &v= 56575840 pv= 56575840 *pv 3\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.2, Page number: 11.3<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "v=[3]\n",
- "u1=2*(v[0]+5)\n",
- "pv=v\n",
- "u2=2*(pv[0]+5)\n",
- "\n",
- "print \"u1=%d u2=%d\" %(u1,u2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "u1=16 u2=16\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.3, Page munber: 11.4<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "v=[3]\n",
- "pv=v\n",
- "print \"*pv=%d v=%d\" %(pv[0],v[0])\n",
- "\n",
- "pv[0]=0\n",
- "print \"*pv=%d v=%d\" %(pv[0],v[0])"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "*pv=3 v=3\n",
- "*pv=0 v=0\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.7, Page number: 11.6<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def funct1(u,v):\n",
- " u=0\n",
- " v=0\n",
- " print \"Within funct1 : u=%d v=%d\" %(u,v)\n",
- " return\n",
- "\n",
- "def funct2(u,v):\n",
- " u[0]=0\n",
- " v[0]=0\n",
- " print \"Within funct2 : *pu=%d *pv=%d\" %(u[0],v[0])\n",
- " return\n",
- "\n",
- "u=[1]\n",
- "v=[3]\n",
- "\n",
- "print \"Before calling funct1: u=%d v=%d\" %(u[0],v[0])\n",
- "funct1(u[0],v[0])\n",
- "print \"After calling funct1 : u=%d v=%d\" %(u[0],v[0])\n",
- "\n",
- "print \"Before calling funct2: u=%d v=%d\" %(u[0],v[0])\n",
- "funct2(u,v)\n",
- "print \"After calling funct2 : u=%d v=%d\" %(u[0],v[0])"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Before calling funct1: u=1 v=3\n",
- "Within funct1 : u=0 v=0\n",
- "After calling funct1 : u=1 v=3\n",
- "Before calling funct2: u=1 v=3\n",
- "Within funct2 : *pu=0 *pv=0\n",
- "After calling funct2 : u=0 v=0\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.8, Page number: 11.8<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "def scan_line(line,pv,pc,pd,pw,po):\n",
- "\n",
- " for c in line:\n",
- "\n",
- " if c=='A' or c=='E' or c=='I' or c=='O' or c=='U':\n",
- " pv[0]+=1\n",
- " elif c>='A' and c<='Z':\n",
- " pc[0]+=1\n",
- " elif c>='0' and c<='9':\n",
- " pd[0]+=1\n",
- " elif c==' ' or c=='\\t':\n",
- " pw[0]+=1\n",
- " else:\n",
- " po[0]+=1\n",
- "\n",
- " return\n",
- "\n",
- "\n",
- "vowel,consonants,digits,whitespc,other=[0],[0],[0],[0],[0]\n",
- "line=\"Personal computers with memories in excess of 4096 KB are now quite common.\"\n",
- "line=line.upper()\n",
- "scan_line(line,vowel,consonants,digits,whitespc,other)\n",
- "print \"\\n\\n\"\n",
- "print \"No. of vowels : \",vowel[0]\n",
- "print \"No. of consonants : \",consonants[0]\n",
- "print \"No. of digits : \",digits[0]\n",
- "print \"No. of whitespace characters : \",whitespc[0]\n",
- "print \"No. of other characters : \",other[0]"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "\n",
- "\n",
- "No. of vowels : 23\n",
- "No. of consonants : 35\n",
- "No. of digits : 4\n",
- "No. of whitespace characters : 12\n",
- "No. of other characters : 1\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.12, Page number: 11.15<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "x=[10,11,12,13,14,15,16,17,18,19]\n",
- "\n",
- "for i in range(0,10):\n",
- " print \"i=%d x[i]=%d *(x+1)=%d\" %(i,x[i],x[i]),\n",
- " print \" &x[i]=\",id(x[i]),\n",
- " print \" x+i=\",id(x[i])"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "i=0 x[i]=10 *(x+1)=10 &x[i]= 30696620 x+i= 30696620\n",
- "i=1 x[i]=11 *(x+1)=11 &x[i]= 30696608 x+i= 30696608\n",
- "i=2 x[i]=12 *(x+1)=12 &x[i]= 30696596 x+i= 30696596\n",
- "i=3 x[i]=13 *(x+1)=13 &x[i]= 30696584 x+i= 30696584\n",
- "i=4 x[i]=14 *(x+1)=14 &x[i]= 30696572 x+i= 30696572\n",
- "i=5 x[i]=15 *(x+1)=15 &x[i]= 30696560 x+i= 30696560\n",
- "i=6 x[i]=16 *(x+1)=16 &x[i]= 30696548 x+i= 30696548\n",
- "i=7 x[i]=17 *(x+1)=17 &x[i]= 30696536 x+i= 30696536\n",
- "i=8 x[i]=18 *(x+1)=18 &x[i]= 30696524 x+i= 30696524\n",
- "i=9 x[i]=19 *(x+1)=19 &x[i]= 30696512 x+i= 30696512\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.14, Page number: 11.17<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def main():\n",
- " global x\n",
- " y=\"This string is declared within main\"\n",
- " y=list(y)\n",
- " x=list(x)\n",
- " print x\n",
- " print y\n",
- "\n",
- " return\n",
- "\n",
- "x=\"This string is declared externally\"\n",
- "main()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "['T', 'h', 'i', 's', ' ', 's', 't', 'r', 'i', 'n', 'g', ' ', 'i', 's', ' ', 'd', 'e', 'c', 'l', 'a', 'r', 'e', 'd', ' ', 'e', 'x', 't', 'e', 'r', 'n', 'a', 'l', 'l', 'y']\n",
- "['T', 'h', 'i', 's', ' ', 's', 't', 'r', 'i', 'n', 'g', ' ', 'i', 's', ' ', 'd', 'e', 'c', 'l', 'a', 'r', 'e', 'd', ' ', 'w', 'i', 't', 'h', 'i', 'n', ' ', 'm', 'a', 'i', 'n']\n"
- ]
- }
- ],
- "prompt_number": 17
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.16, Page number: 11.19<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def reorder(x):\n",
- " n=len(x)\n",
- " for item in range(0,n-1):\n",
- " for i in range(item+1,n):\n",
- " if x[i]<x[item]:\n",
- " temp=x[item]\n",
- " x[item]=x[i]\n",
- " x[i]=temp\n",
- "\n",
- " return\n",
- "\n",
- "n=10\n",
- "x=[]\n",
- "\n",
- "for i in range(0,n):\n",
- " inp=i+1\n",
- " print \"\\ni=%d x=%d\" %(i+1,inp),\n",
- " x.append(inp)\n",
- "\n",
- "reorder(x)\n",
- "\n",
- "print \"\\n\"\n",
- "for i in range(0,n):\n",
- " print \"i=%d x=%d\" %(i+1,x[i])\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "i=1 x=1 \n",
- "i=2 x=2 \n",
- "i=3 x=3 \n",
- "i=4 x=4 \n",
- "i=5 x=5 \n",
- "i=6 x=6 \n",
- "i=7 x=7 \n",
- "i=8 x=8 \n",
- "i=9 x=9 \n",
- "i=10 x=10 \n",
- "\n",
- "i=1 x=1\n",
- "i=2 x=2\n",
- "i=3 x=3\n",
- "i=4 x=4\n",
- "i=5 x=5\n",
- "i=6 x=6\n",
- "i=7 x=7\n",
- "i=8 x=8\n",
- "i=9 x=9\n",
- "i=10 x=10\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.17, Page number: 11.21<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "i=[4]\n",
- "i[0]=1\n",
- "f=0.3\n",
- "d=0.005\n",
- "c='*'\n",
- "\n",
- "px=i\n",
- "print 'Values: i=%d f=%f d=%f c=%c \\n' %(i[0],f,d,c)\n",
- "print 'Addresses: &i=%X &f=%X &d=%X &c=%X \\n' %(id(i[0]),id(f),id(d),id(c))\n",
- "print 'Pointer Values: px=%X px+1=%X px+2=%X px+3=%X' %(id(px[0]),id(px[0]+1),id(px[0]+2),id(px[0]+3))\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Values: i=1 f=0.300000 d=0.005000 c=* \n",
- "\n",
- "Addresses: &i=1D46518 &f=32BD940 &d=32BD950 &c=1D9F158 \n",
- "\n",
- "Pointer Values: px=1D46518 px+1=1D4650C px+2=1D46500 px+3=1D464F4\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.18, Page number: 11.22<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "a=[1,2,3,4,5,6]\n",
- "\n",
- "px=a[0]\n",
- "py=a[5]\n",
- "\n",
- "print 'px=%X py=%X \\n' %(id(px),id(py))\n",
- "print 'py - px = %X' %(id(py)-id(px))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "px=1D46518 py=1D464DC \n",
- "\n",
- "py - px = -3C\n"
- ]
- }
- ],
- "prompt_number": 20
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.22, Page number: 11.26<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def readinput(m,n,i=0):\n",
- "\n",
- " at=[]\n",
- " for row in range(0,m):\n",
- " temp=[]\n",
- " for col in range(0,n):\n",
- " t=i\n",
- " i+=2\n",
- " temp.append(t)\n",
- " at.append(temp)\n",
- "\n",
- "\n",
- " return at\n",
- " \n",
- "def computesum(a,b,m,n):\n",
- "\n",
- " c=[]\n",
- "\n",
- " for row in range(0,m):\n",
- " temp=[]\n",
- " for col in range(0,n):\n",
- " t=a[row][col]+b[row][col]\n",
- " temp.append(t)\n",
- " c.append(temp)\n",
- "\n",
- " return c\n",
- "\n",
- "def writeoutput(c,m,n):\n",
- "\n",
- " for row in range(0,m):\n",
- " for col in range(0,n):\n",
- " print \"%4d\" %(c[row][col]),\n",
- " print\n",
- "\n",
- " return\n",
- "\n",
- "\n",
- "\n",
- "print \"\\n FIRST TABLE : \\n\"\n",
- "a=readinput(5,5,1)\n",
- "writeoutput(a,5,5)\n",
- "\n",
- "print \"\\n SECOND TABLE : \\n\"\n",
- "b=readinput(5,5,50)\n",
- "writeoutput(b,5,5)\n",
- "\n",
- "c=computesum(a,b,5,5)\n",
- "print \"Sums of the elements : \\n\"\n",
- "writeoutput(c,5,5)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " FIRST TABLE : \n",
- "\n",
- " 1 3 5 7 9\n",
- " 11 13 15 17 19\n",
- " 21 23 25 27 29\n",
- " 31 33 35 37 39\n",
- " 41 43 45 47 49\n",
- "\n",
- " SECOND TABLE : \n",
- "\n",
- " 50 52 54 56 58\n",
- " 60 62 64 66 68\n",
- " 70 72 74 76 78\n",
- " 80 82 84 86 88\n",
- " 90 92 94 96 98\n",
- "Sums of the elements : \n",
- "\n",
- " 51 55 59 63 67\n",
- " 71 75 79 83 87\n",
- " 91 95 99 103 107\n",
- " 111 115 119 123 127\n",
- " 131 135 139 143 147\n"
- ]
- }
- ],
- "prompt_number": 21
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.24, Page number: 11.31<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def readinput(m,n,i=0):\n",
- "\n",
- " at=[]\n",
- " for row in range(0,m):\n",
- " temp=[]\n",
- " for col in range(0,n):\n",
- " t=i\n",
- " i+=2\n",
- " temp.append(t)\n",
- " at.append(temp)\n",
- "\n",
- "\n",
- " return at\n",
- " \n",
- "def computesum(a,b,m,n):\n",
- "\n",
- " c=[]\n",
- "\n",
- " for row in range(0,m):\n",
- " temp=[]\n",
- " for col in range(0,n):\n",
- " t=a[row][col]+b[row][col]\n",
- " temp.append(t)\n",
- " c.append(temp)\n",
- "\n",
- " return c\n",
- "\n",
- "def writeoutput(c,m,n):\n",
- "\n",
- " for row in range(0,m):\n",
- " for col in range(0,n):\n",
- " print \"%4d\" %(c[row][col]),\n",
- " print\n",
- "\n",
- " return\n",
- "\n",
- "\n",
- "\n",
- "print \"\\n FIRST TABLE : \\n\"\n",
- "a=readinput(5,5,1)\n",
- "writeoutput(a,5,5)\n",
- "\n",
- "print \"\\n SECOND TABLE : \\n\"\n",
- "b=readinput(5,5,50)\n",
- "writeoutput(b,5,5)\n",
- "\n",
- "c=computesum(a,b,5,5)\n",
- "print \"Sums of the elements : \\n\"\n",
- "writeoutput(c,5,5)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " FIRST TABLE : \n",
- "\n",
- " 1 3 5 7 9\n",
- " 11 13 15 17 19\n",
- " 21 23 25 27 29\n",
- " 31 33 35 37 39\n",
- " 41 43 45 47 49\n",
- "\n",
- " SECOND TABLE : \n",
- "\n",
- " 50 52 54 56 58\n",
- " 60 62 64 66 68\n",
- " 70 72 74 76 78\n",
- " 80 82 84 86 88\n",
- " 90 92 94 96 98\n",
- "Sums of the elements : \n",
- "\n",
- " 51 55 59 63 67\n",
- " 71 75 79 83 87\n",
- " 91 95 99 103 107\n",
- " 111 115 119 123 127\n",
- " 131 135 139 143 147\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.26, Page number: 11.34<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def reorder(x):\n",
- "\n",
- " n=len(x)\n",
- " for item in range(0,n-1):\n",
- " for i in range(item+1,n):\n",
- " if x[item]>x[i]:\n",
- " temp=x[item]\n",
- " x[item]=x[i]\n",
- " x[i]=temp\n",
- "\n",
- "\n",
- " return\n",
- "\n",
- "x=['PACIFIC','ATLANTIC','INDIAN','CARIBBEAN','BERING','BLACK','RED','NORTH','BALTIC','CASPIAN']\n",
- "print 'Original list of strings :\\n\\n'\n",
- "\n",
- "for i in x:\n",
- " print \"String : \",i\n",
- "\n",
- "reorder(x)\n",
- "\n",
- "print \"\\nReodered list of strings : \\n\\n\"\n",
- "\n",
- "for i in x:\n",
- " print \"String : \",i"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Original list of strings :\n",
- "\n",
- "\n",
- "String : PACIFIC\n",
- "String : ATLANTIC\n",
- "String : INDIAN\n",
- "String : CARIBBEAN\n",
- "String : BERING\n",
- "String : BLACK\n",
- "String : RED\n",
- "String : NORTH\n",
- "String : BALTIC\n",
- "String : CASPIAN\n",
- "\n",
- "Reodered list of strings : \n",
- "\n",
- "\n",
- "String : ATLANTIC\n",
- "String : BALTIC\n",
- "String : BERING\n",
- "String : BLACK\n",
- "String : CARIBBEAN\n",
- "String : CASPIAN\n",
- "String : INDIAN\n",
- "String : NORTH\n",
- "String : PACIFIC\n",
- "String : RED\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.28, Page number: 11.37<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def convert(mm,dd,yy):\n",
- " yy-=1900\n",
- " ndays=long(30.42*(mm-1)+dd)\n",
- " if mm==2:\n",
- " ndays+=1\n",
- " if mm>2 and mm<8:\n",
- " ndays-=1\n",
- " if yy%4==0 and mm<2:\n",
- " ndays+=1\n",
- "\n",
- " ncycles=yy/4\n",
- " ndays+=ncycles*1461\n",
- "\n",
- " nyears=yy%4\n",
- " if nyears>0:\n",
- " ndays+=365*nyears+1\n",
- " if ndays>59:\n",
- " ndays-=1\n",
- "\n",
- " day=ndays%7\n",
- "\n",
- " return day\n",
- "\n",
- "def main(mm,dd,yy):\n",
- " day_of_week=convert(mm,dd,yy)\n",
- " print \"%s, %s %d %d\" %(weekday[day_of_week],month[mm-1],dd,yy)\n",
- " return\n",
- " \n",
- "weekday=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']\n",
- "month=['January','February','March','April','May','June','July','August',\\\n",
- " 'September','October','November','December']\n",
- "\n",
- "main(10,29,1929)\n",
- "print\n",
- "main(8,15,1945)\n",
- "print\n",
- "main(7,20,1969)\n",
- "print\n",
- "main(5,24,1997)\n",
- "print\n",
- "main(8,30,2010)\n",
- "print\n",
- "main(4,12,2069)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Tuesday, October 29 1929\n",
- "\n",
- "Wednesday, August 15 1945\n",
- "\n",
- "Sunday, July 20 1969\n",
- "\n",
- "Saturday, May 24 1997\n",
- "\n",
- "Monday, August 30 2010\n",
- "\n",
- "Friday, April 12 2069\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 11.30, Page number: 11.44<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def ratio_choose(freq,a,m,n):\n",
- "\n",
- " if freq=='C':\n",
- " ratio=md3(a,m,n)\n",
- " elif freq=='D':\n",
- " ratio=md2(a,m,n)\n",
- " else:\n",
- " ratio=md1(a,m,n)\n",
- "\n",
- " return ratio\n",
- "\n",
- "\n",
- "def table(freq,a,m,n):\n",
- "\n",
- "\n",
- " print \"Interest Rate Future Amount\\n\\n\"\n",
- " for count in range(1,21):\n",
- " i=0.01*count\n",
- " f=a*ratio_choose(freq,i,m,n)\n",
- " print \" %2d %.2f\" %(count,f)\n",
- "\n",
- " return\n",
- "\n",
- "def md1(i,m,n):\n",
- " \n",
- " factor=1+i/m\n",
- " ratio=12*(factor**(m*n)-1)/i\n",
- " return ratio\n",
- "\n",
- "def md2(i,m,n):\n",
- "\n",
- " factor=1+i/m\n",
- " ratio=(factor**(m*n)-1)/(factor**(m/12)-1)\n",
- " return ratio\n",
- "\n",
- "def md3(i,dummy,n):\n",
- " ratio=(10**(i*n)-1)/(10**(i/12)-1)\n",
- " return ratio\n",
- "\n",
- "def main(freq):\n",
- " m=0\n",
- " freq=freq.upper()\n",
- " if freq=='A':\n",
- " m=1\n",
- " print \"\\nAnual Compounding\\n\"\n",
- " \n",
- " elif freq=='S':\n",
- " m=2\n",
- " print \"\\nSemiannual Compounding\\n\"\n",
- " \n",
- " elif freq=='Q':\n",
- " print \"\\nQuaterly Compounding\\n\"\n",
- " m=4\n",
- " \n",
- " elif freq=='M':\n",
- " m=12\n",
- " print \"\\nMonthly Compounding\\n\"\n",
- " \n",
- " elif freq=='D':\n",
- " m=360\n",
- " print \"\\nDaily Compounding\\n\"\n",
- "\n",
- " elif freq=='C':\n",
- " m=0\n",
- " print \"\\nContinuous Compounding\\n\"\n",
- " \n",
- " else:\n",
- " print \"\\nERROR!!! Please Repeat\\n\\n\"\n",
- " return\n",
- " \n",
- " return m\n",
- "\n",
- "\n",
- "a,n,freq=100,3,'m'\n",
- "print \"FUTURE VALUE OF A SERIES OF MONTHLY DEPOSITS\\n\\n\"\n",
- "print \"Frequency of Compunding (A,S,Q,M,D,C): \",freq\n",
- "print \"Amount of Each Monthly Payement : \",a\n",
- "print \"Number of years: \",n\n",
- "m=main(freq)\n",
- "\n",
- "table(freq,a,m,n)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "FUTURE VALUE OF A SERIES OF MONTHLY DEPOSITS\n",
- "\n",
- "\n",
- "Frequency of Compunding (A,S,Q,M,D,C): m\n",
- "Amount of Each Monthly Payement : 100\n",
- "Number of years: 3\n",
- "\n",
- "Monthly Compounding\n",
- "\n",
- "Interest Rate Future Amount\n",
- "\n",
- "\n",
- " 1 3653.00\n",
- " 2 3707.01\n",
- " 3 3762.06\n",
- " 4 3818.16\n",
- " 5 3875.33\n",
- " 6 3933.61\n",
- " 7 3993.01\n",
- " 8 4053.56\n",
- " 9 4115.27\n",
- " 10 4178.18\n",
- " 11 4242.31\n",
- " 12 4307.69\n",
- " 13 4374.33\n",
- " 14 4442.28\n",
- " 15 4511.55\n",
- " 16 4582.17\n",
- " 17 4654.18\n",
- " 18 4727.60\n",
- " 19 4802.45\n",
- " 20 4878.78\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 25
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter12.ipynb b/_Programming_With_C/chapter12.ipynb
deleted file mode 100644
index 09e4c7e9..00000000
--- a/_Programming_With_C/chapter12.ipynb
+++ /dev/null
@@ -1,565 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 12: Structures and Unions<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.1, Page 12.2<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "\n",
- "string=c_char*20\n",
- "\n",
- "class account(Structure):\n",
- "\t_fields_=[('acct_no',c_int),('acct_type',c_char),('name',string),('balance',c_int)]\n",
- "\n",
- "customer=account(12632,'r','Joseph',1200)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.4, Page 12.4<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "\n",
- "string=c_char*20\n",
- "\n",
- "class date(Structure):\n",
- "\t_fields_=[('month',c_int),('day',c_int),('year',c_int)]\n",
- "\t\n",
- "class account(Structure):\n",
- "\t_fields_=[('acct_no',c_int),('acct_type',c_char),('name',string),('balance',c_float),('lastpayment',date)]\n",
- "\t\n",
- "customer=account(12345,'r','John W. Smith',586.30,date(5,24,90))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.6, Page 12.6<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "\n",
- "string=c_char*20\n",
- "\n",
- "class date(Structure):\n",
- "\t\n",
- "\t_fields_=[('name',string),('month',c_int),('day',c_int),('year',c_int)]\n",
- "\n",
- "birthday=[]\n",
- "birthday.append(date('Amy',12,30,73))\n",
- "birthday.append(date('Gail',5,13,66))\n",
- "birthday.append(date('Marc',7,15,72))\n",
- "birthday.append(date('Marla',11,29,70))\n",
- "birthday.append(date('Megan',2,4,77))\n",
- "birthday.append(date('Sharon',12,29,63))\n",
- "birthday.append(date('Susan',4,12,69))"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.14, Page 12.13<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "from ctypes import *\n",
- "\n",
- "string=c_char*50\n",
- "\n",
- "def writeoutput(obj):\n",
- "\tprint \"Name : \",obj.name,\n",
- "\tprint \"\\t Account Number : \",obj.acct_no\n",
- "\tprint \"Street : \",obj.street\n",
- "\tprint \"City : \",obj.city\n",
- "\tprint \"Old Balance : %7.2f\" %(obj.oldbalance)\n",
- "\tprint \"Payment : %7.2f\" %(obj.payment)\n",
- "\tprint \"New Balance : %7.2f\" %(obj.newbalance)\n",
- "\tprint \"Account Status : \",\n",
- "\t\n",
- "\tif obj.acct_type=='C':\n",
- "\t\tprint \"CURRENT\\n\\n\"\n",
- "\telif obj.acct_type=='O':\n",
- "\t\tprint \"OVERDUE\\n\\n\"\n",
- "\telse:\n",
- "\t\tprint \"DELINQUENT\\n\\n\"\n",
- "\t\t\n",
- "\treturn\n",
- "\n",
- "\n",
- "class date(Structure):\n",
- "\t_fields_=[('month',c_int),('day',c_int),('year',c_int)]\n",
- "\t\n",
- "\n",
- "class account(Structure):\n",
- "\t_fields_=[('name',string),('street',string),('city',string),('acct_no',c_int),('oldbalance',c_float),('payment',c_float),('lastpayment',date),('newbalance',c_float),('acct_type',c_char)]\n",
- "\t\t\n",
- "print \"CUSOMER BILLING SYSTEM\\n\\n\"\n",
- "customer=[]\n",
- "name='Steve Johnson'\n",
- "street='123 Mountainview Drive '\n",
- "city='Denver . CO'\n",
- "acct_no=4208\n",
- "oldbalance=247.88\n",
- "payment=25.00\n",
- "lastpay=date(6,14,1998)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "name='Susan Richards'\n",
- "street='4383 Aligator Blvd'\n",
- "city='Fort Lauderdale. FL'\n",
- "acct_no=2219\n",
- "oldbalance=135.00\n",
- "payment=135.00\n",
- "lastpay=date(8,10,2000)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "name='Martin Peterson'\n",
- "street='1787 Pacific Parkway'\n",
- "city='San Diego. CA'\n",
- "acct_no=8452\n",
- "oldbalance=387.42\n",
- "payment=35.00\n",
- "lastpay=date(9,22,1999)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "name='Phyllis Smith'\n",
- "street='1000 Great White Way'\n",
- "city='New York. NY'\n",
- "acct_no=711\n",
- "oldbalance=260.00\n",
- "payment=0.00\n",
- "lastpay=date(11,27,2001)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "\n",
- "\n",
- "for i in range(0,4):\n",
- "\tif customer[i].payment>0:\n",
- "\t\tif customer[i].payment<0.1*customer[i].oldbalance:\n",
- "\t\t\tcustomer[i].acct_type='O'\n",
- "\t\telse:\n",
- "\t\t\tcustomer[i].acct_type='C'\n",
- "\telse:\n",
- "\t\tif customer[i].oldbalance>0:\n",
- "\t\t\tcustomer[i].acct_type='D'\n",
- "\t\telse:\n",
- "\t\t\tcustomer[i].acct_type='C'\n",
- "\t\n",
- "\tcustomer[i].newbalance=customer[i].oldbalance-customer[i].payment\n",
- "\t\n",
- "\twriteoutput(customer[i])\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "CUSOMER BILLING SYSTEM\n",
- "\n",
- "\n",
- "Name : Steve Johnson \t Account Number : 4208\n",
- "Street : 123 Mountainview Drive \n",
- "City : Denver . CO\n",
- "Old Balance : 247.88\n",
- "Payment : 25.00\n",
- "New Balance : 222.88\n",
- "Account Status : CURRENT\n",
- "\n",
- "\n",
- "Name : Susan Richards \t Account Number : 2219\n",
- "Street : 4383 Aligator Blvd\n",
- "City : Fort Lauderdale. FL\n",
- "Old Balance : 135.00\n",
- "Payment : 135.00\n",
- "New Balance : 0.00\n",
- "Account Status : CURRENT\n",
- "\n",
- "\n",
- "Name : Martin Peterson \t Account Number : 8452\n",
- "Street : 1787 Pacific Parkway\n",
- "City : San Diego. CA\n",
- "Old Balance : 387.42\n",
- "Payment : 35.00\n",
- "New Balance : 352.42\n",
- "Account Status : OVERDUE\n",
- "\n",
- "\n",
- "Name : Phyllis Smith \t Account Number : 711\n",
- "Street : 1000 Great White Way\n",
- "City : New York. NY\n",
- "Old Balance : 260.00\n",
- "Payment : 0.00\n",
- "New Balance : 260.00\n",
- "Account Status : DELINQUENT\n",
- "\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.25, Page 12.29<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "\n",
- "string=c_char*10\n",
- "\n",
- "class record(Structure):\n",
- "\t_fields_=[('name',string),('acct_no',c_int),('acct_type',c_char),('balance',c_float)]\n",
- "\t\n",
- "def adjust(obj):\n",
- "\tobj.name='Jones'\n",
- "\tobj.acct_no=9999\n",
- "\tobj.acct_type='R'\n",
- "\tobj.balance=99.99\n",
- "\treturn\n",
- "\n",
- "\n",
- "customer=record('Smith',3333,'C',33.33)\n",
- "print customer.name,customer.acct_no,customer.acct_type,\n",
- "print \"%.2f\" %customer.balance\n",
- "\n",
- "adjust(customer)\n",
- "\n",
- "print customer.name,customer.acct_no,customer.acct_type,\n",
- "print \"%.2f\" %customer.balance\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Smith 3333 C 33.33\n",
- "Jones 9999 R 99.99\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.32, Page 12.42<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "class node():\n",
- "\t\n",
- "\tdef __init__(self,data):\n",
- "\t\tself.data=data\n",
- "\t\tself.next=None\n",
- "\n",
- "\t\t\n",
- "class list():\n",
- "\t\n",
- "\tdef __init__(self):\n",
- "\t\tself.head=None\n",
- "\t\tself.tail=None\n",
- "\t\n",
- "\tdef insert(self,x):\n",
- "\t\t\n",
- "\t\te=node(x)\n",
- "\t\t\n",
- "\t\tif self.head==None:\n",
- "\t\t\tself.head=e\n",
- "\t\t\tself.tail=e\n",
- "\t\t\t\n",
- "\t\telse:\n",
- "\t\t\tself.tail.next=e\n",
- "\t\t\tself.tail=e\n",
- "\t\t\t\n",
- "def display(ptr):\n",
- "\tnptr=ptr.head\n",
- "\twhile nptr!=None:\n",
- "\t\tprint nptr.data\n",
- "\t\tnptr=nptr.next\n",
- "\t\n",
- "\treturn\n",
- "\t\n",
- "def delete(ptr,element):\n",
- "\tnptr=ptr.head\n",
- "\twhile nptr.next.data!=element:\n",
- "\t\tnptr=nptr.next\n",
- "\t\tif nptr.next==None:\n",
- "\t\t\treturn\n",
- "\t\n",
- "\tdptr=nptr.next\n",
- "\tnptr.next=dptr.next\n",
- "\tdel dptr\n",
- "\treturn\n",
- "\t\n",
- "p=list()\n",
- "p.insert('BOSTON')\n",
- "p.insert('CHICAGO')\n",
- "p.insert('DENVER')\n",
- "p.insert('NEW YORK')\n",
- "p.insert('PITTSBURG')\n",
- "\n",
- "display(p)\n",
- "print '\\n\\nAFTER DELETING DENVER\\n\\n'\n",
- "delete(p,'DENVER')\n",
- "display(p)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "BOSTON\n",
- "CHICAGO\n",
- "DENVER\n",
- "NEW YORK\n",
- "PITTSBURG\n",
- "\n",
- "\n",
- "AFTER DELETING DENVER\n",
- "\n",
- "\n",
- "BOSTON\n",
- "CHICAGO\n",
- "NEW YORK\n",
- "PITTSBURG\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.35, Page 12.57<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "from ctypes import *\n",
- "\n",
- "string=c_char*20\n",
- "\n",
- "class id(Union):\n",
- "\t_fields_=[('color',c_char),('size',c_int)]\n",
- "\t\n",
- "class clothes(Structure):\n",
- "\t_fields_=[('manufacturer',string),('cost',c_float),('description',id)]\n",
- "\t\n",
- "shirt=clothes()\n",
- "shirt.description.color='w'\n",
- "print \"%c %d\\n\" %(shirt.description.color,shirt.description.size)\n",
- "\n",
- "shirt.description.size=12\n",
- "print \"%c %d\" %(shirt.description.color,shirt.description.size)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "w 119\n",
- "\n",
- "\f",
- " 12\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 12.37, Page 12.59<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "import math\n",
- "\n",
- "\n",
- "class nvals(Union):\n",
- "\t_fields_=[('fexp',c_float),('nexp',c_int)]\n",
- "\t\n",
- "class values(Structure):\n",
- "\t_fields_=[('x',c_float),('flag',c_char),('exp',nvals)]\n",
- "\t\n",
- "def power(a):\n",
- "\ty=a.x\n",
- "\t\n",
- "\tif a.flag=='i':\n",
- "\t\tif a.exp.nexp==0:\n",
- "\t\t\ty=1.0\n",
- "\t\telse:\n",
- "\t\t\ti=1\n",
- "\t\t\twhile i<abs(a.exp.nexp):\n",
- "\t\t\t\ty*=a.x\n",
- "\t\t\t\ti+=1\n",
- "\t\t\t\n",
- "\t\t\tif a.exp.nexp<0:\n",
- "\t\t\t\ty=1.0/y\n",
- "\t\n",
- "\telse:\n",
- "\t\ty=math.exp(a.exp.fexp*math.log(a.x))\n",
- "\t\n",
- "\treturn y\n",
- "\t\n",
- "def main(in1,n):\n",
- "\ta=values()\n",
- "\ta.x=in1\n",
- "\t\n",
- "\ti=int(n)\n",
- "\t\n",
- "\tif i==n:\n",
- "\t\ta.flag='i'\n",
- "\telse:\n",
- "\t\ta.flag='f'\n",
- "\t\n",
- "\tif a.flag=='i':\n",
- "\t\ta.exp.nexp=i\n",
- "\telse:\n",
- "\t\ta.exp.fexp=n\n",
- "\t\t\n",
- "\tif a.flag=='f' and a.x<=0.0:\n",
- "\t\tprint \"ERROR - Cannot raise a non-positive number to a floating point power\"\n",
- "\telse:\n",
- "\t\ty=power(a)\n",
- "\t\tprint \"y=%.4f\" %y\n",
- "\t\n",
- "\treturn\n",
- "\n",
- "print \"\\nx=2\\nn=3\"\n",
- "main(2,3)\n",
- "print \"\\nx=-2\\nn=3\"\n",
- "main(-2,3)\n",
- "print \"\\nx=2.2\\nn=3.3\"\n",
- "main(2.2,3.3)\n",
- "print \"\\nx=-2.2\\nn=3.3\"\n",
- "main(-2.2,3.3)\n",
- "\n",
- "\n",
- "\t\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "x=2\n",
- "n=3\n",
- "y=8.0000\n",
- "\n",
- "x=-2\n",
- "n=3\n",
- "y=-8.0000\n",
- "\n",
- "x=2.2\n",
- "n=3.3\n",
- "y=13.4895\n",
- "\n",
- "x=-2.2\n",
- "n=3.3\n",
- "ERROR - Cannot raise a non-positive number to a floating point power\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter13.ipynb b/_Programming_With_C/chapter13.ipynb
deleted file mode 100644
index fe4b86df..00000000
--- a/_Programming_With_C/chapter13.ipynb
+++ /dev/null
@@ -1,180 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 13: File Handling<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 13.3, Page 12.4<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "fp=open(\"output.txt\",'w')\n",
- "for k in range(65,91):\n",
- "\tfp.write(str(k)+'\\n')\n",
- "fp.close()\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 13.7, Page 13.8<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "\n",
- "string=c_char*40\n",
- "\n",
- "class date(Structure):\n",
- "\t_fields_=[('month',c_int),('day',c_int),('year',c_int)]\n",
- "\t\n",
- "class account(Structure):\n",
- "\t_fields_=[('name',string),('street',string),('city',string),('acct_no',c_int),('oldbalance',c_float),('payment',c_float),('lastpayment',date),('acct_type',c_char),('newbalance',c_float)]\n",
- "\n",
- "\n",
- "def writefile(obj,fpt):\n",
- "\tfpt.write(obj.name+'\\n')\n",
- "\tfpt.write(obj.city+'\\n')\n",
- "\tfpt.write(str(obj.acct_no)+'\\n')\n",
- "\tfpt.write(obj.acct_type+'\\n')\n",
- "\tfpt.write(str(obj.oldbalance)+'\\n')\n",
- "\tfpt.write(str(obj.newbalance)+'\\n')\n",
- "\tfpt.write(str(obj.payment)+'\\n')\n",
- "\tfpt.write(str(obj.lastpayment.month)+' ')\n",
- "\tfpt.write(str(obj.lastpayment.day)+' ')\n",
- "\tfpt.write(str(obj.lastpayment.year)+'\\n\\n')\n",
- "\t\n",
- "\treturn\t\n",
- "\t\n",
- "fpt=open('records.txt','w')\n",
- "\n",
- "\n",
- "customer=[]\n",
- "\n",
- "name='Steve Johnson'\n",
- "street='123 Mountainview Drive '\n",
- "city='Denver . CO'\n",
- "acct_no=4208\n",
- "oldbalance=247.88\n",
- "payment=25.00\n",
- "lastpay=date(6,14,1998)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "name='Susan Richards'\n",
- "street='4383 Aligator Blvd'\n",
- "city='Fort Lauderdale. FL'\n",
- "acct_no=2219\n",
- "oldbalance=135.00\n",
- "payment=135.00\n",
- "lastpay=date(8,10,2000)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "name='Martin Peterson'\n",
- "street='1787 Pacific Parkway'\n",
- "city='San Diego. CA'\n",
- "acct_no=8452\n",
- "oldbalance=387.42\n",
- "payment=35.00\n",
- "lastpay=date(9,22,1999)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "name='Phyllis Smith'\n",
- "street='1000 Great White Way'\n",
- "city='New York. NY'\n",
- "acct_no=711\n",
- "oldbalance=260.00\n",
- "payment=0.00\n",
- "lastpay=date(11,27,2001)\n",
- "customer.append(account(name,street,city,acct_no,oldbalance,payment,lastpay))\n",
- "\n",
- "\n",
- "\n",
- "for i in range(0,4):\n",
- "\tif customer[i].payment>0:\n",
- "\t\tif customer[i].payment<0.1*customer[i].oldbalance:\n",
- "\t\t\tcustomer[i].acct_type='O'\n",
- "\t\telse:\n",
- "\t\t\tcustomer[i].acct_type='C'\n",
- "\telse:\n",
- "\t\tif customer[i].oldbalance>0:\n",
- "\t\t\tcustomer[i].acct_type='D'\n",
- "\t\telse:\n",
- "\t\t\tcustomer[i].acct_type='C'\n",
- "\t\n",
- "\tcustomer[i].newbalance=customer[i].oldbalance-customer[i].payment\n",
- "\t\n",
- "\twritefile(customer[i],fpt)\n",
- "\n",
- "fpt.close()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 13.13, Page 13.28<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "fp=open('binval.txt','wb')\n",
- "\n",
- "for i in range(1000,11001):\n",
- "\tfp.write(str(i))\n",
- "\n",
- "fp.close()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter14.ipynb b/_Programming_With_C/chapter14.ipynb
deleted file mode 100644
index d89e7c72..00000000
--- a/_Programming_With_C/chapter14.ipynb
+++ /dev/null
@@ -1,232 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 14: Low-Level Programming<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 14.14, Page number: 14.12<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "a=0xf05a\n",
- "\n",
- "print \"%u\" %(a)\n",
- "print \"%x\" %(a>>6)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "61530\n",
- "3c1\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 14.16, Page number: 14.13<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "a=1\n",
- "nbits=16\n",
- "m=0x1<<(nbits-1)\n",
- "\n",
- "def main(a):\n",
- " mask=abs(m)\n",
- " for count in range(1,nbits+1):\n",
- " if a&mask:\n",
- " b=1\n",
- " else:\n",
- " b=0\n",
- "\n",
- " print \"%x\" %(b),\n",
- " if count%4==0:\n",
- " print \"\\t\",\n",
- "\n",
- " mask>>=1\n",
- " return\n",
- "print \"\\n1-->\\n\"\n",
- "main(1)\n",
- "print \"\\n-1-->\\n\"\n",
- "main(-1)\n",
- "print \"\\n0-->\\n\"\n",
- "main(0)\n",
- "print \"\\n2-->\\n\"\n",
- "main(2)\n",
- "print \"\\n-2-->\\n\"\n",
- "main(-2)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "1-->\n",
- "\n",
- "0 0 0 0 \t0 0 0 0 \t0 0 0 0 \t0 0 0 1 \t\n",
- "-1-->\n",
- "\n",
- "1 1 1 1 \t1 1 1 1 \t1 1 1 1 \t1 1 1 1 \t\n",
- "0-->\n",
- "\n",
- "0 0 0 0 \t0 0 0 0 \t0 0 0 0 \t0 0 0 0 \t\n",
- "2-->\n",
- "\n",
- "0 0 0 0 \t0 0 0 0 \t0 0 0 0 \t0 0 1 0 \t\n",
- "-2-->\n",
- "\n",
- "1 1 1 1 \t1 1 1 1 \t1 1 1 1 \t1 1 1 0 \t"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 14.23, Page Number: 14.20"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "from ctypes import *\n",
- "\n",
- "string=c_char*50\n",
- "\n",
- "\n",
- "def convert(mm,dd,yy):\n",
- " yy-=1900\n",
- " ndays=long(30.42*(mm-1)+dd)\n",
- " if mm==2:\n",
- " ndays+=1\n",
- " if mm>2 and mm<8:\n",
- " ndays-=1\n",
- " if yy%4==0 and mm<2:\n",
- " ndays+=1\n",
- "\n",
- " ncycles=yy/4\n",
- " ndays+=ncycles*1461\n",
- "\n",
- " nyears=yy%4\n",
- " if nyears>0:\n",
- " ndays+=365*nyears+1\n",
- " if ndays>59:\n",
- " ndays-=1\n",
- "\n",
- " day=ndays%7\n",
- " yy+=1900\n",
- " if yy%4==0 and yy%400!=0:\n",
- " day+=1\n",
- " return day\n",
- "\n",
- "\n",
- "class date(Structure):\n",
- "\t_fields_=[('month',c_int),('day',c_int),('year',c_int)]\n",
- "\t\n",
- "\n",
- "class person(Structure):\n",
- "\t_fields_=[('name',string),('birthdate',date)]\n",
- "\t\t\n",
- "student=[]\n",
- "\n",
- "weekday=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']\n",
- "\n",
- "month=['January','February','March','April','May','June','July','August',\\\n",
- " 'September','October','November','December']\n",
- "\n",
- "\n",
- "name='Rob Smith'\n",
- "birthdate=date(7,20,1972)\n",
- "student.append(person(name,birthdate))\n",
- "\n",
- "name='Judy Thompson'\n",
- "birthdate=date(11,27,1983)\n",
- "student.append(person(name,birthdate))\n",
- "\n",
- "name='Jim Williams'\n",
- "birthdate=date(12,29,1998)\n",
- "student.append(person(name,birthdate))\n",
- "\n",
- "name='Mort Davis'\n",
- "birthdate=date(6,10,2010)\n",
- "student.append(person(name,birthdate))\n",
- "\n",
- "\n",
- "\t\n",
- "for count in xrange(0,4):\n",
- " day_of_week=convert(student[count].birthdate.month,student[count].birthdate.day,student[count].birthdate.year)\n",
- " print student[count].name,\n",
- " print \" %s, %s %d %d \\n\" %(weekday[day_of_week],month[student[count].birthdate.month-1],student[count].birthdate.day,student[count].birthdate.year)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Rob Smith Thursday, July 20 1972 \n",
- "\n",
- "Judy Thompson Sunday, November 27 1983 \n",
- "\n",
- "Jim Williams Tuesday, December 29 1998 \n",
- "\n",
- "Mort Davis Thursday, June 10 2010 \n",
- "\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter2.ipynb b/_Programming_With_C/chapter2.ipynb
deleted file mode 100644
index 178b56ae..00000000
--- a/_Programming_With_C/chapter2.ipynb
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 2: Introduction to C Programming<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.1, Page number: 2.2<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "print \"Welcome to python programming\"\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Welcome to python programming\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.5, Page number: 2.5<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "sum=10+20\n",
- "print sum\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "30\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 2.6, Page number: 2.5<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "num1,num2=50,25\n",
- "Sum=num1+num2\n",
- "print \"addition of %d and %d = %d\" %(num1,num2,Sum)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "addition of 50 and 25 = 75\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter3.ipynb b/_Programming_With_C/chapter3.ipynb
deleted file mode 100644
index fbf10f10..00000000
--- a/_Programming_With_C/chapter3.ipynb
+++ /dev/null
@@ -1,132 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 3: Operators and Expressions<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.13, Page number: 3.9 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import ctypes as ct\n",
- "\n",
- "print \"interger : \",ct.sizeof(ct.c_int())\n",
- "print \"float : \",ct.sizeof(ct.c_float())\n",
- "print \"double : \",ct.sizeof(ct.c_double())\n",
- "print \"character : \",ct.sizeof(ct.c_char())\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "interger : 4\n",
- "float : 4\n",
- "double : 8\n",
- "character : 1\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.30, Page number: 3.19<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "print \"for the equation ax^2+bx+c \\n\"\n",
- "\n",
- "a=2\n",
- "b=6\n",
- "c=3\n",
- "\n",
- "root=(b*b-4*a*c)**0.5\n",
- "x1=(-b + root)/(2*a)\n",
- "x2=(-b - root)/(2*a)\n",
- "\n",
- "print \"x1=\",x1\n",
- "print \"x2=\",x2\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "for the equation ax^2+bx+c \n",
- "\n",
- "x1= -0.633974596216\n",
- "x2= -2.36602540378\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 3.31, Page number: 3.20<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "lower=\"l\"\n",
- "upper=lower.upper()\n",
- "print upper\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "L\n"
- ]
- }
- ],
- "prompt_number": 2
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter4.ipynb b/_Programming_With_C/chapter4.ipynb
deleted file mode 100644
index 21edac6f..00000000
--- a/_Programming_With_C/chapter4.ipynb
+++ /dev/null
@@ -1,561 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 4: Data Input and Output<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.4, Page number: 4.4 <h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "ch='a'\n",
- "print 'equivalent uppercase character is ',ch.upper()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "equivalent uppercase character is A\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.16, Page number: 4.14<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "i,j=2.0,3.0\n",
- "print \"%f %f %f %f\" %(i,i,i+j,math.sqrt(i+j))\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "2.000000 2.000000 5.000000 2.236068\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.18, Page number: 4.15<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "x,y=5000.0,0.0025\n",
- "\n",
- "print \"%f %f %f %f\\n\\n\" %(x,y,x*y,x/y)\n",
- "print \"%e %e %e %e\" %(x,y,x*y,x/y)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "5000.000000 0.002500 12.500000 2000000.000000\n",
- "\n",
- "\n",
- "5.000000e+03 2.500000e-03 1.250000e+01 2.000000e+06\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.19, Page number: 4.16<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "line=\"The PITTSBURG STEELERS is one of America's favorite football teams!\"\n",
- "print \"%s\" %(line)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The PITTSBURG STEELERS is one of America's favorite football teams!\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.20, Page number: 4.17<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "i=12345\n",
- "x=345.678\n",
- "\n",
- "print \"%3d %5d %8d\\n\\n\" %(i,i,i)\n",
- "print \"%3f %10f %13f\" %(x,x,x)\n",
- "print \"%3e %13e %16e\" %(x,x,x)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "12345 12345 12345\n",
- "\n",
- "\n",
- "345.678000 345.678000 345.678000\n",
- "3.456780e+02 3.456780e+02 3.456780e+02\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.21, Page number: 4.17<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "i=12345\n",
- "x=345.678\n",
- "\n",
- "print \"%3d %5d %8d\\n\\n\" %(i,i,i)\n",
- "print \"%3g %10g %13g\" %(x,x,x)\n",
- "print \"%3g %13g %16g\" %(x,x,x)\n",
- "\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "12345 12345 12345\n",
- "\n",
- "\n",
- "345.678 345.678 345.678\n",
- "345.678 345.678 345.678\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.22, Page number: 4.18<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "x=123.456\n",
- "\n",
- "print \"%7f %7.3f %7.1f\" %(x,x,x)\n",
- "print \"%12e %12.5e %12.3e\" %(x,x,x)\n",
- "\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "123.456000 123.456 123.5\n",
- "1.234560e+02 1.23456e+02 1.235e+02\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.23, Page number: 4.19<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "x=123.456\n",
- "\n",
- "print \"%f %.3f %.1f\" %(x,x,x)\n",
- "print \"%e %.5e %.3e\" %(x,x,x)\n",
- "\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "123.456000 123.456 123.5\n",
- "1.234560e+02 1.23456e+02 1.235e+02\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.24, Page number: 4.20<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "line=\"hexadecimal\"\n",
- "\n",
- "print \"%10s %15s %15.5s %.5s\" %(line,line,line,line)\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "hexadecimal hexadecimal hexad hexad\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.26, Page number 4.21<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "a=0x80ec\n",
- "b=0.3e-12\n",
- "\n",
- "print \"%4x %10.2e\\n\\n\" %(a,b)\n",
- "print \"%4X %10.2E\" %(a,b)\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "80ec 3.00e-13\n",
- "\n",
- "\n",
- "80EC 3.00E-13\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.27, Page number: 4.22<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "i,x,y=123,12.0,-3.3\n",
- "\n",
- "print \":%6d %7.0f %10.1e: \\n\" %(i,x,y)\n",
- "print \":%-6d %-7.0f %-10.1e: \\n\" %(i,x,y)\n",
- "print \":%+6d %+7.0f %+10.1e: \\n\" %(i,x,y)\n",
- "print \":%-+6d %-+7.0f %-+10.1e: \\n\" %(i,x,y)\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- ": 123 12 -3.3e+00: \n",
- "\n",
- ":123 12 -3.3e+00 : \n",
- "\n",
- ": +123 +12 -3.3e+00: \n",
- "\n",
- ":+123 +12 -3.3e+00 : \n",
- "\n",
- ": 12 12. -3.3 -3.30000: \n",
- "\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.28, Page number: 4.23<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "i,j,k=1234,01777,0xa08c\n",
- "\n",
- "print \":%8u %8o %8x:\\n\" %(i,j,k)\n",
- "print \":%-8u %-8o %-8x:\\n\" %(i,j,k)\n",
- "print \":%08u %08o %08x:\\n\" %(i,j,k)\n",
- "\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- ": 1234 1777 a08c:\n",
- "\n",
- ":1234 1777 a08c :\n",
- "\n",
- ": 1234 01777 0xa08c:\n",
- "\n",
- ":00001234 00001777 0000a08c:\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.29, Page number: 4.24<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "line=\"lower-case\"\n",
- "\n",
- "print \":%15s %15.5s %.5s:\" %(line,line,line)\n",
- "print \":%-15s %-15.5s %-.5s:\" %(line,line,line)\n",
- "\n",
- "\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- ": lower-case lower lower:\n",
- ":lower-case lower lower:\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.30, Page number: 4.24<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "a,b,x1,x2=2.2,-6.2,0.005,-12.88\n",
- "\n",
- "print \"$%4.2f %7.1f%%\\n\" %(a,b)\n",
- "print \"x1=%7.3f x2=%7.3f\" %(x1,x2)\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "$2.20 -6.2%\n",
- "\n",
- "x1= 0.005 x2=-12.880\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 4.32, Page number: 4.26<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "name=\"Robert Smith\"\n",
- "score1=88\n",
- "score2=62.5\n",
- "score3=90\n",
- "\n",
- "average=(float)(score1+score2+score3)/3\n",
- "print \"Name: %-s\" %(name)\n",
- "print \"Score1: %-5.1f\" %(score1)\n",
- "print \"Score2: %-5.1f\" %(score2)\n",
- "print \"Score3: %-5.1f\" %(score3)\n",
- "print \"Average: %-5.1f\" %(average)\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Name: Robert Smith\n",
- "Score1: 88.0 \n",
- "Score2: 62.5 \n",
- "Score3: 90.0 \n",
- "Average: 80.2 \n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter5.ipynb b/_Programming_With_C/chapter5.ipynb
deleted file mode 100644
index ea09f2bd..00000000
--- a/_Programming_With_C/chapter5.ipynb
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Preparing And Running A Complete C Program<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 5.2, Page number: 5.4<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "p,r,n=10000,10,3\n",
- "i=r/100.0\n",
- "\n",
- "f=p*math.pow(1+i,n)\n",
- "print \"The final value (F) is: %.2f\" %f\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The final value (F) is: 13310.00\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 5.4, Page number: 5.7<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "a,b,c=2.0,5.0,3.0\n",
- "d=math.sqrt(b*b-(4*a*c))\n",
- "x1=(-b+d)/(2*a)\n",
- "x2=(-b-d)/(2*a)\n",
- "\n",
- "print \"x1 = %e x2 = %e\" %(x1,x2)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x1 = -1.000000e+00 x2 = -1.500000e+00\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter6.ipynb b/_Programming_With_C/chapter6.ipynb
deleted file mode 100644
index 5da628a1..00000000
--- a/_Programming_With_C/chapter6.ipynb
+++ /dev/null
@@ -1,1297 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 6: Control Statements<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.4, Page number: 6.3<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "import math\n",
- "\n",
- "\n",
- "inputs=[5,25,4,8]\n",
- "Sum,SumSq,SumSqrt=0,0,0\n",
- "\n",
- "for x in inputs:\n",
- "\n",
- " Sum+=x\n",
- " SumSq+=x*x\n",
- " SumSqrt+=math.sqrt(x)\n",
- "\n",
- "\n",
- "print \" Sum = %d \\n SumSq = %d \\n SumSqrt = %f\" %(Sum,SumSq,SumSqrt)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- " Sum = 42 \n",
- " SumSq = 730 \n",
- " SumSqrt = 12.064495\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.5, Page number: 6.4<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def main(first,second):\n",
- " \n",
- " if first>second:\n",
- " print \"first number is bigger\"\n",
- " if second>first:\n",
- " print \"second number is bigger\"\n",
- " if first==second:\n",
- " print \"both are equal\"\n",
- " return\n",
- "\n",
- "main(5,6)\n",
- "main(6,5)\n",
- "main(1,1)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "second number is bigger\n",
- "first number is bigger\n",
- "both are equal\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.7, Page naumber: 6.8<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def main(time):\n",
- "\n",
- " if time>=0. and time<12.:\n",
- " print \"Good Morning\"\n",
- " elif time>=12. and time<18.:\n",
- " print \"Good Afternoon\"\n",
- " elif time>=18. and time<=24.:\n",
- " print \"Good Evening\"\n",
- " else:\n",
- " print \"time is out of range\"\n",
- " return\n",
- "\n",
- "main(9)\n",
- "main(15)\n",
- "main(21)\n",
- "main(36)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Good Morning\n",
- "Good Afternoon\n",
- "Good Evening\n",
- "time is out of range\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.8, Page number: 6.8<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "digit=0\n",
- "while digit<=9:\n",
- " print digit\n",
- " digit=digit+1\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n",
- "1\n",
- "2\n",
- "3\n",
- "4\n",
- "5\n",
- "6\n",
- "7\n",
- "8\n",
- "9\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.9, Page number: 6.9<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "letter=\"Fourscore and seven years ago aou fathers brought forth...\"\n",
- "letter=list(letter)\n",
- "count=0\n",
- "tag=len(letter)\n",
- "\n",
- "while count<tag:\n",
- " letter[count]=letter[count].upper()\n",
- " count=count+1\n",
- "letter=''.join(letter)\n",
- "print letter\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "FOURSCORE AND SEVEN YEARS AGO AOU FATHERS BROUGHT FORTH...\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.10, Page number: 6.11<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Sum,count=0,0\n",
- "\n",
- "numbers=[1,2,3,4,5,6]\n",
- "n=6.0\n",
- "\n",
- "while count<n:\n",
- " x=numbers[count]\n",
- " print \"x = \",x\n",
- " Sum+=x\n",
- " count+=1\n",
- "\n",
- "average=Sum/n\n",
- "\n",
- "print 'Average = ',average\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 1\n",
- "x = 2\n",
- "x = 3\n",
- "x = 4\n",
- "x = 5\n",
- "x = 6\n",
- "Average = 3.5\n"
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 1\n",
- "x = 2\n",
- "x = 3\n",
- "x = 4\n",
- "x = 5\n",
- "x = 6\n",
- "Average = 3.5\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.11, Page number: 6.12<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "digit=0\n",
- "while True:\n",
- " print digit\n",
- " digit=digit+1\n",
- " if digit>9:\n",
- " break\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n",
- "1\n",
- "2\n",
- "3\n",
- "4\n",
- "5\n",
- "6\n",
- "7\n",
- "8\n",
- "9\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.12, Page number: 6.13<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "letter=\"Fourscore and seven years ago aou fathers brought forth...\"\n",
- "letter=list(letter)\n",
- "\n",
- "count=0\n",
- "tag=len(letter)\n",
- "\n",
- "while True:\n",
- " letter[count]=letter[count].upper()\n",
- " count=count+1\n",
- " if count>=tag:\n",
- " break\n",
- "\n",
- "letter=''.join(letter)\n",
- "print letter\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "FOURSCORE AND SEVEN YEARS AGO AOU FATHERS BROUGHT FORTH...\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.13, Page number: 6.14<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "Sum,count=0,0\n",
- "\n",
- "numbers=[1,2,3,4,5,6]\n",
- "n=6.0\n",
- "\n",
- "while True:\n",
- " x=numbers[count]\n",
- " print \"x = \",x\n",
- " Sum+=x\n",
- " count+=1\n",
- " if count>=n:\n",
- " break\n",
- "\n",
- "average=Sum/n\n",
- "\n",
- "print 'Average = ',average\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 1\n",
- "x = 2\n",
- "x = 3\n",
- "x = 4\n",
- "x = 5\n",
- "x = 6\n",
- "Average = 3.5\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.14, Page number: 6.16<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "for digit in range(0,10):\n",
- " print digit\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "0\n",
- "1\n",
- "2\n",
- "3\n",
- "4\n",
- "5\n",
- "6\n",
- "7\n",
- "8\n",
- "9\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.16, Page number: 6.17<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "letter=\"Fourscore and seven years ago aou fathers brought forth...\"\n",
- "letter=list(letter)\n",
- "n=len(letter)\n",
- "\n",
- "for count in range(0,n):\n",
- " \n",
- " letter[count]=letter[count].upper()\n",
- "\n",
- "letter=''.join(letter)\n",
- "print letter\n",
- "\n",
- " \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "FOURSCORE AND SEVEN YEARS AGO AOU FATHERS BROUGHT FORTH...\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.17, Page number: 6.17<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "n=6\n",
- "Sum=0.0\n",
- "\n",
- "for count in range(1,n+1):\n",
- " Sum=Sum+count\n",
- " \n",
- "average=Sum/n\n",
- "print \"the average is \",average\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "the average is 3.5\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.18, Page number: 6.19<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "numbers=[[1.5,2.5,6.2,3.0],[4,-2,7],[5.4,8.0,2.2,1.7,-3.9]]\n",
- "loopcount=3\n",
- "loop=0\n",
- "\n",
- "while loop<loopcount:\n",
- "\n",
- " Sum=0\n",
- "\n",
- " for x in numbers[loop]:\n",
- "\n",
- " print 'x = ',x\n",
- " Sum+=x\n",
- "\n",
- " print 'The average is ',Sum/len(numbers[loop])\n",
- " loop+=1\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "x = 1.5\n",
- "x = 2.5\n",
- "x = 6.2\n",
- "x = 3.0\n",
- "The average is 3.3\n",
- "x = 4\n",
- "x = -2\n",
- "x = 7\n",
- "The average is 3\n",
- "x = 5.4\n",
- "x = 8.0\n",
- "x = 2.2\n",
- "x = 1.7\n",
- "x = -3.9\n",
- "The average is 2.68\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.19, Page number: 6.20<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "text=['Now is the time for all good men to come to aid..','Fourscore and seven years ago our fathers brought forth...','*']\n",
- "\n",
- "\n",
- "loop=0\n",
- "\n",
- "while True:\n",
- " letter=text[loop]\n",
- " if letter=='*':\n",
- " print \"\\nGood bye\"\n",
- " break\n",
- "\n",
- " print '\\n',letter\n",
- " letter=list(letter)\n",
- " n=len(letter)\n",
- "\n",
- " for count in range(0,n):\n",
- " letter[count]=letter[count].upper()\n",
- "\n",
- " letter=''.join(letter)\n",
- " print letter\n",
- " loop+=1\n",
- " \n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "Now is the time for all good men to come to aid..\n",
- "NOW IS THE TIME FOR ALL GOOD MEN TO COME TO AID..\n",
- "\n",
- "Fourscore and seven years ago our fathers brought forth...\n",
- "FOURSCORE AND SEVEN YEARS AGO OUR FATHERS BROUGHT FORTH...\n",
- "\n",
- "Good bye\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.20, Page number: 6.22<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "line=\"The White House. 1600 Pennsylvania Avenue. Washington. DC\"\n",
- "line=list(line)\n",
- "line2=[]\n",
- "for count in line:\n",
- " if (count>='0' and count<'9') or \\\n",
- " (count>='a' and count<'z') or \\\n",
- " (count>='A' and count<'Z'):\n",
- "\n",
- " line2.extend(chr(ord(count)+1))\n",
- "\n",
- " elif count=='9':\n",
- " line2.extend('0')\n",
- " elif count=='z':\n",
- " line2.extend('a')\n",
- " elif count=='Z':\n",
- " line2.extend('A')\n",
- " else:\n",
- " line2.extend('.')\n",
- "\n",
- "line2=''.join(line2)\n",
- "print line2\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Uif.Xijuf.Ipvtf..2711.Qfootzmwbojb.Bwfovf..Xbtijohupo..ED\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.21, Page number: 6.23<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def main(p,r,n):\n",
- " \n",
- "\n",
- " if p<0 or r<0 or n<0:\n",
- " print \"ERROR! Wrong input\"\n",
- " return\n",
- " \n",
- "\n",
- " i=r/100.0\n",
- " f=p*((i+1)**n)\n",
- "\n",
- " print \"The Final value (F) is %.2f\" %f\n",
- "\n",
- " return\n",
- "main(1000,6,20)\n",
- "main(5000,-7.5,12)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The Final value (F) is 3207.14\n",
- "ERROR! Wrong input\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.22, Page number: 6.25<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "def main(guess):\n",
- " count=0\n",
- " flag=True\n",
- "\n",
- " while flag:\n",
- " count=count+1\n",
- " if count==50:\n",
- " flag=False\n",
- "\n",
- " test=10.-3.*guess*guess\n",
- " if test>0:\n",
- " root=test**.2\n",
- " print \"Iteration number : %2d x= %7.5f\" %(count,root)\n",
- " error=math.fabs(root-guess)\n",
- " if error>0.00001:\n",
- " guess=root\n",
- " else:\n",
- " flag=False\n",
- " print \"\\n\\n root= %7.5f number of iterations %2d\" %(root,count)\n",
- "\n",
- " else:\n",
- " flag=False\n",
- " print \"number out of range... try another initial guess\"\n",
- "\n",
- "\n",
- "\n",
- " if count==50 and error>0.00001:\n",
- " print \"convergence not obtained after 50 iterations\"\n",
- " \n",
- " return\n",
- "\n",
- "print \"initial guess: 1\"\n",
- "main(1)\n",
- "print \"\\ninitial guess: 10\"\n",
- "main(10)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "initial guess: 1\n",
- "Iteration number : 1 x= 1.47577\n",
- "Iteration number : 2 x= 1.28225\n",
- "Iteration number : 3 x= 1.38344\n",
- "Iteration number : 4 x= 1.33613\n",
- "Iteration number : 5 x= 1.35951\n",
- "Iteration number : 6 x= 1.34826\n",
- "Iteration number : 7 x= 1.35375\n",
- "Iteration number : 8 x= 1.35109\n",
- "Iteration number : 9 x= 1.35238\n",
- "Iteration number : 10 x= 1.35175\n",
- "Iteration number : 11 x= 1.35206\n",
- "Iteration number : 12 x= 1.35191\n",
- "Iteration number : 13 x= 1.35198\n",
- "Iteration number : 14 x= 1.35195\n",
- "Iteration number : 15 x= 1.35196\n",
- "Iteration number : 16 x= 1.35195\n",
- "\n",
- "\n",
- " root= 1.35195 number of iterations 16\n",
- "\n",
- "initial guess: 10\n",
- "number out of range... try another initial guess\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.23, Page number: 6.30<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def main(ch):\n",
- "\n",
- " if ch=='r' or ch=='R':\n",
- " print \"RED\"\n",
- "\n",
- " elif ch=='w' or ch=='W':\n",
- " print \"WHITE\"\n",
- "\n",
- " elif ch=='b' or ch=='B':\n",
- " print \"BLUE\"\n",
- " \n",
- " return\n",
- "\n",
- "main('r')\n",
- "main('W')\n",
- "main('b')\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "RED\n",
- "WHITE\n",
- "BLUE\n"
- ]
- }
- ],
- "prompt_number": 18
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.24, Page number: 6.31<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def main(ch):\n",
- " ch=ch.upper()\n",
- "\n",
- " if ch=='R':\n",
- " print \"RED\"\n",
- "\n",
- " elif ch=='W':\n",
- " print \"WHITE\"\n",
- "\n",
- " elif ch=='B':\n",
- " print \"BLUE\"\n",
- "\n",
- " else:\n",
- " print \"ERROR\"\n",
- " \n",
- " return\n",
- "\n",
- "main('r')\n",
- "main('W')\n",
- "main('b')\n",
- "main('y')\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "RED\n",
- "WHITE\n",
- "BLUE\n",
- "ERROR\n"
- ]
- }
- ],
- "prompt_number": 19
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.25, Page number: 6.31<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "import math\n",
- "\n",
- "def main(x,flag):\n",
- "\n",
- " if flag==-1:\n",
- " y=math.fabs(x)\n",
- " elif flag==0:\n",
- " y=x**0.5\n",
- " elif flag==1:\n",
- " y=x\n",
- " elif flag==2 or flag==3:\n",
- " y=2*(x-1)\n",
- " else:\n",
- " y=0\n",
- " print \"y= \",y\n",
- " \n",
- " return\n",
- "\n",
- "main(36,-1)\n",
- "main(36,0)\n",
- "main(36,1)\n",
- "main(36,2)\n",
- "main(36,3)\n",
- "main(36,5)\n",
- "main(0,6)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "y= 36.0\n",
- "y= 6.0\n",
- "y= 36\n",
- "y= 70\n",
- "y= 70\n",
- "y= 0\n",
- "y= 0\n"
- ]
- }
- ],
- "prompt_number": 22
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.26, Page number: 6.32<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "choice=0\n",
- "\n",
- "def main(choice,val,n):\n",
- " \n",
- " if choice==1:\n",
- "\n",
- " print \"Straight Line Method\\n\\n\"\n",
- " val=float(val)\n",
- " deprec=val/n\n",
- " for year in range(1,n+1):\n",
- " val=val-deprec\n",
- " print \"End of year %2d Depreciation: %7.2f Current value: %8.2f\"\\\n",
- " %(year,deprec,val)\n",
- "\n",
- "\n",
- " elif choice==2:\n",
- " print \"Double Declining Balance Method\\n\\n\"\n",
- " val=float(val)\n",
- " for year in range(1,n+1):\n",
- " deprec=2*val/n\n",
- " val=val-deprec\n",
- " print \"End of year %2d Depreciation: %7.2f Current value: %8.2f\"\\\n",
- " %(year,deprec,val)\n",
- "\n",
- " elif choice==3:\n",
- " print \"Sum of the years' -Digit Method\\n\\n\"\n",
- " val=float(val)\n",
- " tag=val\n",
- "\n",
- " for year in range(1,n+1):\n",
- " deprec=(n-year+1)*tag/(n*(n+1)/2)\n",
- " val=val-deprec\n",
- " print \"End of year %2d Depreciation: %7.2f Current value: %8.2f\"\\\n",
- " %(year,deprec,val)\n",
- "\n",
- " else:\n",
- " print \"incorrect data entry...\"\n",
- "\n",
- " return\n",
- "\n",
- "print \"\\n Method: (1-SSL 2-DDB 3-SYD) \"\n",
- "print \"choice: 1 \\nval: 8000 \\nNumber of years: 10\"\n",
- "main(1,8000,10)\n",
- "print \"\\n Method: (1-SSL 2-DDB 3-SYD) \"\n",
- "print \"choice: 2 \\nval: 8000 \\nNumber of years: 10\"\n",
- "main(2,8000,10)\n",
- "print \"\\n Method: (1-SSL 2-DDB 3-SYD) \"\n",
- "print \"choice: 3 \\nval: 8000 \\nNumber of years: 10\"\n",
- "main(3,8000,10)\n",
- "print \"\\n Method: (1-SSL 2-DDB 3-SYD) \"\n",
- "print \"choice: 5 \\nval: 8000 \\nNumber of years: 10\"\n",
- "main(5,8000,10)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " Method: (1-SSL 2-DDB 3-SYD) \n",
- "choice: 1 \n",
- "val: 8000 \n",
- "Number of years: 10\n",
- "Straight Line Method\n",
- "\n",
- "\n",
- "End of year 1 Depreciation: 800.00 Current value: 7200.00\n",
- "End of year 2 Depreciation: 800.00 Current value: 6400.00\n",
- "End of year 3 Depreciation: 800.00 Current value: 5600.00\n",
- "End of year 4 Depreciation: 800.00 Current value: 4800.00\n",
- "End of year 5 Depreciation: 800.00 Current value: 4000.00\n",
- "End of year 6 Depreciation: 800.00 Current value: 3200.00\n",
- "End of year 7 Depreciation: 800.00 Current value: 2400.00\n",
- "End of year 8 Depreciation: 800.00 Current value: 1600.00\n",
- "End of year 9 Depreciation: 800.00 Current value: 800.00\n",
- "End of year 10 Depreciation: 800.00 Current value: 0.00\n",
- "\n",
- " Method: (1-SSL 2-DDB 3-SYD) \n",
- "choice: 2 \n",
- "val: 8000 \n",
- "Number of years: 10\n",
- "Double Declining Balance Method\n",
- "\n",
- "\n",
- "End of year 1 Depreciation: 1600.00 Current value: 6400.00\n",
- "End of year 2 Depreciation: 1280.00 Current value: 5120.00\n",
- "End of year 3 Depreciation: 1024.00 Current value: 4096.00\n",
- "End of year 4 Depreciation: 819.20 Current value: 3276.80\n",
- "End of year 5 Depreciation: 655.36 Current value: 2621.44\n",
- "End of year 6 Depreciation: 524.29 Current value: 2097.15\n",
- "End of year 7 Depreciation: 419.43 Current value: 1677.72\n",
- "End of year 8 Depreciation: 335.54 Current value: 1342.18\n",
- "End of year 9 Depreciation: 268.44 Current value: 1073.74\n",
- "End of year 10 Depreciation: 214.75 Current value: 858.99\n",
- "\n",
- " Method: (1-SSL 2-DDB 3-SYD) \n",
- "choice: 3 \n",
- "val: 8000 \n",
- "Number of years: 10\n",
- "Sum of the years' -Digit Method\n",
- "\n",
- "\n",
- "End of year 1 Depreciation: 1454.55 Current value: 6545.45\n",
- "End of year 2 Depreciation: 1309.09 Current value: 5236.36\n",
- "End of year 3 Depreciation: 1163.64 Current value: 4072.73\n",
- "End of year 4 Depreciation: 1018.18 Current value: 3054.55\n",
- "End of year 5 Depreciation: 872.73 Current value: 2181.82\n",
- "End of year 6 Depreciation: 727.27 Current value: 1454.55\n",
- "End of year 7 Depreciation: 581.82 Current value: 872.73\n",
- "End of year 8 Depreciation: 436.36 Current value: 436.36\n",
- "End of year 9 Depreciation: 290.91 Current value: 145.45\n",
- "End of year 10 Depreciation: 145.45 Current value: 0.00\n",
- "\n",
- " Method: (1-SSL 2-DDB 3-SYD) \n",
- "choice: 5 \n",
- "val: 8000 \n",
- "Number of years: 10\n",
- "incorrect data entry...\n"
- ]
- }
- ],
- "prompt_number": 23
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.31, Page number: 6.41<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "navg=0\n",
- "Sum=0.0\n",
- "n=6\n",
- "\n",
- "for count in range(-6,n+1):\n",
- " x=count\n",
- " if(x<0):\n",
- " continue\n",
- " Sum=Sum+x\n",
- " navg=navg+1\n",
- "\n",
- "\n",
- "average=Sum/navg\n",
- "print \"The average is \",average\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The average is 3.0\n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.32, Page number: 6.42<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "def main(letter):\n",
- " flag=True\n",
- "\n",
- " letter=list(letter)\n",
- "\n",
- " tag=len(letter)-1\n",
- " countback=tag\n",
- "\n",
- " for count in range(0,(tag/2)+1):\n",
- " if letter[count]!=letter[countback]:\n",
- " flag=False\n",
- " break\n",
- " countback=countback-1\n",
- "\n",
- " letter=''.join(letter)\n",
- " if flag:\n",
- " print \"\\n %s IS a palindrome\" %letter\n",
- " else:\n",
- " print \"\\n %s is NOT a palindrome\" %letter\n",
- " \n",
- " return\n",
- "\n",
- "main('TOOT')\n",
- "main('FALSE')\n",
- "main('PULLUP')\n",
- "main('ABLE WAS I ERE I SAW ELBA')\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " TOOT IS a palindrome\n",
- "\n",
- " FALSE is NOT a palindrome\n",
- "\n",
- " PULLUP IS a palindrome\n",
- "\n",
- " ABLE WAS I ERE I SAW ELBA IS a palindrome\n"
- ]
- }
- ],
- "prompt_number": 25
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 6.34, Page number: 6.47<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "text=['Now is the time for all good men to come to aid..','Fourscore and seven years ago our fathers brought forth.$$..','*']\n",
- "\n",
- "\n",
- "loop,flag=0,False\n",
- "\n",
- "while True:\n",
- " letter=text[loop]\n",
- " if letter=='*' or flag:\n",
- " print \"\\nGood bye\"\n",
- " break\n",
- "\n",
- " print '\\n',letter\n",
- " letter=list(letter)\n",
- " n=len(letter)\n",
- "\n",
- " for count in range(0,n):\n",
- " letter[count]=letter[count].upper()\n",
- "\n",
- " letter2=''.join(letter)\n",
- " print letter2\n",
- "\n",
- " for count in range(0,n-1):\n",
- " if letter[count]=='$' and letter[count+1]=='$':\n",
- " print 'BREAK CONDITION DETECTED - TERMINATE EXECUTION'\n",
- " flag=True\n",
- " break\n",
- " \n",
- " loop+=1\n",
- " \n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "Now is the time for all good men to come to aid..\n",
- "NOW IS THE TIME FOR ALL GOOD MEN TO COME TO AID..\n",
- "\n",
- "Fourscore and seven years ago our fathers brought forth.$$..\n",
- "FOURSCORE AND SEVEN YEARS AGO OUR FATHERS BROUGHT FORTH.$$..\n",
- "BREAK CONDITION DETECTED - TERMINATE EXECUTION\n",
- "\n",
- "Good bye\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter7.ipynb b/_Programming_With_C/chapter7.ipynb
deleted file mode 100644
index 89247348..00000000
--- a/_Programming_With_C/chapter7.ipynb
+++ /dev/null
@@ -1,708 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 7: Functions<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.1, Page number: 7.2<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def lower_to_upper(c1):\n",
- "\n",
- " if c1>='a' and c1<='z':\n",
- " c2=chr(ord('A')+ord(c1)-ord('a'))\n",
- "\n",
- " else:\n",
- " c2=c1\n",
- "\n",
- " return c2\n",
- "\n",
- "lower='g'\n",
- "upper=lower_to_upper(lower)\n",
- "print \"the upper case equivalent is : \",upper\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "the upper case equivalent is : G\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.3, Page number: 7.5<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def lower_to_upper(c1):\n",
- "\n",
- " if c1>='a' and c1<='z':\n",
- " return (chr(ord('A')+ord(c1)-ord('a')))\n",
- " else:\n",
- " return c1\n",
- "\n",
- "lower='g'\n",
- "upper=lower_to_upper(lower)\n",
- "print \"The uppercase equivalent is : \",upper\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The uppercase equivalent is : G\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.4, Page number: 7.5<h3> "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def maximum(x,y):\n",
- " if x>=y:\n",
- " z=x\n",
- " else:\n",
- " z=y\n",
- "\n",
- " print \"Maximum value is : \",z\n",
- "\n",
- " return\n",
- "\n",
- "maximum(5,6)\n",
- "maximum(6,5)\n",
- "maximum(5,5)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum value is : 6\n",
- "Maximum value is : 6\n",
- "Maximum value is : 5\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.5, Page number: 7.5<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def factorial(n):\n",
- " prod=1\n",
- " if n>1:\n",
- " for i in range(2,n+1):\n",
- " prod=prod*i\n",
- "\n",
- " return prod\n",
- "\n",
- "fact=factorial(6)\n",
- "print \"Its factorial is : \",fact\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Its factorial is : 720\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.7, Page number: 7.7<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def maximum(x,y):\n",
- "\n",
- " if x>=y:\n",
- " z=x\n",
- " else:\n",
- " z=y\n",
- "\n",
- " print 'Maximum value is = ',z\n",
- " return\n",
- "\n",
- "maximum(5,9)\n",
- "maximum(8,3)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum value is = 9\n",
- "Maximum value is = 8\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.9, Page number: 7.8<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def maximum(x,y):\n",
- " if x>=y:\n",
- " z=x\n",
- " else:\n",
- " z=y\n",
- "\n",
- " return z\n",
- "\n",
- "a=5\n",
- "b=4\n",
- "c=7\n",
- "\n",
- "d=maximum(a,b)\n",
- "print \"Maximum = \",maximum(c,d)\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum = 7\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.10, Page number: 7.10<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def factorial(n):\n",
- " prod=1\n",
- " if n>1:\n",
- " for i in range(2,n+1):\n",
- " prod=prod*i\n",
- "\n",
- " return prod\n",
- "\n",
- "n=7\n",
- "fact=factorial(n)\n",
- "print \"Its factorial is : \",fact\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Its factorial is : 5040\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.11, Page number: 7.12<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "def play():\n",
- " print \"Throwing the dice....\"\n",
- " score1=throw()\n",
- " print \"%2d\" %(score1)\n",
- "\n",
- " if score1==7 or score1==11:\n",
- " print \"Congratulations!! you WIN on the first throw\"\n",
- "\n",
- " elif score1==2 or score1==3 or score1==12:\n",
- " print \"sorry!! you LOSE on the first throw\"\n",
- "\n",
- " else:\n",
- " while(True):\n",
- " print \"Throwing the dice again...\"\n",
- " score2=throw()\n",
- " print \"%2d\" %(score2)\n",
- " if score2==score1 or score2==7:\n",
- " break\n",
- "\n",
- " if score2==score1:\n",
- " print \"You WIN by matching your first score\"\n",
- " else:\n",
- " print \"You LOSE by failing to match your first score\"\n",
- "\n",
- "\n",
- " return\n",
- "\n",
- "\n",
- "def throw():\n",
- "\n",
- " n1=random.randrange(1,7)\n",
- " n2=random.randrange(1,7)\n",
- " return n1+n2\n",
- "\n",
- "\n",
- "import random\n",
- "\n",
- "\n",
- "print \"Welcome to the Game of Craps \\n\\n\"\n",
- "random.seed(2365)\n",
- "play()\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Welcome to the Game of Craps \n",
- "\n",
- "\n",
- "Throwing the dice....\n",
- " 9\n",
- "Throwing the dice again...\n",
- " 4\n",
- "Throwing the dice again...\n",
- "11\n",
- "Throwing the dice again...\n",
- " 9\n",
- "You WIN by matching your first score\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.12, Page number: 7.18<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def modify(a):\n",
- " a=a*3\n",
- " print \"a= %d (from the function, after being modified)\" %(a)\n",
- " return\n",
- "\n",
- "a=2\n",
- "print \"a=%d (from main, before calling the function)\" %(a)\n",
- "modify(a)\n",
- "print \"a=%d (from main, after calling the function)\" %(a)\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "a=2 (from main, before calling the function)\n",
- "a= 6 (from the function, after being modified)\n",
- "a=2 (from main, after calling the function)\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.13, Page number: 7.19<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def sl(val,n):\n",
- " deprec=val/n\n",
- " print \"in \",n\n",
- " \n",
- " for year in range(1,n+1):\n",
- " val=val-deprec\n",
- " writeoutput(year,deprec,val)\n",
- "\n",
- " return\n",
- "\n",
- "def ddb(val,n):\n",
- " for year in range(1,n+1):\n",
- " deprec=2*val/n\n",
- " val=val-deprec\n",
- " writeoutput(year,deprec,val)\n",
- "\n",
- " return\n",
- "\n",
- "def syd(val,n):\n",
- " tag=val\n",
- " for year in range(1,n+1):\n",
- " deprec=(n-year+1)*tag/(n*(n+1)/2)\n",
- " val=val-deprec\n",
- " writeoutput(year,deprec,val)\n",
- "\n",
- " return\n",
- "\n",
- "def writeoutput(year,depreciation,value):\n",
- " print \"End of the year %2d Depreciation: %7.2f Current Value: %8.2f\" %(year,depreciation,value)\n",
- "\n",
- " return\n",
- "\n",
- "\n",
- "\n",
- "def main(choice,val,n):\n",
- " \n",
- " print \"Original value : \",val\n",
- " val=float(val)\n",
- " print \"Number of years : \",n\n",
- "\n",
- " if choice==1:\n",
- " print \"Straight-Line Method\\n\\n\"\n",
- " sl(val,n)\n",
- " elif choice==2:\n",
- " print \"Double-Declining-Balance Method \\n\\n\"\n",
- " ddb(val,n)\n",
- " elif choice==3:\n",
- " print \"Sum-Of-The-Years'-Digits Method\"\n",
- " syd(val,n)\n",
- "\n",
- " return\n",
- "\n",
- "\n",
- "print \"\\n\\nMethod: (1-SL 2-DDB 3-SYD)\"\n",
- "main(1,8000,10)\n",
- "print \"\\n\\nMethod: (1-SL 2-DDB 3-SYD)\"\n",
- "main(2,8000,10)\n",
- "print \"\\n\\nMethod: (1-SL 2-DDB 3-SYD)\"\n",
- "main(3,8000,10)\n",
- "print \"\\n\\nMethod: (1-SL 2-DDB 3-SYD)\"\n",
- "main(1,5000,4)\n",
- "\n",
- "\n",
- " \n",
- " \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "\n",
- "Method: (1-SL 2-DDB 3-SYD)\n",
- "Original value : 8000\n",
- "Number of years : 10\n",
- "Straight-Line Method\n",
- "\n",
- "\n",
- "in 10\n",
- "End of the year 1 Depreciation: 800.00 Current Value: 7200.00\n",
- "End of the year 2 Depreciation: 800.00 Current Value: 6400.00\n",
- "End of the year 3 Depreciation: 800.00 Current Value: 5600.00\n",
- "End of the year 4 Depreciation: 800.00 Current Value: 4800.00\n",
- "End of the year 5 Depreciation: 800.00 Current Value: 4000.00\n",
- "End of the year 6 Depreciation: 800.00 Current Value: 3200.00\n",
- "End of the year 7 Depreciation: 800.00 Current Value: 2400.00\n",
- "End of the year 8 Depreciation: 800.00 Current Value: 1600.00\n",
- "End of the year 9 Depreciation: 800.00 Current Value: 800.00\n",
- "End of the year 10 Depreciation: 800.00 Current Value: 0.00\n",
- "\n",
- "\n",
- "Method: (1-SL 2-DDB 3-SYD)\n",
- "Original value : 8000\n",
- "Number of years : 10\n",
- "Double-Declining-Balance Method \n",
- "\n",
- "\n",
- "End of the year 1 Depreciation: 1600.00 Current Value: 6400.00\n",
- "End of the year 2 Depreciation: 1280.00 Current Value: 5120.00\n",
- "End of the year 3 Depreciation: 1024.00 Current Value: 4096.00\n",
- "End of the year 4 Depreciation: 819.20 Current Value: 3276.80\n",
- "End of the year 5 Depreciation: 655.36 Current Value: 2621.44\n",
- "End of the year 6 Depreciation: 524.29 Current Value: 2097.15\n",
- "End of the year 7 Depreciation: 419.43 Current Value: 1677.72\n",
- "End of the year 8 Depreciation: 335.54 Current Value: 1342.18\n",
- "End of the year 9 Depreciation: 268.44 Current Value: 1073.74\n",
- "End of the year 10 Depreciation: 214.75 Current Value: 858.99\n",
- "\n",
- "\n",
- "Method: (1-SL 2-DDB 3-SYD)\n",
- "Original value : 8000\n",
- "Number of years : 10\n",
- "Sum-Of-The-Years'-Digits Method\n",
- "End of the year 1 Depreciation: 1454.55 Current Value: 6545.45\n",
- "End of the year 2 Depreciation: 1309.09 Current Value: 5236.36\n",
- "End of the year 3 Depreciation: 1163.64 Current Value: 4072.73\n",
- "End of the year 4 Depreciation: 1018.18 Current Value: 3054.55\n",
- "End of the year 5 Depreciation: 872.73 Current Value: 2181.82\n",
- "End of the year 6 Depreciation: 727.27 Current Value: 1454.55\n",
- "End of the year 7 Depreciation: 581.82 Current Value: 872.73\n",
- "End of the year 8 Depreciation: 436.36 Current Value: 436.36\n",
- "End of the year 9 Depreciation: 290.91 Current Value: 145.45\n",
- "End of the year 10 Depreciation: 145.45 Current Value: 0.00\n",
- "\n",
- "\n",
- "Method: (1-SL 2-DDB 3-SYD)\n",
- "Original value : 5000\n",
- "Number of years : 4\n",
- "Straight-Line Method\n",
- "\n",
- "\n",
- "in 4\n",
- "End of the year 1 Depreciation: 1250.00 Current Value: 3750.00\n",
- "End of the year 2 Depreciation: 1250.00 Current Value: 2500.00\n",
- "End of the year 3 Depreciation: 1250.00 Current Value: 1250.00\n",
- "End of the year 4 Depreciation: 1250.00 Current Value: 0.00\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.14, Page number: 7.24<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def factorial(n):\n",
- "\n",
- " if n<=1:\n",
- " return 1\n",
- "\n",
- " else:\n",
- " return (n*factorial(n-1))\n",
- "\n",
- "\n",
- "n=10\n",
- "fact=factorial(n)\n",
- "print \"Its factorial is \",fact\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Its factorial is 3628800\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.15, Page number: 7.26<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def reverse(text,n):\n",
- "\n",
- " if n<0:\n",
- " return\n",
- " else:\n",
- " print text[n],\n",
- " reverse(text,n-1)\n",
- "\n",
- "\n",
- "\n",
- "text='Now is the time for all good men to come to tje aid of their country!'\n",
- "n=len(text)\n",
- "reverse(text,n-1)\n",
- " \n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "! y r t n u o c r i e h t f o d i a e j t o t e m o c o t n e m d o o g l l a r o f e m i t e h t s i w o N\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 7.16, Page number: 7.16<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def transfer(n,From,to,temp):\n",
- "\n",
- " if n>0:\n",
- " transfer(n-1,From,temp,to)\n",
- " print \"Move disk %d from %c to %c\" %(n,From,to)\n",
- " transfer(n-1,temp,to,From)\n",
- "\n",
- " return\n",
- "\n",
- "print \"Welcome to the TOWERS OF HANOI \\n\\n\"\n",
- "transfer(3,'L','R','C')"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Welcome to the TOWERS OF HANOI \n",
- "\n",
- "\n",
- "Move disk 1 from L to R\n",
- "Move disk 2 from L to C\n",
- "Move disk 1 from R to C\n",
- "Move disk 3 from L to R\n",
- "Move disk 1 from C to L\n",
- "Move disk 2 from C to R\n",
- "Move disk 1 from L to R\n"
- ]
- }
- ],
- "prompt_number": 17
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter8.ipynb b/_Programming_With_C/chapter8.ipynb
deleted file mode 100644
index e9a55558..00000000
--- a/_Programming_With_C/chapter8.ipynb
+++ /dev/null
@@ -1,555 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 8: Program Structure <h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 8.2, Page number: 8.2<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def factorial(n):\n",
- "\t\n",
- "\tprod=1\n",
- "\tif n>1:\n",
- "\t\t\n",
- "\t\tfor i in xrange(2,n+1):\n",
- "\t\t\tprod*=i\n",
- "\t\t\n",
- "\t\n",
- "\treturn prod\n",
- "\t\n",
- "n=7\n",
- "print 'n!=%d' %factorial(n)\n",
- "\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "n!=5040\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 8.3, Page number: 8.3<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def linecount(text):\n",
- "\t\n",
- "\treturn len(text)\n",
- "\n",
- "Sum=0\n",
- "lines=['Now is the time for all good men','to come to the aid of their country.']\n",
- "for i in lines:\n",
- "\tSum+=linecount(i)\n",
- "\n",
- "count=len(lines)\n",
- "count=float(count)\n",
- "avg=Sum/count\n",
- "\n",
- "print 'Average numbers of characters per line: ',avg\n",
- "\t\n",
- "\t"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Average numbers of characters per line: 34.0\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 8.4, Page number: 8.5<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "a,b,x1,y1,xr,yr,CNST=0,0,0,0,0,0,0.0001\n",
- "\n",
- "def reduce():\n",
- "\n",
- "\tglobal x1,xr,y1,yr,a,b\n",
- "\t\n",
- "\tx1 = a+0.5*(b-a-CNST)\n",
- "\txr = x1 + CNST\n",
- "\ty1 = curve(x1)\n",
- "\tyr = curve(xr)\n",
- "\t\n",
- "\tif y1 > yr:\n",
- "\t\tb = xr\n",
- "\t\n",
- "\telif y1 < yr:\n",
- "\t\ta = x1\n",
- "\t\t\n",
- "\treturn\n",
- "\n",
- "def curve(x):\n",
- "\t\n",
- "\treturn x*math.cos(x)\n",
- "\t\n",
- "\t\n",
- "a = 0\n",
- "b = 3.141593\n",
- "\n",
- "while True:\n",
- "\treduce()\n",
- "\tif y1 == yr or b-a <= 3*CNST:\n",
- "\t\tbreak\n",
- "\t\t\n",
- "\n",
- "xmax = 0.5*(x1+xr)\n",
- "ymax = curve(xmax)\n",
- "print 'xmax = %8.6f ymax = %8.6f' %(xmax,ymax)\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "xmax = 0.860394 ymax = 0.561096\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 8.5, Page number: 8.9<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def linecount(text):\n",
- "\t\n",
- "\tglobal Sum\n",
- "\tSum += len(text)\n",
- "\n",
- "Sum=0\n",
- "lines=['Now is the time for all good men','to come to the aid of their country.']\n",
- "for i in lines:\n",
- "\tlinecount(i)\n",
- "\n",
- "count=len(lines)\n",
- "count=float(count)\n",
- "avg=Sum/count\n",
- "\n",
- "print 'Average numbers of characters per line: ',avg\n",
- "\t\n",
- "\t\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Average numbers of characters per line: 34.0\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 8.7, Page number: 8.12<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def fibonacci(count):\n",
- "\t\n",
- "\tif count<3:\n",
- "\t\tf=1\n",
- "\telse:\n",
- "\t\tf = fibonacci.f1 + fibonacci.f2\n",
- "\t\tfibonacci.f2 = fibonacci.f1\n",
- "\t\tfibonacci.f1 = f\n",
- "\t\t\n",
- "\treturn f\n",
- "\t\t\n",
- "fibonacci.f1,fibonacci.f2=1,1\n",
- "n=30\n",
- "for count in range(1,n+1):\n",
- "\t\n",
- "\tprint 'i = %2d F = %d' %(count,fibonacci(count))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "i = 1 F = 1\n",
- "i = 2 F = 1\n",
- "i = 3 F = 2\n",
- "i = 4 F = 3\n",
- "i = 5 F = 5\n",
- "i = 6 F = 8\n",
- "i = 7 F = 13\n",
- "i = 8 F = 21\n",
- "i = 9 F = 34\n",
- "i = 10 F = 55\n",
- "i = 11 F = 89\n",
- "i = 12 F = 144\n",
- "i = 13 F = 233\n",
- "i = 14 F = 377\n",
- "i = 15 F = 610\n",
- "i = 16 F = 987\n",
- "i = 17 F = 1597\n",
- "i = 18 F = 2584\n",
- "i = 19 F = 4181\n",
- "i = 20 F = 6765\n",
- "i = 21 F = 10946\n",
- "i = 22 F = 17711\n",
- "i = 23 F = 28657\n",
- "i = 24 F = 46368\n",
- "i = 25 F = 75025\n",
- "i = 26 F = 121393\n",
- "i = 27 F = 196418\n",
- "i = 28 F = 317811\n",
- "i = 29 F = 514229\n",
- "i = 30 F = 832040\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 8.9, Page number: 8.18<h3> "
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "def play():\n",
- " print \"Throwing the dice....\"\n",
- " score1=throw()\n",
- " print \"%2d\" %(score1)\n",
- "\n",
- " if score1==7 or score1==11:\n",
- " print \"Congratulations!! you WIN on the first throw\"\n",
- "\n",
- " elif score1==2 or score1==3 or score1==12:\n",
- " print \"sorry!! you LOSE on the first throw\"\n",
- "\n",
- " else:\n",
- " while(True):\n",
- " print \"Throwing the dice again...\"\n",
- " score2=throw()\n",
- " print \"%2d\" %(score2)\n",
- " if score2==score1 or score2==7:\n",
- " break\n",
- "\n",
- " if score2==score1:\n",
- " print \"You WIN by matching your first score\"\n",
- " else:\n",
- " print \"You LOSE by failing to match your first score\"\n",
- "\n",
- "\n",
- " return\n",
- "\n",
- "\n",
- "def throw():\n",
- "\n",
- " n1=random.randrange(1,7)\n",
- " n2=random.randrange(1,7)\n",
- " return n1+n2\n",
- "\n",
- "\n",
- "import random\n",
- "\n",
- "\n",
- "print \"Welcome to the Game of Craps \\n\\n\"\n",
- "random.seed(563)\n",
- "play()\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Welcome to the Game of Craps \n",
- "\n",
- "\n",
- "Throwing the dice....\n",
- "10\n",
- "Throwing the dice again...\n",
- " 3\n",
- "Throwing the dice again...\n",
- "12\n",
- "Throwing the dice again...\n",
- " 9\n",
- "Throwing the dice again...\n",
- " 7\n",
- "You LOSE by failing to match your first score\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 8.11, Page Number: 8.21<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "a,b,x1,y1,xr,yr,CNST=0,0,0,0,0,0,0.0001\n",
- "\n",
- "def reduce():\n",
- "\n",
- "\tglobal x1,xr,y1,yr,a,b\n",
- "\t\n",
- "\tx1 = a+0.5*(b-a-CNST)\n",
- "\txr = x1 + CNST\n",
- "\ty1 = curve(x1)\n",
- "\tyr = curve(xr)\n",
- "\t\n",
- "\tif y1 > yr:\n",
- "\t\tb = xr\n",
- "\t\n",
- "\telif y1 < yr:\n",
- "\t\ta = x1\n",
- "\t\t\n",
- "\treturn\n",
- "\n",
- "def curve(x):\n",
- "\t\n",
- "\treturn x*math.cos(x)\n",
- "\t\n",
- "\t\n",
- "a = 0\n",
- "b = 3.141593\n",
- "\n",
- "while True:\n",
- "\treduce()\n",
- "\tif y1 == yr or b-a <= 3*CNST:\n",
- "\t\tbreak\n",
- "\t\t\n",
- "\n",
- "xmax = 0.5*(x1+xr)\n",
- "ymax = curve(xmax)\n",
- "print 'xmax = %8.6f ymax = %8.6f' %(xmax,ymax)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "xmax = 0.860394 ymax = 0.561096\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3> Example 8.12, Page Number: 8.23<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def fibonacci(count):\n",
- "\t\n",
- "\tif count<3:\n",
- "\t\tf=1\n",
- "\telse:\n",
- "\t\tf = fibonacci.f1 + fibonacci.f2\n",
- "\t\tfibonacci.f2 = fibonacci.f1\n",
- "\t\tfibonacci.f1 = f\n",
- "\t\t\n",
- "\treturn f\n",
- "\t\t\n",
- "fibonacci.f1,fibonacci.f2=1,1\n",
- "n=40\n",
- "for count in range(1,n+1):\n",
- "\t\n",
- "\tprint 'i = %2d F = %d' %(count,fibonacci(count))\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "i = 1 F = 1\n",
- "i = 2 F = 1\n",
- "i = 3 F = 2\n",
- "i = 4 F = 3\n",
- "i = 5 F = 5\n",
- "i = 6 F = 8\n",
- "i = 7 F = 13\n",
- "i = 8 F = 21\n",
- "i = 9 F = 34\n",
- "i = 10 F = 55\n",
- "i = 11 F = 89\n",
- "i = 12 F = 144\n",
- "i = 13 F = 233\n",
- "i = 14 F = 377\n",
- "i = 15 F = 610\n",
- "i = 16 F = 987\n",
- "i = 17 F = 1597\n",
- "i = 18 F = 2584\n",
- "i = 19 F = 4181\n",
- "i = 20 F = 6765\n",
- "i = 21 F = 10946\n",
- "i = 22 F = 17711\n",
- "i = 23 F = 28657\n",
- "i = 24 F = 46368\n",
- "i = 25 F = 75025\n",
- "i = 26 F = 121393\n",
- "i = 27 F = 196418\n",
- "i = 28 F = 317811\n",
- "i = 29 F = 514229\n",
- "i = 30 F = 832040\n",
- "i = 31 F = 1346269\n",
- "i = 32 F = 2178309\n",
- "i = 33 F = 3524578\n",
- "i = 34 F = 5702887\n",
- "i = 35 F = 9227465\n",
- "i = 36 F = 14930352\n",
- "i = 37 F = 24157817\n",
- "i = 38 F = 39088169\n",
- "i = 39 F = 63245986\n",
- "i = 40 F = 102334155\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 8.13, Page Number: 8.25<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "import math\n",
- "\n",
- "p,r,n=10000,10,3\n",
- "i=r/100.0\n",
- "\n",
- "f=p*math.pow(1+i,n)\n",
- "print \"The final value (F) is: %.2f\" %f\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The final value (F) is: 13310.00\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [],
- "language": "python",
- "metadata": {},
- "outputs": []
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/chapter9.ipynb b/_Programming_With_C/chapter9.ipynb
deleted file mode 100644
index 00db2e74..00000000
--- a/_Programming_With_C/chapter9.ipynb
+++ /dev/null
@@ -1,555 +0,0 @@
-{
- "metadata": {
- "name": ""
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h1>Chapter 9: Arrays<h1>"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 9.2, Page number: 9.2<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "letter='heavenly feeling'\n",
- "letter=list(letter)\n",
- "\n",
- "for count in letter:\n",
- " print count.upper(),\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "H E A V E N L Y F E E L I N G\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 9.8, Page number: 9.6<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "Sum=0.0\n",
- "List=[]\n",
- "n=5\n",
- "for count in range(0,n):\n",
- " x=count+1\n",
- " print \"\\ni = %d x = %d\" %(count+1,x),\n",
- " List.append(count)\n",
- " Sum+=List[count]\n",
- "\n",
- "avg=Sum/n\n",
- "print \"\\n\\nThe average is %5.2f\\n\\n\" %avg\n",
- "for count in range(0,n):\n",
- " d=List[count]-avg\n",
- " print \"i=%d x=%5.2f d=%5.2f\" %(count+1,List[count],d)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "i = 1 x = 1 \n",
- "i = 2 x = 2 \n",
- "i = 3 x = 3 \n",
- "i = 4 x = 4 \n",
- "i = 5 x = 5 \n",
- "\n",
- "The average is 2.00\n",
- "\n",
- "\n",
- "i=1 x= 0.00 d=-2.00\n",
- "i=2 x= 1.00 d=-1.00\n",
- "i=3 x= 2.00 d= 0.00\n",
- "i=4 x= 3.00 d= 1.00\n",
- "i=5 x= 4.00 d= 2.00\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 9.9, Page number: 9.8<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "n=5\n",
- "List=[3.0,-2.0,12.0,4.4,3.5]\n",
- "Sum=0.0\n",
- "\n",
- "for count in range(0,n):\n",
- " Sum+=List[count]\n",
- "\n",
- "avg=Sum/n\n",
- "\n",
- "print \"The average is %5.2f \\n\\n\" %avg\n",
- "\n",
- "for count in range(0,n):\n",
- " d=List[count]-avg\n",
- " print \"i=%d x=%5.2f d=%5.2f\\n\" %(count+1,List[count],d)\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "The average is 4.18 \n",
- "\n",
- "\n",
- "i=1 x= 3.00 d=-1.18\n",
- "\n",
- "i=2 x=-2.00 d=-6.18\n",
- "\n",
- "i=3 x=12.00 d= 7.82\n",
- "\n",
- "i=4 x= 4.40 d= 0.22\n",
- "\n",
- "i=5 x= 3.50 d=-0.68\n",
- "\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 9.11, Page number: 9.10<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def modify(a):\n",
- " print \"From the function after modifying the values: \"\n",
- "\n",
- " for count in range(0,3):\n",
- " a[count]=-9\n",
- " print \"a[%d] = %d \" %(count,a[count])\n",
- "\n",
- " return\n",
- "\n",
- "a=[]\n",
- "print \"From main, before calling the function: \"\n",
- "for count in range(0,3):\n",
- " a.append(count+1)\n",
- " print \"a[%d] = %d \" %(count,a[count])\n",
- "\n",
- "modify(a)\n",
- "print \"From the main, after calling the function: \"\n",
- "for count in range(0,3):\n",
- " print \"a[%d] = %d \" %(count,a[count])\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "From main, before calling the function: \n",
- "a[0] = 1 \n",
- "a[1] = 2 \n",
- "a[2] = 3 \n",
- "From the function after modifying the values: \n",
- "a[0] = -9 \n",
- "a[1] = -9 \n",
- "a[2] = -9 \n",
- "From the main, after calling the function: \n",
- "a[0] = -9 \n",
- "a[1] = -9 \n",
- "a[2] = -9 \n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 9.12, Page number: 9.12<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "a=1\n",
- "def modify(b,c):\n",
- "\n",
- " print \"From the function, after modifying the value : \"\n",
- " global a\n",
- " a=-999\n",
- " b=-999\n",
- " print \"a = %d b = %d\" %(a,b)\n",
- " for count in range(0,3):\n",
- " c[count]=-9\n",
- " print \"c[%d] = %d\" %(count,c[count])\n",
- "\n",
- " return\n",
- "\n",
- "\n",
- "\n",
- "b=2\n",
- "c=[]\n",
- "\n",
- "print \"From main, before calling the function: \"\n",
- "print \"a = %d b = %d\" %(a,b)\n",
- "\n",
- "for count in range(0,3):\n",
- " c.append(10*(count+1))\n",
- " print \"c[%d] = %d\" %(count,c[count])\n",
- "\n",
- "modify(b,c)\n",
- "print \"From main, after calling the function:\"\n",
- "print \"a = %d b = %d\" %(a,b)\n",
- "\n",
- "for count in range(0,3):\n",
- " print \"c[%d] = %d\" %(count,c[count])\n",
- "\n",
- "\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "From main, before calling the function: \n",
- "a = 1 b = 2\n",
- "c[0] = 10\n",
- "c[1] = 20\n",
- "c[2] = 30\n",
- "From the function, after modifying the value : \n",
- "a = -999 b = -999\n",
- "c[0] = -9\n",
- "c[1] = -9\n",
- "c[2] = -9\n",
- "From main, after calling the function:\n",
- "a = -999 b = 2\n",
- "c[0] = -9\n",
- "c[1] = -9\n",
- "c[2] = -9\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 9.13, Page number: 9.13<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "def reorder(n,x):\n",
- " for item in range(0,n-1):\n",
- " for i in range(item+1,n):\n",
- " if x[i]<x[item]:\n",
- " temp=x[item]\n",
- " x[item]=x[i]\n",
- " x[i]=temp\n",
- "\n",
- " return\n",
- "\n",
- "x=[]\n",
- "n=10\n",
- "print\n",
- "\n",
- "for i in range(0,n):\n",
- " inp=i+1\n",
- " print \"\\ni = %d x = %d\" %(i+1,inp),\n",
- " x.append(inp)\n",
- "\n",
- "reorder(n,x)\n",
- "\n",
- "print \"\\n\\nReordered list of numbers: \\n\"\n",
- "\n",
- "for i in range(0,n):\n",
- " print \"i = %d x = %d\" %(i+1,x[i])"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "\n",
- "i = 1 x = 1 \n",
- "i = 2 x = 2 \n",
- "i = 3 x = 3 \n",
- "i = 4 x = 4 \n",
- "i = 5 x = 5 \n",
- "i = 6 x = 6 \n",
- "i = 7 x = 7 \n",
- "i = 8 x = 8 \n",
- "i = 9 x = 9 \n",
- "i = 10 x = 10 \n",
- "\n",
- "Reordered list of numbers: \n",
- "\n",
- "i = 1 x = 1\n",
- "i = 2 x = 2\n",
- "i = 3 x = 3\n",
- "i = 4 x = 4\n",
- "i = 5 x = 5\n",
- "i = 6 x = 6\n",
- "i = 7 x = 7\n",
- "i = 8 x = 8\n",
- "i = 9 x = 9\n",
- "i = 10 x = 10\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 9.14, Page number: 9.16<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "def countwords(english):\n",
- " words=1\n",
- " for count in range(0,len(english)-1):\n",
- " if english[count]==' ' and english[count+1]!=' ':\n",
- " words+=1\n",
- " \n",
- " return words\n",
- "\n",
- "def convert(words,english,piglatin):\n",
- " m1=0\n",
- " for n in range(1,words+1):\n",
- " count=m1\n",
- " while english[count]!=' ':\n",
- " m2=count\n",
- " count+=1\n",
- "\n",
- " for count in range(m1,m2):\n",
- " piglatin.append(english[count+1])\n",
- " piglatin.append(english[m1])\n",
- " piglatin.append('a')\n",
- " piglatin.append(' ')\n",
- "\n",
- " m1=m2+2\n",
- "\n",
- " return\n",
- "\n",
- "def writeoutput(piglatin):\n",
- " piglatin=''.join(piglatin)\n",
- " print piglatin\n",
- " return\n",
- "\n",
- "def main(english):\n",
- " english=list(english)\n",
- " piglatin=[]\n",
- " english.append(' ')\n",
- "\n",
- " words=countwords(english)\n",
- " convert(words,english,piglatin)\n",
- " writeoutput(piglatin)\n",
- " \n",
- " return\n",
- "\n",
- "print '\\nC is a popular structured programming language'\n",
- "main('C is a popular structured programming language')\n",
- "print '\\nbaseball is the great American pastime.'\n",
- "main('baseball is the great American pastime.')\n",
- "print '\\nthough there are many who prefer football'\n",
- "main('though there are many who prefer football')\n",
- "print '\\nplease do not sneeza in the computer room'\n",
- "main('please do not sneeza in the computer room')\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- "C is a popular structured programming language\n",
- "Ca sia aa opularpa tructuredsa rogrammingpa anguagela \n",
- "\n",
- "baseball is the great American pastime.\n",
- "aseballba sia heta reatga mericanAa astime.pa \n",
- "\n",
- "though there are many who prefer football\n",
- "houghta hereta reaa anyma howa referpa ootballfa \n",
- "\n",
- "please do not sneeza in the computer room\n",
- "leasepa oda otna neezasa nia heta omputerca oomra \n"
- ]
- }
- ],
- "prompt_number": 24
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "<h3>Example 9.19, Page number: 9.26<h3>"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "\n",
- "\n",
- "def readinput(m,n,i=0):\n",
- "\n",
- " at=[]\n",
- " for row in range(0,m):\n",
- " temp=[]\n",
- " for col in range(0,n):\n",
- " t=i\n",
- " i+=1\n",
- " temp.append(t)\n",
- " at.append(temp)\n",
- "\n",
- "\n",
- " return at\n",
- " \n",
- "def computesum(a,b,m,n):\n",
- "\n",
- " c=[]\n",
- "\n",
- " for row in range(0,m):\n",
- " temp=[]\n",
- " for col in range(0,n):\n",
- " t=a[row][col]+b[row][col]\n",
- " temp.append(t)\n",
- " c.append(temp)\n",
- "\n",
- " return c\n",
- "\n",
- "def writeoutput(c,m,n):\n",
- "\n",
- " for row in range(0,m):\n",
- " for col in range(0,n):\n",
- " print \"%4d\" %(c[row][col]),\n",
- " print\n",
- "\n",
- " return\n",
- "\n",
- "\n",
- "\n",
- "print \"\\n FIRST TABLE : \\n\"\n",
- "a=readinput(5,5,1)\n",
- "writeoutput(a,5,5)\n",
- "\n",
- "print \"\\n SECOND TABLE : \\n\"\n",
- "b=readinput(5,5,50)\n",
- "writeoutput(b,5,5)\n",
- "\n",
- "c=computesum(a,b,5,5)\n",
- "print \"Sums of the elements : \\n\"\n",
- "writeoutput(c,5,5)\n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "\n",
- " FIRST TABLE : \n",
- "\n",
- " 1 2 3 4 5\n",
- " 6 7 8 9 10\n",
- " 11 12 13 14 15\n",
- " 16 17 18 19 20\n",
- " 21 22 23 24 25\n",
- "\n",
- " SECOND TABLE : \n",
- "\n",
- " 50 51 52 53 54\n",
- " 55 56 57 58 59\n",
- " 60 61 62 63 64\n",
- " 65 66 67 68 69\n",
- " 70 71 72 73 74\n",
- "Sums of the elements : \n",
- "\n",
- " 51 53 55 57 59\n",
- " 61 63 65 67 69\n",
- " 71 73 75 77 79\n",
- " 81 83 85 87 89\n",
- " 91 93 95 97 99\n"
- ]
- }
- ],
- "prompt_number": 25
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/_Programming_With_C/screenshots/Untitled1.png b/_Programming_With_C/screenshots/Untitled1.png
deleted file mode 100644
index 99318d7d..00000000
--- a/_Programming_With_C/screenshots/Untitled1.png
+++ /dev/null
Binary files differ
diff --git a/_Programming_With_C/screenshots/Untitled2.png b/_Programming_With_C/screenshots/Untitled2.png
deleted file mode 100644
index f39082e3..00000000
--- a/_Programming_With_C/screenshots/Untitled2.png
+++ /dev/null
Binary files differ
diff --git a/_Programming_With_C/screenshots/Untitled3.png b/_Programming_With_C/screenshots/Untitled3.png
deleted file mode 100644
index 1b33e38c..00000000
--- a/_Programming_With_C/screenshots/Untitled3.png
+++ /dev/null
Binary files differ