Tutorial 2 - CO2 Storage - Cross Section - Thermal effects

You will learn about:

  • set up a CO2 storage problem that models temperature effects

  • create line plots

  • analyse results of thermal CO2 storage studies

What do you need to run this tutorial:

Three input files, which can be downloaded from the following links:

Tutorial sections:

Problem description

The CO2 storage problem you are going to model is the same cross section of Tutorial 1. It extends 5000 m in the horizontal direction and 400 m in the vertical direction, with the top located at a depth of 800 m.

Hydrostatic pressure and a geothermal gradient of 3 C/100m describes the unperturbed reservoir conditions before injection starts. The reservoir is initially saturated with brine and 1Mt per year of CO2 is injected at 1000 meters depth, in the middle of the domain, for 6.85 years, at a temperature of ~56 C, where it finds a reservoir temperature of 35 C.

A producer operating a constant pressure is completed in the bottom layer to emulate a deep aquifer underneath and avoid pressure build up.

Setup of input file

As the problems of Tutorials 1 and 2 differ only for the temperature modelling option and the simulation time, only the sections that divert will be covered.

Simulation

Select the GAS_WATER mode, and be sure the ISOTHERMAL card is removed, as the software runs with the temperature option switched on by default.

SIMULATION
 SIMULATION_TYPE SUBSURFACE
 PROCESS_MODELS
   SUBSURFACE_FLOW Flow
     MODE GAS_WATER
     OPTIONS
       RESERVOIR_DEFAULTS
     /
   / ! end of subsurface_flow
 / ! end of process models
END  !! end simulation block

Time

Specify the final time of the simulation, 2500 days, using FINAL_TIME:

TIME
  FINAL_TIME 2500 d
  INITIAL_TIMESTEP_SIZE 0.1 d
  MAXIMUM_TIMESTEP_SIZE 50 d at 0 d
  MAXIMUM_TIMESTEP_SIZE 250 d at 300 d
END

Output

Add the statements to output the density and viscosity (WRITE_DENSITY, WRITE_VISCOSITY), as it will be interesting to observe how these two parameters change with temperature in the region around the injector.

OUTPUT
  MASS_BALANCE_FILE
   PERIODIC TIMESTEP 1
  END
  ECLIPSE_FILE
    TIMES d 2500
    PERIOD_SUM TIMESTEP 5
    PERIOD_RST TIMESTEP 25
    OUTFILE
    WRITE_DENSITY
    WRITE_VISCOSITY
  END
  LINEREPT
END

Material Property

Enter the rock density(2350 kg/m3), the specific heat capacity (1000 J/(kg-K) ) and the thermal conductivities (1.54 W/(K-m) ) needed for this thermal run.

MATERIAL_PROPERTY formation
  ID 1
  ROCK_DENSITY 2.350d3
  SPECIFIC_HEAT 1.0d3
  THERMAL_CONDUCTIVITY_DRY 1.541d0
  THERMAL_CONDUCTIVITY_WET 1.541d0
  SOIL_COMPRESSIBILITY_FUNCTION QUADRATIC
  SOIL_COMPRESSIBILITY    4.35d-10 ! 1/Pa
  SOIL_REFERENCE_PRESSURE 1.0D5
  CHARACTERISTIC_CURVES ch1
/

Note that two thermal conductivities are given for the brine-saturated (WET) and brine-unsaturated (DRY) rock, taking a saturation-weighted average. Using the same values for both dry and wet rock will remove the saturation dependency.

Thermal boundaries

To model the thermal inertia of the over- and under-burdens, fix the temperatures of the top and bottom layers for the entire simulated period, using TBC_DATA and the same temperature table used to initialise the study.

TBC_DATA tbctop
  TEMPVD m
     800  29
     1000 35
     1200 41
  END TEMPVD
  CONN_D 1 50 1 1 1 1 Z-     !top faces
END

TBC_DATA tbcbot
  TEMPVD m
     800  29
     1000 35
     1200 41
  END TEMPVD
  CONN_D 1 50 1 1 100 100 Z+ ! bottom faces
END

Using the same temperature-versus-depth table used in the study initialisation, the temperature values at the boundary depths will be interpolated. This is equivalent to fixing constant temperatures at the top and bottom if layers are flat. However, in case of irregular boundaries, the table approach fixes the temperature boundary values to their initial values, which can very with depth.

