{ "cells": [ { "cell_type": "markdown", "id": "bdd89825", "metadata": {}, "source": [ "# Numerical Analysis" ] }, { "cell_type": "markdown", "id": "f6ef1a71", "metadata": {}, "source": [ "Some of the numerical experiments are journaled here !" ] }, { "cell_type": "markdown", "id": "17a2d9f2", "metadata": {}, "source": [ "----\n", "\n", "\n", "## TOC:\n", "* [Using python for analysis of data acquired via a web-based database](#online_data_and_analysis_python)\n", "\n", "\n", "----" ] }, { "cell_type": "markdown", "id": "461d6b03", "metadata": {}, "source": [ "\n", "### Using python for analysis of data acquired via a web-based database \n", "\n", "This is an example showing reading data from online database (formatted as an html page) via `requests` module in package and analyzed via numpy and scipy." ] }, { "cell_type": "code", "execution_count": 33, "id": "ec224299", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\t\t---Extracted data---\n", " T [K] P [kPa] State Reference\n", "0 273.15 1.5932 Vapor-Liquid 6\n", "1 277.24 2.1065 Vapor-Liquid 1\n", "2 277.24 2.1120 Vapor-Liquid 1\n", "3 278.12 2.2330 Vapor-Liquid 1\n", "4 278.12 2.2425 Vapor-Liquid 1\n", ".. ... ... ... ...\n", "116 350.75 99.6980 Vapor-Liquid 2\n", "117 350.85 100.0450 Vapor-Liquid 2\n", "118 351.15 101.3250 Vapor-Liquid 2\n", "119 351.25 101.3250 Vapor-Liquid 2\n", "120 351.70 102.2200 Vapor-Liquid 6\n", "\n", "[121 rows x 4 columns] \n", "\t\t----------------------\n" ] } ], "source": [ "import requests\n", "import pandas as pd\n", "import numpy as np \n", "\n", "# get data from webpage (here it is DDBST's dataset on ethanol)\n", "url = 'http://www.ddbst.com/en/EED/PCP/VAP_C11.php'\n", "html = requests.get(url).content\n", "df_list = pd.read_html(html)\n", "df = df_list[2]\n", "\n", "print('\\t\\t---Extracted data---\\n', df, '\\n\\t\\t----------------------')\n" ] }, { "cell_type": "code", "execution_count": 34, "id": "311f6d92", "metadata": {}, "outputs": [], "source": [ "# importing matplotlib for plotting ! \n", "import matplotlib.pyplot as plt\n", "from matplotlib.pyplot import figure\n", "import matplotlib.ticker as ticker\n", "from matplotlib.offsetbox import AnchoredText\n", "\n", "import matplotlib.font_manager as font_manager\n", "\n", "plt.rcParams['lines.linewidth'] = 2 ;\n", "plt.rc('axes', linewidth=1.80) ;\n", "plt.rcParams[\"savefig.dpi\"] = 340 ;\n", "plt.rcParams.update({'font.size': 18}) ;\n", "plt.rcParams[\"font.family\"] = \"Arial\";\n", "##############################################\n", "def kelvin_to_C(x):\n", " return (x-273.15)\n", "\n", "def kpa_to_atm(x):\n", " return x * (1 / 101.325)\n", "##############################################" ] }, { "cell_type": "markdown", "id": "5c0a4371", "metadata": {}, "source": [ "------" ] }, { "cell_type": "code", "execution_count": null, "id": "929839c7", "metadata": {}, "outputs": [], "source": [ " " ] }, { "cell_type": "code", "execution_count": 10, "id": "443872ef", "metadata": {}, "outputs": [], "source": [ "dfc = df" ] }, { "cell_type": "code", "execution_count": 11, "id": "70f0a31d", "metadata": {}, "outputs": [], "source": [ "# trimmed\n", "dfc.columns = [c.replace(' ', '_') for c in dfc.columns]\n", "dfc.columns = [c.replace('[', '') for c in dfc.columns]\n", "dfc.columns = [c.replace(']', '') for c in dfc.columns]\n", "\n", "# filtering out data in the target region\n", "dfc.T_K\n", "dfc = dfc[dfc.T_K < 325 ]\n", "dfc = dfc[dfc.T_K > 285 ]" ] }, { "cell_type": "code", "execution_count": 15, "id": "77defaf6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(80,) (80,)\n" ] } ], "source": [ "temperature=dfc['T_K' ].values\n", "kpa=dfc['P_kPa' ].values\n", "\n", "print(temperature.shape, kpa.shape)\n", "\n", "# 1D arrays of data \n", "# temperature \n", "# kpa" ] }, { "cell_type": "code", "execution_count": 35, "id": "81b09680", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\t Fit coefficients : [ 1.76941577e-04 -1.46296686e-01 4.05062345e+01 -3.75390272e+03]\n" ] } ], "source": [ "# do a polynomial fit of the data points\n", "\n", "z = np.polyfit(temperature, kpa, 3)\n", "p = np.poly1d(z)\n", "# z contains fit parameters\n", "print('\\t Fit coefficients : ', z)\n", "\n", "# generate fit trace \n", "\n", "fit_x = np.arange(temperature[0],temperature[-1], 0.05)\n", "\n", "fit_y = p(fit_x)\n", "\n", "diff = kpa - (p(temperature))" ] }, { "cell_type": "markdown", "id": "ac673ca1", "metadata": {}, "source": [ " ------" ] }, { "cell_type": "code", "execution_count": 27, "id": "4cf3659b", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Upper plot\n", "\n", "fig1 = plt.figure(1, facecolor='white')\n", "\n", "#plt.figure(facecolor='white')\n", "\n", "frame1 = fig1.add_axes((.1, .1, .8, .6))\n", "\n", "plt.plot(temperature, kpa ,'ob', markeredgecolor='black') \n", "plt.plot(fit_x, fit_y,'-r') \n", "\n", "#frame1.set_xticklabels([]) \n", "plt.grid()\n", "ax = plt.gca()\n", "secax = ax.secondary_xaxis('top', functions=(kelvin_to_C,kelvin_to_C))\n", "secay = ax.secondary_yaxis('right', functions=(kpa_to_atm,kpa_to_atm))\n", "\n", "plt.xlabel('Temperature / K', fontsize=25)\n", "plt.ylabel('Vap. pressure / kPa', fontsize=25, labelpad=24)\n", "#secax.set_xlabel('Temperature / $\\mathregular{^{o}}$C', fontsize=25)\n", "secay.set_ylabel('Vap. pressure / atm', fontsize=25)\n", "\n", "spacing = 0.87980\n", "fig1.subplots_adjust(left=spacing)\n", "\n", "############################################\n", "\n", "# Residual plot\n", "difference = diff\n", "frame2 = fig1.add_axes((.1,.734,.8,.2)) \n", "frame2.set_xticklabels([])\n", "plt.plot(temperature ,difference,'or', markeredgecolor='black')\n", "ax = plt.gca()\n", "ax.set_ylim([-0.25, 0.25])\n", "\n", "secax = ax.secondary_xaxis('top', functions=(kelvin_to_C,kelvin_to_C))\n", "secax.set_xlabel('Temperature / $\\mathregular{^{o}}$C', fontsize=25)\n", "plt.grid()\n", "\n", " \n" ] }, { "cell_type": "code", "execution_count": null, "id": "a73a8f98", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "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.7.13" } }, "nbformat": 4, "nbformat_minor": 5 }