Online demos

Research: Very Large Reservoir Visualization

Reservoir Models

In the oil and gas industry, a reservoir model is a three-dimensional computer model of a petroleum reservoir.  The model is used to predict the behavior of the reservoir and make decisions like where to place additional wells.  The model is input to a reservoir simulator which computes the fluid flow in multiple scenarios.

A reservoir model represents the physical reservoir as a volume mesh, which is an array of discrete cells. A typical reservoir model contains millions of cells and some very large models now contain more than one billion cells.  Values for attributes such as porosity, permeability, and water saturation are associated with each cell.  This data comes from multiple sources including seismic surveys, well logs, and core samples. 

Visualization, including feature extraction, is critical for the creation and validation of the reservoir model and also for interpreting the resulting data sets from the simulator.  The visualization of very large models is quite challenging. In addition to the actual model, the visualization challenge is complicated by the need to render many wells with their attributes. In addition to handling well visualization, the Open Inventor library includes classes specially designed to manage large mesh data, quickly extract features such as slices and slabs, and render the resulting geometry at interactive frame rates.

Advanced reservoir simulators are now capable of handling billions of cells up to a trillion cells. But "brute force" management and rendering of reservoir models is limited by CPU/GPU memory and performance on workstations.  This limit is typically only hundreds of millions of cells.  It is possible to handle more using supercomputers or a network of servers in the Cloud, but these solutions are expensive, inconvenient, and may not be interactive. The Open Inventor library is well known in the industry for effectively handling extremely seismic volume data using multi-resolution hierarchical algorithms. In this article, we will describe the result of a Proof of Concept project to apply these techniques to dramatically expand reservoir visualization to more than a billion cells.  There is more work to do before we can release a complete solution, but we are actively seeking partners to collaborate on this effort.  FRBOR.openinventor@thermofisher.com

Reservoir Visualization Challenges

The size of reservoir models is increasing for multiple reasons. The size of post-simulation models was often limited by the capacity of the simulator, but that capacity is now much larger. Reservoir engineers also want to decrease the scale of the model because more detailed models produce more accurate simulation results, but more detailed models contain many more cells.  Oil producers also want to increase the scope of their reservoir models to span entire regions and understand the connectivity between reservoirs.  This also greatly increases the number of cells in the model.

Extremely large reservoir models present multiple challenges including:

  • Data size (disk space)
    A reservoir model can include geometry and topology data (the shape of the reservoir), multiple property data sets, multiple time steps, and multiple scenarios.

  • Data loading time
    Ideally, it should be possible for the user to load and display an initial view of the reservoir within a few seconds.

  • Amount of data that can be loaded in memory
    Very efficient data structures are required to maximize the resolution level and amount of property data that can be loaded.

  • Feature extraction time
    Extraction of features means to generate geometry for the mesh "skin", slabs of cells, etc after applying filters to select specific cells. This must be as fast as possible.

  • Rendering time (interactivity)
    Finally, the user must be able to interactively navigate around the scene (move the camera) and interactively change display options such as the position and thickness of slabs of cells.

 

Our Strategy

We are working to address all of these challenges.  This work uses concepts from our long experience providing interactive visualization of extremely large seismic volumes.  And it builds upon many years of optimization work in both computation (feature extraction) and rendering for reservoir models.  Here are some of the key points:

  • Pre-processing step
    • Convert model to a multi-resolution hierarchy.
      Similar to volume data, this provides many advantages explained in the following points.  Unlike volume data, down-sampling a reservoir mesh must preserve "faults" (discontinuities where neighboring cells are displaced).  This is still a challenge.
    • Pre-compute the mesh connectivity and other data.
      Allows the model to be displayed more quickly after loading.
  • Optimized file format
    • Reduces the time to load the model (less data to transfer).
    • Also reduces the storage required for the model.
    • The current optimizations assume the model is represented as a corner-point (pillar) grid.  This is a very common and useful representation, but additional work is needed to handle other grids.
  • Optimized data structures
    • Reduces the memory required to load each level of the model
    • Open Inventor will automatically load the highest resolution data that will fit in the available CPU memory.
  • Optimized data loading
    • Fast initial display.
      Using the multi-resolution hierarchy, we can initially load a low-resolution version of the model, which allows the user to begin navigating and examining the model very quickly.
    • Asynchronous loading.
      As the user begins to work, we continue loading higher resolution levels of the model in the background (until the CPU memory limit is reached).  As soon as a level is loaded (and features are extracted) the higher resolution appears on the screen.
  • Optimized feature extraction
    • Computation.
      Our algorithms are already highly optimized and  highly parallelized to compute geometry using all available CPU cores
    • Asynchronous extraction.
      We can now do feature extraction using worker threads in the background.  That means, for example, if the user changes the cell filter parameters, the result may not appear immediately, but there is no impact on interactivity.
    • Geometry pre-processing.
      After the actual feature extraction, an additional step in the worker threads optimizes the computed geometry and loads it into GPU memory, so there is no delay when beginning to render the new feature.
  • Optimized interactivity
    • Navigation
      If interactivity is limited by rendering speed (too many triangles) Open Inventor can temporarily switch to a lower resolution version of the model while the camera is moving.
    • Interaction
      When the user is interacting with a specific feature, for example, a slab of cells, Open Inventor can temporarily switch to a lower resolution version of that feature and keep the rest of the model at the higher resolution.  This is beneficial because the feature extraction (required as the slab moves through the model) is much faster on lower resolution data.

 

Interaction example: Slab at high resolution (static scene)

Interaction example: Slab at lower resolution while interacting

 

Initial Results

Here we show the results obtained so far for a model with 200 million cells on a laptop machine.  The technology is scalable to much larger models and has been demonstrated on a model with 1 billion cells.  But this requires a powerful workstation (or server).  The 200 million cell results confirm that this technology improves the user experience even for merely "large" models and even for modest hardware.

200 Million cell model - mesh outline plus 3 slabs:

 CurrentNewFactor
 File size 9.5 GB  2.5 GB  3.8x 
 CPU memory 16 GB  4.5 GB  3.5x 
 Load time 11 sec  6 sec  1.8x 
 Time to first image      53 sec  17 sec  3.1x 

 

Summary

The initial results are very promising and suggest that an effective solution is possible for very large reservoir models on standard workstations and servers.  There is much more work to do before we can release a complete solution, but we are actively seeking partners to collaborate on this effort.  FRBOR.openinventor@thermofisher.com 

 

200 Million cell example: