Research Report

Reservoir Compartmentalization

Fractured Reservoir Discrete Feature
Network Technologies

A Project of
Fundamental Geoscience
Research and Development
BDM-Oklahoma
U.S. Department of Energy
National Oil and Related Programs

Contract Number #G4S51728

Prepared by:
Paul R. LaPointe
William S. Dershowitz
Todd Foxford

Golder Associates Inc.
Redmond, Washington

February 14, 1997
963-1357.521
0212PRL1.DOC


ABSTRACT

This report presents theoretical development, implementation, verification, and a practical application of a series of new technologies for characterization and design of fractured reservoirs. The technologies are based on a synthesis of discrete fractureeature network (DFN) modeling with techniques of computational geometry including graph theory and convex hulls. Quantitative procedures are described for calculation of fractured reservoir compartment size and shape, tributary drainage volume, and matrix block size. The procedures will facilitate significant improvements in well field design, well completion, and enhanced oil recovery. The procedures were demonstrated using data from Tract 49 of the Yates, West Texas field.


TABLE OF CONTENTS

1. INTRODUCTION
1.1 Overview
2. BACKGROUND
2.1 Discrete Fracture Network Approaches
2.2 Graph Theory
2.3 Convex Hull Theory
2.3.1 Representation of Discrete Fracture Objects as Points
2.3.2 Convex Hull Theory for Points in Space
3. COMPARTMENTALIZATION ANALYSIS
3.1 Theoretical Development
3.1.1 Compartment Size and Shape
3.1.2 Steam Compartmentalization
4. DRAINAGE VOLUME ANALYSIS
4.1 Theoretical Development
4.2 Verification
5. BLOCK SIZE ANALYSIS
5.1 Theoretical Development
5.1.1 Multi-Directional Spacing Distribution Algorithm
5.1.2 Convex Hull Algorithm
5.2 Verification
6. COMPARTMENTALIZATION ANALYSIS CODE FraCluster
6.1 FraCluster Features
6.2 FraCluster User Interface
6.3 Command Summary
6.3.1 File Menu
6.3.2 Edit Menu
6.3.3 View Menu
6.3.4 Analysis Menu
6.3.5 Windows Menu
6.3.6 Help Menu
6.4 FraCluster Walk-through
7. APPLICATION TO YATES FIELD DATA
7.1 Reference Discrete Fracture Network
7.2 Compartmentalization Analysis
7.3 Drainage Volume Analysis
7.4 Block Size Analysis
8. CONCLUSIONS

LIST OF TABLES

Table 3-1 Calculation of Volume and Horizontal Extent for Hypothetical Model
Table 4-1 Drainage Volume Algorithm, Test Case 1
Table 4-2 Expected Errors for Drainage Volume Algorithm, Test Case 1
Table 5-1 Block Size Algorithm Test Case Theoretical Values
Table 5-2 MDS and CH Block Size Algorithms
Table 6-1 FraCluster Analysis Sequence
Table 6-2 BAB/DCM Discrete Fracture Network File Format
Table 6-3 Exploration Object Format (*.SOB)
Table 7-1 Yates Field Reference DFN Fracture Zone Model
Table 7-2 Statistics for Reservoir Compartments by Convex Hull Algorithm
Table 7-3 Block Size Statistics from MDS Algorithm
Table 7-4 Block Size Statistics from Convex Hull Algorithm

LIST OF FIGURES

Figure 2-1 Connectivity, Scale Effects, and Heterogeneity in Fractured Rock
Figure 2-2 Problems with the Equivalent Conductivity Approach
Figure 2-3 Stochastic Continuum Fields
Figure 2-4 Discrete Fracture Network Model
Figure 2-5 Continuum and Discrete Feature Topologies
Figure 2-6 Examples of Discrete Geological Features
Figure 2-7 Statistical DFN Models
Figure 2-8 Geological DFN Models
Figure 2-9 Dual Porosity Flow in DFN
Figure 2-10 Graph Theory
Figure 2-11 Mapping of Fractures to 1D Elements
Figure 2-12 Pipe and Plate Effective Path Representations
Figure 2-13 Adjacency Matrix and Adjacent Lists
Figure 2-14 Point Representation of Discrete Features
Figure 2-15 Convex Polygons
Figure 2-16 Convex Hall Algorithm
Figure 3-1 Production from Compartmentalized Reservoir
Figure 3-2 Compartmentalization of Intensity Fractured Reservoir
Figure 3-3 Fractures in Bounding Box
Figure 3-4 Convex Hull by Quick Hull Algorithm
Figure 3-5 Horizontal Plane Projection of Convex Hull
Figure 3-6 Importance of Compartment Size for Well Pattern Optimization
Figure 3-7 Compartment Shape Measures
Figure 4-1 Tributary Drainage Volume by Convex Hull
Figure 4-2 Tributary Drainage Volume by Slab Algorithm
Figure 4-3 Double Counting by Slab Algorithm
Figure 4-4 Grid Cell Algorithm
Figure 4-5 Drainage Volume Test Case 1
Figure 4-6 Drainage Volume Test Case 2
Figure 4-7 Tributary Drainage Volume vs. Prism Thickness
Figure 5-1 Common Block Shape Idealizations
Figure 5-2 Dershowitz (1990) Block Size Algorithm
Figure 5-3 Multi-Directional Spacing Algorithm
Figure 5-4 Complex Hull Block Size Algorithm
Figure 5-5 Block Size Test Cases
Figure 5-6 Block Size Distribution for Test Case 2
Figure 5-7 Cross Section Through Test Case 3
Figure 6-1 FraCluster Main Menu
Figure 6-2 FraCluster Views
Figure 6-3 FraCluster Exploration Objects
Figure 6-4 FraCluster Analysis Settings
Figure 6-5 Compartmentalization Analysis
Figure 6-6 Tributary Drainage Volume Analysis
Figure 6-7 Matrix Block Analysis
Figure 6-8 Information and Licensing Screen
Figure 7-1 Yates Reference Case
Figure 7-2 2D View, Yates Reference Case
Figure 7-3 Stereoplot of Fractures, Yates Reference Case
Figure 7-4 Compartment Analysis for Yates Reference Case
Figure 7-5 Estimated Tributary Volume vs. Drainage Distance
Figure 7-6 Distribution of Block Volume, MDS Algorithm
Figure 7-7 Distribution of Surface Area, MDS Algorithm
Figure 7-8 Distribution of s Factor, MDS Algorithm
Figure 7-9 Distribution of Z-Dimension, MDS Algorithm
Figure 7-10 Distribution of Block Volume-Convex Hull Algorithm
Figure 7-11 Distribution of Surface Area-Convex Hull Algorithm
Figure 7-12 Distribution of s Factor-Convex Hull Algorithm
Figure 7-13 Distribution of Vertical Block Dimensions-Convex Hull Algorithm

1. INTRODUCTION

1.1 Overview

This report describes research carried out to develop advanced technologies to improve oil production from fractured and compartmentalized reservoirs. Three technologies are described:

All three of these technologies are built upon the common foundation of discrete feature analysis (Dershowitz et al, 1992) together with graph theory (Wilson, 1985) and computational geometry (Sedgewick, 1990). This report describes the theoretical development of reservoir compartmentalization analysis technologies, the implementation of these technologies, and test cases which verify the usefulness of the algorithms.

The research report is organized as follows. Chapter 2 presents the common theoretical background for the new reservoir compartmentalization technologies. Chapters 3, 4, and 5 provide details about analysis approaches for reservoir compartmentalization, drainage volume, and matrix block size, respectively. Each of these chapters includes sections on theoretical development and verification. Chapter 6 describes the implementation of these technologies in the program, "FraCluster." Chapter 7 presents applications to the Yates field study site in West Texas. Conclusions are provided in Chapter 8.


