summaryrefslogtreecommitdiff
path: root/Basic_And_Applied_Thermodynamics_by_P._K._Nag/Chapter04.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Basic_And_Applied_Thermodynamics_by_P._K._Nag/Chapter04.ipynb')
-rw-r--r--Basic_And_Applied_Thermodynamics_by_P._K._Nag/Chapter04.ipynb408
1 files changed, 408 insertions, 0 deletions
diff --git a/Basic_And_Applied_Thermodynamics_by_P._K._Nag/Chapter04.ipynb b/Basic_And_Applied_Thermodynamics_by_P._K._Nag/Chapter04.ipynb
new file mode 100644
index 00000000..ca6e53da
--- /dev/null
+++ b/Basic_And_Applied_Thermodynamics_by_P._K._Nag/Chapter04.ipynb
@@ -0,0 +1,408 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 04:First Law of Thermodynamics"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex4.1:pg-72"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Example 4.1\n",
+ "\n",
+ " The internal energy of the gas decrease by 21.85 kJ in the process.\n"
+ ]
+ }
+ ],
+ "source": [
+ "\n",
+ "\n",
+ "V1 = 0.3 # Initial volume in m**3\n",
+ "\n",
+ "V2 = 0.15 # Final volume in m**3\n",
+ "\n",
+ "P = 0.105 # Initial Pressure in MPa\n",
+ "\n",
+ "Q = -37.6 # Heat transferred in kJ\n",
+ "\n",
+ "W = P*(V2-V1)*1e6 # Work done\n",
+ "\n",
+ "U = Q*1e3-W # Internal energy change\n",
+ "\n",
+ "print \"\\n Example 4.1\"\n",
+ "\n",
+ "print \"\\n The internal energy of the gas decrease by \",abs(U)/1e3 ,\" kJ in the process.\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex4.2:pg-73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Example 4.2\n",
+ "\n",
+ " The heat flow into the system along the path adb is 62.5 kJ\n",
+ "\n",
+ " The heat liberated along the path b-a is -73 kJ\n",
+ "\n",
+ " The heat absorbed in the path ad and db are 52.5 kJ nd 10.0 kJ respectively.\n"
+ ]
+ }
+ ],
+ "source": [
+ "Qacb = 84 # Heat transfer along the path acb in kJ \n",
+ "\n",
+ "Wacb = 32 # Work done along the path acb in kJ\n",
+ "\n",
+ "Uba = Qacb-Wacb # Ub-Ua\n",
+ "\n",
+ "# Part (a)\n",
+ "\n",
+ "Wadb = 10.5 # Work done along the path adb in kJ\n",
+ "\n",
+ "Qadb = Uba+Wadb # Heat flow into the system along the path adb\n",
+ "\n",
+ "print \"\\n Example 4.2\"\n",
+ "\n",
+ "print \"\\n The heat flow into the system along the path adb is \",Qadb ,\" kJ\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "# Part (b)\n",
+ "\n",
+ "Wb_a = -21 # work done along the path ba in kJ\n",
+ "\n",
+ "Uab = - Uba # Change in internal energy along the path ab in kJ\n",
+ "\n",
+ "Qb_a = Uab+Wb_a # Heat liberated along the path b-a\n",
+ "\n",
+ "print \"\\n The heat liberated along the path b-a is \",Qb_a,\" kJ\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "# Part (c)\n",
+ "\n",
+ "Wdb = 0 # Constant volume\n",
+ "\n",
+ "Wad = 10.5 # work done along the path ad in kJ\n",
+ "\n",
+ "Wadb = Wdb-Wad # work done along the path adb in kJ\n",
+ "\n",
+ "Ud = 42\n",
+ "\n",
+ "Ua = 0\n",
+ "\n",
+ "Qad = Ud-Ua+Wad # Heat flow into the system along the path ad in kJ\n",
+ "\n",
+ "Qdb = Qadb-Qad #Heat flow into the system along the path db in kJ\n",
+ "\n",
+ "print \"\\n The heat absorbed in the path ad and db are \",Qad ,\" kJ nd \",Qdb ,\" kJ respectively.\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex4.3:pg-73"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Example 4.3\n",
+ "The completed table is: [[0, 2170, -2170], [21000, 0, 21000], [-2100, 34500, -36600], [-35900, -53670, 17770]]\n",
+ "\n",
+ " Net rate of work output is -284 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Process a-b\n",
+ "\n",
+ "Qab = 0 # Heat transfer along the path ab in kJ/ min\n",
+ "\n",
+ "Wab = 2170 # Work transfer along the path ab in kJ/min\n",
+ "\n",
+ "Eab = Qab-Wab # Change in internal energy along the path ab in kJ/min\n",
+ "\n",
+ "# Process b-c\n",
+ "\n",
+ "Qbc = 21000 # Heat transfer along the path bc in kJ/ min\n",
+ "\n",
+ "Wbc = 0 # Work transfer along the path bc in kJ/min\n",
+ "\n",
+ "Ebc = Qbc-Wbc # Change in internal energy along the path bc in kJ/min\n",
+ "\n",
+ "# Process c-d\n",
+ "\n",
+ "Qcd = -2100 # Heat transfer along the path cd in kJ/ min\n",
+ "\n",
+ "Ecd = -36600 # Change in internal energy along the path cd in kJ/min\n",
+ "\n",
+ "Wcd = Qcd-Ecd # Work transfer along the path cd in kJ/min\n",
+ "\n",
+ "# Process d-a\n",
+ "\n",
+ "Q = -17000 # Total heat transfer in kJ/min\n",
+ "\n",
+ "Qda = Q-Qab-Qbc-Qcd # Heat transfer along the path da in kJ/ min \n",
+ "\n",
+ "Eda = -Eab-Ebc-Ecd # Change in internal energy along the path da in kJ/min \n",
+ "\n",
+ "Wda = Qda-Eda # Work transfer along the path da in kJ/min\n",
+ "\n",
+ "print \"\\n Example 4.3\"\n",
+ "\n",
+ "\n",
+ "\n",
+ "M = [[Qab, Wab, Eab] , [Qbc, Wbc, Ebc], [Qcd, Wcd, Ecd], [Qda, Wda, Eda]]\n",
+ "\n",
+ "print\"The completed table is:\",M\n",
+ " \n",
+ "W = Qab+Qbc+Qcd+Qda\n",
+ " \n",
+ "print \"\\n Net rate of work output is \",W/60 ,\" kW\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex4.4:pg-75"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Example 4.4\n",
+ "\n",
+ " Part A:\n",
+ "\n",
+ " For the quasi static process is: \n",
+ " \n",
+ "Q: 37.2676405731 kJ\n",
+ "\n",
+ " dU: -92.1338891945 kJ\n",
+ "\n",
+ " W: 129.4 kJ \n",
+ "\n",
+ " Part B:\n",
+ "\n",
+ " Work transfer for the process is 122.13 kJ.\n",
+ "\n",
+ "\n",
+ " Part C:\n",
+ "\n",
+ " Wb is not equal to integral(p*dv) since the process is not quasi static.\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Part (a)\n",
+ "\n",
+ "m = 3 # mass of substance in kg\n",
+ "\n",
+ "V1 = 0.22 # Initial volume of system in m**3\n",
+ "\n",
+ "P1 = 500 # Initial pressure of system in kPa \n",
+ "\n",
+ "P2 = 100 # Final pressure of system in kPa \n",
+ "\n",
+ "V2 = V1*(P1/P2)**(1/1.2) # Final volume of system\n",
+ "\n",
+ "dU = 3.56*(P2*V2-P1*V1) # Change in internal energy of substance in kJ/kg\n",
+ "\n",
+ "n = 1.2 # polytropic index\n",
+ "\n",
+ "W = (P2*V2-P1*V1)/(1-n) # work done in process\n",
+ "\n",
+ "Q = dU+W # Heat addition in process\n",
+ "\n",
+ "\n",
+ "\n",
+ "print \"\\n Example 4.4\"\n",
+ "\n",
+ "print \"\\n Part A:\"\n",
+ "\n",
+ "print \"\\n For the quasi static process is: \\n \"\n",
+ "\n",
+ "print \"Q: \",Q ,\"kJ\"\n",
+ "\n",
+ "print \"\\n dU: \",dU ,\"kJ\"\n",
+ "\n",
+ "print \"\\n W: \",round(W,2) ,\"kJ\",\n",
+ "\n",
+ "#The provided in the textbook is wrong\n",
+ "\n",
+ "# Part (b)\n",
+ "\n",
+ "print \"\\n\\n Part B:\"\n",
+ "\n",
+ "Qb = 30 # heat transfer in kJ \n",
+ "\n",
+ "Wb = Qb-dU # Work done in kJ\n",
+ "\n",
+ "print \"\\n Work transfer for the process is \",round(Wb,2) ,\"kJ.\" \n",
+ "\n",
+ "#The answers vary due to round off error\n",
+ "\n",
+ "# Part (c)\n",
+ "\n",
+ "print \"\\n\\n Part C:\"\n",
+ "\n",
+ "print \"\\n Wb is not equal to integral(p*dv) since the process is not quasi static.\"\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Ex4.5:pg-76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ " Example 4.5\n",
+ "\n",
+ " The work done by the system is 8.55 kJ\n",
+ "\n",
+ " The heat flow into the system is 68.085 kJ\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "from scipy.integrate import quad\n",
+ "V1 = 0.03 # initial volume in m**3\n",
+ "\n",
+ "P1 = 170.0 # Initial pressure in kPa\n",
+ "\n",
+ "P2 = 400.0 # Final pressure in kPa\n",
+ "\n",
+ "V2 = 0.06 # Final volume in m**3\n",
+ "\n",
+ "U = 3.15*(P2*V2-P1*V1) # internal energy in kJ\n",
+ "\n",
+ "b = np.matrix([P1, P2])\n",
+ "\n",
+ "B=b.transpose()\n",
+ "\n",
+ "A = np.matrix([[1,V1],[1,V2]]) \n",
+ "\n",
+ "x = A.getI()*B \n",
+ "\n",
+ "a = x[0] ; b = x[1] \n",
+ "\n",
+ "def pressure(V): \n",
+ " P = a+b*V\n",
+ " return P\n",
+ "\n",
+ " endfunction \n",
+ "\n",
+ "\n",
+ "W, err = quad(pressure, V1, V2)\n",
+ " \n",
+ "#W = integrate(pressure,V1,V2) \n",
+ " \n",
+ "Q = U+W # heat flow into the system in kJ\n",
+ " \n",
+ " \n",
+ " \n",
+ "print \"\\n Example 4.5\"\n",
+ " \n",
+ "print \"\\n The work done by the system is \",W ,\" kJ\"\n",
+ " \n",
+ "print \"\\n The heat flow into the system is \",Q ,\" kJ\"\n",
+ " \n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}