1 A024 CHARACTERISATION AND MODELLING OF FRACTURED RESERVOIRS – STATIC MODEL COLIN DALY, DIETMAR MUELLER Roxar Limited, 17-25 Hartfield Rd., Wimbledon, London SW19 3SE, UK Abstract Construction of a static reservoir model for a fractured reservoir will typically involve some or all of the following steps: selection of the fracture sets to be considered; identification of the spatial distribution of these fracture sets; modeling of the fractures as objects; assignment of appropriate petrophysical properties to the fractures, in particular permeability; communication with a flow simulator. For each fracture set that is to be modeled, trend information for density, orientation and dip is chosen to control the spatial distribution. If the fracture set is related to a faulting event then a model of the stress distribution for that event may well be the most appropriate way to associate trend data with the set. On the other hand, for a simple fold, curvature may be a more appropriate predictor of fracture distribution. In simple situations, where the reservoir behavior may be described with a single permeability model, it is possible to try and calibrate the fracture trend information directly to interpreted well test permeability to produce an effective permeability model combining the effect of matrix and fracture permeability. In situations where the fluid transfer from matrix to fracture occurs at a rate that is significantly slower than flow within the fractures, it is necessary to use a dual media approach to the flow simulation. In this case the flow simulator needs to be supplied with permeability models for both the matrix and the fracture and one or more terms which govern the transfer of fluid from matrix to fracture. To supply this information a discrete fracture model is built following the trend information for each fracture set. The appropriate parameters for flow simulation are then calculated. 1. Introduction Fractured reservoirs remain one of the more challenging problems in reservoir characterization. The essential approach does not differ dramatically from modeling other types of heterogeneity such as that associated with deposition. Typically, one must: 1) Identify the location of the fractures through some form of trend 2) Produce a representative model of the fractures themselves 3) Attribute properties such as porosity and permeability to the fractures 4) Effect a consistent transfer of properties to the simulator while preserving as much geological integrity as possible This has much in common with the steps needed to produce a model of depositional heterogeneity. First, the facies to model are chosen together with the trends governing their spatial distribution. Upon modeling the facies, petrophysical properties are attributed and finally these properties are upscaled in the most consistent way available. The most significant distinguishing factor about fracture modeling is the degree of uncertainty associated with these modeling stages. This makes the need for a simple yet flexible, integrated modeling approach more important than ever. The modeler will need to take an experimental, ‘playful’ approach to the reservoir trying out various scenarios until an understanding of the main parameters governing uncertainty evolves. As such it must be possible to be able to build, and modify, geological models in a short turnaround time. 9th European Conference on the Mathematics of Oil Recovery — Cannes, France, 30 August - 2 September 2004 2 One case where this is fairly easy to implement is the case of the ‘fracture enhanced’ reservoir. In this case the typical transfer time for fluid between matrix and fracture is fairly fast. An approximate measure of this time is given by [1] R(t ) = R∞ (1 − e −t τ ) where τ= 34.22 µ w λD σ s φ K and s is the interfacial surface tension, λD is an experimentally determined constant equal to 0.011 and σ is the so called shape factor (see section 6) which depends on the block size and shape. If τ is reasonably fast, as will be the case for high permeability or small block size then it is possible to treat the reservoir with a single permeability model using a combined effective permeability for matrix and fracture permeability (it may prove necessary to calculate pseudo relative permeability curves to correct for the role of fractures on multiphase flow). This approach greatly simplifies the geological modeling process – as the model can move directly from fracture density trend estimation to permeability assignment. Such a gain in parsimony and simplicity makes this an attractive option. One method to achieve this, [2,3], uses interpreted well test permeability to calibrate the relationship between the fracture densities and permeability. This is very briefly described in section 4. In other reservoirs with slower typical transfer time it may be preferable to use a flow simulation model that treats the two media, matrix and fracture. In this case a discrete fracture model may be constructed respecting the trend data for fracture density, orientation and dip. The purpose of such a model is threefold. 1) The largest such fractures may be used directly in the flow simulator in some form or another (typically as transmissibility modifiers) 2) The Shape factors that are used in dual media can be calculated from the fracture description 3) By recalculating the density of modeled fractures, The DFN allows an updating of the fracture trend parameters to honor well data. In addition, as part of the strategy of experimenting with models, it is useful to have a combined matrix/fracture permeability model. In section 5, a fast connectivity calculator accounting for permeability is developed. While this cannot in any sense replace flow modeling, it is useful to investigate the sort of connectivity patterns that a particular choice of parameters is likely to produce. 2. Fracture Spatial Distribution Trends The fractures observed in the reservoir follow some structural rules governing their spatial distribution. For the geological models to be able to produce the permeabilities needed for an adequate flow model, it is necessary to capture the essence of these rules. In most cases there will be insufficient well data to produce a satisfactory trend by simple interpolation of the well data. It is preferable to make use of geological and geophysical models to help drive the spatial distribution of the fractures. For example, if the fracture set is related to a faulting event then a model of the stress distribution for that event may well be the most appropriate way to associate trend data with the set. On the other hand, for a simple fold, curvature may be a more appropriate predictor of fracture distribution. These trends could be produced from simple methods such as distance to fracture tip and curvature [4]. Seismic attributes, such as AVO, are often a valuable tool for prediction of fracture density and orientation. Some additional detail is now given on obtaining trends with stress modeling. Geomechanical methods have become increasingly popular in recent years. They model the distribution of strain, and hence of likely fracture density. They can range from simple elastic models, such as the one considered below, to more general Mohr Coulomb elasto-plastic models (see [2] for more discussion). Another approach may be through stochastic models of strain fields [5], which appear to allow for the possibility of quantification of uncertainty in the trend models themselves. However some unanswered questions remain about conditioning to remote stress for the stochastic method A simple elastic model solved with the boundary element method has several advantages which make it suitable as a quick approximate predictor of fracture density and orientation [6]. In this method, faults are considered to be the primary control over stress distribution. Some faults are chosen to be the boundary of the model. The material between these faults is assumed to be elastic and homogeneous. A boundary condition is applied to the faults. 3 Typically this might be a model for the remote stress that gave rise to the faults. In this case the faults are initially ‘slits’ which are allowed to move under the remote stress until a zero residual stress remains on the fault. This gives rise to a local redistribution of the stress field in the neighborhood of the faults. The method works by rewriting the elastic equation ∂σ ij = F (where σij is the stress tensor and F is ∂x j Figure 1. Principal Stress and optimal fracture orientations the body force) as an integral equation over its Green’s function (see [7] for a general review of the BEM and [8] for the Green’s function used for the rectangular dislocations that are the building blocks of the fault boundary). This is solved by discretisation of the boundary (the faults in the current context). The Mohr circle is used together with traditional Coulomb and Griffith fracture models for shear and tension fractures respectively. This modeling allows for prediction of regions where fracturing is more likely. Figure 1 presents the principal stress field generated by a shear across the mapped faults with the optimal fracture direction superimposed. A validation of this type of modeling on outcrop was presented by Bourne and Willemse [9]. The orientation and magnitude of the remote stress is not usually known, however because the boundary element method runs fairly quickly, it is possible to try and ‘history match’ the stress. In figure 2 one of the choices of orientation for the shear leads to a poor job at predicting the actual displacements observed. Another orientation is broadly consistent with the true observed deformation. If well data is available, then the matching should try to predict the observed fracture orientation for the set associated with the faulting and the epoch of deformation. Figure 2. Vertical displacements predicted by stress modelling shown on the actual displaced horizon. The picture on the left shows that a shear oriented at 105 degrees gives incorrect prediction of displacement while on the right, a shear at 15 degrees is compatible with actual displacements 3. Discrete Fracture Model In the approach to fracture modeling taken here, the discrete fracture network (DFN) is to help calculate the sigma factor terms used in dual media simulation (see section 6). It is important to note that this is not always necessary and that a single permeability approach may well be sufficient if the transfer time τ is reasonably fast. In this case it is considerably simpler to look for a relationship between the density of open fractures and permeability. If we have calculated fracture density trends, then we can try this calibration directly – without the trouble of building a DFN. In fact, if the DFN is properly constructed to follow the trends, the fracture density count calculated from the model should be proportional to the input trends except for some local corrections at the wells. Thus, for single permeability modeling there seems to be little to gain from a DFN (at least this is true from a flow modeling perspective – a structural geologist may find a DFN to be a useful quality control tool). The approach used for DFN modeling here is to consider a fracture as a non stationary autoregressive process [10] with the fractures initially seeded following the density trend and the fracture evolving following the orientation 9th European Conference on the Mathematics of Oil Recovery — Cannes, France, 30 August - 2 September 2004 4 trend. The tendency to follow the orientation trend is tempered by a ‘stiffness’ parameter which encourages the fracture to evolve in a straight line. The fractures may be clustered or repulsed by modification of the density trend. Truncation rules for the different fracture sets are set probabilistically. For example the smaller NW-SE striking fractures in figure 3 truncate with a high probability on the earlier SW-NE and N-S sets. 4. Permeability One common approach to calculation of fracture permeability is to try a direct calculation of permeability by building a grid using the DFN, assigning parameters to individual fractures based on inferred fracture parameters (such as aperture) and calculating equivalent permeability from a flow model (see [11] for example). This method will be accurate if the fracture spatial distribution and its parameters are accurate and the associated boundary conditions are fully appropriate. Unfortunately, we cannot always get to the level of detail needed without considerable uncertainty in the some, or all, of the assumptions. Moreover, if all fractures are to explicitly taken into account, then the models can only realistically be calculated for some local regions and a look up table approach used to apply these values elsewhere. However this can be Figure 3. A DFN model in map view complicated as parameters such as aperture are likely to vary depending on various factors (such as local stress conditions for example). Because of the high degree of uncertainty, it is of interest to also look for simple and fast methods of assigning permeability. One such method (which cannot be treated in detail here for reasons of space but an early version was initially described in [2,3]) looks for a relationship between open fracture density and permeability – where an estimate of fracture permeability is obtained from interpreted well test permeability. It should be noted that not all fractures will be open and some method is needed to choose which fracture sets are considered to contribute to permeability. This may be simply a question of choosing some sets as open and others closed, or perhaps using critical stress theory [12] to define those fractures which are most likely to be open under the action of the present day stress field. The relationship between open fractures and permeability is based on percolation theory [13]. A simple power law relationship is postulated between the two variables. While theory predicts the power law parameter to be between 1 and 1.5 in 2 dimensions [3], it is better to try and fit the parameter in such a way as to optimally calibrate the data to well test permeability. This fit is usually not perfect and some residual exists in each well. These residuals can be corrected by a kriging technique to ensure that the well test permeability is matched at each well. In brief, this method can be viewed as assigning fracture permeability as a non linear rescaling of the fracture density parameter so that observed well test permeability is optimally matched. 5. Connectivity It is often useful to run some quick sense check on proposed fracture/matrix permeability models. An interesting test is to investigate the connectivity patterns implied by the permeability distribution. One such connectivity tool [14] proposes that a cost (or resistivity) be applied between pairs of cells in the reservoir model. This cost was taken to be 1/T where T is the transmissibity. If we define the cost at producer wells A to be zero, then the cumulative cost at x any cell x is min ⎧⎨min{∑ 1 }⎫⎬ where the inner minimization is over all possible paths from the producer p to x and T p∈A p ⎩ ⎭ the outer minimization is over all producers. An implementation of this based on Dijkstra’s classic algorithm for shortest paths on a graph was made. However this method may be improved upon. Firstly, other choices than 1/T may be appropriate for the cost function (see examples below). Secondly, if the cost function takes the value 1 everywhere, then the minimum cumulative cost from a producer to any cell is equal to the minimum number of cell transitions needed to move to x. Thus, the total cost is minimized in a network ‘city block’ metric (moreover, the geodesic from producer to x need not be unique). However with an isotropic constant cost function we might have hoped than the minimum path would be the minimum Euclidean trajectory (straight line). Figure 4 shows the distance contours for the two metrics from a central point. The errors in the city block metric are often unacceptably large. 5 To improve this situation it is better to look for minimum cost paths but to explicitly work with the continuous problem. To minimize the path length from a set A to a point x, first let CAx be the set of all paths from A to x and τ (x ) the (point) cost at x. Then the minimum cost of arriving at x is L U ( x ) = min ∫ τ ( c( s ))ds with s being a distance c∈C Ax 0 parametrization of the curve c, c(0) ∈ A and c(L)=x. An important restriction in this formulation is that the cost function τ (c( s )) should only depend on the value at the location c(s). If the cost function also depends on the local direction of travel, Figure 4: On the left, contours from the τ ( c( s ), c ′( s )) then the numerical solution is considerably more centre in ‘city block’ metric. On the right Euclidean metric complex (see [15]). For simplicity, it is assumed hereafter that cost only depends on location. The significance of this assumption may be seen if the cost is to depend on permeability. Then, the assumption means that permeability should be locally isotropic (i.e., within a cell permeability is isotropic – but it may change in any manner from one cell to the next). The solution to the minimum cost problem satisfies a simple Hamilton Jacobi equation called the Eikonal equation ∇U ( x ) τ ( x ) = 1 (1) This equation describes a wave front propagation with the speed of the front being 1 / τ ( x ) at each point x. U(x) is interpreted as the first arrival time of the wave at x. If τ ( x ) = 1 then U(x) will be the minimum Euclidean distance from A to x. Efficient algorithms are known for the solution of equation (1). One such is given by Tsitsiklis [16] and was independently developed by Sethian [17]. Since a propagating interface can develop corners and discontinuities, we need to look for weak solutions to (1). The numerical method described converges to the viscosity solution for this Hamilton Jacobi equation. The updating scheme used follows the form (max{U − min{U i −1, j , U i +1, j },0}) + (max{U ij − min{U i , j −1 , U i , j +1},0}) = τ ij2 2 ij 2 ( 2) Higher order methods are possible but are not considered here. The algorithm is as follows: Definition: Initialisation: Loop: - Accepted: The set of points where U is fixed - Trial: The set of points to be examined. They have a provisional value of U calculated. - Far: Other grid points. Their value of U is set to ∞. - Set all points in the initial set A to U(x) = 0 for all x. - Set all other points to Far: - Choose the point y from Trial with smallest value of U. - Move it from Trial to Accepted. - Update all neighbors of y (and move any that were in Far to Trial). The update is done by solving equation (2). In this scheme, solving equation (2) can always be done analytically. Typically, the points in Trail are kept in a heap data structure. This structure allows the minimum to be found in order log N operations where N is the number of points in the grid. Since each point is selected from Trial exactly once, the algorithm is non iterative and is of order N log N. As an example, on a midrange laptop this takes about 14 seconds per million cells. The assumption of local isotropy means that the characteristics are parallel to the direction of maximum gradient. This allows regions to be defined as follows. If A splits into subsets A = Υ Ai (e.g. individual wells), and if Ri is the region with minimum first arrival time from the set Ai, then the regions may be found by a simple backtracking algorithm using max gradient. Example 1) This algorithm can be run for any cost function (so long as it is locally isotropic). One interesting application is to qualitatively analyze connectivity in a fractured reservoir. The cost function could be chosen to be 9th European Conference on the Mathematics of Oil Recovery — Cannes, France, 30 August - 2 September 2004 6 proportional to 1/T as discussed earlier – but an alternative is suggested by Datta-Gupta et al. [18] who defines a ‘diffusive’ time of flight by solving for the highest order term in an asymptotic expansion of the solution of the diffusivity equation. In [18], a relationship between the solution τ (x ) and an arrival time of maximum pressure response to an impulse on the initial set A is established. This ‘pressure front’ arrival time τ (x ) satisfies α ( x ) ∇τ ( x ) = 1 where α ( x ) = k ( x ) (φ ( x ) µ ct ) with µ the viscosity and ct being total compressibility. A typical example is shown in figure 5. Example 2) As is seen later, it is useful to regionalize the reservoir into matrix blocks which ‘feed’ specific fracture segments. This segmentation is typically done based on Euclidean distance – but may be permeability weighted also. If the Euclidean case is used a ‘distance-to-fracture’ parameter is needed. This may be done by solving the simple Eikonal equation ∇D ( x ) = 1 where D(x) is the distance to the nearest fracture segment. In this simple case it is possible to speed up the described calculation by over an order of magnitude. Traditionally, this problem is called a Euclidean Distance Transform and is solved with a raster scan methodology (e.g. [19]). It is preferable to continue with an evolving front methodology, but to make use of the speed up developed in the raster scan technique [20]. The idea behind the speedup is to: 1) work with squared Euclidean distance until presentation of results. 2) By carrying some extra information, multiplications may be replaced with additions and bit shifts. 3) Because the set of possible distances is finite and fixed, the heap sort can be replaced with a bucket sort removing the log N factor. Figure 5. Connectivity pattern for injection into constant matrix perm with higher fracture perm 6. Matrix to Fracture Transfer The coupling between matrix and fracture determines the flow simulation model to be used. If the transfer time is much shorter than that of the recovery process it may be possible to use single permeability modeling. Clearly the gain in parsimony makes this an attractive option. However it is not always possible and in some cases with a reasonably slow transfer timescale (weeks to years) the reservoir acts as two connected systems, with the fractures acting as the principle conduit. Their connectivity determines the reservoir flow paths. The fractures are ‘fed’ by the matrix and so the transfer times govern the long term recovery of the reservoir. In the standard steady state Darcy form of the matrix-fracture transfer, which is the only one considered in this paper, the transfer is controlled by the Darcy flow from matrix to fracture. This is of the form Kmσ where Km is the matrix permeability and σ is the shape factor, which as the term implies is a function of the geometric shape of the matrix block. Explicit forms for the shape factor may be found by making a hypothesis about the pressure distribution within the matrix. It is Figure 6. 3 fractures and their regions assumed, following [21], that there is a linear pressure distribution from fracture to block centre p( x ) = p f + α s( x ) (3) where pf is the pressure in the fractures (assumed constant across the connected fractures) and α is a constant. This assumption of a linear pressure drop leads to a simple method for calculation of shape factors for a DFN model. For convenience the method is described in two dimensions but clearly it works in the same way in 3 dimensions. Firstly split the fractures into segments according to intersections with other fractures – so a segment is maximal in size and does not contain an intersection with another fracture except at one or both endpoints (a segment with no intersections is an isolated fracture and is not used as it is not part of the connected fracture network). In figure 6 fractures A, B and C split into 7 segments. Next find the matrix regions that flow into the fracture segments. With a hypothesis of constant matrix permeability and linear pressure distribution the regions are simply defined by distance to fracture segment. If permeability cannot be considered constant, the regions will need a different definition. One possibility is to use the connectivity algorithm of section 5 with a permeability related cost function. Segments with one intersection are fed by one matrix region while segments with 2 intersections have 2 associated matrix regions. The block shown in the figure splits into 8 regions (we assume constant matrix permeability). A 7 sigma factor can now be defined for each region Ri. The flow through the fracture segment fi of area A associated with region Ri is then Fi = ∫ K∇P.dS = KA fi dP = KAα ds ( 4) where the first equality follows as dP/ds is the normal to the fracture segment and the second follows from (3). Also from (3) it is seen that ( p ( x ) − p f ) / s ( x ) = α for all x. In particular this is true for any x taking s( x ) = si where s i is the average distance to the fracture (note, such an x exists within the region Ri because the regions are star shaped). For such an x, linearity of the pressure implies p( x ) = pi . If the sigma factor is defined from the average values, that is, if σi = Fi 1 v i ( pi − p f ) (5) then substituting for α in (4) we get σ i = KA si v i . So for a DFN we have a simple formula to calculate a distribution of sigma factor terms. Since this only depends on calculation of average distances from fracture, it can be done rapidly. Typically this would be calculated for some or all of the simulation cells, so that we would have a distribution of sigma factor terms per simulation cell. Most conventional simulators only use one sigma factor per cell, although see [22] for a new simulation algorithm which can make use of more than one sigma factor. To regroup, or upscale, the sigma factors, it is easy to show by unwrapping definitions that for two regions R1 and R2 the combined shape factor defined according to (5) takes the form Figure 7. Rectangular block has 2 different region types σ 1and 2 = σ 1 s1v1 + σ 2 s2 v2 s1v1 + s2 v 2 ( 6) With this formula (generalized to n regions) it is a simple matter to calculate a single (or multiple) sigma factor(s) per cell. As a simple example, if a simulation block were split into rectangles of sides a,b, then an individual block splits into 4 regions (figure 7), 2 triangular ones at the short ends and 2 ‘plateau’ shapes feeding the longer fractures. If a is the shorter side and f=a/b, then there are 2 shape factors which can be calculated analytically to be 24/a2 and 8/(a2(1f/2)(1-f/3)) with percentage volumes of the simulator cell being f/2 and 1-f/2 respectively. The different values reflect the relative volume to fracture surface area of the 2 shapes. It is preferable to carry both factors to the simulator – but if a single value is needed then equation (6) gives the value 24(a+b)/(a3+3a2b(1-f/2)(1-f/3)). More realistically, a simulator cell will typically have several geological layers within it. These layers will often have varying fracture density and will experience different matrix fracture transfer rates. It is possible to allow for 1 or more sigma factor per geological layer in a simulator such as that defined in [22], see figure 8. Sigma Factors 14 Number 12 10 8 6 Frequency Frequency 4 2 1. 23 1. 43 1. 63 1. 83 2. 03 2. 23 2. 43 2. 63 2. 83 3. 03 3. 23 3. 43 3. 63 0 -Log(Sigma) Figure 8. Different geological layers from the same simulator layer may have different fracture intensity. Two geo-layers are shown with one having 5 times the density of the other. The sigma factors are seen to be quite different for the different layers 7. Conclusions A technique for geological modeling of fractures reservoirs was presented focusing on use of fracture trend parameters and use of well test interpreted permeability as a calibration for fracture permeability. In the situation where the matrix fracture transfer is fast, allowing for a single permeability modeling of the reservoir, then this approach is sufficient. If a dual media model is essential, then a DFN is built. A method for calculation of shape factors and a means of regrouping them was provided. 9th European Conference on the Mathematics of Oil Recovery — Cannes, France, 30 August - 2 September 2004 8 Acknowledgement: The authors wish to thank Dave Ponting for helping our understanding of the role of the shape factor. References [1] Kazemi H, Gilman J.R. and Elsharkawy A.M. (1992) ‘Analytical and Numerical solution of Oil Recovery from Fractured Reservoirs with Empirical Transfer Functions’, SPE Res. Eng., SPE19849. [2] Daly C, Jones A, Heffer KJ, Hektoen A-L, Holden L, & Davis, M (1998)‘Reconciling fracture and test permeability in 3D heterogeneity models’ presentation to the AAPG Annual Conference, Salt Lake City, July 1998 [3] Heffer K.J., King P.R., Jones A.D.W. (1999), ‘Fracture Modelling as Part of Integrated Reservoir Characterisation’, SPE 53347 [4] Lisle R J (1994) ‘Detection of Zones of Abnormal Strain in Structures Using Gaussian Curvature’ AAPG Bull, 78, 12, 1811-1819 (December) [5] Daly C (2001), ‘Stochastic Vector and Tensor Fields applied to Strain Modelling’ Petroleum Geoscience, vol 7,S97-S104. [6] Bourne S.J., Rijkels L., Stephenson B.J., Willemse E.J.M., (2001) ‘Predictive Modelling of Naturally Fractured Reservoirs using Geomechanics and Flow Simulation’, GeoArabia Vol 6, No 1, pp27-42. [7] Brebbia C.A., (1978) ‘The Boundary Element Method for Engineers’, Pentech Press. [8] Okada Y, (1992)’Internal Deformation due to Shear and Tensile Faults in a Half Space’, Bull. Seismo. Soc. America. V82 1018-1040. [9] Bourne S.J., Willemse E.J.M, (2001), ‘Elastic stress control on the pattern of tensile fracturing around a small fault network at Nash Point, UK’, Journal of Structural Geology 23 1753-1770 [10] Box G.E.P., Jenkins G.M, (1970), ‘Time Series Analysis; Forecasting and Control’, Holden-Day, San Francisco. [11] Bourbiaux B.J., Cacas M.C., Sarda S., Sabathier J.C., (1997), ‘A Fast and Efficient Methodology to Convert Fractured Reservoir Images into a Dual Porosity Model’, SPE 38907 [12] Barton, CA & Zoback, MD (1994) ‘Stress perturbations associated with active faults penetrated by boreholes: possible evidence for near-complete stress drop and a new technique for stress magnitude measurement’ J Geophys Research 99, no B5 9373- 9390, May 10 [13] Bernabe, Y (1995) ‘The transport properties of networks of cracks and pores’ J Geophysical Research, vol 100, no B3, 4231-4241, March 10. [14] Hird K.B., Dubrule O.,(1995) ‘Quantification of Reservoir Connectivity for Reservoir Description Applications’,SPE 30571. [15] Sethian J.A., Vladimirisky A., (2001), ‘Ordered Upwind methods for static Hamilton-Jacobi equations’ Proc. Natl. Acad. Sci. USA, vol 98, No 20, pp11069-11074 [16] Tsitsiklis J.N., (1995), ‘Efficient Algorithms for Globally Optimal Trajectories’, IEEE Trans. Automatic Control Vol 40, No. 9, pp1528-1538 [17] Sethian J.A., (1996), ‘A Fast Marching Level Set Method for Monotonically Advancing Fronts’ Proc. Natl. Acad. Sci. USA, vol 94, No 4, pp1591-1595. [18] Datta-Gupta A., Kulkarni K.N., Yoon S., Vasco D.W., (2001), ‘Streamlines, ray tracing and production tomography: generalization to compressible flow’, Petroleum Geoscience, vol 7,S75-S86 [19] Danielson P.E., (1980), ‘Euclidean Distance Mapping’, Comp. Graphics and Image Processing, Vol 14, pp227248 [20] Leymarie F., Levine M.D., (1992) ‘Fast raster scan distance propagation on the discrete rectangular lattice.’ Computer Vision, Graphics and Image Processing-Image Understanding Vol 55, No 1, pp84-94. [21] Sarda S., Jeannin L., Basquet R., Bourbiaux B., (2002) ‘Hydraulic Characterization of Fractured Reservoirs: Simulation on Discrete Fracture Models’, SPE 77300. [22] Ponting D., (2004) ‘Characterisation and Modelling of Fractured Reservoirs:Flow Simulation’ Proc 9th European Conference on the Mathematics of Oil Recovery, Cannes, Sept 04.