Skip to content

LBPM Tutorial, Step 5. Assessing Steady State Permeability

JamesEMcClure edited this page May 10, 2019 · 3 revisions

The previous section of the tutorial covered the approach to measure steady-state permeability. We now consider how to assess the simulation has achieved this objective. For example, suppose that we choose tolerance = 0.01 -- is this sufficient to produce a satisfactory measurement? To determine this, we must examine the time history for the simulation and understand how the simulation approaches a steady-state.

LBPM is equipped with fairly sophisticated capabilities for in situ analysis. This means that as a simulation is performed, LBPM continuously analyzes the simulation results to obtain averaged measures that capture how the flow evolves. For lbpm_permeability_simulator the simulation is analyzed every 1000 timesteps, and the time history for averaged measures is logged to the spaced-delimited CSV file Permeability.csv. Effectively all spreadsheet and plotting software packages can import CSV files so that results can be visualized using any tool that you prefer. In my case, I often prefer to use R. In this tutorial, we will use python.

We can plot how the time history

  1. import required modules
import pandas as pd
import numpy as np
from matplotlib import pyplot
  1. read the CSV data
D=pd.read_csv("Permeability.csv",sep=" ")
  1. Note that the original image includes the entire cylindrical core, meaning the the permeability will be under-estimated since the true porosity should only include the region inside the cylinder. Furthermore units reported by LBPM are in square microns. We can convert this to milliDarcy by rescaling:
CylinderRatio=0.7853982
UnitConversion=1013
K=D['k']*UnitConversion/CylinderRatio
  1. Then we plot and visualize the data
pyplot.figure()
pyplot.plot(D['time'],K)
pyplot.xlabel('time')
pyplot.ylabel('permeability (millidarcy))')
pyplot.show()

The resulting plot match what is shown below:

Screen Shot 2019-05-10 at 2 42 29 AM

Based on this, we can see that the permeability is still drifting, and has not completely reached steady state. We might elect to re-run the simulation, specifying a larger number of maximum timesteps using timestepMax and lower tolerance.

Note: larger images will require larger numbers of timesteps to reach steady-state

Proceed to next step in tutorial