From cf34d4c85f752c1ad5411ca3da067cf5d61058ce Mon Sep 17 00:00:00 2001
From: yohanesnuwara <51282928+yohanesnuwara@users.noreply.github.com>
Date: Sat, 7 Mar 2020 01:58:33 +0700
Subject: [PATCH] Delete fd1d_linearflow.ipynb
---
.../fd1d_linearflow.ipynb | 2106 -----------------
1 file changed, 2106 deletions(-)
delete mode 100644 Reservoir Simulation Ertekin/Unit 5 Finite-Difference Approximation to Linear-Flow Equations/fd1d_linearflow.ipynb
diff --git a/Reservoir Simulation Ertekin/Unit 5 Finite-Difference Approximation to Linear-Flow Equations/fd1d_linearflow.ipynb b/Reservoir Simulation Ertekin/Unit 5 Finite-Difference Approximation to Linear-Flow Equations/fd1d_linearflow.ipynb
deleted file mode 100644
index f5a436a..0000000
--- a/Reservoir Simulation Ertekin/Unit 5 Finite-Difference Approximation to Linear-Flow Equations/fd1d_linearflow.ipynb
+++ /dev/null
@@ -1,2106 +0,0 @@
-{
- "nbformat": 4,
- "nbformat_minor": 0,
- "metadata": {
- "colab": {
- "name": "fd1d_linearflow.ipynb",
- "provenance": [],
- "collapsed_sections": [],
- "authorship_tag": "ABX9TyNUmFxUCzL0OLIBh4nKhco1",
- "include_colab_link": true
- },
- "kernelspec": {
- "name": "python3",
- "display_name": "Python 3"
- }
- },
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "view-in-github",
- "colab_type": "text"
- },
- "source": [
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "eOe4EUXrFd9G",
- "colab_type": "text"
- },
- "source": [
- "# **Unit 5 Finite-Difference Approximations to Linear-Flow Problems**\n",
- "\n",
- "## Explicit Formulation\n",
- "\n",
- "$$p_{i}^{n+1} = p^i_n + (\\frac{\\alpha_c B_l \\Delta t}{V_b \\phi c_l})_i \\cdot q_{lsc_i} + (\\frac{\\alpha_c B_l \\Delta t}{V_b \\phi c_l})_i \\cdot [T_{lx_{i+1/2}}^{n} p_{i+1}^{n}-(T_{lx_{i+1/2}}^{n} + T_{lx_{i-1/2}}^{n})p_{i}^{n}+T_{lx_{i-1/2}}p_{i-1}^{n}]$$\n",
- "\n",
- "In the following codes, $(\\frac{\\alpha_c B_l \\Delta t}{V_b \\phi c_l})_i$ will be written as `factor`\n",
- "\n",
- "Transmissibility of coupling cells, $T_{lx_{i\\pm1/2}}^{n}$, written as `T_min_half` or `T_plus_half`"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "IJsmLh1xKz8S",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "import numpy as np\n",
- "import matplotlib.pyplot as plt\n",
- "import pandas as pd"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "rJZBuBCVK6JV",
- "colab_type": "code",
- "outputId": "cea8c663-f8ea-4301-d439-58974cb7de79",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 34
- }
- },
- "source": [
- "!git clone https://github.com/yohanesnuwara/reservoir-engineering"
- ],
- "execution_count": 2,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "fatal: destination path 'reservoir-engineering' already exists and is not an empty directory.\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "N-NT2lf1GKb3",
- "colab_type": "text"
- },
- "source": [
- "## Example 5.8 Five reservoir gridblocks with no flow at both boundaries\n",
- "\n",
- "![Example 5 8](https://user-images.githubusercontent.com/51282928/75949840-09e36380-5eda-11ea-824c-dd5c9ac6f6d5.PNG)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "fA3oDZbz9BR8",
- "colab_type": "text"
- },
- "source": [
- "### For timestep 10 days"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "dLVKK7xd7fGK",
- "colab_type": "code",
- "outputId": "01ed0d0d-7da3-4659-f752-5ed7c565bb15",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 34
- }
- },
- "source": [
- "\"Task. determine pressure distribution during first year of production with timestep 10 days\"\n",
- "\n",
- "# known\n",
- "p_initial = 6000 # initial pressure, in psia\n",
- "delta_x = 1000 # ft\n",
- "delta_y = 1000\n",
- "delta_z = 75\n",
- "ngrid = 5\n",
- "grid_loc = 4 # grid location where production well is located\n",
- "B = 1 # phase FVF, assumed constant over pressure, rb/stb\n",
- "c = 3.5E-06 # phase compressibility, psi^-1\n",
- "k_x = 15 # perm in x direction, md\n",
- "poro = 0.18\n",
- "mu = 10 # phase viscosity, cp\n",
- "\n",
- "delta_t = 10 # days\n",
- "qsc = -150 # minus means production, stb/d\n",
- "\n",
- "# conversion\n",
- "k_x = 15 * 1E-03 # darcy to mD\n",
- "\n",
- "# calculate factor\n",
- "Vb = delta_x * delta_y * delta_z\n",
- "alpha = 5.615 # volume conversion factor, is a constant\n",
- "factor = (alpha * B * delta_t) / (Vb * poro * c)\n",
- "factor"
- ],
- "execution_count": 56,
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/plain": [
- "1.1883597883597885"
- ]
- },
- "metadata": {
- "tags": []
- },
- "execution_count": 56
- }
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "Qc6m3sTBQK1T",
- "colab_type": "text"
- },
- "source": [
- "Because of uniform gridblocks, the equation for `tr_plus_coupling` and `tr_min_coupling` become:\n",
- "\n",
- "$$T_{lx_{i+1/2}}^{n} = T_{lx_{i-1/2}}^{n} = (\\beta_c \\frac{A_x k_x}{\\mu_l B_l \\Delta x})_{i+1/2}^{n} = (\\beta_c \\frac{A_x k_x}{\\mu_l B_l \\Delta x})_{i-1/2}^{n}$$"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "lvE1tGprRDlN",
- "colab_type": "code",
- "outputId": "d0ebd671-2065-4a9d-8b67-67d89594c1cb",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 34
- }
- },
- "source": [
- "# calculate transmissibility of coupling cells\n",
- "beta = 1.127 # transmissibility conversion factor, is a constant\n",
- "Ax = delta_y * delta_z\n",
- "T_plus_half = beta * ((Ax * k_x) / (mu * B * delta_x))\n",
- "T_min_half = T_plus_half\n",
- "T_min_half, T_plus_half"
- ],
- "execution_count": 57,
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/plain": [
- "(0.1267875, 0.1267875)"
- ]
- },
- "metadata": {
- "tags": []
- },
- "execution_count": 57
- }
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "A0dUkd4SUYP_",
- "colab_type": "text"
- },
- "source": [
- "There are 5 grids (`grid_1`, `grid_2`, `grid_3`, `grid_4`, `grid_5`), so the transmissibility coefficients will be: $$T_{lx_{i+1/2}}^{n}=(T_{lx_{1+1/2}}^{n}, T_{lx_{2+1/2}}^{n}, T_{lx_{3+1/2}}^{n}, T_{lx_{4+1/2}}^{n}, T_{lx_{5+1/2}}^{n})$$\n",
- "\n",
- "and\n",
- "\n",
- "$$T_{lx_{i-1/2}}^{n}=(T_{lx_{1/2}}^{n}, T_{lx_{1+1/2}}^{n}, T_{lx_{2+1/2}}^{n}, T_{lx_{3+1/2}}^{n}, T_{lx_{4+1/2}}^{n})$$\n",
- "\n",
- "The values of $T_{lx_{5+1/2}}^{n}=0$ and $T_{lx_{1/2}}^{n}=0$ (the edge of gridblocks), so the values of each are:\n",
- "\n",
- "$$T_{lx_{i+1/2}}^{n}=(0.127, 0.127, 0.127, 0.127, 0)$$\n",
- "\n",
- "and\n",
- "\n",
- "$$T_{lx_{i-1/2}}^{n}=(0, 0.127, 0.127, 0.127, 0.127)$$\n",
- "\n",
- "\n"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "DSCdjpuNTDlY",
- "colab_type": "code",
- "outputId": "d10b6257-1570-4ff6-a313-f3c871d9c161",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 101
- }
- },
- "source": [
- "q = np.full(ngrid-1, T_min_half)\n",
- "Ti_plus_halves = np.append(q, [0])\n",
- "print(Ti_plus_halves)\n",
- "p = np.full(ngrid-1, T_plus_half)\n",
- "Ti_min_halves = np.append([0], p)\n",
- "print(Ti_min_halves)\n",
- "print(\"At grid 1, the coupling transmissibility coeffs are:\", Ti_min_halves[0], \"for T_min_half and:\", Ti_plus_halves[0], \"for T_plus_half.\")\n",
- "print(\"At grid 3, the coupling transmissibility coeffs are:\", Ti_min_halves[2], \"for T_min_half and:\", Ti_plus_halves[2], \"for T_plus_half.\")\n",
- "print(\"At grid 5, the coupling transmissibility coeffs are:\", Ti_min_halves[4], \"for T_min_half and:\", Ti_plus_halves[4], \"for T_plus_half.\")"
- ],
- "execution_count": 58,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "[0.1267875 0.1267875 0.1267875 0.1267875 0. ]\n",
- "[0. 0.1267875 0.1267875 0.1267875 0.1267875]\n",
- "At grid 1, the coupling transmissibility coeffs are: 0.0 for T_min_half and: 0.1267875 for T_plus_half.\n",
- "At grid 3, the coupling transmissibility coeffs are: 0.1267875 for T_min_half and: 0.1267875 for T_plus_half.\n",
- "At grid 5, the coupling transmissibility coeffs are: 0.1267875 for T_min_half and: 0.0 for T_plus_half.\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "Ektv_akOYbZO",
- "colab_type": "text"
- },
- "source": [
- "Requires array for $q_{sc}$"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "Jh-Uh_VDYe86",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "qsc = [0, 0, 0, -150, 0] # production well in grid 4"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "cwMJGOEQX3SG",
- "colab_type": "text"
- },
- "source": [
- "Calculate $p_{i}^{n+1}$ for each grid in each time"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "it86V05To2MJ",
- "colab_type": "code",
- "outputId": "aac19670-cc2d-4c20-b08c-4a1c89bca381",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 1000
- }
- },
- "source": [
- "pi = np.full(ngrid, p_initial) # array of pressure in each grid [6000, 6000, 6000, 6000, 6000]\n",
- "time = np.arange(15, 370, delta_t)\n",
- "\n",
- "pi_arr = []\n",
- "min_arr = []\n",
- "plus_arr = []\n",
- "\n",
- "for j in range(len(time)):\n",
- " pnew_arr = []\n",
- "\n",
- " minus = pi[0]\n",
- " plus = pi[-1]\n",
- " minus_arr = []\n",
- " plusus_arr = []\n",
- " for i, obj in enumerate(pi):\n",
- " if i > 0:\n",
- " minus = pi[i-1]\n",
- " if i < (len(pi) - 1):\n",
- " plus = pi[i+1]\n",
- "\n",
- " pnew = pi[i] + (factor * ((Ti_plus_halves[i] * plus) - ((Ti_plus_halves[i] + Ti_min_halves[i]) * pi[i]) + (Ti_min_halves[i] * minus))) + (factor * qsc[i])\n",
- " pnew_arr.append(float(pnew))\n",
- "\n",
- " minus_arr.append(float(minus))\n",
- " plusus_arr.append(float(plus))\n",
- "\n",
- " pi = pnew_arr\n",
- "\n",
- " min_arr.append(minus_arr)\n",
- " plus_arr.append(plusus_arr)\n",
- " pi_arr.append(pi)\n",
- "\n",
- "df = pd.DataFrame.from_records(pi_arr)\n",
- "df = pd.DataFrame(pd.np.column_stack([time, df]), columns=['time', 'grid 1', 'grid 2', 'grid 3', 'grid 4', 'grid 5'])\n",
- "df"
- ],
- "execution_count": 60,
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " time | \n",
- " grid 1 | \n",
- " grid 2 | \n",
- " grid 3 | \n",
- " grid 4 | \n",
- " grid 5 | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " 15.0 | \n",
- " 6000.000000 | \n",
- " 6000.000000 | \n",
- " 6000.000000 | \n",
- " 5821.746032 | \n",
- " 6000.000000 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " 25.0 | \n",
- " 6000.000000 | \n",
- " 6000.000000 | \n",
- " 5973.142623 | \n",
- " 5697.206817 | \n",
- " 5973.142623 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " 35.0 | \n",
- " 6000.000000 | \n",
- " 5995.953421 | \n",
- " 5935.614184 | \n",
- " 5602.102885 | \n",
- " 5931.567605 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " 45.0 | \n",
- " 5999.390305 | \n",
- " 5987.471853 | \n",
- " 5894.455577 | \n",
- " 5523.738961 | \n",
- " 5881.927430 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " 55.0 | \n",
- " 5997.594562 | \n",
- " 5975.252912 | \n",
- " 5852.614698 | \n",
- " 5455.308514 | \n",
- " 5827.959472 | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " 65.0 | \n",
- " 5994.228364 | \n",
- " 5960.141312 | \n",
- " 5811.230704 | \n",
- " 5393.063347 | \n",
- " 5771.812463 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " 75.0 | \n",
- " 5989.092497 | \n",
- " 5942.840943 | \n",
- " 5770.662014 | \n",
- " 5334.880120 | \n",
- " 5714.746649 | \n",
- "
\n",
- " \n",
- " 7 | \n",
- " 85.0 | \n",
- " 5982.123813 | \n",
- " 5923.867570 | \n",
- " 5730.945175 | \n",
- " 5279.519220 | \n",
- " 5657.512476 | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " 95.0 | \n",
- " 5973.346394 | \n",
- " 5903.577533 | \n",
- " 5691.996659 | \n",
- " 5226.233153 | \n",
- " 5600.560547 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " 105.0 | \n",
- " 5962.834378 | \n",
- " 5882.210835 | \n",
- " 5653.699174 | \n",
- " 5174.554980 | \n",
- " 5544.160950 | \n",
- "
\n",
- " \n",
- " 10 | \n",
- " 115.0 | \n",
- " 5950.686896 | \n",
- " 5859.928656 | \n",
- " 5615.936579 | \n",
- " 5124.181492 | \n",
- " 5488.472727 | \n",
- "
\n",
- " \n",
- " 11 | \n",
- " 125.0 | \n",
- " 5937.012427 | \n",
- " 5836.841041 | \n",
- " 5578.606333 | \n",
- " 5074.907310 | \n",
- " 5433.585270 | \n",
- "
\n",
- " \n",
- " 12 | \n",
- " 135.0 | \n",
- " 5921.919688 | \n",
- " 5813.025772 | \n",
- " 5541.622429 | \n",
- " 5026.586963 | \n",
- " 5379.543561 | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " 145.0 | \n",
- " 5905.512733 | \n",
- " 5788.540612 | \n",
- " 5504.914580 | \n",
- " 4979.112636 | \n",
- " 5326.363884 | \n",
- "
\n",
- " \n",
- " 14 | \n",
- " 155.0 | \n",
- " 5887.888641 | \n",
- " 5763.431006 | \n",
- " 5468.426137 | \n",
- " 4932.400864 | \n",
- " 5274.043828 | \n",
- "
\n",
- " \n",
- " 15 | \n",
- " 165.0 | \n",
- " 5869.136713 | \n",
- " 5737.734796 | \n",
- " 5432.111794 | \n",
- " 4886.384438 | \n",
- " 5222.568767 | \n",
- "
\n",
- " \n",
- " 16 | \n",
- " 175.0 | \n",
- " 5849.338495 | \n",
- " 5711.485050 | \n",
- " 5395.935471 | \n",
- " 4841.007368 | \n",
- " 5171.916155 | \n",
- "
\n",
- " \n",
- " 17 | \n",
- " 185.0 | \n",
- " 5828.568232 | \n",
- " 5684.711722 | \n",
- " 5359.868508 | \n",
- " 4796.221706 | \n",
- " 5122.058404 | \n",
- "
\n",
- " \n",
- " 18 | \n",
- " 195.0 | \n",
- " 5806.893491 | \n",
- " 5657.442606 | \n",
- " 5323.888171 | \n",
- " 4751.985475 | \n",
- " 5072.964860 | \n",
- "
\n",
- " \n",
- " 19 | \n",
- " 205.0 | \n",
- " 5784.375851 | \n",
- " 5629.703878 | \n",
- " 5287.976437 | \n",
- " 4708.261306 | \n",
- " 5024.603163 | \n",
- "
\n",
- " \n",
- " 20 | \n",
- " 215.0 | \n",
- " 5761.071554 | \n",
- " 5601.520386 | \n",
- " 5252.119030 | \n",
- " 4665.015497 | \n",
- " 4976.940199 | \n",
- "
\n",
- " \n",
- " 21 | \n",
- " 225.0 | \n",
- " 5737.032112 | \n",
- " 5572.915816 | \n",
- " 5216.304641 | \n",
- " 4622.217364 | \n",
- " 4929.942765 | \n",
- "
\n",
- " \n",
- " 22 | \n",
- " 235.0 | \n",
- " 5712.304847 | \n",
- " 5543.912773 | \n",
- " 5180.524315 | \n",
- " 4579.838760 | \n",
- " 4883.578035 | \n",
- "
\n",
- " \n",
- " 23 | \n",
- " 245.0 | \n",
- " 5686.933353 | \n",
- " 5514.532830 | \n",
- " 5144.770959 | \n",
- " 4537.853727 | \n",
- " 4837.813892 | \n",
- "
\n",
- " \n",
- " 24 | \n",
- " 255.0 | \n",
- " 5660.957910 | \n",
- " 5484.796561 | \n",
- " 5109.038959 | \n",
- " 4496.238221 | \n",
- " 4792.619144 | \n",
- "
\n",
- " \n",
- " 25 | \n",
- " 265.0 | \n",
- " 5634.415826 | \n",
- " 5454.723560 | \n",
- " 5073.323867 | \n",
- " 4454.969896 | \n",
- " 4747.963677 | \n",
- "
\n",
- " \n",
- " 26 | \n",
- " 275.0 | \n",
- " 5607.341742 | \n",
- " 5424.332470 | \n",
- " 5037.622163 | \n",
- " 4414.027934 | \n",
- " 4703.818548 | \n",
- "
\n",
- " \n",
- " 27 | \n",
- " 285.0 | \n",
- " 5579.767888 | \n",
- " 5393.641005 | \n",
- " 5001.931060 | \n",
- " 4373.392899 | \n",
- " 4660.156038 | \n",
- "
\n",
- " \n",
- " 28 | \n",
- " 295.0 | \n",
- " 5551.724305 | \n",
- " 5362.665976 | \n",
- " 4966.248350 | \n",
- " 4333.046615 | \n",
- " 4616.949675 | \n",
- "
\n",
- " \n",
- " 29 | \n",
- " 305.0 | \n",
- " 5523.239044 | \n",
- " 5331.423324 | \n",
- " 4930.572286 | \n",
- " 4292.972062 | \n",
- " 4574.174237 | \n",
- "
\n",
- " \n",
- " 30 | \n",
- " 315.0 | \n",
- " 5494.338330 | \n",
- " 5299.928147 | \n",
- " 4894.901483 | \n",
- " 4253.153285 | \n",
- " 4531.805740 | \n",
- "
\n",
- " \n",
- " 31 | \n",
- " 325.0 | \n",
- " 5465.046709 | \n",
- " 5268.194737 | \n",
- " 4859.234847 | \n",
- " 4213.575316 | \n",
- " 4489.821407 | \n",
- "
\n",
- " \n",
- " 32 | \n",
- " 335.0 | \n",
- " 5435.387187 | \n",
- " 5236.236614 | \n",
- " 4823.571509 | \n",
- " 4174.224100 | \n",
- " 4448.199638 | \n",
- "
\n",
- " \n",
- " 33 | \n",
- " 345.0 | \n",
- " 5405.381336 | \n",
- " 5204.066557 | \n",
- " 4787.910784 | \n",
- " 4135.086431 | \n",
- " 4406.919972 | \n",
- "
\n",
- " \n",
- " 34 | \n",
- " 355.0 | \n",
- " 5375.049406 | \n",
- " 5171.696644 | \n",
- " 4752.252126 | \n",
- " 4096.149897 | \n",
- " 4365.963039 | \n",
- "
\n",
- " \n",
- " 35 | \n",
- " 365.0 | \n",
- " 5344.410415 | \n",
- " 5139.138279 | \n",
- " 4716.595106 | \n",
- " 4057.402826 | \n",
- " 4325.310518 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " time grid 1 grid 2 grid 3 grid 4 grid 5\n",
- "0 15.0 6000.000000 6000.000000 6000.000000 5821.746032 6000.000000\n",
- "1 25.0 6000.000000 6000.000000 5973.142623 5697.206817 5973.142623\n",
- "2 35.0 6000.000000 5995.953421 5935.614184 5602.102885 5931.567605\n",
- "3 45.0 5999.390305 5987.471853 5894.455577 5523.738961 5881.927430\n",
- "4 55.0 5997.594562 5975.252912 5852.614698 5455.308514 5827.959472\n",
- "5 65.0 5994.228364 5960.141312 5811.230704 5393.063347 5771.812463\n",
- "6 75.0 5989.092497 5942.840943 5770.662014 5334.880120 5714.746649\n",
- "7 85.0 5982.123813 5923.867570 5730.945175 5279.519220 5657.512476\n",
- "8 95.0 5973.346394 5903.577533 5691.996659 5226.233153 5600.560547\n",
- "9 105.0 5962.834378 5882.210835 5653.699174 5174.554980 5544.160950\n",
- "10 115.0 5950.686896 5859.928656 5615.936579 5124.181492 5488.472727\n",
- "11 125.0 5937.012427 5836.841041 5578.606333 5074.907310 5433.585270\n",
- "12 135.0 5921.919688 5813.025772 5541.622429 5026.586963 5379.543561\n",
- "13 145.0 5905.512733 5788.540612 5504.914580 4979.112636 5326.363884\n",
- "14 155.0 5887.888641 5763.431006 5468.426137 4932.400864 5274.043828\n",
- "15 165.0 5869.136713 5737.734796 5432.111794 4886.384438 5222.568767\n",
- "16 175.0 5849.338495 5711.485050 5395.935471 4841.007368 5171.916155\n",
- "17 185.0 5828.568232 5684.711722 5359.868508 4796.221706 5122.058404\n",
- "18 195.0 5806.893491 5657.442606 5323.888171 4751.985475 5072.964860\n",
- "19 205.0 5784.375851 5629.703878 5287.976437 4708.261306 5024.603163\n",
- "20 215.0 5761.071554 5601.520386 5252.119030 4665.015497 4976.940199\n",
- "21 225.0 5737.032112 5572.915816 5216.304641 4622.217364 4929.942765\n",
- "22 235.0 5712.304847 5543.912773 5180.524315 4579.838760 4883.578035\n",
- "23 245.0 5686.933353 5514.532830 5144.770959 4537.853727 4837.813892\n",
- "24 255.0 5660.957910 5484.796561 5109.038959 4496.238221 4792.619144\n",
- "25 265.0 5634.415826 5454.723560 5073.323867 4454.969896 4747.963677\n",
- "26 275.0 5607.341742 5424.332470 5037.622163 4414.027934 4703.818548\n",
- "27 285.0 5579.767888 5393.641005 5001.931060 4373.392899 4660.156038\n",
- "28 295.0 5551.724305 5362.665976 4966.248350 4333.046615 4616.949675\n",
- "29 305.0 5523.239044 5331.423324 4930.572286 4292.972062 4574.174237\n",
- "30 315.0 5494.338330 5299.928147 4894.901483 4253.153285 4531.805740\n",
- "31 325.0 5465.046709 5268.194737 4859.234847 4213.575316 4489.821407\n",
- "32 335.0 5435.387187 5236.236614 4823.571509 4174.224100 4448.199638\n",
- "33 345.0 5405.381336 5204.066557 4787.910784 4135.086431 4406.919972\n",
- "34 355.0 5375.049406 5171.696644 4752.252126 4096.149897 4365.963039\n",
- "35 365.0 5344.410415 5139.138279 4716.595106 4057.402826 4325.310518"
- ]
- },
- "metadata": {
- "tags": []
- },
- "execution_count": 60
- }
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "VjCDpaDZ89Xy",
- "colab_type": "text"
- },
- "source": [
- "### For timestep 15 days"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "kdIIes569fCp",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 758
- },
- "outputId": "e2933632-ff92-44ab-f6a1-c53d7314052f"
- },
- "source": [
- "delta_t = 15 # days\n",
- "\n",
- "# calculate factor\n",
- "Vb = delta_x * delta_y * delta_z\n",
- "alpha = 5.615 # volume conversion factor, is a constant\n",
- "factor = (alpha * B * delta_t) / (Vb * poro * c)\n",
- "\n",
- "pi = np.full(ngrid, 6000) # array of pressure in each grid [6000, 6000, 6000, 6000, 6000]\n",
- "time = np.arange(15, 370, delta_t)\n",
- "\n",
- "pi_arr = []\n",
- "min_arr = []\n",
- "plus_arr = []\n",
- "\n",
- "for j in range(len(time)):\n",
- " pnew_arr = []\n",
- "\n",
- " minus = pi[0]\n",
- " plus = pi[-1]\n",
- " minus_arr = []\n",
- " plusus_arr = []\n",
- " for i, obj in enumerate(pi):\n",
- " if i > 0:\n",
- " minus = pi[i-1]\n",
- " if i < (len(pi) - 1):\n",
- " plus = pi[i+1]\n",
- "\n",
- " pnew = pi[i] + (factor * ((Ti_plus_halves[i] * plus) - ((Ti_plus_halves[i] + Ti_min_halves[i]) * pi[i]) + (Ti_min_halves[i] * minus))) + (factor * qsc[i])\n",
- " pnew_arr.append(float(pnew))\n",
- "\n",
- " minus_arr.append(float(minus))\n",
- " plusus_arr.append(float(plus))\n",
- "\n",
- " pi = pnew_arr\n",
- "\n",
- " min_arr.append(minus_arr)\n",
- " plus_arr.append(plusus_arr)\n",
- " pi_arr.append(pi)\n",
- "\n",
- "df = pd.DataFrame.from_records(pi_arr)\n",
- "df = pd.DataFrame(pd.np.column_stack([time, df]), columns=['time', 'grid 1', 'grid 2', 'grid 3', 'grid 4', 'grid 5'])\n",
- "df"
- ],
- "execution_count": 61,
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " time | \n",
- " grid 1 | \n",
- " grid 2 | \n",
- " grid 3 | \n",
- " grid 4 | \n",
- " grid 5 | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " 15.0 | \n",
- " 6000.000000 | \n",
- " 6000.000000 | \n",
- " 6000.000000 | \n",
- " 5732.619048 | \n",
- " 6000.000000 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " 30.0 | \n",
- " 6000.000000 | \n",
- " 6000.000000 | \n",
- " 5939.570902 | \n",
- " 5586.096291 | \n",
- " 5939.570902 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " 45.0 | \n",
- " 6000.000000 | \n",
- " 5986.342797 | \n",
- " 5873.341517 | \n",
- " 5478.488514 | \n",
- " 5859.684314 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " 60.0 | \n",
- " 5996.913421 | \n",
- " 5963.890663 | \n",
- " 5809.641971 | \n",
- " 5386.497501 | \n",
- " 5773.532634 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " 75.0 | \n",
- " 5989.450154 | \n",
- " 5936.493147 | \n",
- " 5748.870517 | \n",
- " 5302.220177 | \n",
- " 5686.061243 | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " 90.0 | \n",
- " 5977.481672 | \n",
- " 5906.058211 | \n",
- " 5690.329283 | \n",
- " 5222.533397 | \n",
- " 5599.311723 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " 105.0 | \n",
- " 5961.339702 | \n",
- " 5873.444635 | \n",
- " 5633.361205 | \n",
- " 5146.029383 | \n",
- " 5514.158408 | \n",
- "
\n",
- " \n",
- " 7 | \n",
- " 120.0 | \n",
- " 5941.475087 | \n",
- " 5839.049494 | \n",
- " 5577.482141 | \n",
- " 5071.985790 | \n",
- " 5430.959868 | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " 135.0 | \n",
- " 5918.326519 | \n",
- " 5803.082860 | \n",
- " 5522.353273 | \n",
- " 4999.978397 | \n",
- " 5349.830380 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " 150.0 | \n",
- " 5892.281020 | \n",
- " 5765.682420 | \n",
- " 5467.740531 | \n",
- " 4929.723985 | \n",
- " 5270.762520 | \n",
- "
\n",
- " \n",
- " 10 | \n",
- " 165.0 | \n",
- " 5863.669261 | \n",
- " 5726.958194 | \n",
- " 5413.482758 | \n",
- " 4861.012778 | \n",
- " 5193.686532 | \n",
- "
\n",
- " \n",
- " 11 | \n",
- " 180.0 | \n",
- " 5832.772047 | \n",
- " 5687.008784 | \n",
- " 5359.469095 | \n",
- " 4793.677629 | \n",
- " 5118.501016 | \n",
- "
\n",
- " \n",
- " 12 | \n",
- " 195.0 | \n",
- " 5799.829003 | \n",
- " 5645.926630 | \n",
- " 5305.623300 | \n",
- " 4727.578973 | \n",
- " 5045.089713 | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " 210.0 | \n",
- " 5765.046490 | \n",
- " 5603.799315 | \n",
- " 5251.892943 | \n",
- " 4662.596824 | \n",
- " 4973.331095 | \n",
- "
\n",
- " \n",
- " 14 | \n",
- " 225.0 | \n",
- " 5728.604024 | \n",
- " 5560.709621 | \n",
- " 5198.241970 | \n",
- " 4598.626115 | \n",
- " 4903.103984 | \n",
- "
\n",
- " \n",
- " 15 | \n",
- " 240.0 | \n",
- " 5690.659259 | \n",
- " 5516.735337 | \n",
- " 5144.645587 | \n",
- " 4535.573735 | \n",
- " 4834.290844 | \n",
- "
\n",
- " \n",
- " 16 | \n",
- " 255.0 | \n",
- " 5651.351801 | \n",
- " 5471.949117 | \n",
- " 5091.086743 | \n",
- " 4473.356492 | \n",
- " 4766.779657 | \n",
- "
\n",
- " \n",
- " 17 | \n",
- " 270.0 | \n",
- " 5610.806121 | \n",
- " 5426.418471 | \n",
- " 5037.553715 | \n",
- " 4411.899628 | \n",
- " 4700.464921 | \n",
- "
\n",
- " \n",
- " 18 | \n",
- " 285.0 | \n",
- " 5569.133821 | \n",
- " 5380.205878 | \n",
- " 4984.038438 | \n",
- " 4351.135684 | \n",
- " 4635.248083 | \n",
- "
\n",
- " \n",
- " 19 | \n",
- " 300.0 | \n",
- " 5526.435398 | \n",
- " 5333.368975 | \n",
- " 4930.535369 | \n",
- " 4291.003595 | \n",
- " 4571.037615 | \n",
- "
\n",
- " \n",
- " 20 | \n",
- " 315.0 | \n",
- " 5482.801662 | \n",
- " 5285.960805 | \n",
- " 4877.040696 | \n",
- " 4231.447961 | \n",
- " 4507.748877 | \n",
- "
\n",
- " \n",
- " 21 | \n",
- " 330.0 | \n",
- " 5438.314890 | \n",
- " 5238.030099 | \n",
- " 4823.551795 | \n",
- " 4172.418431 | \n",
- " 4445.303834 | \n",
- "
\n",
- " \n",
- " 22 | \n",
- " 345.0 | \n",
- " 5393.049776 | \n",
- " 5189.621562 | \n",
- " 4770.066864 | \n",
- " 4113.869185 | \n",
- " 4383.630709 | \n",
- "
\n",
- " \n",
- " 23 | \n",
- " 360.0 | \n",
- " 5347.074237 | \n",
- " 5140.776166 | \n",
- " 4716.584663 | \n",
- " 4055.758485 | \n",
- " 4322.663593 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " time grid 1 grid 2 grid 3 grid 4 grid 5\n",
- "0 15.0 6000.000000 6000.000000 6000.000000 5732.619048 6000.000000\n",
- "1 30.0 6000.000000 6000.000000 5939.570902 5586.096291 5939.570902\n",
- "2 45.0 6000.000000 5986.342797 5873.341517 5478.488514 5859.684314\n",
- "3 60.0 5996.913421 5963.890663 5809.641971 5386.497501 5773.532634\n",
- "4 75.0 5989.450154 5936.493147 5748.870517 5302.220177 5686.061243\n",
- "5 90.0 5977.481672 5906.058211 5690.329283 5222.533397 5599.311723\n",
- "6 105.0 5961.339702 5873.444635 5633.361205 5146.029383 5514.158408\n",
- "7 120.0 5941.475087 5839.049494 5577.482141 5071.985790 5430.959868\n",
- "8 135.0 5918.326519 5803.082860 5522.353273 4999.978397 5349.830380\n",
- "9 150.0 5892.281020 5765.682420 5467.740531 4929.723985 5270.762520\n",
- "10 165.0 5863.669261 5726.958194 5413.482758 4861.012778 5193.686532\n",
- "11 180.0 5832.772047 5687.008784 5359.469095 4793.677629 5118.501016\n",
- "12 195.0 5799.829003 5645.926630 5305.623300 4727.578973 5045.089713\n",
- "13 210.0 5765.046490 5603.799315 5251.892943 4662.596824 4973.331095\n",
- "14 225.0 5728.604024 5560.709621 5198.241970 4598.626115 4903.103984\n",
- "15 240.0 5690.659259 5516.735337 5144.645587 4535.573735 4834.290844\n",
- "16 255.0 5651.351801 5471.949117 5091.086743 4473.356492 4766.779657\n",
- "17 270.0 5610.806121 5426.418471 5037.553715 4411.899628 4700.464921\n",
- "18 285.0 5569.133821 5380.205878 4984.038438 4351.135684 4635.248083\n",
- "19 300.0 5526.435398 5333.368975 4930.535369 4291.003595 4571.037615\n",
- "20 315.0 5482.801662 5285.960805 4877.040696 4231.447961 4507.748877\n",
- "21 330.0 5438.314890 5238.030099 4823.551795 4172.418431 4445.303834\n",
- "22 345.0 5393.049776 5189.621562 4770.066864 4113.869185 4383.630709\n",
- "23 360.0 5347.074237 5140.776166 4716.584663 4055.758485 4322.663593"
- ]
- },
- "metadata": {
- "tags": []
- },
- "execution_count": 61
- }
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "kcGqECLeyYqD",
- "colab_type": "text"
- },
- "source": [
- "## Example 5.9 Similar to Ex 5.8, but **constant pressure at left boundary of reservoir**\n",
- "\n",
- "![Example 5 9](https://user-images.githubusercontent.com/51282928/76109912-081bbc00-6010-11ea-9f00-023e9d954ac6.PNG)\n",
- "\n",
- "The only modification is in the line:\n",
- "\n",
- "```\n",
- "pnew = pi[i] + (factor * ((Ti_plus_halves[i] * plus) - ((Ti_plus_halves[i] + Ti_min_halves[i]) * pi[i]) + (Ti_min_halves[i] * minus))) + (factor * qsc[i])\n",
- "pnew_arr.append(float(pnew))\n",
- "pnew_arr[0] = pi[0]\n",
- "```\n",
- "Where `pnew_arr[0] = pi[0]` means the pressure in the first gridblock is kept constant, equals to initial pressure `pi` 6000 psi.\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "rY78Xd0qE6OO",
- "colab_type": "text"
- },
- "source": [
- "### For timestep 15 days"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "XFDFqbsCydQw",
- "colab_type": "code",
- "outputId": "108cdb9d-278b-47df-ea59-ad9c4f47b7f8",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 758
- }
- },
- "source": [
- "pi = np.full(ngrid, p_initial) # array of pressure in each grid [6000, 6000, 6000, 6000, 6000]\n",
- "time = np.arange(15, 370, delta_t)\n",
- "\n",
- "pi_arr = []\n",
- "min_arr = []\n",
- "plus_arr = []\n",
- "\n",
- "for j in range(len(time)):\n",
- " pnew_arr = []\n",
- "\n",
- " plus = pi[-1]\n",
- " minus_arr = []\n",
- " plusus_arr = []\n",
- " for i, obj in enumerate(pi):\n",
- " if i > 0:\n",
- " minus = pi[i-1]\n",
- " if i < (len(pi) - 1):\n",
- " plus = pi[i+1]\n",
- "\n",
- " pnew = pi[i] + (factor * ((Ti_plus_halves[i] * plus) - ((Ti_plus_halves[i] + Ti_min_halves[i]) * pi[i]) + (Ti_min_halves[i] * minus))) + (factor * qsc[i])\n",
- " pnew_arr.append(float(pnew))\n",
- " pnew_arr[0] = pi[0]\n",
- "\n",
- " minus_arr.append(float(minus))\n",
- " plusus_arr.append(float(plus))\n",
- "\n",
- " pi = pnew_arr\n",
- "\n",
- " min_arr.append(minus_arr)\n",
- " plus_arr.append(plusus_arr)\n",
- " pi_arr.append(pi)\n",
- "\n",
- "df = pd.DataFrame.from_records(pi_arr)\n",
- "df = pd.DataFrame(pd.np.column_stack([time, df]), columns=['time', 'grid 1', 'grid 2', 'grid 3', 'grid 4', 'grid 5'])\n",
- "df"
- ],
- "execution_count": 62,
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " time | \n",
- " grid 1 | \n",
- " grid 2 | \n",
- " grid 3 | \n",
- " grid 4 | \n",
- " grid 5 | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " 15.0 | \n",
- " 6000.0 | \n",
- " 6000.000000 | \n",
- " 6000.000000 | \n",
- " 5732.619048 | \n",
- " 6000.000000 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " 30.0 | \n",
- " 6000.0 | \n",
- " 6000.000000 | \n",
- " 5939.570902 | \n",
- " 5586.096291 | \n",
- " 5939.570902 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " 45.0 | \n",
- " 6000.0 | \n",
- " 5986.342797 | \n",
- " 5873.341517 | \n",
- " 5478.488514 | \n",
- " 5859.684314 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " 60.0 | \n",
- " 6000.0 | \n",
- " 5963.890663 | \n",
- " 5809.641971 | \n",
- " 5386.497501 | \n",
- " 5773.532634 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " 75.0 | \n",
- " 6000.0 | \n",
- " 5937.190726 | \n",
- " 5748.870517 | \n",
- " 5302.220177 | \n",
- " 5686.061243 | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " 90.0 | \n",
- " 6000.0 | \n",
- " 5908.824784 | \n",
- " 5690.486939 | \n",
- " 5222.533397 | \n",
- " 5599.311723 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " 105.0 | \n",
- " 6000.0 | \n",
- " 5880.085553 | \n",
- " 5634.072855 | \n",
- " 5146.065014 | \n",
- " 5514.158408 | \n",
- "
\n",
- " \n",
- " 7 | \n",
- " 120.0 | \n",
- " 6000.0 | \n",
- " 5851.586875 | \n",
- " 5579.381045 | \n",
- " 5072.166151 | \n",
- " 5430.967921 | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " 135.0 | \n",
- " 6000.0 | \n",
- " 5823.609260 | \n",
- " 5526.268116 | \n",
- " 5000.508212 | \n",
- " 5349.877375 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " 150.0 | \n",
- " 6000.0 | \n",
- " 5796.274015 | \n",
- " 5474.644619 | \n",
- " 4930.909711 | \n",
- " 5270.918634 | \n",
- "
\n",
- " \n",
- " 10 | \n",
- " 165.0 | \n",
- " 6000.0 | \n",
- " 5769.627402 | \n",
- " 5424.447941 | \n",
- " 4863.258178 | \n",
- " 5194.075343 | \n",
- "
\n",
- " \n",
- " 11 | \n",
- " 180.0 | \n",
- " 6000.0 | \n",
- " 5743.680620 | \n",
- " 5375.628803 | \n",
- " 4797.474136 | \n",
- " 5119.309423 | \n",
- "
\n",
- " \n",
- " 12 | \n",
- " 195.0 | \n",
- " 6000.0 | \n",
- " 5718.428670 | \n",
- " 5328.144771 | \n",
- " 4733.494288 | \n",
- " 5046.573441 | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " 210.0 | \n",
- " 6000.0 | \n",
- " 5693.859222 | \n",
- " 5281.957157 | \n",
- " 4671.263638 | \n",
- " 4975.816379 | \n",
- "
\n",
- " \n",
- " 14 | \n",
- " 225.0 | \n",
- " 6000.0 | \n",
- " 5669.956774 | \n",
- " 5237.029543 | \n",
- " 4610.731772 | \n",
- " 4906.986317 | \n",
- "
\n",
- " \n",
- " 15 | \n",
- " 240.0 | \n",
- " 6000.0 | \n",
- " 5646.704603 | \n",
- " 5193.327076 | \n",
- " 4551.851103 | \n",
- " 4840.031679 | \n",
- "
\n",
- " \n",
- " 16 | \n",
- " 255.0 | \n",
- " 6000.0 | \n",
- " 5624.085666 | \n",
- " 5150.816122 | \n",
- " 4494.576017 | \n",
- " 4774.901788 | \n",
- "
\n",
- " \n",
- " 17 | \n",
- " 270.0 | \n",
- " 6000.0 | \n",
- " 5602.083024 | \n",
- " 5109.464089 | \n",
- " 4438.862464 | \n",
- " 4711.547112 | \n",
- "
\n",
- " \n",
- " 18 | \n",
- " 285.0 | \n",
- " 6000.0 | \n",
- " 5580.680026 | \n",
- " 5069.239334 | \n",
- " 4384.667747 | \n",
- " 4649.919359 | \n",
- "
\n",
- " \n",
- " 19 | \n",
- " 300.0 | \n",
- " 6000.0 | \n",
- " 5559.860398 | \n",
- " 5030.111102 | \n",
- " 4331.950399 | \n",
- " 4589.971500 | \n",
- "
\n",
- " \n",
- " 20 | \n",
- " 315.0 | \n",
- " 6000.0 | \n",
- " 5539.608271 | \n",
- " 4992.049493 | \n",
- " 4280.670120 | \n",
- " 4531.657764 | \n",
- "
\n",
- " \n",
- " 21 | \n",
- " 330.0 | \n",
- " 6000.0 | \n",
- " 5519.908191 | \n",
- " 4955.025424 | \n",
- " 4230.787722 | \n",
- " 4474.933615 | \n",
- "
\n",
- " \n",
- " 22 | \n",
- " 345.0 | \n",
- " 6000.0 | \n",
- " 5500.745117 | \n",
- " 4919.010611 | \n",
- " 4182.265094 | \n",
- " 4419.755728 | \n",
- "
\n",
- " \n",
- " 23 | \n",
- " 360.0 | \n",
- " 6000.0 | \n",
- " 5482.104413 | \n",
- " 4883.977541 | \n",
- " 4135.065165 | \n",
- " 4366.081954 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " time grid 1 grid 2 grid 3 grid 4 grid 5\n",
- "0 15.0 6000.0 6000.000000 6000.000000 5732.619048 6000.000000\n",
- "1 30.0 6000.0 6000.000000 5939.570902 5586.096291 5939.570902\n",
- "2 45.0 6000.0 5986.342797 5873.341517 5478.488514 5859.684314\n",
- "3 60.0 6000.0 5963.890663 5809.641971 5386.497501 5773.532634\n",
- "4 75.0 6000.0 5937.190726 5748.870517 5302.220177 5686.061243\n",
- "5 90.0 6000.0 5908.824784 5690.486939 5222.533397 5599.311723\n",
- "6 105.0 6000.0 5880.085553 5634.072855 5146.065014 5514.158408\n",
- "7 120.0 6000.0 5851.586875 5579.381045 5072.166151 5430.967921\n",
- "8 135.0 6000.0 5823.609260 5526.268116 5000.508212 5349.877375\n",
- "9 150.0 6000.0 5796.274015 5474.644619 4930.909711 5270.918634\n",
- "10 165.0 6000.0 5769.627402 5424.447941 4863.258178 5194.075343\n",
- "11 180.0 6000.0 5743.680620 5375.628803 4797.474136 5119.309423\n",
- "12 195.0 6000.0 5718.428670 5328.144771 4733.494288 5046.573441\n",
- "13 210.0 6000.0 5693.859222 5281.957157 4671.263638 4975.816379\n",
- "14 225.0 6000.0 5669.956774 5237.029543 4610.731772 4906.986317\n",
- "15 240.0 6000.0 5646.704603 5193.327076 4551.851103 4840.031679\n",
- "16 255.0 6000.0 5624.085666 5150.816122 4494.576017 4774.901788\n",
- "17 270.0 6000.0 5602.083024 5109.464089 4438.862464 4711.547112\n",
- "18 285.0 6000.0 5580.680026 5069.239334 4384.667747 4649.919359\n",
- "19 300.0 6000.0 5559.860398 5030.111102 4331.950399 4589.971500\n",
- "20 315.0 6000.0 5539.608271 4992.049493 4280.670120 4531.657764\n",
- "21 330.0 6000.0 5519.908191 4955.025424 4230.787722 4474.933615\n",
- "22 345.0 6000.0 5500.745117 4919.010611 4182.265094 4419.755728\n",
- "23 360.0 6000.0 5482.104413 4883.977541 4135.065165 4366.081954"
- ]
- },
- "metadata": {
- "tags": []
- },
- "execution_count": 62
- }
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "mxJcErGBBIXN",
- "colab_type": "text"
- },
- "source": [
- "## Example 5.10 Halving the grid spacing of Ex 5.9 (more refined grids)\n",
- "\n",
- "![Example 5 10](https://user-images.githubusercontent.com/51282928/76109917-0c47d980-6010-11ea-95bf-87492c658368.PNG)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "fFYOE_lkFJjP",
- "colab_type": "text"
- },
- "source": [
- "### For timestep 15 days"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "bIP_0qlqCRIh",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 34
- },
- "outputId": "91a6dc9f-0890-40e1-8f7f-663842ed3411"
- },
- "source": [
- "# known\n",
- "p_initial = 6000 # initial pressure, in psia\n",
- "delta_x = 500 # ft, half the previous one\n",
- "delta_y = 1000\n",
- "delta_z = 75\n",
- "ngrid = 10 # now twice the number of previous gridblocks\n",
- "grid_loc = 4 # grid location where production well is located\n",
- "B = 1 # phase FVF, assumed constant over pressure, rb/stb\n",
- "c = 3.5E-06 # phase compressibility, psi^-1\n",
- "k_x = 15 # perm in x direction, md\n",
- "poro = 0.18\n",
- "mu = 10 # phase viscosity, cp\n",
- "\n",
- "delta_t = 15 # days\n",
- "qsc = -150 # minus means production, stb/d\n",
- "\n",
- "# conversion\n",
- "k_x = 15 * 1E-03 # darcy to mD\n",
- "\n",
- "# calculate factor\n",
- "Vb = delta_x * delta_y * delta_z\n",
- "alpha = 5.615 # volume conversion factor, is a constant\n",
- "factor = (alpha * B * delta_t) / (Vb * poro * c)\n",
- "factor"
- ],
- "execution_count": 63,
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/plain": [
- "3.5650793650793653"
- ]
- },
- "metadata": {
- "tags": []
- },
- "execution_count": 63
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "RJD9YA0qFxrn",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 34
- },
- "outputId": "aa251214-295f-4497-c435-8fdb0ff28895"
- },
- "source": [
- "# calculate transmissibility of coupling cells\n",
- "beta = 1.127 # transmissibility conversion factor, is a constant\n",
- "Ax = delta_y * delta_z\n",
- "T_plus_half = beta * ((Ax * k_x) / (mu * B * delta_x))\n",
- "T_min_half = T_plus_half\n",
- "T_min_half, T_plus_half"
- ],
- "execution_count": 64,
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/plain": [
- "(0.253575, 0.253575)"
- ]
- },
- "metadata": {
- "tags": []
- },
- "execution_count": 64
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "-_5Ca64kIJez",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 134
- },
- "outputId": "f1c477af-90f4-4df7-9333-26cb431891f3"
- },
- "source": [
- "q = np.full(ngrid-1, T_min_half)\n",
- "Ti_plus_halves = np.append(q, [0])\n",
- "print(Ti_plus_halves)\n",
- "p = np.full(ngrid-1, T_plus_half)\n",
- "Ti_min_halves = np.append([0], p)\n",
- "print(Ti_min_halves)\n",
- "print(\"At grid 1, the coupling transmissibility coeffs are:\", Ti_min_halves[0], \"for T_min_half and:\", Ti_plus_halves[0], \"for T_plus_half.\")\n",
- "print(\"At grid 3, the coupling transmissibility coeffs are:\", Ti_min_halves[2], \"for T_min_half and:\", Ti_plus_halves[2], \"for T_plus_half.\")\n",
- "print(\"At grid 5, the coupling transmissibility coeffs are:\", Ti_min_halves[4], \"for T_min_half and:\", Ti_plus_halves[4], \"for T_plus_half.\")"
- ],
- "execution_count": 67,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "[0.253575 0.253575 0.253575 0.253575 0.253575 0.253575 0.253575 0.253575\n",
- " 0.253575 0. ]\n",
- "[0. 0.253575 0.253575 0.253575 0.253575 0.253575 0.253575 0.253575\n",
- " 0.253575 0.253575]\n",
- "At grid 1, the coupling transmissibility coeffs are: 0.0 for T_min_half and: 0.253575 for T_plus_half.\n",
- "At grid 3, the coupling transmissibility coeffs are: 0.253575 for T_min_half and: 0.253575 for T_plus_half.\n",
- "At grid 5, the coupling transmissibility coeffs are: 0.253575 for T_min_half and: 0.253575 for T_plus_half.\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "07e8nvgVIQUG",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "qsc = [0, 0, 0, 0, 0, 0, -75, -75, 0, 0] # production well in grid 7 and 8"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "z9gSh_h_IrgW",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 758
- },
- "outputId": "cb9aa8ca-49cf-4794-a124-86658ea1053c"
- },
- "source": [
- "pi = np.full(ngrid, p_initial) # array of pressure in each grid [6000, 6000, 6000, 6000, 6000]\n",
- "time = np.arange(15, 370, delta_t)\n",
- "\n",
- "pi_arr = []\n",
- "min_arr = []\n",
- "plus_arr = []\n",
- "\n",
- "for j in range(len(time)):\n",
- " pnew_arr = []\n",
- "\n",
- " plus = pi[-1]\n",
- " minus_arr = []\n",
- " plusus_arr = []\n",
- " for i, obj in enumerate(pi):\n",
- " if i > 0:\n",
- " minus = pi[i-1]\n",
- " if i < (len(pi) - 1):\n",
- " plus = pi[i+1]\n",
- "\n",
- " pnew = pi[i] + (factor * ((Ti_plus_halves[i] * plus) - ((Ti_plus_halves[i] + Ti_min_halves[i]) * pi[i]) + (Ti_min_halves[i] * minus))) + (factor * qsc[i])\n",
- " pnew_arr.append(float(pnew))\n",
- " pnew_arr[0] = pi[0]\n",
- "\n",
- " minus_arr.append(float(minus))\n",
- " plusus_arr.append(float(plus))\n",
- "\n",
- " pi = pnew_arr\n",
- "\n",
- " min_arr.append(minus_arr)\n",
- " plus_arr.append(plusus_arr)\n",
- " pi_arr.append(pi)\n",
- "\n",
- "df = pd.DataFrame.from_records(pi_arr)\n",
- "df = pd.DataFrame(pd.np.column_stack([time, df]), columns=['time', 'grid 1', 'grid 2', 'grid 3', 'grid 4', 'grid 5', 'grid 6', 'grid 7', 'grid 8', 'grid 9', 'grid 10'])\n",
- "df"
- ],
- "execution_count": 74,
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " time | \n",
- " grid 1 | \n",
- " grid 2 | \n",
- " grid 3 | \n",
- " grid 4 | \n",
- " grid 5 | \n",
- " grid 6 | \n",
- " grid 7 | \n",
- " grid 8 | \n",
- " grid 9 | \n",
- " grid 10 | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " 15.0 | \n",
- " 6000.0 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- " 5.732619e+03 | \n",
- " 5.732619e+03 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " 30.0 | \n",
- " 6000.0 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- " 5.758284e+03 | \n",
- " 5.706954e+03 | \n",
- " 5.706954e+03 | \n",
- " 5.758284e+03 | \n",
- " 6.000000e+03 | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " 45.0 | \n",
- " 6000.0 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- " 5.781485e+03 | \n",
- " 5.930397e+03 | \n",
- " 5.485976e+03 | \n",
- " 5.485976e+03 | \n",
- " 5.930397e+03 | \n",
- " 5.781485e+03 | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " 60.0 | \n",
- " 6000.0 | \n",
- " 6.000000e+03 | \n",
- " 6.000000e+03 | \n",
- " 5.802459e+03 | \n",
- " 6.113644e+03 | \n",
- " 5.394015e+03 | \n",
- " 5.620358e+03 | \n",
- " 5.620358e+03 | \n",
- " 5.394015e+03 | \n",
- " 5.916103e+03 | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " 75.0 | \n",
- " 6000.0 | \n",
- " 6.000000e+03 | \n",
- " 5.821420e+03 | \n",
- " 6.262355e+03 | \n",
- " 5.181772e+03 | \n",
- " 6.249188e+03 | \n",
- " 5.148360e+03 | \n",
- " 5.148360e+03 | \n",
- " 6.070608e+03 | \n",
- " 5.444128e+03 | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " 90.0 | \n",
- " 6000.0 | \n",
- " 5.838561e+03 | \n",
- " 6.381471e+03 | \n",
- " 4.886880e+03 | \n",
- " 7.123595e+03 | \n",
- " 4.289063e+03 | \n",
- " 5.876144e+03 | \n",
- " 5.714705e+03 | \n",
- " 4.670534e+03 | \n",
- " 6.010475e+03 | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " 105.0 | \n",
- " 6000.0 | \n",
- " 6.475303e+03 | \n",
- " 4.539539e+03 | \n",
- " 8.260037e+03 | \n",
- " 2.539111e+03 | \n",
- " 8.286268e+03 | \n",
- " 4.028075e+03 | \n",
- " 4.649321e+03 | \n",
- " 6.825807e+03 | \n",
- " 4.799148e+03 | \n",
- "
\n",
- " \n",
- " 7 | \n",
- " 120.0 | \n",
- " 6000.0 | \n",
- " 4.295662e+03 | \n",
- " 9.652885e+03 | \n",
- " -2.751512e+02 | \n",
- " 1.290643e+04 | \n",
- " -7.587183e+02 | \n",
- " 8.171780e+03 | \n",
- " 5.787900e+03 | \n",
- " 3.026101e+03 | \n",
- " 6.631278e+03 | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " 135.0 | \n",
- " 6000.0 | \n",
- " 1.067942e+04 | \n",
- " -4.165218e+03 | \n",
- " 2.061629e+04 | \n",
- " -1.136342e+04 | \n",
- " 1.966809e+04 | \n",
- " -2.323969e+03 | \n",
- " 5.178875e+03 | \n",
- " 8.781943e+03 | \n",
- " 3.372144e+03 | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " 150.0 | \n",
- " 6000.0 | \n",
- " -6.970620e+03 | \n",
- " 3.165741e+04 | \n",
- " -3.069670e+04 | \n",
- " 4.559966e+04 | \n",
- " -2.826600e+04 | \n",
- " 2.407248e+04 | \n",
- " 1.386038e+03 | \n",
- " 6.341766e+02 | \n",
- " 8.262683e+03 | \n",
- "
\n",
- " \n",
- " 10 | \n",
- " 165.0 | \n",
- " 6000.0 | \n",
- " 3.967533e+04 | \n",
- " -5.963196e+04 | \n",
- " 9.464540e+04 | \n",
- " -9.014906e+04 | \n",
- " 8.582444e+04 | \n",
- " -4.401856e+04 | \n",
- " 2.094785e+04 | \n",
- " 8.210155e+03 | \n",
- " 1.366399e+03 | \n",
- "
\n",
- " \n",
- " 11 | \n",
- " 180.0 | \n",
- " 6000.0 | \n",
- " -8.054295e+04 | \n",
- " 1.696124e+05 | \n",
- " -2.118806e+05 | \n",
- " 2.359906e+05 | \n",
- " -1.906383e+05 | \n",
- " 1.318247e+05 | \n",
- " -4.956521e+04 | \n",
- " 1.353836e+04 | \n",
- " 7.553257e+03 | \n",
- "
\n",
- " \n",
- " 12 | \n",
- " 195.0 | \n",
- " 6000.0 | \n",
- " 2.238373e+05 | \n",
- " -4.014072e+05 | \n",
- " 5.378770e+05 | \n",
- " -5.545706e+05 | \n",
- " 4.865520e+05 | \n",
- " -3.239332e+05 | \n",
- " 1.711932e+05 | \n",
- " -4.891884e+04 | \n",
- " 1.296388e+04 | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " 210.0 | \n",
- " 6000.0 | \n",
- " -5.383213e+05 | \n",
- " 1.012950e+06 | \n",
- " -1.298839e+06 | \n",
- " 1.374209e+06 | \n",
- " -1.187329e+06 | \n",
- " 8.560918e+05 | \n",
- " -4.756604e+05 | \n",
- " 2.060086e+05 | \n",
- " -4.297902e+04 | \n",
- "
\n",
- " \n",
- " 14 | \n",
- " 225.0 | \n",
- " 6000.0 | \n",
- " 1.356126e+06 | \n",
- " -2.479315e+06 | \n",
- " 3.207529e+06 | \n",
- " -3.357935e+06 | \n",
- " 2.975623e+06 | \n",
- " -2.195383e+06 | \n",
- " 1.344235e+06 | \n",
- " -6.353190e+05 | \n",
- " 1.821095e+05 | \n",
- "
\n",
- " \n",
- " 15 | \n",
- " 240.0 | \n",
- " 6000.0 | \n",
- " -3.331704e+06 | \n",
- " 6.128973e+06 | \n",
- " -7.868741e+06 | \n",
- " 8.302974e+06 | \n",
- " -7.424675e+06 | \n",
- " 5.678884e+06 | \n",
- " -3.645447e+06 | \n",
- " 1.893195e+06 | \n",
- " -5.568581e+05 | \n",
- "
\n",
- " \n",
- " 16 | \n",
- " 255.0 | \n",
- " 6000.0 | \n",
- " 8.238224e+06 | \n",
- " -1.507776e+07 | \n",
- " 1.940488e+07 | \n",
- " -2.053453e+07 | \n",
- " 1.863917e+07 | \n",
- " -1.459653e+07 | \n",
- " 9.790637e+06 | \n",
- " -5.328705e+06 | \n",
- " 1.658027e+06 | \n",
- "
\n",
- " \n",
- " 17 | \n",
- " 270.0 | \n",
- " 6000.0 | \n",
- " -2.028183e+07 | \n",
- " 3.717306e+07 | \n",
- " -4.787377e+07 | \n",
- " 5.098490e+07 | \n",
- " -4.682002e+07 | \n",
- " 3.749514e+07 | \n",
- " -2.592411e+07 | \n",
- " 1.465552e+07 | \n",
- " -4.658084e+06 | \n",
- "
\n",
- " \n",
- " 18 | \n",
- " 285.0 | \n",
- " 6000.0 | \n",
- " 4.999876e+07 | \n",
- " -9.165064e+07 | \n",
- " 1.183796e+08 | \n",
- " -1.268019e+08 | \n",
- " 1.178193e+08 | \n",
- " -9.605925e+07 | \n",
- " 6.809217e+07 | \n",
- " -3.948886e+07 | \n",
- " 1.280170e+07 | \n",
- "
\n",
- " \n",
- " 19 | \n",
- " 300.0 | \n",
- " 6000.0 | \n",
- " -1.232486e+08 | \n",
- " 2.262730e+08 | \n",
- " -2.931386e+08 | \n",
- " 3.159871e+08 | \n",
- " -2.966714e+08 | \n",
- " 2.456852e+08 | \n",
- " -1.775583e+08 | \n",
- " 1.050375e+08 | \n",
- " -3.446975e+07 | \n",
- "
\n",
- " \n",
- " 20 | \n",
- " 315.0 | \n",
- " 6000.0 | \n",
- " 3.041482e+08 | \n",
- " -5.592557e+08 | \n",
- " 7.270760e+08 | \n",
- " -7.885241e+08 | \n",
- " 7.474795e+08 | \n",
- " -6.272320e+08 | \n",
- " 4.605307e+08 | \n",
- " -2.765500e+08 | \n",
- " 9.164686e+07 | \n",
- "
\n",
- " \n",
- " 21 | \n",
- " 330.0 | \n",
- " 6000.0 | \n",
- " -7.513310e+08 | \n",
- " 1.384138e+09 | \n",
- " -1.805912e+09 | \n",
- " 1.970171e+09 | \n",
- " -1.883851e+09 | \n",
- " 1.598881e+09 | \n",
- " -1.189155e+09 | \n",
- " 7.226375e+08 | \n",
- " -2.412086e+08 | \n",
- "
\n",
- " \n",
- " 22 | \n",
- " 345.0 | \n",
- " 6000.0 | \n",
- " 1.858385e+09 | \n",
- " -3.430211e+09 | \n",
- " 4.491577e+09 | \n",
- " -4.927559e+09 | \n",
- " 4.748685e+09 | \n",
- " -4.069988e+09 | \n",
- " 3.059561e+09 | \n",
- " -1.876983e+09 | \n",
- " 6.301227e+08 | \n",
- "
\n",
- " \n",
- " 23 | \n",
- " 360.0 | \n",
- " 6000.0 | \n",
- " -4.602587e+09 | \n",
- " 8.512174e+09 | \n",
- " -1.118488e+10 | \n",
- " 1.233495e+10 | \n",
- " -1.197100e+10 | \n",
- " 1.034744e+10 | \n",
- " -7.848368e+09 | \n",
- " 4.852188e+09 | \n",
- " -1.636339e+09 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " time grid 1 grid 2 ... grid 8 grid 9 grid 10\n",
- "0 15.0 6000.0 6.000000e+03 ... 5.732619e+03 6.000000e+03 6.000000e+03\n",
- "1 30.0 6000.0 6.000000e+03 ... 5.706954e+03 5.758284e+03 6.000000e+03\n",
- "2 45.0 6000.0 6.000000e+03 ... 5.485976e+03 5.930397e+03 5.781485e+03\n",
- "3 60.0 6000.0 6.000000e+03 ... 5.620358e+03 5.394015e+03 5.916103e+03\n",
- "4 75.0 6000.0 6.000000e+03 ... 5.148360e+03 6.070608e+03 5.444128e+03\n",
- "5 90.0 6000.0 5.838561e+03 ... 5.714705e+03 4.670534e+03 6.010475e+03\n",
- "6 105.0 6000.0 6.475303e+03 ... 4.649321e+03 6.825807e+03 4.799148e+03\n",
- "7 120.0 6000.0 4.295662e+03 ... 5.787900e+03 3.026101e+03 6.631278e+03\n",
- "8 135.0 6000.0 1.067942e+04 ... 5.178875e+03 8.781943e+03 3.372144e+03\n",
- "9 150.0 6000.0 -6.970620e+03 ... 1.386038e+03 6.341766e+02 8.262683e+03\n",
- "10 165.0 6000.0 3.967533e+04 ... 2.094785e+04 8.210155e+03 1.366399e+03\n",
- "11 180.0 6000.0 -8.054295e+04 ... -4.956521e+04 1.353836e+04 7.553257e+03\n",
- "12 195.0 6000.0 2.238373e+05 ... 1.711932e+05 -4.891884e+04 1.296388e+04\n",
- "13 210.0 6000.0 -5.383213e+05 ... -4.756604e+05 2.060086e+05 -4.297902e+04\n",
- "14 225.0 6000.0 1.356126e+06 ... 1.344235e+06 -6.353190e+05 1.821095e+05\n",
- "15 240.0 6000.0 -3.331704e+06 ... -3.645447e+06 1.893195e+06 -5.568581e+05\n",
- "16 255.0 6000.0 8.238224e+06 ... 9.790637e+06 -5.328705e+06 1.658027e+06\n",
- "17 270.0 6000.0 -2.028183e+07 ... -2.592411e+07 1.465552e+07 -4.658084e+06\n",
- "18 285.0 6000.0 4.999876e+07 ... 6.809217e+07 -3.948886e+07 1.280170e+07\n",
- "19 300.0 6000.0 -1.232486e+08 ... -1.775583e+08 1.050375e+08 -3.446975e+07\n",
- "20 315.0 6000.0 3.041482e+08 ... 4.605307e+08 -2.765500e+08 9.164686e+07\n",
- "21 330.0 6000.0 -7.513310e+08 ... -1.189155e+09 7.226375e+08 -2.412086e+08\n",
- "22 345.0 6000.0 1.858385e+09 ... 3.059561e+09 -1.876983e+09 6.301227e+08\n",
- "23 360.0 6000.0 -4.602587e+09 ... -7.848368e+09 4.852188e+09 -1.636339e+09\n",
- "\n",
- "[24 rows x 11 columns]"
- ]
- },
- "metadata": {
- "tags": []
- },
- "execution_count": 74
- }
- ]
- }
- ]
-}
\ No newline at end of file