2. BACKGROUND

In a fractured reservoir, a well produces from the fracture network intersecting the well, and from the matrix that feeds into the fracture system. Many, if not most, fractured reservoirs contain fracture networks that are compartmentalized to some extent. This compartmentalization is due to both the geometry of the fractures, and to the fluid flow properties of individual fractures. As a result, production from a well or zone in a well is limited to the fracture network(s) to which it is connected, and to the matrix that can feed into the fracture system by means of pressure-depletion or gravity drainage.

This report focuses on the development of quantitative measures of reservoir compartmentalization in terms of parameters which can be readily applied to reservoir engineering. The measures developed address:

These quantitative measures of reservoir compartmentalization have the potential to provide significant improvements to fractured reservoir production. For example, estimating the horizontal cross-section of reservoir compartments is useful for

However, measures such as the horizontal cross-section of reservoir compartments do not directly describe how much hydrocarbon might be produced. For example, in a fractured reservoir in which oil flows from the matrix into the fractures by means of pressure-depletion, the volume of oil is related to the pressure differential, the surface area of the fracture network, and the volume of matrix accessed by this network. During steam injection, the movement of the condensation front through time, which describes how effectively the matrix is being heated by the injected steam, is both a function of the network connectivity and the multiphase fluid properties of the fractures in the network.

All of these three aspects of fracture network compartmentalization share the need to quantify fracture network connectivity and the amount of matrix "accessed" by the fracture network.

The following sections in this chapter provide the theoretical background of three technologies which provide the basis for the quantitative measures of compartmentalization developed in Sections 3, 4, and 5. The tools described are:

2.1 Discrete Fractureeature Network Approaches

La Pointe et al. (1996a) demonstrated that when flow is controlled by discrete fractures of a range of sizes, it is frequently not possible to generate effective continua which have the same (a) connectivity, (b) scale effects, (c) heterogeneity, and (d) mass transport pathways as the in situ rock mass (Figure 2-1). Figure 2-1a shows how the probability that a fracture network connects one side of a rock block to the opposite side changes as a function of block size. As La Pointe et al. (1996a) demonstrated, the size distribution of the fractures relative to the block size, the orientation of the fractures and the spatial location model for the fractures all contribute to making fracture connectivity scale in ways different than a stochastic continuum does.

Likewise, the effective permeability of fractured rock blocks scales as a nonlinear decreasing function of block size, unlike a stochastic continuum (Figure 2-1b). Moreover, a hallmark of a continuum is that all portions of the continuum are connected to one another, while in a discrete fracture network, this is not always the case (Figure 2-1c). It is analogous to the difference between air travel and rail travel. It is possible to fly between any two points in a plane, but trains are confined to travel by the network of rails. Thus, the considerable research on describing the equivalent permeability and anisotropy of fractured rocks (see, for example, Long, 1983; 1995; Sahimi, 1994) misses the point.

It is of course possible to derive equivalent permeability and anisotropy properties, since these reflect merely the total flow divided by cross-sectional area. However, this "equivalent permeability" will be correct only for the scale and location considered, and will not be useful for extrapolating to different rock scales. For example, the separation distance between two locations in a fracture flow system is more meaningfully characterized by the pathlength between them. This path might be very tortuous, such as the E® D® C® I® J shown in Figure 2-2. Although the ends of fractures E and J are very close, on the order of 2m, the shortest fracture path connecting them is on the order of 50m. More importantly, none of the 10 m blocks shown in Figure 2-2a have a fracture pathway connecting the top and bottom sides of the block.

From a continuum standpoint, there is no effective permeability in the up-down direction at the 10 m block scale. However, there exist pathways from top to bottom at the 30 m scale. Figure 2-2b shows an opposite situation, in which there is effective permeability at the 10 m scale, but none at the 30 m scale. This is impossible to represent in a continuum, since if there is effective permeability for the 10 m blocks, then assembling them into a 30 m block would produce a block with non-zero permeability from top to bottom.

Another problem is the spatial correlation structure of the block-scale permeability. While it is possible to define stochastic continuum fields from the spatial pattern of effective permeability, it is not possible to uses variograms to re-construct those flow fields (Figure 2-3). This is because variograms and simulation methods based upon them assume permeability is a continuous variable, and that the relative magnitude of permeability difference between two locations in the reservoir is an increasing function of relative separation distance. Inherent in this concept is a Euclidean distance metric which is not always a good description of fractured reservoirs. A Euclidean metric is one in which the separation distance between two measurements is the straight-line (Euclidean) distance between them.

Thus it is necessary to describe fluid flow in fractured reservoirs directly in terms of the pattern of discrete conductive fractures which carry that flow to the production wells (Figure 2-4). This requires a technology capable of:

  1. generating discrete fractures with geometry and properties consistent with observations in wells and interference tests
  2. generating stochastic fields to represent the conductive fractures which can only be described statistically or geologically based on geological, geophysical, and geochemical data
  3. analyzing flow and transport patterns within networks of intereconnected discrete fractures and between discrete fractures and matrix blocks.

These technologies are provided by discrete fracture network generators, which have been available commercially for over 10 years (Dershowitz, 1979; Dershowitz, 1984; Robinson, 1984).

The fundamental aspect of discrete fracture technology is the ability to treat conductive fractures as objects, and to describe the three dimensional field in terms of the connectivity of those objects. Thus, while a conventional continuum approach is limited to topologies which are space filling (Figure 2-5a), discrete fracture network (DFN) approaches can be used for any combination of fracture geometry (Figure 2-5b).

Figure 2-6 (a, b, and c) presents a summary of discrete objects which can be included in DFN analyses. These objects include features such as solution channels, faults, crevasse splays and folds. The pattern of features in a discrete feature network model determines their behavior. As a result, the key to correct analysis is the use of appropriate geological and geometrical conceptual models (Dershowitz et al., 1992). Example spatial models are shown in Figures 2-7 and 2-8. Figure 2-7 presents statistical models based on Stochastic Processes (Baecher, Bart), Fractal Processes (Levy Lee, Box Fractal, and POCS Fractal), globally or locally stationary Geostatistics (Nearest Neighbor, Turning Bands), and Empirical Processes (War-Zone). More information on these models can be found in, for example, Geier et al. (1987) or Dershowitz et al. (1996). Other discrete fracture models (Figures 2-7f, 2-8) are based more directly on geological information (for example, La Pointe, 1996; Swaby and Rawnsley, 1996).

The derivation of appropriate parameters for discrete fracture models is described in Dershowitz et al. (1993). Once a DFN model has been generated, it can be analyzed by directly simulating flow and transport in the network. Doe et al. (1990), for example, illustrate the simulation of dual porosity flow in a DFN (Figure 2-9). Alternatively, many key aspects of flow and transport behavior can be described directly from the fracture geometry, as developed in Chapters 3, 4, and 5.

2.2 Graph Theory

In order to analyze fracture network compartmentalization, it is first necessary to determine a method for describing the network connectivity. Methods adapted from graph theory offer an attractive way for describing fracture networks for subsequent mathematical analysis.

Graph theory focuses on the analysis of the properties of graphs. The mathematical definition of a graph in its simplest form is a construct of nodes and edges (Figures 2-10). Nodes are points or locations in space, and may have scalar values associated with them. Edges are lines that connect nodes, and these may also have properties such as direction and magnitude. Graphs which have scalar values associated with edges are termed weighted graphs. While this formulation may appear to have little in common with fracturing in rock, it actually contains the essential elements of fracture flow.

