Specifying initial conditions for layered reservoir



I am trying to model CO2 injection in stratified saline aquifer reservoir. I have to provide initial conditions for my model considering hydrostatic pressure gradient and geothermal temperature gradient. I can obtain the initial hydrostatic pressure values by running the model with single pressure value for all layers (without wells) to obtain the hydrostatic pressure distribution. However for initial temperature, I have to specify the initial temperature for every layer manually. I would like to know if there is function/code in python that can specify  initial temperature for every layer directly.


Thanks in advance.

7replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • is there any pattern to the temperature distributions, or do you want to have the ability to impose arbitrary temperatures to initialize your simulation?  If the former, there may be tricks to run TOUGH to get the effects you want.  If the latter, I’d suggest one of the preprocessors, like toughio developed by Keurfon Luu

  • I have a geothermal gradient of 0.025 dec/m for stratified reservoir (30 grids in z-direction). So I have initial estimate of the temperature for every grid in z-direction.

    • Refaat G Hashish have you considered setting the temperature of the top and bottom boundary elements?  For example, if you have 30 10-m thick layers, and you want to keep that gradient, you could set the temperature of the top of your domain to, e.g., 50 degrees C and the bottom to 50 + 0.025 deg/m * (300 m) = 57.5 degrees C.  It should work in a similar way to how you set up the hydrostatic pressure gradient.

  • Do I need to specify large grid volume for the upper and lower layers to keep temperature there constant during initialization? I expect after initialization that temperature at upper layer will be higher than 50 degrees C and the temperature of the bottom layer is lower than 57.5 degrees C. Am I right?

    • Refaat G Hashish Yes you would put a large boundary element at both the top and bottom.

    • Mikey Hannon I think I also need to decrease the nodal distance for both layers. Do you know simple code for modifying the nodal distance for uppermost and lowermost layers using toughio? 

    • Refaat G Hashish There are many ways to do that.  I'm sure that toughio can handle it, but you could also do it by hand by smart search and replace features in a text editor, or you could go with the ancillary code AddBound, which you can find here.  When you run it, it takes you through some straightforward questions on how to set it up.  What I typically do is create an extra layer of elements above and below the top and bottom active elements, respectively.  This code can replace all of those elements with a single boundary element, whose volume and nodal distance you specify.

      Like 1
Like Follow
  • 8 mths agoLast active
  • 7Replies
  • 36Views
  • 2 Following