From 67993887d40f55916800168adf1cc5d55d2aca3e Mon Sep 17 00:00:00 2001 From: yohanesnuwara <51282928+yohanesnuwara@users.noreply.github.com> Date: Fri, 26 Jun 2020 18:55:46 +0700 Subject: [PATCH] Created using Colaboratory --- .../notebook/10_examples.ipynb | 108 ++++++++++-------- 1 file changed, 59 insertions(+), 49 deletions(-) diff --git a/Unit 10 Gas-Condensate Reservoirs/notebook/10_examples.ipynb b/Unit 10 Gas-Condensate Reservoirs/notebook/10_examples.ipynb index 04951e2..9c0b988 100644 --- a/Unit 10 Gas-Condensate Reservoirs/notebook/10_examples.ipynb +++ b/Unit 10 Gas-Condensate Reservoirs/notebook/10_examples.ipynb @@ -5,9 +5,13 @@ "colab": { "name": "10_examples.ipynb", "provenance": [], - "collapsed_sections": [], + "collapsed_sections": [ + "_Ktsc5vt2lFK", + "TcuCtSKl6bDr", + "qW7bVcE14Rra" + ], "toc_visible": true, - "authorship_tag": "ABX9TyMTEwLMnXhuhwJT8mhd4I0e", + "authorship_tag": "ABX9TyNxHWtG6AjwrWmuYZojtvq6", "include_colab_link": true }, "kernelspec": { @@ -49,7 +53,7 @@ "import pandas as pd\n", "from scipy.optimize import curve_fit" ], - "execution_count": 28, + "execution_count": 1, "outputs": [] }, { @@ -59,19 +63,25 @@ "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", - "height": 34 + "height": 134 }, - "outputId": "5bc73c01-51e0-4867-caa6-48047ffa4f3a" + "outputId": "d5c095dd-cec2-4e39-e8d9-03d9263fc348" }, "source": [ "!git clone https://github.com/yohanesnuwara/reservoir-engineering" ], - "execution_count": 5, + "execution_count": 2, "outputs": [ { "output_type": "stream", "text": [ - "fatal: destination path 'reservoir-engineering' already exists and is not an empty directory.\n" + "Cloning into 'reservoir-engineering'...\n", + "remote: Enumerating objects: 61, done.\u001b[K\n", + "remote: Counting objects: 100% (61/61), done.\u001b[K\n", + "remote: Compressing objects: 100% (61/61), done.\u001b[K\n", + "remote: Total 1206 (delta 23), reused 0 (delta 0), pack-reused 1145\u001b[K\n", + "Receiving objects: 100% (1206/1206), 16.89 MiB | 21.17 MiB/s, done.\n", + "Resolving deltas: 100% (544/544), done.\n" ], "name": "stdout" } @@ -124,7 +134,7 @@ " F = Bg * (Gp - Gi)\n", " return(F)" ], - "execution_count": 6, + "execution_count": null, "outputs": [] }, { @@ -194,7 +204,7 @@ "print('Table Data')\n", "data" ], - "execution_count": 7, + "execution_count": null, "outputs": [ { "output_type": "stream", @@ -382,7 +392,7 @@ "print('Table Data with Calculated Rsi and Boi')\n", "data" ], - "execution_count": 8, + "execution_count": null, "outputs": [ { "output_type": "stream", @@ -558,7 +568,7 @@ "param = pd.DataFrame({'p': p, 'Bto': Bto, 'Btg': Btg, 'F': F, 'Eg': Eg})\n", "param" ], - "execution_count": 9, + "execution_count": null, "outputs": [ { "output_type": "execute_result", @@ -705,7 +715,7 @@ "plt.tight_layout(pad=3.0)\n", "plt.show()" ], - "execution_count": 10, + "execution_count": null, "outputs": [ { "output_type": "display_data", @@ -754,7 +764,7 @@ "sys.path.append('/content/reservoir-engineering')\n", "from utilities import *" ], - "execution_count": 11, + "execution_count": null, "outputs": [] }, { @@ -767,7 +777,7 @@ "source": [ "b, a = simple_linear_regression_traditional(Eg, F)" ], - "execution_count": 12, + "execution_count": null, "outputs": [] }, { @@ -799,7 +809,7 @@ "plt.plot(Eg, y)\n", "plt.show()" ], - "execution_count": 13, + "execution_count": null, "outputs": [ { "output_type": "stream", @@ -873,7 +883,7 @@ "data = pd.DataFrame({'Measured in': measured_in, 'Initial Fluid in Place': ifip, '@4000 psig': p4000, '@3500 psig': p3500, '@2900 psig': p2900, '@2100 psig': p2100, '@1300 psig': p1300, '@605 psig': p605, '@0 psig': p0})\n", "data" ], - "execution_count": 56, + "execution_count": null, "outputs": [ { "output_type": "stream", @@ -1032,7 +1042,7 @@ "Gfgi = (area * poro * (1 - swi)) / Bgi\n", "print('Hydrocarbon pore space:', Gfgi, 'bbl')" ], - "execution_count": 51, + "execution_count": null, "outputs": [ { "output_type": "stream", @@ -1104,7 +1114,7 @@ "base_uri": "https://localhost:8080/", "height": 254 }, - "outputId": "230528e5-6aeb-43bd-83c7-23aac314aa1d" + "outputId": "99e8ea5c-020c-4b10-f2ce-94783068528e" }, "source": [ "# data\n", @@ -1115,7 +1125,7 @@ "separator_second = np.array([np.nan, 4.74, 12.09, 20.75, 27.95, 37.23, 96.68])\n", "separator_third = np.array([np.nan, 1.21, 3.16, 5.61, 7.71, 10.25, 24.23])\n", "Gp_j = np.array([0, 47.9, 140.03, 327.93, 547.98, 722.37, 878.78])\n", - "Gp_j = Gp_j * 1E+03 # convert Mscf to scf\n", + "Gp_j = Gp_j * 1E+03\n", "Np_j = np.array([0, 7.21, 15.4, 24, 29.7, 35.1, 135.7])\n", "z_j = np.array([.867, .799, .748, .762, .819, .902, np.nan])\n", "z2_j = np.array([.867, .802, .744, .704, .671, .576, np.nan])\n", @@ -1126,7 +1136,7 @@ " 'Gp_j': Gp_j, 'Np_j': Np_j, 'z_j': z_j, 'z2_j': z2_j, 'Vo_j': Vo_j})\n", "cvd" ], - "execution_count": 14, + "execution_count": 3, "outputs": [ { "output_type": "execute_result", @@ -1282,7 +1292,7 @@ "metadata": { "tags": [] }, - "execution_count": 14 + "execution_count": 3 } ] }, @@ -1295,7 +1305,7 @@ "base_uri": "https://localhost:8080/", "height": 50 }, - "outputId": "11d40c18-f19a-41b0-9ce4-f4b64c9dd96a" + "outputId": "cba80fa6-995b-4523-faf4-52c49264fba8" }, "source": [ "# calculate gas FVF (Bg)\n", @@ -1416,18 +1426,18 @@ " Boj_arr.append(Boj)\n", "\n", " # Eq 10.30\n", - " Bgj = Vtgj / Gfgj\n", - " Bgj_arr.append(Bgj)\n", + " Bgj = (Vtgj / Gfgj) * 1E+03 # result in RB/Mscf \n", + " Bgj_arr.append(Bgj) \n", "\n", " # Eq 10.31\n", " Rsj = Gfoj / Nfoj\n", " Rsj_arr.append(Rsj)\n", "\n", " # Eq 10.32\n", - " Rvj = (Nfgj / Gfgj) * 1E+06 # result in STB/scf \n", + " Rvj = (Nfgj / Gfgj) * 1E+06 # result in STB/MMscf \n", " Rvj_arr.append(Rvj)" ], - "execution_count": 16, + "execution_count": 8, "outputs": [ { "output_type": "stream", @@ -1448,18 +1458,18 @@ "base_uri": "https://localhost:8080/", "height": 262 }, - "outputId": "1754379a-76f3-420b-d0ce-d7b99da950ef" + "outputId": "c00a96c3-313d-46b0-e725-9728e19bedb6" }, "source": [ "cvd_result = pd.DataFrame({'Eq 10.13': Vtoj_arr, 'Eq 10.14': ntj_nt1_arr, 'Eq 10.15': Vtoj_Vtgj_arr, 'Eq 10.16': Vtgj_arr,\n", " 'Eq 10.17': delta_Vtgj_arr, 'Eq 10.18': ngj_nt1_arr, 'Eq 10.19': delta_ngj_to_ngj_arr,\n", " 'Eq 10.20': delta_ngj_to_nt1_arr, 'Eq 10.21': delta_Gpj_arr, 'Eq 10.22': delta_Npj_arr,\n", " 'Eq 10.23': Gj_arr, 'Eq 10.24': Nj_arr, 'Eq 10.25': Gfgj_arr, 'Eq 10.26': Nfgj_arr, \n", - " 'Eq 10.27': Gfoj_arr, 'Eq 10.28': Nfoj_arr, 'Eq 10.29': Boj_arr, 'Eq 10.30': Bgj_arr, \n", - " 'Eq 10.31': Rsj_arr, 'Result Rv': Rvj_arr})\n", + " 'Eq 10.27': Gfoj_arr, 'Eq 10.28': Nfoj_arr, 'Bo (RB/STB)': Boj_arr, 'Bg (RB/Mscf)': Bgj_arr, \n", + " 'Rs (scf/STB)': Rsj_arr, 'Rv (STB/Mscf)': Rvj_arr})\n", "cvd_result" ], - "execution_count": 17, + "execution_count": 9, "outputs": [ { "output_type": "execute_result", @@ -1499,10 +1509,10 @@ "