The assemblage of nodes and edges form networks. The topology of networks in graph theory is very similar to the topology of connected fractures in reservoirs. Fracture intersections are similar to nodes, while the portions of the fractures between intersections are similar to edges. The primary difference between a graph and a fracture network is that fractures intersect along lines, not at points, and the portion between the intersection lines is a two-dimensional polygon, not a line (Figure 2-11). However, it is possible to represent the connective structure of the network as a graph of nodes and edges by selecting the centroid of each intersection line and treating it as a node, and to connect the centroids of two intersection lines as an edge. The edge can be given a scalar value relating to effective fluid flow parameters for different types of conduits, as shown in Figure 2-12. In this manner, the entire fracture network is processed into a graph, in which nodes represent fracture intersection line centroids, and edges represent the effective properties between connected fractures.

The connectivity of a graph is typically represented in one of two ways: as an adjacency matrix, or as an adjacency list (Sedgewick, 1990). This representation is illustrated in Figure 2-13. In an adjacency matrix, (Figure 2-13c), connections between nodes are represented as "1’s". The advantage of this data structure is that it is very efficient for computing paths through the network and their properties. However, for large fracture networks, memory requirements may be very large.

An alternative way to represent connectivity is through an adjacency list (Figure 2-13d). An adjacency list requires much less storage space, but us less efficient for computations. Because discrete fracture networks in 3D may include thousands of fractures, the adjacency list representation was implemented to optimize the use of available memory.

2.3 Convex Hull Theory

The Center for the Computation and Visualization of Geometric Structures at the University of Minnesota (CCVGS, 1997) defines a convex hull as follows:

"The convex hull of a set is the smallest convex set containing it. Alternatively, it is the intersection of all the convex sets containing it."

This means that a convex hull for a set of objects is the smallest convex object which contains all of the objects. Thus, for the present case of discrete fracture networks, the convex hull of interest is the smallest convex object which can encompass all portions of an individual DFN model. While it is possible to define convex hull algorithms directly in terms of objects such as polygons and polyhedra to represent discrete conductive fractures, most of the efficient convex hull algorithms which have been developed are designed for calculations when the convex sets contained are sets of points. The convex hull application to analysis of DFN models can therefore be considered in two portions:

2.3.1 Representation of Discrete Fracture Objects as Points

For the purpose of convex hull calculations, the most efficient set of points for description of discrete fractures is the set of points which represent the extremes of the object. Thus, every discrete fracture object can be represented for this purpose as points on its periphery (Figure 2-14a). The greater the number of points used, the more accurate the convex hull will be. For the current example, discrete fractures are represented as polygons. The set of points which form the basis of the convex hull is the set of all the vertex points for all of the fractures in the fracture network being analyzed (Figure 2-14b).

This approach can be readily generalized to other discrete fracture object shapes, since in all cases the set of vertices represent the extreme locations of convex shapes. By definition, no portion of these objects can extend further than the points which define the vertices.

2.3.2 Convex Hull Theory for Points in Space

Computer scientists have devoted considerable effort to efficiently compute convex hulls for point sets in space (Barber et al, 1996). For three-dimensional problems, a convex hull is a convex polyhedron defined to enclose a particular set of points. The polyhedron is convex if any line connecting any two points inside the polyhedron itself lies entirely within the polyhedron. Analogous two-dimensional examples of convex and non-convex polygons are shown in Figure 2-15.

A convex hull is a particular type of convex polyhedron. The convex hull is defined as the smallest convex polyhedron containing all of the data points (O’Rourke, 1994). This condition is equivalent to the definition of the hull as the shortest path traversing the data set. This latter definition is a description using terms from graph theory (for a lucid discussion of this problem, see Sedgewick, 1990).

A number of different algorithms have been proposed for computing the convex hull of a data set in three dimensions. After evaluation of several different methods, the Quickhull algorithm (Barber et al., 1996) was selected. The algorithm efficiently generates convex hulls in three dimensions, is well-documented, and has been implemented in the program Qhull which is available in source code from the Geometry Center of the University of Minnesota (Barber et al., 1993; CCVGS, 1997). Qhull was developed under National Science Foundation grants, and may be freely used for projects such as the current effort. Qhull is a general dimension convex hull program that generates a convex hull from any set of points in n-space.

Figure 2-16 presents a flow chart of the Qhull algorithm. The input to Qhull is the set of points in n-space (in the case of a fractured reservoir, 3-space). Qhull begins by building a convex hull from a small subset of the points. The algorithm then partitions the points into those inside or outside the hull, and ignores the inside points. While conventional hull algorithms next chose a random point to extend the hull, Qhull determines the point which is furthest from the hull. To do this, Qhull assigns every point outside the hull to a facet (face) of the hull using geometric rules. Qhull then quick-sorts these by distance from the facets, and uses the furthest point. In this process, Qhull has already determined the facets visible from each point, making it easy to replace the facets visible from the selected point by a cone to the point. Qhull then updates the assignment of points to facets, selects a new "furthest" point, and repeats the process.


3. COMPARTMENTALIZATION ANALYSIS

Compartmentalization in reservoirs where fractures dominate permeability often leads to wells that produce at different rates and volumes than expected (Figure 3-1). Within compartments, pressure communication can be nearly instantaneous, while nearby wells in different compartments may have very little communication. This situation can lead to several undesired consequences, among them, unanticipated interference among wells, reduced recovery efficiency, and increased production uncertainty. Estimating the degree of compartmentalization is important at all stages of field development in order to properly engineer the field and to provide realistic recovery estimates and rates for financial decisions.

Compartmentalization may be due to several factors: fault offset of the producing horizon; the existence of high permeability sub-vertical faults that form barriers to lateral migration; the reduction in permeability of fractures due to mineralization; and the natural geometrical clustering of joint and smaller fault networks when matrix permeability is low. In terms of thermal recovery projects, there is an additional type of compartmentalization that is dynamic. Injected steam loses heat to the matrix and condenses. This condensation "front", which may be less of a definable surface than it is a series of fingers reaching out from the well along fracture paths, forms the steam "compartment". Knowledge of the shape and extent of this compartment is crucial to optimizing production. It is a combination of the natural geometrical compartmentalization of the fracture networks, and the ability of the fractures in the networks to exchange heat with the matrix. The geometry of the fracture networks places constraints on the steam compartments; the steam compartments can never be bigger than the networks themselves.

It is usually possible to identify large-scale fault-bounded reservoir compartments from seismic or production histories. It is far more difficult to assess the compartmentalization due to joint network geometry and connectivity, for which seismic is of little use. Fracture network compartmentalization is often suspected when static and dynamic calculations of recoverable oil or gas do not agree, and their is no evidence for fault-offset or others types of fault-related compartmentalization in a fractured reservoir.

For this reason, two approaches have been developed and are being evaluated to address the more general problem of joint network compartmentalization for non-thermal applications, and also to extend the calculation for steam injection applications.

Figure 3-2a shows a hypothetical discrete fracture network, with an apparent high density of fracturing. However, not all fractures are interconnected. Rather, the fractures form distinct clusters or compartments, as illustrated in Figure 3-2b. Most of the wells shown in the model intersect a different cluster. In other words, these wells could only communicate with each other through the matrix. If this were a field, it would be important to determine the volumes of these compartments, which ultimately relates to the amount of hydrocarbon that a well can produce, and the horizontal dimensions of these compartments, which relates to optimal well spacings and the efficiency of primary or secondary recovery for a specified well pattern.

3.1 Theoretical Development

The computation of the volume and horizontal extent of joint network compartments is a three-step process:

  1. Identify individual fracture networks within the DFN model
  2. Compute the bounding surface for each identified network
  3. Calculate the volume of the bounding surface and the horizontal extent of the network