CONN_D defines the layers to which the thermal boundary is assigned. Inter-grid-block faces are skipped.

Wells

Define a gas injector located in the middle of the cross section (block 25,1,50), with an injection target of 1 Mega tonne of CO2 per year (Mt/y).

You must specify the pressure and temperature of the CO2 being injected, in a point where these parameters are known, as the code need them to compute the energy (enthalpy) entering the reservoir.

From the point where pressure and temperature are specified to the bottom hole conditions of the injector, the code assumes an isenthalpic process, neglecting heat exchanges with the surroundings rock, as well as changes in potential and kinetic energies.

For this tutorial, the energy entering the system is specified assuming CO2 delivery conditions of 120 Bar and 45 C.

WELL_DATA injg
  WELL_TYPE GAS_INJECTOR
  INJECTION_ENTHALPY_P  120 Bar
  INJECTION_ENTHALPY_T  45 C
  BHPL     1000    Bar
  TARG_GM 1.0 Mt/y
  CIJK_D   25 1 50 50
  TIME 2500 day
  SHUT
END

Run on your Ubuntu Desktop

Open a terminal window, navigate to the folder where you have downloaded the input files for this tutorial and launch a simulation.

You can use file pft.sh script to run the simulation using the following command:

./pft.sh CCS_TH.in 4

This will run the case on 4 cores. As the simulation progresses the screen output shows you the physical time progress, the time step size, and at the end of each time step the values of the field gas injection rate and total (fgir, fgit), the field average pressure (fpav), etc.

../../_images/tut2_im1.png

Run on the OGS WebApp

Login into your OGS account.

Upload the input deck CCS_TH.in, and the two external files, ccs_th.gerdecl and co2_dbase.dat. Link the input deck to the two external files.

Turn on a small test machine, with maximum duration of 1 hour.

Submit to the test machine with 4 cores.

Once the run is complete, download all the output files into a folder you can access later to analyse the results.

Analyse the results

Summary file – Injector BHP and temperature plots

The software output the ECLIPSE summary files (CCS_TH.UNSMRY, CCS_TH.SMSPEC) and the mass files (CCS_TH-mas.dat), both containing information to generate line plots (field average pressure over time, BHP of a well vs time, etc.).

To open the ECLIPSE summary file launch ResInsight and open the CCS_TH.GRID file, then click on the graph icon on the top left corner:

../../_images/tut2_im2.png

The line plots editors will open:

../../_images/tut2_im3.png

To display the curves available for plotting, right click on “Compose Plot”, red box in the figure above, and click on “Edit Summary Plot”. The following pop-up windows will open:

../../_images/tut2_im4.png

To plot the injecotr bottom hole pressure (BHP), from left to right select, CCS_TH, Well, ING, WBHP. Then click Ok. This will generate the BHP vs time plot. Repeat the same steps to generate the injector temperature (WTEMP) vs time plot:

../../_images/tut2_im5.png ../../_images/tut2_im6.png

The BHP of the injector spikes above 480 Bar in the first few days of the injection, then rapidly drops to about 200 Bar. The injection fluid sees an initial compression of 360 Bars (form 120 at delivery condition to a BHP of 480 Bar), which rapidly declines to about 80 Bar (from 120 to 200 Bar). This compression causes a warm up of the CO2 being injected, which enters the reservoir at about 56 C when the BHP has stabilised to around 200 Bar.

2D contour plots of Temperature, Density and Viscosity

Now go back to the main window of ResInsight, where you previously loaded CCS_TH.GIRD. Click on the 2D view (N icon), select the temperature in the property editor, and select the last time step. Finally click with left-button of the mouse on the grid block completed by the injector to generate the plot of temperature vs time for the same block:

../../_images/tut2_im7.png

The CO2 injected warms up the region around the well, which was initially at a temperature of around 35 C. As a consequence, the CO2 around the injector has a lower density and viscosity than those predicted by the isothermal run.

You can visualise the contour plots of gas density and viscosity selecting DGAS and VGAS in the Property Editor of ResInsight:

../../_images/tut2_im8.png ../../_images/tut2_im9.png