{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# NumPy, matplotlib and the van der Waals Equation of State isotherms.\n", "This notebook intends to present van der Waals's Equation of State([wikipedia](https://en.wikipedia.org/wiki/Van_der_Waals_equation),[nobel prize lecture](http://www.nobelprize.org/nobel_prizes/physics/laureates/1910/waals-lecture.pdf)) and its isotherms in the Pressure-Volume diagram.\n", "\n", "> **Here you will meet the following topics:**\n", ">- Thermodynamics: `EoS isotherms`.\n", ">- Python: `matplotlib.pyplot`, `numpy`.\n", ">- Jupyter Notebook: `magic command`, `interactive plotting`.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Supose you have to solve the following assignment in a thermodynamics course:\n", ">\"Plot the isotherm of van de Waals - EoS for some pure component at different values of T and comment on the sub-critical and super-critical behavior.\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we will use some resources of the packages numpy and matplotlib. numpy is \"the fundamental package for scientific computing with Python\".\n", "To import a module into our notebook we use the following syntax:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np #this line imports the module numpy \"the fundamental package for scientific computing with Python\"\n", "#import <-- keyword import\n", " #numpy <-- name of the package\n", " #as <-- the keyword \"as\" i sused to introduce an alias\n", " #np <-- the alias name that we wish to use to refer to that module" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to use any function of this module, we have to write `alias_name.function_name`. As an example, we will see function `np.linspace` that will be used in the following cells.\n", "\n", "We will also use matplotlib, a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms.\n", "We will be particularly interested in the pyplot interface." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import matplotlib.pyplot as plt #this line imports the module pyplot from the package matplotlib\n", "#import <-- keyword import\n", " #matplotlib <-- name of the whole package\n", " #. <-- this dot designates posession: pyplot belongs to matplotlib\n", " #pyplot <-- name of the module in matplotlib\n", " #as <-- the keyword \"as\" i sused to introduce an alias\n", " #plt <-- the alias name that we wish to use to refer to that module" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From matplotlib, we will be most interested in the pyplot submodule. We will use its functions and, in order to do that, syntax will follow the same structure mentioned above: `alias_name.submodule_name.function_name`" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "#this is an Ipython \"magic command\". This performs the necessary behind-the-scenes setup for IPython to work correctly hand in hand with matplotlib;\n", "#With this backend, the output of plotting commands is displayed inline within frontends like the Jupyter notebook, directly below the code cell that produced it. The resulting plots will then also be stored in the notebook document\n", "\n", "#you can try commenting the previous magic command and enabling the following\n", "#%matplotlib notebook\n", "#this command allows interactive figures, if your environment is suitable for it." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Consider the *van der Waals* equation of state (Reid et al., 1987 - see Eq 3-6.1 and Table 3-5, line 1)\n", "\n", "$P=\\frac{RT}{{\\bar{V}}-b}-\\frac{a}{{\\bar{V}}^2}$\n", "\n", "$a=\\frac{27}{64}\\frac{{{Tc}^2}{R^2}}{Pc}$\n", "\n", "\n", "$b=\\frac{{R}{Tc}}{{8}{Pc}}$\n", "\n", "where $R$ is the gas constant: \n", "\n", "$R = 8.3144598 \\mathrm{{J} {mol^{−1}} {K^{−1}}}$\n", "\n", "Here, we will use hexane as an example. Its critical properties are: \n", "\n", "$Tc = 507.5 \\mathrm{K}$\n", "\n", "\n", "$Pc = 30.1 \\times {10^5} \\mathrm{Pa}$\n", "\n", "So let's code this information:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we assign the value of the universal gas constant ($R$) to the variable named `R`" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#gas constant\n", "R = 8.3144598 #J.mol^−1.K^−1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we assign the values of the critical properties of hexane ($Tc$ and $Pc$) to variables `Tc` and `Pc`." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#pure component critical point of hexane\n", "# Tc (K)\n", "Tc = 507.5 #K\n", "\n", "# Pc (Pa)\n", "Pc = 30.1*(10**5) #Pa" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we create variables `a` and `b` for the EoS parameters $a$ and $b$." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.4954993637433445\n" ] } ], "source": [ "a = 27/64*((Tc**2)*(R**2)/Pc)\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0001752320742732558\n" ] } ], "source": [ "b = (R*Tc)/(8*Pc)\n", "print(b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once the values of the parameters were assigned, we can create a function for pressure calculation using the pressure-explicit form of the van der Waals EoS. Its variables are molar volume ($\\bar{V}$) and temperature ($T$). These last two physical values (molar volume and temperature) will be represented by the variables `Vm` and `T`, respectively. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def Pressure_van_Der_waals(T,Vm):\n", "#define function to calc Pressure from T and V\n", " P = R*T/(Vm-b) - a/(Vm**2)\n", "#note that T and Vm used inside the function are the dummy arguments, i.e., the values used in the calculation are the values provided when calling the function.\n", "#a and b, on the other hand, are assumed known from the 'namespace' that encompasses that function, in this case, that is the namespace of the python code cells in the whole jupyter notebook being run \n", "#its functioning is quite simple here. however, it requires further comprehension when dealing with different python files and importing different modules.\n", " return P" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "image/png": "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\nNBqNRpMy/x/v52VTTDdZewAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(1) #activate a figure\n", "\n", "for T in np.array([.1,.25,.5,.75,1,2])*Tc:\n", "#--------numpy.linspace <-- remember in course 1 we used the function \"range\" from python. that function works only for integers.\n", "#here we want to make a range of real values. for that, we have to use the functions numpy.arange or numpy.linspace\n", "#numpy.linspace works in the following way: we provide a initial value, and end value and the number of values, and it returns us a list with the desired number of values equally spaced in the desired interval\n", " \n", " #array of values for volume\n", " Vmi = np.logspace(np.log10(b*1.01),2+np.log10(R*Tc/Pc),100)\n", " #here we use numpy.log the logarithm function and the linspace function to create a list that is equally spaced in the logarithm scale\n", " #and the numpy.exp, the numpy exponencial to recover the values displayed in the original scale\n", " #this transformation to logarithm scale is convenient, given that the values obtained from the equation of state encompass several orders of magnitude.\n", "\n", " plt.semilogx(Vmi,Pressure_van_Der_waals(T,Vmi),label=str(T)+' K') #create a logarithm vs logarithm scale plot of pressure vs volume, using the function pressure in each value of the volume list\n", " plt.ylabel(r'$P (\\mathrm{Pa})$') #create labels to be displayed in y axis of the plot\n", " plt.xlabel(r'$\\bar{V} (\\mathrm{m^{3}mol^{-1}})$') #use matplotlib's mathtext to create special symbols in the x label\n", "\n", " plt.title('vdW\\'s EoS isotherms \\n (for n-hexane)') #create a title for the figure\n", " plt.ylim(-Pc,Pc*3)#define max and min limits of the y axis only to the positive pressure range. remember that this plot is in logarithm scale and it does not accept negative values.\n", " plt.xlim(b,(R*Tc/Pc)*100) #define max and min limits of the x axis\n", "\n", " plt.tick_params( # choose some formatting to the ticks\n", " axis='x', # changes apply to the x-axis\n", " which='both', # both major and minor ticks are affected\n", " bottom='on', # ticks along the bottom edge are off\n", " top='on', # ticks along the top edge are off\n", " labelbottom='on') # labels along the bottom edge are off\n", "\n", "plt.legend() \n", " \n", "plt.show() #finally show the plot. It shows in the output section of the cell if the magic command %matplotlib inline was used in the beginning of the notebook\n" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nrkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#bonus: some drafts for saving the fig in publication quality format\n", "\n", "from matplotlib import rcParams as rc\n", "\n", "fig_width = 9 / 2.54 #in inches\n", "fig_height = 9 / 2.54 #in inches\n", "fig_size = [fig_width,fig_height]\n", "\n", "#FONTS & TICKS\\n\",\n", "params = {'backend': 'ps',\n", "'axes.labelsize': 12, #in pts\n", "'font.size': 8, #in pts\n", "'legend.fontsize': 8, #in pts\n", "'xtick.labelsize': 10, #in pts\n", "'ytick.labelsize': 10, #in pts\n", "'text.usetex': False,\n", "'figure.figsize': fig_size}\n", "rc.update(params)\n", "\n", "\n", "fig, ax = plt.subplots(1,1) #activate a figure\n", "\n", "for T in np.array([.1,.25,.5,.75,1,2])*Tc:\n", "#--------numpy.linspace <-- remember in course 1 we used the function \"range\" from python. that function works only for integers.\n", "#here we want to make a range of real values. for that, we have to use the functions numpy.arange or numpy.linspace\n", "#numpy.linspace works in the following way: we provide a initial value, and end value and the number of values, and it returns us a list with the desired number of values equally spaced in the desired interval\n", " \n", " #array of values for volume\n", " Vmi = np.logspace(np.log10(b*1.01),2+np.log10(R*Tc/Pc),100)\n", " #here we use numpy.log the logarithm function and the linspace function to create a list that is equally spaced in the logarithm scale\n", " #and the numpy.exp, the numpy exponencial to recover the values displayed in the original scale\n", " #this transformation to logarithm scale is convenient, given that the values obtained from the equation of state encompass several orders of magnitude.\n", "\n", " plt.semilogx(Vmi,Pressure_van_Der_waals(T,Vmi),label=str(T)+' K') #create a logarithm vs logarithm scale plot of pressure vs volume, using the function pressure in each value of the volume list\n", " plt.ylabel(r'$P (\\mathrm{Pa})$') #create labels to be displayed in y axis of the plot\n", " plt.xlabel(r'$\\bar{V} (\\mathrm{m^{3}mol^{-1}})$') #use matplotlib's mathtext to create special symbols in the x label\n", "\n", " plt.title('vdW\\'s EoS isotherms \\n (for n-hexane)') #create a title for the figure\n", " plt.ylim(-Pc,Pc*3)#define max and min limits of the y axis only to the positive pressure range. remember that this plot is in logarithm scale and it does not accept negative values.\n", " plt.xlim(b,(R*Tc/Pc)*100) #define max and min limits of the x axis\n", "\n", " plt.tick_params( # choose some formatting to the ticks\n", " axis='x', # changes apply to the x-axis\n", " which='both', # both major and minor ticks are affected\n", " bottom='on', # ticks along the bottom edge are off\n", " top='on', # ticks along the top edge are off\n", " labelbottom='on') # labels along the bottom edge are off\n", "\n", "plt.legend() \n", "\n", "fig.subplots_adjust(left=0.20, right=0.9, top=0.9, bottom=0.14)\n", "\n", "plt.semilogx([b,100*R*Tc/Pc],[0,0],ls=':',color='k')\n", "\n", "plt.semilogx([b,100*R*Tc/Pc],[Pc,Pc],ls=':',color='k')\n", "\n", "ax.ticklabel_format(style = 'sci', axis='y', scilimits=(0,0))\n", "\n", "fig.savefig('fig1.png', dpi=1000)\n", " \n", "plt.show() #finally show the plot. It shows in the output section of the cell if the magic command %matplotlib inline was used in the beginning of the notebook" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusion\n", "In this notebook, it was demonstrated how to calculate the equilibrium pressure for a pure component as a function of its molar volume and temperature using a cubic equation of state. Isotherms were plotted in a PxV graphic using matplotlib library. After finishing this reading, you should be able to make simple uses of equations of state and create figures using tools from matplotlib, like pyplot. This will be an extremely needed skill in the following steps of this course, provided that we will create several graphic relating different thermodynamic properties. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## External references:\n", "### On python\n", "* Convention for aliases (np, plt, ...): [SciPy / Tutorial](https://docs.scipy.org/doc/scipy-0.18.1/reference/tutorial/general.html)\n", "* Numpy tutorial: [scipy / numpy quickstart](https://docs.scipy.org/doc/numpy-dev/user/quickstart.html)\n", "* Matplotlib usage: [Matplotlib / usage](matplotlib.org/faq/usage_faq.html)\n", "* PyPlot tutorial: [tutorial](http://matplotlib.org/users/pyplot_tutorial.html)\n", "* ipython magic command: [ipython / interactive plotting](http://ipython.readthedocs.io/en/stable/interactive/plotting.html)\n", "* On the difference between \"package\" and \"module\": [stackoverflow / \"what's the difference between a python module and a python package\"?](http://stackoverflow.com/questions/7948494/whats-the-difference-between-a-python-module-and-a-python-package)\n", "\n", "### On thermodynamics\n", "* Reid, R. C.; Prausnitz, J. M.; Poling, B. E., The properties of gases and liquids, 4th Ed.; McGraw-Hill, 1987." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Credits\n", "* Initially developed in python 2.7 by Guilherme Carneiro Queiroz da Silva.\n", "* Adapted to ipynb with python 3.5 by Iuri Soter Viana Segtovich.\n", "* Review - Fernando de Azevedo Medeiros" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [conda root]", "language": "python", "name": "conda-root-py" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 0 }