The identification of the individual fracture networks is a straightforward process for which robust algorithms have been developed. After the DFN model has been created, the intersections among the fractures are calculated. This leads to a symmetrical matrix of "1"’s and "0"’s, where "1" indicates an intersection, which is represented as an adjacency list or matrix (see Figure 2-13). This connectivity matrix is then searched beginning with fracture number 1 in a standard tree search. This search process is repeated for all fractures that do not belong to any previously identified cluster until all fractures in the model have been processed. The results of this first step are saved as a list of fractures belonging to each cluster.

The second step is the calculation of the bounding surface for each cluster. Each network may be irregular. A simple approach for this would be to compute the "bounding box" for a network, and use this box volume and horizontal cross-section as surrogates for compartment volume and horizontal extent (Figure 3-3). However, this would lead to an overestimation in most cases of both volume and cross-section. This in turn would produce overestimates of the ultimate recovery from wells, and suggest greater well spacings and recovery efficiencies than would actually be the case.

To reduce the potential for overestimates, it is necessary to calculate a bounding surface that better approximates the outer limits of the network. A convex hull, as described in Section 2.3 above meets these requirements.

Figure 3-4 shows an example three-dimensional convex hull calculated using the QuickHull algorithm and the Qhull software package (Barber et al., 1996). This figure illustrates that the convex hull can frequently be very different (and much more accurate) than a bounding box.

The final step is to compute the volume and cross-sectional area of each hull. This is easily done. First, Qhull contains options to compute the volume of the hull, and to output the coordinates of vertices belonging to the hull. From these vertices, it is possible to compute another convex hull which represents the horizontal extent (Figure 3-5).

For vertical wells, the probability of whether the well will intersect the cluster (given that the well will be drilled deeply enough to intersect the cluster if the cluster lies under the well) does not depend upon the Z-coordinates of the cluster. The intersection probability is only a function of the X- and Y-coordinates. The shape and area of this horizontal extent is easily determined by calculating the two-dimensional convex hull of the (X,Y) data points belonging to the three-dimensional convex hull that bounds the network cluster. This algorithm can easily be extended to non-vertical wells by projecting the coordinates of the three-dimensional hull onto a plane that is perpendicular to the well trajectory.

Results for the volume and horizontal extent for the hypothetical model are shown in Table 3-1.

Table 3-1 Calculation of Volume and Horizontal Extent for Hypothetical Model

Volume (m3) 156,789
Horizontal Area (m2) 4369.0
Bounding Box (m3)

81.0 x 82.4 x 36.1

Hull/Bounding Box 65%

 

3.1.1 Compartment Size and Shape

Description of compartment size and shape is important for fractured reservoir engineering because it influences how efficiently a pattern of wells produces a reservoir. For example, if a field is drilled on 160-acre spacings, but the compartments are much smaller (Figure 3-6a), then there may be reservoir compartments which are not accessed by the production wells, reducing field recovery. An infill drilling program will access previously untapped compartments, and may be cost-effective, depending upon the ultimate production per well and the marginal cost of the well. On the other hand, if compartments are considerably larger than the well spacing, then infill drilling may not be cost-effective (Figure 3-6b). Likewise, the efficiency of water or steam floods is effected by reservoir compartmentalization.

Shape is also important, since compartments are rarely equant all directions (for example, see Dershowitz et al., 1996b). This anisotropic shape is due to the fact that fractures in reservoirs typically have two or three preferred orientations. If they are of sufficient size and intensity to create regionally connected networks, then they tend to form networks that are elongated in a predictable fashion (La Pointe et al., 1984). Figure 3-6 shows a hypothetical example in which fracture network compartments are elongated northeast-southwest.

Compartment shape and size are described by several different parameters (Figure 3-7):

Statistics on compartment volume make it possible to estimate what proportion of the reservoir is accessed through the fracture system connected to a specific well pattern. The ratio between fracture surface area and matrix, termed P32 (Dershowitz and Herda, 1992), measures how effectively the fractures access the compartment. The higher the ratio, the closer a greater volume of the matrix is to the fracture conduits. In a fractured reservoir with a low-permeability matrix, pressure depletion will mobilize more oil for a higher P32, other parameters being equal.

Compartment cross-sectional area and shape provide information on well pattern efficiency. If the compartment is thought of as the drilling target, then it is beneficial to know the shape and size of that target. Shape is defined by two parameters: aspect ratio and orientation. The aspect ratio is ratio of Lmax to Lmin, as shown in Figure 3-7. The minimum and maximum directions need not be orthogonal. The aspect ratio for compartments may be summarized in a rosette diagram like the one shown in Figure 3-7, where aspect ratio is plotted as a function of the orientation of the direction of maximum elongation. The shape is additionally defined by a second rosette which shows the frequency of the direction of maximum elongation as a function of orientation. Together with the area statistics, these three graphs define the compartment cross-sectional shape. The mean area relates to the optimal well spacing. The anisotropy ratio describes whether the wells should be laid out in a square pattern or some other pattern. The elongation frequency rosette indicates what the direction of grid alignment should be.

3.1.2 Steam Compartmentalization

The compartmentalization defined by the condensation front of injected steam is a dynamically-changing process. As the matrix heats up with time due to steam injection, the condensation front moves downstream into new fractures. Not all of the matrix encompassed by the fracture compartment defined by fracture geometry is immediately heated by injected steam. Factors such as the conductivity of the fractures, their surface area, and the adjacent rock temperature gradient influence this process.

While it is not possible to carry out a detailed, dual-phase, dual-porosity simulation of this process for large fracture networks, it is possible to capture first-order effects of this process for the purposes of estimating steam compartmentalization.

The algorithm builds upon the geometrical clusters identified in the previous steps. To evaluate the rate and shape of compartment growth, a well is inserted into one the of geometric network clusters. Heat "particles" are injected into the well in the same way that tracer particles are injected in particle-tracking schemes in groundwater flow modeling codes. Miller et al. (1995) describe the MAFIC code which carries out this type of particle-tracking simulation for tracers. The equations for tracer transport and heat transport (as hot water) are identical, except for the need to have heat capacity for the fracture and a heat capacity for the effective bulk matrix. To simplify the process, diffusive transport within the fracture flows is neglected. This assumes that the dominant mechanism for heating the matrix is conduction of heat from the fracture to the matrix, and that other heat transfer mechanisms are less important.

In this initial effort, overburden heat losses are ignored. Eventually, it may be necessary to modify the algorithm to represent conduction of heat into semi-infinite media to account for this heat loss mechanism.

This algorithm represents a first stage in modeling steam compartment formation through time. Clearly, flow of condensing steam is not the same as flow of an incompressible, single phase fluid, but the single-phase approximation used in this algorithm is a reasonable starting point to learn about heat transfer in a complicated discrete fracture network. In reality, as steam condenses in the fractures, the velocity of flow changes due to steam collapse and density contrasts near the periphery of the steam zone. It may be possible to use an effective viscosity approach to model the moving steam in a way that accounts for the change in steam quality with distance. The effective viscosity would depend upon steam quality, which in turn, is a function of the heat balance along the fracture.


4. Drainage Volume Analysis

Tributary drainage volume is related to both block size and compartmentalization. Tributary drainage volume is the estimated volume of matrix that a fracture system intersected by a well or perforated zone can produce. In those reservoirs in which the matrix provides the storage, and the fracture system the reservoir permeability, the amount of hydrocarbon that can be produced is a function of the fracture network connectivity and geometry. This tributary drainage volume is therefore important for:

In a reservoir where the dominant flow pathways are defined by fractures, the tributary drainage volume is the volume of matrix which can be accessed by fractures connected to a well. Thus, the tributary drainage volume is in large part a geometric calculation based on discrete fracture geometry, and does not necessarily require transient multiphase flow and transport modeling in order to obtain first-order estimates. Tributary drainage volume is related to (1) the geometry of the discrete fracture network connected to the well, (2) the volume of oil-bearing rock associated with the discrete fractures, and (3) the pressure difference between the fracture and the matrix. The pressure differential coupled with the fluid flow properties of the matrix determines how deeply into the matrix oil can be mobilized and driven to the fractures which serve as a collector system. The algorithm developed to address tributary drainage volume builds from the common foundation of compartmentalization analysis described in the previous section by extending the analysis to estimate the mobilized matrix volume associated with the fracture network.

4.1 Theoretical Development

The algorithm developed to compute the tributary drainage volume is divided into two steps:

  1. Identify the fracture networks connected to a well or perforated zone(s) of interest;
  2. Estimate the volume of matrix that could be produced.

Step 1 utilizes the algorithm developed for compartmentalization analysis, as described in Chapter 3 above. As in the compartmentalization algorithms, it is possible to process the discrete fractures in a DFN model to identify those which are connected to a well or a portion of a well.

There are different ways that might be used to accomplish Step 2. If the fracture network were very dense, then the volume of the matrix accessed by the fracture network will be closely approximated by the volume of the convex hull enclosing the network, with a small addition to reflect the volume of rock outside of the hull. In essence, this means that the compartment volume is equal to the tributary volume (Figure 4-1).

In less dense fracture networks, some or maybe a significant portion of the volume inside the convex hull will be too far from any of the fractures to be easily produced. For this case, an algorithm is needed which addresses the distance into the matrix that oil can be mobilized and drained into the tributary fracture network.

Figure 4-2 illustrates an approach to calculation of the tributary drainage volume which does not include portions of the matrix that might not be efficiently produced through pressure depletion mechanisms. In this approach, each fracture in a network is surrounded by a polygon that is calculated from the area of the fracture and the distance away from the fracture over which drainage might be effective. This leads to a prism that encloses the fracture. For pressure depletion mechanisms, the fracture forms the midplane of the prism. The thickness of the prism is a function of the pressure differential between the fracture and the matrix, and the flow properties of the matrix.

An obvious problem with this algorithm is to avoid double-counting the volume where there is overlap between the prisms (Figure 4-3). Calculations based upon solid geometry to compute the volume while accounting for the overlap are time-consuming for the number of fractures that might commonly be encountered in a fracture network. A simpler method has been devised which is much more efficient, though not as numerically exact (Figure 4-4).

The prism enclosing each fracture is approximated by a series of cells that are referenced to a global coordinate system. All of the cells whose centers lie within the prism are said to belong to the prism. Initially, all cells have the value of "0". Each fracture is processed in turn, and all cells belonging to the fracture prism are incremented by the value "1". If a cell belongs to more than one fracture prism, then its counter is incremented to a number equal to the number of prisms it belongs to. After all of the fractures are processed, the total number of non-zero cells multiplied by the cell volume is taken as the estimate of the tributary volume.

(4-1)

where d (i) is the Dirac function which is equal to 1.0 if the cell has a value greater than 0.0, and is set to 0.0 if the value in the cell is 0.0,

n is the number of cells, and

are the cell dimensions.

The accuracy of this algorithm depends on the discretization (dx,dy,dz) used in the calculation

4.2 Verification

An example of this calculation for a simple, verifiable test case is shown in Figure 4-5. The model consists of three horizontal fractures with partial horizontal overlap. Expected and actual results for this test case are shown in Table 4-1.

Table 4-1 Drainage Volume Algorithm, Test Case 1

Case 1

(half-thicknesses, in meters)

Expected Volume (m3)

Tributary Drainage Volume Algorithm (m3)

Percent Difference

1.0 600 600 0.0%
2.0 1000 1000 0.0%
8.0 3400 3400 0.0%

 

These series of verification cases are simplistic, but demonstrate that the algorithm correctly computes the volume and does not double-count when the tributary fracture volumes overlap. The reason for the exact match between expected and predicted volumes is that the fractures are horizontal, making the prisms exactly approximated by a series of stacked cells, and the cell size (1.0 m cubes) were evenly divisible into the prism thickness. For example, if a cell size of 3 m were used, then the algorithm would be expected to underestimate the volume. The predicted underestimates and the actual results are shown in Table 4-2.

Table 4-2 Expected Errors for Drainage Volume Algorithm, Test Case 1

Case 1

(half-thicknesses, in meters)

Expected Underestimated

Volume (m3)

Tributary Drainage Volume Algorithm

(m3)

Percent Difference with True Volume

1.0 567 567 -5.5%
2.0 972 972 -2.8%
8.0 3240 3240 -4.7%

 

These cases verify that the algorithm functions as intended, and shows that a poorly chosen cell size can lead to a mis-estimation.

Test Case 2 is defined for demonstration purposes, because there is no analytical solution for the case of incompletely constrained blocks in discrete fracture networks. Test Case 2 is defined using the fracture geometry for fractures connected to a vertical well drilled in the center of a rock block (Figure 4-6). Results are reported for estimates of the tributary drainage volume for different values of prism thickness surrounding the fracture. This might correspond to, for example, the increasing volume of matrix produced through time as the reservoir is depleted. The measuring cells are cubes with edges of length 1.0 m.

These results for Test Case 2 are illustrated in Figure 4-7. This demonstrates that the estimated tributary volume does not scale linearly with increasing prism thickness due to the overlap of the drainage regions for each fracture. However, in this calculation, the entire fracture network connected to the well is assumed to provide drainage volume from the initial time. A more refined algorithm might be developed which used a weighting factor based on the hydraulic distance of a fracture from the well to determine the appropriate thickness for that fracture. Thus, at early times, only fractures of high transmissivity close to the well bore would have a significant thickness, while at later times, even low transmissivity fractures at significant distances from the producing well might have a large thickness. This time and hydraulic distance variable thickness might be calculated using, for example, a simple analytical solution for pressure vs. hydraulic distance, such as the Theis solution.


5. BLOCK SIZE ANALYSIS

Dual porosity behavior is characteristic of fractured reservoirs, and is one of the few aspects of fractured reservoirs which is well addressed by current reservoir assessment technologies. In dual porosity behavior, the different behavior of fluid storage in the fracture system and the matrix is seen in graphs of depletion pressure versus time.

Dual porosity reservoir simulation requires calculation of several parameters having to do with rock matrix block shape and size distributions. The fracture surface area of matrix blocks within a simulation grid cell influences the rate and quantity of fluids that can move between the matrix and the fracture system. The vertical or Z-dimension of matrix blocks influences gravity drainage mechanisms. The shape of the matrix blocks influences the choice of sugar cube, matchstick or slab idealizations in dual-porosity simulators (Figure 5-1).

The matrix block analysis is designed to provide a quantitative description of block size and shape distributions using parameters which can be directly incorporated into existing dual porosity simulators. These algorithms analyze blocks formed by geologically realistic three-dimensional fracture systems, and provide output in the forms required by conventional dual-porosity simulators.

5.1 Theoretical Development

Dershowitz (1987) presents a simple algorithm for calculating rock block sizes. In this algorithm, random points are located within the fracture network, and rays are sent out in random or user specified directions until they intersect fractures (Figure 5-2). The characteristic dimension R, surface area A, and volume V for each rock block can be calculated from these ray lengths as:

(5-1)

(5-2)

(5-3)

where SA and SV are area and volume shape factors dependent on the block shape, nR is the number of rays for each point, and Li is the length measured along a line through the point defining the block to fractures on either side of the point. The problems with this algorithm include (a) a bias toward sampling of larger blocks, since random points are more likely to occur in larger blocks, and (b) the sensitivity to shape factors SA and Sv.

Two new algorithms have been developed to compute quantitative measures for matrix block shape and size distributions, without the problems of the Dershowitz (1990) algorithm.

The first algorithm is a fast computational method to compute blocks based upon fracture spacing distributions in several directions. Its main advantage is that the calculation is very fast. Its disadvantage is that it assumes that block dimensions are not correlated. This algorithm is referred to as the multidirectional spacing distribution (MDS) algorithm.

The second algorithm is based upon graph theory and is based upon computing the convex hull of points lying on fractures bounding or partially bounding a matrix block. This algorithm is referred to as the convex hull (CH) algorithm.

5.1.1 Multi-Directional Spacing Distribution Algorithm

Figure 5-3 illustrates the MDS algorithm. For each realization of the discrete fracture model, a series of randomly-located lines in user-specified directions are generated. The location of fractures intersected by each line is recorded. This leads to a spacing frequency distribution in several directions. Typically, the directions include the vertical direction, in order to calculate the vertical dimension of blocks for gravity drainage considerations, and in two or three orthogonal directions that relate to simulator grid layering geometry and the fracture system.

The spacing probability distributions are multiplied together using Monte Carlo sampling techniques to produce a frequency distribution of block volumes and surface areas. This is carried out by selecting X, Y and Z spacing values at random with selection probability proportional to their frequency, and multiplying them together to create a prismatic block.

The volume of the block for the i-th Monte Carlo computation is the product of the spacing values:

(5-4)

The surface area of the i-th block is given by:

(5-5)

The block shape is given by the ratios of the mean X, Y and Z spacings:

(5-6)

The vertical dimension of the blocks is taken as the mean value of the Z spacing distribution:

(5-7)

The sigma factor of the i-th block for dual porosity analysis is calculated as,

(5-8)

The sigma factor is used as a shape factor in dual-porosity reservoir simulators.

5.2 Convex Hull Algorithm

The convex hull (CH) algorithm is more computationally intensive, but measures the actual dimensions of the blocks, rather than reconstructing blocks stochastically from spacing frequencies. Thus, any correlation among block dimensions or non-prismatic block shapes do not present problems. The algorithm’s accuracy is governed by two factors: whether in fact the matrix blocks are convex; and how many points are required to accurately characterize the convex block. The algorithm as implemented allows the user to specify the number of points for characterizing the convex block, but computation time increases as the number of points increases.

Figure 5-4 illustrates the CH algorithm. From a random point within a discrete fracture model, lines are projected out in user-specified directions until they intersect a fracture. The intersection point coordinates for all of the line intersections constitutes a sample of the matrix block. As is shown in the 2D illustration (Figure 5-4a), some of these intersection points may not all be on the block exterior. Next, a convex hull (Figure 5-4b) is calculated for the set of points. A convex hull has the property that it includes all of the points, and that it is convex. In two dimensions, the hull is a polygon. This polygon has the additional property that any line joining two arbitrary points within or on the boundaries of the polygon lies entirely on the boundary or in the interior of the polygon. In practice, this means that the polygon has no "holes" or embayments, and it is a single polygon, not several isolated ones. In three dimensions, the polygon becomes a polyhedron.

It is a simple matter to compute the volume and the surface area of the convex hull. The vertical dimension of the matrix block is taken to be the difference between the minimum and maximum Z coordinate of the convex hull. The shape of the matrix blocks approximated as convex hulls can be determined by visually displaying the hulls, or by computing the aspect ratios for the X, Y and Z directions from the hull coordinates.

The convex blocks that are calculated are estimated by projecting the lines out from randomly selected points within the model. Since a larger block has a proportionately greater probability of having a randomly located point within it, the algorithm will overestimate the number of large blocks and underestimate the number of small blocks unless a check is made to see if an estimate has already been made for the block. The current algorithm checks to see if each new block has previously been estimated, and if so, it retains the block with the larger volume. This is because a convex hull estimate of a convex block is always equal to or less than the volume of the actual block.

5.2 Verification

Three test cases were devised to assess how well each of these two algorithms correctly estimated the matrix block size distribution. Cases 1 and 2, which are not geologically realistic, serve as verification and evaluation cases for the algorithms. It is not possible to calculate the true block volume distribution for Case 3, but this case illustrates how the algorithms might be applied in more realistic DFN models. Case 1 (Figure 5-5a) consists of a 200 m by 200 m by 200m cube dissected into 8000 10 m cubes. Each cube is a matrix block, and is completely bounded by fractures. Case 2 (Figure 5-5b) also consists of cubes, but of varying sizes and with dimensions that are partially correlated. The distribution of block volumes is bi-modal. These two test cases are geologically unrealistic, but clearly illustrate how well the algorithms perform. Case 3 (Figure 5-5c) is more geologically realistic. In this model, fractures do not completely isolate blocks. There are three sets in approximately three orthogonal orientations, much like the fracture pattern that develops in carbonates or other layered rocks.

Table 5-1 summarizes the values for Z dimension, specific surface area, P32 and volume for the three test cases. Both the specific surface area and P32 quantify how much fracture surface area per volume of rock there is in the model. The specific surface area is calculated by summing all of the surface area for all of the identified blocks, and dividing by the total volume. In test cases 1 and 2, this means that almost every fracture will be part of two blocks. P32 on the other hand, is the total amount of fracture area divided by the volume of rock, and is independent as to whether these fractures form blocks. For test cases 1 and 2, the specific fracture surface area should be approximately twice the value of P32. For simulation purposes, it is necessary to use the surface area that relates to the matrix block idealization, rather than the absolute P32 value.

Table 5-1 Block Size Algorithm Test Case Theoretical Values

Test Case

Z Dimension (m)

Surface Area/Rock Volume (m2/m3)

P32

(m2/m3)

Volume

(m3)

Case 1 10.0 0.6 0.312 1,000
Case 2 Mean = 22.22 0.27 0.146 Mean = 10,974
Case 3 not calculated not calculated 0.112 not calculated

 

Table 5-2 presents the results for MDS and CH analysis of Test Cases 1, 2, and 3. The MDS algorithm matches the correct block dimensions exactly for Case 1 when the sampling directions were chosen to be perpendicular to the block faces. In many situations involving fracturing of layered rocks, principal fracture orientations should be parallel and perpendicular to bedding, so it may be possible to choose sampling orientations that give very good matrix block volume estimates. The MDS algorithm produces reasonable estimates for Case 2, but has a tendency to somewhat overestimate the number of very small matrix blocks. Nevertheless, the MDS algorithm reproduces the shape and bimodality of the correct distribution reasonably well (Figure 5-6).

Table 5-2 MDS and CH Block Size Algorithms

TEST CASE

Z Dimension (m)

Surface Area/Rock Volume (m2/m3)

P32

(m2/m3)

Volume

Case 1 - MDS 10.0 (constant) 0.60 0.312 1,000 (constant)
Case 1 - CH 14.1 (mean) 0.63 0.312 823 (mean)
Case 2 - MDS 23.4 (mean) 0.25 0.146 6,653 (mean)
Case 2 - CH 29.3 (mean) 0.32 0.146 9,154 (mean)
Case 3 - MDS 11.1 (mean) 0.36 0.112 5,484 (mean)
Case 3 - CH 43.0 (mean) 0.36 0.112 10,642 (mean)

 

The CH algorithm provides better results for Case 2 and worse results for Case 1. For Case 1, most convex hulls will contain a smaller volume than the cubes in which they are calculated. This is due to the fact that the convex hull is based upon a finite number of points lying on the edge surfaces of the cubes. This means that corners of the cube may be effectively "trimmed off" by calculating the hull, which in turns leads to an underestimate of block volumes. For Case 2, the median and mean block volumes are more accurately estimated by the CH algorithm than by the MDS algorithm. The inherent ability of the CH algorithm to account for the correlation in block dimensions appears to offset the tendency to underestimate the volume of cubical matrix blocks.

Case 3 is a more realistic DFN model. As horizontal and vertical cross-sections through one DFN model realization illustrate (Figure 5-7), blocks are not completely isolated on all faces by fractures. There are blocks of many different sizes, but in horizontal cross-section, the blocks are on the order of 40 m, and in vertical cross-section blocks are on the order of 10 m.

In summary, the three test cases suggest that both the MDS and CH algorithms provide reliable and consistent estimates of fracture surface area, at least for simple fracture geometry. The CH algorithm appears to provide better estimates of the mean volume of matrix blocks when block dimensions are partially correlated. Since jointing in many sedimentary rocks is characterized by pseudo-periodic spacings (e.g. La Pointe and Hudson, 1985), it may be preferable to use the CH algorithm to estimate block volumes. On the other hand, the geometric construction of a convex hull from a sparse data set creates hulls with slightly greater average Z-dimensions than the MDS algorithm. In both test cases 1 and 2 the MDS algorithm provided more accurate estimates of the Z-dimension. Thus, both algorithms have proven useful and necessary to provide estimates of matrix block parameters, and neither alone is completely satisfactory.


6. COMPARTMENTALIZATION ANALYSIS CODE FraCluster

The analyses described above in Chapters 3, 4, and 5 have been implemented in a Windows 95 code, "FraCluster". This code is available online at:

http://fracman.golder.com/software/fracluster.asp

The program incorporates calls to Qhull (Barber et al., 1996).

6.1 FraCluster Features

FraCluster includes the following features:

These features make it possible for reservoir engineers to rapidly define key reservoir engineering parameters for fractured reservoirs from discrete fracture network models.

The algorithms implemented are as described in Chapters 2 through 5.

6.2 FraCluster User Interface

Figures 6-1 (6-2, 6-3, 6-4, 6-5, 6-6) through 6-7 provide an annotated guide to the features of FraCluster.

To execute FraCluster, select the FraCluster icon, and double click with the mouse. The operation of the individual FraCluster menu items are described in Section 6.3 below. The general procedure for analysis is summarized in Table 6-4.

Navigation through FraCluster is done using Microsoft windows mouse conventions. In general, the left hand mouse button is used for making selections.

Table 6-1 FraCluster Analysis Sequence.

  Command Action
1.   Run FracMan/FracWorks to produce the fracture pattern to be analyzed. Save the file.
2. File/Open Fracture Files Load the fracture data file.
3. File/Open Boundary Sampling Files Load a sampling object containing geometry for wells and analysis regions
4. Edit/Analysis Define and modify the analysis parameters as necessary
5. Edit/Boundaries Modify or create the geometry of the wells and analysis regions as necessary
6. Edit/Directions Specify the directions for rays for the various calculations if defaults are not used
7. Analysis/Intersections Calculate fracture intersections and build adjacency lists
8. Analysis/Compartmental Carry out compartmentalization analysis, and report statistics
9. Analysis/Tributary Carry out tributary drainage volume analysis, and report statistics
10. Analysis/Matrix Block Size Carry out reservoir block size analyses, and report statistics
11. File/Print Print selected analysis statistics
12. File/Exit Leave FraCluster

6.3 Command Summary

6.3.1 File Menu

New: Begin a new analysis, without closing the current analysis. Opens a window for the new analysis.

Open: Open fracture geometry (.BAB, .DCM or .FDT format) and well object (.SOB) files. Uses the standard Microsoft Windows File Open menu syntax and assumptions.

Close: Close the current active analysis and all windows related to that analysis.

Save As: Saves statistical analysis .STS file for current analysis.

Exit: Exit FraCluster. Warns the user if statistical reports have not been saved.

6.3.2 Edit Menu

Undo: Not currently implemented

Cut: Not currently implemented

Copy: Not currently implemented

Paste: Not currently implemented

Analysis: Select parameters for the matrix block, compartmentalization and tributary volume algorithms.

Boundaries/Directions: Edit the currently active sampling program containing well and analysis region specifications. The Edit/Boundaries and Edit/Directions menus use an object approach with a tree structure to describe tunnels. Only linear wells are currently supported. Wells whose trajectory changes need to be modeled as a series of piece-wise linear well segments. Analysis regions can be specified as boxes, slabs, or cylinders. These menus provide the following options;

Add: Add an additional exploration object. A submenu provides the option to select the type of tunnel object.

Remove: Remove the selected object

+ : Expand the current selection to display specific objects

- : Collapse the display to show only object types

Edit: Double click on a selected object to edit its properties.

When editing or adding an object, three property tabs are available. The General tab always provides the object name. The Geometry tab requires different input for each object type. The Boundary Conditions tab is not active for FraCluster.

6.3.3 View Menu

Toolbar: Display or hide the toolbar display

Statusbar: Display or hide the line providing status information.

Fractures: Display or hide fractures.

Wells: Display or hide wells

Clusters: Select clusters to display

Compartments: Select compartments to display

Histogram: Select histograms to display

Stats: Select statistics to display

6.3.4 Analysis Menu

Intersections: Calculate fracture intersections. This feature is only available once the fractures have been loaded.

Adjacency Lists. Calculate adjacency lists corresponding to the fracture connectivity map. This feature is only available once the fracture intersections have been calculated.

Cluster Analysis: Define fracture network clusters (interconnected groups of fractures which are not connected to other interconnected groups of fractures). This feature is only available once the adjacency list have been built.

Compartment Analysis: Define the volume and area statistics of fracture compartments. This feature is only available once the clusters have been identified.

Tributary Volume Analysis: Define the tributary drainage volume corresponding to user specified wells, using ;one of two alternative algorithms. This feature is only available once the clusters have been identified and the wells have been selected.

Reservoir Block Analysis: Determine the block size distribution for matrix blocks defined by fractures. This feature is only available once the adjacency list has been built.

6.3.5 Windows Menu

New Window: Open a new window for the current analysis

Cascade: Cascade currently open windows

Tile: Tile currently open windows

Arrange Icons: Neatly arrange icons for minimized windows

Close: Close the current window

Close All: Close all the windows in the current analysis.

6.3.6 Help Menu

Help Index: Not currently implemented

Using Help: Not currently implemented

About FraCluster: FraCluster QA, copyright, and license information.

6.4 FraCluster Walk-through

This section describes an example user session with FraCluster.

FraCluster is run by clicking on the "FraCluster" icon. First, program and licensing information appear (Figure 6-8). Upon accepting the license agreement by clicking on "OK", the user comes to the main window (Figure 6-1). Under the FILES menu, the user should use the mouse to highlight the discrete fracture network (DFN) files to be processed. For the tributary volume analysis, the user may also specify an existing exploration object file in .SOB format. The formats for the .BAB/.DCM and .SOB files are described in Table 6-2 and Table 6-3. The .FDT format is a DOS binary file produced by the FracWorks module of FracMan (Dershowitz et al., 1996), and is not described in this report.

Returning to the main menu, the user next selects Edit, to define or modify the exploration objects and set the analysis parameters for the analyses to be carried out. Once these have been set, the user can continue to Analysis. This menu contains options to execute the reservoir compartmentalization analyses. These items generally need to be executed in sequence. A check mark appears once an analysis has been carried out to help the user keep track.

Once the fracture intersections have been computed and the adjacency lists have been built, the user can choose the type of analysis to be carried out. Under the Analysis menu are the choices Intersections, Adjacency Lists, Cluster Analysis, Compartment, Tributary Volume and Matrix Block. Selection of the Cluster Analysis, Compartment, Tributary Volume or Matrix Block options will lead to an automatic calculation of the fracture intersections and adjacency list, but this data will not be saved. In order to save this data, the specific option should be selected.

Selecting Cluster Analysis causes FraCluster to compute fracture intersections and construct the adjacency list. From these data structures, it is possible to determine which fractures are connected to one another and save the information for subsequent display or analysis.

Selecting Compartment invokes a series of linked processes. First, the adjacency list is used in conjunction with the DFN files to create an intermediate file of points that corresponds to the (x,y,z) coordinates of fracture vertices. Next, QHULL is called to compute the volume and surface area of the convex hull that encloses these points. In order to compute the horizontal cross-sectional area of the hull, the (x,y,z) coordinates are projected onto a horizontal plane. This file is then processed by QHULL to compute the 2D cross-sectional area. This process is repeated until all compartments for all selected files have been analyzed. Upon completion, the user is returned to the Analysis menu. The user should then use the View menu to select the statistics and histograms to display.

Before selecting Tributary Volume from the Analysis, the user must provide a thickness through the Edit menu. This thickness corresponds to the distance into the matrix in which oil is mobilized through the pressure differential existing between the matrix and the fracture system menu. Upon selecting Tributary Volume from the Analysis menu, the user must first select wells to be analyzed from the loaded or defined exploration object file. Then, the user will chose either the Slab or the Convex Hull algorithm, as described in Chapter 4). FraCluster processes the adjacency list and retains only those fractures connected to the specified wells. Next, the tributary volume associated with these retained fractures is calculated using the selected algorithm. This process can be time-consuming, so the program maintains a counter to indicate how many fractures out of the total have been processed. Upon completion, the user is returned to the Analysis menu. The user should then use the View menu to select the statistics and histograms to display.

For the Matrix Block analysis, the user is prompted to selected either the MDS or the Convex Hull algorithm. If the MDS option is selected, then the user will need to specify wells and well fields through the Edit menu. If the Convex Hull option is selected, the user will need to specify the number of points to be used in specifying the block through the Edit menu. The matrix block volume, area and other parameters can then be calculated by FraCluster. Upon completion, the user is returned to the Analysis menu. The user should then use the View menu to select the statistics and histograms to display.

After completing analyses, the user can use the View menu to obtain graphical displays desired, and File/Save to save statistical summary (.STS) files.

To view results, the user should select View from the main menu. From this menu, the user can select the results. Options are available for displaying fractures, clusters, compartments, and statistics. For the compartmentalization analysis, the plots correspond to the volume and surface area of the 3D convex hull, and the area for the horizontal projection.

If the tributary volume analyses are selected, then graphs showing the frequency and cumulative probability for the tributary volume of accessible matrix are displayed.

Likewise, if the matrix block sizes have been calculated, then the user can display histograms of frequency or the cumulative probability density graphs of block volume, surface area and block dimensions corresponding to the user specified wells.

 

Table 6-2 BAB/DCM Discrete Fracture Network File Format

Record Type

Variables

Interpretation

1

SCALE, NPROPS SCALE is the scale factor (in meters). NPROPS is the number of properties assigned to each fracture (3 to 20). The values are specified in Babylonian (base 60) or Decimal (base 10) notation, with no space between values for the Babylonian format. For example, a scale factor of 1000 with 5 fracture properties would be specified as1E00O5. Babylonian-format files take up considerably less disk space than decimal-format files.

2

IVECTOR (I),

JVECTOR(I),

KVECTOR(I)

IVECTOR, JVECTOR, and KVECTOR are the X, Y, and Z components of unit vector normal to corresponding fracture. Values are given in Babylonian notation with no space between values, or in decimal format with space. See note for further explanation.

3

X(I),Y(I),Z(I) X(I),Y(I), and Z(I) are the coordinates. Values are given in Babylonian notation with no space between values, or in decimal format with space. See note for further explanation.

4

fracture header Header record after last node specification and before beginning of fracture specifications. Format for this record is:

*** FRACS ***

5

NNODE(I),NSET(I),

VALUE(I,NPROPS)

NNODE is the number of corner nodes defining this fracture, NSET is the set to which this fracture belongs, and VALUE provides the NPROPS values of transmissivity, storativity, transport aperture etc. Assigned to this fracture according to PROP.COD. There is one record of this kind for each fracture, and fractures are numbered in the order of the records. Values are given in Babylonian notation with no space between values, or in decimal format with space.
Babylonian notation: In this file, all number are expressed in base 60 ("Babylonian notation), using ASCII characters 1 through 0, A through Z, and lower case a through lower case x. In this file, integers are expressed as one digit base 60 numbers. Real values are expressed as five digit numbers, with the fifth digit containing the sign and the exponent. Values which can be represented in Babylonian notation range from approximately 10-28 to 1016. However, babylonian numbers do not carry as many significant digits as are expressed in the REAL*4 binary representation.
Note: Record types 2 and 3 provide node and orientation information for fractures. For each fracture, there are NNODE(1)+1 records of type 2, where NNODE(1) is the number of corners specified for fracture 1. The first record of type 2 provides the orientation of the first fracture. The next NNODE(1) records are of type 3, and provide the coordinates for each of the nodes defining fracture 1. This is followed by a record of type 2 for the second fracture, then a series of records of type 3 for the nodes at the corners of the second fracture. This series is repeated until orientations and nodal coordinates are provided for all fractures.

Table 6-3 Exploration Object Format (*.SOB)


# Any record beginning with a # is a comment

#Well
BEGIN well
name = "Well NE-1X"
survey_id = 1
origin = 80 -80 0
scan_trend = 0
scan_plunge = 0
scan_length = 160
radius = 0.12
END

#Traceplane
BEGIN traceplane
name = "Tracemap XJX-43-2K"
survey_id = 2
origin = 80 80 0
scan_trend = 0
scan_plunge = 0
scan_length = 160
tran_trend = 0
tran_plunge = 90
tran_width = 160
END

 


7. APPLICATION TO YATES FIELD DATA

7.1 Reference Discrete Fracture Network

Although a complete reservoir model for Yates has not yet been developed, a preliminary model of some of the important fracture zones correlated with production and flexure trends have been created. These fracture zones will form a component of the final model. In order to illustrate the application of the new fracture technologies, compartment, tributary and matrix block analyses were carried out on the fracture zones. The fracture zone DFN model is summarized in Figures 7-1, 7-2, 7-3 and Table 7-1.

Fracture zone architecture is both variable and complex, and is a subject of much current research worldwide in both petroleum reservoir development and nuclear waste disposal (for example, see Mazurek et al., 1995; Caine et al., 1996). Studies have shown that many fracture zones are composed of thousands of anastamozing discrete fractures. Many of these fractures are on the order of meters or less, and probably do not play a significant role in the regional fault zone permeability (Pusch, 1995). For this reason, the DFN model of the fracture zones only includes the larger fractures and those with a transmissivity above a threshold typical of conductive fractures in fracture zones. The analyses carried out consisted of fractures with radius greater than 75m, which also corresponds to a transmissivity greater than 0.00075 m2/s. Table 7-1 lists the parameters of the DFN model of the fracture zone.

Table 7-1 Yates Field Reference DFN Fracture Zone Model

    Set 1 Set 2 Set 3 Set 4 Set 5 Set 6 Set 7 Set 8
Slab Region (L,W,H) [m]